summaryrefslogtreecommitdiffstats
path: root/pym/_emerge/Binpkg.py
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2010-12-30 23:55:19 -0800
committerZac Medico <zmedico@gentoo.org>2010-12-30 23:55:19 -0800
commit9c3052b55117e1380a2fd0646770d158437c9f55 (patch)
tree30f429154efb86228841e5da3e0bc2abbb205266 /pym/_emerge/Binpkg.py
parent7b853c633475c1b7193435a138d637b1dc9fe6a4 (diff)
downloadportage-9c3052b55117e1380a2fd0646770d158437c9f55.tar.gz
portage-9c3052b55117e1380a2fd0646770d158437c9f55.tar.bz2
portage-9c3052b55117e1380a2fd0646770d158437c9f55.zip
Binpkg: implement REPLACING_VERSIONS
Diffstat (limited to 'pym/_emerge/Binpkg.py')
-rw-r--r--pym/_emerge/Binpkg.py8
1 files changed, 8 insertions, 0 deletions
diff --git a/pym/_emerge/Binpkg.py b/pym/_emerge/Binpkg.py
index 8b93a2dfb..65a5ef4a5 100644
--- a/pym/_emerge/Binpkg.py
+++ b/pym/_emerge/Binpkg.py
@@ -9,6 +9,7 @@ from _emerge.CompositeTask import CompositeTask
from _emerge.BinpkgVerifier import BinpkgVerifier
from _emerge.EbuildMerge import EbuildMerge
from _emerge.EbuildBuildDir import EbuildBuildDir
+from portage.eapi import eapi_exports_replace_vars
from portage.util import writemsg
import portage
from portage import os
@@ -57,6 +58,13 @@ class Binpkg(CompositeTask):
settings.configdict["pkg"]["EMERGE_FROM"] = "binary"
settings.configdict["pkg"]["MERGE_TYPE"] = "binary"
+ if eapi_exports_replace_vars(settings["EAPI"]):
+ vardb = self.pkg.root_config.trees["vartree"].dbapi
+ settings["REPLACING_VERSIONS"] = " ".join(
+ set(portage.versions.cpv_getversion(x) \
+ for x in vardb.match(self.pkg.slot_atom) + \
+ vardb.match('='+self.pkg.cpv)))
+
# The prefetcher has already completed or it
# could be running now. If it's running now,
# wait for it to complete since it holds