diff options
author | V3n3RiX <venerix@redcorelinux.org> | 2021-10-01 20:54:53 +0100 |
---|---|---|
committer | V3n3RiX <venerix@redcorelinux.org> | 2021-10-01 20:54:53 +0100 |
commit | 391b5b359a346aff490103da7dddc85047f83830 (patch) | |
tree | 29eea460a0bd7e1ff21d43b9d6df9af4d8a175e1 /sys-apps/portage | |
parent | c719fdcee603a5a706a45d10cb598762d56a727d (diff) |
gentoo resync : 01.10.2021
Diffstat (limited to 'sys-apps/portage')
-rw-r--r-- | sys-apps/portage/Manifest | 6 | ||||
-rw-r--r-- | sys-apps/portage/portage-3.0.24.ebuild | 264 | ||||
-rw-r--r-- | sys-apps/portage/portage-3.0.26.ebuild | 264 | ||||
-rw-r--r-- | sys-apps/portage/portage-9999.ebuild | 3 |
4 files changed, 534 insertions, 3 deletions
diff --git a/sys-apps/portage/Manifest b/sys-apps/portage/Manifest index 54dd29dfd62a..2e2ba0dff9c2 100644 --- a/sys-apps/portage/Manifest +++ b/sys-apps/portage/Manifest @@ -10,10 +10,14 @@ DIST portage-3.0.20-bug-796959-c8a52e1-c3e4919.patch 10306 BLAKE2B 9ffcf396b983a DIST portage-3.0.20.tar.gz 1348818 BLAKE2B e8af0662d073110a921ef23865872b0440f5e549da92b828af3dc71010d0f49d98c429c52c90ed683407fcfee7bf17a504082166f2fcad9590d7435dd43dfb83 SHA512 69c1846dedf0cfa3f57b2748cf8e077ead05ab0185e785dfc6310439b8624cdd72449209a807f12f59a5175ba065f8cca1409d43bee6012900b2c8b1e7f9b7e9 DIST portage-3.0.22.tar.bz2 1150425 BLAKE2B af9cb1eeb96d887fe13514b14b9820c37b0de3204ebd423e69fea839a2908db2a916a03e82186ee9cc64562b770c27e407431fc00427ec1a5119b80ce35d5128 SHA512 0c227cb5a532235e735f973a5eb8f018189abb067e4b94276a780357b6ce93c9c967a03a3320affddf3c614fd26188e7598eeaee350305013b427a343892b016 DIST portage-3.0.23.tar.bz2 1150929 BLAKE2B 26009cd2c19a138783a713d524744215796d35bb495e753e0fc76a354db89cfd210bdb62eea2dc54609e18024be49cec0e1de96bb6225f6d50fe9d8f52d8cbe5 SHA512 e0b21cd9f2eeaf201e2caf9f39afd9d0525a25d1576955b277ea9b44f0fcfdbe27ff54de16a06da53f72a08bbafc73a14f9d874dba4edebca3cbdf69fbf31862 +DIST portage-3.0.24.tar.bz2 1153838 BLAKE2B b2cbb8b3156987f42ff6c8f140586eae40da4a0a42091a4d11f46b61b66e81ac8e4c366e69b12c06d3a300405f089d68e70175efb7eabe25bb19c47679c19873 SHA512 b16751ba0b4c604cd7d72ad8dfaad40d845f87066b4e54fe264093b88a0b29a6af4e8b72f00be2da501fd288dfa23143d8f61f49048e8565b9d17687ef3732d9 +DIST portage-3.0.26.tar.bz2 1153321 BLAKE2B bec2409fa80b236bff10ba1840f6b11294a2a08148e2fd143e13f09f8baf68a1fe1a0a448169850e33b4bb00eefbd0745e6503ffe61d0e5ca604d949a93c997c SHA512 d3ac941a3f9b24747e66ceda508ca6b6211c6ec412b7fbdfbbc9191696b67516aec4ab5ee5e49a086e32567e54f9156c3bf5c4fddb85ccebb1c61bb4c87e719a EBUILD portage-3.0.18.ebuild 8756 BLAKE2B f4a457de8df4a6c79568de33f898c56016ef44fc44b8965befd5c15dd16b93a800c8797ebfaddb0cb6e81c1a6f7af68eb297d9399bad9aa534ea75117eba73e0 SHA512 40329720f7ea7538da334479835cf21560f2e3c3420863593cbaf7dfb454dae1b01293256622ee09c05d3e7d8949e4f2839d1d1bd0911ccb9d6e63254003790d EBUILD portage-3.0.19.ebuild 8512 BLAKE2B 06282a5646db362eb2031c129fd277ddb9e911579784ef9c156df2aa8b48895e50e5612bb012d3145ffd279ba7c67df642e985fecd186c626969ff5cc7c59cea SHA512 b87c08791772a3d2b349caef7fc2af307fef0152631caa7cc641ebbf9da306ec8c96ee0e0de145b9e962766da1e93c511e068bc23d91585d9d3d084cbb2b0751 EBUILD portage-3.0.20-r6.ebuild 9869 BLAKE2B 9b6a95912f49c38f004384a630439c9d007bf56aa8020a55be7e466497403f0e1a3d82cba0f10678034153c451c5fb730898fa2c0d25e9e524dfffe788ad8e5d SHA512 e64ae862c144824ace31c0b6b65bd2bc34824206f301c52337294c72cab9a679d8b6eeea1fb3cde35499b3970618d3ac075e83eb68ff1a4782a5baa4ea357ed2 EBUILD portage-3.0.22.ebuild 8528 BLAKE2B 74f9bcdb8e92e6b001e9dc7f449c0556a96f268765079eb34c7028893128939eca7b30ac26625849e2b94f2926451e2f2e1c3fbe0939fef88a9ba201ed609276 SHA512 0fe39792c480bcdba77e366b725c5c4f305249a1ba2c34f1d90078f2fc1ea342966f8800db3888506ecc66590b37bcdfd5d5eabeb1554dedc2776afa34e575be EBUILD portage-3.0.23.ebuild 8528 BLAKE2B 74f9bcdb8e92e6b001e9dc7f449c0556a96f268765079eb34c7028893128939eca7b30ac26625849e2b94f2926451e2f2e1c3fbe0939fef88a9ba201ed609276 SHA512 0fe39792c480bcdba77e366b725c5c4f305249a1ba2c34f1d90078f2fc1ea342966f8800db3888506ecc66590b37bcdfd5d5eabeb1554dedc2776afa34e575be -EBUILD portage-9999.ebuild 7824 BLAKE2B bb058756e366050ff60bd9fda782fb36ea8862ae5a62ff520e8ca8e274828d974d8d085c9d03cb94d8494b8fe0fb6f648ba58d508ee44e3d3e6e53a99a83ece9 SHA512 cd5d263d759622de183124f4ebe1bdc1f34f25a02393def436057b802e84ed34bf3a22bd1161e725e7b3c3226b37cf3c844f14e01f61c2d6b1bcde01d9e84fb5 +EBUILD portage-3.0.24.ebuild 8517 BLAKE2B 40317e7f9aba4bae7ee79bd5b199872bbdc8f18a4a1cebbc8fbe30c172fcdc1d79686015317554105766f4055686328c255228ce63b4888ac28c8dd6d22230e6 SHA512 8487aa578431d9db84ad668aca6b0637beab6868c55144a1a42c60a39cd24f18cf1a45f18a60d294fdd8a0e4f98f24b038c7ce2548acedcfb15f720d1bf70174 +EBUILD portage-3.0.26.ebuild 8523 BLAKE2B b7f2e333c662342790a5c2d0513306d5fe7b4d08ba546cb8ce318fa57b4c41a0271bdf9c61b1b6410ed7c1c0abd849d27c41a878aadfd2e3e8ff1665bfd55738 SHA512 6fa4948648dd544e0a75566d24e228605e98de741558637a182454deac454660487bda53aaf0df3dbf0dd23f4d18dcc2f84877f20386bfaa7eee0cae7e880e72 +EBUILD portage-9999.ebuild 7791 BLAKE2B 6b600783f4b3da37fec10c5105cc8d9fbe6bbd9c06b0926b56e7f9ef422b2fcf8ad1be36ed6d4b6c148f3d01438d5331120e336041da116fc6b9141773b4f11e SHA512 bd51dd3e8271a37b90a5250132a9b6bb3ff5f4da00f410a902f6a43fc2871b7b6809babe075b4dbdd5147ec99a71bfe21ba68c777b18cc6a1fb7c761033ae597 MISC metadata.xml 1483 BLAKE2B 5f164044c11b8fc7a103c459be58268403dab87fbbfeedd0f5fa4d1a4edf9ec7d4983cc7d5a3e6d298b268859fc1eb91723f0c98313e9b3b5dfb0368aedb1a20 SHA512 284a46b4708fc88734ca87f041fb6a88bc4a7e6a50ce03533a1eef9602694adcb09679b665a3793e4609ea85fd41b84438b27479ffa00ac53cbf9d4bb89a3402 diff --git a/sys-apps/portage/portage-3.0.24.ebuild b/sys-apps/portage/portage-3.0.24.ebuild new file mode 100644 index 000000000000..cd4bdfc5bc41 --- /dev/null +++ b/sys-apps/portage/portage-3.0.24.ebuild @@ -0,0 +1,264 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +PYTHON_COMPAT=( python3_{7..10} ) +PYTHON_REQ_USE='bzip2(+),threads(+)' +TMPFILES_OPTIONAL=1 + +inherit distutils-r1 linux-info tmpfiles prefix + +DESCRIPTION="The package management and distribution system for Gentoo" +HOMEPAGE="https://wiki.gentoo.org/wiki/Project:Portage" +SRC_URI="https://gitweb.gentoo.org/proj/portage.git/snapshot/${P}.tar.bz2" + +LICENSE="GPL-2" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +SLOT="0" +IUSE="apidoc build doc gentoo-dev +ipc +native-extensions +rsync-verify selinux test xattr" +RESTRICT="!test? ( test )" + +BDEPEND=" + app-arch/xz-utils + test? ( dev-vcs/git )" +DEPEND="!build? ( $(python_gen_impl_dep 'ssl(+)') ) + >=app-arch/tar-1.27 + dev-lang/python-exec:2 + >=sys-apps/sed-4.0.5 sys-devel/patch + doc? ( app-text/xmlto ~app-text/docbook-xml-dtd-4.4 ) + apidoc? ( + dev-python/sphinx + dev-python/sphinx-epytext + )" +# Require sandbox-2.2 for bug #288863. +# For whirlpool hash, require python[ssl] (bug #425046). +# For compgen, require bash[readline] (bug #445576). +# app-portage/gemato goes without PYTHON_USEDEP since we're calling +# the executable. +RDEPEND=" + acct-user/portage + app-arch/zstd + >=app-arch/tar-1.27 + dev-lang/python-exec:2 + >=sys-apps/findutils-4.4 + !build? ( + >=sys-apps/sed-4.0.5 + app-shells/bash:0[readline] + >=app-admin/eselect-1.2 + rsync-verify? ( + >=app-portage/gemato-14.5[${PYTHON_USEDEP}] + >=app-crypt/openpgp-keys-gentoo-release-20180706 + >=app-crypt/gnupg-2.2.4-r2[ssl(-)] + ) + ) + elibc_glibc? ( >=sys-apps/sandbox-2.2 ) + elibc_musl? ( >=sys-apps/sandbox-2.2 ) + elibc_uclibc? ( >=sys-apps/sandbox-2.2 ) + kernel_linux? ( sys-apps/util-linux ) + >=app-misc/pax-utils-0.1.17 + selinux? ( >=sys-libs/libselinux-2.0.94[python,${PYTHON_USEDEP}] ) + xattr? ( kernel_linux? ( + >=sys-apps/install-xattr-0.3 + ) ) + !<app-admin/logrotate-3.8.0 + !<app-portage/gentoolkit-0.4.6 + !<app-portage/repoman-2.3.10 + !~app-portage/repoman-3.0.0" +PDEPEND=" + !build? ( + >=net-misc/rsync-2.6.4 + userland_GNU? ( >=sys-apps/coreutils-6.4 ) + )" +# coreutils-6.4 rdep is for date format in emerge-webrsync #164532 +# NOTE: FEATURES=installsources requires debugedit and rsync + +pkg_pretend() { + local CONFIG_CHECK="~IPC_NS ~PID_NS ~NET_NS ~UTS_NS" + + check_extra_config +} + +python_prepare_all() { + distutils-r1_python_prepare_all + + sed -e "s:^VERSION = \"HEAD\"$:VERSION = \"${PV}\":" -i lib/portage/__init__.py || die + + if use gentoo-dev; then + einfo "Disabling --dynamic-deps by default for gentoo-dev..." + sed -e 's:\("--dynamic-deps", \)\("y"\):\1"n":' \ + -i lib/_emerge/create_depgraph_params.py || \ + die "failed to patch create_depgraph_params.py" + + einfo "Enabling additional FEATURES for gentoo-dev..." + echo 'FEATURES="${FEATURES} ipc-sandbox network-sandbox strict-keepdir"' \ + >> cnf/make.globals || die + fi + + if use native-extensions; then + printf "[build_ext]\nportage_ext_modules=true\n" >> \ + setup.cfg || die + fi + + if ! use ipc ; then + einfo "Disabling ipc..." + sed -e "s:_enable_ipc_daemon = True:_enable_ipc_daemon = False:" \ + -i lib/_emerge/AbstractEbuildProcess.py || \ + die "failed to patch AbstractEbuildProcess.py" + fi + + if use xattr && use kernel_linux ; then + einfo "Adding FEATURES=xattr to make.globals ..." + echo -e '\nFEATURES="${FEATURES} xattr"' >> cnf/make.globals \ + || die "failed to append to make.globals" + fi + + if use build || ! use rsync-verify; then + sed -e '/^sync-rsync-verify-metamanifest/s|yes|no|' \ + -e '/^sync-webrsync-verify-signature/s|yes|no|' \ + -i cnf/repos.conf || die "sed failed" + fi + + if [[ -n ${EPREFIX} ]] ; then + einfo "Setting portage.const.EPREFIX ..." + hprefixify -e "s|^(EPREFIX[[:space:]]*=[[:space:]]*\").*|\1${EPREFIX}\"|" \ + -w "/_BINARY/" lib/portage/const.py + + einfo "Prefixing shebangs ..." + > "${T}/shebangs" || die + while read -r -d $'\0' ; do + local shebang=$(head -n1 "$REPLY") + if [[ ${shebang} == "#!"* && ! ${shebang} == "#!${EPREFIX}/"* ]] ; then + echo "${REPLY}" >> "${T}/shebangs" || die + fi + done < <(find . -type f -executable ! -name etc-update -print0) + + if [[ -s ${T}/shebangs ]]; then + xargs sed -i -e "1s:^#!:#!${EPREFIX}:" < "${T}/shebangs" || die "sed failed" + fi + + einfo "Adjusting make.globals, repos.conf and etc-update ..." + hprefixify cnf/{make.globals,repos.conf} bin/etc-update + + if use prefix-guest ; then + sed -e "s|^\(main-repo = \).*|\\1gentoo_prefix|" \ + -e "s|^\\[gentoo\\]|[gentoo_prefix]|" \ + -e "s|^\(sync-uri = \).*|\\1rsync://rsync.prefix.bitzolder.nl/gentoo-portage-prefix|" \ + -i cnf/repos.conf || die "sed failed" + fi + + einfo "Adding FEATURES=force-prefix to make.globals ..." + echo -e '\nFEATURES="${FEATURES} force-prefix"' >> cnf/make.globals \ + || die "failed to append to make.globals" + fi + + cd "${S}/cnf" || die + if [ -f "make.conf.example.${ARCH}".diff ]; then + patch make.conf.example "make.conf.example.${ARCH}".diff || \ + die "Failed to patch make.conf.example" + else + eerror "" + eerror "Portage does not have an arch-specific configuration for this arch." + eerror "Please notify the arch maintainer about this issue. Using generic." + eerror "" + fi +} + +python_compile_all() { + local targets=() + use doc && targets+=( docbook ) + use apidoc && targets+=( apidoc ) + + if [[ ${targets[@]} ]]; then + esetup.py "${targets[@]}" + fi +} + +python_test() { + esetup.py test +} + +python_install() { + # Install sbin scripts to bindir for python-exec linking + # they will be relocated in pkg_preinst() + distutils-r1_python_install \ + --system-prefix="${EPREFIX}/usr" \ + --bindir="$(python_get_scriptdir)" \ + --docdir="${EPREFIX}/usr/share/doc/${PF}" \ + --htmldir="${EPREFIX}/usr/share/doc/${PF}/html" \ + --portage-bindir="${EPREFIX}/usr/lib/portage/${EPYTHON}" \ + --sbindir="$(python_get_scriptdir)" \ + --sysconfdir="${EPREFIX}/etc" \ + "${@}" +} + +python_install_all() { + distutils-r1_python_install_all + + local targets=() + use doc && targets+=( + install_docbook + --htmldir="${EPREFIX}/usr/share/doc/${PF}/html" + ) + use apidoc && targets+=( + install_apidoc + --htmldir="${EPREFIX}/usr/share/doc/${PF}/html" + ) + + # install docs + if [[ ${targets[@]} ]]; then + esetup.py "${targets[@]}" + fi + + dotmpfiles "${FILESDIR}"/portage-ccache.conf + + # Due to distutils/python-exec limitations + # these must be installed to /usr/bin. + local sbin_relocations='archive-conf dispatch-conf emaint env-update etc-update fixpackages regenworld' + einfo "Moving admin scripts to the correct directory" + dodir /usr/sbin + for target in ${sbin_relocations}; do + einfo "Moving /usr/bin/${target} to /usr/sbin/${target}" + mv "${ED}/usr/bin/${target}" "${ED}/usr/sbin/${target}" || die "sbin scripts move failed!" + done +} + +pkg_preinst() { + python_setup + local sitedir=$(python_get_sitedir) + [[ -d ${D}${sitedir} ]] || die "${D}${sitedir}: No such directory" + env -u DISTDIR \ + -u PORTAGE_OVERRIDE_EPREFIX \ + -u PORTAGE_REPOSITORIES \ + -u PORTDIR \ + -u PORTDIR_OVERLAY \ + PYTHONPATH="${D}${sitedir}${PYTHONPATH:+:${PYTHONPATH}}" \ + "${PYTHON}" -m portage._compat_upgrade.default_locations || die + + env -u BINPKG_COMPRESS -u PORTAGE_REPOSITORIES \ + PYTHONPATH="${D}${sitedir}${PYTHONPATH:+:${PYTHONPATH}}" \ + "${PYTHON}" -m portage._compat_upgrade.binpkg_compression || die + + env -u FEATURES -u PORTAGE_REPOSITORIES \ + PYTHONPATH="${D}${sitedir}${PYTHONPATH:+:${PYTHONPATH}}" \ + "${PYTHON}" -m portage._compat_upgrade.binpkg_multi_instance || die + + # elog dir must exist to avoid logrotate error for bug #415911. + # This code runs in preinst in order to bypass the mapping of + # portage:portage to root:root which happens after src_install. + keepdir /var/log/portage/elog + # This is allowed to fail if the user/group are invalid for prefix users. + if chown portage:portage "${ED}"/var/log/portage{,/elog} 2>/dev/null ; then + chmod g+s,ug+rwx "${ED}"/var/log/portage{,/elog} + fi + + if has_version "<${CATEGORY}/${PN}-2.3.77"; then + elog "The emerge --autounmask option is now disabled by default, except for" + elog "portions of behavior which are controlled by the --autounmask-use and" + elog "--autounmask-license options. For backward compatibility, previous" + elog "behavior of --autounmask=y and --autounmask=n is entirely preserved." + elog "Users can get the old behavior simply by adding --autounmask to the" + elog "make.conf EMERGE_DEFAULT_OPTS variable. For the rationale for this" + elog "change, see https://bugs.gentoo.org/658648." + fi +} diff --git a/sys-apps/portage/portage-3.0.26.ebuild b/sys-apps/portage/portage-3.0.26.ebuild new file mode 100644 index 000000000000..2520a5c59195 --- /dev/null +++ b/sys-apps/portage/portage-3.0.26.ebuild @@ -0,0 +1,264 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +PYTHON_COMPAT=( pypy3 python3_{8..10} ) +PYTHON_REQ_USE='bzip2(+),threads(+)' +TMPFILES_OPTIONAL=1 + +inherit distutils-r1 linux-info tmpfiles prefix + +DESCRIPTION="The package management and distribution system for Gentoo" +HOMEPAGE="https://wiki.gentoo.org/wiki/Project:Portage" +SRC_URI="https://gitweb.gentoo.org/proj/portage.git/snapshot/${P}.tar.bz2" + +LICENSE="GPL-2" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +SLOT="0" +IUSE="apidoc build doc gentoo-dev +ipc +native-extensions +rsync-verify selinux test xattr" +RESTRICT="!test? ( test )" + +BDEPEND=" + app-arch/xz-utils + test? ( dev-vcs/git )" +DEPEND="!build? ( $(python_gen_impl_dep 'ssl(+)') ) + >=app-arch/tar-1.27 + dev-lang/python-exec:2 + >=sys-apps/sed-4.0.5 sys-devel/patch + doc? ( app-text/xmlto ~app-text/docbook-xml-dtd-4.4 ) + apidoc? ( + dev-python/sphinx + dev-python/sphinx-epytext + )" +# Require sandbox-2.2 for bug #288863. +# For whirlpool hash, require python[ssl] (bug #425046). +# For compgen, require bash[readline] (bug #445576). +# app-portage/gemato goes without PYTHON_USEDEP since we're calling +# the executable. +RDEPEND=" + acct-user/portage + app-arch/zstd + >=app-arch/tar-1.27 + dev-lang/python-exec:2 + >=sys-apps/findutils-4.4 + !build? ( + >=sys-apps/sed-4.0.5 + app-shells/bash:0[readline] + >=app-admin/eselect-1.2 + rsync-verify? ( + >=app-portage/gemato-14.5[${PYTHON_USEDEP}] + >=app-crypt/openpgp-keys-gentoo-release-20180706 + >=app-crypt/gnupg-2.2.4-r2[ssl(-)] + ) + ) + elibc_glibc? ( >=sys-apps/sandbox-2.2 ) + elibc_musl? ( >=sys-apps/sandbox-2.2 ) + elibc_uclibc? ( >=sys-apps/sandbox-2.2 ) + kernel_linux? ( sys-apps/util-linux ) + >=app-misc/pax-utils-0.1.17 + selinux? ( >=sys-libs/libselinux-2.0.94[python,${PYTHON_USEDEP}] ) + xattr? ( kernel_linux? ( + >=sys-apps/install-xattr-0.3 + ) ) + !<app-admin/logrotate-3.8.0 + !<app-portage/gentoolkit-0.4.6 + !<app-portage/repoman-2.3.10 + !~app-portage/repoman-3.0.0" +PDEPEND=" + !build? ( + >=net-misc/rsync-2.6.4 + userland_GNU? ( >=sys-apps/coreutils-6.4 ) + )" +# coreutils-6.4 rdep is for date format in emerge-webrsync #164532 +# NOTE: FEATURES=installsources requires debugedit and rsync + +pkg_pretend() { + local CONFIG_CHECK="~IPC_NS ~PID_NS ~NET_NS ~UTS_NS" + + check_extra_config +} + +python_prepare_all() { + distutils-r1_python_prepare_all + + sed -e "s:^VERSION = \"HEAD\"$:VERSION = \"${PV}\":" -i lib/portage/__init__.py || die + + if use gentoo-dev; then + einfo "Disabling --dynamic-deps by default for gentoo-dev..." + sed -e 's:\("--dynamic-deps", \)\("y"\):\1"n":' \ + -i lib/_emerge/create_depgraph_params.py || \ + die "failed to patch create_depgraph_params.py" + + einfo "Enabling additional FEATURES for gentoo-dev..." + echo 'FEATURES="${FEATURES} ipc-sandbox network-sandbox strict-keepdir"' \ + >> cnf/make.globals || die + fi + + if use native-extensions; then + printf "[build_ext]\nportage_ext_modules=true\n" >> \ + setup.cfg || die + fi + + if ! use ipc ; then + einfo "Disabling ipc..." + sed -e "s:_enable_ipc_daemon = True:_enable_ipc_daemon = False:" \ + -i lib/_emerge/AbstractEbuildProcess.py || \ + die "failed to patch AbstractEbuildProcess.py" + fi + + if use xattr && use kernel_linux ; then + einfo "Adding FEATURES=xattr to make.globals ..." + echo -e '\nFEATURES="${FEATURES} xattr"' >> cnf/make.globals \ + || die "failed to append to make.globals" + fi + + if use build || ! use rsync-verify; then + sed -e '/^sync-rsync-verify-metamanifest/s|yes|no|' \ + -e '/^sync-webrsync-verify-signature/s|yes|no|' \ + -i cnf/repos.conf || die "sed failed" + fi + + if [[ -n ${EPREFIX} ]] ; then + einfo "Setting portage.const.EPREFIX ..." + hprefixify -e "s|^(EPREFIX[[:space:]]*=[[:space:]]*\").*|\1${EPREFIX}\"|" \ + -w "/_BINARY/" lib/portage/const.py + + einfo "Prefixing shebangs ..." + > "${T}/shebangs" || die + while read -r -d $'\0' ; do + local shebang=$(head -n1 "$REPLY") + if [[ ${shebang} == "#!"* && ! ${shebang} == "#!${EPREFIX}/"* ]] ; then + echo "${REPLY}" >> "${T}/shebangs" || die + fi + done < <(find . -type f -executable ! -name etc-update -print0) + + if [[ -s ${T}/shebangs ]]; then + xargs sed -i -e "1s:^#!:#!${EPREFIX}:" < "${T}/shebangs" || die "sed failed" + fi + + einfo "Adjusting make.globals, repos.conf and etc-update ..." + hprefixify cnf/{make.globals,repos.conf} bin/etc-update + + if use prefix-guest ; then + sed -e "s|^\(main-repo = \).*|\\1gentoo_prefix|" \ + -e "s|^\\[gentoo\\]|[gentoo_prefix]|" \ + -e "s|^\(sync-uri = \).*|\\1rsync://rsync.prefix.bitzolder.nl/gentoo-portage-prefix|" \ + -i cnf/repos.conf || die "sed failed" + fi + + einfo "Adding FEATURES=force-prefix to make.globals ..." + echo -e '\nFEATURES="${FEATURES} force-prefix"' >> cnf/make.globals \ + || die "failed to append to make.globals" + fi + + cd "${S}/cnf" || die + if [ -f "make.conf.example.${ARCH}".diff ]; then + patch make.conf.example "make.conf.example.${ARCH}".diff || \ + die "Failed to patch make.conf.example" + else + eerror "" + eerror "Portage does not have an arch-specific configuration for this arch." + eerror "Please notify the arch maintainer about this issue. Using generic." + eerror "" + fi +} + +python_compile_all() { + local targets=() + use doc && targets+=( docbook ) + use apidoc && targets+=( apidoc ) + + if [[ ${targets[@]} ]]; then + esetup.py "${targets[@]}" + fi +} + +python_test() { + esetup.py test +} + +python_install() { + # Install sbin scripts to bindir for python-exec linking + # they will be relocated in pkg_preinst() + distutils-r1_python_install \ + --system-prefix="${EPREFIX}/usr" \ + --bindir="$(python_get_scriptdir)" \ + --docdir="${EPREFIX}/usr/share/doc/${PF}" \ + --htmldir="${EPREFIX}/usr/share/doc/${PF}/html" \ + --portage-bindir="${EPREFIX}/usr/lib/portage/${EPYTHON}" \ + --sbindir="$(python_get_scriptdir)" \ + --sysconfdir="${EPREFIX}/etc" \ + "${@}" +} + +python_install_all() { + distutils-r1_python_install_all + + local targets=() + use doc && targets+=( + install_docbook + --htmldir="${EPREFIX}/usr/share/doc/${PF}/html" + ) + use apidoc && targets+=( + install_apidoc + --htmldir="${EPREFIX}/usr/share/doc/${PF}/html" + ) + + # install docs + if [[ ${targets[@]} ]]; then + esetup.py "${targets[@]}" + fi + + dotmpfiles "${FILESDIR}"/portage-ccache.conf + + # Due to distutils/python-exec limitations + # these must be installed to /usr/bin. + local sbin_relocations='archive-conf dispatch-conf emaint env-update etc-update fixpackages regenworld' + einfo "Moving admin scripts to the correct directory" + dodir /usr/sbin + for target in ${sbin_relocations}; do + einfo "Moving /usr/bin/${target} to /usr/sbin/${target}" + mv "${ED}/usr/bin/${target}" "${ED}/usr/sbin/${target}" || die "sbin scripts move failed!" + done +} + +pkg_preinst() { + python_setup + local sitedir=$(python_get_sitedir) + [[ -d ${D}${sitedir} ]] || die "${D}${sitedir}: No such directory" + env -u DISTDIR \ + -u PORTAGE_OVERRIDE_EPREFIX \ + -u PORTAGE_REPOSITORIES \ + -u PORTDIR \ + -u PORTDIR_OVERLAY \ + PYTHONPATH="${D}${sitedir}${PYTHONPATH:+:${PYTHONPATH}}" \ + "${PYTHON}" -m portage._compat_upgrade.default_locations || die + + env -u BINPKG_COMPRESS -u PORTAGE_REPOSITORIES \ + PYTHONPATH="${D}${sitedir}${PYTHONPATH:+:${PYTHONPATH}}" \ + "${PYTHON}" -m portage._compat_upgrade.binpkg_compression || die + + env -u FEATURES -u PORTAGE_REPOSITORIES \ + PYTHONPATH="${D}${sitedir}${PYTHONPATH:+:${PYTHONPATH}}" \ + "${PYTHON}" -m portage._compat_upgrade.binpkg_multi_instance || die + + # elog dir must exist to avoid logrotate error for bug #415911. + # This code runs in preinst in order to bypass the mapping of + # portage:portage to root:root which happens after src_install. + keepdir /var/log/portage/elog + # This is allowed to fail if the user/group are invalid for prefix users. + if chown portage:portage "${ED}"/var/log/portage{,/elog} 2>/dev/null ; then + chmod g+s,ug+rwx "${ED}"/var/log/portage{,/elog} + fi + + if has_version "<${CATEGORY}/${PN}-2.3.77"; then + elog "The emerge --autounmask option is now disabled by default, except for" + elog "portions of behavior which are controlled by the --autounmask-use and" + elog "--autounmask-license options. For backward compatibility, previous" + elog "behavior of --autounmask=y and --autounmask=n is entirely preserved." + elog "Users can get the old behavior simply by adding --autounmask to the" + elog "make.conf EMERGE_DEFAULT_OPTS variable. For the rationale for this" + elog "change, see https://bugs.gentoo.org/658648." + fi +} diff --git a/sys-apps/portage/portage-9999.ebuild b/sys-apps/portage/portage-9999.ebuild index 14c3a28ab28f..8d3f85a57721 100644 --- a/sys-apps/portage/portage-9999.ebuild +++ b/sys-apps/portage/portage-9999.ebuild @@ -3,8 +3,7 @@ EAPI=7 -DISTUTILS_USE_SETUPTOOLS=bdepend -PYTHON_COMPAT=( pypy3 python3_{7..10} ) +PYTHON_COMPAT=( pypy3 python3_{8..10} ) PYTHON_REQ_USE='bzip2(+),threads(+)' TMPFILES_OPTIONAL=1 |