diff options
author | Zac Medico <zmedico@gentoo.org> | 2010-12-30 23:55:19 -0800 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2010-12-30 23:56:27 -0800 |
commit | 320d1d2e586fbe0e9f3d771bf908360e7d173497 (patch) | |
tree | 17d639a74b0df599c548dc58b57615d20198366e | |
parent | 831925e9c7fb2826679d677c6ca1762ed377d776 (diff) | |
download | portage-320d1d2e586fbe0e9f3d771bf908360e7d173497.tar.gz portage-320d1d2e586fbe0e9f3d771bf908360e7d173497.tar.bz2 portage-320d1d2e586fbe0e9f3d771bf908360e7d173497.zip |
Binpkg: implement REPLACING_VERSIONS
-rw-r--r-- | pym/_emerge/Binpkg.py | 8 |
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 |