1 |
commit: d9a23f21950ac8dbd49844ea30aaceee5e9dc983 |
2 |
Author: Fabian Groffen <grobian <AT> gentoo <DOT> org> |
3 |
AuthorDate: Tue Jul 6 07:09:18 2021 +0000 |
4 |
Commit: Fabian Groffen <grobian <AT> gentoo <DOT> org> |
5 |
CommitDate: Tue Jul 6 07:10:04 2021 +0000 |
6 |
URL: https://gitweb.gentoo.org/proj/portage.git/commit/?id=d9a23f21 |
7 |
|
8 |
Merge tag 'portage-3.0.21' into prefix |
9 |
|
10 |
portage-3.0.21 |
11 |
|
12 |
Signed-off-by: Zac Medico <zmedico <AT> gentoo.org> |
13 |
Signed-off-by: Fabian Groffen <grobian <AT> gentoo.org> |
14 |
|
15 |
.github/workflows/ci.yml | 2 +- |
16 |
NEWS | 12 ++ |
17 |
README | 2 +- |
18 |
RELEASE-NOTES | 18 +++ |
19 |
bin/eapi.sh | 76 ++++++++- |
20 |
bin/ebuild-helpers/doconfd | 8 +- |
21 |
bin/ebuild-helpers/doenvd | 8 +- |
22 |
bin/ebuild-helpers/doheader | 8 +- |
23 |
bin/ebuild-helpers/doinitd | 9 +- |
24 |
bin/ebuild-helpers/dosym | 67 +++++++- |
25 |
bin/ebuild-ipc.py | 26 ++- |
26 |
bin/ebuild.sh | 85 +++++++--- |
27 |
bin/estrip | 14 +- |
28 |
bin/install-qa-check.d/10executable-issues | 2 +- |
29 |
bin/install-qa-check.d/10ignored-flags | 4 +- |
30 |
bin/install-qa-check.d/80libraries | 2 +- |
31 |
bin/isolated-functions.sh | 6 +- |
32 |
bin/misc-functions.sh | 13 +- |
33 |
bin/phase-functions.sh | 23 ++- |
34 |
bin/phase-helpers.sh | 62 +++++-- |
35 |
bin/portageq | 6 +- |
36 |
bin/regenworld | 7 +- |
37 |
cnf/sets/portage.conf | 1 + |
38 |
lib/_emerge/EbuildBuild.py | 25 ++- |
39 |
lib/_emerge/EbuildPhase.py | 5 +- |
40 |
lib/_emerge/Package.py | 8 +- |
41 |
lib/_emerge/PackageUninstall.py | 2 +- |
42 |
lib/_emerge/Scheduler.py | 36 +++-- |
43 |
lib/_emerge/actions.py | 30 +++- |
44 |
lib/_emerge/depgraph.py | 7 +- |
45 |
lib/_emerge/main.py | 4 +- |
46 |
lib/_emerge/unmerge.py | 19 ++- |
47 |
lib/portage/__init__.py | 4 +- |
48 |
lib/portage/_emirrordist/FetchIterator.py | 68 ++++---- |
49 |
lib/portage/_sets/dbapi.py | 8 +- |
50 |
lib/portage/cache/metadata.py | 4 +- |
51 |
lib/portage/const.py | 4 +- |
52 |
lib/portage/dbapi/bintree.py | 7 +- |
53 |
lib/portage/dbapi/porttree.py | 12 +- |
54 |
lib/portage/dbapi/vartree.py | 2 +- |
55 |
lib/portage/dep/__init__.py | 8 +- |
56 |
lib/portage/dispatch_conf.py | 4 +- |
57 |
lib/portage/eapi.py | 15 +- |
58 |
.../package/ebuild/_config/special_env_vars.py | 7 +- |
59 |
lib/portage/package/ebuild/config.py | 24 ++- |
60 |
lib/portage/package/ebuild/doebuild.py | 34 +++- |
61 |
lib/portage/package/ebuild/fetch.py | 87 ++++++---- |
62 |
lib/portage/tests/__init__.py | 127 ++++++++------- |
63 |
lib/portage/tests/ebuild/test_shell_quote.py | 126 +++++++++++++++ |
64 |
lib/portage/tests/emerge/test_simple.py | 10 +- |
65 |
lib/portage/tests/resolver/ResolverPlayground.py | 39 ++++- |
66 |
lib/portage/tests/resolver/test_unmerge_order.py | 179 +++++++++++++++++++++ |
67 |
lib/portage/update.py | 17 +- |
68 |
lib/portage/util/_async/PipeLogger.py | 35 ++-- |
69 |
lib/portage/util/env_update.py | 5 + |
70 |
man/ebuild.5 | 33 +++- |
71 |
man/make.conf.5 | 34 +++- |
72 |
man/portage.5 | 33 +++- |
73 |
repoman/lib/repoman/tests/__init__.py | 18 +-- |
74 |
repoman/setup.py | 47 ++++-- |
75 |
setup.py | 125 +++++++++++--- |
76 |
61 files changed, 1360 insertions(+), 353 deletions(-) |
77 |
|
78 |
diff --cc bin/eapi.sh |
79 |
index 26df37328,362cc07c0..1aaaa19e8 |
80 |
--- a/bin/eapi.sh |
81 |
+++ b/bin/eapi.sh |
82 |
@@@ -1,5 -1,5 +1,5 @@@ |
83 |
-#!/bin/bash |
84 |
+#!@PORTAGE_BASH@ |
85 |
- # Copyright 2012-2018 Gentoo Foundation |
86 |
+ # Copyright 2012-2021 Gentoo Authors |
87 |
# Distributed under the terms of the GNU General Public License v2 |
88 |
|
89 |
# PHASES |
90 |
diff --cc bin/ebuild-helpers/doconfd |
91 |
index e32c9d5c0,572629a54..a1b8146f7 |
92 |
--- a/bin/ebuild-helpers/doconfd |
93 |
+++ b/bin/ebuild-helpers/doconfd |
94 |
@@@ -1,5 -1,5 +1,5 @@@ |
95 |
-#!/bin/bash |
96 |
+#!@PORTAGE_BASH@ |
97 |
- # Copyright 1999-2018 Gentoo Foundation |
98 |
+ # Copyright 1999-2021 Gentoo Authors |
99 |
# Distributed under the terms of the GNU General Public License v2 |
100 |
|
101 |
source "${PORTAGE_BIN_PATH}"/isolated-functions.sh || exit 1 |
102 |
diff --cc bin/ebuild-helpers/doenvd |
103 |
index 4e8068659,f1310c848..1d2c90b8c |
104 |
--- a/bin/ebuild-helpers/doenvd |
105 |
+++ b/bin/ebuild-helpers/doenvd |
106 |
@@@ -1,5 -1,5 +1,5 @@@ |
107 |
-#!/bin/bash |
108 |
+#!@PORTAGE_BASH@ |
109 |
- # Copyright 1999-2018 Gentoo Foundation |
110 |
+ # Copyright 1999-2021 Gentoo Authors |
111 |
# Distributed under the terms of the GNU General Public License v2 |
112 |
|
113 |
source "${PORTAGE_BIN_PATH}"/isolated-functions.sh || exit 1 |
114 |
diff --cc bin/ebuild-helpers/doheader |
115 |
index a87536c33,2f21a5a2a..bf11ecdb0 |
116 |
--- a/bin/ebuild-helpers/doheader |
117 |
+++ b/bin/ebuild-helpers/doheader |
118 |
@@@ -1,5 -1,5 +1,5 @@@ |
119 |
-#!/bin/bash |
120 |
+#!@PORTAGE_BASH@ |
121 |
- # Copyright 1999-2018 Gentoo Foundation |
122 |
+ # Copyright 1999-2021 Gentoo Authors |
123 |
# Distributed under the terms of the GNU General Public License v2 |
124 |
|
125 |
source "${PORTAGE_BIN_PATH}"/isolated-functions.sh || exit 1 |
126 |
diff --cc bin/ebuild-helpers/doinitd |
127 |
index 883858320,1863aedac..ad8bb0347 |
128 |
--- a/bin/ebuild-helpers/doinitd |
129 |
+++ b/bin/ebuild-helpers/doinitd |
130 |
@@@ -1,7 -1,9 +1,9 @@@ |
131 |
-#!/bin/bash |
132 |
+#!@PORTAGE_BASH@ |
133 |
- # Copyright 1999-2010 Gentoo Foundation |
134 |
+ # Copyright 1999-2021 Gentoo Authors |
135 |
# Distributed under the terms of the GNU General Public License v2 |
136 |
|
137 |
+ source "${PORTAGE_BIN_PATH}"/isolated-functions.sh || exit 1 |
138 |
+ |
139 |
if [[ $# -lt 1 ]] ; then |
140 |
source "${PORTAGE_BIN_PATH}"/isolated-functions.sh || exit 1 |
141 |
__helpers_die "${0##*/}: at least one argument needed" |
142 |
diff --cc bin/ebuild-ipc.py |
143 |
index c523572a7,fa6ac4395..a0735fee5 |
144 |
--- a/bin/ebuild-ipc.py |
145 |
+++ b/bin/ebuild-ipc.py |
146 |
@@@ -1,5 -1,5 +1,5 @@@ |
147 |
-#!/usr/bin/python -b |
148 |
+#!@PREFIX_PORTAGE_PYTHON@ -b |
149 |
- # Copyright 2010-2018 Gentoo Foundation |
150 |
+ # Copyright 2010-2021 Gentoo Authors |
151 |
# Distributed under the terms of the GNU General Public License v2 |
152 |
# |
153 |
# This is a helper which ebuild processes can use |
154 |
diff --cc bin/ebuild.sh |
155 |
index dddaada87,5916bedfc..9f0eb24a2 |
156 |
--- a/bin/ebuild.sh |
157 |
+++ b/bin/ebuild.sh |
158 |
@@@ -1,5 -1,5 +1,5 @@@ |
159 |
-#!/bin/bash |
160 |
+#!@PORTAGE_BASH@ |
161 |
- # Copyright 1999-2018 Gentoo Foundation |
162 |
+ # Copyright 1999-2021 Gentoo Authors |
163 |
# Distributed under the terms of the GNU General Public License v2 |
164 |
|
165 |
# Prevent aliases from causing portage to act inappropriately. |
166 |
diff --cc bin/isolated-functions.sh |
167 |
index c16f0c42f,b495ae6c7..5232fcf7f |
168 |
--- a/bin/isolated-functions.sh |
169 |
+++ b/bin/isolated-functions.sh |
170 |
@@@ -1,5 -1,5 +1,5 @@@ |
171 |
-#!/bin/bash |
172 |
+#!@PORTAGE_BASH@ |
173 |
- # Copyright 1999-2020 Gentoo Authors |
174 |
+ # Copyright 1999-2021 Gentoo Authors |
175 |
# Distributed under the terms of the GNU General Public License v2 |
176 |
|
177 |
source "${PORTAGE_BIN_PATH}/eapi.sh" || exit 1 |
178 |
diff --cc bin/misc-functions.sh |
179 |
index ed35414b0,bd1fb7553..53a15aef7 |
180 |
--- a/bin/misc-functions.sh |
181 |
+++ b/bin/misc-functions.sh |
182 |
@@@ -240,15 -201,18 +240,20 @@@ install_qa_check_elf() |
183 |
echo "${QA_SONAME_NO_SYMLINK}" > \ |
184 |
"${PORTAGE_BUILDDIR}"/build-info/QA_SONAME_NO_SYMLINK |
185 |
|
186 |
- if has binchecks ${RESTRICT} && \ |
187 |
- [ -s "${PORTAGE_BUILDDIR}/build-info/NEEDED.ELF.2" ] ; then |
188 |
- eqawarn "QA Notice: RESTRICT=binchecks prevented checks on these ELF files:" |
189 |
- eqawarn "$(while read -r x; do x=${x#*;} ; x=${x%%;*} ; echo "${x#${EPREFIX}}" ; done < "${PORTAGE_BUILDDIR}"/build-info/NEEDED.ELF.2)" |
190 |
+ if [[ -s ${PORTAGE_BUILDDIR}/build-info/NEEDED.ELF.2 ]]; then |
191 |
+ if grep -qs '<stabilize-allarches/>' "${EBUILD%/*}/metadata.xml"; then |
192 |
+ eqawarn "QA Notice: <stabilize-allarches/> found on package installing ELF files" |
193 |
+ fi |
194 |
+ |
195 |
+ if has binchecks ${PORTAGE_RESTRICT}; then |
196 |
+ eqawarn "QA Notice: RESTRICT=binchecks prevented checks on these ELF files:" |
197 |
+ eqawarn "$(while read -r x; do x=${x#*;} ; x=${x%%;*} ; echo "${x#${EPREFIX}}" ; done < "${PORTAGE_BUILDDIR}"/build-info/NEEDED.ELF.2)" |
198 |
+ fi |
199 |
fi |
200 |
fi |
201 |
+} |
202 |
|
203 |
+install_qa_check_misc() { |
204 |
# Portage regenerates this on the installed system. |
205 |
rm -f "${ED%/}"/usr/share/info/dir{,.gz,.bz2} || die "rm failed!" |
206 |
} |
207 |
diff --cc bin/phase-functions.sh |
208 |
index 78bb5caca,0bb5d86e1..9774b9dff |
209 |
--- a/bin/phase-functions.sh |
210 |
+++ b/bin/phase-functions.sh |
211 |
@@@ -1,5 -1,5 +1,5 @@@ |
212 |
-#!/bin/bash |
213 |
+#!@PORTAGE_BASH@ |
214 |
- # Copyright 1999-2019 Gentoo Authors |
215 |
+ # Copyright 1999-2021 Gentoo Authors |
216 |
# Distributed under the terms of the GNU General Public License v2 |
217 |
|
218 |
# Hardcoded bash lists are needed for backward compatibility with |
219 |
diff --cc bin/phase-helpers.sh |
220 |
index a1b7bfe05,94f4f24f2..95f55780d |
221 |
--- a/bin/phase-helpers.sh |
222 |
+++ b/bin/phase-helpers.sh |
223 |
@@@ -1,5 -1,5 +1,5 @@@ |
224 |
-#!/bin/bash |
225 |
+#!@PORTAGE_BASH@ |
226 |
- # Copyright 1999-2020 Gentoo Authors |
227 |
+ # Copyright 1999-2021 Gentoo Authors |
228 |
# Distributed under the terms of the GNU General Public License v2 |
229 |
|
230 |
if ___eapi_has_DESTTREE_INSDESTTREE; then |
231 |
diff --cc lib/_emerge/Package.py |
232 |
index f970d87f5,e8809a89d..40e595f36 |
233 |
--- a/lib/_emerge/Package.py |
234 |
+++ b/lib/_emerge/Package.py |
235 |
@@@ -36,11 -36,11 +36,11 @@@ class Package(Task) |
236 |
"LICENSE", "MD5", "PDEPEND", "PROVIDES", |
237 |
"RDEPEND", "repository", "REQUIRED_USE", |
238 |
"PROPERTIES", "REQUIRES", "RESTRICT", "SIZE", |
239 |
- "SLOT", "USE", "_mtime_"] |
240 |
+ "SLOT", "USE", "_mtime_", "EPREFIX"] |
241 |
|
242 |
- _dep_keys = ('BDEPEND', 'DEPEND', 'PDEPEND', 'RDEPEND') |
243 |
+ _dep_keys = ('BDEPEND', 'DEPEND', 'IDEPEND', 'PDEPEND', 'RDEPEND') |
244 |
_buildtime_keys = ('BDEPEND', 'DEPEND') |
245 |
- _runtime_keys = ('PDEPEND', 'RDEPEND') |
246 |
+ _runtime_keys = ('IDEPEND', 'PDEPEND', 'RDEPEND') |
247 |
_use_conditional_misc_keys = ('LICENSE', 'PROPERTIES', 'RESTRICT') |
248 |
UNKNOWN_REPO = _unknown_repo |
249 |
|
250 |
diff --cc lib/portage/const.py |
251 |
index 285e262cf,896771e14..892766c68 |
252 |
--- a/lib/portage/const.py |
253 |
+++ b/lib/portage/const.py |
254 |
@@@ -1,12 -1,7 +1,12 @@@ |
255 |
# portage: Constants |
256 |
- # Copyright 1998-2019 Gentoo Authors |
257 |
+ # Copyright 1998-2021 Gentoo Authors |
258 |
# Distributed under the terms of the GNU General Public License v2 |
259 |
|
260 |
+# =========================================================================== |
261 |
+# autotool supplied constants. |
262 |
+# =========================================================================== |
263 |
+from portage.const_autotool import * |
264 |
+ |
265 |
import os |
266 |
|
267 |
# =========================================================================== |
268 |
diff --cc lib/portage/dbapi/bintree.py |
269 |
index 6839a7dd9,cb21a8ee5..7e81b7879 |
270 |
--- a/lib/portage/dbapi/bintree.py |
271 |
+++ b/lib/portage/dbapi/bintree.py |
272 |
@@@ -83,10 -83,10 +83,10 @@@ class bindbapi(fakedbapi) |
273 |
# Selectively cache metadata in order to optimize dep matching. |
274 |
self._aux_cache_keys = set( |
275 |
["BDEPEND", "BUILD_ID", "BUILD_TIME", "CHOST", "DEFINED_PHASES", |
276 |
- "DEPEND", "EAPI", "IUSE", "KEYWORDS", |
277 |
+ "DEPEND", "EAPI", "IDEPEND", "IUSE", "KEYWORDS", |
278 |
"LICENSE", "MD5", "PDEPEND", "PROPERTIES", |
279 |
"PROVIDES", "RDEPEND", "repository", "REQUIRES", "RESTRICT", |
280 |
- "SIZE", "SLOT", "USE", "_mtime_" |
281 |
+ "SIZE", "SLOT", "USE", "_mtime_", "EPREFIX" |
282 |
]) |
283 |
self._aux_cache_slot_dict = slot_dict_class(self._aux_cache_keys) |
284 |
self._aux_cache = {} |
285 |
@@@ -384,13 -384,13 +384,13 @@@ class binarytree |
286 |
self._pkgindex_aux_keys = \ |
287 |
["BASE_URI", "BDEPEND", "BUILD_ID", "BUILD_TIME", "CHOST", |
288 |
"DEFINED_PHASES", "DEPEND", "DESCRIPTION", "EAPI", "FETCHCOMMAND", |
289 |
- "IUSE", "KEYWORDS", "LICENSE", "PDEPEND", |
290 |
+ "IDEPEND", "IUSE", "KEYWORDS", "LICENSE", "PDEPEND", |
291 |
"PKGINDEX_URI", "PROPERTIES", "PROVIDES", |
292 |
"RDEPEND", "repository", "REQUIRES", "RESTRICT", "RESUMECOMMAND", |
293 |
- "SIZE", "SLOT", "USE"] |
294 |
+ "SIZE", "SLOT", "USE", "EPREFIX"] |
295 |
self._pkgindex_aux_keys = list(self._pkgindex_aux_keys) |
296 |
self._pkgindex_use_evaluated_keys = \ |
297 |
- ("BDEPEND", "DEPEND", "LICENSE", "RDEPEND", |
298 |
+ ("BDEPEND", "DEPEND", "IDEPEND", "LICENSE", "RDEPEND", |
299 |
"PDEPEND", "PROPERTIES", "RESTRICT") |
300 |
self._pkgindex_header = None |
301 |
self._pkgindex_header_keys = set([ |