Gentoo Archives: gentoo-commits

From: Fabian Groffen <grobian@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] proj/portage:prefix commit in: /
Date: Tue, 06 Jul 2021 07:10:20
Message-Id: 1625555404.d9a23f21950ac8dbd49844ea30aaceee5e9dc983.grobian@gentoo
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([