1 |
commit: 80319ff9c03b94303c4df153dc1f1de7462e5542 |
2 |
Author: Fabian Groffen <grobian <AT> gentoo <DOT> org> |
3 |
AuthorDate: Thu Dec 22 09:47:11 2011 +0000 |
4 |
Commit: Fabian Groffen <grobian <AT> gentoo <DOT> org> |
5 |
CommitDate: Thu Dec 22 09:47:11 2011 +0000 |
6 |
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=80319ff9 |
7 |
|
8 |
Merge remote-tracking branch 'overlays-gentoo-org/master' into prefix |
9 |
|
10 |
Conflicts: |
11 |
bin/ebuild-helpers/prepstrip |
12 |
pym/portage/data.py |
13 |
|
14 |
|
15 |
bin/ebuild-helpers/prepstrip | 24 +++---- |
16 |
bin/misc-functions.sh | 49 +++++++++++- |
17 |
bin/phase-functions.sh | 8 ++- |
18 |
cnf/make.conf | 6 ++ |
19 |
cnf/make.conf.ia64.diff | 23 +----- |
20 |
cnf/make.conf.s390.diff | 23 +----- |
21 |
cnf/make.globals | 4 +- |
22 |
doc/package/ebuild.docbook | 1 + |
23 |
doc/package/ebuild/eapi/4-python.docbook | 49 ++++++++++++ |
24 |
doc/portage.docbook | 1 + |
25 |
man/ebuild.5 | 9 ++ |
26 |
man/emerge.1 | 4 +- |
27 |
man/make.conf.5 | 4 + |
28 |
pym/_emerge/MergeListItem.py | 2 +- |
29 |
pym/_emerge/PackageMerge.py | 2 +- |
30 |
pym/_emerge/Scheduler.py | 8 +- |
31 |
pym/_emerge/depgraph.py | 10 +- |
32 |
pym/_emerge/main.py | 5 +- |
33 |
pym/_emerge/resolver/output.py | 2 +- |
34 |
pym/_emerge/resolver/slot_collision.py | 2 +- |
35 |
pym/_emerge/search.py | 2 +- |
36 |
pym/portage/data.py | 55 ++++++++++---- |
37 |
pym/portage/dbapi/vartree.py | 125 ++++++++++++++++++++++++----- |
38 |
pym/portage/eclass_cache.py | 2 + |
39 |
pym/portage/package/ebuild/doebuild.py | 4 + |
40 |
25 files changed, 313 insertions(+), 111 deletions(-) |
41 |
|
42 |
diff --cc bin/misc-functions.sh |
43 |
index 1e3785c,c74b4a4..8b58bda |
44 |
mode 100644,100755..100644 |
45 |
--- a/bin/misc-functions.sh |
46 |
+++ b/bin/misc-functions.sh |
47 |
diff --cc bin/phase-functions.sh |
48 |
index e62a9ad,7407aba..493bb54 |
49 |
--- a/bin/phase-functions.sh |
50 |
+++ b/bin/phase-functions.sh |
51 |
@@@ -128,9 -132,11 +132,11 @@@ filter_readonly_variables() |
52 |
${PORTAGE_SAVED_READONLY_VARS} |
53 |
${PORTAGE_MUTABLE_FILTERED_VARS} |
54 |
" |
55 |
+ elif ! has --allow-extra-vars $* ; then |
56 |
+ filtered_vars+=" ${binpkg_untrusted_vars}" |
57 |
fi |
58 |
|
59 |
- "${PORTAGE_PYTHON:-/usr/bin/python}" "${PORTAGE_BIN_PATH}"/filter-bash-environment.py "${filtered_vars}" || die "filter-bash-environment.py failed" |
60 |
+ "${PORTAGE_PYTHON:-@PREFIX_PORTAGE_PYTHON@}" "${PORTAGE_BIN_PATH}"/filter-bash-environment.py "${filtered_vars}" || die "filter-bash-environment.py failed" |
61 |
} |
62 |
|
63 |
# @FUNCTION: preprocess_ebuild_env |
64 |
diff --cc pym/portage/data.py |
65 |
index 1351c7f,c4d967a..a136093 |
66 |
--- a/pym/portage/data.py |
67 |
+++ b/pym/portage/data.py |
68 |
@@@ -156,26 -141,46 +156,51 @@@ def _get_global(k) |
69 |
|
70 |
# Avoid instantiating portage.settings when the desired |
71 |
# variable is set in os.environ. |
72 |
- elif k == '_portage_grpname': |
73 |
+ elif k in ('_portage_grpname', '_portage_username'): |
74 |
v = None |
75 |
- if 'PORTAGE_GRPNAME' in os.environ: |
76 |
- v = os.environ['PORTAGE_GRPNAME'] |
77 |
- elif hasattr(portage, 'settings'): |
78 |
- v = portage.settings.get('PORTAGE_GRPNAME') |
79 |
- if v is None: |
80 |
- # PREFIX LOCAL: use var iso hardwired 'portage' |
81 |
- v = PORTAGE_GROUPNAME |
82 |
- # END PREFIX LOCAL |
83 |
- elif k == '_portage_username': |
84 |
- v = None |
85 |
- if 'PORTAGE_USERNAME' in os.environ: |
86 |
- v = os.environ['PORTAGE_USERNAME'] |
87 |
+ if k == '_portage_grpname': |
88 |
+ env_key = 'PORTAGE_GRPNAME' |
89 |
+ else: |
90 |
+ env_key = 'PORTAGE_USERNAME' |
91 |
+ |
92 |
+ if env_key in os.environ: |
93 |
+ v = os.environ[env_key] |
94 |
elif hasattr(portage, 'settings'): |
95 |
- v = portage.settings.get('PORTAGE_USERNAME') |
96 |
+ v = portage.settings.get(env_key) |
97 |
+ elif portage.const.EPREFIX: |
98 |
+ # For prefix environments, default to the UID and GID of |
99 |
+ # the top-level EROOT directory. The config class has |
100 |
+ # equivalent code, but we also need to do it here if |
101 |
+ # _disable_legacy_globals() has been called. |
102 |
+ eroot = os.path.join(os.environ.get('ROOT', os.sep), |
103 |
+ portage.const.EPREFIX.lstrip(os.sep)) |
104 |
+ try: |
105 |
+ eroot_st = os.stat(eroot) |
106 |
+ except OSError: |
107 |
+ pass |
108 |
+ else: |
109 |
+ if k == '_portage_grpname': |
110 |
+ try: |
111 |
+ grp_struct = grp.getgrgid(eroot_st.st_gid) |
112 |
+ except KeyError: |
113 |
+ pass |
114 |
+ else: |
115 |
+ v = grp_struct.gr_name |
116 |
+ else: |
117 |
+ try: |
118 |
+ pwd_struct = pwd.getpwuid(eroot_st.st_uid) |
119 |
+ except KeyError: |
120 |
+ pass |
121 |
+ else: |
122 |
+ v = pwd_struct.pw_name |
123 |
+ |
124 |
if v is None: |
125 |
- v = 'portage' |
126 |
+ # PREFIX LOCAL: use var iso hardwired 'portage' |
127 |
- v = PORTAGE_USERNAME |
128 |
++ if k == '_portage_grpname': |
129 |
++ v = PORTAGE_GRPNAME |
130 |
++ else: |
131 |
++ v = PORTAGE_USERNAME |
132 |
+ # END PREFIX LOCAL |
133 |
else: |
134 |
raise AssertionError('unknown name: %s' % k) |
135 |
|
136 |
diff --cc pym/portage/dbapi/vartree.py |
137 |
index edc3983,d93d3c2..4745743 |
138 |
--- a/pym/portage/dbapi/vartree.py |
139 |
+++ b/pym/portage/dbapi/vartree.py |
140 |
@@@ -30,11 -30,9 +30,12 @@@ portage.proxy.lazyimport.lazyimport(glo |
141 |
'portage.util.movefile:movefile', |
142 |
'portage.util._dyn_libs.PreservedLibsRegistry:PreservedLibsRegistry', |
143 |
'portage.util._dyn_libs.LinkageMapELF:LinkageMapELF@LinkageMap', |
144 |
+ 'portage.util._dyn_libs.LinkageMapMachO:LinkageMapMachO', |
145 |
+ 'portage.util._dyn_libs.LinkageMapPeCoff:LinkageMapPeCoff', |
146 |
+ 'portage.util._dyn_libs.LinkageMapXCoff:LinkageMapXCoff', |
147 |
'portage.versions:best,catpkgsplit,catsplit,cpv_getkey,pkgcmp,' + \ |
148 |
'_pkgsplit@pkgsplit', |
149 |
+ 'subprocess', |
150 |
'tarfile', |
151 |
) |