From: Ulrich Mueller Date: Fri, 3 Sep 2010 17:33:41 +0000 (+0200) Subject: Don't regenerate GNU Info if the dir contains a .keepinfodir file, bug 257260. X-Git-Tag: v2.2_rc76~42 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=0b7af53635da3159a46d7a4481a2a4486813e257;p=portage.git Don't regenerate GNU Info if the dir contains a .keepinfodir file, bug 257260. --- diff --git a/bin/ebuild-helpers/prepinfo b/bin/ebuild-helpers/prepinfo index fa37e5e64..cbbba3ed0 100755 --- a/bin/ebuild-helpers/prepinfo +++ b/bin/ebuild-helpers/prepinfo @@ -24,6 +24,9 @@ if [[ ! -d ${D}${infodir} ]] ; then fi find "${D}${infodir}" -type d -print0 | while read -d $'\0' x ; do + for f in "${x}"/.keepinfodir*; do + [[ -e ${f} ]] && continue 2 + done rm -f "${x}"/dir{,.info}{,.gz,.bz2} done diff --git a/pym/_emerge/main.py b/pym/_emerge/main.py index 4ca9283dd..a5d5bf8ca 100644 --- a/pym/_emerge/main.py +++ b/pym/_emerge/main.py @@ -107,11 +107,13 @@ def chk_updated_info_files(root, infodirs, prev_mtimes, retval): if z=='': continue inforoot=normpath(root+z) - if os.path.isdir(inforoot): - infomtime = os.stat(inforoot)[stat.ST_MTIME] - if inforoot not in prev_mtimes or \ - prev_mtimes[inforoot] != infomtime: - regen_infodirs.append(inforoot) + if os.path.isdir(inforoot) and \ + not [x for x in os.listdir(inforoot) \ + if x.startswith('.keepinfodir')]: + infomtime = os.stat(inforoot)[stat.ST_MTIME] + if inforoot not in prev_mtimes or \ + prev_mtimes[inforoot] != infomtime: + regen_infodirs.append(inforoot) if not regen_infodirs: portage.writemsg_stdout("\n")