summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2009-03-23 01:27:51 +0000
committerZac Medico <zmedico@gentoo.org>2009-03-23 01:27:51 +0000
commit73bcc795fbdf4da476ca5acbdff679393a5f0e5f (patch)
tree79bdbbbc4db908b50550a2b03016641d8ab1cbe5
parent4aa2f3a510c829b5a34a3fab1feae306c437fbce (diff)
downloadportage-73bcc795fbdf4da476ca5acbdff679393a5f0e5f.tar.gz
portage-73bcc795fbdf4da476ca5acbdff679393a5f0e5f.tar.bz2
portage-73bcc795fbdf4da476ca5acbdff679393a5f0e5f.zip
Only check for ebuild/eclass modification when a relevant phase is called.
svn path=/main/trunk/; revision=13150
-rwxr-xr-xbin/ebuild15
1 files changed, 8 insertions, 7 deletions
diff --git a/bin/ebuild b/bin/ebuild
index bdf6b9503..55736dd3a 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 \