diff options
author | Ulrich Mueller <ulm@gentoo.org> | 2010-09-03 19:33:41 +0200 |
---|---|---|
committer | Ulrich Mueller <ulm@gentoo.org> | 2010-09-05 12:29:36 +0200 |
commit | 0b7af53635da3159a46d7a4481a2a4486813e257 (patch) | |
tree | 6263803f2696d42bb847b352a8474eb3db121bef | |
parent | 29bbd6f0ef251624cfe024cac601a5e717d35209 (diff) | |
download | portage-0b7af53635da3159a46d7a4481a2a4486813e257.tar.gz portage-0b7af53635da3159a46d7a4481a2a4486813e257.tar.bz2 portage-0b7af53635da3159a46d7a4481a2a4486813e257.zip |
Don't regenerate GNU Info if the dir contains a .keepinfodir file, bug 257260.
-rwxr-xr-x | bin/ebuild-helpers/prepinfo | 3 | ||||
-rw-r--r-- | pym/_emerge/main.py | 12 |
2 files changed, 10 insertions, 5 deletions
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") |