diff options
Diffstat (limited to 'pym/_emerge/EbuildExecuter.py')
-rw-r--r-- | pym/_emerge/EbuildExecuter.py | 22 |
1 files changed, 20 insertions, 2 deletions
diff --git a/pym/_emerge/EbuildExecuter.py b/pym/_emerge/EbuildExecuter.py index 90cf401a7..7abcbb77e 100644 --- a/pym/_emerge/EbuildExecuter.py +++ b/pym/_emerge/EbuildExecuter.py @@ -1,4 +1,4 @@ -# Copyright 1999-2009 Gentoo Foundation +# Copyright 1999-2010 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 from _emerge.EbuildPhase import EbuildPhase @@ -7,6 +7,8 @@ from _emerge.CompositeTask import CompositeTask import portage from portage import os from portage.eapi import eapi_has_src_prepare_and_src_configure +from portage.package.ebuild.doebuild import _prepare_env_file, \ + _prepare_fake_distdir class EbuildExecuter(CompositeTask): @@ -30,8 +32,24 @@ class EbuildExecuter(CompositeTask): scheduler = self.scheduler settings = self.settings cleanup = 0 - portage.prepare_build_dirs(pkg.root, settings, cleanup) + rval = _prepare_env_file(settings) + if rval != os.EX_OK: + self.returncode = rval + self._current_task = None + self.wait() + return + + portdb = pkg.root_config.trees['porttree'].dbapi + ebuild_path = settings['EBUILD'] + mytree = os.path.dirname(os.path.dirname( + os.path.dirname(ebuild_path))) + alist = portdb.getFetchMap(pkg.cpv, + useflags=pkg.use.enabled, mytree=mytree) + aalist = portdb.getFetchMap(pkg.cpv, mytree=mytree) + settings.configdict["pkg"]["A"] = " ".join(alist) + settings.configdict["pkg"]["AA"] = " ".join(aalist) + _prepare_fake_distdir(settings, alist) setup_phase = EbuildPhase(background=self.background, pkg=pkg, phase="setup", scheduler=scheduler, |