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 |