summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2009-03-23 02:22:50 +0000
committerZac Medico <zmedico@gentoo.org>2009-03-23 02:22:50 +0000
commit3e9659d116f6192c02e3ebcbe3b17f828e7b4c88 (patch)
tree5ff30012ae4f96e07c3c0d47bc9bcbb295e34415
parentUse a separate if/then to group boolean or'd expressions together, rather (diff)
downloadportage-multirepo-3e9659d116f6192c02e3ebcbe3b17f828e7b4c88.tar.gz
portage-multirepo-3e9659d116f6192c02e3ebcbe3b17f828e7b4c88.tar.bz2
portage-multirepo-3e9659d116f6192c02e3ebcbe3b17f828e7b4c88.zip
Only check for ebuild/eclass modification when a relevant phase is called.
(trunk r13150) svn path=/main/branches/2.1.6/; revision=13167
-rwxr-xr-xbin/ebuild15
1 files changed, 8 insertions, 7 deletions
diff --git a/bin/ebuild b/bin/ebuild
index bdf6b950..55736dd3 100755
--- a/bin/ebuild
+++ b/bin/ebuild
@@ -195,16 +195,17 @@ if opts.skip_manifest:
tmpsettings.backup_changes("EBUILD_SKIP_MANIFEST")
portage._doebuild_manifest_exempt_depend += 1
+build_dir_phases = set(["setup", "unpack", "prepare", "configure", "compile",
+ "test", "install", "package", "rpm", "merge", "qmerge"])
+
# If the current metadata is invalid then force the ebuild to be
# sourced again even if $T/environment already exists.
ebuild_changed = False
-metadata, st, emtime = \
- portage.portdb._pull_valid_cache(cpv, ebuild, ebuild_portdir)
-if metadata is None:
- ebuild_changed = True
-
-build_dir_phases = set(["setup", "unpack", "prepare", "configure", "compile",
- "test", "install", "package", "rpm"])
+if build_dir_phases.intersection(pargs):
+ metadata, st, emtime = \
+ portage.portdb._pull_valid_cache(cpv, ebuild, ebuild_portdir)
+ if metadata is None:
+ ebuild_changed = True
def stale_env_warning():
if "clean" not in pargs and \