Map emerge --buildpkg=n to FEATURES=-buildpkg.
authorZac Medico <zmedico@gentoo.org>
Wed, 21 Mar 2012 07:16:54 +0000 (00:16 -0700)
committerZac Medico <zmedico@gentoo.org>
Wed, 21 Mar 2012 07:16:54 +0000 (00:16 -0700)
This will fix bug #409085.

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

index 27aa7ca05b05e7c542bd54c8d5d640eaa59e0ad6..784a3e298cd64313300af85700c0f715715456b8 100644 (file)
@@ -228,9 +228,10 @@ class EbuildBuild(CompositeTask):
                #buildsyspkg: Check if we need to _force_ binary package creation
                self._issyspkg = "buildsyspkg" in features and \
                                system_set.findAtomForPackage(pkg) and \
-                               not opts.buildpkg
+                               "buildpkg" not in features and \
+                               opts.buildpkg != 'n'
 
-               if (opts.buildpkg or "buildpkg" in features or self._issyspkg) \
+               if ("buildpkg" in features or self._issyspkg) \
                        and not self.opts.buildpkg_exclude.findAtomForPackage(pkg):
 
                        self._buildpkg = True
index 62b3589d74f7a6106ba0efdb31a1a4a50583439d..bde6cf36c88d136b80523b7922ce0ba69c3668b0 100644 (file)
@@ -155,7 +155,7 @@ class Scheduler(PollScheduler):
                self._build_opts = self._build_opts_class()
 
                for k in self._build_opts.__slots__:
-                       setattr(self._build_opts, k, "--" + k.replace("_", "-") in myopts)
+                       setattr(self._build_opts, k, myopts.get("--" + k.replace("_", "-")))
                self._build_opts.buildpkg_exclude = InternalPackageSet( \
                        initial_atoms=" ".join(myopts.get("--buildpkg-exclude", [])).split(), \
                        allow_wildcard=True, allow_repo=True)
index 090d9e1bf02747b9edd00c44aca0855ff8284ea2..cd3fd9fba02f640ee9ca822a4ca597d691571a26 100644 (file)
@@ -2727,8 +2727,11 @@ def adjust_config(myopts, settings):
        settings["EMERGE_WARNING_DELAY"] = str(EMERGE_WARNING_DELAY)
        settings.backup_changes("EMERGE_WARNING_DELAY")
 
-       if "--buildpkg" in myopts:
+       buildpkg = myopts.get("--buildpkg")
+       if buildpkg is True:
                settings.features.add("buildpkg")
+       elif buildpkg == 'n':
+               settings.features.discard("buildpkg")
 
        if "--quiet" in myopts:
                settings["PORTAGE_QUIET"]="1"
index c1adced3d13feeda2cf475c0e99e812067da1bcf..cf5f3323a8e3b125deb1ee677eb54a635d665e47 100644 (file)
@@ -1005,8 +1005,6 @@ def parse_opts(tmpcmdline, silent=False):
 
        if myoptions.buildpkg in true_y:
                myoptions.buildpkg = True
-       else:
-               myoptions.buildpkg = None
 
        if myoptions.buildpkg_exclude:
                bad_atoms = _find_bad_atoms(myoptions.buildpkg_exclude, less_strict=True)