diff options
author | Zac Medico <zmedico@gentoo.org> | 2009-07-07 08:52:08 +0000 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2009-07-07 08:52:08 +0000 |
commit | f2b84992e811bfa6c87ccb334ed6399f2ed6c074 (patch) | |
tree | edc51197c6a88d5cdadaa0640552d0e944214cf5 /pym | |
parent | 317ec856890cfca41c4655dd638e5804ce50b95c (diff) | |
download | portage-f2b84992e811bfa6c87ccb334ed6399f2ed6c074.tar.gz portage-f2b84992e811bfa6c87ccb334ed6399f2ed6c074.tar.bz2 portage-f2b84992e811bfa6c87ccb334ed6399f2ed6c074.zip |
Bug #276866 - --binpkg-respect-use < y | n >
Tells emerge to ignore binary packages if their use flags don't match the
current configuration. (default: ´n´)
Thanks to Sebastian Mingramm (few) <s.mingramm@gmx.de> for this patch
(small tweaks by me).
svn path=/main/trunk/; revision=13802
Diffstat (limited to 'pym')
-rw-r--r-- | pym/_emerge/depgraph.py | 6 | ||||
-rw-r--r-- | pym/_emerge/help.py | 7 | ||||
-rw-r--r-- | pym/_emerge/main.py | 14 |
3 files changed, 25 insertions, 2 deletions
diff --git a/pym/_emerge/depgraph.py b/pym/_emerge/depgraph.py index c02e50ca4..61edea2a8 100644 --- a/pym/_emerge/depgraph.py +++ b/pym/_emerge/depgraph.py @@ -572,7 +572,8 @@ class depgraph(object): orig_use, orig_iuse, cur_use, cur_iuse): """Return a set of flags that trigger reinstallation, or None if there are no such flags.""" - if "--newuse" in self._frozen_config.myopts: + if "--newuse" in self._frozen_config.myopts or \ + "--binpkg-respect-use" in self._frozen_config.myopts: flags = set(orig_iuse.symmetric_difference( cur_iuse).difference(forced_flags)) flags.update(orig_iuse.intersection(orig_use).symmetric_difference( @@ -2155,7 +2156,8 @@ class depgraph(object): # reject the built package if necessary. if built and not installed and \ ("--newuse" in self._frozen_config.myopts or \ - "--reinstall" in self._frozen_config.myopts): + "--reinstall" in self._frozen_config.myopts or \ + "--binpkg-respect-use" in self._frozen_config.myopts): iuses = pkg.iuse.all old_use = pkg.use.enabled if myeb: diff --git a/pym/_emerge/help.py b/pym/_emerge/help.py index 34a4bda29..f78c2e0e0 100644 --- a/pym/_emerge/help.py +++ b/pym/_emerge/help.py @@ -249,6 +249,13 @@ def help(myopts, havecolor=1): print " to the prompt, so an accidental press of the \"Enter\" key at any" print " time prior to the prompt will be interpreted as a choice!" print + print " " + green("--binpkg-respect-use") + \ + " < " + turquoise("y") + " | " + turquoise("n") + " >" + desc = "Tells emerge to ignore binary packages if their use flags" + \ + " don't match the current configuration. (default: 'n')" + for line in wrap(desc, desc_width): + print desc_indent + line + print print " "+green("--buildpkg")+" ("+green("-b")+" short option)" desc = "Tells emerge to build binary packages for all ebuilds processed in" + \ " addition to actually merging the packages. Useful for maintainers" + \ diff --git a/pym/_emerge/main.py b/pym/_emerge/main.py index a2c48554b..482679629 100644 --- a/pym/_emerge/main.py +++ b/pym/_emerge/main.py @@ -368,6 +368,7 @@ def insert_optional_args(args): jobs_opts = ("-j", "--jobs") default_arg_opts = { '--deselect' : ('n',), + '--binpkg-respect-use' : ('n', 'y',), '--root-deps' : ('rdeps',), } arg_stack = args[:] @@ -486,6 +487,14 @@ def parse_opts(tmpcmdline, silent=False): "type":"choice", "choices":["changed-use"] }, + + "--binpkg-respect-use": { + "help" : "discard binary packages if their use flags \ + don't match the current configuration", + "type" : "choice", + "choices" : ("True", "y", "n") + }, + "--root": { "help" : "specify the target root filesystem for merging packages", "action" : "store" @@ -527,6 +536,11 @@ def parse_opts(tmpcmdline, silent=False): if myoptions.deselect == "True": myoptions.deselect = True + if myoptions.binpkg_respect_use in ("y", "True",): + myoptions.binpkg_respect_use = True + else: + myoptions.binpkg_respect_use = None + if myoptions.root_deps == "True": myoptions.root_deps = True |