diff options
author | Zac Medico <zmedico@gentoo.org> | 2010-08-17 11:24:15 -0700 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2010-08-17 11:24:15 -0700 |
commit | 1d5cff7b424635ee081c1e32956f3a6988864028 (patch) | |
tree | 6606b37249d9c3614cd42c875f684b2bb1a60c31 | |
parent | 87b3e2fdadd09e0d8b2b30a31b6043e294f9ae5c (diff) | |
download | portage-1d5cff7b424635ee081c1e32956f3a6988864028.tar.gz portage-1d5cff7b424635ee081c1e32956f3a6988864028.tar.bz2 portage-1d5cff7b424635ee081c1e32956f3a6988864028.zip |
Fix breakage in REPLACING_VERSIONS support for emerge.
-rw-r--r-- | pym/_emerge/EbuildExecuter.py | 10 | ||||
-rw-r--r-- | pym/_emerge/Scheduler.py | 6 |
2 files changed, 15 insertions, 1 deletions
diff --git a/pym/_emerge/EbuildExecuter.py b/pym/_emerge/EbuildExecuter.py index 158099340..513e67019 100644 --- a/pym/_emerge/EbuildExecuter.py +++ b/pym/_emerge/EbuildExecuter.py @@ -6,7 +6,8 @@ from _emerge.TaskSequence import TaskSequence from _emerge.CompositeTask import CompositeTask import portage from portage import os -from portage.eapi import eapi_has_src_prepare_and_src_configure +from portage.eapi import eapi_has_src_prepare_and_src_configure, \ + eapi_exports_replace_vars from portage.package.ebuild.doebuild import _prepare_env_file, \ _prepare_fake_distdir @@ -50,6 +51,13 @@ class EbuildExecuter(CompositeTask): settings.configdict["pkg"]["AA"] = " ".join(aalist) _prepare_fake_distdir(settings, alist) + if eapi_exports_replace_vars(settings['EAPI']): + vardb = pkg.root_config.trees['vartree'].dbapi + settings["REPLACING_VERSIONS"] = " ".join( + set(portage.versions.cpv_getversion(match) \ + for match in vardb.match(pkg.slot_atom) + \ + vardb.match('='+pkg.cpv))) + setup_phase = EbuildPhase(background=self.background, phase="setup", scheduler=scheduler, settings=settings) diff --git a/pym/_emerge/Scheduler.py b/pym/_emerge/Scheduler.py index 6d7dbd9c3..43fa68a77 100644 --- a/pym/_emerge/Scheduler.py +++ b/pym/_emerge/Scheduler.py @@ -915,6 +915,12 @@ class Scheduler(PollScheduler): debug=(settings.get("PORTAGE_DEBUG", "") == 1), mydbapi=self.trees[settings["ROOT"]][tree].dbapi, use_cache=1) prepare_build_dirs(root_config.root, settings, cleanup=0) + + vardb = root_config.trees['vartree'].dbapi + settings["REPLACING_VERSIONS"] = " ".join( + set(portage.versions.cpv_getversion(match) \ + for match in vardb.match(x.slot_atom) + \ + vardb.match('='+x.cpv))) pretend_phase = EbuildPhase(background=self._background, phase="pretend", scheduler=self._sched_iface, settings=settings) |