diff options
author | Zac Medico <zmedico@gentoo.org> | 2011-10-09 17:05:23 -0700 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2011-10-09 17:05:23 -0700 |
commit | 6622bb5b63b49b1e528d89fee061e40b2d0d5afd (patch) | |
tree | d5f11ed01f7f586f170cdb22fe592358cb063600 | |
parent | 4dfb7a71ab9983e5bd0f2121062df04ffd6a748a (diff) | |
download | portage-6622bb5b63b49b1e528d89fee061e40b2d0d5afd.tar.gz portage-6622bb5b63b49b1e528d89fee061e40b2d0d5afd.tar.bz2 portage-6622bb5b63b49b1e528d89fee061e40b2d0d5afd.zip |
show_ignored_binaries: filter noise, bug #386379
-rw-r--r-- | pym/_emerge/depgraph.py | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/pym/_emerge/depgraph.py b/pym/_emerge/depgraph.py index 66cba0433..a409bedac 100644 --- a/pym/_emerge/depgraph.py +++ b/pym/_emerge/depgraph.py @@ -556,6 +556,32 @@ class depgraph(object): "binpkg_respect_use") in ("y", "n"): return + for pkg in list(self._dynamic_config.ignored_binaries): + + selected_pkg = self._dynamic_config.mydbapi[pkg.root + ].match_pkgs(pkg.slot_atom) + + if not selected_pkg: + continue + + selected_pkg = selected_pkg[-1] + if selected_pkg > pkg: + self._dynamic_config.ignored_binaries.pop(pkg) + continue + + if selected_pkg.installed and \ + selected_pkg.cpv == pkg.cpv and \ + selected_pkg.metadata.get('BUILD_TIME') == \ + pkg.metadata.get('BUILD_TIME'): + # We don't care about ignored binaries when an + # identical installed instance is selected to + # fill the slot. + self._dynamic_config.ignored_binaries.pop(pkg) + continue + + if not self._dynamic_config.ignored_binaries: + return + self._show_merge_list() writemsg("\n!!! The following binary packages have been ignored " + \ |