summaryrefslogtreecommitdiffstats
path: root/pym
diff options
context:
space:
mode:
authorFabian Groffen <grobian@gentoo.org>2009-12-10 08:47:53 +0000
committerFabian Groffen <grobian@gentoo.org>2009-12-10 08:47:53 +0000
commitc7fe3bd3909f85512d9476d92c1ba5cf1fd14082 (patch)
tree2e3b95005e235c52ad9d5dd0076096dd5df06912 /pym
parent1cf22705298a358ea2a2e9afa78be69b70751951 (diff)
downloadportage-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__.py22
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(