Gentoo Archives: gentoo-commits

From: Thomas Sachau <tommy@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] proj/multilib-portage:master commit in: sys-apps/portage/
Date: Sun, 01 Nov 2020 10:06:00
Message-Id: 1604055505.48e4392027554d55e149a82aa02b2ad6bc3eeb75.tommy@gentoo
1 commit: 48e4392027554d55e149a82aa02b2ad6bc3eeb75
2 Author: Thomas Sachau <tommy <AT> gentoo <DOT> org>
3 AuthorDate: Fri Oct 30 10:58:25 2020 +0000
4 Commit: Thomas Sachau <tommy <AT> gentoo <DOT> org>
5 CommitDate: Fri Oct 30 10:58:25 2020 +0000
6 URL: https://gitweb.gentoo.org/proj/multilib-portage.git/commit/?id=48e43920
7
8 sys-apps/portage: Version bump
9
10 Package-Manager: Portage-3.0.8, Repoman-3.0.2
11 Manifest-Sign-Key: 0xC05330B3211CA2D4
12 Signed-off-by: Thomas Sachau <tommy <AT> gentoo.org>
13
14 sys-apps/portage/Manifest | 11 +-
15 sys-apps/portage/portage-3.0.8.ebuild | 270 ++++++++++++++++++++++++++++++++++
16 2 files changed, 276 insertions(+), 5 deletions(-)
17
18 diff --git a/sys-apps/portage/Manifest b/sys-apps/portage/Manifest
19 index 2dbcd2981..6728f60a5 100644
20 --- a/sys-apps/portage/Manifest
21 +++ b/sys-apps/portage/Manifest
22 @@ -5,14 +5,15 @@ AUX README.RESCUE 137 BLAKE2B af986752f516bf1925852271f2cea558fe02990c1180ac696c
23 AUX portage-ccache.conf 60 BLAKE2B b45ac69ba4bf6b221191ab9618aa484948ad8765ae906402e83df4b72fd10e006621523fe5b6d59219318a978e368649047784bb85771cd189b2542a2e19f941 SHA512 36427e57046118ecf982fc3b1a80a3543b5682e3eef7df5dfc8a50b261a5da56f997dd75f63c5194049aceea204c37aee638a3bc383b9f7a0eff8ac9c35f3b1c
24 EBUILD portage-2.3.103-r1.ebuild 8768 BLAKE2B 0b7453cea3babe0c9a194ed09cf774d971cfb2fc2a5638fad18295efd0e1c8dc6f9af47dcaf9a2a5f173e670c990025cba6ba9826f822eded49b9248c2df52ad SHA512 ecbe93b4e6f91df99f86c5349663b2719bcad4a7ac16a259f7ed4fa7dac08d666e444f2085d547ed42d664a4f33423de5420b756d67b89cdb601f9aaa84b60a7
25 EBUILD portage-3.0.4.ebuild 8764 BLAKE2B 25c438cdbc500eccf27f8613fcbd16107f05e23be37413b9badb660e7455bace25a503c5e6299375505f0fd804e75e0ff3e4738b57beacf2950d4cf8a27c53d6 SHA512 569d2b903931e1704542468c46718e206ca5a524e48d9531eb302e4c0ab4580490ddee5292d3e8da77fcddf3ae8ef3b6c4e4149a15e83ba129a6422212263d6e
26 +EBUILD portage-3.0.8.ebuild 8784 BLAKE2B 0678de7a5633682e184b021a68fba45369ea9a74c2b889f0480594d196e7531ed1e75443dd7c9d68e5c312c10b6ebaf5bf6bc5d13ab2958b87d3336702956a4c SHA512 9187fedf56d88c62d4ea8f5569aa5674ab7fabf16eed707c293011e07d89a127fd1ec74182e5c8e50be7bb9335ff8debe74566fa02ca841021fa85c7e5f8161b
27 MISC metadata.xml 1482 BLAKE2B 1f75075b708135bace30a6fb3caaca01a411bcc53805e47720f639d7a8866ad703aac0a1d0b5e5dc3db5efa502c112b733535d3c7c40a691d444958cab3f065b SHA512 5ccf338f8847b8e958efdadb475af12bf689e1227830dccd117682f74b1ae4711359337a5c688b3ed9fc8056e4cbbd37a7e24f5bfdc2f650ab90f6e185091c2a
28 -----BEGIN PGP SIGNATURE-----
29
30 -iQETBAEBCAB9FiEEFBBHHupGGwsJA3v7G7kqcTWJkGcFAl9CYMBfFIAAAAAALgAo
31 +iQETBAEBCAB9FiEEFBBHHupGGwsJA3v7G7kqcTWJkGcFAl+b8dFfFIAAAAAALgAo
32 aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldDE0
33 MTA0NzFFRUE0NjFCMEIwOTAzN0JGQjFCQjkyQTcxMzU4OTkwNjcACgkQG7kqcTWJ
34 -kGe9xgP/XPxDCwemHXJN0nyUvY3wLSjDzH2rHTPYomYPsmeX/An8sC0RBjS8CQCY
35 -YfAqvRDA2lPSntJ/HZ8GNepxQQxPyVT4MA9P+ZvhDRuO/mltTT0SWuFFoAj7BSHD
36 -OyyvMnDCBRz5Nc7zcghoaBYwdA6H7njch27gTSshvWCYh9FKve0=
37 -=7iNc
38 +kGdBAwP/cUhHw/288GZ41wUxtJne4AFPVG1tg05RKDvKIIECXoH7oKmbxZOj1k2m
39 +47YpqzA5dtPB2WUVnEy70ZgmnsdyEKutRkjxSPtvCstMQu14Pa2Jab3buHuD0y90
40 +TNglXZJ+vJsWMoGB2pjATG+z0XWs9YSKBBu4fTJ9v/TG34OSDnA=
41 +=qAbt
42 -----END PGP SIGNATURE-----
43
44 diff --git a/sys-apps/portage/portage-3.0.8.ebuild b/sys-apps/portage/portage-3.0.8.ebuild
45 new file mode 100644
46 index 000000000..a58d103cc
47 --- /dev/null
48 +++ b/sys-apps/portage/portage-3.0.8.ebuild
49 @@ -0,0 +1,270 @@
50 +# Copyright 1999-2020 Gentoo Authors
51 +# Distributed under the terms of the GNU General Public License v2
52 +
53 +EAPI=7
54 +
55 +DISTUTILS_USE_SETUPTOOLS=no
56 +PYTHON_COMPAT=( pypy3 python3_{6..9} )
57 +PYTHON_REQ_USE='bzip2(+),threads(+)'
58 +
59 +inherit distutils-r1 git-r3 linux-info multilib tmpfiles prefix
60 +
61 +EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/portage.git"
62 +EGIT_BRANCH="multilib"
63 +EGIT_COMMIT="06ad89f7678ba2284636a30db1e27f41450ea1e3"
64 +DESCRIPTION="Portage is the package management and distribution system for Gentoo"
65 +HOMEPAGE="https://wiki.gentoo.org/wiki/Project:Portage"
66 +
67 +LICENSE="GPL-2"
68 +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86"
69 +SLOT="0"
70 +IUSE="apidoc build doc gentoo-dev +ipc +native-extensions +rsync-verify selinux test xattr"
71 +
72 +DEPEND="!build? ( $(python_gen_impl_dep 'ssl(+)') )
73 + >=app-arch/tar-1.27
74 + dev-lang/python-exec:2
75 + >=sys-apps/sed-4.0.5 sys-devel/patch
76 + doc? ( app-text/xmlto ~app-text/docbook-xml-dtd-4.4 )
77 + >=sys-apps/abi-wrapper-1.0-r6
78 + apidoc? (
79 + dev-python/sphinx
80 + dev-python/sphinx-epytext
81 + )"
82 +# Require sandbox-2.2 for bug #288863.
83 +# For whirlpool hash, require python[ssl] (bug #425046).
84 +# For compgen, require bash[readline] (bug #445576).
85 +# app-portage/gemato goes without PYTHON_USEDEP since we're calling
86 +# the executable.
87 +RDEPEND="
88 + app-arch/zstd
89 + >=app-arch/tar-1.27
90 + dev-lang/python-exec:2
91 + >=sys-apps/findutils-4.4
92 + !build? (
93 + >=sys-apps/sed-4.0.5
94 + app-shells/bash:0[readline]
95 + >=app-admin/eselect-1.2
96 + rsync-verify? (
97 + >=app-portage/gemato-14.5[${PYTHON_USEDEP}]
98 + >=app-crypt/openpgp-keys-gentoo-release-20180706
99 + >=app-crypt/gnupg-2.2.4-r2[ssl(-)]
100 + )
101 + )
102 + elibc_glibc? ( >=sys-apps/sandbox-2.2 )
103 + elibc_musl? ( >=sys-apps/sandbox-2.2 )
104 + elibc_uclibc? ( >=sys-apps/sandbox-2.2 )
105 + kernel_linux? ( sys-apps/util-linux )
106 + >=app-misc/pax-utils-0.1.17
107 + selinux? ( >=sys-libs/libselinux-2.0.94[python,${PYTHON_USEDEP}] )
108 + xattr? ( kernel_linux? (
109 + >=sys-apps/install-xattr-0.3
110 + ) )
111 + !<app-admin/logrotate-3.8.0
112 + >=sys-apps/abi-wrapper-1.0-r6
113 + !<app-portage/gentoolkit-0.4.6
114 + !<app-portage/repoman-2.3.10"
115 +PDEPEND="
116 + !build? (
117 + >=net-misc/rsync-2.6.4
118 + userland_GNU? ( >=sys-apps/coreutils-6.4 )
119 + )"
120 +# coreutils-6.4 rdep is for date format in emerge-webrsync #164532
121 +# NOTE: FEATURES=installsources requires debugedit and rsync
122 +
123 +pkg_pretend() {
124 + local CONFIG_CHECK="~IPC_NS ~PID_NS ~NET_NS ~UTS_NS"
125 +
126 + check_extra_config
127 +}
128 +
129 +python_prepare_all() {
130 + distutils-r1_python_prepare_all
131 +
132 + sed -e "s:^VERSION = \"HEAD\"$:VERSION = \"${PV}\":" -i lib/portage/__init__.py || die
133 +
134 + if use gentoo-dev; then
135 + einfo "Disabling --dynamic-deps by default for gentoo-dev..."
136 + sed -e 's:\("--dynamic-deps", \)\("y"\):\1"n":' \
137 + -i lib/_emerge/create_depgraph_params.py || \
138 + die "failed to patch create_depgraph_params.py"
139 +
140 + einfo "Enabling additional FEATURES for gentoo-dev..."
141 + echo 'FEATURES="${FEATURES} strict-keepdir"' \
142 + >> cnf/make.globals || die
143 + fi
144 +
145 + if use native-extensions; then
146 + printf "[build_ext]\nportage-ext-modules=true\n" >> \
147 + setup.cfg || die
148 + fi
149 +
150 + if ! use ipc ; then
151 + einfo "Disabling ipc..."
152 + sed -e "s:_enable_ipc_daemon = True:_enable_ipc_daemon = False:" \
153 + -i lib/_emerge/AbstractEbuildProcess.py || \
154 + die "failed to patch AbstractEbuildProcess.py"
155 + fi
156 +
157 + if use xattr && use kernel_linux ; then
158 + einfo "Adding FEATURES=xattr to make.globals ..."
159 + echo -e '\nFEATURES="${FEATURES} xattr"' >> cnf/make.globals \
160 + || die "failed to append to make.globals"
161 + fi
162 +
163 + if use build || ! use rsync-verify; then
164 + sed -e '/^sync-rsync-verify-metamanifest/s|yes|no|' \
165 + -e '/^sync-webrsync-verify-signature/s|yes|no|' \
166 + -i cnf/repos.conf || die "sed failed"
167 + fi
168 +
169 + if [[ -n ${EPREFIX} ]] ; then
170 + einfo "Setting portage.const.EPREFIX ..."
171 + hprefixify -e "s|^(EPREFIX[[:space:]]*=[[:space:]]*\").*|\1${EPREFIX}\"|" \
172 + -w "/_BINARY/" lib/portage/const.py
173 +
174 + einfo "Prefixing shebangs ..."
175 + while read -r -d $'\0' ; do
176 + local shebang=$(head -n1 "$REPLY")
177 + if [[ ${shebang} == "#!"* && ! ${shebang} == "#!${EPREFIX}/"* ]] ; then
178 + sed -i -e "1s:.*:#!${EPREFIX}${shebang:2}:" "$REPLY" || \
179 + die "sed failed"
180 + fi
181 + done < <(find . -type f ! -name etc-update -print0)
182 +
183 + einfo "Adjusting make.globals, repos.conf and etc-update ..."
184 + hprefixify cnf/{make.globals,repos.conf} bin/etc-update
185 +
186 + if use prefix-guest ; then
187 + sed -e "s|^\(main-repo = \).*|\\1gentoo_prefix|" \
188 + -e "s|^\\[gentoo\\]|[gentoo_prefix]|" \
189 + -e "s|^\(sync-uri = \).*|\\1rsync://rsync.prefix.bitzolder.nl/gentoo-portage-prefix|" \
190 + -i cnf/repos.conf || die "sed failed"
191 + fi
192 +
193 + einfo "Adding FEATURES=force-prefix to make.globals ..."
194 + echo -e '\nFEATURES="${FEATURES} force-prefix"' >> cnf/make.globals \
195 + || die "failed to append to make.globals"
196 + fi
197 +
198 + cd "${S}/cnf" || die
199 + if [ -f "make.conf.example.${ARCH}".diff ]; then
200 + patch make.conf.example "make.conf.example.${ARCH}".diff || \
201 + die "Failed to patch make.conf.example"
202 + else
203 + eerror ""
204 + eerror "Portage does not have an arch-specific configuration for this arch."
205 + eerror "Please notify the arch maintainer about this issue. Using generic."
206 + eerror ""
207 + fi
208 +}
209 +
210 +python_compile_all() {
211 + local targets=()
212 + use doc && targets+=( docbook )
213 + use apidoc && targets+=( apidoc )
214 +
215 + if [[ ${targets[@]} ]]; then
216 + esetup.py "${targets[@]}"
217 + fi
218 +}
219 +
220 +python_test() {
221 + esetup.py test
222 +}
223 +
224 +python_install() {
225 + # Install sbin scripts to bindir for python-exec linking
226 + # they will be relocated in pkg_preinst()
227 + distutils-r1_python_install \
228 + --system-prefix="${EPREFIX}/usr" \
229 + --bindir="$(python_get_scriptdir)" \
230 + --docdir="${EPREFIX}/usr/share/doc/${PF}" \
231 + --htmldir="${EPREFIX}/usr/share/doc/${PF}/html" \
232 + --portage-bindir="${EPREFIX}/usr/lib/portage/${EPYTHON}" \
233 + --sbindir="$(python_get_scriptdir)" \
234 + --sysconfdir="${EPREFIX}/etc" \
235 + "${@}"
236 +}
237 +
238 +python_install_all() {
239 + distutils-r1_python_install_all
240 +
241 + local targets=()
242 + use doc && targets+=(
243 + install_docbook
244 + --htmldir="${EPREFIX}/usr/share/doc/${PF}/html"
245 + )
246 + use apidoc && targets+=(
247 + install_apidoc
248 + --htmldir="${EPREFIX}/usr/share/doc/${PF}/html"
249 + )
250 +
251 + # install docs
252 + if [[ ${targets[@]} ]]; then
253 + esetup.py "${targets[@]}"
254 + fi
255 +
256 + dotmpfiles "${FILESDIR}"/portage-ccache.conf
257 +
258 + # Due to distutils/python-exec limitations
259 + # these must be installed to /usr/bin.
260 + local sbin_relocations='archive-conf dispatch-conf emaint env-update etc-update fixpackages regenworld'
261 + einfo "Moving admin scripts to the correct directory"
262 + dodir /usr/sbin
263 + for target in ${sbin_relocations}; do
264 + einfo "Moving /usr/bin/${target} to /usr/sbin/${target}"
265 + mv "${ED}/usr/bin/${target}" "${ED}/usr/sbin/${target}" || die "sbin scripts move failed!"
266 + done
267 +}
268 +
269 +pkg_preinst() {
270 + python_setup
271 + local sitedir=$(python_get_sitedir)
272 + [[ -d ${D}${sitedir} ]] || die "${D}${sitedir}: No such directory"
273 + env -u DISTDIR \
274 + -u PORTAGE_OVERRIDE_EPREFIX \
275 + -u PORTAGE_REPOSITORIES \
276 + -u PORTDIR \
277 + -u PORTDIR_OVERLAY \
278 + PYTHONPATH="${D}${sitedir}${PYTHONPATH:+:${PYTHONPATH}}" \
279 + "${PYTHON}" -m portage._compat_upgrade.default_locations || die
280 +
281 + env -u BINPKG_COMPRESS \
282 + PYTHONPATH="${D}${sitedir}${PYTHONPATH:+:${PYTHONPATH}}" \
283 + "${PYTHON}" -m portage._compat_upgrade.binpkg_compression || die
284 +
285 + # elog dir must exist to avoid logrotate error for bug #415911.
286 + # This code runs in preinst in order to bypass the mapping of
287 + # portage:portage to root:root which happens after src_install.
288 + keepdir /var/log/portage/elog
289 + # This is allowed to fail if the user/group are invalid for prefix users.
290 + if chown portage:portage "${ED}"/var/log/portage{,/elog} 2>/dev/null ; then
291 + chmod g+s,ug+rwx "${ED}"/var/log/portage{,/elog}
292 + fi
293 +
294 + if has_version "<${CATEGORY}/${PN}-2.3.77"; then
295 + elog "The emerge --autounmask option is now disabled by default, except for"
296 + elog "portions of behavior which are controlled by the --autounmask-use and"
297 + elog "--autounmask-license options. For backward compatibility, previous"
298 + elog "behavior of --autounmask=y and --autounmask=n is entirely preserved."
299 + elog "Users can get the old behavior simply by adding --autounmask to the"
300 + elog "make.conf EMERGE_DEFAULT_OPTS variable. For the rationale for this"
301 + elog "change, see https://bugs.gentoo.org/658648."
302 + fi
303 +}
304 +
305 +pkg_postinst() {
306 + einfo
307 + elog "For setup instructions after switching to portage-multilib"
308 + elog "read doc/portage-multilib-instructions inside the multilib overlay"
309 + einfo
310 + elog "The bin/ dir of the overlay has some scripts to switch from lib32"
311 + elog "to MULTILIB_ABI or to add the default MULTILIB_ABI flags"
312 +
313 + einfo ""
314 + einfo "This release of portage NO LONGER contains the repoman code base."
315 + einfo "Repoman has its own ebuild and release package."
316 + einfo "For repoman functionality please emerge app-portage/repoman"
317 + einfo "Please report any bugs you may encounter."
318 + einfo ""
319 +}