ebuild(1): fix ebuild modification check
authorZac Medico <zmedico@gentoo.org>
Wed, 2 Mar 2011 00:53:25 +0000 (16:53 -0800)
committerZac Medico <zmedico@gentoo.org>
Wed, 2 Mar 2011 00:53:25 +0000 (16:53 -0800)
This has been broken since the setcpv call (triggering metadata
generation) was added before it in commit
0b39d24bb8270e5c89eaddfd1f5a4181cf9e31d3.

bin/ebuild

index a8296e8ab0c73b586455e2dd3394dbc43d72e158..d6cdc666c4b11073eb6b4caecad11b1191ee0da3 100755 (executable)
@@ -217,6 +217,19 @@ def discard_digests(myebuild, mysettings, mydbapi):
                portage._doebuild_manifest_exempt_depend -= 1
 
 portage.settings.validate() # generate warning messages if necessary
+
+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
+if mytree == "porttree" and build_dir_phases.intersection(pargs):
+       metadata, st, emtime = \
+               portage.portdb._pull_valid_cache(cpv, ebuild, ebuild_portdir)
+       if metadata is None:
+               ebuild_changed = True
+
 tmpsettings = portage.config(clone=portage.settings)
 tmpsettings["PORTAGE_VERBOSE"] = "1"
 tmpsettings.backup_changes("PORTAGE_VERBOSE")
@@ -251,18 +264,6 @@ except KeyError:
        # aux_get failure, message should have been shown on stderr.
        sys.exit(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
-if mytree == "porttree" and 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 \
                "noauto" not in tmpsettings.features and \