aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2011-05-25 17:30:36 -0700
committerZac Medico <zmedico@gentoo.org>2011-05-25 17:30:36 -0700
commit84c3c39ce28b8211b3d1ad2eeb1f5813aff857e8 (patch)
tree48a979ffb32433e32e264df83869ba595b36fd59
parentFakeVartree: tweak _aux_get_wrapper repo handling (diff)
downloadportage-84c3c39ce28b8211b3d1ad2eeb1f5813aff857e8.tar.gz
portage-84c3c39ce28b8211b3d1ad2eeb1f5813aff857e8.tar.bz2
portage-84c3c39ce28b8211b3d1ad2eeb1f5813aff857e8.zip
rebuilt-binaries: prefer newer unbuilt
-rw-r--r--pym/_emerge/depgraph.py8
1 files changed, 7 insertions, 1 deletions
diff --git a/pym/_emerge/depgraph.py b/pym/_emerge/depgraph.py
index 341b3a67c..d7ddd1af0 100644
--- a/pym/_emerge/depgraph.py
+++ b/pym/_emerge/depgraph.py
@@ -3902,11 +3902,15 @@ class depgraph(object):
if rebuilt_binaries:
inst_pkg = None
built_pkg = None
+ unbuilt_pkg = None
for pkg in matched_packages:
if pkg.installed:
inst_pkg = pkg
elif pkg.built:
built_pkg = pkg
+ else:
+ if unbuilt_pkg is None or pkg > unbuilt_pkg:
+ unbuilt_pkg = pkg
if built_pkg is not None and inst_pkg is not None:
# Only reinstall if binary package BUILD_TIME is
# non-empty, in order to avoid cases like to
@@ -3922,7 +3926,9 @@ class depgraph(object):
except (KeyError, ValueError):
installed_timestamp = 0
- if "--rebuilt-binaries-timestamp" in self._frozen_config.myopts:
+ if unbuilt_pkg is not None and unbuilt_pkg > built_pkg:
+ pass
+ elif "--rebuilt-binaries-timestamp" in self._frozen_config.myopts:
minimal_timestamp = self._frozen_config.myopts["--rebuilt-binaries-timestamp"]
if built_timestamp and \
built_timestamp > installed_timestamp and \