From 3e9659d116f6192c02e3ebcbe3b17f828e7b4c88 Mon Sep 17 00:00:00 2001 From: Zac Medico Date: Mon, 23 Mar 2009 02:22:50 +0000 Subject: Only check for ebuild/eclass modification when a relevant phase is called. (trunk r13150) svn path=/main/branches/2.1.6/; revision=13167 --- bin/ebuild | 15 ++++++++------- 1 file 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 \ -- cgit v1.2.3-1-g7c22