From 6cd09d61e7fa3ba38dbf679730da739e59d1ae40 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 1 Jul 2024 07:18:25 +0000 Subject: [PATCH] sys-apps/portage: Sync with Gentoo It's from Gentoo commit 58243f1968d0b103fc87dbbccb79ebf4d6b7212f. --- .../portage-stable/sys-apps/portage/Manifest | 3 +- ...s.d-suppress-some-gnulib-implicit-co.patch | 89 +++++++ .../portage-3.0.64-clang-splitdebug.patch | 76 ++++++ ....59-r1.ebuild => portage-3.0.63-r1.ebuild} | 4 + ...3.0.63.ebuild => portage-3.0.64-r3.ebuild} | 27 +- .../sys-apps/portage/portage-3.0.65.ebuild | 242 ++++++++++++++++++ .../sys-apps/portage/portage-9999.ebuild | 19 +- 7 files changed, 429 insertions(+), 31 deletions(-) create mode 100644 sdk_container/src/third_party/portage-stable/sys-apps/portage/files/0001-install-qa-checks.d-suppress-some-gnulib-implicit-co.patch create mode 100644 sdk_container/src/third_party/portage-stable/sys-apps/portage/files/portage-3.0.64-clang-splitdebug.patch rename sdk_container/src/third_party/portage-stable/sys-apps/portage/{portage-3.0.59-r1.ebuild => portage-3.0.63-r1.ebuild} (98%) rename sdk_container/src/third_party/portage-stable/sys-apps/portage/{portage-3.0.63.ebuild => portage-3.0.64-r3.ebuild} (96%) create mode 100644 sdk_container/src/third_party/portage-stable/sys-apps/portage/portage-3.0.65.ebuild diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/portage/Manifest b/sdk_container/src/third_party/portage-stable/sys-apps/portage/Manifest index 5320b6512a..4eff023f98 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/portage/Manifest +++ b/sdk_container/src/third_party/portage-stable/sys-apps/portage/Manifest @@ -1,3 +1,4 @@ -DIST portage-3.0.59.tar.bz2 1175098 BLAKE2B dbb8a22fd9417a74e60aa24ff064e9da5b4c54bd4936a0a1a4fdb0cd30d8568ca2424ef2a484883b538685a291a85009d942defdbb5cfa4e0072e9d977f238cd SHA512 8c86e0663327125e7cb36150d4aca1d7fcd2bf7ae25634ed916c2ee444809404aafb094adacacc0408509600f447d62d9c53e7bc25dd8c71c61e8758ac674638 DIST portage-3.0.61.tar.bz2 1178151 BLAKE2B bad3140735b12a18a3108e91cc88146fc5c64ad3e3e056707eec7629927f718483a3e1ccf09f74de510ee7733b4d856c3c53692a6cc0f5fc1a7babf88fd7f06b SHA512 1401392a7bd2bf18e698e82af25a39db2aa9d8d9e8d9c07dea11ba5d5c866d2d3f8a3eccc8568b081aeaf6f668466921c61f58adbdd9dd5ffd9cf632bff2bdbd DIST portage-3.0.63.tar.bz2 1187961 BLAKE2B 10523150b0eabac97309004c57356c40fa94ebd59f8f76701ae63d13f9424b523ccee2a367174af3a52078d5d9e4338b94e144247f6709c2f7df4418c040b06f SHA512 323adc17254f92e58f22028dad12ebcaaafa25c82567c5d31cc9575c30e0d78224c8f9efe0fcbeee549b08b0797edffb4bbe9c6fbbd8943e3f9dcda25eedd699 +DIST portage-3.0.64.tar.bz2 1187654 BLAKE2B 622cdda85315ab60ca3b1ae7cf1cb1fe479b69c945dafe14655030387d857ae89c0d8326b85fb3d3754ea95ecf2792ae60ba36f1ad9b18d1ac693fdabf9b235e SHA512 26a9fc9532aebd5965c6d62d78914d827ac48df100b5fc518934857881ca19b927e05b2cd9a2bb674b0e1bd5feff2058a083de9c8fb86af16efe8752325c7722 +DIST portage-3.0.65.tar.bz2 1193321 BLAKE2B 4734b0a2b17cf0cdbd0bedac9efa6cecb5799460e1faa8b8ab137fa017e17d47d6d5da6382e75322f21d4be77a31acffbacd753c70b43b011613cc5a6332bc96 SHA512 c864bcb3bef11916128852a5f50b161d82529d7316ec970703a9ec948c46a51148419ef1dfde2906f72347dd41d0eebd49f5a1769a228d97145f5517c34dbff8 diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/portage/files/0001-install-qa-checks.d-suppress-some-gnulib-implicit-co.patch b/sdk_container/src/third_party/portage-stable/sys-apps/portage/files/0001-install-qa-checks.d-suppress-some-gnulib-implicit-co.patch new file mode 100644 index 0000000000..bc8e2f51fa --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-apps/portage/files/0001-install-qa-checks.d-suppress-some-gnulib-implicit-co.patch @@ -0,0 +1,89 @@ +From 236a2c7081e2208c817f9a99f012bab0be3d70b2 Mon Sep 17 00:00:00 2001 +From: Eli Schwartz +Date: Fri, 17 May 2024 01:52:53 -0400 +Subject: [PATCH 1/2] install-qa-checks.d: suppress some gnulib implicit + configure declarations + +These happen in tons of GNU packages because of using gnulib, which +pulls in macros that check for some functionality and spit out an +implicit function declaration error if they aren't supported, which is +*expected*. + +Bug: https://bugs.gentoo.org/906027 +Signed-off-by: Eli Schwartz +Closes: https://github.com/gentoo/portage/pull/1323 +Signed-off-by: Sam James +--- + bin/install-qa-check.d/90config-impl-decl | 9 +++++++++ + 1 file changed, 9 insertions(+) + +diff --git a/bin/install-qa-check.d/90config-impl-decl b/bin/install-qa-check.d/90config-impl-decl +index 7969dff17..adea7d405 100644 +--- a/bin/install-qa-check.d/90config-impl-decl ++++ b/bin/install-qa-check.d/90config-impl-decl +@@ -49,6 +49,15 @@ add_default_skips() { + res_ndestroy + statacl + ) ++ ++ QA_CONFIG_IMPL_DECL_SKIP+=( ++ # Available in c23, these gnulib checks are expected to fail ++ alignof ++ static_assert ++ unreachable ++ # also gnulib, but checks both linux/non-linux headers ++ MIN ++ ) + } + + find_log_targets() { +-- +2.44.1 + + +From e01d7fde23c4a0cc9f22e7b1ea28d3deff0331ae Mon Sep 17 00:00:00 2001 +From: Eli Schwartz +Date: Tue, 21 May 2024 19:22:31 -0400 +Subject: [PATCH 2/2] install-qa-checks.d: suppress some gnulib implicit decls + on musl + +These happen in tons of GNU packages because of using gnulib's regex.m4 +specifically, which pulls in a macro that checks for some functionality +and spit out many implicit function declaration errors if regex.h isn't +GNU's specifically. + +The compile tests do fail either way, it's just very dirty in the logs. + +Bug: https://bugs.gentoo.org/906027 +Closes: https://github.com/gentoo/portage/pull/1327 +Signed-off-by: Eli Schwartz +--- + bin/install-qa-check.d/90config-impl-decl | 12 ++++++++++++ + 1 file changed, 12 insertions(+) + +diff --git a/bin/install-qa-check.d/90config-impl-decl b/bin/install-qa-check.d/90config-impl-decl +index adea7d405..8768c99c6 100644 +--- a/bin/install-qa-check.d/90config-impl-decl ++++ b/bin/install-qa-check.d/90config-impl-decl +@@ -58,6 +58,18 @@ add_default_skips() { + # also gnulib, but checks both linux/non-linux headers + MIN + ) ++ if [[ ${CHOST} = *musl* ]]; then ++ QA_CONFIG_IMPL_DECL_SKIP+=( ++ # gnulib checks for functions that aren't available on musl. ++ ++ # regex.m4 always emits these warnings, but they are noisy to fix ++ # and the check will correctly fail due to missing macros anyway. ++ re_set_syntax ++ re_compile_pattern ++ re_search ++ re_match ++ ) ++ fi + } + + find_log_targets() { +-- +2.44.1 + diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/portage/files/portage-3.0.64-clang-splitdebug.patch b/sdk_container/src/third_party/portage-stable/sys-apps/portage/files/portage-3.0.64-clang-splitdebug.patch new file mode 100644 index 0000000000..04193241de --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-apps/portage/files/portage-3.0.64-clang-splitdebug.patch @@ -0,0 +1,76 @@ +https://github.com/gentoo/portage/commit/51f6ad158fc3de14df3f87d1242ff950b2189f05 + +From 51f6ad158fc3de14df3f87d1242ff950b2189f05 Mon Sep 17 00:00:00 2001 +From: "Alex Xu (Hello71)" +Date: Sat, 11 Mar 2023 12:27:23 -0500 +Subject: [PATCH] estrip: Don't use splitdebug for .o files + +As the process_ar comment explained, object files cannot be splitdebug. + +Bug: https://bugs.gentoo.org/787623 ("www-client/firefox[clang]: .gnu_debuglink is busted when using LLD") +Fixes: 51579fb34c19 ("prepstrip: add support for elfutils strip") +Signed-off-by: Alex Xu (Hello71) +Signed-off-by: Sam James +--- a/bin/estrip ++++ b/bin/estrip +@@ -280,9 +280,6 @@ dedup_elf_debug() { + + # Usage: save_elf_debug [splitdebug] + save_elf_debug() { +- ${FEATURES_splitdebug} || return 0 +- ${PORTAGE_RESTRICT_splitdebug} && return 0 +- + debug-print-function "${FUNCNAME}" "$@" + + # NOTE: Debug files must be installed in +@@ -390,7 +387,7 @@ process_elf() { + + if ${strip_this} ; then + # See if we can split & strip at the same time +- if [[ -n ${SPLIT_STRIP_FLAGS} ]] ; then ++ if ${splitdebug} && [[ -n ${SPLIT_STRIP_FLAGS} ]] ; then + local shortname="${x##*/}.debug" + local splitdebug="${tmpdir}/splitdebug/${shortname}.${BASHPID:-$(__bashpid)}" + +@@ -401,7 +398,9 @@ process_elf() { + "${x}" + save_elf_debug "${x}" "${inode_link}_debug" "${splitdebug}" + else +- save_elf_debug "${x}" "${inode_link}_debug" ++ if ${splitdebug} ; then ++ save_elf_debug "${x}" "${inode_link}_debug" ++ fi + ${already_stripped} || ${STRIP} ${strip_flags} "${x}" + fi + fi +@@ -431,7 +430,7 @@ process_ar() { + # There is no concept of splitdebug for objects not yet + # linked in (only for finally linked ELFs), so we have to + # retain the debug info in the archive itself. +- if ! ${FEATURES_splitdebug} || ${PORTAGE_RESTRICT_splitdebug} ; then ++ if ! ${splitdebug} ; then + ${STRIP} -g "${x}" && ${RANLIB} "${x}" + fi + fi +@@ -542,6 +541,12 @@ do + set +o noglob + fi + ++ if ${FEATURES_splitdebug} && ! ${PORTAGE_RESTRICT_splitdebug} ; then ++ splitdebug=true ++ else ++ splitdebug=false ++ fi ++ + # In Prefix we are usually an unprivileged user, so we can't strip + # unwritable objects. Make them temporarily writable for the + # stripping. +@@ -564,6 +569,7 @@ do + ${f} == *"SB shared object"* ]] ; then + process_elf "${x}" "${inode_link}" ${PORTAGE_STRIP_FLAGS} + elif [[ ${f} == *"SB relocatable"* ]] ; then ++ [[ ${x} == *.ko ]] || splitdebug=false + process_elf "${x}" "${inode_link}" ${SAFE_STRIP_FLAGS} + fi + + diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/portage/portage-3.0.59-r1.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/portage/portage-3.0.63-r1.ebuild similarity index 98% rename from sdk_container/src/third_party/portage-stable/sys-apps/portage/portage-3.0.59-r1.ebuild rename to sdk_container/src/third_party/portage-stable/sys-apps/portage/portage-3.0.63-r1.ebuild index 6eb73a76c9..ecd1de90b4 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/portage/portage-3.0.59-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-apps/portage/portage-3.0.63-r1.ebuild @@ -108,6 +108,10 @@ PDEPEND=" ) " +PATCHES=( + "${FILESDIR}"/0001-install-qa-checks.d-suppress-some-gnulib-implicit-co.patch +) + pkg_pretend() { local CONFIG_CHECK="~IPC_NS ~PID_NS ~NET_NS ~UTS_NS" diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/portage/portage-3.0.63.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/portage/portage-3.0.64-r3.ebuild similarity index 96% rename from sdk_container/src/third_party/portage-stable/sys-apps/portage/portage-3.0.63.ebuild rename to sdk_container/src/third_party/portage-stable/sys-apps/portage/portage-3.0.64-r3.ebuild index 834b9af7a5..edec27b9f0 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/portage/portage-3.0.63.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-apps/portage/portage-3.0.64-r3.ebuild @@ -7,7 +7,7 @@ PYTHON_COMPAT=( pypy3 python3_{10..12} ) PYTHON_REQ_USE='bzip2(+),threads(+)' TMPFILES_OPTIONAL=1 -inherit meson linux-info multiprocessing python-r1 tmpfiles +inherit meson linux-info python-r1 tmpfiles DESCRIPTION="The package management and distribution system for Gentoo" HOMEPAGE="https://wiki.gentoo.org/wiki/Project:Portage" @@ -35,6 +35,7 @@ RESTRICT="!test? ( test )" # >=meson-1.2.1-r1 for bug #912051 BDEPEND=" ${PYTHON_DEPS} + >=app-arch/tar-1.27 >=dev-build/meson-1.2.1-r1 || ( >=dev-build/meson-1.3.0-r1 @@ -43,15 +44,6 @@ BDEPEND=" $(python_gen_cond_dep ' dev-python/setuptools[${PYTHON_USEDEP}] ' python3_12) - test? ( - dev-python/pytest-xdist[${PYTHON_USEDEP}] - dev-vcs/git - ) -" -DEPEND=" - ${PYTHON_DEPS} - >=app-arch/tar-1.27 - dev-lang/python-exec:2 >=sys-apps/sed-4.0.5 sys-devel/patch !build? ( $(python_gen_impl_dep 'ssl(+)') ) @@ -63,6 +55,10 @@ DEPEND=" ~app-text/docbook-xml-dtd-4.4 app-text/xmlto ) + test? ( + dev-python/pytest-xdist[${PYTHON_USEDEP}] + dev-vcs/git + ) " # Require sandbox-2.2 for bug #288863. # For whirlpool hash, require python[ssl] (bug #425046). @@ -108,6 +104,11 @@ PDEPEND=" ) " +PATCHES=( + "${FILESDIR}"/${P}-clang-splitdebug.patch + "${FILESDIR}"/0001-install-qa-checks.d-suppress-some-gnulib-implicit-co.patch +) + pkg_pretend() { local CONFIG_CHECK="~IPC_NS ~PID_NS ~NET_NS ~UTS_NS" @@ -164,9 +165,9 @@ src_compile() { } src_test() { - local -x PYTEST_ADDOPTS="-vv -ra -l -o console_output_style=count -n $(makeopts_jobs) --dist=worksteal" - - python_foreach_impl meson_src_test --no-rebuild --verbose + local EPYTEST_XDIST=1 + local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 + python_foreach_impl epytest } src_install() { diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/portage/portage-3.0.65.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/portage/portage-3.0.65.ebuild new file mode 100644 index 0000000000..ea323e5a91 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-apps/portage/portage-3.0.65.ebuild @@ -0,0 +1,242 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +PYTHON_COMPAT=( pypy3 python3_{10..12} ) +PYTHON_REQ_USE='bzip2(+),threads(+)' +TMPFILES_OPTIONAL=1 + +inherit meson linux-info python-r1 tmpfiles + +DESCRIPTION="The package management and distribution system for Gentoo" +HOMEPAGE="https://wiki.gentoo.org/wiki/Project:Portage" + +if [[ ${PV} == 9999 ]] ; then + EGIT_REPO_URI=" + https://anongit.gentoo.org/git/proj/portage.git + https://github.com/gentoo/portage.git + " + inherit git-r3 +else + SRC_URI="https://gitweb.gentoo.org/proj/portage.git/snapshot/${P}.tar.bz2" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +fi + +LICENSE="GPL-2" +SLOT="0" +IUSE="apidoc build doc gentoo-dev +ipc +native-extensions +rsync-verify selinux test xattr" +REQUIRED_USE="${PYTHON_REQUIRED_USE}" +RESTRICT="!test? ( test )" + +# setuptools is still needed as a workaround for Python 3.12+ for now. +# https://github.com/mesonbuild/meson/issues/7702 +# +# >=meson-1.2.1-r1 for bug #912051 +BDEPEND=" + ${PYTHON_DEPS} + >=app-arch/tar-1.27 + >=dev-build/meson-1.2.1-r1 + || ( + >=dev-build/meson-1.3.0-r1 + =sys-apps/sed-4.0.5 + sys-devel/patch + !build? ( $(python_gen_impl_dep 'ssl(+)') ) + apidoc? ( + dev-python/sphinx[${PYTHON_USEDEP}] + dev-python/sphinx-epytext[${PYTHON_USEDEP}] + ) + doc? ( + ~app-text/docbook-xml-dtd-4.4 + app-text/xmlto + ) + test? ( + dev-python/pytest-xdist[${PYTHON_USEDEP}] + dev-vcs/git + ) +" +# Require sandbox-2.2 for bug #288863. +# For whirlpool hash, require python[ssl] (bug #425046). +RDEPEND=" + ${PYTHON_DEPS} + acct-user/portage + >=app-arch/tar-1.27 + app-arch/zstd + >=app-misc/pax-utils-0.1.17 + dev-lang/python-exec:2 + >=sys-apps/baselayout-2.9 + >=sys-apps/findutils-4.9 + !build? ( + >=app-admin/eselect-1.2 + app-portage/getuto + >=app-shells/bash-5.0:0 + >=sec-keys/openpgp-keys-gentoo-release-20230329 + >=sys-apps/sed-4.0.5 + rsync-verify? ( + >=app-crypt/gnupg-2.2.4-r2[ssl(-)] + >=app-portage/gemato-14.5[${PYTHON_USEDEP}] + ) + ) + elibc_glibc? ( >=sys-apps/sandbox-2.2 ) + elibc_musl? ( >=sys-apps/sandbox-2.2 ) + kernel_linux? ( sys-apps/util-linux ) + selinux? ( >=sys-libs/libselinux-2.0.94[python,${PYTHON_USEDEP}] ) + xattr? ( kernel_linux? ( + >=sys-apps/install-xattr-0.3 + ) ) + !/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 +} + +pkg_postinst() { + # Warn about obsolete "enotice" script, bug #867010 + local bashrc=${EROOT}/etc/portage/profile/profile.bashrc + if [[ -e ${bashrc} ]] && grep -q enotice "${bashrc}"; then + eerror "Obsolete 'enotice' script detected!" + eerror "Please remove this from ${bashrc} to avoid problems." + eerror "See bug 867010 for more details." + fi +} diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/portage/portage-9999.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/portage/portage-9999.ebuild index ea323e5a91..3995572457 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/portage/portage-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-apps/portage/portage-9999.ebuild @@ -3,7 +3,7 @@ EAPI=7 -PYTHON_COMPAT=( pypy3 python3_{10..12} ) +PYTHON_COMPAT=( pypy3 python3_{10..13} ) PYTHON_REQ_USE='bzip2(+),threads(+)' TMPFILES_OPTIONAL=1 @@ -29,21 +29,10 @@ IUSE="apidoc build doc gentoo-dev +ipc +native-extensions +rsync-verify selinux REQUIRED_USE="${PYTHON_REQUIRED_USE}" RESTRICT="!test? ( test )" -# setuptools is still needed as a workaround for Python 3.12+ for now. -# https://github.com/mesonbuild/meson/issues/7702 -# -# >=meson-1.2.1-r1 for bug #912051 BDEPEND=" ${PYTHON_DEPS} >=app-arch/tar-1.27 - >=dev-build/meson-1.2.1-r1 - || ( - >=dev-build/meson-1.3.0-r1 - =dev-build/meson-1.3.0-r1 >=sys-apps/sed-4.0.5 sys-devel/patch !build? ( $(python_gen_impl_dep 'ssl(+)') ) @@ -89,10 +78,6 @@ RDEPEND=" xattr? ( kernel_linux? ( >=sys-apps/install-xattr-0.3 ) ) - !