summaryrefslogtreecommitdiffstats
path: root/pym
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2009-12-13 03:48:30 +0000
committerZac Medico <zmedico@gentoo.org>2009-12-13 03:48:30 +0000
commit0298ebda6a98ba6e9998f74c8a1abbf9c4600076 (patch)
tree8800bc3bfd25546ede08ace692ed6a56ba548403 /pym
parent74a1223255e752a64b45dfff217af4f50807c590 (diff)
downloadportage-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__.py22
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(