From 500e0567432019835ef56e69d60266f9189c6700 Mon Sep 17 00:00:00 2001 From: Zac Medico Date: Wed, 21 Mar 2012 00:16:54 -0700 Subject: Map emerge --buildpkg=n to FEATURES=-buildpkg. This will fix bug #409085. --- pym/_emerge/EbuildBuild.py | 5 +++-- pym/_emerge/Scheduler.py | 2 +- pym/_emerge/actions.py | 5 ++++- pym/_emerge/main.py | 2 -- 4 files changed, 8 insertions(+), 6 deletions(-) (limited to 'pym') diff --git a/pym/_emerge/EbuildBuild.py b/pym/_emerge/EbuildBuild.py index 27aa7ca05..784a3e298 100644 --- a/pym/_emerge/EbuildBuild.py +++ b/pym/_emerge/EbuildBuild.py @@ -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 diff --git a/pym/_emerge/Scheduler.py b/pym/_emerge/Scheduler.py index 62b3589d7..bde6cf36c 100644 --- a/pym/_emerge/Scheduler.py +++ b/pym/_emerge/Scheduler.py @@ -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) diff --git a/pym/_emerge/actions.py b/pym/_emerge/actions.py index 090d9e1bf..cd3fd9fba 100644 --- a/pym/_emerge/actions.py +++ b/pym/_emerge/actions.py @@ -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" diff --git a/pym/_emerge/main.py b/pym/_emerge/main.py index c1adced3d..cf5f3323a 100644 --- a/pym/_emerge/main.py +++ b/pym/_emerge/main.py @@ -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) -- cgit v1.2.3-1-g7c22