diff options
author | Fabian Groffen <grobian@gentoo.org> | 2009-12-10 08:47:53 +0000 |
---|---|---|
committer | Fabian Groffen <grobian@gentoo.org> | 2009-12-10 08:47:53 +0000 |
commit | c7fe3bd3909f85512d9476d92c1ba5cf1fd14082 (patch) | |
tree | 2e3b95005e235c52ad9d5dd0076096dd5df06912 /pym | |
parent | 1cf22705298a358ea2a2e9afa78be69b70751951 (diff) | |
download | portage-c7fe3bd3909f85512d9476d92c1ba5cf1fd14082.tar.gz portage-c7fe3bd3909f85512d9476d92c1ba5cf1fd14082.tar.bz2 portage-c7fe3bd3909f85512d9476d92c1ba5cf1fd14082.zip |
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
Diffstat (limited to 'pym')
-rw-r--r-- | pym/portage/__init__.py | 22 |
1 files changed, 20 insertions, 2 deletions
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( |