From c7fe3bd3909f85512d9476d92c1ba5cf1fd14082 Mon Sep 17 00:00:00 2001 From: Fabian Groffen Date: Thu, 10 Dec 2009 08:47:53 +0000 Subject: Implement forward compatible Prefix support. This makes EPREFIX, ED and EROOT available to the ebuild environment, and updates the manpage accordingly. EPREFIX is hardwired to the empty string, and not configurable. For that, the prefix branch should be used for now. This should satisfy the requirements for EAPI=3. svn path=/main/trunk/; revision=15024 --- pym/portage/__init__.py | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) (limited to 'pym') diff --git a/pym/portage/__init__.py b/pym/portage/__init__.py index c13a7149b..d44422cb7 100644 --- a/pym/portage/__init__.py +++ b/pym/portage/__init__.py @@ -1369,7 +1369,7 @@ class config(object): _env_blacklist = [ "A", "AA", "CATEGORY", "DEPEND", "DESCRIPTION", "EAPI", - "EBUILD_PHASE", "ED", "EMERGE_FROM", "EPREFIX", "EROOT", + "EBUILD_PHASE", "EMERGE_FROM", "EPREFIX", "EROOT", "HOMEPAGE", "INHERITED", "IUSE", "KEYWORDS", "LICENSE", "PDEPEND", "PF", "PKGUSE", "PORTAGE_CONFIGROOT", "PORTAGE_IUSE", @@ -1392,7 +1392,8 @@ class config(object): "ACCEPT_LICENSE", "BASH_ENV", "BUILD_PREFIX", "D", "DISTDIR", "DOC_SYMLINKS_DIR", "EBUILD", "EBUILD_EXIT_STATUS_FILE", "EBUILD_FORCE_TEST", - "EBUILD_PHASE", "ECLASSDIR", "ECLASS_DEPTH", "EMERGE_FROM", + "EBUILD_PHASE", "ECLASSDIR", "ECLASS_DEPTH", "ED", + "EMERGE_FROM", "EPREFIX", "EROOT", "FEATURES", "FILESDIR", "HOME", "NOCOLOR", "PATH", "PKGDIR", "PKGUSE", "PKG_LOGDIR", "PKG_TMPDIR", @@ -1972,6 +1973,12 @@ class config(object): self["ROOT"] = target_root self.backup_changes("ROOT") + # Prefix forward compatability, set EPREFIX to the empty string + self["EPREFIX"] = '' + self.backup_changes("EPREFIX") + self["EROOT"] = target_root + self.backup_changes("EROOT") + self.pusedict = {} self.pkeywordsdict = {} self._plicensedict = {} @@ -2216,6 +2223,10 @@ class config(object): _validate_cache_for_unsupported_eapis = False _glep_55_enabled = True + # inject EPREFIX as it needs to be available using portageq + # TODO: this is just forward compatability, need to use EPREFIX + self["EPREFIX"] = '' + for k in self._case_insensitive_vars: if k in self: self[k] = self[k].lower() @@ -6176,6 +6187,10 @@ def doebuild_environment(myebuild, mydo, myroot, mysettings, debug, use_cache, m # due to how it's coded... Don't overwrite this so we can use it. mysettings["PORTAGE_DEBUG"] = "1" + # Prefix forward compatability + mysettings["EPREFIX"] = '' + mysettings["EROOT"] = myroot + mysettings["ROOT"] = myroot mysettings["STARTDIR"] = getcwd() mysettings["EBUILD"] = ebuild_path @@ -6268,6 +6283,9 @@ def doebuild_environment(myebuild, mydo, myroot, mysettings, debug, use_cache, m mysettings["D"] = os.path.join(mysettings["PORTAGE_BUILDDIR"], "image") + os.sep mysettings["T"] = os.path.join(mysettings["PORTAGE_BUILDDIR"], "temp") + # Prefix forward compatability + mysettings["ED"] = mysettings["D"] + mysettings["PORTAGE_BASHRC"] = os.path.join( mysettings["PORTAGE_CONFIGROOT"], EBUILD_SH_ENV_FILE) mysettings["EBUILD_EXIT_STATUS_FILE"] = os.path.join( -- cgit v1.2.3-1-g7c22