summaryrefslogtreecommitdiffstats
path: root/pym
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:56:27 -0800
commit320d1d2e586fbe0e9f3d771bf908360e7d173497 (patch)
tree17d639a74b0df599c548dc58b57615d20198366e /pym
parent831925e9c7fb2826679d677c6ca1762ed377d776 (diff)
downloadportage-320d1d2e586fbe0e9f3d771bf908360e7d173497.tar.gz
portage-320d1d2e586fbe0e9f3d771bf908360e7d173497.tar.bz2
portage-320d1d2e586fbe0e9f3d771bf908360e7d173497.zip
Binpkg: implement REPLACING_VERSIONS
Diffstat (limited to 'pym')
-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