Gentoo Archives: gentoo-portage-dev

From: Ruud Koolen <redlizard@×××××××××.nl>
To: gentoo-portage-dev@l.g.o
Subject: [gentoo-portage-dev] [PATCH 3/3] Pick up EPREFIX environment variable
Date: Mon, 17 Jun 2013 07:24:41
Message-Id: 201306170924.32339.redlizard@redlizard.nl
In Reply to: [gentoo-portage-dev] [PATCH 0/3] Add cross-prefix support by Ruud Koolen
1 This adds support for picking up the EPREFIX config setting from the EPREFIX
2 environment variable. An emerge --prefix option is added to specify it,
3 analogous to --root and --config-root options.
4 ---
5 pym/_emerge/actions.py | 3 ++-
6 pym/_emerge/main.py | 7 +++++++
7 pym/portage/_legacy_globals.py | 3 ++-
8 pym/portage/package/ebuild/config.py | 6 ------
9 4 files changed, 11 insertions(+), 8 deletions(-)
10
11 diff --git a/pym/_emerge/actions.py b/pym/_emerge/actions.py
12 index c76aefc..89766f1 100644
13 --- a/pym/_emerge/actions.py
14 +++ b/pym/_emerge/actions.py
15 @@ -3148,7 +3148,8 @@ def load_emerge_config(emerge_config=None, **kargs):
16 emerge_config = _emerge_config(**kargs)
17
18 kwargs = {}
19 - for k, envvar in (("config_root", "PORTAGE_CONFIGROOT"), ("target_root", "ROOT")):
20 + for k, envvar in (("config_root", "PORTAGE_CONFIGROOT"), ("target_root", "ROOT"),
21 + ("eprefix", "EPREFIX")):
22 v = os.environ.get(envvar, None)
23 if v and v.strip():
24 kwargs[k] = v
25 diff --git a/pym/_emerge/main.py b/pym/_emerge/main.py
26 index 689d136..c67f70b 100644
27 --- a/pym/_emerge/main.py
28 +++ b/pym/_emerge/main.py
29 @@ -541,6 +541,11 @@ def parse_opts(tmpcmdline, silent=False):
30 "choices" : true_y_or_n
31 },
32
33 + "--prefix": {
34 + "help" : "specify the installation prefix",
35 + "action" : "store"
36 + },
37 +
38 "--quiet": {
39 "shortopt" : "-q",
40 "help" : "reduced or condensed output",
41 @@ -1024,6 +1029,8 @@ def emerge_main(args=None):
42 os.environ["PORTAGE_CONFIGROOT"] = myopts["--config-root"]
43 if "--root" in myopts:
44 os.environ["ROOT"] = myopts["--root"]
45 + if "--prefix" in myopts:
46 + os.environ["EPREFIX"] = myopts["--prefix"]
47 if "--accept-properties" in myopts:
48 os.environ["ACCEPT_PROPERTIES"] = myopts["--accept-properties"]
49 if "--accept-restrict" in myopts:
50 diff --git a/pym/portage/_legacy_globals.py b/pym/portage/_legacy_globals.py
51 index abffa0e..bb9691a 100644
52 --- a/pym/portage/_legacy_globals.py
53 +++ b/pym/portage/_legacy_globals.py
54 @@ -27,7 +27,8 @@ def _get_legacy_global(name):
55 os.umask(0o22)
56
57 kwargs = {}
58 - for k, envvar in (("config_root", "PORTAGE_CONFIGROOT"), ("target_root", "ROOT")):
59 + for k, envvar in (("config_root", "PORTAGE_CONFIGROOT"),
60 + ("target_root", "ROOT"), ("eprefix", "EPREFIX")):
61 kwargs[k] = os.environ.get(envvar)
62
63 portage._initializing_globals = True
64 diff --git a/pym/portage/package/ebuild/config.py b/pym/portage/package/ebuild/config.py
65 index ea3839f..199a0f5 100644
66 --- a/pym/portage/package/ebuild/config.py
67 +++ b/pym/portage/package/ebuild/config.py
68 @@ -594,14 +594,8 @@ class config(object):
69 self.backup_changes("PORTAGE_CONFIGROOT")
70 self["ROOT"] = target_root
71 self.backup_changes("ROOT")
72 -
73 - # The PORTAGE_OVERRIDE_EPREFIX variable propagates the EPREFIX
74 - # of this config instance to any portage commands or API
75 - # consumers running in subprocesses.
76 self["EPREFIX"] = eprefix
77 self.backup_changes("EPREFIX")
78 - self["PORTAGE_OVERRIDE_EPREFIX"] = eprefix
79 - self.backup_changes("PORTAGE_OVERRIDE_EPREFIX")
80 self["EROOT"] = eroot
81 self.backup_changes("EROOT")
82
83 --
84 1.7.2.5