Respect package.env buildpkg FEATURES settings.
authorZac Medico <zmedico@gentoo.org>
Wed, 31 Aug 2011 02:31:48 +0000 (19:31 -0700)
committerZac Medico <zmedico@gentoo.org>
Wed, 31 Aug 2011 02:31:48 +0000 (19:31 -0700)
This will fix bug #318897.

pym/_emerge/EbuildBuild.py
pym/_emerge/actions.py
pym/_emerge/main.py

index 0144cfc72dff09a379b4221e54215e77fac3e859..2b0f41209ca91f2c17183c8529671a5d689ceb2a 100644 (file)
@@ -225,7 +225,7 @@ class EbuildBuild(CompositeTask):
                                system_set.findAtomForPackage(pkg) and \
                                not opts.buildpkg
 
-               if opts.buildpkg or self._issyspkg:
+               if opts.buildpkg or "buildpkg" in features or self._issyspkg:
 
                        self._buildpkg = True
 
index 882a2db42eee748cfb4ade556d1f2463b8f58ae7..3477c19d8c4aed58db48aff6aa3510d39d5fc8ce 100644 (file)
@@ -2731,6 +2731,9 @@ def adjust_config(myopts, settings):
        settings["EMERGE_WARNING_DELAY"] = str(EMERGE_WARNING_DELAY)
        settings.backup_changes("EMERGE_WARNING_DELAY")
 
+       if "--buildpkg" in myopts:
+               settings.features.add("buildpkg")
+
        if "--quiet" in myopts or "--quiet-build" in myopts:
                settings["PORTAGE_QUIET"]="1"
                settings.backup_changes("PORTAGE_QUIET")
index 84c4c58b852414d55161d8370dd11ffbbe3ac19c..343fd58127c41a2d383dd8a2a5885ed200ad5594 100644 (file)
@@ -1545,6 +1545,11 @@ def emerge_main(args=None):
                settings, trees, mtimedb = load_emerge_config(trees=trees)
                portdb = trees[settings["ROOT"]]["porttree"].dbapi
 
+       # NOTE: adjust_configs() can map options to FEATURES, so any relevant
+       # options adjustments should be made prior to calling adjust_configs().
+       if "--buildpkgonly" in myopts:
+               myopts["--buildpkg"] = True
+
        adjust_configs(myopts, trees)
        apply_priorities(settings)
 
@@ -1587,9 +1592,6 @@ def emerge_main(args=None):
        if "--usepkgonly" in myopts:
                myopts["--usepkg"] = True
 
-       if "buildpkg" in settings.features or "--buildpkgonly" in myopts:
-               myopts["--buildpkg"] = True
-
        if "--buildpkgonly" in myopts:
                # --buildpkgonly will not merge anything, so
                # it cancels all binary package options.