1 |
commit: e1c3ede1b49379645456c4d1d4fa5b45725a1fb4 |
2 |
Author: Fabian Groffen <grobian <AT> gentoo <DOT> org> |
3 |
AuthorDate: Fri Jan 14 07:45:18 2022 +0000 |
4 |
Commit: Fabian Groffen <grobian <AT> gentoo <DOT> org> |
5 |
CommitDate: Fri Jan 14 07:45:18 2022 +0000 |
6 |
URL: https://gitweb.gentoo.org/repo/proj/prefix.git/commit/?id=e1c3ede1 |
7 |
|
8 |
sys-apps/portage-3.0.21: sync ebuild with gx86 |
9 |
|
10 |
Package-Manager: Portage-3.0.21-prefix, Repoman-3.0.3 |
11 |
Signed-off-by: Fabian Groffen <grobian <AT> gentoo.org> |
12 |
|
13 |
sys-apps/portage/Manifest | 2 - |
14 |
sys-apps/portage/portage-3.0.14.ebuild | 298 --------------------------------- |
15 |
sys-apps/portage/portage-3.0.18.ebuild | 298 --------------------------------- |
16 |
sys-apps/portage/portage-3.0.21.ebuild | 41 +++-- |
17 |
4 files changed, 25 insertions(+), 614 deletions(-) |
18 |
|
19 |
diff --git a/sys-apps/portage/Manifest b/sys-apps/portage/Manifest |
20 |
index 128f2ba77a..13a1d23d2a 100644 |
21 |
--- a/sys-apps/portage/Manifest |
22 |
+++ b/sys-apps/portage/Manifest |
23 |
@@ -1,3 +1 @@ |
24 |
-DIST prefix-portage-3.0.14.tar.bz2 1314909 BLAKE2B 5e5e0390466e5073795fece5d75800e7181f691d9fb81affdf5eb291b72a917a51976a83b9df5db6f5069a567c4c96e94e4ddb485cbff8b6827d281770006f2a SHA512 a41dee35ae3e5eb1c77801640d6cedd75a706993a38d3260348ad13d570c128101443bc761ef6f207a305c0d03aa45fb8a88c29237e116c426382f2e2fd265e6 |
25 |
-DIST prefix-portage-3.0.18.tar.bz2 1348023 BLAKE2B fe0a39611e0a4c2af60f6b73bf56a432193dd859bd3d0a7ab91d5b716b980abe55823c48fa7811bacf152ff9ebfc499792ba37ff94920d3a0d5604536a119d3c SHA512 ca0b78ceda58f225ab5f27e0998d5d9486d9f6609dc94b4471f4b5613fbdb6275c019ff994736cf9d85abb127e207e7065f00aea9f36ad6ebd36c196272cbfb1 |
26 |
DIST prefix-portage-3.0.21.tar.bz2 1339211 BLAKE2B 019cf0f3d2d1c45e7849221fc40b49e2c84949b74c8a8c74fbd2ca451a2dd075fb7b8bfec121a173ca0848c57a5a57a62d465b2957c4eb4d87f6a180299da91e SHA512 0aff5004ae80e2cd9dce740c56c3c2643ef390510c3b3821d893e5c76733d3a8d4e7648963febb29479b9ee155868ec11526a393beb3b383e741451178f39e5a |
27 |
|
28 |
diff --git a/sys-apps/portage/portage-3.0.14.ebuild b/sys-apps/portage/portage-3.0.14.ebuild |
29 |
deleted file mode 100644 |
30 |
index bf3300c246..0000000000 |
31 |
--- a/sys-apps/portage/portage-3.0.14.ebuild |
32 |
+++ /dev/null |
33 |
@@ -1,298 +0,0 @@ |
34 |
-# Copyright 1999-2021 Gentoo Authors |
35 |
-# Distributed under the terms of the GNU General Public License v2 |
36 |
- |
37 |
-EAPI=7 |
38 |
- |
39 |
-DISTUTILS_USE_SETUPTOOLS=no |
40 |
-PYTHON_COMPAT=( pypy3 python3_{7..9} ) |
41 |
-PYTHON_REQ_USE='bzip2(+),threads(+)' |
42 |
- |
43 |
-inherit distutils-r1 linux-info systemd prefix |
44 |
- |
45 |
-DESCRIPTION="Portage package manager used in Gentoo Prefix" |
46 |
-HOMEPAGE="https://wiki.gentoo.org/wiki/Project:Portage" |
47 |
- |
48 |
-LICENSE="GPL-2" |
49 |
-KEYWORDS="~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" |
50 |
-SLOT="0" |
51 |
-IUSE="apidoc build doc gentoo-dev +ipc +native-extensions rsync-verify selinux xattr" |
52 |
- |
53 |
-DEPEND="!build? ( $(python_gen_impl_dep 'ssl(+)') ) |
54 |
- >=app-arch/tar-1.27 |
55 |
- dev-lang/python-exec:2 |
56 |
- >=sys-apps/sed-4.0.5 sys-devel/patch |
57 |
- doc? ( app-text/xmlto ~app-text/docbook-xml-dtd-4.4 ) |
58 |
- apidoc? ( |
59 |
- dev-python/sphinx |
60 |
- dev-python/sphinx-epytext |
61 |
- )" |
62 |
-# Require sandbox-2.2 for bug #288863. |
63 |
-# For whirlpool hash, require python[ssl] (bug #425046). |
64 |
-# For compgen, require bash[readline] (bug #445576). |
65 |
-# app-portage/gemato goes without PYTHON_USEDEP since we're calling |
66 |
-# the executable. |
67 |
-RDEPEND=" |
68 |
- app-arch/zstd |
69 |
- >=app-arch/tar-1.27 |
70 |
- dev-lang/python-exec:2 |
71 |
- !build? ( |
72 |
- >=sys-apps/sed-4.0.5 |
73 |
- app-shells/bash:0[readline] |
74 |
- >=app-admin/eselect-1.2 |
75 |
- rsync-verify? ( |
76 |
- >=app-portage/gemato-14[${PYTHON_USEDEP}] |
77 |
- >=app-crypt/openpgp-keys-gentoo-release-20180706 |
78 |
- >=app-crypt/gnupg-2.2.4-r2[ssl(-)] |
79 |
- ) |
80 |
- ) |
81 |
- elibc_FreeBSD? ( !prefix? ( sys-freebsd/freebsd-bin ) ) |
82 |
- elibc_glibc? ( !prefix? ( >=sys-apps/sandbox-2.2 ) ) |
83 |
- elibc_uclibc? ( !prefix? ( >=sys-apps/sandbox-2.2 ) ) |
84 |
- kernel_linux? ( >=app-misc/pax-utils-0.1.17 ) |
85 |
- kernel_SunOS? ( >=app-misc/pax-utils-0.1.17 ) |
86 |
- kernel_FreeBSD? ( >=app-misc/pax-utils-0.1.17 ) |
87 |
- kernel_Darwin? ( >=app-misc/pax-utils-0.1.18 ) |
88 |
- selinux? ( >=sys-libs/libselinux-2.0.94[python,${PYTHON_USEDEP}] ) |
89 |
- xattr? ( kernel_linux? ( |
90 |
- >=sys-apps/install-xattr-0.3 |
91 |
- ) ) |
92 |
- !<app-admin/logrotate-3.8.0 |
93 |
- !<app-portage/gentoolkit-0.4.6 |
94 |
- !<app-portage/repoman-2.3.10" |
95 |
-PDEPEND=" |
96 |
- !build? ( |
97 |
- >=net-misc/rsync-2.6.4 |
98 |
- userland_GNU? ( >=sys-apps/coreutils-6.4 ) |
99 |
- )" |
100 |
-# coreutils-6.4 rdep is for date format in emerge-webrsync #164532 |
101 |
-# NOTE: FEATURES=installsources requires debugedit and rsync |
102 |
- |
103 |
-SRC_ARCHIVES="https://dev.gentoo.org/~zmedico/portage/archives https://dev.gentoo.org/~grobian/distfiles" |
104 |
- |
105 |
-prefix_src_archives() { |
106 |
- local x y |
107 |
- for x in ${@}; do |
108 |
- for y in ${SRC_ARCHIVES}; do |
109 |
- echo ${y}/${x} |
110 |
- done |
111 |
- done |
112 |
-} |
113 |
- |
114 |
-TARBALL_PV=${PV} |
115 |
-SRC_URI="mirror://gentoo/prefix-${PN}-${TARBALL_PV}.tar.bz2 |
116 |
- $(prefix_src_archives prefix-${PN}-${TARBALL_PV}.tar.bz2)" |
117 |
- |
118 |
-S="${WORKDIR}"/prefix-${PN}-${TARBALL_PV} |
119 |
- |
120 |
-pkg_pretend() { |
121 |
- local CONFIG_CHECK="~IPC_NS ~PID_NS ~NET_NS ~UTS_NS" |
122 |
- |
123 |
- check_extra_config |
124 |
-} |
125 |
- |
126 |
-python_prepare_all() { |
127 |
- distutils-r1_python_prepare_all |
128 |
- |
129 |
- eapply "${FILESDIR}"/${PN}-2.3.62-prefix-stack.patch # 658572 |
130 |
- eapply "${FILESDIR}"/${PN}-2.3.45-ebuildshell.patch # 155161 |
131 |
- if use gentoo-dev; then |
132 |
- einfo "Disabling --dynamic-deps by default for gentoo-dev..." |
133 |
- sed -e 's:\("--dynamic-deps", \)\("y"\):\1"n":' \ |
134 |
- -i lib/_emerge/create_depgraph_params.py || \ |
135 |
- die "failed to patch create_depgraph_params.py" |
136 |
- |
137 |
- einfo "Enabling additional FEATURES for gentoo-dev..." |
138 |
- echo 'FEATURES="${FEATURES} strict-keepdir"' \ |
139 |
- >> cnf/make.globals || die |
140 |
- fi |
141 |
- |
142 |
- if use native-extensions; then |
143 |
- printf "[build_ext]\nportage-ext-modules=true\n" >> \ |
144 |
- setup.cfg || die |
145 |
- fi |
146 |
- |
147 |
- if ! use ipc ; then |
148 |
- einfo "Disabling ipc..." |
149 |
- sed -e "s:_enable_ipc_daemon = True:_enable_ipc_daemon = False:" \ |
150 |
- -i lib/_emerge/AbstractEbuildProcess.py || \ |
151 |
- die "failed to patch AbstractEbuildProcess.py" |
152 |
- fi |
153 |
- |
154 |
- if use xattr && use kernel_linux ; then |
155 |
- einfo "Adding FEATURES=xattr to make.globals ..." |
156 |
- echo -e '\nFEATURES="${FEATURES} xattr"' >> cnf/make.globals \ |
157 |
- || die "failed to append to make.globals" |
158 |
- fi |
159 |
- |
160 |
- if use build || ! use rsync-verify; then |
161 |
- sed -e '/^sync-rsync-verify-metamanifest/s|yes|no|' \ |
162 |
- -e '/^sync-webrsync-verify-signature/s|yes|no|' \ |
163 |
- -i cnf/repos.conf || die "sed failed" |
164 |
- fi |
165 |
- |
166 |
- if [[ -n ${EPREFIX} ]] ; then |
167 |
- # PREFIX LOCAL: only hack const_autotool |
168 |
- local extrapath="/usr/sbin:/usr/bin:/sbin:/bin" |
169 |
- # ok, we can't rely on PORTAGE_ROOT_USER being there yet, as people |
170 |
- # tend not to update that often, as long as we are a separate ebuild |
171 |
- # we can assume when unset, it's time for some older trick |
172 |
- if [[ -z ${PORTAGE_ROOT_USER} ]] ; then |
173 |
- PORTAGE_ROOT_USER=$(python -c 'from portage.const import rootuser; print rootuser') |
174 |
- fi |
175 |
- # We need to probe for bash in the Prefix, because it may not |
176 |
- # exist, in which case we fall back to the currently in use |
177 |
- # bash. This logic is necessary in particular during bootstrap, |
178 |
- # where we pull ourselves out of a temporary place with tools |
179 |
- local bash="${EPREFIX}/bin/bash" |
180 |
- [[ ! -x ${bash} ]] && bash=${BASH} |
181 |
- |
182 |
- einfo "Adjusting sources for ${EPREFIX}" |
183 |
- find . -type f -exec \ |
184 |
- sed -e "s|@PORTAGE_EPREFIX@|${EPREFIX}|" \ |
185 |
- -e "s|@PORTAGE_MV@|$(type -P mv)|" \ |
186 |
- -e "s|@PORTAGE_BASH@|${bash}|" \ |
187 |
- -e "s|@PREFIX_PORTAGE_PYTHON@|$(type -P python)|" \ |
188 |
- -e "s|@EXTRA_PATH@|${extrapath}|" \ |
189 |
- -e "s|@portagegroup@|${PORTAGE_GROUP:-portage}|" \ |
190 |
- -e "s|@portageuser@|${PORTAGE_USER:-portage}|" \ |
191 |
- -e "s|@rootuser@|${PORTAGE_ROOT_USER:-root}|" \ |
192 |
- -e "s|@rootuid@|$(id -u ${PORTAGE_ROOT_USER:-root})|" \ |
193 |
- -e "s|@rootgid@|$(id -g ${PORTAGE_ROOT_USER:-root})|" \ |
194 |
- -e "s|@sysconfdir@|${EPREFIX}/etc|" \ |
195 |
- -i '{}' + || \ |
196 |
- die "Failed to patch sources" |
197 |
- # We don't need the below, since setup.py deals with this (and |
198 |
- # more) so we don't have to make this correct |
199 |
- # -e "s|@PORTAGE_BASE@|${EPREFIX}/usr/lib/portage/${EPYTHON}|" \ |
200 |
- |
201 |
- # remove Makefiles, or else they will get installed |
202 |
- find . -name "Makefile.*" -delete |
203 |
- |
204 |
- einfo "Prefixing shebangs ..." |
205 |
- while read -r -d $'\0' ; do |
206 |
- local shebang=$(head -n1 "$REPLY") |
207 |
- if [[ ${shebang} == "#!"* && ! ${shebang} == "#!${EPREFIX}/"* ]] ; then |
208 |
- sed -i -e "1s:.*:#!${EPREFIX}${shebang:2}:" "$REPLY" || \ |
209 |
- die "sed failed" |
210 |
- fi |
211 |
- done < <(find . -type f ! -name etc-update -print0) |
212 |
- |
213 |
- einfo "Setting gentoo_prefix as reponame for emerge-webrsync" |
214 |
- sed -i -e 's/repo_name=gentoo/repo_name=gentoo_prefix/' \ |
215 |
- bin/emerge-webrsync || die |
216 |
- |
217 |
- einfo "Making absent gemato non-fatal" |
218 |
- sed -i -e '/exitcode = 127/d' \ |
219 |
- lib/portage/sync/modules/rsync/rsync.py || die |
220 |
- # END PREFIX LOCAL |
221 |
- fi |
222 |
- |
223 |
- # PREFIX LOCAL: make.conf is written by bootstrap-prefix.sh |
224 |
- if use !prefix ; then |
225 |
- cd "${S}/cnf" || die |
226 |
- if [ -f "make.conf.example.${ARCH}".diff ]; then |
227 |
- patch make.conf.example "make.conf.example.${ARCH}".diff || \ |
228 |
- die "Failed to patch make.conf.example" |
229 |
- else |
230 |
- eerror "" |
231 |
- eerror "Portage does not have an arch-specific configuration for this arch." |
232 |
- eerror "Please notify the arch maintainer about this issue. Using generic." |
233 |
- eerror "" |
234 |
- fi |
235 |
- fi |
236 |
-} |
237 |
- |
238 |
-python_compile_all() { |
239 |
- local targets=() |
240 |
- use doc && targets+=( docbook ) |
241 |
- use apidoc && targets+=( apidoc ) |
242 |
- |
243 |
- if [[ ${targets[@]} ]]; then |
244 |
- esetup.py "${targets[@]}" |
245 |
- fi |
246 |
-} |
247 |
- |
248 |
-python_test() { |
249 |
- esetup.py test |
250 |
-} |
251 |
- |
252 |
-python_install() { |
253 |
- # Install sbin scripts to bindir for python-exec linking |
254 |
- # they will be relocated in pkg_preinst() |
255 |
- distutils-r1_python_install \ |
256 |
- --system-prefix="${EPREFIX}/usr" \ |
257 |
- --bindir="$(python_get_scriptdir)" \ |
258 |
- --docdir="${EPREFIX}/usr/share/doc/${PF}" \ |
259 |
- --htmldir="${EPREFIX}/usr/share/doc/${PF}/html" \ |
260 |
- --portage-bindir="${EPREFIX}/usr/lib/portage/${EPYTHON}" \ |
261 |
- --sbindir="$(python_get_scriptdir)" \ |
262 |
- --sysconfdir="${EPREFIX}/etc" \ |
263 |
- "${@}" |
264 |
-} |
265 |
- |
266 |
-python_install_all() { |
267 |
- distutils-r1_python_install_all |
268 |
- |
269 |
- local targets=() |
270 |
- use doc && targets+=( |
271 |
- install_docbook |
272 |
- --htmldir="${EPREFIX}/usr/share/doc/${PF}/html" |
273 |
- ) |
274 |
- use apidoc && targets+=( |
275 |
- install_apidoc |
276 |
- --htmldir="${EPREFIX}/usr/share/doc/${PF}/html" |
277 |
- ) |
278 |
- |
279 |
- # install docs |
280 |
- if [[ ${targets[@]} ]]; then |
281 |
- esetup.py "${targets[@]}" |
282 |
- fi |
283 |
- |
284 |
- systemd_dotmpfilesd "${FILESDIR}"/portage-ccache.conf |
285 |
- |
286 |
- # Due to distutils/python-exec limitations |
287 |
- # these must be installed to /usr/bin. |
288 |
- local sbin_relocations='archive-conf dispatch-conf emaint env-update etc-update fixpackages regenworld' |
289 |
- einfo "Moving admin scripts to the correct directory" |
290 |
- dodir /usr/sbin |
291 |
- for target in ${sbin_relocations}; do |
292 |
- einfo "Moving /usr/bin/${target} to /usr/sbin/${target}" |
293 |
- mv "${ED}/usr/bin/${target}" "${ED}/usr/sbin/${target}" || die "sbin scripts move failed!" |
294 |
- done |
295 |
-} |
296 |
- |
297 |
-pkg_preinst() { |
298 |
- python_setup |
299 |
- local sitedir=$(python_get_sitedir) |
300 |
- [[ -d ${D}${sitedir} ]] || die "${D}${sitedir}: No such directory" |
301 |
- env -u DISTDIR \ |
302 |
- -u PORTAGE_OVERRIDE_EPREFIX \ |
303 |
- -u PORTAGE_REPOSITORIES \ |
304 |
- -u PORTDIR \ |
305 |
- -u PORTDIR_OVERLAY \ |
306 |
- PYTHONPATH="${D}${sitedir}${PYTHONPATH:+:${PYTHONPATH}}" \ |
307 |
- "${PYTHON}" -m portage._compat_upgrade.default_locations || die |
308 |
- |
309 |
- env -u BINPKG_COMPRESS \ |
310 |
- PYTHONPATH="${D}${sitedir}${PYTHONPATH:+:${PYTHONPATH}}" \ |
311 |
- "${PYTHON}" -m portage._compat_upgrade.binpkg_compression || die |
312 |
- |
313 |
- # elog dir must exist to avoid logrotate error for bug #415911. |
314 |
- # This code runs in preinst in order to bypass the mapping of |
315 |
- # portage:portage to root:root which happens after src_install. |
316 |
- keepdir /var/log/portage/elog |
317 |
- # This is allowed to fail if the user/group are invalid for prefix users. |
318 |
- if chown ${PORTAGE_USER}:${PORTAGE_GROUP} "${ED}"/var/log/portage{,/elog} 2>/dev/null ; then |
319 |
- chmod g+s,ug+rwx "${ED}"/var/log/portage{,/elog} |
320 |
- fi |
321 |
- |
322 |
- if has_version "<${CATEGORY}/${PN}-2.3.77"; then |
323 |
- elog "The emerge --autounmask option is now disabled by default, except for" |
324 |
- elog "portions of behavior which are controlled by the --autounmask-use and" |
325 |
- elog "--autounmask-license options. For backward compatibility, previous" |
326 |
- elog "behavior of --autounmask=y and --autounmask=n is entirely preserved." |
327 |
- elog "Users can get the old behavior simply by adding --autounmask to the" |
328 |
- elog "make.conf EMERGE_DEFAULT_OPTS variable. For the rationale for this" |
329 |
- elog "change, see https://bugs.gentoo.org/658648." |
330 |
- fi |
331 |
-} |
332 |
|
333 |
diff --git a/sys-apps/portage/portage-3.0.18.ebuild b/sys-apps/portage/portage-3.0.18.ebuild |
334 |
deleted file mode 100644 |
335 |
index bf3300c246..0000000000 |
336 |
--- a/sys-apps/portage/portage-3.0.18.ebuild |
337 |
+++ /dev/null |
338 |
@@ -1,298 +0,0 @@ |
339 |
-# Copyright 1999-2021 Gentoo Authors |
340 |
-# Distributed under the terms of the GNU General Public License v2 |
341 |
- |
342 |
-EAPI=7 |
343 |
- |
344 |
-DISTUTILS_USE_SETUPTOOLS=no |
345 |
-PYTHON_COMPAT=( pypy3 python3_{7..9} ) |
346 |
-PYTHON_REQ_USE='bzip2(+),threads(+)' |
347 |
- |
348 |
-inherit distutils-r1 linux-info systemd prefix |
349 |
- |
350 |
-DESCRIPTION="Portage package manager used in Gentoo Prefix" |
351 |
-HOMEPAGE="https://wiki.gentoo.org/wiki/Project:Portage" |
352 |
- |
353 |
-LICENSE="GPL-2" |
354 |
-KEYWORDS="~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" |
355 |
-SLOT="0" |
356 |
-IUSE="apidoc build doc gentoo-dev +ipc +native-extensions rsync-verify selinux xattr" |
357 |
- |
358 |
-DEPEND="!build? ( $(python_gen_impl_dep 'ssl(+)') ) |
359 |
- >=app-arch/tar-1.27 |
360 |
- dev-lang/python-exec:2 |
361 |
- >=sys-apps/sed-4.0.5 sys-devel/patch |
362 |
- doc? ( app-text/xmlto ~app-text/docbook-xml-dtd-4.4 ) |
363 |
- apidoc? ( |
364 |
- dev-python/sphinx |
365 |
- dev-python/sphinx-epytext |
366 |
- )" |
367 |
-# Require sandbox-2.2 for bug #288863. |
368 |
-# For whirlpool hash, require python[ssl] (bug #425046). |
369 |
-# For compgen, require bash[readline] (bug #445576). |
370 |
-# app-portage/gemato goes without PYTHON_USEDEP since we're calling |
371 |
-# the executable. |
372 |
-RDEPEND=" |
373 |
- app-arch/zstd |
374 |
- >=app-arch/tar-1.27 |
375 |
- dev-lang/python-exec:2 |
376 |
- !build? ( |
377 |
- >=sys-apps/sed-4.0.5 |
378 |
- app-shells/bash:0[readline] |
379 |
- >=app-admin/eselect-1.2 |
380 |
- rsync-verify? ( |
381 |
- >=app-portage/gemato-14[${PYTHON_USEDEP}] |
382 |
- >=app-crypt/openpgp-keys-gentoo-release-20180706 |
383 |
- >=app-crypt/gnupg-2.2.4-r2[ssl(-)] |
384 |
- ) |
385 |
- ) |
386 |
- elibc_FreeBSD? ( !prefix? ( sys-freebsd/freebsd-bin ) ) |
387 |
- elibc_glibc? ( !prefix? ( >=sys-apps/sandbox-2.2 ) ) |
388 |
- elibc_uclibc? ( !prefix? ( >=sys-apps/sandbox-2.2 ) ) |
389 |
- kernel_linux? ( >=app-misc/pax-utils-0.1.17 ) |
390 |
- kernel_SunOS? ( >=app-misc/pax-utils-0.1.17 ) |
391 |
- kernel_FreeBSD? ( >=app-misc/pax-utils-0.1.17 ) |
392 |
- kernel_Darwin? ( >=app-misc/pax-utils-0.1.18 ) |
393 |
- selinux? ( >=sys-libs/libselinux-2.0.94[python,${PYTHON_USEDEP}] ) |
394 |
- xattr? ( kernel_linux? ( |
395 |
- >=sys-apps/install-xattr-0.3 |
396 |
- ) ) |
397 |
- !<app-admin/logrotate-3.8.0 |
398 |
- !<app-portage/gentoolkit-0.4.6 |
399 |
- !<app-portage/repoman-2.3.10" |
400 |
-PDEPEND=" |
401 |
- !build? ( |
402 |
- >=net-misc/rsync-2.6.4 |
403 |
- userland_GNU? ( >=sys-apps/coreutils-6.4 ) |
404 |
- )" |
405 |
-# coreutils-6.4 rdep is for date format in emerge-webrsync #164532 |
406 |
-# NOTE: FEATURES=installsources requires debugedit and rsync |
407 |
- |
408 |
-SRC_ARCHIVES="https://dev.gentoo.org/~zmedico/portage/archives https://dev.gentoo.org/~grobian/distfiles" |
409 |
- |
410 |
-prefix_src_archives() { |
411 |
- local x y |
412 |
- for x in ${@}; do |
413 |
- for y in ${SRC_ARCHIVES}; do |
414 |
- echo ${y}/${x} |
415 |
- done |
416 |
- done |
417 |
-} |
418 |
- |
419 |
-TARBALL_PV=${PV} |
420 |
-SRC_URI="mirror://gentoo/prefix-${PN}-${TARBALL_PV}.tar.bz2 |
421 |
- $(prefix_src_archives prefix-${PN}-${TARBALL_PV}.tar.bz2)" |
422 |
- |
423 |
-S="${WORKDIR}"/prefix-${PN}-${TARBALL_PV} |
424 |
- |
425 |
-pkg_pretend() { |
426 |
- local CONFIG_CHECK="~IPC_NS ~PID_NS ~NET_NS ~UTS_NS" |
427 |
- |
428 |
- check_extra_config |
429 |
-} |
430 |
- |
431 |
-python_prepare_all() { |
432 |
- distutils-r1_python_prepare_all |
433 |
- |
434 |
- eapply "${FILESDIR}"/${PN}-2.3.62-prefix-stack.patch # 658572 |
435 |
- eapply "${FILESDIR}"/${PN}-2.3.45-ebuildshell.patch # 155161 |
436 |
- if use gentoo-dev; then |
437 |
- einfo "Disabling --dynamic-deps by default for gentoo-dev..." |
438 |
- sed -e 's:\("--dynamic-deps", \)\("y"\):\1"n":' \ |
439 |
- -i lib/_emerge/create_depgraph_params.py || \ |
440 |
- die "failed to patch create_depgraph_params.py" |
441 |
- |
442 |
- einfo "Enabling additional FEATURES for gentoo-dev..." |
443 |
- echo 'FEATURES="${FEATURES} strict-keepdir"' \ |
444 |
- >> cnf/make.globals || die |
445 |
- fi |
446 |
- |
447 |
- if use native-extensions; then |
448 |
- printf "[build_ext]\nportage-ext-modules=true\n" >> \ |
449 |
- setup.cfg || die |
450 |
- fi |
451 |
- |
452 |
- if ! use ipc ; then |
453 |
- einfo "Disabling ipc..." |
454 |
- sed -e "s:_enable_ipc_daemon = True:_enable_ipc_daemon = False:" \ |
455 |
- -i lib/_emerge/AbstractEbuildProcess.py || \ |
456 |
- die "failed to patch AbstractEbuildProcess.py" |
457 |
- fi |
458 |
- |
459 |
- if use xattr && use kernel_linux ; then |
460 |
- einfo "Adding FEATURES=xattr to make.globals ..." |
461 |
- echo -e '\nFEATURES="${FEATURES} xattr"' >> cnf/make.globals \ |
462 |
- || die "failed to append to make.globals" |
463 |
- fi |
464 |
- |
465 |
- if use build || ! use rsync-verify; then |
466 |
- sed -e '/^sync-rsync-verify-metamanifest/s|yes|no|' \ |
467 |
- -e '/^sync-webrsync-verify-signature/s|yes|no|' \ |
468 |
- -i cnf/repos.conf || die "sed failed" |
469 |
- fi |
470 |
- |
471 |
- if [[ -n ${EPREFIX} ]] ; then |
472 |
- # PREFIX LOCAL: only hack const_autotool |
473 |
- local extrapath="/usr/sbin:/usr/bin:/sbin:/bin" |
474 |
- # ok, we can't rely on PORTAGE_ROOT_USER being there yet, as people |
475 |
- # tend not to update that often, as long as we are a separate ebuild |
476 |
- # we can assume when unset, it's time for some older trick |
477 |
- if [[ -z ${PORTAGE_ROOT_USER} ]] ; then |
478 |
- PORTAGE_ROOT_USER=$(python -c 'from portage.const import rootuser; print rootuser') |
479 |
- fi |
480 |
- # We need to probe for bash in the Prefix, because it may not |
481 |
- # exist, in which case we fall back to the currently in use |
482 |
- # bash. This logic is necessary in particular during bootstrap, |
483 |
- # where we pull ourselves out of a temporary place with tools |
484 |
- local bash="${EPREFIX}/bin/bash" |
485 |
- [[ ! -x ${bash} ]] && bash=${BASH} |
486 |
- |
487 |
- einfo "Adjusting sources for ${EPREFIX}" |
488 |
- find . -type f -exec \ |
489 |
- sed -e "s|@PORTAGE_EPREFIX@|${EPREFIX}|" \ |
490 |
- -e "s|@PORTAGE_MV@|$(type -P mv)|" \ |
491 |
- -e "s|@PORTAGE_BASH@|${bash}|" \ |
492 |
- -e "s|@PREFIX_PORTAGE_PYTHON@|$(type -P python)|" \ |
493 |
- -e "s|@EXTRA_PATH@|${extrapath}|" \ |
494 |
- -e "s|@portagegroup@|${PORTAGE_GROUP:-portage}|" \ |
495 |
- -e "s|@portageuser@|${PORTAGE_USER:-portage}|" \ |
496 |
- -e "s|@rootuser@|${PORTAGE_ROOT_USER:-root}|" \ |
497 |
- -e "s|@rootuid@|$(id -u ${PORTAGE_ROOT_USER:-root})|" \ |
498 |
- -e "s|@rootgid@|$(id -g ${PORTAGE_ROOT_USER:-root})|" \ |
499 |
- -e "s|@sysconfdir@|${EPREFIX}/etc|" \ |
500 |
- -i '{}' + || \ |
501 |
- die "Failed to patch sources" |
502 |
- # We don't need the below, since setup.py deals with this (and |
503 |
- # more) so we don't have to make this correct |
504 |
- # -e "s|@PORTAGE_BASE@|${EPREFIX}/usr/lib/portage/${EPYTHON}|" \ |
505 |
- |
506 |
- # remove Makefiles, or else they will get installed |
507 |
- find . -name "Makefile.*" -delete |
508 |
- |
509 |
- einfo "Prefixing shebangs ..." |
510 |
- while read -r -d $'\0' ; do |
511 |
- local shebang=$(head -n1 "$REPLY") |
512 |
- if [[ ${shebang} == "#!"* && ! ${shebang} == "#!${EPREFIX}/"* ]] ; then |
513 |
- sed -i -e "1s:.*:#!${EPREFIX}${shebang:2}:" "$REPLY" || \ |
514 |
- die "sed failed" |
515 |
- fi |
516 |
- done < <(find . -type f ! -name etc-update -print0) |
517 |
- |
518 |
- einfo "Setting gentoo_prefix as reponame for emerge-webrsync" |
519 |
- sed -i -e 's/repo_name=gentoo/repo_name=gentoo_prefix/' \ |
520 |
- bin/emerge-webrsync || die |
521 |
- |
522 |
- einfo "Making absent gemato non-fatal" |
523 |
- sed -i -e '/exitcode = 127/d' \ |
524 |
- lib/portage/sync/modules/rsync/rsync.py || die |
525 |
- # END PREFIX LOCAL |
526 |
- fi |
527 |
- |
528 |
- # PREFIX LOCAL: make.conf is written by bootstrap-prefix.sh |
529 |
- if use !prefix ; then |
530 |
- cd "${S}/cnf" || die |
531 |
- if [ -f "make.conf.example.${ARCH}".diff ]; then |
532 |
- patch make.conf.example "make.conf.example.${ARCH}".diff || \ |
533 |
- die "Failed to patch make.conf.example" |
534 |
- else |
535 |
- eerror "" |
536 |
- eerror "Portage does not have an arch-specific configuration for this arch." |
537 |
- eerror "Please notify the arch maintainer about this issue. Using generic." |
538 |
- eerror "" |
539 |
- fi |
540 |
- fi |
541 |
-} |
542 |
- |
543 |
-python_compile_all() { |
544 |
- local targets=() |
545 |
- use doc && targets+=( docbook ) |
546 |
- use apidoc && targets+=( apidoc ) |
547 |
- |
548 |
- if [[ ${targets[@]} ]]; then |
549 |
- esetup.py "${targets[@]}" |
550 |
- fi |
551 |
-} |
552 |
- |
553 |
-python_test() { |
554 |
- esetup.py test |
555 |
-} |
556 |
- |
557 |
-python_install() { |
558 |
- # Install sbin scripts to bindir for python-exec linking |
559 |
- # they will be relocated in pkg_preinst() |
560 |
- distutils-r1_python_install \ |
561 |
- --system-prefix="${EPREFIX}/usr" \ |
562 |
- --bindir="$(python_get_scriptdir)" \ |
563 |
- --docdir="${EPREFIX}/usr/share/doc/${PF}" \ |
564 |
- --htmldir="${EPREFIX}/usr/share/doc/${PF}/html" \ |
565 |
- --portage-bindir="${EPREFIX}/usr/lib/portage/${EPYTHON}" \ |
566 |
- --sbindir="$(python_get_scriptdir)" \ |
567 |
- --sysconfdir="${EPREFIX}/etc" \ |
568 |
- "${@}" |
569 |
-} |
570 |
- |
571 |
-python_install_all() { |
572 |
- distutils-r1_python_install_all |
573 |
- |
574 |
- local targets=() |
575 |
- use doc && targets+=( |
576 |
- install_docbook |
577 |
- --htmldir="${EPREFIX}/usr/share/doc/${PF}/html" |
578 |
- ) |
579 |
- use apidoc && targets+=( |
580 |
- install_apidoc |
581 |
- --htmldir="${EPREFIX}/usr/share/doc/${PF}/html" |
582 |
- ) |
583 |
- |
584 |
- # install docs |
585 |
- if [[ ${targets[@]} ]]; then |
586 |
- esetup.py "${targets[@]}" |
587 |
- fi |
588 |
- |
589 |
- systemd_dotmpfilesd "${FILESDIR}"/portage-ccache.conf |
590 |
- |
591 |
- # Due to distutils/python-exec limitations |
592 |
- # these must be installed to /usr/bin. |
593 |
- local sbin_relocations='archive-conf dispatch-conf emaint env-update etc-update fixpackages regenworld' |
594 |
- einfo "Moving admin scripts to the correct directory" |
595 |
- dodir /usr/sbin |
596 |
- for target in ${sbin_relocations}; do |
597 |
- einfo "Moving /usr/bin/${target} to /usr/sbin/${target}" |
598 |
- mv "${ED}/usr/bin/${target}" "${ED}/usr/sbin/${target}" || die "sbin scripts move failed!" |
599 |
- done |
600 |
-} |
601 |
- |
602 |
-pkg_preinst() { |
603 |
- python_setup |
604 |
- local sitedir=$(python_get_sitedir) |
605 |
- [[ -d ${D}${sitedir} ]] || die "${D}${sitedir}: No such directory" |
606 |
- env -u DISTDIR \ |
607 |
- -u PORTAGE_OVERRIDE_EPREFIX \ |
608 |
- -u PORTAGE_REPOSITORIES \ |
609 |
- -u PORTDIR \ |
610 |
- -u PORTDIR_OVERLAY \ |
611 |
- PYTHONPATH="${D}${sitedir}${PYTHONPATH:+:${PYTHONPATH}}" \ |
612 |
- "${PYTHON}" -m portage._compat_upgrade.default_locations || die |
613 |
- |
614 |
- env -u BINPKG_COMPRESS \ |
615 |
- PYTHONPATH="${D}${sitedir}${PYTHONPATH:+:${PYTHONPATH}}" \ |
616 |
- "${PYTHON}" -m portage._compat_upgrade.binpkg_compression || die |
617 |
- |
618 |
- # elog dir must exist to avoid logrotate error for bug #415911. |
619 |
- # This code runs in preinst in order to bypass the mapping of |
620 |
- # portage:portage to root:root which happens after src_install. |
621 |
- keepdir /var/log/portage/elog |
622 |
- # This is allowed to fail if the user/group are invalid for prefix users. |
623 |
- if chown ${PORTAGE_USER}:${PORTAGE_GROUP} "${ED}"/var/log/portage{,/elog} 2>/dev/null ; then |
624 |
- chmod g+s,ug+rwx "${ED}"/var/log/portage{,/elog} |
625 |
- fi |
626 |
- |
627 |
- if has_version "<${CATEGORY}/${PN}-2.3.77"; then |
628 |
- elog "The emerge --autounmask option is now disabled by default, except for" |
629 |
- elog "portions of behavior which are controlled by the --autounmask-use and" |
630 |
- elog "--autounmask-license options. For backward compatibility, previous" |
631 |
- elog "behavior of --autounmask=y and --autounmask=n is entirely preserved." |
632 |
- elog "Users can get the old behavior simply by adding --autounmask to the" |
633 |
- elog "make.conf EMERGE_DEFAULT_OPTS variable. For the rationale for this" |
634 |
- elog "change, see https://bugs.gentoo.org/658648." |
635 |
- fi |
636 |
-} |
637 |
|
638 |
diff --git a/sys-apps/portage/portage-3.0.21.ebuild b/sys-apps/portage/portage-3.0.21.ebuild |
639 |
index bf3300c246..6505c08858 100644 |
640 |
--- a/sys-apps/portage/portage-3.0.21.ebuild |
641 |
+++ b/sys-apps/portage/portage-3.0.21.ebuild |
642 |
@@ -1,4 +1,4 @@ |
643 |
-# Copyright 1999-2021 Gentoo Authors |
644 |
+# Copyright 1999-2022 Gentoo Authors |
645 |
# Distributed under the terms of the GNU General Public License v2 |
646 |
|
647 |
EAPI=7 |
648 |
@@ -15,8 +15,12 @@ HOMEPAGE="https://wiki.gentoo.org/wiki/Project:Portage" |
649 |
LICENSE="GPL-2" |
650 |
KEYWORDS="~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" |
651 |
SLOT="0" |
652 |
-IUSE="apidoc build doc gentoo-dev +ipc +native-extensions rsync-verify selinux xattr" |
653 |
+IUSE="apidoc build doc gentoo-dev +ipc +native-extensions rsync-verify selinux test xattr" |
654 |
+RESTRICT="!test? ( test )" |
655 |
|
656 |
+BDEPEND=" |
657 |
+ app-arch/xz-utils |
658 |
+ test? ( dev-vcs/git )" |
659 |
DEPEND="!build? ( $(python_gen_impl_dep 'ssl(+)') ) |
660 |
>=app-arch/tar-1.27 |
661 |
dev-lang/python-exec:2 |
662 |
@@ -32,37 +36,38 @@ DEPEND="!build? ( $(python_gen_impl_dep 'ssl(+)') ) |
663 |
# app-portage/gemato goes without PYTHON_USEDEP since we're calling |
664 |
# the executable. |
665 |
RDEPEND=" |
666 |
+ !prefix? ( acct-user/portage ) |
667 |
app-arch/zstd |
668 |
>=app-arch/tar-1.27 |
669 |
dev-lang/python-exec:2 |
670 |
+ >=sys-apps/findutils-4.4 |
671 |
!build? ( |
672 |
>=sys-apps/sed-4.0.5 |
673 |
- app-shells/bash:0[readline] |
674 |
+ >=app-shells/bash-5.0:0[readline] |
675 |
>=app-admin/eselect-1.2 |
676 |
rsync-verify? ( |
677 |
- >=app-portage/gemato-14[${PYTHON_USEDEP}] |
678 |
- >=app-crypt/openpgp-keys-gentoo-release-20180706 |
679 |
+ >=app-portage/gemato-14.5[${PYTHON_USEDEP}] |
680 |
+ >=sec-keys/openpgp-keys-gentoo-release-20180706 |
681 |
>=app-crypt/gnupg-2.2.4-r2[ssl(-)] |
682 |
) |
683 |
) |
684 |
- elibc_FreeBSD? ( !prefix? ( sys-freebsd/freebsd-bin ) ) |
685 |
elibc_glibc? ( !prefix? ( >=sys-apps/sandbox-2.2 ) ) |
686 |
- elibc_uclibc? ( !prefix? ( >=sys-apps/sandbox-2.2 ) ) |
687 |
- kernel_linux? ( >=app-misc/pax-utils-0.1.17 ) |
688 |
- kernel_SunOS? ( >=app-misc/pax-utils-0.1.17 ) |
689 |
- kernel_FreeBSD? ( >=app-misc/pax-utils-0.1.17 ) |
690 |
- kernel_Darwin? ( >=app-misc/pax-utils-0.1.18 ) |
691 |
+ elibc_musl? ( >=sys-apps/sandbox-2.2 ) |
692 |
+ kernel_linux? ( sys-apps/util-linux ) |
693 |
+ >=app-misc/pax-utils-0.1.18 |
694 |
selinux? ( >=sys-libs/libselinux-2.0.94[python,${PYTHON_USEDEP}] ) |
695 |
xattr? ( kernel_linux? ( |
696 |
>=sys-apps/install-xattr-0.3 |
697 |
) ) |
698 |
!<app-admin/logrotate-3.8.0 |
699 |
!<app-portage/gentoolkit-0.4.6 |
700 |
- !<app-portage/repoman-2.3.10" |
701 |
+ !<app-portage/repoman-2.3.10 |
702 |
+ !~app-portage/repoman-3.0.0" |
703 |
PDEPEND=" |
704 |
!build? ( |
705 |
>=net-misc/rsync-2.6.4 |
706 |
- userland_GNU? ( >=sys-apps/coreutils-6.4 ) |
707 |
+ >=sys-apps/file-5.41 |
708 |
+ >=sys-apps/coreutils-6.4 |
709 |
)" |
710 |
# coreutils-6.4 rdep is for date format in emerge-webrsync #164532 |
711 |
# NOTE: FEATURES=installsources requires debugedit and rsync |
712 |
@@ -107,7 +112,7 @@ python_prepare_all() { |
713 |
fi |
714 |
|
715 |
if use native-extensions; then |
716 |
- printf "[build_ext]\nportage-ext-modules=true\n" >> \ |
717 |
+ printf "[build_ext]\nportage_ext_modules=true\n" >> \ |
718 |
setup.cfg || die |
719 |
fi |
720 |
|
721 |
@@ -248,7 +253,7 @@ python_install_all() { |
722 |
esetup.py "${targets[@]}" |
723 |
fi |
724 |
|
725 |
- systemd_dotmpfilesd "${FILESDIR}"/portage-ccache.conf |
726 |
+ dotmpfiles "${FILESDIR}"/portage-ccache.conf |
727 |
|
728 |
# Due to distutils/python-exec limitations |
729 |
# these must be installed to /usr/bin. |
730 |
@@ -273,10 +278,14 @@ pkg_preinst() { |
731 |
PYTHONPATH="${D}${sitedir}${PYTHONPATH:+:${PYTHONPATH}}" \ |
732 |
"${PYTHON}" -m portage._compat_upgrade.default_locations || die |
733 |
|
734 |
- env -u BINPKG_COMPRESS \ |
735 |
+ env -u BINPKG_COMPRESS -u PORTAGE_REPOSITORIES \ |
736 |
PYTHONPATH="${D}${sitedir}${PYTHONPATH:+:${PYTHONPATH}}" \ |
737 |
"${PYTHON}" -m portage._compat_upgrade.binpkg_compression || die |
738 |
|
739 |
+ env -u FEATURES -u PORTAGE_REPOSITORIES \ |
740 |
+ PYTHONPATH="${D}${sitedir}${PYTHONPATH:+:${PYTHONPATH}}" \ |
741 |
+ "${PYTHON}" -m portage._compat_upgrade.binpkg_multi_instance || die |
742 |
+ |
743 |
# elog dir must exist to avoid logrotate error for bug #415911. |
744 |
# This code runs in preinst in order to bypass the mapping of |
745 |
# portage:portage to root:root which happens after src_install. |