diff options
author | Zac Medico <zmedico@gentoo.org> | 2009-12-13 03:48:30 +0000 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2009-12-13 03:48:30 +0000 |
commit | 0298ebda6a98ba6e9998f74c8a1abbf9c4600076 (patch) | |
tree | 8800bc3bfd25546ede08ace692ed6a56ba548403 /pym | |
parent | 74a1223255e752a64b45dfff217af4f50807c590 (diff) | |
download | portage-0298ebda6a98ba6e9998f74c8a1abbf9c4600076.tar.gz portage-0298ebda6a98ba6e9998f74c8a1abbf9c4600076.tar.bz2 portage-0298ebda6a98ba6e9998f74c8a1abbf9c4600076.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. (trunk r15024)
svn path=/main/branches/2.1.7/; revision=15060
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 cb6ce4e97..87f5ec108 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( |