From 230b8e75ca1ad139b3f7074ef408f88fef858c24 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 3 Aug 2026 08:18:30 +0000 Subject: [PATCH 001/195] net-misc/openssh: Sync with Gentoo It's from Gentoo commit 143af5e9e3abde855ee4153d2e020ea6ed2357f6. Signed-off-by: Flatcar Buildbot --- .../portage-stable/net-misc/openssh/Manifest | 2 + ...API-option-names-that-I-somehow-scre.patch | 104 +++++ .../openssh/openssh-10.4_p1-r1.ebuild | 441 ++++++++++++++++++ 3 files changed, 547 insertions(+) create mode 100644 sdk_container/src/third_party/portage-stable/net-misc/openssh/files/10.4_p1/0001-upstream-fix-GSSAPI-option-names-that-I-somehow-scre.patch create mode 100644 sdk_container/src/third_party/portage-stable/net-misc/openssh/openssh-10.4_p1-r1.ebuild diff --git a/sdk_container/src/third_party/portage-stable/net-misc/openssh/Manifest b/sdk_container/src/third_party/portage-stable/net-misc/openssh/Manifest index 5dc92dfa6e1..ffcb5e9b001 100644 --- a/sdk_container/src/third_party/portage-stable/net-misc/openssh/Manifest +++ b/sdk_container/src/third_party/portage-stable/net-misc/openssh/Manifest @@ -6,6 +6,8 @@ DIST openssh-10.2p1.tar.gz 1974519 BLAKE2B 8c031b10b1642e21b46f7d1db84ba42692e37 DIST openssh-10.2p1.tar.gz.asc 833 BLAKE2B 34e1a697e9565f5d4e8139537e76e123512285662576f6f2b513ba129d5e42310c1997e70d7c69b2c4fe1c85f9323ef686b8f83f12a73c5a4f229ff855efd7c6 SHA512 f1f71700b1b0b2117aed505488b98b7ebb51ce26e53184b08df0b07aa2c5a1e54dc4d3cbcbe871b5ad849a2a0e22b02af318ff22a68c980ab53b04be03c9bf3c DIST openssh-10.3p1.tar.gz 2007369 BLAKE2B 77ff7c3bc943702267d74f6f7cdae44209ab940e42501e8a225761f3c8ab5416f2f0e4e61183e0b4cd79d5a041f4d1600674fcda17d3a2bd172074655cefdcd1 SHA512 cb2bd67086491c25e305879b924c3dfa8236502a60c7f250b2fd17d2d9a79ebfc2e40b2f43e42dcf598cc510996e00cc03df9b8e38f34bc2dc71a3d4ff3788fa DIST openssh-10.3p1.tar.gz.asc 833 BLAKE2B ce5f811225a59b4724092ef3cb7f7815ed1c57088872489b65fd90cdda9898a2cd6fb965e84cdcad3c0288f38784f3001909400941555fec3d3276c455195326 SHA512 2c8afbe57f6712f159aa3a160b6ffc43f945a98ccd8e151fa6a047ea30b376e5e1cac844a678a7899da80704b3d23feda612ffada1ee003f4c7fb8291f484600 +DIST openssh-10.4p1.tar.gz 2321796 BLAKE2B 3051a345fd24333708277a1de781deca9094dd07cc55e613e93715b1266d80d59043bf5cdb2282d02c797cb9446916020e70fbd4c7a2470da7ab98eb612f6b74 SHA512 c49600022a3a3f0f0ba4284072cccbe1088030cd175ea166e08251224712731f97cb1a3f039d19f71714c537ab88b177602be0932bc35a26f3227dc09c43f37c +DIST openssh-10.4p1.tar.gz.asc 833 BLAKE2B 408ccf508e90b0fc66e04b07fe4fce6d1d71752f2a85961b4a6ed7d5157100258bd5a5b7ebf806fe040fe509ee6abc5a103e7ebda7336e7b669241026e48870d SHA512 604b8203088d71bee3a93ea644201f82eb1f049b08cf0b57b9f5dbcb9a9bae206283a30af15182e42e59ea63b8e1c9941c8b981a1d026b6a0f49b11ccd7007c4 DIST openssh-9.8_p1-backports.tar.gz 5879 BLAKE2B 98f2864977f512cb658d129cc89385df25b57fb4ec5ac0cb5e2655ff7f8bffa795194a2177a78339999b0d25c9aea708469b322b9d7c814165e570fb5a66ee9b SHA512 541a629b3ce7d20df29b649478f7a4348bed876045cc2b3c95b6544cce87850cd05c1d405e85ce713fb137b7768402d2b0052a6478b781c30a2567ffebcd4322 DIST openssh-9.8p1.tar.gz 1910393 BLAKE2B 3bf983c4ef5358054ed0104cd51d3e0069fbc2b80d8522d0df644d5508ec1d26a67bf061b1b5698d1cdf0d2cbba16b4cdca12a4ce30da24429094576a075e192 SHA512 95dec2f18e58eb47994f3de4430253e0665e185564b65088ca5f4108870e05feddef8cda8d3c0a4b75f18b98cc2c024df0e27de53b48c1a16da8da483cb8292a DIST openssh-9.8p1.tar.gz.asc 833 BLAKE2B 5291e8c03ab9a75acb44285cd7fc010f4a33551f142499624165dac708fc05a6d077df81555aa41037b45f6301e4e5db3161a7a23404473f8a233a877fc55cc3 SHA512 4df1f1be2c6ab7f3aebaedd0a773b0e8c8929abb30cd3415873ad55d012cfa113f792e888e5e772dd468c394aeb7e35d62893a514dbc0ab1a03acd79918657f7 diff --git a/sdk_container/src/third_party/portage-stable/net-misc/openssh/files/10.4_p1/0001-upstream-fix-GSSAPI-option-names-that-I-somehow-scre.patch b/sdk_container/src/third_party/portage-stable/net-misc/openssh/files/10.4_p1/0001-upstream-fix-GSSAPI-option-names-that-I-somehow-scre.patch new file mode 100644 index 00000000000..37bb329dca9 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/net-misc/openssh/files/10.4_p1/0001-upstream-fix-GSSAPI-option-names-that-I-somehow-scre.patch @@ -0,0 +1,104 @@ +https://bugs.gentoo.org/979335 + +From 823ad00d14065ab932794be8d0a75a86b6277849 Mon Sep 17 00:00:00 2001 +Message-ID: <823ad00d14065ab932794be8d0a75a86b6277849.1784450865.git.sam@gentoo.org> +From: "djm@openbsd.org" +Date: Tue, 7 Jul 2026 01:00:22 +0000 +Subject: [PATCH] upstream: fix GSSAPI option names, that I somehow screwed up + while + +refactoring servconf.c bz3974 patch from Colin Watson + +OpenBSD-Commit-ID: be39ad3dbe36d9ecdb86f3811da5dfbdc9bcb1e6 +--- + servconf.c | 18 +++++++++--------- + servconf.h | 18 +++++++++--------- + 2 files changed, 18 insertions(+), 18 deletions(-) + +diff --git a/servconf.c b/servconf.c +index ce388f1dd..9b443bea0 100644 +--- a/servconf.c ++++ b/servconf.c +@@ -1,4 +1,4 @@ +-/* $OpenBSD: servconf.c,v 1.450 2026/06/29 08:59:31 djm Exp $ */ ++/* $OpenBSD: servconf.c,v 1.451 2026/07/07 01:00:22 djm Exp $ */ + /* + * Copyright (c) 1995 Tatu Ylonen , Espoo, Finland + * All rights reserved +@@ -1433,19 +1433,19 @@ process_server_config_line_depth(ServerOptions *options, char *line, + #endif /* KRB5 */ + + #ifdef GSSAPI +- case sGssAuthentication: ++ case sGSSAPIAuthentication: + intptr = &options->gss_authentication; + goto parse_flag; + +- case sGssCleanupCreds: ++ case sGSSAPICleanupCredentials: + intptr = &options->gss_cleanup_creds; + goto parse_flag; + +- case sGssDelegateCreds: ++ case sGSSAPIDelegateCredentials: + intptr = &options->gss_deleg_creds; + goto parse_flag; + +- case sGssStrictAcceptor: ++ case sGSSAPIStrictAcceptorCheck: + intptr = &options->gss_strict_acceptor; + goto parse_flag; + #endif /* GSSAPI */ +@@ -4215,10 +4215,10 @@ dump_config(ServerOptions *o) + # endif + #endif + #ifdef GSSAPI +- dump_cfg_fmtint(sGssAuthentication, o->gss_authentication); +- dump_cfg_fmtint(sGssCleanupCreds, o->gss_cleanup_creds); +- dump_cfg_fmtint(sGssDelegateCreds, o->gss_deleg_creds); +- dump_cfg_fmtint(sGssStrictAcceptor, o->gss_strict_acceptor); ++ dump_cfg_fmtint(sGSSAPIAuthentication, o->gss_authentication); ++ dump_cfg_fmtint(sGSSAPICleanupCredentials, o->gss_cleanup_creds); ++ dump_cfg_fmtint(sGSSAPIDelegateCredentials, o->gss_deleg_creds); ++ dump_cfg_fmtint(sGSSAPIStrictAcceptorCheck, o->gss_strict_acceptor); + #endif + dump_cfg_fmtint(sPasswordAuthentication, o->password_authentication); + dump_cfg_fmtint(sKbdInteractiveAuthentication, +diff --git a/servconf.h b/servconf.h +index 9e64e4673..a2345e88a 100644 +--- a/servconf.h ++++ b/servconf.h +@@ -1,4 +1,4 @@ +-/* $OpenBSD: servconf.h,v 1.177 2026/05/31 11:30:50 djm Exp $ */ ++/* $OpenBSD: servconf.h,v 1.179 2026/07/07 01:00:22 djm Exp $ */ + + /* + * Author: Tatu Ylonen +@@ -314,16 +314,16 @@ SSHCONF_UNSUPPORTED_INT(kerberos_get_afs_token, KerberosGetAFSToken, SSHCFG_GLOB + + #ifdef GSSAPI + #define SSHD_CONFIG_ENTRIES_GSS \ +-SSHCONF_INTFLAG(gss_authentication, GssAuthentication, SSHCFG_ALL, 0, SSHCFG_COPY_MATCH) \ +-SSHCONF_INTFLAG(gss_cleanup_creds, GssCleanupCreds, SSHCFG_GLOBAL, 1, SSHCFG_COPY_NONE) \ +-SSHCONF_INTFLAG(gss_deleg_creds, GssDelegateCreds, SSHCFG_GLOBAL, 1, SSHCFG_COPY_NONE) \ +-SSHCONF_INTFLAG(gss_strict_acceptor, GssStrictAcceptor, SSHCFG_GLOBAL, 1, SSHCFG_COPY_NONE) ++SSHCONF_INTFLAG(gss_authentication, GSSAPIAuthentication, SSHCFG_ALL, 0, SSHCFG_COPY_MATCH) \ ++SSHCONF_INTFLAG(gss_cleanup_creds, GSSAPICleanupCredentials, SSHCFG_GLOBAL, 1, SSHCFG_COPY_NONE) \ ++SSHCONF_INTFLAG(gss_deleg_creds, GSSAPIDelegateCredentials, SSHCFG_GLOBAL, 1, SSHCFG_COPY_NONE) \ ++SSHCONF_INTFLAG(gss_strict_acceptor, GSSAPIStrictAcceptorCheck, SSHCFG_GLOBAL, 1, SSHCFG_COPY_NONE) + #else /* GSSAPI */ + #define SSHD_CONFIG_ENTRIES_GSS \ +-SSHCONF_UNSUPPORTED_INT(gss_authentication, GssAuthentication, SSHCFG_ALL) \ +-SSHCONF_UNSUPPORTED_INT(gss_cleanup_creds, GssCleanupCreds, SSHCFG_GLOBAL) \ +-SSHCONF_UNSUPPORTED_INT(gss_deleg_creds, GssDelegateCreds, SSHCFG_GLOBAL) \ +-SSHCONF_UNSUPPORTED_INT(gss_strict_acceptor, GssStrictAcceptor, SSHCFG_GLOBAL) ++SSHCONF_UNSUPPORTED_INT(gss_authentication, GSSAPIAuthentication, SSHCFG_ALL) \ ++SSHCONF_UNSUPPORTED_INT(gss_cleanup_creds, GSSAPICleanupCredentials, SSHCFG_GLOBAL) \ ++SSHCONF_UNSUPPORTED_INT(gss_deleg_creds, GSSAPIDelegateCredentials, SSHCFG_GLOBAL) \ ++SSHCONF_UNSUPPORTED_INT(gss_strict_acceptor, GSSAPIStrictAcceptorCheck, SSHCFG_GLOBAL) + #endif /* GSSAPI */ + + #define SSHD_CONFIG_ENTRIES \ +-- +2.55.0 + diff --git a/sdk_container/src/third_party/portage-stable/net-misc/openssh/openssh-10.4_p1-r1.ebuild b/sdk_container/src/third_party/portage-stable/net-misc/openssh/openssh-10.4_p1-r1.ebuild new file mode 100644 index 00000000000..d7f21a0056f --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/net-misc/openssh/openssh-10.4_p1-r1.ebuild @@ -0,0 +1,441 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# Remember to check the upstream release/stable branches for patches +# to backport! See https://marc.info/?l=openssh-unix-dev&m=172723798122122&w=2. + +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/openssh.org.asc +inherit user-info flag-o-matic autotools optfeature pam systemd toolchain-funcs verify-sig eapi9-ver + +# Make it more portable between straight releases +# and _p? releases. +PARCH=${P/_} + +DESCRIPTION="Port of OpenBSD's free SSH release" +HOMEPAGE="https://www.openssh.org/" +SRC_URI=" + mirror://openbsd/OpenSSH/portable/${PARCH}.tar.gz + verify-sig? ( mirror://openbsd/OpenSSH/portable/${PARCH}.tar.gz.asc ) +" +S="${WORKDIR}/${PARCH}" + +LICENSE="BSD GPL-2" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris" +# Probably want to drop ssl defaulting to on in a future version. +IUSE="abi_mips_n32 audit debug kerberos ldns libedit livecd pam security-key selinux +ssl static test" + +RESTRICT="!test? ( test )" + +REQUIRED_USE=" + ldns? ( ssl ) + static? ( !kerberos !pam ) + test? ( ssl ) +" + +LIB_DEPEND=" + audit? ( sys-process/audit[static-libs(+)] ) + ldns? ( + net-libs/ldns[static-libs(+)] + net-libs/ldns[ecdsa(+),ssl(+)] + ) + libedit? ( dev-libs/libedit:=[static-libs(+)] ) + security-key? ( >=dev-libs/libfido2-1.5.0:=[static-libs(+)] ) + selinux? ( >=sys-libs/libselinux-1.28[static-libs(+)] ) + ssl? ( >=dev-libs/openssl-1.1.1l-r1:0=[static-libs(+)] ) + virtual/libcrypt:=[static-libs(+)] + >=virtual/zlib-1.2.3:=[static-libs(+)] +" +RDEPEND=" + acct-group/sshd + acct-user/sshd + !static? ( ${LIB_DEPEND//\[static-libs(+)]} ) + pam? ( sys-libs/pam ) + kerberos? ( virtual/krb5 ) +" +DEPEND=" + ${RDEPEND} + virtual/os-headers + kernel_linux? ( !prefix-guest? ( >=sys-kernel/linux-headers-5.1 ) ) + static? ( ${LIB_DEPEND} ) +" +RDEPEND=" + ${RDEPEND} + !net-misc/openssh-contrib + pam? ( >=sys-auth/pambase-20081028 ) + !prefix? ( sys-apps/shadow ) +" +BDEPEND=" + dev-build/autoconf + virtual/pkgconfig + verify-sig? ( sec-keys/openpgp-keys-openssh ) +" + +PATCHES=( + "${FILESDIR}/${PN}-9.4_p1-Allow-MAP_NORESERVE-in-sandbox-seccomp-filter-maps.patch" + "${FILESDIR}/${PN}-9.7_p1-config-tweaks.patch" + # Backports from upstream release branch + "${FILESDIR}/${PV}" + # Our own backports +) + +pkg_pretend() { + local i enabled_eol_flags disabled_eol_flags + for i in hpn sctp X509; do + if has_version "net-misc/openssh[${i}]"; then + enabled_eol_flags+="${i}," + disabled_eol_flags+="-${i}," + fi + done + + if [[ -n ${enabled_eol_flags} && ${OPENSSH_EOL_USE_FLAGS_I_KNOW_WHAT_I_AM_DOING} != yes ]]; then + # Skip for binary packages entirely because of environment saving, bug #907892 + [[ ${MERGE_TYPE} == binary ]] && return + + ewarn "net-misc/openssh does not support USE='${enabled_eol_flags%,}' anymore." + ewarn "The Base system team *STRONGLY* recommends you not rely on this functionality," + ewarn "since these USE flags required third-party patches that often trigger bugs" + ewarn "and are of questionable provenance." + ewarn + ewarn "If you must continue relying on this functionality, switch to" + ewarn "net-misc/openssh-contrib. You will have to remove net-misc/openssh from your" + ewarn "world file first: 'emerge --deselect net-misc/openssh'" + ewarn + ewarn "In order to prevent loss of SSH remote login access, we will abort the build." + ewarn "Whether you proceed with disabling the USE flags or switch to the -contrib" + ewarn "variant, when re-emerging you will have to set" + ewarn + ewarn " OPENSSH_EOL_USE_FLAGS_I_KNOW_WHAT_I_AM_DOING=yes" + + die "Building net-misc/openssh[${disabled_eol_flags%,}] without OPENSSH_EOL_USE_FLAGS_I_KNOW_WHAT_I_AM_DOING=yes" + fi + + # Make sure people who are using tcp wrappers are notified of its removal. #531156 + if grep -qs '^ *sshd *:' "${EROOT}"/etc/hosts.{allow,deny} ; then + ewarn "Sorry, but openssh no longer supports tcp-wrappers, and it seems like" + ewarn "you're trying to use it. Update your ${EROOT}/etc/hosts.{allow,deny} please." + fi +} + +src_prepare() { + # don't break .ssh/authorized_keys2 for fun + sed -i '/^AuthorizedKeysFile/s:^:#:' sshd_config || die + + [[ -d ${WORKDIR}/patches ]] && PATCHES+=( "${WORKDIR}"/patches ) + + default + + # These tests are currently incompatible with PORTAGE_TMPDIR/sandbox + sed -e '/\t\tpercent \\/ d' \ + -i regress/Makefile || die + + tc-export PKG_CONFIG + local sed_args=( + -e "s:-lcrypto:$(${PKG_CONFIG} --libs openssl):" + # Disable fortify flags ... our gcc does this for us + -e 's:-D_FORTIFY_SOURCE=2::' + ) + + # _XOPEN_SOURCE causes header conflicts on Solaris + [[ ${CHOST} == *-solaris* ]] && sed_args+=( + -e 's/-D_XOPEN_SOURCE//' + ) + sed -i "${sed_args[@]}" configure{.ac,} || die + + eautoreconf +} + +src_configure() { + addwrite /dev/ptmx + + use debug && append-cppflags -DSANDBOX_SECCOMP_FILTER_DEBUG + use static && append-ldflags -static + + if [[ ${CHOST} == *-solaris* ]] ; then + # Solaris' glob.h doesn't have things like GLOB_TILDE, configure + # doesn't check for this, so force the replacement to be put in + # place + append-cppflags -DBROKEN_GLOB + fi + + # use replacement, RPF_ECHO_ON doesn't exist here + [[ ${CHOST} == *-darwin* ]] && export ac_cv_func_readpassphrase=no + + local myconf=( + --with-ldflags="${LDFLAGS}" + --disable-strip + --with-pid-dir="${EPREFIX}"$(usex kernel_linux '' '/var')/run + --sysconfdir="${EPREFIX}"/etc/ssh + --libexecdir="${EPREFIX}"/usr/$(get_libdir)/misc + --datadir="${EPREFIX}"/usr/share/openssh + --with-privsep-path="${EPREFIX}"/var/empty + --with-privsep-user=sshd + # optional at runtime; guarantee a known path + --with-xauth="${EPREFIX}"/usr/bin/xauth + + # --with-hardening adds the following in addition to flags we + # already set in our toolchain: + # * -ftrapv (which is broken with GCC anyway), + # * -ftrivial-auto-var-init=zero (which is nice, but not the end of + # the world to not have) + # * -fzero-call-used-regs=used (history of miscompilations with + # Clang (bug #872548), ICEs on m68k (bug #920350, gcc PR113086, + # gcc PR104820, gcc PR104817, gcc PR110934)). + # + # Furthermore, OSSH_CHECK_CFLAG_COMPILE did not use AC_CACHE_CHECK + # until 10.1_p1, so we couldn't disable -fzero-call-used-regs=used. + # + # Therefore, just pass --without-hardening, given it doesn't negate + # our already hardened toolchain defaults, and avoids adding flags + # which are known-broken in both Clang and GCC and haven't been + # proven reliable. + --without-hardening + --without-pie + --without-stackprotect + + # wtmpdb not yet packaged + --without-wtmpdb + + $(use_with audit audit linux) + $(use_with kerberos kerberos5 "${EPREFIX}"/usr) + $(use_with ldns) + $(use_with libedit) + $(use_with pam) + $(use_with selinux) + $(use_with security-key security-key-builtin) + $(use_with ssl openssl) + ) + + if has_version " "${WORKDIR}"/etc/ssh/ssh_config.d/9999999gentoo.conf || die + # Send locale environment variables (bug #367017) + SendEnv ${locale_vars[*]} + + # Send COLORTERM to match TERM (bug #658540) + SendEnv COLORTERM + EOF + + cat <<-EOF > "${WORKDIR}"/etc/ssh/ssh_config.d/9999999gentoo-security.conf || die + RevokedHostKeys "${EPREFIX}/etc/ssh/ssh_revoked_hosts" + EOF + + cat <<-EOF > "${WORKDIR}"/etc/ssh/ssh_revoked_hosts || die + # https://github.blog/2023-03-23-we-updated-our-rsa-ssh-host-key/ + ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAq2A7hRGmdnm9tUDbO9IDSwBK6TbQa+PXYPCPy6rbTrTtw7PHkccKrpp0yVhp5HdEIcKr6pLlVDBfOLX9QUsyCOV0wzfjIJNlGEYsdlLJizHhbn2mUjvSAHQqZETYP81eFzLQNnPHt4EVVUh7VfDESU84KezmD5QlWpXLmvU31/yMf+Se8xhHTvKSCZIFImWwoG6mbUoWf9nzpIoaSjB+weqqUUmpaaasXVal72J+UX2B+2RPW3RcT0eOzQgqlJL3RKrTJvdsjE3JEAvGq3lGHSZXy28G3skua2SmVi/w4yCE6gbODqnTWlg7+wC604ydGXA8VJiS5ap43JXiUFFAaQ== + EOF + + cat <<-EOF > "${WORKDIR}"/etc/ssh/sshd_config.d/9999999gentoo.conf || die + # Allow client to pass locale environment variables (bug #367017) + AcceptEnv ${locale_vars[*]} + + # Allow client to pass COLORTERM to match TERM (bug #658540) + AcceptEnv COLORTERM + EOF + + cat <<-EOF > "${WORKDIR}"/etc/ssh/sshd_config.d/9999999gentoo-subsystem.conf || die + # override default of no subsystems + Subsystem sftp ${EPREFIX}/usr/$(get_libdir)/misc/sftp-server + EOF + + if use pam ; then + cat <<-EOF > "${WORKDIR}"/etc/ssh/sshd_config.d/9999999gentoo-pam.conf || die + UsePAM yes + # This interferes with PAM. + PasswordAuthentication no + # PAM can do its own handling of MOTD. + PrintMotd no + PrintLastLog no + EOF + fi + + if use livecd ; then + cat <<-EOF > "${WORKDIR}"/etc/ssh/sshd_config.d/9999999gentoo-livecd.conf || die + # Allow root login with password on livecds. + PermitRootLogin Yes + EOF + fi +} + +src_compile() { + default + create_config_dropins +} + +src_test() { + local tests=( compat-tests ) + local shell=$(egetshell "${UID}") + if [[ ${shell} == */nologin ]] || [[ ${shell} == */false ]] ; then + ewarn "Running the full OpenSSH testsuite requires a usable shell for the 'portage'" + ewarn "user, so we will run a subset only." + tests+=( interop-tests file-tests unit ) + else + tests+=( tests ) + fi + + local -x SUDO= SSH_SK_PROVIDER= TEST_SSH_UNSAFE_PERMISSIONS=1 + mkdir -p "${HOME}"/.ssh || die + emake -j1 "${tests[@]}" /dev/null 2>&1; then + ewarn "The ebuild will now attempt to restart OpenSSH to avoid" + ewarn "bricking the running instance. See bug #709748." + ebegin "Attempting to restart openssh via 'systemctl try-restart sshd'" + systemctl try-restart sshd + eend $? + elif [[ -d /run/openrc ]]; then + # We don't check for sshd -t here because the OpenRC init script + # has a stop_pre() which does checkconfig, i.e. we defer to it + # to give nicer output for a failed sanity check. + ewarn "The ebuild will now attempt to restart OpenSSH to avoid" + ewarn "bricking the running instance. See bug #709748." + ebegin "Attempting to restart openssh via 'rc-service -q --ifstarted --nodeps sshd restart'" + rc-service -q --ifstarted --nodeps sshd restart + eend $? + fi +} From 62294877f059498bd38434dc37ed56799c84d447 Mon Sep 17 00:00:00 2001 From: Dongsu Park Date: Wed, 5 Aug 2026 16:54:46 +0200 Subject: [PATCH 002/195] overlay profiles: Add accept keywords for net-misc/openssh Pull in openssh 10.4_p1 for CVE-2026-60002 etc. Signed-off-by: Dongsu Park --- .../profiles/coreos/base/package.accept_keywords | 3 +++ 1 file changed, 3 insertions(+) diff --git a/sdk_container/src/third_party/coreos-overlay/profiles/coreos/base/package.accept_keywords b/sdk_container/src/third_party/coreos-overlay/profiles/coreos/base/package.accept_keywords index 7b73ff5d7ae..9f16ad6df3f 100644 --- a/sdk_container/src/third_party/coreos-overlay/profiles/coreos/base/package.accept_keywords +++ b/sdk_container/src/third_party/coreos-overlay/profiles/coreos/base/package.accept_keywords @@ -115,6 +115,9 @@ dev-db/etcd amd64 =net-libs/ngtcp2-1.22.1 =net-misc/curl-8.21.0 +# For CVE-2026-{59995,59996,59997,59998,59999,60000,60001,60002} +=net-misc/openssh-10.4_p1-r1 + # For podman 6.0.0 =net-misc/passt-2026.05.26 From 155f217372a1bc4de7ea28e3da3728e94a929be7 Mon Sep 17 00:00:00 2001 From: Dongsu Park Date: Wed, 5 Aug 2026 17:02:28 +0200 Subject: [PATCH 003/195] changelog: Add changelog for openssh 10.4_p1-r1 Signed-off-by: Dongsu Park --- changelog/security/2026-08-05-openssh-10.4_p1-r1.md | 1 + changelog/updates/2026-08-05-openssh-10.4_p1-r1.md | 1 + 2 files changed, 2 insertions(+) create mode 100644 changelog/security/2026-08-05-openssh-10.4_p1-r1.md create mode 100644 changelog/updates/2026-08-05-openssh-10.4_p1-r1.md diff --git a/changelog/security/2026-08-05-openssh-10.4_p1-r1.md b/changelog/security/2026-08-05-openssh-10.4_p1-r1.md new file mode 100644 index 00000000000..93f3ec5f8bb --- /dev/null +++ b/changelog/security/2026-08-05-openssh-10.4_p1-r1.md @@ -0,0 +1 @@ +- openssh ([CVE-2026-59995](https://www.cve.org/CVERecord/?id=CVE-2026-59995), [CVE-2026-59996](https://www.cve.org/CVERecord/?id=CVE-2026-59996), [CVE-2026-59997](https://www.cve.org/CVERecord/?id=CVE-2026-59997), [CVE-2026-59998](https://www.cve.org/CVERecord/?id=CVE-2026-59998), [CVE-2026-59999](https://www.cve.org/CVERecord/?id=CVE-2026-59999), [CVE-2026-60000](https://www.cve.org/CVERecord/?id=CVE-2026-60000), [CVE-2026-60001](https://www.cve.org/CVERecord/?id=CVE-2026-60001), [CVE-2026-60002](https://www.cve.org/CVERecord/?id=CVE-2026-60002)) diff --git a/changelog/updates/2026-08-05-openssh-10.4_p1-r1.md b/changelog/updates/2026-08-05-openssh-10.4_p1-r1.md new file mode 100644 index 00000000000..e5c6fc82478 --- /dev/null +++ b/changelog/updates/2026-08-05-openssh-10.4_p1-r1.md @@ -0,0 +1 @@ +- openssh ([10.4_p1](https://www.openssh.com/txt/release-10.4)) From 14d90774761f90b99015f8c8f27de08ce86e28a9 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 3 Aug 2026 08:12:10 +0000 Subject: [PATCH 004/195] app-admin/logrotate: Sync with Gentoo It's from Gentoo commit 26eea6f0bd95ba783f861e590012f0f0abb77117. Signed-off-by: Flatcar Buildbot --- .../app-admin/logrotate/logrotate-3.22.0-r1.ebuild | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sdk_container/src/third_party/portage-stable/app-admin/logrotate/logrotate-3.22.0-r1.ebuild b/sdk_container/src/third_party/portage-stable/app-admin/logrotate/logrotate-3.22.0-r1.ebuild index a5bc42f2201..d1d07a34b9a 100644 --- a/sdk_container/src/third_party/portage-stable/app-admin/logrotate/logrotate-3.22.0-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-admin/logrotate/logrotate-3.22.0-r1.ebuild @@ -18,7 +18,7 @@ else SRC_URI="https://github.com/${PN}/${PN}/releases/download/${PV}/${P}.tar.xz" SRC_URI+=" verify-sig? ( https://github.com/${PN}/${PN}/releases/download/${PV}/${P}.tar.xz.asc )" - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" BDEPEND="verify-sig? ( sec-keys/openpgp-keys-cgzones )" fi From 25583b2d9414c322c8834756baecb0745d28d30b Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 3 Aug 2026 08:12:10 +0000 Subject: [PATCH 005/195] app-admin/perl-cleaner: Sync with Gentoo It's from Gentoo commit 8861c37e3fe818881fc80a944bb0da1fe2817b42. Signed-off-by: Flatcar Buildbot --- ...perl-cleaner-2.31-r2.ebuild => perl-cleaner-2.31-r3.ebuild} | 3 ++- .../app-admin/perl-cleaner/perl-cleaner-9999.ebuild | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) rename sdk_container/src/third_party/portage-stable/app-admin/perl-cleaner/{perl-cleaner-2.31-r2.ebuild => perl-cleaner-2.31-r3.ebuild} (93%) diff --git a/sdk_container/src/third_party/portage-stable/app-admin/perl-cleaner/perl-cleaner-2.31-r2.ebuild b/sdk_container/src/third_party/portage-stable/app-admin/perl-cleaner/perl-cleaner-2.31-r3.ebuild similarity index 93% rename from sdk_container/src/third_party/portage-stable/app-admin/perl-cleaner/perl-cleaner-2.31-r2.ebuild rename to sdk_container/src/third_party/portage-stable/app-admin/perl-cleaner/perl-cleaner-2.31-r3.ebuild index 629cfb5cb33..4497e93b4ca 100644 --- a/sdk_container/src/third_party/portage-stable/app-admin/perl-cleaner/perl-cleaner-2.31-r2.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-admin/perl-cleaner/perl-cleaner-2.31-r3.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2025 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -25,6 +25,7 @@ IUSE="pkgcore" RDEPEND=" app-shells/bash dev-lang/perl + sys-apps/gentoo-functions pkgcore? ( sys-apps/pkgcore ) !pkgcore? ( app-portage/portage-utils diff --git a/sdk_container/src/third_party/portage-stable/app-admin/perl-cleaner/perl-cleaner-9999.ebuild b/sdk_container/src/third_party/portage-stable/app-admin/perl-cleaner/perl-cleaner-9999.ebuild index e807c33c41d..142e3e12752 100644 --- a/sdk_container/src/third_party/portage-stable/app-admin/perl-cleaner/perl-cleaner-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-admin/perl-cleaner/perl-cleaner-9999.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -25,6 +25,7 @@ IUSE="pkgcore" RDEPEND=" app-shells/bash dev-lang/perl + sys-apps/gentoo-functions pkgcore? ( sys-apps/pkgcore ) !pkgcore? ( app-portage/portage-utils From e75c4f72752b65f8a86f9f0c3c6de32ae989d8cc Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 3 Aug 2026 08:12:23 +0000 Subject: [PATCH 006/195] app-arch/libarchive: Sync with Gentoo It's from Gentoo commit 849115cb6a00b3cd2c29a11990728f39cc009633. Signed-off-by: Flatcar Buildbot --- .../app-arch/libarchive/Manifest | 6 +- ...zip.patch => libarchive-3.8.9-lrzip.patch} | 24 ++- .../libarchive/libarchive-3.8.8.ebuild | 173 ------------------ ...e-3.8.7.ebuild => libarchive-3.8.9.ebuild} | 2 +- 4 files changed, 20 insertions(+), 185 deletions(-) rename sdk_container/src/third_party/portage-stable/app-arch/libarchive/files/{libarchive-3.7.2-lrzip.patch => libarchive-3.8.9-lrzip.patch} (55%) delete mode 100644 sdk_container/src/third_party/portage-stable/app-arch/libarchive/libarchive-3.8.8.ebuild rename sdk_container/src/third_party/portage-stable/app-arch/libarchive/{libarchive-3.8.7.ebuild => libarchive-3.8.9.ebuild} (99%) diff --git a/sdk_container/src/third_party/portage-stable/app-arch/libarchive/Manifest b/sdk_container/src/third_party/portage-stable/app-arch/libarchive/Manifest index 2cf821c6705..16d1c3364de 100644 --- a/sdk_container/src/third_party/portage-stable/app-arch/libarchive/Manifest +++ b/sdk_container/src/third_party/portage-stable/app-arch/libarchive/Manifest @@ -1,4 +1,2 @@ -DIST libarchive-3.8.7.tar.xz 6012112 BLAKE2B 6ed65a679b0c55e66410454de2865e8de67eb668845ac007c7d555d6023390cf95fb93ae3d006e9fef73314f8d7c3dcb8a4a44548e48e418c4d30e15b922e828 SHA512 0673accf9ac6ede2d1c7e68419d00898f35e43130c5ec6b5fcdea85d174d8b0cc56d1d609bd5533370c3cca5f6ddd5b59fc153f2dadea2b4b5c2421a574ea352 -DIST libarchive-3.8.7.tar.xz.asc 833 BLAKE2B 61053a2d870b8d42bf858c74f5fb2646d8999af2c893b8080dd019df4b933c0b63ff0a1337afbf5b756ad8021d2920355b82ac8ac8e170e072a8da4ff1c13d71 SHA512 9a83957e5b16f186125e51bbcf383d8b37ec7904ac13cd3d542b3e8b76544ba07e722895aa4074ce562fb10dc2e3117bc252da7a6c31fa49cc887ef7e7524b66 -DIST libarchive-3.8.8.tar.xz 6559080 BLAKE2B dc210097fbd6bf2db240699dc2ad9fc6030b4179ffc02fa1de96537eb59897d964470fb1a675c76bc0691aa2f138f5cb2479495ea904124c80297c7bd84effc6 SHA512 6952aaa3f7aa275b1a678c03b3ca3a50111a1305f0eb50362b8a85599f1c13a0c771530c7caea6ddcc3c8ceead4c206abca851d8b2c4b64968773d8fd6fc64de -DIST libarchive-3.8.8.tar.xz.asc 833 BLAKE2B 38464a3a6ea238c79142f8c3c3c2af4184967d37a7333eee80f85b7da514fc115e6414fec7de90d0fa1b6456c244191deaacce934ebf3802b29898e0fa8a9d84 SHA512 db7d497493b78ed0ee4f20035aefa7eaa7bd33adf00f95400edc591082f6858576705290dae53f6d38261a6b29a35d2b6f9a5e7ccccff29276fede41c9fdb58d +DIST libarchive-3.8.9.tar.xz 6617696 BLAKE2B 4f3df81fa32231471b866a443d77069e74d25c5b806bccf9358b5e7df25e6626c882aafffbd22ff8fa6b78a009efd58827a75ce0169b0ed4a780f65968a799c7 SHA512 f37425417a9e3fdc194a2b892137452ddba6601c69e822598692d4d776c573a90e70aac4598d47c915615facc45d0c83fc46c24856ddf04afd7494b63bb9f137 +DIST libarchive-3.8.9.tar.xz.asc 833 BLAKE2B 709f6a49d3da3dc542431b5f28d955bc5c79b82ff48d3a023aa2d6dd5f664bc84ba5a6a1e9f8e39334ef1b7cbb5cd41b0e2956fc20ef72818ec963ff3134bb21 SHA512 41adf352fdb987555e5d57b97c0c47e6833bb58633f9dff504b012038f8f83aa6e51fbefe891ecfe95b7b1c648c17c5e9331c29a140a83b90f7a06605ef1e963 diff --git a/sdk_container/src/third_party/portage-stable/app-arch/libarchive/files/libarchive-3.7.2-lrzip.patch b/sdk_container/src/third_party/portage-stable/app-arch/libarchive/files/libarchive-3.8.9-lrzip.patch similarity index 55% rename from sdk_container/src/third_party/portage-stable/app-arch/libarchive/files/libarchive-3.7.2-lrzip.patch rename to sdk_container/src/third_party/portage-stable/app-arch/libarchive/files/libarchive-3.8.9-lrzip.patch index f05b46c1a34..92b9e374cd0 100644 --- a/sdk_container/src/third_party/portage-stable/app-arch/libarchive/files/libarchive-3.7.2-lrzip.patch +++ b/sdk_container/src/third_party/portage-stable/app-arch/libarchive/files/libarchive-3.8.9-lrzip.patch @@ -1,21 +1,31 @@ +From ba4dd191cc6e990468137d11174cbb2e8c4206a1 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= +Date: Wed, 29 Jul 2026 04:21:34 +0200 +Subject: [PATCH] Fix verbose output from newer lrzip + +--- + libarchive/archive_read_support_filter_lrzip.c | 2 +- + libarchive/archive_write_add_filter_lrzip.c | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + diff --git a/libarchive/archive_read_support_filter_lrzip.c b/libarchive/archive_read_support_filter_lrzip.c -index a562d538..f3ec40c4 100644 +index 33910fe1..79aa70de 100644 --- a/libarchive/archive_read_support_filter_lrzip.c +++ b/libarchive/archive_read_support_filter_lrzip.c -@@ -109,7 +109,7 @@ lrzip_bidder_init(struct archive_read_filter *self) +@@ -109,7 +109,7 @@ lrzip_bidder_init(struct archive_read_filter *f) { int r; -- r = __archive_read_program(self, "lrzip -d -q"); -+ r = __archive_read_program(self, "lrzip -d -Q"); +- r = __archive_read_program(f, "lrzip -d -q"); ++ r = __archive_read_program(f, "lrzip -d -Q"); /* Note: We set the format here even if __archive_read_program() * above fails. We do, after all, know what the format is * even if we weren't able to read it. */ diff --git a/libarchive/archive_write_add_filter_lrzip.c b/libarchive/archive_write_add_filter_lrzip.c -index fe974c93..8fe498dd 100644 +index 3bd5bc64..38de41ab 100644 --- a/libarchive/archive_write_add_filter_lrzip.c +++ b/libarchive/archive_write_add_filter_lrzip.c -@@ -133,7 +133,7 @@ archive_write_lrzip_open(struct archive_write_filter *f) +@@ -145,7 +145,7 @@ archive_write_lrzip_open(struct archive_write_filter *f) int r; archive_string_init(&as); @@ -23,4 +33,4 @@ index fe974c93..8fe498dd 100644 + archive_strcpy(&as, "lrzip -Q"); /* Specify compression type. */ - switch (data->compression) { + switch (lrzip->compression) { diff --git a/sdk_container/src/third_party/portage-stable/app-arch/libarchive/libarchive-3.8.8.ebuild b/sdk_container/src/third_party/portage-stable/app-arch/libarchive/libarchive-3.8.8.ebuild deleted file mode 100644 index 58b2d5cfe76..00000000000 --- a/sdk_container/src/third_party/portage-stable/app-arch/libarchive/libarchive-3.8.8.ebuild +++ /dev/null @@ -1,173 +0,0 @@ -# Copyright 1999-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 -inherit libtool multilib-minimal toolchain-funcs verify-sig - -DESCRIPTION="Multi-format archive and compression library" -HOMEPAGE=" - https://www.libarchive.org/ - https://github.com/libarchive/libarchive/ -" -SRC_URI=" - https://www.libarchive.de/downloads/${P}.tar.xz - verify-sig? ( https://www.libarchive.de/downloads/${P}.tar.xz.asc ) -" - -LICENSE="BSD BSD-2 BSD-4 public-domain" -SLOT="0/13" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris" -IUSE=" - acl blake2 +bzip2 +e2fsprogs expat +iconv lz4 +lzma lzo nettle - static-libs test xattr +zstd -" -RESTRICT="!test? ( test )" - -RDEPEND=" - virtual/zlib:=[${MULTILIB_USEDEP}] - acl? ( virtual/acl:=[${MULTILIB_USEDEP}] ) - blake2? ( app-crypt/libb2:=[${MULTILIB_USEDEP}] ) - bzip2? ( app-arch/bzip2:=[${MULTILIB_USEDEP}] ) - expat? ( dev-libs/expat:=[${MULTILIB_USEDEP}] ) - !expat? ( dev-libs/libxml2:=[${MULTILIB_USEDEP}] ) - iconv? ( virtual/libiconv:=[${MULTILIB_USEDEP}] ) - dev-libs/openssl:=[${MULTILIB_USEDEP}] - lz4? ( >=app-arch/lz4-0_p131:=[${MULTILIB_USEDEP}] ) - lzma? ( >=app-arch/xz-utils-5.2.5-r1:=[${MULTILIB_USEDEP}] ) - lzo? ( >=dev-libs/lzo-2:=[${MULTILIB_USEDEP}] ) - nettle? ( dev-libs/nettle:=[${MULTILIB_USEDEP}] ) - zstd? ( app-arch/zstd:=[${MULTILIB_USEDEP}] ) -" -DEPEND=" - ${RDEPEND} - virtual/os-headers - elibc_musl? ( sys-libs/queue-standalone ) - e2fsprogs? ( sys-fs/e2fsprogs[${MULTILIB_USEDEP}] ) - test? ( - app-arch/lrzip - app-arch/lz4 - app-arch/lzip - app-arch/lzop - app-arch/xz-utils - app-arch/zstd - lzma? ( app-arch/xz-utils[extra-filters(+)] ) - ) -" -BDEPEND=" - virtual/pkgconfig - verify-sig? ( >=sec-keys/openpgp-keys-libarchive-20251118 ) -" - -VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/libarchive.org.asc - -# false positives (checks for libc-defined hash functions) -QA_CONFIG_IMPL_DECL_SKIP=( - SHA256_Init SHA256_Update SHA256_Final - SHA384_Init SHA384_Update SHA384_Final - SHA512_Init SHA512_Update SHA512_Final -) - -PATCHES=( - # https://github.com/libarchive/libarchive/issues/2069 - # (we can simply update the command since we don't support old lrzip) - "${FILESDIR}/${PN}-3.7.2-lrzip.patch" -) - -src_prepare() { - default - - # Needed for flags to be respected w/ LTO - elibtoolize -} - -multilib_src_configure() { - export ac_cv_header_ext2fs_ext2_fs_h=$(usex e2fsprogs) #354923 - - local myconf=( - $(use_enable acl) - $(use_enable static-libs static) - $(use_enable xattr) - $(use_with blake2 libb2) - $(use_with bzip2 bz2lib) - $(use_with expat) - $(use_with !expat xml2) - $(use_with iconv) - $(use_with lz4) - $(use_with lzma) - $(use_with lzo lzo2) - $(use_with nettle) - --with-zlib - $(use_with zstd) - - # Windows-specific - --without-cng - ) - if multilib_is_native_abi ; then - myconf+=( - --enable-bsdcat="$(tc-is-static-only && echo static || echo shared)" - --enable-bsdcpio="$(tc-is-static-only && echo static || echo shared)" - --enable-bsdtar="$(tc-is-static-only && echo static || echo shared)" - --enable-bsdunzip="$(tc-is-static-only && echo static || echo shared)" - ) - else - myconf+=( - --disable-bsdcat - --disable-bsdcpio - --disable-bsdtar - --disable-bsdunzip - ) - fi - - ECONF_SOURCE="${S}" econf "${myconf[@]}" -} - -multilib_src_compile() { - if multilib_is_native_abi ; then - emake - else - emake libarchive.la - fi -} - -src_test() { - mkdir -p "${T}"/bin || die - # tests fail when lbzip2[symlink] is used in place of ref bunzip2 - ln -s "${BROOT}/bin/bunzip2" "${T}"/bin || die - # workaround lrzip broken on 32-bit arches with >= 10 threads - # https://bugs.gentoo.org/927766 - cat > "${T}"/bin/lrzip <<-EOF || die - #!/bin/sh - exec "$(type -P lrzip)" -p1 "\${@}" - EOF - chmod +x "${T}/bin/lrzip" || die - local -x PATH=${T}/bin:${PATH} - multilib-minimal_src_test -} - -multilib_src_test() { - # sandbox is breaking long symlink behavior - local -x SANDBOX_ON=0 - local -x LD_PRELOAD= - # some locales trigger different output that breaks tests - local -x LC_ALL=C.UTF-8 - emake check -} - -multilib_src_install() { - if multilib_is_native_abi ; then - emake DESTDIR="${D}" install - else - local install_targets=( - install-includeHEADERS - install-libLTLIBRARIES - install-pkgconfigDATA - ) - emake DESTDIR="${D}" "${install_targets[@]}" - fi - - # Libs.private: should be used from libarchive.pc instead - find "${ED}" -type f -name "*.la" -delete || die - # https://github.com/libarchive/libarchive/issues/1766 - sed -e '/Requires\.private/s:iconv::' \ - -i "${ED}/usr/$(get_libdir)/pkgconfig/libarchive.pc" || die -} diff --git a/sdk_container/src/third_party/portage-stable/app-arch/libarchive/libarchive-3.8.7.ebuild b/sdk_container/src/third_party/portage-stable/app-arch/libarchive/libarchive-3.8.9.ebuild similarity index 99% rename from sdk_container/src/third_party/portage-stable/app-arch/libarchive/libarchive-3.8.7.ebuild rename to sdk_container/src/third_party/portage-stable/app-arch/libarchive/libarchive-3.8.9.ebuild index 99a126cd2e0..ae9e2412ed8 100644 --- a/sdk_container/src/third_party/portage-stable/app-arch/libarchive/libarchive-3.8.7.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-arch/libarchive/libarchive-3.8.9.ebuild @@ -70,7 +70,7 @@ QA_CONFIG_IMPL_DECL_SKIP=( PATCHES=( # https://github.com/libarchive/libarchive/issues/2069 # (we can simply update the command since we don't support old lrzip) - "${FILESDIR}/${PN}-3.7.2-lrzip.patch" + "${FILESDIR}/${PN}-3.8.9-lrzip.patch" ) src_prepare() { From 902ccfa899ff26946655767249ffe5af94ed4caa Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 3 Aug 2026 08:12:34 +0000 Subject: [PATCH 007/195] app-containers/aardvark-dns: Sync with Gentoo It's from Gentoo commit 2bc085bd16ce55b6b6d739181524efcba10e43ae. Signed-off-by: Flatcar Buildbot --- .../app-containers/aardvark-dns/Manifest | 4 -- .../aardvark-dns/aardvark-dns-1.15.0.ebuild | 47 ------------------ .../aardvark-dns/aardvark-dns-1.17.0.ebuild | 49 ------------------- .../aardvark-dns/aardvark-dns-1.17.1.ebuild | 2 +- .../aardvark-dns/aardvark-dns-9999.ebuild | 4 +- 5 files changed, 3 insertions(+), 103 deletions(-) delete mode 100644 sdk_container/src/third_party/portage-stable/app-containers/aardvark-dns/aardvark-dns-1.15.0.ebuild delete mode 100644 sdk_container/src/third_party/portage-stable/app-containers/aardvark-dns/aardvark-dns-1.17.0.ebuild diff --git a/sdk_container/src/third_party/portage-stable/app-containers/aardvark-dns/Manifest b/sdk_container/src/third_party/portage-stable/app-containers/aardvark-dns/Manifest index 66f4ee9f655..e2e843ecd4e 100644 --- a/sdk_container/src/third_party/portage-stable/app-containers/aardvark-dns/Manifest +++ b/sdk_container/src/third_party/portage-stable/app-containers/aardvark-dns/Manifest @@ -1,8 +1,4 @@ -DIST aardvark-dns-1.15.0.crate 59884 BLAKE2B 6be0126b526359b1c402a6f10cfe9b28b9d351621b0f1e9556150fb2477a2c468938dbac1c11bde3eff6deb258ccfa6ed05e6f2a01206d3e08f1e88193016432 SHA512 963d68a662439ea920fbeec08eaa3b9fb486f5e61e46b702b0c9211241c3b1057ce573bac1f75ed558faa0cc99b0f36b7f5299c296e30b6ce6ed046a02cd9782 -DIST aardvark-dns-1.17.0.crate 62370 BLAKE2B 7105e4c96e973d6cbda48d7db957423a0743330c53fd694be14951b85ba162624ffa3d96d6737856d7e5d39910a26403a4ab11e912317d6449a85642c8c5d236 SHA512 f8cc4f39b9a16106a7fbe08c94558507e0519018709ceb80474696be24328626f76aedf9bdd12c853be0728f4e9c57e945b442e7f66c22042e25410a690b69e0 DIST aardvark-dns-1.17.1.crate 62779 BLAKE2B 487b8de4d01df37ca8eef8b911f8231db1df4417a61b921e1c109661af0270115b8941d56493a468a6ecd58174c0074a5c8687c8d4ae6d21bfc028efae45d663 SHA512 eee8ecd47626093dd2f0a60f862593c035efc87fd4ba9fc209c93f75ca624300bc70ecc11a3828198eb36ff97ab0bb32ba090c0708793279117793876ede47a3 DIST aardvark-dns-2.0.0.crate 60884 BLAKE2B c883311c633b069a52fe07d0a6ccdd1958cfc79cb8d8d96373685e56ecf500119b7287680a0be46359125631442e0d5cd2a82e0a4ce181102c363612968e1257 SHA512 8ff50f93015ab1d343ce42a81bdbede016e77e5709f111f1085df2b1a9a683694ccde16d4267092055f1b30ac335f1dabb6d6b8932e0225159ebd9b2bfab9df2 -DIST aardvark-dns-v1.15.0-vendor.tar.gz 9910590 BLAKE2B 876be4b719cf7d364dbd8ce04a3984d32b24dfba81ece1ce56d1f3e3f80f2607eefd77ff7dece2a678240b1f996cb498ae81f1be06c8f7eaa696eb6001090e4b SHA512 fbe6e77a2d412ed34bcf2c710db3aa8989a5887ab475988c393fb1c49584cac5b09a34b82e880eebe81c59af7817985af87391ffb8421da07abf080704cae5c0 -DIST aardvark-dns-v1.17.0-vendor.tar.gz 10267613 BLAKE2B 72b5da08584c5a35188d50646ec98b6463578b09520121224807e3770d6e911b12f61597ca5852be75a8e9de9ade02d507f490ff3a414e681fe31076930dde78 SHA512 b7ec2a2a34d5bb36dbcc55611dc9ec0ff2c1bed4469cc4b12d4eb0bd78bb7d6cae6f80a02ac32ade5c435fdd11e22ddd99646aa4de504c8369ee56cfa470e6a5 DIST aardvark-dns-v1.17.1-vendor.tar.gz 10267576 BLAKE2B 984a27b5dbd773d9fa2db7123e8bd16f59407249caa1ab203d76bd1626b63e7bbadcf9a32e46b087d8cbb38442e7203bd810ce8d45c988e24c3237ea282def0a SHA512 ce6768f90a731a55511fdb78f8048ed3c5ff4b058d3edfc7832430330a239b58b6250851c6a268706f24b4fc94f47afd6ce4c1e4cbb1132e0dc7a2d0127d62ff DIST aardvark-dns-v2.0.0-vendor.tar.gz 10533784 BLAKE2B 96792ab9a38b0e7a1c05a8536a617ecaa5f2da5b1b3a530cd7fff4cae8f6a62739b3186c57be360d678bc0f024a876df4e9ddac030a828e1914796bf0d669189 SHA512 dc7d72dd8dc18031be55578e12c911f73137632e5c92a04a53a85bcf99b7dae4ad4faddc483a99e3cf5d5cab6a8e22d09bc47e6ae38ce15e7ba9b07fc10e9ea4 diff --git a/sdk_container/src/third_party/portage-stable/app-containers/aardvark-dns/aardvark-dns-1.15.0.ebuild b/sdk_container/src/third_party/portage-stable/app-containers/aardvark-dns/aardvark-dns-1.15.0.ebuild deleted file mode 100644 index bdd917d608e..00000000000 --- a/sdk_container/src/third_party/portage-stable/app-containers/aardvark-dns/aardvark-dns-1.15.0.ebuild +++ /dev/null @@ -1,47 +0,0 @@ -# Copyright 2023-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -[[ ${PV} == 9999* ]] || CRATES="${PN}@${PV}" -inherit cargo - -DESCRIPTION="A container-focused DNS server" -HOMEPAGE="https://github.com/containers/aardvark-dns" - -if [[ ${PV} == 9999* ]]; then - inherit git-r3 - EGIT_REPO_URI="https://github.com/containers/aardvark-dns.git" -else - SRC_URI="${CARGO_CRATE_URIS}" - SRC_URI+="https://github.com/containers/aardvark-dns/releases/download/v${PV}/${PN}-v${PV}-vendor.tar.gz" - KEYWORDS="amd64 arm64 ~loong ~ppc64 ~riscv" -fi - -# main -LICENSE="Apache-2.0" -# deps -LICENSE+=" 0BSD Apache-2.0-with-LLVM-exceptions MIT Unlicense Unicode-DFS-2016 ZLIB" -SLOT="0" -QA_FLAGS_IGNORED="usr/libexec/podman/${PN}" -QA_PRESTRIPPED="usr/libexec/podman/${PN}" -ECARGO_VENDOR="${WORKDIR}/vendor" - -src_unpack() { - if [[ ${PV} == 9999* ]]; then - git-r3_src_unpack - cargo_live_src_unpack - else - cargo_src_unpack - fi -} - -src_prepare() { - default - sed -i -e "s|m0755 bin|m0755 $(cargo_target_dir)|g;" Makefile || die -} - -src_install() { - export PREFIX="${EPREFIX}"/usr - default -} diff --git a/sdk_container/src/third_party/portage-stable/app-containers/aardvark-dns/aardvark-dns-1.17.0.ebuild b/sdk_container/src/third_party/portage-stable/app-containers/aardvark-dns/aardvark-dns-1.17.0.ebuild deleted file mode 100644 index 923193403ec..00000000000 --- a/sdk_container/src/third_party/portage-stable/app-containers/aardvark-dns/aardvark-dns-1.17.0.ebuild +++ /dev/null @@ -1,49 +0,0 @@ -# Copyright 2023-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -RUST_MIN_VER="1.87.0" -[[ ${PV} == 9999* ]] || CRATES="${PN}@${PV}" -inherit cargo - -DESCRIPTION="A container-focused DNS server" -HOMEPAGE="https://github.com/containers/aardvark-dns" - -if [[ ${PV} == 9999* ]]; then - inherit git-r3 - EGIT_REPO_URI="https://github.com/containers/aardvark-dns.git" -else - SRC_URI="${CARGO_CRATE_URIS}" - SRC_URI+="https://github.com/containers/aardvark-dns/releases/download/v${PV}/${PN}-v${PV}-vendor.tar.gz" - KEYWORDS="amd64 arm64 ~loong ~ppc64 ~riscv" -fi - -# main -LICENSE="Apache-2.0" -# deps -LICENSE+=" 0BSD Apache-2.0-with-LLVM-exceptions MIT Unlicense Unicode-DFS-2016 ZLIB" -SLOT="0" - -QA_FLAGS_IGNORED="usr/libexec/podman/${PN}" -QA_PRESTRIPPED="usr/libexec/podman/${PN}" -ECARGO_VENDOR="${WORKDIR}/vendor" - -src_unpack() { - if [[ ${PV} == 9999* ]]; then - git-r3_src_unpack - cargo_live_src_unpack - else - cargo_src_unpack - fi -} - -src_prepare() { - default - sed -i -e "s|m0755 bin|m0755 $(cargo_target_dir)|g;" Makefile || die -} - -src_install() { - local -x PREFIX="${EPREFIX}"/usr - default -} diff --git a/sdk_container/src/third_party/portage-stable/app-containers/aardvark-dns/aardvark-dns-1.17.1.ebuild b/sdk_container/src/third_party/portage-stable/app-containers/aardvark-dns/aardvark-dns-1.17.1.ebuild index 7710b5e98cd..6b601ccec01 100644 --- a/sdk_container/src/third_party/portage-stable/app-containers/aardvark-dns/aardvark-dns-1.17.1.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-containers/aardvark-dns/aardvark-dns-1.17.1.ebuild @@ -3,7 +3,7 @@ EAPI=8 -RUST_MIN_VER="1.88.0" +RUST_MIN_VER="1.86.0" [[ ${PV} == 9999* ]] || CRATES="${PN}@${PV}" inherit cargo diff --git a/sdk_container/src/third_party/portage-stable/app-containers/aardvark-dns/aardvark-dns-9999.ebuild b/sdk_container/src/third_party/portage-stable/app-containers/aardvark-dns/aardvark-dns-9999.ebuild index 1272b60d093..7eae965ad9c 100644 --- a/sdk_container/src/third_party/portage-stable/app-containers/aardvark-dns/aardvark-dns-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-containers/aardvark-dns/aardvark-dns-9999.ebuild @@ -1,9 +1,9 @@ -# Copyright 2023-2025 Gentoo Authors +# Copyright 2023-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 -RUST_MIN_VER="1.87.0" +RUST_MIN_VER="1.88.0" [[ ${PV} == 9999* ]] || CRATES="${PN}@${PV}" inherit cargo From 2582afab4e36bce6e7da6222ccaad71e3fdedd05 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 3 Aug 2026 08:12:36 +0000 Subject: [PATCH 008/195] app-containers/conmon: Sync with Gentoo It's from Gentoo commit a934a8ca9c04f1d5cb108d3b8868a83d8c72bd8a. Signed-off-by: Flatcar Buildbot --- .../app-containers/conmon/conmon-2.2.1.ebuild | 8 +++++-- .../app-containers/conmon/conmon-9999.ebuild | 23 ++++++++++++------- 2 files changed, 21 insertions(+), 10 deletions(-) diff --git a/sdk_container/src/third_party/portage-stable/app-containers/conmon/conmon-2.2.1.ebuild b/sdk_container/src/third_party/portage-stable/app-containers/conmon/conmon-2.2.1.ebuild index 50c6c665153..14ff07840c6 100644 --- a/sdk_container/src/third_party/portage-stable/app-containers/conmon/conmon-2.2.1.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-containers/conmon/conmon-2.2.1.ebuild @@ -33,14 +33,18 @@ BDEPEND="dev-go/go-md2man" src_prepare() { default - sed -i -e "s|shell.*--exists libsystemd.* && echo \"0\"|shell echo $(usex systemd 0 1)|g;" Makefile || die + sed -i \ + -e "s|shell.*--exists libsystemd.* && echo \"0\"|shell echo $(usex systemd 0 1)|g;" \ + -e "s|install.bin: bin/conmon|install.bin:|g;" \ + -e "s|install: install.bin docs|install: install.bin|g;" Makefile || die echo -e "#!/usr/bin/env bash\necho $(usex seccomp 0 1)" > hack/seccomp-notify.sh || die } src_compile() { tc-export CC PKG_CONFIG export PREFIX="${EPREFIX}/usr" GOMD2MAN=$(command -v go-md2man) - default + [[ "${PV}" == 9999* ]] && { local ADD_GIT_INFO=git-vars || die ; } + emake "${ADD_GIT_INFO}" bin bin/conmon docs } src_install() { diff --git a/sdk_container/src/third_party/portage-stable/app-containers/conmon/conmon-9999.ebuild b/sdk_container/src/third_party/portage-stable/app-containers/conmon/conmon-9999.ebuild index 0c40a76b571..14ff07840c6 100644 --- a/sdk_container/src/third_party/portage-stable/app-containers/conmon/conmon-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-containers/conmon/conmon-9999.ebuild @@ -21,27 +21,34 @@ SLOT="0" IUSE="+seccomp selinux systemd" RESTRICT="test" -RDEPEND="dev-libs/glib:= +DEPEND=" + dev-libs/glib:= seccomp? ( sys-libs/libseccomp ) - systemd? ( sys-apps/systemd:= )" -DEPEND="${RDEPEND}" + systemd? ( sys-apps/systemd:= ) +" +RDEPEND="${DEPEND} + selinux? ( sec-policy/selinux-podman ) +" BDEPEND="dev-go/go-md2man" -RDEPEND+=" selinux? ( sec-policy/selinux-podman )" src_prepare() { default - sed -i -e "s|shell.*--exists libsystemd.* && echo \"0\"|shell echo $(usex systemd 0 1)|g;" Makefile || die + sed -i \ + -e "s|shell.*--exists libsystemd.* && echo \"0\"|shell echo $(usex systemd 0 1)|g;" \ + -e "s|install.bin: bin/conmon|install.bin:|g;" \ + -e "s|install: install.bin docs|install: install.bin|g;" Makefile || die echo -e "#!/usr/bin/env bash\necho $(usex seccomp 0 1)" > hack/seccomp-notify.sh || die } src_compile() { tc-export CC PKG_CONFIG export PREFIX="${EPREFIX}/usr" GOMD2MAN=$(command -v go-md2man) - default + [[ "${PV}" == 9999* ]] && { local ADD_GIT_INFO=git-vars || die ; } + emake "${ADD_GIT_INFO}" bin bin/conmon docs } src_install() { default - dodir /usr/libexec/podman - dosym ../../bin/"${PN}" /usr/libexec/podman/"${PN}" + dosym -r /usr/bin/"${PN}" /usr/libexec/crio/"${PN}" + dosym -r /usr/bin/"${PN}" /usr/libexec/podman/"${PN}" } From 7172eda6d9fb22bc3a10b32a4802466a0582c47c Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 3 Aug 2026 08:12:36 +0000 Subject: [PATCH 009/195] app-containers/containerd: Sync with Gentoo It's from Gentoo commit 7aa35664605c2c323f160612fd3b2f392d2d6cf8. Signed-off-by: Flatcar Buildbot --- .../app-containers/containerd/Manifest | 14 +-- .../containerd/containerd-2.0.2.ebuild | 89 ------------------ .../containerd/containerd-2.0.3.ebuild | 89 ------------------ .../containerd/containerd-2.0.4.ebuild | 89 ------------------ .../containerd/containerd-2.0.5.ebuild | 89 ------------------ .../containerd/containerd-2.0.7.ebuild | 89 ------------------ .../containerd/containerd-2.1.0.ebuild | 89 ------------------ .../containerd/containerd-2.1.1.ebuild | 94 ------------------- .../containerd/containerd-2.1.4.ebuild | 93 ------------------ .../containerd/containerd-2.1.5.ebuild | 93 ------------------ .../containerd/containerd-2.2.0.ebuild | 93 ------------------ ....2.5.ebuild => containerd-2.2.5-r1.ebuild} | 5 +- ....2.2.ebuild => containerd-2.3.2-r1.ebuild} | 6 +- ...d-2.2.1.ebuild => containerd-2.3.3.ebuild} | 26 +++-- 14 files changed, 20 insertions(+), 938 deletions(-) delete mode 100644 sdk_container/src/third_party/portage-stable/app-containers/containerd/containerd-2.0.2.ebuild delete mode 100644 sdk_container/src/third_party/portage-stable/app-containers/containerd/containerd-2.0.3.ebuild delete mode 100644 sdk_container/src/third_party/portage-stable/app-containers/containerd/containerd-2.0.4.ebuild delete mode 100644 sdk_container/src/third_party/portage-stable/app-containers/containerd/containerd-2.0.5.ebuild delete mode 100644 sdk_container/src/third_party/portage-stable/app-containers/containerd/containerd-2.0.7.ebuild delete mode 100644 sdk_container/src/third_party/portage-stable/app-containers/containerd/containerd-2.1.0.ebuild delete mode 100644 sdk_container/src/third_party/portage-stable/app-containers/containerd/containerd-2.1.1.ebuild delete mode 100644 sdk_container/src/third_party/portage-stable/app-containers/containerd/containerd-2.1.4.ebuild delete mode 100644 sdk_container/src/third_party/portage-stable/app-containers/containerd/containerd-2.1.5.ebuild delete mode 100644 sdk_container/src/third_party/portage-stable/app-containers/containerd/containerd-2.2.0.ebuild rename sdk_container/src/third_party/portage-stable/app-containers/containerd/{containerd-2.2.5.ebuild => containerd-2.2.5-r1.ebuild} (96%) rename sdk_container/src/third_party/portage-stable/app-containers/containerd/{containerd-2.2.2.ebuild => containerd-2.3.2-r1.ebuild} (91%) rename sdk_container/src/third_party/portage-stable/app-containers/containerd/{containerd-2.2.1.ebuild => containerd-2.3.3.ebuild} (88%) diff --git a/sdk_container/src/third_party/portage-stable/app-containers/containerd/Manifest b/sdk_container/src/third_party/portage-stable/app-containers/containerd/Manifest index fd0574ac3b5..d932d0806d8 100644 --- a/sdk_container/src/third_party/portage-stable/app-containers/containerd/Manifest +++ b/sdk_container/src/third_party/portage-stable/app-containers/containerd/Manifest @@ -1,13 +1,3 @@ -DIST containerd-2.0.2.tar.gz 10379986 BLAKE2B aee39f749f056965b899f6525bebe00d46b72b6c437efbd01ed890c5ae9c5d812464bc6d10e32aea20fd0c6df00d98cd30502dd73f9a27b0d8d143a5542976d9 SHA512 86eb24acfa5d4d87ae396f8888e2484693823fad897a29f1a5ada78e2318640927cfcff1e85415bfd6c66f5417e582203eb94976d52e3dd373997e6e2cbae354 -DIST containerd-2.0.3.tar.gz 10450757 BLAKE2B 5dec56a40dc2874fb0b6fd4d72704f6417858eefd983c8ec5dfb2c9ef8be1e9e309cff83395e03c2d5fef30ed5c0561329ffbcd3dfba91e40d8017f7a605771b SHA512 9528a65d9d9f13d15d861f7ce71ab483958020bda83947d18868b477204e9e2e33eccc69280502c54b2be9ce577724e3e2b1772229c99636099b04bac1079ac1 -DIST containerd-2.0.4.tar.gz 10450939 BLAKE2B f82ed40eab0f1d186f4fb04217b8f75a9da8e33b1140c0b5866dcc61e17fe1040f31ef09bdb07ad98a52def5e9eb12cfeb635e96b2c5f64fdb4d8cfb6c84b885 SHA512 f84e0cc0b82313df010b95989faf56e81ebfbbc321585b968c8c706917b91a9f0d895692fa5046f24f1c370de7a74b50daf83da617fe0595e5a8ff69ed658727 -DIST containerd-2.0.5.tar.gz 10452563 BLAKE2B bf03316c9211eaa17a3b40b1fc9f9aca42fe3e621e086e612eb07c286c6b62bc7a0a2426ce7b6742dce2924d570ab599aefb43463c4fa6be277e562bad79668f SHA512 af89a5c9ad5f931c5fee33c75c13c296fc9ec966f2c64ec244897695eebb365bcb542f6b431e60d4ef7213f0ea11d3a8896d1b7f033ed445e6b521b7ddbffe6f -DIST containerd-2.0.7.tar.gz 10465656 BLAKE2B 656787c91e913fee32af282bfe82dd78a2732b113ff06adb157787efd5ddca31d13e7acf26e5e59ef51d233ecdee8b89200a9a8048e8422b6d4bd272a047c1ac SHA512 393e6f6357806367b7e007da7f2a951fb4330750d4e16c8e612f49c9b5d62a9f6a2b866dc12317da11dc75f2f2cd7e2e9b5118a3f07e5a68d3475d0449844a4f -DIST containerd-2.1.0.tar.gz 10610618 BLAKE2B 147c21b4650543af9b0e533e381a0505ba927d6e9270b9b03a09016eb3ccf29875db7fa274944fea2ff7b029b6a05a17d14c61e24b5f3426b31f320831eeb46a SHA512 e9bb128917bb6b2e21a8e05344af3fdcdda8620be20e54407bc2c73046278a88a77bcbed6ef7a59099c9ee3303283db46b90b71afdd45236d3c534749ba844e0 -DIST containerd-2.1.1.tar.gz 10610787 BLAKE2B acc2d769752c783643795d228c0d267b0802e09166dc783e84087da0029a822a64688f5e59c047c47b25f50ca2a1ccb7f5b6216ad6beeb4489df308e525e9716 SHA512 542f7cae61e1ef2e1b529b0bea66d7ad9016d4605de73de9c9c8a738e50ec6f470b939d1546482320515b77424bffe1cf24b721173ac0c0ecd0100c92817cfb1 -DIST containerd-2.1.4.tar.gz 10614131 BLAKE2B b8f4007b4bb368a1fa04c913d606f65d2ea4a17a6419ce12f2b6112eee2574d7a09fb8e2500d1c2f21bef8792dc047df4d63446211ae006662e616facda91f24 SHA512 a9f84784e917621ee5ea38ad20b8106e642fbf463a00d319b73a1a8e4d1fdd5be2fba0789b6a5d31107ef239d3713eced99ce979d4b2764714271a63c0936c15 -DIST containerd-2.1.5.tar.gz 10622156 BLAKE2B b612e9606554d492f59d4665dcbd85b0fdfa3316ecff3a2122357f8d8ef68991a2b77c367e3a7143efb768e9a78ee82ace9ffdc0832a9eb4ec37e98b0f827840 SHA512 6376228edf615b1ff3d40287622d4f72793be091d59d5d7e97f7bdc4f265aa4412f4a5dd1937ef795e54aa5ee8a87d785e859d7c6525a25fa86631b878cefc59 -DIST containerd-2.2.0.tar.gz 11475770 BLAKE2B 154d7d547d52925ff46431cea20db38dc72ec87ef90fd112472cb3ec7f2ebd8cfb121f98a3bc3870f8452473b35c3e1c84671b9fc31347f98259b34a70e740f9 SHA512 3121a1e0401e0283ff9d8454e945b427bcb0214e7e67271815117cb82dee1488c4d963c2193eb9c0ab5d395dd2e2705975ac31ce3e400264933d05d62fd0faac -DIST containerd-2.2.1.tar.gz 11492859 BLAKE2B 5ee7a5388ec5a247a530be505068162318505741e77ab2a103ba8a33c3e76fbac55a64504429f9c636e41cb4826e1acc6b7f817398928a0d6b8ebd94797b8b7b SHA512 6bbfe356bdb0fd70c5b3ca0d932b790bb34b40832392e6a309a907351dc344e3b6059e2cd583145200aab218b4e8f5160d698f2b3a84d05bbf834d023eea4bd3 -DIST containerd-2.2.2.tar.gz 11531809 BLAKE2B 6605d5d2de275c9485dd92d4e56fc87853a4fe45cdc78e0a5f7d5178525f6e6925ea765e29bf3a4891dc318062a7577c7628fd63df451a2ba404852e0b5f0224 SHA512 4471047360cd1430a189829a74d605dbe89abe092f0e0ba53ad5954269f253c7c277b8097c5d12acb9e0592a39e50e1808c92e73596e3d2d97cf945f15063ca0 DIST containerd-2.2.5.tar.gz 10922595 BLAKE2B 2f6a4653d3b5dcb7a82e9255e7557d5e92c1c65f344abce4fe44bebde2727cc6a414be235e9cdcebaca1660326dfa249cf3f559505e3c7529bf463199a0e3f4c SHA512 5d658c8daa48e3b5369995847d15e3dae4367e7221a5a34115bb74723707053378a2d489b29e6f2742e04bdfc2362c02df34fcb403fc0adb144e19bd352d7741 +DIST containerd-2.3.2.tar.gz 11653431 BLAKE2B eae465cfa0f2a3a4bb231dcf9e18b93e9644be6ff11fb04d712367a74adce5456a3f15811fcbb0c1f78ca9b5ae32077d8e8a476d09c7913ffab82fe23d00369d SHA512 2ce4744e0a93917fa45c2930c22853315577f217fe66d4761a96f4289241cdc930b52e8f646a28e0277747396f031964085c03885824a2f12dd6950ab651b348 +DIST containerd-2.3.3.tar.gz 11655312 BLAKE2B 9ddc68a0e6c0dd844e6f27a3df4e4e2c461ba1feb473f76b3da4f1d23a25bd6c159695d57a9775d8d638c2bd353a622eb8462124015f993008c763b7d2809473 SHA512 a2a8a30d5251b5d0f9be75f44972509e05ce2b206c3b488b8fb15828e44982aeec6c54cfb65ddc3309c974293496f77b096f0c2ee541b3ece8ef81f36abec6b8 diff --git a/sdk_container/src/third_party/portage-stable/app-containers/containerd/containerd-2.0.2.ebuild b/sdk_container/src/third_party/portage-stable/app-containers/containerd/containerd-2.0.2.ebuild deleted file mode 100644 index 86430c16562..00000000000 --- a/sdk_container/src/third_party/portage-stable/app-containers/containerd/containerd-2.0.2.ebuild +++ /dev/null @@ -1,89 +0,0 @@ -# Copyright 2022-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 -inherit go-module systemd -GIT_REVISION=c507a0257ea6462fbd6f5ba4f5c74facb04021f4 - -DESCRIPTION="A daemon to control runC" -HOMEPAGE="https://containerd.io/" -SRC_URI="https://github.com/containerd/containerd/archive/v${PV}.tar.gz -> ${P}.tar.gz" - -LICENSE="Apache-2.0" -SLOT="0" -KEYWORDS="amd64 ~arm arm64 ppc64 ~riscv ~x86" -IUSE="apparmor btrfs device-mapper +cri +seccomp selinux test" - -COMMON_DEPEND=" - btrfs? ( sys-fs/btrfs-progs ) - seccomp? ( sys-libs/libseccomp ) -" - -DEPEND=" -${COMMON_DEPEND} -" - -# recommended minimum version of runc is found in script/setup/runc-version -RDEPEND=" - ${COMMON_DEPEND} - >=app-containers/runc-1.2.4[apparmor?,seccomp?] -" - -BDEPEND=" - dev-go/go-md2man - virtual/pkgconfig -" - -# tests require root or docker -RESTRICT+="test" - -src_prepare() { - default - sed -i \ - -e "s/-s -w//" \ - -e "s/-mod=readonly//" \ - Makefile || die - sed -i \ - -e "s:/usr/local:/usr:" \ - containerd.service || die -} - -src_compile() { - local options=( - $(usev apparmor) - $(usex btrfs "" "no_btrfs") - $(usex cri "" "no_cri") - $(usex device-mapper "" "no_devmapper") - $(usev seccomp) - $(usev selinux) - ) - - myemakeargs=( - BUILDTAGS="${options[*]}" - REVISION="${GIT_REVISION}" - VERSION=v${PV} - ) - - # race condition in man target https://bugs.gentoo.org/765100 - # we need to explicitly specify GOFLAGS for "go run" to use vendor source - emake "${myemakeargs[@]}" man -j1 #nowarn - emake "${myemakeargs[@]}" all - -} - -src_install() { - rm bin/gen-manpages || die - dobin bin/* - doman man/* - newconfd "${FILESDIR}"/${PN}.confd "${PN}" - newinitd "${FILESDIR}"/${PN}.initd "${PN}" - systemd_dounit containerd.service - keepdir /var/lib/containerd - - # we already installed manpages, remove markdown source - # before installing docs directory - rm -r docs/man || die - - local DOCS=( ADOPTERS.md README.md RELEASES.md ROADMAP.md SCOPE.md docs/. ) - einstalldocs -} diff --git a/sdk_container/src/third_party/portage-stable/app-containers/containerd/containerd-2.0.3.ebuild b/sdk_container/src/third_party/portage-stable/app-containers/containerd/containerd-2.0.3.ebuild deleted file mode 100644 index fd381f673c8..00000000000 --- a/sdk_container/src/third_party/portage-stable/app-containers/containerd/containerd-2.0.3.ebuild +++ /dev/null @@ -1,89 +0,0 @@ -# Copyright 2022-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 -inherit go-module systemd -GIT_REVISION=06b99ca80cdbfbc6cc8bd567021738c9af2b36ce - -DESCRIPTION="A daemon to control runC" -HOMEPAGE="https://containerd.io/" -SRC_URI="https://github.com/containerd/containerd/archive/v${PV}.tar.gz -> ${P}.tar.gz" - -LICENSE="Apache-2.0" -SLOT="0" -KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86" -IUSE="apparmor btrfs device-mapper +cri +seccomp selinux test" - -COMMON_DEPEND=" - btrfs? ( sys-fs/btrfs-progs ) - seccomp? ( sys-libs/libseccomp ) -" - -DEPEND=" -${COMMON_DEPEND} -" - -# recommended minimum version of runc is found in script/setup/runc-version -RDEPEND=" - ${COMMON_DEPEND} - >=app-containers/runc-1.2.5[apparmor?,seccomp?] -" - -BDEPEND=" - dev-go/go-md2man - virtual/pkgconfig -" - -# tests require root or docker -RESTRICT+="test" - -src_prepare() { - default - sed -i \ - -e "s/-s -w//" \ - -e "s/-mod=readonly//" \ - Makefile || die - sed -i \ - -e "s:/usr/local:/usr:" \ - containerd.service || die -} - -src_compile() { - local options=( - $(usev apparmor) - $(usex btrfs "" "no_btrfs") - $(usex cri "" "no_cri") - $(usex device-mapper "" "no_devmapper") - $(usev seccomp) - $(usev selinux) - ) - - myemakeargs=( - BUILDTAGS="${options[*]}" - REVISION="${GIT_REVISION}" - VERSION=v${PV} - ) - - # race condition in man target https://bugs.gentoo.org/765100 - # we need to explicitly specify GOFLAGS for "go run" to use vendor source - emake "${myemakeargs[@]}" man -j1 #nowarn - emake "${myemakeargs[@]}" all - -} - -src_install() { - rm bin/gen-manpages || die - dobin bin/* - doman man/* - newconfd "${FILESDIR}"/${PN}.confd "${PN}" - newinitd "${FILESDIR}"/${PN}.initd "${PN}" - systemd_dounit containerd.service - keepdir /var/lib/containerd - - # we already installed manpages, remove markdown source - # before installing docs directory - rm -r docs/man || die - - local DOCS=( ADOPTERS.md README.md RELEASES.md ROADMAP.md SCOPE.md docs/. ) - einstalldocs -} diff --git a/sdk_container/src/third_party/portage-stable/app-containers/containerd/containerd-2.0.4.ebuild b/sdk_container/src/third_party/portage-stable/app-containers/containerd/containerd-2.0.4.ebuild deleted file mode 100644 index fd381f673c8..00000000000 --- a/sdk_container/src/third_party/portage-stable/app-containers/containerd/containerd-2.0.4.ebuild +++ /dev/null @@ -1,89 +0,0 @@ -# Copyright 2022-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 -inherit go-module systemd -GIT_REVISION=06b99ca80cdbfbc6cc8bd567021738c9af2b36ce - -DESCRIPTION="A daemon to control runC" -HOMEPAGE="https://containerd.io/" -SRC_URI="https://github.com/containerd/containerd/archive/v${PV}.tar.gz -> ${P}.tar.gz" - -LICENSE="Apache-2.0" -SLOT="0" -KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86" -IUSE="apparmor btrfs device-mapper +cri +seccomp selinux test" - -COMMON_DEPEND=" - btrfs? ( sys-fs/btrfs-progs ) - seccomp? ( sys-libs/libseccomp ) -" - -DEPEND=" -${COMMON_DEPEND} -" - -# recommended minimum version of runc is found in script/setup/runc-version -RDEPEND=" - ${COMMON_DEPEND} - >=app-containers/runc-1.2.5[apparmor?,seccomp?] -" - -BDEPEND=" - dev-go/go-md2man - virtual/pkgconfig -" - -# tests require root or docker -RESTRICT+="test" - -src_prepare() { - default - sed -i \ - -e "s/-s -w//" \ - -e "s/-mod=readonly//" \ - Makefile || die - sed -i \ - -e "s:/usr/local:/usr:" \ - containerd.service || die -} - -src_compile() { - local options=( - $(usev apparmor) - $(usex btrfs "" "no_btrfs") - $(usex cri "" "no_cri") - $(usex device-mapper "" "no_devmapper") - $(usev seccomp) - $(usev selinux) - ) - - myemakeargs=( - BUILDTAGS="${options[*]}" - REVISION="${GIT_REVISION}" - VERSION=v${PV} - ) - - # race condition in man target https://bugs.gentoo.org/765100 - # we need to explicitly specify GOFLAGS for "go run" to use vendor source - emake "${myemakeargs[@]}" man -j1 #nowarn - emake "${myemakeargs[@]}" all - -} - -src_install() { - rm bin/gen-manpages || die - dobin bin/* - doman man/* - newconfd "${FILESDIR}"/${PN}.confd "${PN}" - newinitd "${FILESDIR}"/${PN}.initd "${PN}" - systemd_dounit containerd.service - keepdir /var/lib/containerd - - # we already installed manpages, remove markdown source - # before installing docs directory - rm -r docs/man || die - - local DOCS=( ADOPTERS.md README.md RELEASES.md ROADMAP.md SCOPE.md docs/. ) - einstalldocs -} diff --git a/sdk_container/src/third_party/portage-stable/app-containers/containerd/containerd-2.0.5.ebuild b/sdk_container/src/third_party/portage-stable/app-containers/containerd/containerd-2.0.5.ebuild deleted file mode 100644 index 9033848f24c..00000000000 --- a/sdk_container/src/third_party/portage-stable/app-containers/containerd/containerd-2.0.5.ebuild +++ /dev/null @@ -1,89 +0,0 @@ -# Copyright 2022-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 -inherit go-module systemd -GIT_REVISION=fb4c30d4ede3531652d86197bf3fc9515e5276d9 - -DESCRIPTION="A daemon to control runC" -HOMEPAGE="https://containerd.io/" -SRC_URI="https://github.com/containerd/containerd/archive/v${PV}.tar.gz -> ${P}.tar.gz" - -LICENSE="Apache-2.0" -SLOT="0" -KEYWORDS="amd64 ~arm arm64 ppc64 ~riscv ~x86" -IUSE="apparmor btrfs device-mapper +cri +seccomp selinux test" - -COMMON_DEPEND=" - btrfs? ( sys-fs/btrfs-progs ) - seccomp? ( sys-libs/libseccomp ) -" - -DEPEND=" -${COMMON_DEPEND} -" - -# recommended minimum version of runc is found in script/setup/runc-version -RDEPEND=" - ${COMMON_DEPEND} - >=app-containers/runc-1.2.6[apparmor?,seccomp?] -" - -BDEPEND=" - dev-go/go-md2man - virtual/pkgconfig -" - -# tests require root or docker -RESTRICT+="test" - -src_prepare() { - default - sed -i \ - -e "s/-s -w//" \ - -e "s/-mod=readonly//" \ - Makefile || die - sed -i \ - -e "s:/usr/local:/usr:" \ - containerd.service || die -} - -src_compile() { - local options=( - $(usev apparmor) - $(usex btrfs "" "no_btrfs") - $(usex cri "" "no_cri") - $(usex device-mapper "" "no_devmapper") - $(usev seccomp) - $(usev selinux) - ) - - myemakeargs=( - BUILDTAGS="${options[*]}" - REVISION="${GIT_REVISION}" - VERSION=v${PV} - ) - - # race condition in man target https://bugs.gentoo.org/765100 - # we need to explicitly specify GOFLAGS for "go run" to use vendor source - emake "${myemakeargs[@]}" man -j1 #nowarn - emake "${myemakeargs[@]}" all - -} - -src_install() { - rm bin/gen-manpages || die - dobin bin/* - doman man/* - newconfd "${FILESDIR}"/${PN}.confd "${PN}" - newinitd "${FILESDIR}"/${PN}.initd "${PN}" - systemd_dounit containerd.service - keepdir /var/lib/containerd - - # we already installed manpages, remove markdown source - # before installing docs directory - rm -r docs/man || die - - local DOCS=( ADOPTERS.md README.md RELEASES.md ROADMAP.md SCOPE.md docs/. ) - einstalldocs -} diff --git a/sdk_container/src/third_party/portage-stable/app-containers/containerd/containerd-2.0.7.ebuild b/sdk_container/src/third_party/portage-stable/app-containers/containerd/containerd-2.0.7.ebuild deleted file mode 100644 index 6cc736d7b4a..00000000000 --- a/sdk_container/src/third_party/portage-stable/app-containers/containerd/containerd-2.0.7.ebuild +++ /dev/null @@ -1,89 +0,0 @@ -# Copyright 2022-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 -inherit go-module systemd -GIT_REVISION=fb4c30d4ede3531652d86197bf3fc9515e5276d9 - -DESCRIPTION="A daemon to control runC" -HOMEPAGE="https://containerd.io/" -SRC_URI="https://github.com/containerd/containerd/archive/v${PV}.tar.gz -> ${P}.tar.gz" - -LICENSE="Apache-2.0" -SLOT="0" -KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86" -IUSE="apparmor btrfs device-mapper +cri +seccomp selinux test" - -COMMON_DEPEND=" - btrfs? ( sys-fs/btrfs-progs ) - seccomp? ( sys-libs/libseccomp ) -" - -DEPEND=" -${COMMON_DEPEND} -" - -# recommended minimum version of runc is found in script/setup/runc-version -RDEPEND=" - ${COMMON_DEPEND} - >=app-containers/runc-1.3.3[apparmor?,seccomp?] -" - -BDEPEND=" - dev-go/go-md2man - virtual/pkgconfig -" - -# tests require root or docker -RESTRICT+="test" - -src_prepare() { - default - sed -i \ - -e "s/-s -w//" \ - -e "s/-mod=readonly//" \ - Makefile || die - sed -i \ - -e "s:/usr/local:/usr:" \ - containerd.service || die -} - -src_compile() { - local options=( - $(usev apparmor) - $(usex btrfs "" "no_btrfs") - $(usex cri "" "no_cri") - $(usex device-mapper "" "no_devmapper") - $(usev seccomp) - $(usev selinux) - ) - - myemakeargs=( - BUILDTAGS="${options[*]}" - REVISION="${GIT_REVISION}" - VERSION=v${PV} - ) - - # race condition in man target https://bugs.gentoo.org/765100 - # we need to explicitly specify GOFLAGS for "go run" to use vendor source - emake "${myemakeargs[@]}" man -j1 #nowarn - emake "${myemakeargs[@]}" all - -} - -src_install() { - rm bin/gen-manpages || die - dobin bin/* - doman man/* - newconfd "${FILESDIR}"/${PN}.confd "${PN}" - newinitd "${FILESDIR}"/${PN}.initd "${PN}" - systemd_dounit containerd.service - keepdir /var/lib/containerd - - # we already installed manpages, remove markdown source - # before installing docs directory - rm -r docs/man || die - - local DOCS=( ADOPTERS.md README.md RELEASES.md ROADMAP.md SCOPE.md docs/. ) - einstalldocs -} diff --git a/sdk_container/src/third_party/portage-stable/app-containers/containerd/containerd-2.1.0.ebuild b/sdk_container/src/third_party/portage-stable/app-containers/containerd/containerd-2.1.0.ebuild deleted file mode 100644 index 14f881af1c5..00000000000 --- a/sdk_container/src/third_party/portage-stable/app-containers/containerd/containerd-2.1.0.ebuild +++ /dev/null @@ -1,89 +0,0 @@ -# Copyright 2022-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 -inherit go-module systemd -GIT_REVISION=061792f0ecf3684fb30a3a0eb006799b8c6638a7 - -DESCRIPTION="A daemon to control runC" -HOMEPAGE="https://containerd.io/" -SRC_URI="https://github.com/containerd/containerd/archive/v${PV}.tar.gz -> ${P}.tar.gz" - -LICENSE="Apache-2.0" -SLOT="0" -KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86" -IUSE="apparmor btrfs device-mapper +cri +seccomp selinux test" - -COMMON_DEPEND=" - btrfs? ( sys-fs/btrfs-progs ) - seccomp? ( sys-libs/libseccomp ) -" - -DEPEND=" -${COMMON_DEPEND} -" - -# recommended minimum version of runc is found in script/setup/runc-version -RDEPEND=" - ${COMMON_DEPEND} - >=app-containers/runc-1.3.0[apparmor?,seccomp?] -" - -BDEPEND=" - dev-go/go-md2man - virtual/pkgconfig -" - -# tests require root or docker -RESTRICT+="test" - -src_prepare() { - default - sed -i \ - -e "s/-s -w//" \ - -e "s/-mod=readonly//" \ - Makefile || die - sed -i \ - -e "s:/usr/local:/usr:" \ - containerd.service || die -} - -src_compile() { - local options=( - $(usev apparmor) - $(usex btrfs "" "no_btrfs") - $(usex cri "" "no_cri") - $(usex device-mapper "" "no_devmapper") - $(usev seccomp) - $(usev selinux) - ) - - myemakeargs=( - BUILDTAGS="${options[*]}" - REVISION="${GIT_REVISION}" - VERSION=v${PV} - ) - - # race condition in man target https://bugs.gentoo.org/765100 - # we need to explicitly specify GOFLAGS for "go run" to use vendor source - emake "${myemakeargs[@]}" man -j1 #nowarn - emake "${myemakeargs[@]}" all - -} - -src_install() { - rm bin/gen-manpages || die - dobin bin/* - doman man/* - newconfd "${FILESDIR}"/${PN}.confd "${PN}" - newinitd "${FILESDIR}"/${PN}.initd "${PN}" - systemd_dounit containerd.service - keepdir /var/lib/containerd - - # we already installed manpages, remove markdown source - # before installing docs directory - rm -r docs/man || die - - local DOCS=( ADOPTERS.md README.md RELEASES.md ROADMAP.md SCOPE.md docs/. ) - einstalldocs -} diff --git a/sdk_container/src/third_party/portage-stable/app-containers/containerd/containerd-2.1.1.ebuild b/sdk_container/src/third_party/portage-stable/app-containers/containerd/containerd-2.1.1.ebuild deleted file mode 100644 index c197702ec14..00000000000 --- a/sdk_container/src/third_party/portage-stable/app-containers/containerd/containerd-2.1.1.ebuild +++ /dev/null @@ -1,94 +0,0 @@ -# Copyright 2022-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 -inherit go-env go-module systemd toolchain-funcs -GIT_REVISION=cb1076646aa3740577fafbf3d914198b7fe8e3f7 - -DESCRIPTION="A daemon to control runC" -HOMEPAGE="https://containerd.io/" -SRC_URI="https://github.com/containerd/containerd/archive/v${PV}.tar.gz -> ${P}.tar.gz" - -LICENSE="Apache-2.0" -SLOT="0" -KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86" -IUSE="apparmor btrfs device-mapper +cri +seccomp selinux test" - -COMMON_DEPEND=" - btrfs? ( sys-fs/btrfs-progs ) - seccomp? ( sys-libs/libseccomp ) -" - -DEPEND=" -${COMMON_DEPEND} -" - -# recommended minimum version of runc is found in script/setup/runc-version -RDEPEND=" - ${COMMON_DEPEND} - >=app-containers/runc-1.3.0[apparmor?,seccomp?] -" - -BDEPEND=" - dev-go/go-md2man - virtual/pkgconfig -" - -# tests require root or docker -RESTRICT+="test" - -src_prepare() { - default - sed -i \ - -e "s/-s -w//" \ - -e "s/-mod=readonly//" \ - Makefile || die - sed -i \ - -e "s:/usr/local:/usr:" \ - containerd.service || die -} - -src_compile() { - local options=( - $(usev apparmor) - $(usex btrfs "" "no_btrfs") - $(usex cri "" "no_cri") - $(usex device-mapper "" "no_devmapper") - $(usev seccomp) - $(usev selinux) - ) - - myemakeargs=( - BUILDTAGS="${options[*]}" - REVISION="${GIT_REVISION}" - VERSION=v${PV} - ) - - # The Go env is already set, but reset it for CBUILD in a subshell to allow - # building the man pages when cross-compiling. - ( - CHOST="${CBUILD}" go-env_set_compile_environment - # race condition in man target https://bugs.gentoo.org/765100 - tc-env_build emake "${myemakeargs[@]}" man -j1 #nowarn - ) - - emake "${myemakeargs[@]}" all - -} - -src_install() { - rm bin/gen-manpages || die - dobin bin/* - doman man/* - newconfd "${FILESDIR}"/${PN}.confd "${PN}" - newinitd "${FILESDIR}"/${PN}.initd "${PN}" - systemd_dounit containerd.service - keepdir /var/lib/containerd - - # we already installed manpages, remove markdown source - # before installing docs directory - rm -r docs/man || die - - local DOCS=( ADOPTERS.md README.md RELEASES.md ROADMAP.md SCOPE.md docs/. ) - einstalldocs -} diff --git a/sdk_container/src/third_party/portage-stable/app-containers/containerd/containerd-2.1.4.ebuild b/sdk_container/src/third_party/portage-stable/app-containers/containerd/containerd-2.1.4.ebuild deleted file mode 100644 index ceaa0b03844..00000000000 --- a/sdk_container/src/third_party/portage-stable/app-containers/containerd/containerd-2.1.4.ebuild +++ /dev/null @@ -1,93 +0,0 @@ -# Copyright 2022-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 -inherit go-env go-module systemd toolchain-funcs -GIT_REVISION=75cb2b7193e4e490e9fbdc236c0e811ccaba3376 - -DESCRIPTION="A daemon to control runC" -HOMEPAGE="https://containerd.io/" -SRC_URI="https://github.com/containerd/containerd/archive/v${PV}.tar.gz -> ${P}.tar.gz" - -LICENSE="Apache-2.0" -SLOT="0" -KEYWORDS="amd64 ~arm arm64 ppc64 ~riscv ~x86" -IUSE="apparmor btrfs device-mapper +cri +seccomp selinux test" - -COMMON_DEPEND=" - btrfs? ( sys-fs/btrfs-progs ) - seccomp? ( sys-libs/libseccomp ) -" - -DEPEND=" -${COMMON_DEPEND} -" - -# recommended minimum version of runc is found in script/setup/runc-version -RDEPEND=" - ${COMMON_DEPEND} - >=app-containers/runc-1.3.0[apparmor?,seccomp?] -" - -BDEPEND=" - dev-go/go-md2man - virtual/pkgconfig -" - -# tests require root or docker -RESTRICT+="test" - -src_prepare() { - default - sed -i \ - -e "s/-s -w//" \ - Makefile || die - sed -i \ - -e "s:/usr/local:/usr:" \ - containerd.service || die -} - -src_compile() { - local options=( - $(usev apparmor) - $(usex btrfs "" "no_btrfs") - $(usex cri "" "no_cri") - $(usex device-mapper "" "no_devmapper") - $(usev seccomp) - $(usev selinux) - ) - - myemakeargs=( - BUILDTAGS="${options[*]}" - REVISION="${GIT_REVISION}" - VERSION=v${PV} - ) - - # The Go env is already set, but reset it for CBUILD in a subshell to allow - # building the man pages when cross-compiling. - ( - CHOST="${CBUILD}" go-env_set_compile_environment - # race condition in man target https://bugs.gentoo.org/765100 - tc-env_build emake "${myemakeargs[@]}" man -j1 #nowarn - ) - - emake "${myemakeargs[@]}" all - -} - -src_install() { - rm bin/gen-manpages || die - dobin bin/* - doman man/* - newconfd "${FILESDIR}"/${PN}.confd "${PN}" - newinitd "${FILESDIR}"/${PN}.initd "${PN}" - systemd_dounit containerd.service - keepdir /var/lib/containerd - - # we already installed manpages, remove markdown source - # before installing docs directory - rm -r docs/man || die - - local DOCS=( ADOPTERS.md README.md RELEASES.md ROADMAP.md SCOPE.md docs/. ) - einstalldocs -} diff --git a/sdk_container/src/third_party/portage-stable/app-containers/containerd/containerd-2.1.5.ebuild b/sdk_container/src/third_party/portage-stable/app-containers/containerd/containerd-2.1.5.ebuild deleted file mode 100644 index e644d199bc7..00000000000 --- a/sdk_container/src/third_party/portage-stable/app-containers/containerd/containerd-2.1.5.ebuild +++ /dev/null @@ -1,93 +0,0 @@ -# Copyright 2022-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 -inherit go-env go-module systemd toolchain-funcs -GIT_REVISION=75cb2b7193e4e490e9fbdc236c0e811ccaba3376 - -DESCRIPTION="A daemon to control runC" -HOMEPAGE="https://containerd.io/" -SRC_URI="https://github.com/containerd/containerd/archive/v${PV}.tar.gz -> ${P}.tar.gz" - -LICENSE="Apache-2.0" -SLOT="0" -KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86" -IUSE="apparmor btrfs device-mapper +cri +seccomp selinux test" - -COMMON_DEPEND=" - btrfs? ( sys-fs/btrfs-progs ) - seccomp? ( sys-libs/libseccomp ) -" - -DEPEND=" -${COMMON_DEPEND} -" - -# recommended minimum version of runc is found in script/setup/runc-version -RDEPEND=" - ${COMMON_DEPEND} - >=app-containers/runc-1.3.3[apparmor?,seccomp?] -" - -BDEPEND=" - dev-go/go-md2man - virtual/pkgconfig -" - -# tests require root or docker -RESTRICT+="test" - -src_prepare() { - default - sed -i \ - -e "s/-s -w//" \ - Makefile || die - sed -i \ - -e "s:/usr/local:/usr:" \ - containerd.service || die -} - -src_compile() { - local options=( - $(usev apparmor) - $(usex btrfs "" "no_btrfs") - $(usex cri "" "no_cri") - $(usex device-mapper "" "no_devmapper") - $(usev seccomp) - $(usev selinux) - ) - - myemakeargs=( - BUILDTAGS="${options[*]}" - REVISION="${GIT_REVISION}" - VERSION=v${PV} - ) - - # The Go env is already set, but reset it for CBUILD in a subshell to allow - # building the man pages when cross-compiling. - ( - CHOST="${CBUILD}" go-env_set_compile_environment - # race condition in man target https://bugs.gentoo.org/765100 - tc-env_build emake "${myemakeargs[@]}" man -j1 #nowarn - ) - - emake "${myemakeargs[@]}" all - -} - -src_install() { - rm bin/gen-manpages || die - dobin bin/* - doman man/* - newconfd "${FILESDIR}"/${PN}.confd "${PN}" - newinitd "${FILESDIR}"/${PN}.initd "${PN}" - systemd_dounit containerd.service - keepdir /var/lib/containerd - - # we already installed manpages, remove markdown source - # before installing docs directory - rm -r docs/man || die - - local DOCS=( ADOPTERS.md README.md RELEASES.md ROADMAP.md SCOPE.md docs/. ) - einstalldocs -} diff --git a/sdk_container/src/third_party/portage-stable/app-containers/containerd/containerd-2.2.0.ebuild b/sdk_container/src/third_party/portage-stable/app-containers/containerd/containerd-2.2.0.ebuild deleted file mode 100644 index 178f6899235..00000000000 --- a/sdk_container/src/third_party/portage-stable/app-containers/containerd/containerd-2.2.0.ebuild +++ /dev/null @@ -1,93 +0,0 @@ -# Copyright 2022-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 -inherit go-env go-module systemd toolchain-funcs -GIT_REVISION=1c4457e00facac03ce1d75f7b6777a7a851e5c41 - -DESCRIPTION="A daemon to control runC" -HOMEPAGE="https://containerd.io/" -SRC_URI="https://github.com/containerd/containerd/archive/v${PV}.tar.gz -> ${P}.tar.gz" - -LICENSE="Apache-2.0" -SLOT="0" -KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86" -IUSE="apparmor btrfs device-mapper +cri +seccomp selinux test" - -COMMON_DEPEND=" - btrfs? ( sys-fs/btrfs-progs ) - seccomp? ( sys-libs/libseccomp ) -" - -DEPEND=" -${COMMON_DEPEND} -" - -# recommended minimum version of runc is found in script/setup/runc-version -RDEPEND=" - ${COMMON_DEPEND} - >=app-containers/runc-1.3.0[apparmor?,seccomp?] -" - -BDEPEND=" - dev-go/go-md2man - virtual/pkgconfig -" - -# tests require root or docker -RESTRICT+="test" - -src_prepare() { - default - sed -i \ - -e "s/-s -w//" \ - Makefile || die - sed -i \ - -e "s:/usr/local:/usr:" \ - containerd.service || die -} - -src_compile() { - local options=( - $(usev apparmor) - $(usex btrfs "" "no_btrfs") - $(usex cri "" "no_cri") - $(usex device-mapper "" "no_devmapper") - $(usev seccomp) - $(usev selinux) - ) - - myemakeargs=( - BUILDTAGS="${options[*]}" - REVISION="${GIT_REVISION}" - VERSION=v${PV} - ) - - # The Go env is already set, but reset it for CBUILD in a subshell to allow - # building the man pages when cross-compiling. - ( - CHOST="${CBUILD}" go-env_set_compile_environment - # race condition in man target https://bugs.gentoo.org/765100 - tc-env_build emake "${myemakeargs[@]}" man -j1 #nowarn - ) - - emake "${myemakeargs[@]}" all - -} - -src_install() { - rm bin/gen-manpages || die - dobin bin/* - doman man/* - newconfd "${FILESDIR}"/${PN}.confd "${PN}" - newinitd "${FILESDIR}"/${PN}.initd "${PN}" - systemd_dounit containerd.service - keepdir /var/lib/containerd - - # we already installed manpages, remove markdown source - # before installing docs directory - rm -r docs/man || die - - local DOCS=( ADOPTERS.md README.md RELEASES.md ROADMAP.md SCOPE.md docs/. ) - einstalldocs -} diff --git a/sdk_container/src/third_party/portage-stable/app-containers/containerd/containerd-2.2.5.ebuild b/sdk_container/src/third_party/portage-stable/app-containers/containerd/containerd-2.2.5-r1.ebuild similarity index 96% rename from sdk_container/src/third_party/portage-stable/app-containers/containerd/containerd-2.2.5.ebuild rename to sdk_container/src/third_party/portage-stable/app-containers/containerd/containerd-2.2.5-r1.ebuild index 030d1231a94..ecf10d0eb5d 100644 --- a/sdk_container/src/third_party/portage-stable/app-containers/containerd/containerd-2.2.5.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-containers/containerd/containerd-2.2.5-r1.ebuild @@ -13,7 +13,7 @@ SRC_URI="https://github.com/containerd/containerd/archive/v${PV}.tar.gz -> ${P}. LICENSE="Apache-2.0" SLOT="0" -KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86" +KEYWORDS="amd64 ~arm arm64 ppc64 ~riscv ~x86" IUSE="apparmor btrfs device-mapper +cri +seccomp selinux test" # tests require root or docker RESTRICT="test" @@ -25,10 +25,11 @@ DEPEND=" # recommended minimum version of runc is found in script/setup/runc-version RDEPEND="${DEPEND} >=app-containers/runc-1.3.6[apparmor?,seccomp?] + selinux? ( sec-policy/selinux-docker ) " BDEPEND=" - selinux? ( sec-policy/selinux-docker ) dev-go/go-md2man + >=dev-lang/go-1.25.0 virtual/pkgconfig " diff --git a/sdk_container/src/third_party/portage-stable/app-containers/containerd/containerd-2.2.2.ebuild b/sdk_container/src/third_party/portage-stable/app-containers/containerd/containerd-2.3.2-r1.ebuild similarity index 91% rename from sdk_container/src/third_party/portage-stable/app-containers/containerd/containerd-2.2.2.ebuild rename to sdk_container/src/third_party/portage-stable/app-containers/containerd/containerd-2.3.2-r1.ebuild index d0ccce75887..ebfcede63d9 100644 --- a/sdk_container/src/third_party/portage-stable/app-containers/containerd/containerd-2.2.2.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-containers/containerd/containerd-2.3.2-r1.ebuild @@ -5,7 +5,7 @@ EAPI=8 inherit go-env go-module systemd toolchain-funcs -GIT_REVISION=301b2dac98f15c27117da5c8af12118a041a31d9 +GIT_REVISION=fff62f14765df376e5fc36f5a8f8e795b5670f61 DESCRIPTION="A daemon to control runC" HOMEPAGE="https://containerd.io/" @@ -24,10 +24,12 @@ DEPEND=" " # recommended minimum version of runc is found in script/setup/runc-version RDEPEND="${DEPEND} - >=app-containers/runc-1.3.4[apparmor?,seccomp?] + >=app-containers/runc-1.4.3[apparmor?,seccomp?] + selinux? ( sec-policy/selinux-docker ) " BDEPEND=" dev-go/go-md2man + >=dev-lang/go-1.26.3 virtual/pkgconfig " diff --git a/sdk_container/src/third_party/portage-stable/app-containers/containerd/containerd-2.2.1.ebuild b/sdk_container/src/third_party/portage-stable/app-containers/containerd/containerd-2.3.3.ebuild similarity index 88% rename from sdk_container/src/third_party/portage-stable/app-containers/containerd/containerd-2.2.1.ebuild rename to sdk_container/src/third_party/portage-stable/app-containers/containerd/containerd-2.3.3.ebuild index f54c461b036..90c2b5437e5 100644 --- a/sdk_container/src/third_party/portage-stable/app-containers/containerd/containerd-2.2.1.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-containers/containerd/containerd-2.3.3.ebuild @@ -2,8 +2,10 @@ # Distributed under the terms of the GNU General Public License v2 EAPI=8 + inherit go-env go-module systemd toolchain-funcs -GIT_REVISION=dea7da592f5d1d2b7755e3a161be07f43fad8f75 + +GIT_REVISION=aad11006b869517fcd3009450b6f82da282e1a9b DESCRIPTION="A daemon to control runC" HOMEPAGE="https://containerd.io/" @@ -13,30 +15,24 @@ LICENSE="Apache-2.0" SLOT="0" KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86" IUSE="apparmor btrfs device-mapper +cri +seccomp selinux test" +# tests require root or docker +RESTRICT="test" -COMMON_DEPEND=" +DEPEND=" btrfs? ( sys-fs/btrfs-progs ) seccomp? ( sys-libs/libseccomp ) " - -DEPEND=" -${COMMON_DEPEND} -" - # recommended minimum version of runc is found in script/setup/runc-version -RDEPEND=" - ${COMMON_DEPEND} - >=app-containers/runc-1.3.4[apparmor?,seccomp?] +RDEPEND="${DEPEND} + >=app-containers/runc-1.4.3[apparmor?,seccomp?] + selinux? ( sec-policy/selinux-docker ) " - BDEPEND=" dev-go/go-md2man + >=dev-lang/go-1.26.3 virtual/pkgconfig " -# tests require root or docker -RESTRICT+="test" - src_prepare() { default sed -i \ @@ -57,7 +53,7 @@ src_compile() { $(usev selinux) ) - myemakeargs=( + local myemakeargs=( BUILDTAGS="${options[*]}" REVISION="${GIT_REVISION}" VERSION=v${PV} From 8454831bdeb5fcf70361fde52de0c187708d7557 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 3 Aug 2026 08:12:38 +0000 Subject: [PATCH 010/195] app-containers/incus: Sync with Gentoo It's from Gentoo commit e54427313be85e660df7678ad4dcd38292c94c3a. Signed-off-by: Flatcar Buildbot --- .../app-containers/incus/Manifest | 10 +- .../incus/files/incus-CVE-2026-23953.patch | 42 --- .../incus/files/incus-CVE-2026-23954.patch | 113 ------- .../incus/incus-6.0.5-r1.ebuild | 268 ----------------- .../app-containers/incus/incus-6.0.6.ebuild | 265 ---------------- .../app-containers/incus/incus-6.23.ebuild | 283 ------------------ ...cus-7.0.0-r1.ebuild => incus-7.0.1.ebuild} | 2 +- 7 files changed, 3 insertions(+), 980 deletions(-) delete mode 100644 sdk_container/src/third_party/portage-stable/app-containers/incus/files/incus-CVE-2026-23953.patch delete mode 100644 sdk_container/src/third_party/portage-stable/app-containers/incus/files/incus-CVE-2026-23954.patch delete mode 100644 sdk_container/src/third_party/portage-stable/app-containers/incus/incus-6.0.5-r1.ebuild delete mode 100644 sdk_container/src/third_party/portage-stable/app-containers/incus/incus-6.0.6.ebuild delete mode 100644 sdk_container/src/third_party/portage-stable/app-containers/incus/incus-6.23.ebuild rename sdk_container/src/third_party/portage-stable/app-containers/incus/{incus-7.0.0-r1.ebuild => incus-7.0.1.ebuild} (99%) diff --git a/sdk_container/src/third_party/portage-stable/app-containers/incus/Manifest b/sdk_container/src/third_party/portage-stable/app-containers/incus/Manifest index 0b938f65484..02d16cbb96d 100644 --- a/sdk_container/src/third_party/portage-stable/app-containers/incus/Manifest +++ b/sdk_container/src/third_party/portage-stable/app-containers/incus/Manifest @@ -1,10 +1,4 @@ -DIST incus-6.0.5.tar.xz 12532820 BLAKE2B a256c37c309d82f6326ede3d90e20522ff91317b1bce0a4dc1c391c2694599c7f3f6ab06368757a12e85133f82bd85ea4d50906dc250f43563a6ff765850b874 SHA512 b209dde671b13e101ccdf0daf975ae8547d050ec95e67ad1ee17aa99761e8ed3327e7edace0c4394aa79932d11b846e0f1edf5f95b2ad0b56eafca9905e844c8 -DIST incus-6.0.5.tar.xz.asc 833 BLAKE2B 1e8818fdb2edf9ff0d0288d2a7d61585571a0fdfe514e1bdf05b27b607560115168c07d420f8384d07d216fdc8dc1f31113fa5afa4838042743636974bf76151 SHA512 d0412fe8850ff5783d4c3cee982ff8beac74f19c5dc538438fc210b9f7421bcb6e663e4c32f9a2604f1a5e2f42d8bb8d3f8e599f15a0fa1b5fa6f1bc1982b1dd -DIST incus-6.0.6.tar.xz 13164068 BLAKE2B 91df6acd3549c9e9c2023889fd4f9a3d91bb93c59c1912992a4b26323c813042973a26b036e0b9412ba7f69a1e5dab7912174947a6c5e3cfede99b6d7d9e75e8 SHA512 e3c33801add7be08be0220808647f28b7e449e08bf6b7d219ad33eb9632db84c861317da9ac51a81887bfbcd1a1a4ae9a1e2c3cbf16ad079caa5497cba4a6698 -DIST incus-6.0.6.tar.xz.asc 833 BLAKE2B 10d317e0cdeb30920d446c54893ca04a1e7b2aeee3dbbc8dde4de976bf83d6fc777ca700369d9a9b0b9be98bb4877f2ee20a5081f9f47daeea9508854f9d3264 SHA512 7015845e75d509e8ba9ca26ef18baf8cd52c964867df47b3f3c7967f78219bc12233894e654c06a9eb79451c5d2698ec9e9b73868e7a377b0d5a6d3c88ebd863 -DIST incus-6.23.tar.xz 13510328 BLAKE2B c9c433e32e301518c92dd1ab570871d3a0cf623528ea6ed59c194a4a622f8fa09a98be384b8f52d15b66513e8bdad9258ac586a630e2474002b60773a3fe4bb9 SHA512 1080eb0b6571c6fec8169ee6338feab9020bc2d5cf12bc258532b5d9a0ee3f25118ad73e0eb4fba202dd6ab4c66bae73b8309caff6d5c18d2bbd295825b7b1e3 -DIST incus-6.23.tar.xz.asc 833 BLAKE2B 6f086c10b5bb6ca45f304e16caa76adbdf0a316b500283bcb15c2f4e4d0d86d2ddddba02d470481e3cacc47667c5e4a64db71df078225124eacdb4f2041d95b7 SHA512 1bf734d120b98d1758d900884975234cafa90e1602dcc29e89c8a34915058e2ae1fbe7bbca2f20e9e2018be161c9493786d70a8a46f769c0aee132c3b00548f8 -DIST incus-7.0.0.tar.xz 13911008 BLAKE2B 5906168618bf98434a270a4123cf62ce06d3ccf4a2b99f9d8e50df26dc12a495e479fa061c3c60d0ab3d74b35faf80d63c064904cda1768e097f2ce59e46585c SHA512 02c366a7f19c01e88578e7c2982633935fd8b53ebbf9a89ebab8290523341c5577b77dbf9a4c47db11558a4582d60ad370f34d706808d6f04bbb1675a5867444 -DIST incus-7.0.0.tar.xz.asc 833 BLAKE2B c2b0bf82f37487686fa6051818fbacf4ccac8a8121b467a9c92963c0dce8d9297cd3bf6612c19b180fb944d96ec349bd3e50eb1279b0e75fcb49f4fe2a3cc94d SHA512 4a37b66a85c40242d66ac0ead4aef842b26138e010b880bd4367958ae1068c96d5cb82d8e875acce1c05cf6b53d4eae2f61bbfcbc87139df500e4e9cb9940721 +DIST incus-7.0.1.tar.xz 13961756 BLAKE2B 6266f2c1984a8fd7b1290b6e772d01f95c6d849a5c16216a00f9087909910b62d4530ae955993ca4ee4e63fcc10489f95fef994469934d08151f51b50ba37007 SHA512 8113252041de49796c3317e5b22e49308bd5f6741f7eff0bb68fecf1bd1f41f661e219b1003afab69bd056a629f7427ec6d472e4555b7eca0a1e47fc21a50b55 +DIST incus-7.0.1.tar.xz.asc 833 BLAKE2B db72bbeacadb282964f2214bd6f2fd6548e6b6d83fb861e5f9662e67a070e4827102be920c2702ee406c3b197cbd1dc96934dcdd6dcc677538d16c89f23ff1eb SHA512 08d29eaced3c70002f1b3963443467b5a62a80bb19a680d4ea52caf7c422195fbab3887ee38036cc8a8ea77cd72a401d0e53cd400f7267fcf9edd59b3fdeef30 DIST incus-7.2.tar.xz 13899812 BLAKE2B 67504a86755517f785cfcb869560a5ba8bda86c538e172a53309362a8590266c1c748840ff33a55a435daaf99a38b108a0becca514bcfc90c4296fad25145f97 SHA512 219e9de0d483fdb05dc7782d129de81864903b61c010c97d2606b59487be95a2a0362c5b54909471f8fe20777bbcec88c82a86d803227e28f28f8def7a5ba613 DIST incus-7.2.tar.xz.asc 833 BLAKE2B a01ea73af3cc3447874627fa1687fbde2346f7cba77a607a3decf07def91026260aa34a1aeaaa7392d3ddd543e1530d50b657117b72e22210f811c8f6bc91535 SHA512 87f609cb97c07306b9578e869948e28f4739a1ad2d9da7ddf4614429eadb08972dd4f80e7c8c6e2fabb7bfc975ca2273432c0a975041d45cea8b1129c769772a diff --git a/sdk_container/src/third_party/portage-stable/app-containers/incus/files/incus-CVE-2026-23953.patch b/sdk_container/src/third_party/portage-stable/app-containers/incus/files/incus-CVE-2026-23953.patch deleted file mode 100644 index 59277fd797c..00000000000 --- a/sdk_container/src/third_party/portage-stable/app-containers/incus/files/incus-CVE-2026-23953.patch +++ /dev/null @@ -1,42 +0,0 @@ -From d6f0a77dd26df4c1ced80ffa63848279fd4330cc Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?St=C3=A9phane=20Graber?= -Date: Tue, 20 Jan 2026 23:27:25 -0500 -Subject: [PATCH] internal/instance: Prevent line breaks in environment - variables -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -LXC doesn't currently have a syntax to hold a multi-line environment -variable in its configuration. The use of multi-line environment -variables leads to a corrupted configuration file and to a security -issue where additional lines may be added by an unprivileged user to -escalate their privileges. - -This fixes CVE-2026-23953. - -Reported-by: Rory McNamara -Signed-off-by: StĂ©phane Graber ---- - internal/instance/config.go | 8 +++++++- - 1 file changed, 7 insertions(+), 1 deletion(-) - -diff --git a/internal/instance/config.go b/internal/instance/config.go -index a282f99e478..2c6c779205b 100644 ---- a/internal/instance/config.go -+++ b/internal/instance/config.go -@@ -1376,7 +1376,13 @@ func ConfigKeyChecker(key string, instanceType api.InstanceType) (func(value str - // liveupdate: yes - // shortdesc: Free-form environment key/value - if strings.HasPrefix(key, "environment.") { -- return validate.IsAny, nil -+ return func(val string) error { -+ if strings.Contains(val, "\n") { -+ return errors.New("Environment variables cannot contain line breaks") -+ } -+ -+ return nil -+ }, nil - } - - // gendoc:generate(entity=instance, group=miscellaneous, key=user.*) diff --git a/sdk_container/src/third_party/portage-stable/app-containers/incus/files/incus-CVE-2026-23954.patch b/sdk_container/src/third_party/portage-stable/app-containers/incus/files/incus-CVE-2026-23954.patch deleted file mode 100644 index 930a8d8be45..00000000000 --- a/sdk_container/src/third_party/portage-stable/app-containers/incus/files/incus-CVE-2026-23954.patch +++ /dev/null @@ -1,113 +0,0 @@ -From 92ac6ac999a4928cfdb92c485a048e4d51f471d0 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?St=C3=A9phane=20Graber?= -Date: Wed, 21 Jan 2026 00:04:37 -0500 -Subject: [PATCH] incusd/instance/lxc: Restrict path of template files and - targets -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -This fixes three security issues related to file templates: - - - The template target path could be made to be relative or gothrough - symlinks in a way that could lead to arbitrary write to the host - filesystem. - - - The template directory could be relative, allowing for arbitrary read - from the host filesystem. - - - The template file itself could be made relative, allowing for - arbitrary reads from the host filesystem. - -In the case of the template target path, the new logic makes use of the -kernel's openat2 system call which brings a variety of flags that can be -used to restrict path resolution and detect potential issues. - -For the template path itself, we now validate that it is a simple local -file and that the template directory isn't a symlink. - -This fixes CVE-2026-23954 - -Reported-by: Rory McNamara -Signed-off-by: StĂ©phane Graber ---- - .../server/instance/drivers/driver_lxc.go | 58 ++++++++++++++++++- - 1 file changed, 57 insertions(+), 1 deletion(-) - -diff --git a/internal/server/instance/drivers/driver_lxc.go b/internal/server/instance/drivers/driver_lxc.go -index b6d8cb9a0a7..a1e4f6bbe0d 100644 ---- a/internal/server/instance/drivers/driver_lxc.go -+++ b/internal/server/instance/drivers/driver_lxc.go -@@ -6841,6 +6841,32 @@ func (d *lxc) templateApplyNow(trigger instance.TemplateTrigger) error { - containerMeta["privileged"] = "false" - } - -+ // Setup security check. -+ rootfsPath, err := os.OpenFile(d.RootfsPath(), unix.O_PATH, 0) -+ if err != nil { -+ return fmt.Errorf("Failed to open instance rootfs path: %w", err) -+ } -+ -+ defer func() { _ = rootfsPath.Close() }() -+ -+ checkBeneath := func(targetPath string) error { -+ fd, err := unix.Openat2(int(rootfsPath.Fd()), targetPath, &unix.OpenHow{ -+ Flags: unix.O_PATH | unix.O_CLOEXEC, -+ Resolve: unix.RESOLVE_BENEATH | unix.RESOLVE_NO_MAGICLINKS, -+ }) -+ if err != nil { -+ if errors.Is(err, unix.EXDEV) { -+ return errors.New("Template is attempting access to path outside of container") -+ } -+ -+ return nil -+ } -+ -+ _ = unix.Close(fd) -+ -+ return nil -+ } -+ - // Go through the templates - for tplPath, tpl := range metadata.Templates { - err = func(tplPath string, tpl *api.ImageMetadataTemplate) error { -@@ -6853,8 +6879,38 @@ func (d *lxc) templateApplyNow(trigger instance.TemplateTrigger) error { - return nil - } - -+ // Perform some security checks. -+ relPath := strings.TrimLeft(tplPath, "/") -+ -+ err = checkBeneath(relPath) -+ if err != nil { -+ return err -+ } -+ -+ if filepath.Base(tpl.Template) != tpl.Template { -+ return errors.New("Template path is attempting to read outside of template directory") -+ } -+ -+ tplDirStat, err := os.Lstat(d.TemplatesPath()) -+ if err != nil { -+ return fmt.Errorf("Couldn't access template directory: %w", err) -+ } -+ -+ if !tplDirStat.IsDir() { -+ return errors.New("Template directory isn't a regular directory") -+ } -+ -+ tplFileStat, err := os.Lstat(filepath.Join(d.TemplatesPath(), tpl.Template)) -+ if err != nil { -+ return fmt.Errorf("Couldn't access template file: %w", err) -+ } -+ -+ if tplFileStat.Mode()&os.ModeSymlink == os.ModeSymlink { -+ return errors.New("Template file is a symlink") -+ } -+ - // Open the file to template, create if needed -- fullpath := filepath.Join(d.RootfsPath(), strings.TrimLeft(tplPath, "/")) -+ fullpath := filepath.Join(d.RootfsPath(), relPath) - if util.PathExists(fullpath) { - if tpl.CreateOnly { - return nil diff --git a/sdk_container/src/third_party/portage-stable/app-containers/incus/incus-6.0.5-r1.ebuild b/sdk_container/src/third_party/portage-stable/app-containers/incus/incus-6.0.5-r1.ebuild deleted file mode 100644 index dedc3b33981..00000000000 --- a/sdk_container/src/third_party/portage-stable/app-containers/incus/incus-6.0.5-r1.ebuild +++ /dev/null @@ -1,268 +0,0 @@ -# Copyright 1999-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit go-env go-module linux-info optfeature systemd toolchain-funcs verify-sig - -DESCRIPTION="Modern, secure and powerful system container and virtual machine manager" -HOMEPAGE="https://linuxcontainers.org/incus/introduction/ https://github.com/lxc/incus" -SRC_URI="https://linuxcontainers.org/downloads/incus/${P}.tar.xz - verify-sig? ( https://linuxcontainers.org/downloads/incus/${P}.tar.xz.asc )" - -LICENSE="Apache-2.0 BSD LGPL-3 MIT" -SLOT="0/lts" -KEYWORDS="amd64 ~arm64" -IUSE="apparmor fuidshift nls qemu" - -DEPEND="acct-group/incus - acct-group/incus-admin - app-arch/xz-utils - >=app-containers/lxc-5.0.0:=[apparmor?,seccomp(+)] - dev-db/sqlite:3 - >=dev-libs/cowsql-1.15.9 - dev-libs/lzo - >=dev-libs/raft-0.22.1:=[lz4] - >=dev-util/xdelta-3.0[lzma(+)] - net-dns/dnsmasq[dhcp] - sys-libs/libcap - virtual/udev" -RDEPEND="${DEPEND} - || ( - net-firewall/iptables - net-firewall/nftables[json] - ) - fuidshift? ( !app-containers/lxd ) - net-firewall/ebtables - sys-apps/iproute2 - sys-fs/fuse:* - >=sys-fs/lxcfs-5.0.0 - sys-fs/squashfs-tools[lzma] - virtual/acl - apparmor? ( sec-policy/apparmor-profiles ) - qemu? ( - app-cdr/cdrtools - app-emulation/qemu[spice,usbredir,virtfs] - sys-apps/gptfdisk - )" -BDEPEND=">=dev-lang/go-1.21 - nls? ( sys-devel/gettext ) - verify-sig? ( sec-keys/openpgp-keys-linuxcontainers )" - -CONFIG_CHECK=" - ~AIO - ~CGROUPS - ~IPC_NS - ~NET_NS - ~PID_NS - - ~SECCOMP - ~USER_NS - ~UTS_NS - - ~KVM - ~MACVTAP - ~VHOST_VSOCK -" - -ERROR_AIO="CONFIG_AIO is required." -ERROR_IPC_NS="CONFIG_IPC_NS is required." -ERROR_NET_NS="CONFIG_NET_NS is required." -ERROR_PID_NS="CONFIG_PID_NS is required." -ERROR_SECCOMP="CONFIG_SECCOMP is required." -ERROR_UTS_NS="CONFIG_UTS_NS is required." - -WARNING_KVM="CONFIG_KVM and CONFIG_KVM_AMD/-INTEL is required for virtual machines." -WARNING_MACVTAP="CONFIG_MACVTAP is required for virtual machines." -WARNING_VHOST_VSOCK="CONFIG_VHOST_VSOCK is required for virtual machines." - -# Go magic. -QA_PREBUILT="/usr/bin/incus - /usr/bin/incus-agent - /usr/bin/incus-benchmark - /usr/bin/incus-migrate - /usr/bin/lxc-to-incus - /usr/sbin/fuidshift - /usr/sbin/incusd - /usr/sbin/lxd-to-incus" - -VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/linuxcontainers.asc - -# The testsuite must be run as root. -# make: *** [Makefile:156: check] Error 1 -RESTRICT="test" - -GOPATH="${S}/_dist" - -PATCHES=( "${FILESDIR}"/incus-CVE-2026-23953.patch - "${FILESDIR}"/incus-CVE-2026-23954.patch ) - -src_unpack() { - verify-sig_src_unpack - go-module_src_unpack -} - -src_prepare() { - export GOPATH="${S}/_dist" - - default - - sed -i \ - -e "s:\./configure:./configure --prefix=/usr --libdir=${EPREFIX}/usr/lib/incus:g" \ - -e "s:make:make ${MAKEOPTS}:g" \ - Makefile || die - - sed -i \ - -e "s:/usr/share/OVMF:/usr/share/edk2/OvmfX64:g" \ - -e "s:OVMF_VARS.ms.fd:OVMF_VARS.fd:g" \ - internal/server/instance/drivers/edk2/driver_edk2.go || die "Failed to fix hardcoded ovmf paths." - - cp "${FILESDIR}"/incus-6.14-r1.service "${T}"/incus.service || die - if use apparmor; then - sed -i \ - '/^EnvironmentFile=.*/a ExecStartPre=\/usr\/libexec\/lxc\/lxc-apparmor-load' \ - "${T}"/incus.service || die - fi - - # Disable -Werror's from go modules. - find "${S}" -name "cgo.go" -exec sed -i "s/ -Werror / /g" {} + || die -} - -src_configure() { :; } - -incus_get_bindir() { - local host_arch=${1} - if [[ "${GOARCH}" != "${host_arch}" ]]; then - echo "_dist/bin/linux_${GOARCH}" - else - echo "_dist/bin" - fi -} - -src_compile() { - export GOPATH="${S}/_dist" - export CGO_LDFLAGS_ALLOW="-Wl,-z,now" - - for k in incus-benchmark incus-simplestreams incus-user incus lxc-to-incus lxd-to-incus ; do - ego install -v -x "${S}/cmd/${k}" - done - - if use fuidshift ; then - ego install -v -x "${S}/cmd/fuidshift" - fi - - ego install -v -x -tags libsqlite3 "${S}"/cmd/incusd - - CGO_ENABLED=0 go install -v -tags agent,netgo,static -buildmode default "${S}"/cmd/incus-migrate - - local bindir=$(incus_get_bindir "$(go-env_goarch "${CBUILD}")") - - # Build the VM agents, statically too - if use amd64 ; then - GOARCH=amd64 CGO_ENABLED=0 ego build -o "${bindir}"/incus-agent.linux.x86_64 -v \ - -tags agent,netgo,static -buildmode default "${S}"/cmd/incus-agent - GOARCH=386 CGO_ENABLED=0 ego build -o "${bindir}"/incus-agent.linux.i686 -v \ - -tags agent,netgo,static -buildmode default "${S}"/cmd/incus-agent - GOARCH=amd64 GOOS=windows CGO_ENABLED=0 ego build -o "${bindir}"/incus-agent.windows.x86_64 -v \ - -tags agent,netgo,static -buildmode default "${S}"/cmd/incus-agent - GOARCH=386 GOOS=windows CGO_ENABLED=0 ego build -o "${bindir}"/incus-agent.windows.i686 -v \ - -tags agent,netgo,static -buildmode default "${S}"/cmd/incus-agent - elif use arm64 ; then - GOARCH=arm64 CGO_ENABLED=0 ego build -o "${bindir}"/incus-agent.linux.aarch64 -v \ - -tags agent,netgo,static -buildmode default "${S}"/cmd/incus-agent - GOARCH=arm64 GOOS=windows CGO_ENABLED=0 ego build -o "${bindir}"/incus-agent.windows.aarch64 -v \ - -tags agent,netgo,static -buildmode default "${S}"/cmd/incus-agent - else - echo "No VM support for this arch." - return - fi - - use nls && emake build-mo -} - -src_test() { - emake check -} - -src_install() { - export GOPATH="${S}/_dist" - - export GOHOSTARCH=$(go-env_goarch "${CBUILD}") - local bindir=$(incus_get_bindir "${GOHOSTARCH}") - - newsbin "${FILESDIR}"/incus-startup-0.4.sh incus-startup - - # Admin tools - for l in incusd incus-user lxd-to-incus ; do - dosbin "${bindir}/${l}" - done - - # User tools - for m in incus-benchmark incus-migrate incus-simplestreams incus lxc-to-incus ; do - dobin "${bindir}/${m}" - done - - # VM Agents - if use amd64 ; then - exeinto /usr/libexec/incus/agents - doexe ${bindir}/incus-agent.linux.x86_64 - doexe ${bindir}/incus-agent.linux.i686 - doexe ${bindir}/incus-agent.windows.x86_64 - doexe ${bindir}/incus-agent.windows.i686 - elif use arm64 ; then - exeinto /usr/libexec/incus/agents - doexe ${bindir}/incus-agent.linux.aarch64 - doexe ${bindir}/incus-agent.windows.aarch64 - fi - - # fuidshift, should be moved under admin tools at some point - if use fuidshift ; then - dosbin ${bindir}/fuidshift - fi - - newconfd "${FILESDIR}"/incus-6.0.confd incus - newinitd "${FILESDIR}"/incus-6.0.initd incus - newinitd "${FILESDIR}"/incus-user-0.4.initd incus-user - - systemd_dounit "${T}"/incus.service - systemd_newunit "${FILESDIR}"/incus-0.4.socket incus.socket - systemd_newunit "${FILESDIR}"/incus-startup-0.4.service incus-startup.service - systemd_newunit "${FILESDIR}"/incus-user-0.4.service incus-user.service - systemd_newunit "${FILESDIR}"/incus-user-0.4.socket incus-user.socket - - if ! tc-is-cross-compiler; then - # Generate and install shell completion files. - mkdir -p "${D}"/usr/share/{bash-completion/completions/,fish/vendor_completions.d/,zsh/site-functions/} || die - "${bindir}"/incus completion bash > "${D}"/usr/share/bash-completion/completions/incus || die - "${bindir}"/incus completion fish > "${D}"/usr/share/fish/vendor_completions.d/incus.fish || die - "${bindir}"/incus completion zsh > "${D}"/usr/share/zsh/site-functions/_incus || die - else - ewarn "Shell completion files not installed! Install them manually with incus completion --help" - fi - - dodoc AUTHORS - dodoc -r doc/* - use nls && domo po/*.mo - - # Incus needs INCUS_EDK2_PATH in env to find OVMF files for virtual machines, #946184, - # and INCUS_AGENT_PATH to find multi-setup agents for VMs, #959878. - newenvd "${FILESDIR}"/90incus.envd 90incus -} - -pkg_postinst() { - elog - elog "Please see" - elog " https://wiki.gentoo.org/wiki/Incus" - elog " https://wiki.gentoo.org/wiki/Incus#Migrating_from_LXD" - elog - optfeature "OCI container images support" app-containers/skopeo app-containers/umoci - optfeature "support for ACME certificate issuance" app-crypt/lego - optfeature "ipv6 support" net-dns/dnsmasq[ipv6] - optfeature "full incus-migrate support" net-misc/rsync - optfeature "btrfs storage backend" sys-fs/btrfs-progs - optfeature "lvm2 storage backend" sys-fs/lvm2 - optfeature "zfs storage backend" sys-fs/zfs - elog - elog "Be sure to add your local user to the incus group." - elog -} diff --git a/sdk_container/src/third_party/portage-stable/app-containers/incus/incus-6.0.6.ebuild b/sdk_container/src/third_party/portage-stable/app-containers/incus/incus-6.0.6.ebuild deleted file mode 100644 index 2a361cd0d71..00000000000 --- a/sdk_container/src/third_party/portage-stable/app-containers/incus/incus-6.0.6.ebuild +++ /dev/null @@ -1,265 +0,0 @@ -# Copyright 1999-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit go-env go-module linux-info optfeature systemd toolchain-funcs verify-sig - -DESCRIPTION="Modern, secure and powerful system container and virtual machine manager" -HOMEPAGE="https://linuxcontainers.org/incus/introduction/ https://github.com/lxc/incus" -SRC_URI="https://linuxcontainers.org/downloads/incus/${P}.tar.xz - verify-sig? ( https://linuxcontainers.org/downloads/incus/${P}.tar.xz.asc )" - -LICENSE="Apache-2.0 BSD LGPL-3 MIT" -SLOT="0/lts" -KEYWORDS="~amd64 ~arm64" -IUSE="apparmor fuidshift nls qemu" - -DEPEND="acct-group/incus - acct-group/incus-admin - app-arch/xz-utils - >=app-containers/lxc-5.0.0:=[apparmor?,seccomp(+)] - dev-db/sqlite:3 - >=dev-libs/cowsql-1.15.9 - dev-libs/lzo - >=dev-libs/raft-0.22.1:=[lz4] - >=dev-util/xdelta-3.0[lzma(+)] - net-dns/dnsmasq[dhcp] - sys-libs/libcap - virtual/udev" -RDEPEND="${DEPEND} - || ( - net-firewall/iptables - net-firewall/nftables[json] - ) - fuidshift? ( !app-containers/lxd ) - net-firewall/ebtables - sys-apps/iproute2 - sys-fs/fuse:* - >=sys-fs/lxcfs-5.0.0 - sys-fs/squashfs-tools[lzma] - virtual/acl - apparmor? ( sec-policy/apparmor-profiles ) - qemu? ( - app-cdr/cdrtools - app-emulation/qemu[spice,usbredir,virtfs] - sys-apps/gptfdisk - )" -BDEPEND=">=dev-lang/go-1.21 - nls? ( sys-devel/gettext ) - verify-sig? ( sec-keys/openpgp-keys-linuxcontainers )" - -CONFIG_CHECK=" - ~AIO - ~CGROUPS - ~IPC_NS - ~NET_NS - ~PID_NS - - ~SECCOMP - ~USER_NS - ~UTS_NS - - ~KVM - ~MACVTAP - ~VHOST_VSOCK -" - -ERROR_AIO="CONFIG_AIO is required." -ERROR_IPC_NS="CONFIG_IPC_NS is required." -ERROR_NET_NS="CONFIG_NET_NS is required." -ERROR_PID_NS="CONFIG_PID_NS is required." -ERROR_SECCOMP="CONFIG_SECCOMP is required." -ERROR_UTS_NS="CONFIG_UTS_NS is required." - -WARNING_KVM="CONFIG_KVM and CONFIG_KVM_AMD/-INTEL is required for virtual machines." -WARNING_MACVTAP="CONFIG_MACVTAP is required for virtual machines." -WARNING_VHOST_VSOCK="CONFIG_VHOST_VSOCK is required for virtual machines." - -# Go magic. -QA_PREBUILT="/usr/bin/incus - /usr/bin/incus-agent - /usr/bin/incus-benchmark - /usr/bin/incus-migrate - /usr/bin/lxc-to-incus - /usr/sbin/fuidshift - /usr/sbin/incusd - /usr/sbin/lxd-to-incus" - -VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/linuxcontainers.asc - -# The testsuite must be run as root. -# make: *** [Makefile:156: check] Error 1 -RESTRICT="test" - -GOPATH="${S}/_dist" - -src_unpack() { - verify-sig_src_unpack - go-module_src_unpack -} - -src_prepare() { - export GOPATH="${S}/_dist" - - default - - sed -i \ - -e "s:\./configure:./configure --prefix=/usr --libdir=${EPREFIX}/usr/lib/incus:g" \ - -e "s:make:make ${MAKEOPTS}:g" \ - Makefile || die - - sed -i \ - -e "s:/usr/share/OVMF:/usr/share/edk2/OvmfX64:g" \ - -e "s:OVMF_VARS.ms.fd:OVMF_VARS.fd:g" \ - internal/server/instance/drivers/edk2/driver_edk2.go || die "Failed to fix hardcoded ovmf paths." - - cp "${FILESDIR}"/incus-6.14-r1.service "${T}"/incus.service || die - if use apparmor; then - sed -i \ - '/^EnvironmentFile=.*/a ExecStartPre=\/usr\/libexec\/lxc\/lxc-apparmor-load' \ - "${T}"/incus.service || die - fi - - # Disable -Werror's from go modules. - find "${S}" -name "cgo.go" -exec sed -i "s/ -Werror / /g" {} + || die -} - -src_configure() { :; } - -incus_get_bindir() { - local host_arch=${1} - if [[ "${GOARCH}" != "${host_arch}" ]]; then - echo "_dist/bin/linux_${GOARCH}" - else - echo "_dist/bin" - fi -} - -src_compile() { - export GOPATH="${S}/_dist" - export CGO_LDFLAGS_ALLOW="-Wl,-z,now" - - for k in incus-benchmark incus-simplestreams incus-user incus lxc-to-incus lxd-to-incus ; do - ego install -v -x "${S}/cmd/${k}" - done - - if use fuidshift ; then - ego install -v -x "${S}/cmd/fuidshift" - fi - - ego install -v -x -tags libsqlite3 "${S}"/cmd/incusd - - CGO_ENABLED=0 go install -v -tags agent,netgo,static -buildmode default "${S}"/cmd/incus-migrate - - local bindir=$(incus_get_bindir "$(go-env_goarch "${CBUILD}")") - - # Build the VM agents, statically too - if use amd64 ; then - GOARCH=amd64 CGO_ENABLED=0 ego build -o "${bindir}"/incus-agent.linux.x86_64 -v \ - -tags agent,netgo,static -buildmode default "${S}"/cmd/incus-agent - GOARCH=386 CGO_ENABLED=0 ego build -o "${bindir}"/incus-agent.linux.i686 -v \ - -tags agent,netgo,static -buildmode default "${S}"/cmd/incus-agent - GOARCH=amd64 GOOS=windows CGO_ENABLED=0 ego build -o "${bindir}"/incus-agent.windows.x86_64 -v \ - -tags agent,netgo,static -buildmode default "${S}"/cmd/incus-agent - GOARCH=386 GOOS=windows CGO_ENABLED=0 ego build -o "${bindir}"/incus-agent.windows.i686 -v \ - -tags agent,netgo,static -buildmode default "${S}"/cmd/incus-agent - elif use arm64 ; then - GOARCH=arm64 CGO_ENABLED=0 ego build -o "${bindir}"/incus-agent.linux.aarch64 -v \ - -tags agent,netgo,static -buildmode default "${S}"/cmd/incus-agent - GOARCH=arm64 GOOS=windows CGO_ENABLED=0 ego build -o "${bindir}"/incus-agent.windows.aarch64 -v \ - -tags agent,netgo,static -buildmode default "${S}"/cmd/incus-agent - else - echo "No VM support for this arch." - return - fi - - use nls && emake build-mo -} - -src_test() { - emake check -} - -src_install() { - export GOPATH="${S}/_dist" - - export GOHOSTARCH=$(go-env_goarch "${CBUILD}") - local bindir=$(incus_get_bindir "${GOHOSTARCH}") - - newsbin "${FILESDIR}"/incus-startup-0.4.sh incus-startup - - # Admin tools - for l in incusd incus-user lxd-to-incus ; do - dosbin "${bindir}/${l}" - done - - # User tools - for m in incus-benchmark incus-migrate incus-simplestreams incus lxc-to-incus ; do - dobin "${bindir}/${m}" - done - - # VM Agents - if use amd64 ; then - exeinto /usr/libexec/incus/agents - doexe ${bindir}/incus-agent.linux.x86_64 - doexe ${bindir}/incus-agent.linux.i686 - doexe ${bindir}/incus-agent.windows.x86_64 - doexe ${bindir}/incus-agent.windows.i686 - elif use arm64 ; then - exeinto /usr/libexec/incus/agents - doexe ${bindir}/incus-agent.linux.aarch64 - doexe ${bindir}/incus-agent.windows.aarch64 - fi - - # fuidshift, should be moved under admin tools at some point - if use fuidshift ; then - dosbin ${bindir}/fuidshift - fi - - newconfd "${FILESDIR}"/incus-6.0.confd incus - newinitd "${FILESDIR}"/incus-6.0.initd incus - newinitd "${FILESDIR}"/incus-user-0.4.initd incus-user - - systemd_dounit "${T}"/incus.service - systemd_newunit "${FILESDIR}"/incus-0.4.socket incus.socket - systemd_newunit "${FILESDIR}"/incus-startup-0.4.service incus-startup.service - systemd_newunit "${FILESDIR}"/incus-user-0.4.service incus-user.service - systemd_newunit "${FILESDIR}"/incus-user-0.4.socket incus-user.socket - - if ! tc-is-cross-compiler; then - # Generate and install shell completion files. - mkdir -p "${D}"/usr/share/{bash-completion/completions/,fish/vendor_completions.d/,zsh/site-functions/} || die - "${bindir}"/incus completion bash > "${D}"/usr/share/bash-completion/completions/incus || die - "${bindir}"/incus completion fish > "${D}"/usr/share/fish/vendor_completions.d/incus.fish || die - "${bindir}"/incus completion zsh > "${D}"/usr/share/zsh/site-functions/_incus || die - else - ewarn "Shell completion files not installed! Install them manually with incus completion --help" - fi - - dodoc AUTHORS - dodoc -r doc/* - use nls && domo po/*.mo - - # Incus needs INCUS_EDK2_PATH in env to find OVMF files for virtual machines, #946184, - # and INCUS_AGENT_PATH to find multi-setup agents for VMs, #959878. - newenvd "${FILESDIR}"/90incus.envd 90incus -} - -pkg_postinst() { - elog - elog "Please see" - elog " https://wiki.gentoo.org/wiki/Incus" - elog " https://wiki.gentoo.org/wiki/Incus#Migrating_from_LXD" - elog - optfeature "OCI container images support" app-containers/skopeo app-containers/umoci - optfeature "support for ACME certificate issuance" app-crypt/lego - optfeature "ipv6 support" net-dns/dnsmasq[ipv6] - optfeature "full incus-migrate support" net-misc/rsync - optfeature "btrfs storage backend" sys-fs/btrfs-progs - optfeature "lvm2 storage backend" sys-fs/lvm2 - optfeature "zfs storage backend" sys-fs/zfs - elog - elog "Be sure to add your local user to the incus group." - elog -} diff --git a/sdk_container/src/third_party/portage-stable/app-containers/incus/incus-6.23.ebuild b/sdk_container/src/third_party/portage-stable/app-containers/incus/incus-6.23.ebuild deleted file mode 100644 index ec2cb83449c..00000000000 --- a/sdk_container/src/third_party/portage-stable/app-containers/incus/incus-6.23.ebuild +++ /dev/null @@ -1,283 +0,0 @@ -# Copyright 1999-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit go-env go-module linux-info optfeature systemd toolchain-funcs verify-sig - -DESCRIPTION="Modern, secure and powerful system container and virtual machine manager" -HOMEPAGE="https://linuxcontainers.org/incus/introduction/ https://github.com/lxc/incus" - -if [[ "${PV}" == 9999* ]]; then - inherit git-r3 - EGIT_REPO_URI="https://github.com/lxc/incus.git" -else - SRC_URI="https://linuxcontainers.org/downloads/incus/${P}.tar.xz - verify-sig? ( https://linuxcontainers.org/downloads/incus/${P}.tar.xz.asc )" - KEYWORDS="~amd64 ~arm64" -fi - -LICENSE="Apache-2.0 BSD LGPL-3 MIT" -SLOT="0/stable" -IUSE="apparmor fuidshift nls qemu selinux" - -DEPEND="acct-group/incus - acct-group/incus-admin - app-arch/xz-utils - >=app-containers/lxc-5.0.0:=[apparmor?,seccomp(+)] - dev-db/sqlite:3 - >=dev-libs/cowsql-1.15.7 - dev-libs/lzo - >=dev-libs/raft-0.22.1:=[lz4] - >=dev-util/xdelta-3.0[lzma(+)] - net-dns/dnsmasq[dhcp] - sys-libs/libcap - virtual/udev" -RDEPEND="${DEPEND} - || ( - net-firewall/iptables - net-firewall/nftables[json] - ) - fuidshift? ( !app-containers/lxd ) - net-firewall/ebtables - sys-apps/iproute2 - sys-fs/fuse:* - >=sys-fs/lxcfs-5.0.0 - sys-fs/squashfs-tools[lzma] - virtual/acl - apparmor? ( sec-policy/apparmor-profiles ) - qemu? ( - app-cdr/cdrtools - app-emulation/qemu[spice,usbredir,virtfs] - sys-apps/gptfdisk - ) - selinux? ( sec-policy/selinux-incus )" -BDEPEND=">=dev-lang/go-1.24.7 - nls? ( sys-devel/gettext ) - verify-sig? ( sec-keys/openpgp-keys-linuxcontainers )" - -CONFIG_CHECK=" - ~AIO - ~CGROUPS - ~IPC_NS - ~NET_NS - ~PID_NS - - ~SECCOMP - ~USER_NS - ~UTS_NS - - ~KVM - ~MACVTAP - ~VHOST_VSOCK -" - -ERROR_AIO="CONFIG_AIO is required." -ERROR_IPC_NS="CONFIG_IPC_NS is required." -ERROR_NET_NS="CONFIG_NET_NS is required." -ERROR_PID_NS="CONFIG_PID_NS is required." -ERROR_SECCOMP="CONFIG_SECCOMP is required." -ERROR_UTS_NS="CONFIG_UTS_NS is required." - -WARNING_KVM="CONFIG_KVM and CONFIG_KVM_AMD/-INTEL is required for virtual machines." -WARNING_MACVTAP="CONFIG_MACVTAP is required for virtual machines." -WARNING_VHOST_VSOCK="CONFIG_VHOST_VSOCK is required for virtual machines." - -# Go magic. -QA_PREBUILT="/usr/bin/incus - /usr/bin/incus-agent - /usr/bin/incus-benchmark - /usr/bin/incus-migrate - /usr/bin/lxc-to-incus - /usr/sbin/fuidshift - /usr/sbin/incusd - /usr/sbin/lxd-to-incus" - -VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/linuxcontainers.asc - -# The testsuite must be run as root. -# make: *** [Makefile:156: check] Error 1 -RESTRICT="test" - -GOPATH="${S}/_dist" - -src_unpack() { - if [[ "${PV}" == 9999* ]]; then - git-r3_src_unpack - go-module_live_vendor - go-env_set_compile_environment - else - verify-sig_src_unpack - go-module_src_unpack - fi -} - -src_prepare() { - export GOPATH="${S}/_dist" - - default - - sed -i \ - -e "s:\./configure:./configure --prefix=/usr --libdir=${EPREFIX}/usr/lib/incus:g" \ - -e "s:make:make ${MAKEOPTS}:g" \ - Makefile || die - - sed -i \ - -e "s:/usr/share/OVMF:/usr/share/edk2/OvmfX64:g" \ - -e "s:OVMF_VARS.ms.fd:OVMF_VARS.fd:g" \ - internal/server/instance/drivers/edk2/driver_edk2.go || die "Failed to fix hardcoded ovmf paths." - - cp "${FILESDIR}"/incus-6.14-r1.service "${T}"/incus.service || die - if use apparmor; then - sed -i \ - '/^EnvironmentFile=.*/a ExecStartPre=\/usr\/libexec\/lxc\/lxc-apparmor-load' \ - "${T}"/incus.service || die - fi - - # Disable -Werror's from go modules. - find "${S}" -name "cgo.go" -exec sed -i "s/ -Werror / /g" {} + || die -} - -src_configure() { :; } - -incus_get_bindir() { - local host_arch=${1} - if [[ "${GOARCH}" != "${host_arch}" ]]; then - echo "_dist/bin/linux_${GOARCH}" - else - echo "_dist/bin" - fi -} - -src_compile() { - export GOPATH="${S}/_dist" - export CGO_LDFLAGS_ALLOW="-Wl,-z,now" - - for k in incus-benchmark incus-simplestreams incus-user incus lxc-to-incus lxd-to-incus ; do - ego install -v -x "${S}/cmd/${k}" - done - - if use fuidshift ; then - ego install -v -x "${S}/cmd/fuidshift" - fi - - ego install -v -x -tags libsqlite3 "${S}"/cmd/incusd - - # Needs to be built statically - CGO_ENABLED=0 go install -v -tags agent,netgo,static -buildmode default "${S}"/cmd/incus-migrate - - local bindir=$(incus_get_bindir "$(go-env_goarch "${CBUILD}")") - - # Build the VM agents, statically too - if use amd64 ; then - GOARCH=amd64 CGO_ENABLED=0 ego build -o "${bindir}"/incus-agent.linux.x86_64 -v \ - -tags agent,netgo,static -buildmode default "${S}"/cmd/incus-agent - GOARCH=386 CGO_ENABLED=0 ego build -o "${bindir}"/incus-agent.linux.i686 -v \ - -tags agent,netgo,static -buildmode default "${S}"/cmd/incus-agent - GOARCH=amd64 GOOS=windows CGO_ENABLED=0 ego build -o "${bindir}"/incus-agent.windows.x86_64 -v \ - -tags agent,netgo,static -buildmode default "${S}"/cmd/incus-agent - GOARCH=386 GOOS=windows CGO_ENABLED=0 ego build -o "${bindir}"/incus-agent.windows.i686 -v \ - -tags agent,netgo,static -buildmode default "${S}"/cmd/incus-agent - elif use arm64 ; then - GOARCH=arm64 CGO_ENABLED=0 ego build -o "${bindir}"/incus-agent.linux.aarch64 -v \ - -tags agent,netgo,static -buildmode default "${S}"/cmd/incus-agent - GOARCH=arm64 GOOS=windows CGO_ENABLED=0 ego build -o "${bindir}"/incus-agent.windows.aarch64 -v \ - -tags agent,netgo,static -buildmode default "${S}"/cmd/incus-agent - else - echo "No VM support for this arch." - return - fi - - use nls && emake build-mo -} - -src_test() { - emake check -} - -src_install() { - export GOPATH="${S}/_dist" - - export GOHOSTARCH=$(go-env_goarch "${CBUILD}") - local bindir=$(incus_get_bindir "${GOHOSTARCH}") - - newsbin "${FILESDIR}"/incus-startup-0.4.sh incus-startup - - # Admin tools - for l in incusd incus-user lxd-to-incus ; do - dosbin "${bindir}/${l}" - done - - # User tools - for m in incus-benchmark incus-migrate incus-simplestreams incus lxc-to-incus ; do - dobin "${bindir}/${m}" - done - - # VM Agents - if use amd64 ; then - exeinto /usr/libexec/incus/agents - doexe ${bindir}/incus-agent.linux.x86_64 - doexe ${bindir}/incus-agent.linux.i686 - doexe ${bindir}/incus-agent.windows.x86_64 - doexe ${bindir}/incus-agent.windows.i686 - elif use arm64 ; then - exeinto /usr/libexec/incus/agents - doexe ${bindir}/incus-agent.linux.aarch64 - doexe ${bindir}/incus-agent.windows.aarch64 - fi - - # fuidshift, should be moved under admin tools at some point - if use fuidshift ; then - dosbin ${bindir}/fuidshift - fi - - newconfd "${FILESDIR}"/incus-6.0.confd incus - newinitd "${FILESDIR}"/incus-6.0.initd incus - newinitd "${FILESDIR}"/incus-user-0.4.initd incus-user - - systemd_dounit "${T}"/incus.service - systemd_newunit "${FILESDIR}"/incus-0.4.socket incus.socket - systemd_newunit "${FILESDIR}"/incus-startup-0.4.service incus-startup.service - systemd_newunit "${FILESDIR}"/incus-user-0.4.service incus-user.service - systemd_newunit "${FILESDIR}"/incus-user-0.4.socket incus-user.socket - - if ! tc-is-cross-compiler; then - # Generate and install shell completion files. - mkdir -p "${D}"/usr/share/{bash-completion/completions/,fish/vendor_completions.d/,zsh/site-functions/} || die - "${bindir}"/incus completion bash > "${D}"/usr/share/bash-completion/completions/incus || die - "${bindir}"/incus completion fish > "${D}"/usr/share/fish/vendor_completions.d/incus.fish || die - "${bindir}"/incus completion zsh > "${D}"/usr/share/zsh/site-functions/_incus || die - else - ewarn "Shell completion files not installed! Install them manually with incus completion --help" - fi - - dodoc AUTHORS - dodoc -r doc/* - use nls && domo po/*.mo - - # Incus needs INCUS_EDK2_PATH in env to find OVMF files for virtual machines, #946184, - # and INCUS_AGENT_PATH to find multi-setup agents for VMs, #959878, - # and INCUS_SECURITY_SELINUX=true to enable selinux support (until its enabled by default) - newenvd "${FILESDIR}"/90incus.envd 90incus - if use selinux; then - echo "INCUS_SECURITY_SELINUX=true" >> "${D}"/etc/env.d/90incus - fi -} - -pkg_postinst() { - elog - elog "Please see" - elog " https://wiki.gentoo.org/wiki/Incus" - elog " https://wiki.gentoo.org/wiki/Incus#Migrating_from_LXD" - elog - optfeature "OCI container images support" app-containers/skopeo app-containers/umoci - optfeature "support for ACME certificate issuance" app-crypt/lego - optfeature "btrfs storage backend" sys-fs/btrfs-progs - optfeature "ipv6 support" net-dns/dnsmasq[ipv6] - optfeature "full incus-migrate support" net-misc/rsync - optfeature "lvm2 storage backend" sys-fs/lvm2 - optfeature "zfs storage backend" sys-fs/zfs - elog - elog "Be sure to add your local user to the incus group." - elog -} diff --git a/sdk_container/src/third_party/portage-stable/app-containers/incus/incus-7.0.0-r1.ebuild b/sdk_container/src/third_party/portage-stable/app-containers/incus/incus-7.0.1.ebuild similarity index 99% rename from sdk_container/src/third_party/portage-stable/app-containers/incus/incus-7.0.0-r1.ebuild rename to sdk_container/src/third_party/portage-stable/app-containers/incus/incus-7.0.1.ebuild index 326cce158ba..79db277cea5 100644 --- a/sdk_container/src/third_party/portage-stable/app-containers/incus/incus-7.0.0-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-containers/incus/incus-7.0.1.ebuild @@ -43,7 +43,7 @@ RDEPEND="${DEPEND} sys-apps/gptfdisk ) selinux? ( sec-policy/selinux-incus )" -BDEPEND=">=dev-lang/go-1.25.6 +BDEPEND=">=dev-lang/go-1.25.11 nls? ( sys-devel/gettext ) verify-sig? ( sec-keys/openpgp-keys-linuxcontainers )" From 0b3a30cb1002556e38f9aea16bc9e9a1d6ca1863 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 3 Aug 2026 08:12:38 +0000 Subject: [PATCH 011/195] app-containers/lxc: Sync with Gentoo It's from Gentoo commit 5865bd45d8349212a216950c5fb090f7804e0d49. Signed-off-by: Flatcar Buildbot --- .../app-containers/lxc/Manifest | 6 - .../lxc-6.0.5-fix-openat2-include-typo.patch | 25 --- .../app-containers/lxc/lxc-5.0.3.ebuild | 169 ----------------- .../app-containers/lxc/lxc-6.0.5.ebuild | 170 ----------------- .../app-containers/lxc/lxc-6.0.6.ebuild | 174 ------------------ 5 files changed, 544 deletions(-) delete mode 100644 sdk_container/src/third_party/portage-stable/app-containers/lxc/files/lxc-6.0.5-fix-openat2-include-typo.patch delete mode 100644 sdk_container/src/third_party/portage-stable/app-containers/lxc/lxc-5.0.3.ebuild delete mode 100644 sdk_container/src/third_party/portage-stable/app-containers/lxc/lxc-6.0.5.ebuild delete mode 100644 sdk_container/src/third_party/portage-stable/app-containers/lxc/lxc-6.0.6.ebuild diff --git a/sdk_container/src/third_party/portage-stable/app-containers/lxc/Manifest b/sdk_container/src/third_party/portage-stable/app-containers/lxc/Manifest index 84a951404c1..0b2ad48b58b 100644 --- a/sdk_container/src/third_party/portage-stable/app-containers/lxc/Manifest +++ b/sdk_container/src/third_party/portage-stable/app-containers/lxc/Manifest @@ -1,8 +1,2 @@ -DIST lxc-5.0.3.tar.gz 975269 BLAKE2B 533d97fe4d986acbf5d562bb2c295a63df2a9a8bfc27aeff5056e4235f667102500debc586c5698482ec048c1b222a0fdc234db6fd6648c4b649f87a85de18f8 SHA512 0553be317431ab7ec0c450c0f85724a53de1f251c39c9716168e17cda6a8daec70b8221228c4be64027df28a327e0f1fd508e6bb48348ab540bbfeaf2b9ac974 -DIST lxc-5.0.3.tar.gz.asc 833 BLAKE2B c35278ed17cad76d2ea94b3985e0110731efea751fb5f1c2d1c9db71486e4844285f372a94c8611dcfe91fdb16459694843b9e0a8273cfc68a56f549c7162cfb SHA512 a5ce5769d49abdf35d94de8273fd3e9c2a8ba4fafea71cf33ee6bce1d83531c8b550d972f7080409a4cc5a92e9d04ece50ed108f92c6aec4868d150e58d7d11a -DIST lxc-6.0.5.tar.gz 958966 BLAKE2B 74ee775f8a23467049f38f0973a24eb12b34b7c758549294342470b7b6b8e95eaef118c493f62b6394c435a5c86389fde4454199107e90743dd40d3a5bf373fd SHA512 3674397e789ed9eda7e37d4e22c42ab02687c0ab6a12f6c234a3393bdfb3f048aa0ded419c5c2f435d653d3dd70f47ae19d28b7a46838f12004d00b05c54a26d -DIST lxc-6.0.5.tar.gz.asc 833 BLAKE2B ac1480c0b5588b290ab1ec81bf7bf85990df98a650832363529e9ede8afb7594bd21b58a4a79e7fe9519c381d4860d7a33f4090582612ffff7c448c77e641929 SHA512 8c28da0ebc280ae491bab815105f3c58f2c9cd742586ce86f9b1d2032724db4893811d689f7278bfc8c5570dc45ca6071e4c25b77647d762c77eca59249a15b5 -DIST lxc-6.0.6.tar.gz 963412 BLAKE2B 3bd9575f4c1a4b96ce5bea767e6a6b3c15a3021c62ebaf7421065ca55d2093ca467a8e9e86ce5d8316dab4fc9cde0c96dc1acedb73ccf167bd5c3e5484e5ceff SHA512 1d28aa749711be8a439de5e76019960d78e21bf576724bce7e8973ba4f6a3995c040cdc184e3c3a30814eb4cd2daec6851d26422c7d6d9d64ccd95add6c2eb30 -DIST lxc-6.0.6.tar.gz.asc 833 BLAKE2B 622a7c53629b3e5117bad956923824662073955ca8c6b3c6fba61b9d37c3b76fa48d55ecfd460fad4a5fe88c074264ad4c97b4193342d9c3a5fa322814a212fd SHA512 3ddaf0796e6888c15a5124141439ffa09c2d611f185cf3c8b2106eea530485a013846548bf9bd5ea9d0b69ee52aad2de9281b293a323ba2510db925c38cce98f DIST lxc-7.0.0.tar.gz 962710 BLAKE2B 025583e58ba2613bced13fbc7929ecbbf0eb0cd373cc59c80d1794b9398db109ecf35a2797cd08092d72e5718c406dd953d676ca0f29390fc139817c49886bee SHA512 5c7a9fba7313e2d19be649bf906067d99240cf5700e88892dcdb09a216206671db73d647fabad558af3a594ec24054f69627ea5e44638c187c4a0c07067e441a DIST lxc-7.0.0.tar.gz.asc 833 BLAKE2B e76eef4ca3485f88b1033ff2e044fc89806dfb11b1d0cfe6b73ab7b5ebb487818e2426f8fb21e8165e6633bc16186664cf0a5af6c72f0dc9e41df75c4cd92727 SHA512 6bb8cd64a73ef828275b98ac1657a9d8a4de878fff9fb6f63123974efec17e5143f4829f1d5275a47155005a28b4ea23774a9e5713f930cd4ed4cd951cc1fb06 diff --git a/sdk_container/src/third_party/portage-stable/app-containers/lxc/files/lxc-6.0.5-fix-openat2-include-typo.patch b/sdk_container/src/third_party/portage-stable/app-containers/lxc/files/lxc-6.0.5-fix-openat2-include-typo.patch deleted file mode 100644 index 2903cc5de57..00000000000 --- a/sdk_container/src/third_party/portage-stable/app-containers/lxc/files/lxc-6.0.5-fix-openat2-include-typo.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 511e4db8f2a5b47cdd41eef482647492ce5b0f77 Mon Sep 17 00:00:00 2001 -From: Joonas Niilola -Date: Sun, 15 Feb 2026 17:42:39 +0200 -Subject: [PATCH] meson.build: fix openat2 include typo, fix with glibc-2.43 - +FORTIFY - -Closes: https://github.com/lxc/lxc/issues/4641 -Signed-off-by: Joonas Niilola ---- - meson.build | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/meson.build b/meson.build -index eef4e6900c..df40d7516a 100644 ---- a/meson.build -+++ b/meson.build -@@ -571,7 +571,7 @@ foreach ident: [ - ['move_mount', '''#include '''], - ['openat2', '''#include - #include -- #include '''], -+ #include '''], - ['open_tree', '''#include '''], - ['personality', '''#include '''], - ['pidfd_open', '''#include diff --git a/sdk_container/src/third_party/portage-stable/app-containers/lxc/lxc-5.0.3.ebuild b/sdk_container/src/third_party/portage-stable/app-containers/lxc/lxc-5.0.3.ebuild deleted file mode 100644 index 4fdedaf083a..00000000000 --- a/sdk_container/src/third_party/portage-stable/app-containers/lxc/lxc-5.0.3.ebuild +++ /dev/null @@ -1,169 +0,0 @@ -# Copyright 2022-2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit bash-completion-r1 linux-info meson optfeature systemd toolchain-funcs verify-sig - -DESCRIPTION="A userspace interface for the Linux kernel containment features" -HOMEPAGE="https://linuxcontainers.org/ https://github.com/lxc/lxc" -SRC_URI="https://linuxcontainers.org/downloads/lxc/${P}.tar.gz - verify-sig? ( https://linuxcontainers.org/downloads/lxc/${P}.tar.gz.asc )" - -LICENSE="GPL-2 LGPL-2.1 LGPL-3" -SLOT="0/1.502" # SONAME liblxc.so.1 + ${PV//./} _if_ breaking ABI change while bumping. -KEYWORDS="amd64 ~arm ~arm64 ~ppc64 ~riscv x86" -IUSE="apparmor +caps examples io-uring lto man pam seccomp selinux ssl systemd test +tools" - -RDEPEND="acct-group/lxc - acct-user/lxc - apparmor? ( sys-libs/libapparmor ) - caps? ( sys-libs/libcap[static-libs] ) - io-uring? ( >=sys-libs/liburing-2:= ) - pam? ( sys-libs/pam ) - seccomp? ( sys-libs/libseccomp ) - selinux? ( sys-libs/libselinux ) - ssl? ( dev-libs/openssl:0= ) - systemd? ( sys-apps/systemd:= ) - tools? ( sys-libs/libcap[static-libs] )" -DEPEND="${RDEPEND} - sys-kernel/linux-headers" -BDEPEND="virtual/pkgconfig - man? ( app-text/docbook2X ) - verify-sig? ( sec-keys/openpgp-keys-linuxcontainers )" - -RESTRICT="!test? ( test )" - -CONFIG_CHECK="~!NETPRIO_CGROUP - ~CGROUPS - ~CGROUP_CPUACCT - ~CGROUP_DEVICE - ~CGROUP_FREEZER - - ~CGROUP_SCHED - ~CPUSETS - ~IPC_NS - ~MACVLAN - - ~MEMCG - ~NAMESPACES - ~NET_NS - ~PID_NS - - ~POSIX_MQUEUE - ~USER_NS - ~UTS_NS - ~VETH" - -ERROR_CGROUP_FREEZER="CONFIG_CGROUP_FREEZER: needed to freeze containers" -ERROR_MACVLAN="CONFIG_MACVLAN: needed for internal (inter-container) networking" -ERROR_MEMCG="CONFIG_MEMCG: needed for memory resource control in containers" -ERROR_NET_NS="CONFIG_NET_NS: needed for unshared network" -ERROR_POSIX_MQUEUE="CONFIG_POSIX_MQUEUE: needed for lxc-execute command" -ERROR_UTS_NS="CONFIG_UTS_NS: needed to unshare hostnames and uname info" -ERROR_VETH="CONFIG_VETH: needed for internal (host-to-container) networking" - -VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/linuxcontainers.asc - -DOCS=( AUTHORS CONTRIBUTING MAINTAINERS README.md doc/FAQ.txt ) - -pkg_setup() { - linux-info_pkg_setup -} - -src_configure() { - local emesonargs=( - --localstatedir "${EPREFIX}/var" - - -Dcoverity-build=false - -Doss-fuzz=false - - -Dcommands=true - -Dmemfd-rexec=true - -Dthread-safety=true - - $(meson_use apparmor) - $(meson_use caps capabilities) - $(meson_use examples) - $(meson_use io-uring io-uring-event-loop) - $(meson_use lto b_lto) - $(meson_use man) - $(meson_use pam pam-cgroup) - $(meson_use seccomp) - $(meson_use selinux) - $(meson_use ssl openssl) - $(meson_use test tests) - $(meson_use tools) - - -Ddata-path=/var/lib/lxc - -Ddoc-path=/usr/share/doc/${PF} - -Dlog-path=/var/log/lxc - -Drootfs-mount-path=/var/lib/lxc/rootfs - -Druntime-path=/run - ) - - if use systemd; then - local emesonargs+=( -Dinit-script="systemd" ) - local emesonargs+=( -Dsd-bus=enabled ) - else - local emesonargs+=( -Dinit-script="sysvinit" ) - local emesonargs+=( -Dsd-bus=disabled ) - fi - - use tools && local emesonargs+=( -Dcapabilities=true ) - - if $(tc-ld-is-gold) || $(tc-ld-is-lld); then - local emesonargs+=( -Db_lto_mode=thin ) - else - local emesonargs+=( -Db_lto_mode=default ) - fi - - meson_src_configure -} - -src_install() { - meson_src_install - - # The main bash-completion file will collide with lxd, need to relocate and update symlinks. - mkdir -p "${ED}"/$(get_bashcompdir) || die "Failed to create bashcompdir." - - if use tools; then - bashcomp_alias lxc-start lxc-{attach,autostart,cgroup,checkpoint,config,console,copy,create,destroy,device,execute,freeze,info,ls,monitor,snapshot,stop,top,unfreeze,unshare,usernsexec,wait} - else - bashcomp_alias lxc-start lxc-usernsexec - fi - - keepdir /var/lib/cache/lxc /var/lib/lib/lxc - - find "${ED}" -name '*.la' -delete -o -name '*.a' -delete || die - - # Replace upstream sysvinit/systemd files. - if use systemd; then - rm -r "${D}$(systemd_get_systemunitdir)" || die "Failed to remove systemd lib dir" - else - rm "${ED}"/etc/init.d/lxc-{containers,net} || die "Failed to remove sysvinit scripts" - fi - - newinitd "${FILESDIR}/${PN}.initd.9" ${PN} - systemd_newunit "${FILESDIR}"/lxc-monitord.service.5.0.0 lxc-monitord.service - systemd_newunit "${FILESDIR}"/lxc-net.service.5.0.0 lxc-net.service - systemd_newunit "${FILESDIR}"/lxc.service-5.0.0 lxc.service - systemd_newunit "${FILESDIR}"/lxc_at.service.5.0.0 "lxc@.service" - - if ! use apparmor; then - sed -i '/lxc-apparmor-load/d' "${D}$(systemd_get_systemunitdir)/lxc.service" || - die "Failed to remove apparmor references from lxc.service systemd unit." - fi -} - -pkg_postinst() { - elog "Please refer to " - elog "https://wiki.gentoo.org/wiki/LXC for introduction and usage guide." - elog - elog "Run 'lxc-checkconfig' to see optional kernel features." - elog - - optfeature "automatic template scripts" app-containers/lxc-templates - optfeature "Debian-based distribution container image support" dev-util/debootstrap - optfeature "snapshot & restore functionality" sys-process/criu -} diff --git a/sdk_container/src/third_party/portage-stable/app-containers/lxc/lxc-6.0.5.ebuild b/sdk_container/src/third_party/portage-stable/app-containers/lxc/lxc-6.0.5.ebuild deleted file mode 100644 index 400acf79c30..00000000000 --- a/sdk_container/src/third_party/portage-stable/app-containers/lxc/lxc-6.0.5.ebuild +++ /dev/null @@ -1,170 +0,0 @@ -# Copyright 2022-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit bash-completion-r1 linux-info meson optfeature systemd verify-sig - -DESCRIPTION="A userspace interface for the Linux kernel containment features" -HOMEPAGE="https://linuxcontainers.org/ https://github.com/lxc/lxc" -SRC_URI="https://linuxcontainers.org/downloads/lxc/${P}.tar.gz - verify-sig? ( https://linuxcontainers.org/downloads/lxc/${P}.tar.gz.asc )" - -LICENSE="GPL-2 LGPL-2.1 LGPL-3" -SLOT="0/1.8" # SONAME liblxc.so.1 + ${PV//./} _if_ breaking ABI change while bumping. -KEYWORDS="amd64 ~arm ~arm64 ~ppc64 ~riscv x86" -IUSE="apparmor +caps examples io-uring man pam seccomp selinux ssl systemd test +tools" - -RDEPEND="acct-group/lxc - acct-user/lxc - apparmor? ( sys-libs/libapparmor ) - caps? ( sys-libs/libcap ) - io-uring? ( >=sys-libs/liburing-2:= ) - pam? ( sys-libs/pam ) - seccomp? ( sys-libs/libseccomp ) - selinux? ( sys-libs/libselinux ) - ssl? ( dev-libs/openssl:0= ) - systemd? ( - sys-apps/dbus - sys-apps/systemd:= - ) - tools? ( sys-libs/libcap )" -DEPEND="${RDEPEND} - caps? ( sys-libs/libcap[static-libs] ) - tools? ( sys-libs/libcap[static-libs] ) - sys-kernel/linux-headers" -BDEPEND="virtual/pkgconfig - man? ( app-text/docbook2X ) - verify-sig? ( sec-keys/openpgp-keys-linuxcontainers )" - -RESTRICT="!test? ( test )" - -CONFIG_CHECK="~!NETPRIO_CGROUP - ~CGROUPS - ~CGROUP_CPUACCT - ~CGROUP_DEVICE - ~CGROUP_FREEZER - - ~CGROUP_SCHED - ~CPUSETS - ~IPC_NS - ~MACVLAN - - ~MEMCG - ~NAMESPACES - ~NET_NS - ~PID_NS - - ~POSIX_MQUEUE - ~USER_NS - ~UTS_NS - ~VETH" - -ERROR_CGROUP_FREEZER="CONFIG_CGROUP_FREEZER: needed to freeze containers" -ERROR_MACVLAN="CONFIG_MACVLAN: needed for internal (inter-container) networking" -ERROR_MEMCG="CONFIG_MEMCG: needed for memory resource control in containers" -ERROR_NET_NS="CONFIG_NET_NS: needed for unshared network" -ERROR_POSIX_MQUEUE="CONFIG_POSIX_MQUEUE: needed for lxc-execute command" -ERROR_UTS_NS="CONFIG_UTS_NS: needed to unshare hostnames and uname info" -ERROR_VETH="CONFIG_VETH: needed for internal (host-to-container) networking" - -VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/linuxcontainers.asc - -DOCS=( AUTHORS CONTRIBUTING MAINTAINERS README.md doc/FAQ.txt ) - -PATCHES=( "${FILESDIR}"/lxc-6.0.5-fix-openat2-include-typo.patch ) - -pkg_setup() { - linux-info_pkg_setup -} - -src_configure() { - - # -Dtools-multicall=false: will create a single binary called 'lxc' that conflicts with LXD. - local emesonargs=( - --localstatedir "${EPREFIX}/var" - - -Dcoverity-build=false - -Dinstall-state-dirs=false - -Doss-fuzz=false - -Dspecfile=false - -Dtools-multicall=false - - -Dcommands=true - -Dinstall-init-files=true - -Dmemfd-rexec=true - -Dthread-safety=true - - $(meson_use apparmor) - $(meson_use caps capabilities) - $(meson_use examples) - $(meson_use io-uring io-uring-event-loop) - $(meson_use man) - $(meson_use pam pam-cgroup) - $(meson_use seccomp) - $(meson_use selinux) - $(meson_use ssl openssl) - $(meson_use test tests) - $(meson_use tools) - - $(usex systemd -Ddbus=true -Ddbus=false) - $(usex systemd -Dinit-script="systemd" -Dinit-script="sysvinit") - - -Ddata-path=/var/lib/lxc - -Ddoc-path=/usr/share/doc/${PF} - -Dlog-path=/var/log/lxc - -Drootfs-mount-path=/var/lib/lxc/rootfs - -Druntime-path=/run - ) - - use tools && local emesonargs+=( -Dcapabilities=true ) - - meson_src_configure -} - -src_install() { - meson_src_install - - # The main bash-completion file will collide with lxd, need to relocate and update symlinks. - local lxcbashcompdir="${D}/$(get_bashcompdir)" - mkdir -p "${lxcbashcompdir}" || die "Failed to create bashcompdir." - mv "${lxcbashcompdir}"/_lxc "${lxcbashcompdir}"/lxc-start || die "Failed to move _lxc bash completion file." - - # Build system will install all bash completion files regardless of our 'tools' use flag. - # Though installing them all will add bash completions for commands that don't exist, it's - # cleaner than dealing with individual files based on the use flag status. - bashcomp_alias lxc-start lxc-{attach,autostart,cgroup,checkpoint,config,console,copy,create,destroy,device,execute,freeze,info,ls,monitor,snapshot,stop,top,unfreeze,unshare,update-config,usernsexec,wait} - - find "${ED}" -name '*.la' -delete -o -name '*.a' -delete || die - - # Replace upstream sysvinit/systemd files. - if use systemd ; then - rm -r "${D}$(systemd_get_systemunitdir)" || die "Failed to remove systemd lib dir" - else - rm "${ED}"/etc/init.d/lxc-{containers,net} || die "Failed to remove sysvinit scripts" - fi - - newinitd "${FILESDIR}/${PN}.initd.9" ${PN} - systemd_newunit "${FILESDIR}"/lxc-monitord.service.5.0.0 lxc-monitord.service - systemd_newunit "${FILESDIR}"/lxc-net.service.5.0.0 lxc-net.service - systemd_newunit "${FILESDIR}"/lxc.service-5.0.0 lxc.service - systemd_newunit "${FILESDIR}"/lxc_at.service.5.0.0 "lxc@.service" - - if ! use apparmor; then - sed -i '/lxc-apparmor-load/d' "${D}$(systemd_get_systemunitdir)/lxc.service" || - die "Failed to remove apparmor references from lxc.service systemd unit." - fi -} - -pkg_postinst() { - elog "Please refer to " - elog "https://wiki.gentoo.org/wiki/LXC for introduction and usage guide." - elog - elog "Run 'lxc-checkconfig' to see optional kernel features." - elog - - optfeature "creating your own LXC containers" app-containers/distrobuilder - optfeature "automatic template scripts" app-containers/lxc-templates - optfeature "Debian-based distribution container image support" dev-util/debootstrap - optfeature "snapshot & restore functionality" sys-process/criu -} diff --git a/sdk_container/src/third_party/portage-stable/app-containers/lxc/lxc-6.0.6.ebuild b/sdk_container/src/third_party/portage-stable/app-containers/lxc/lxc-6.0.6.ebuild deleted file mode 100644 index 1e29cd2d9f0..00000000000 --- a/sdk_container/src/third_party/portage-stable/app-containers/lxc/lxc-6.0.6.ebuild +++ /dev/null @@ -1,174 +0,0 @@ -# Copyright 2022-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit bash-completion-r1 linux-info meson optfeature systemd verify-sig - -DESCRIPTION="A userspace interface for the Linux kernel containment features" -HOMEPAGE="https://linuxcontainers.org/ https://github.com/lxc/lxc" -SRC_URI="https://linuxcontainers.org/downloads/lxc/${P}.tar.gz - verify-sig? ( https://linuxcontainers.org/downloads/lxc/${P}.tar.gz.asc )" - -LICENSE="GPL-2 LGPL-2.1 LGPL-3" # LGPL-2.1+ is listed, but it's covered by "LGPL-3" -SLOT="0/1.606" # SONAME liblxc.so.1 + ${PV//./} _if_ breaking ABI change while bumping. -KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86" -IUSE="apparmor +caps doc examples io-uring man pam seccomp selinux ssl systemd test +tools" - -RDEPEND="acct-group/lxc - acct-user/lxc - apparmor? ( sys-libs/libapparmor ) - caps? ( sys-libs/libcap ) - io-uring? ( >=sys-libs/liburing-2:= ) - pam? ( sys-libs/pam ) - seccomp? ( sys-libs/libseccomp ) - selinux? ( sys-libs/libselinux ) - ssl? ( dev-libs/openssl:0= ) - systemd? ( - sys-apps/dbus - sys-apps/systemd:= - ) - tools? ( sys-libs/libcap )" -DEPEND="${RDEPEND} - caps? ( sys-libs/libcap[static-libs] ) - tools? ( sys-libs/libcap[static-libs] ) - sys-kernel/linux-headers" -BDEPEND="virtual/pkgconfig - doc? ( app-text/doxygen ) - man? ( app-text/docbook2X ) - verify-sig? ( sec-keys/openpgp-keys-linuxcontainers )" - -RESTRICT="!test? ( test )" - -CONFIG_CHECK="~!NETPRIO_CGROUP - ~CGROUPS - ~CGROUP_CPUACCT - ~CGROUP_DEVICE - ~CGROUP_FREEZER - - ~CGROUP_SCHED - ~CPUSETS - ~IPC_NS - ~MACVLAN - - ~MEMCG - ~NAMESPACES - ~NET_NS - ~PID_NS - - ~POSIX_MQUEUE - ~USER_NS - ~UTS_NS - ~VETH" - -ERROR_CGROUP_FREEZER="CONFIG_CGROUP_FREEZER: needed to freeze containers" -ERROR_MACVLAN="CONFIG_MACVLAN: needed for internal (inter-container) networking" -ERROR_MEMCG="CONFIG_MEMCG: needed for memory resource control in containers" -ERROR_NET_NS="CONFIG_NET_NS: needed for unshared network" -ERROR_POSIX_MQUEUE="CONFIG_POSIX_MQUEUE: needed for lxc-execute command" -ERROR_UTS_NS="CONFIG_UTS_NS: needed to unshare hostnames and uname info" -ERROR_VETH="CONFIG_VETH: needed for internal (host-to-container) networking" - -VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/linuxcontainers.asc - -DOCS=( AUTHORS MAINTAINERS README.md doc/FAQ.txt ) - -pkg_setup() { - linux-info_pkg_setup -} - -src_configure() { - - # -Dtools-multicall=false: will create a single binary called 'lxc' that conflicts with LXD. - local emesonargs=( - --localstatedir "${EPREFIX}/var" - - -Dcoverity-build=false - -Dinstall-state-dirs=false - -Doss-fuzz=false - -Dspecfile=false - -Dtools-multicall=false - - -Dcommands=true - -Dinstall-init-files=true - -Dmemfd-rexec=true - -Dthread-safety=true - - $(meson_use apparmor) - $(meson_use caps capabilities) - $(meson_use doc api-docs) - $(meson_use examples) - $(meson_use io-uring io-uring-event-loop) - $(meson_use man) - $(meson_use pam pam-cgroup) - $(meson_use seccomp) - $(meson_use selinux) - $(meson_use ssl openssl) - $(meson_use test tests) - $(meson_use tools) - - $(usex systemd -Ddbus=true -Ddbus=false) - $(usex systemd -Dinit-script="systemd" -Dinit-script="openrc") - - -Ddata-path=/var/lib/lxc - -Ddoc-path=/usr/share/doc/${PF} - -Dlog-path=/var/log/lxc - -Drootfs-mount-path=/var/lib/lxc/rootfs - -Druntime-path=/run - ) - - use tools && local emesonargs+=( -Dcapabilities=true ) - - meson_src_configure -} - -src_install() { - if use doc ; then - local HTML_DOCS=( "${BUILD_DIR}/html/"* ) - fi - meson_src_install - - # The main bash-completion file will collide with lxd, need to relocate and update symlinks. - local lxcbashcompdir="${D}/$(get_bashcompdir)" - mkdir -p "${lxcbashcompdir}" || die "Failed to create bashcompdir." - mv "${lxcbashcompdir}"/_lxc "${lxcbashcompdir}"/lxc-start || die "Failed to move _lxc bash completion file." - - # Build system will install all bash completion files regardless of our 'tools' use flag. - # Though installing them all will add bash completions for commands that don't exist, it's - # cleaner than dealing with individual files based on the use flag status. - bashcomp_alias lxc-start lxc-{attach,autostart,cgroup,checkpoint,config,console,copy,create,destroy,device,execute,freeze,info,ls,monitor,snapshot,stop,top,unfreeze,unshare,update-config,usernsexec,wait} - - find "${ED}" -name '*.la' -delete -o -name '*.a' -delete || die - - # Replace upstream systemd files. - if use systemd ; then - rm -r "${D}$(systemd_get_systemunitdir)" || die "Failed to remove systemd lib dir" - else - # The openrc files aren't installed with correct permissions. - fperms 0755 /etc/init.d/lxc-{containers,net} - fi - - newinitd "${FILESDIR}/${PN}.initd.9" ${PN} - systemd_newunit "${FILESDIR}"/lxc-monitord.service.5.0.0 lxc-monitord.service - systemd_newunit "${FILESDIR}"/lxc-net.service.5.0.0 lxc-net.service - systemd_newunit "${FILESDIR}"/lxc.service-5.0.0 lxc.service - systemd_newunit "${FILESDIR}"/lxc_at.service.5.0.0 "lxc@.service" - - if ! use apparmor; then - sed -i '/lxc-apparmor-load/d' "${D}$(systemd_get_systemunitdir)/lxc.service" || - die "Failed to remove apparmor references from lxc.service systemd unit." - fi -} - -pkg_postinst() { - elog "Please refer to " - elog "https://wiki.gentoo.org/wiki/LXC for introduction and usage guide." - elog - elog "Run 'lxc-checkconfig' to see optional kernel features." - elog - - optfeature "creating your own LXC containers" app-containers/distrobuilder - optfeature "automatic template scripts" app-containers/lxc-templates - optfeature "Debian-based distribution container image support" dev-util/debootstrap - optfeature "snapshot & restore functionality" sys-process/criu -} From 0c56362a09bc43eabf64c4c360f1fd9f4979d078 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 3 Aug 2026 08:12:38 +0000 Subject: [PATCH 012/195] app-containers/netavark: Sync with Gentoo It's from Gentoo commit 0833c9fed35b418972af787666741cf67a6818df. Signed-off-by: Flatcar Buildbot --- .../app-containers/netavark/Manifest | 8 --- .../netavark/netavark-1.14.1.ebuild | 59 ------------------ .../netavark/netavark-1.15.2.ebuild | 59 ------------------ .../netavark/netavark-1.16.1.ebuild | 61 ------------------- .../netavark/netavark-1.17.0.ebuild | 60 ------------------ .../netavark/netavark-1.17.1.ebuild | 2 +- .../netavark/netavark-1.17.2.ebuild | 2 +- .../netavark/netavark-2.0.0.ebuild | 4 ++ .../netavark/netavark-9999.ebuild | 8 ++- 9 files changed, 13 insertions(+), 250 deletions(-) delete mode 100644 sdk_container/src/third_party/portage-stable/app-containers/netavark/netavark-1.14.1.ebuild delete mode 100644 sdk_container/src/third_party/portage-stable/app-containers/netavark/netavark-1.15.2.ebuild delete mode 100644 sdk_container/src/third_party/portage-stable/app-containers/netavark/netavark-1.16.1.ebuild delete mode 100644 sdk_container/src/third_party/portage-stable/app-containers/netavark/netavark-1.17.0.ebuild diff --git a/sdk_container/src/third_party/portage-stable/app-containers/netavark/Manifest b/sdk_container/src/third_party/portage-stable/app-containers/netavark/Manifest index edf0b58e548..cf3aac523d5 100644 --- a/sdk_container/src/third_party/portage-stable/app-containers/netavark/Manifest +++ b/sdk_container/src/third_party/portage-stable/app-containers/netavark/Manifest @@ -1,14 +1,6 @@ -DIST netavark-1.14.1.crate 167516 BLAKE2B b6ec5eaef66798416fc0fc82f6de81d07feb52a95946a3844a9f4b34c16bfaa37bc3b5228e38b912d40381d30940f7e49bf052426989f20fffc712e2c4499ebb SHA512 ae7892858e85fda499742e9c9553f7e5e887bd62f155832b630c4b4fc0b32f52469d72d901d9b222816f324ec4f877cb758c9edad22e282eee77e05d98b05fc6 -DIST netavark-1.15.2.crate 169643 BLAKE2B fcc3a3b691a4bc0dfcbc180408ee9d8c7f15275c8ec0b8ae27f63a6d84ff425a0035ab4c17328d31f4b6a9dbbeaab0f48188111f82ddf6e3be9994eff3944e5b SHA512 6b9880b4150b52818f7bb2179acf2b4ffe87ab36a0aa8cf0c4442781f818842236d4acb41077729e8a25d134b96639cd311f0a505d276df02e5cd5e0a83cce82 -DIST netavark-1.16.1.crate 173635 BLAKE2B c2d45164e5c7a6689e5dae4921163a128e7525eef75a5b98a810539c13988a4880727831c22252e418bf3c987e1e729a6bb001e9dacb48b1c73603053fd0abc4 SHA512 8d20e5cc1bd8d80eaf7a9263985478f27b994dbff0da9b4378e4be0beb71121624348b152d3891b78512e598e2887815534c806518e64ff8f95eed305fa33132 -DIST netavark-1.17.0.crate 174623 BLAKE2B c39e9388185345541d0b8f2ddf6f3f14648499892aaab4b820d5d45f5620a24b31a7c24092832396fd04dd1e05828e933af9900f4228a8d03d90447c9269d970 SHA512 135cda6367d04c1d7a6b12882540bcf095acc5e42c43096a01be55f300d14b70ee6eeb6679fac5892d764d700bbfa2109f5c7c39e521ed8d8be1e61403f92258 DIST netavark-1.17.1.crate 174659 BLAKE2B a31fd13f31b671274000ae6a43ceefb0b0d1cd32026fd86ac01dc30acb55cf25b28016e5a8e7c91760384e61bb62d6edfcd48b163abc2000ff43201edac7e054 SHA512 dff64afaf982ba38c8a991ffafffbba2dce7abf70b4763eba662ef82f01629f265e2421d622a27a1db9e26ea44f33b5c8dbab2fdcf9b643b3d845b8ca624ba57 DIST netavark-1.17.2.crate 175788 BLAKE2B 94f6f202eca445267f063d53a47e572055fa6a7b2839d5e95246ff93dad0c55866571456459600cd57f42001dd75b4ae5bbdad6e7b95fa9b95616137fd87f03d SHA512 7a6a12fb58a190462d6a2171ac28df03686d09d371cb84e702278cda190111c24603060048f8cf7bd9a8ad334dc056efaa901604d08145009adf9e10eabf1aee DIST netavark-2.0.0.crate 185348 BLAKE2B 591e413e2058c2df3b66fa06eb8d13f0d19a7b9b8c29cc804cd1c38932f7e1df4c6ac9033b3ed40b494053c1decb4a8d703404b13a89123ddbfb4d4ad1ad2511 SHA512 384940e713162f149ca8ebb8c03e4ac505cab8482155fbd622091d165ceb0f0101842e87fb11b57e57ed677cd31ce3a77f140b2cb8b2852754d31eea3962895a -DIST netavark-v1.14.1-vendor.tar.gz 18508797 BLAKE2B 8b63673700f26e19ac2c2274e71a803bf99ba7aec58d8f66320e0cdd7c72c016f16083df46b0b454bd91df5e62e5c4170bcb2ee636c094a5578951bd8f38eb24 SHA512 84545bcb791a698a20d3b1f41502beaa568a5e519156cbb6e9d28bef34a24ed006a87cd77c8d972f63ad9c3ef9049637b15bd0d446d80c88dcdd9f268486959a -DIST netavark-v1.15.2-vendor.tar.gz 21528390 BLAKE2B b1cc108b27e9c545baff6e52a17189200b3757216a35954b370ebf1dede2344094fad1885559c6397234387535cb921361b289ca938021d97544e2fd13d4dd54 SHA512 52f3512dae21f54a364e2287e43ea47d6ef36d291522ddf36a4c5ae24a40d1f0997ea4902ad0e28a466fc2a058d5122d405d2b675d3250599b8ca49deb771d19 -DIST netavark-v1.16.1-vendor.tar.gz 22434836 BLAKE2B d1b6d4954b54bfd9088428f82098a8f78ef5bec500643a0c2c570827e74be1e4fbfe9f516cf7a9506325b847ee8b6ab07fa47b9b0936b2e462ee1b52e27edfda SHA512 fdfb63c58314e89ee1ef1b95a34b07aec82c15958dfc379e3ee4475c13f9864b6c02e33b45ea59a17fd9921669fd7c0c3d9078d319983cfbd1f76ea22afd5be4 -DIST netavark-v1.17.0-vendor.tar.gz 17711878 BLAKE2B acb3fe2c85230271bd7a0145b7f3b89bbb7aef1e86d73494df9e237fa444a6ca93cfe270af47c12428544e43d55ba22cc91e34ce266727b1db923e48b685557b SHA512 130cf586d19430b4d604af24496d33589f9763c3e403bf1f2bb39fe3821ace14519e8a93aff95f08cff5c3eeb3814d6aa1d29456985d49e1ce6d569fac934776 DIST netavark-v1.17.1-vendor.tar.gz 17711446 BLAKE2B d3b7030d411a4bd848127508e43a65e278a75a1ffcdca7b9e8ea46180d2e8da26be5e4eaa21fad22197f9eb9fd28413dc21a7d10b42f98d882990eeb750bb737 SHA512 9f7e5ee54b776ec27511a937e6ebb30b70a527f9232d635a9755459afee569fc37d715626b92ea2aa08637d6e63dada4f55ad6757f3a0a7aae753637349f6193 DIST netavark-v1.17.2-vendor.tar.gz 17711355 BLAKE2B a4967f3496635da375aa9adb22b9d5cdef2b5463b53b7bb31c1d0236c84edb36727a391cdbf8c81a7b2caa2675c173ff01ee3974465d4143c139d956951ff774 SHA512 2d34a237c540acd05590c09f07e57b1b0a765b746332cbc27337a4c31e2db4b92861629b1418a9c3990a0f25c659d537a8c7b7d2e63247fa3df39c092e80a59d DIST netavark-v2.0.0-vendor.tar.gz 20282162 BLAKE2B bed4a1023d20c88985fd8ad07e24a051f37483fab12e1770bf62a01cd092f1329b47a876fe989839db1543de317d16cbf985fd9730767908e0a0f1b5c970407b SHA512 125dcded2218e183020582c2bb1778667d812cb5009c6264fec14b0500329c493a57a01f0c72e1e2d7cc2cfef4462b0ccc68af1b4f745e35bddbcc1550835509 diff --git a/sdk_container/src/third_party/portage-stable/app-containers/netavark/netavark-1.14.1.ebuild b/sdk_container/src/third_party/portage-stable/app-containers/netavark/netavark-1.14.1.ebuild deleted file mode 100644 index a3660b4bd9d..00000000000 --- a/sdk_container/src/third_party/portage-stable/app-containers/netavark/netavark-1.14.1.ebuild +++ /dev/null @@ -1,59 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -[[ ${PV} == 9999* ]] || CRATES="${PN}@${PV}" - -inherit cargo systemd - -DESCRIPTION="A container network stack" -HOMEPAGE="https://github.com/containers/netavark" - -if [[ ${PV} == 9999* ]]; then - inherit git-r3 - EGIT_REPO_URI="https://github.com/containers/netavark.git" -else - SRC_URI="${CARGO_CRATE_URIS} https://github.com/containers/netavark/releases/download/v${PV}/${PN}-v${PV}-vendor.tar.gz" - KEYWORDS="amd64 arm64 ~loong ~ppc64 ~riscv" -fi - -# main -LICENSE="Apache-2.0" -# deps -LICENSE+=" Apache-2.0-with-LLVM-exceptions BSD BSD-2 Boost-1.0 MIT Unicode-DFS-2016 Unlicense ZLIB" -SLOT="0" -BDEPEND="dev-go/go-md2man - dev-libs/protobuf[protoc(+)]" - -QA_FLAGS_IGNORED=" - usr/libexec/podman/${PN}" -QA_PRESTRIPPED=" - usr/libexec/podman/${PN}" - -ECARGO_VENDOR="${WORKDIR}/vendor" - -src_unpack() { - if [[ ${PV} == 9999* ]]; then - git-r3_src_unpack - cargo_live_src_unpack - else - cargo_src_unpack - fi -} - -src_prepare() { - default - sed -i -e "s|m0755 bin|m0755 $(cargo_target_dir)|g;" Makefile || die -} - -src_compile() { - cargo_src_compile - export PREFIX="${EPREFIX}"/usr SYSTEMDDIR="$(systemd_get_systemunitdir)" - emake docs -} - -# Following is needed because we want to use `make install` instead of `cargo install` (exported by cargo.eclass) -src_install() { - default -} diff --git a/sdk_container/src/third_party/portage-stable/app-containers/netavark/netavark-1.15.2.ebuild b/sdk_container/src/third_party/portage-stable/app-containers/netavark/netavark-1.15.2.ebuild deleted file mode 100644 index a3660b4bd9d..00000000000 --- a/sdk_container/src/third_party/portage-stable/app-containers/netavark/netavark-1.15.2.ebuild +++ /dev/null @@ -1,59 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -[[ ${PV} == 9999* ]] || CRATES="${PN}@${PV}" - -inherit cargo systemd - -DESCRIPTION="A container network stack" -HOMEPAGE="https://github.com/containers/netavark" - -if [[ ${PV} == 9999* ]]; then - inherit git-r3 - EGIT_REPO_URI="https://github.com/containers/netavark.git" -else - SRC_URI="${CARGO_CRATE_URIS} https://github.com/containers/netavark/releases/download/v${PV}/${PN}-v${PV}-vendor.tar.gz" - KEYWORDS="amd64 arm64 ~loong ~ppc64 ~riscv" -fi - -# main -LICENSE="Apache-2.0" -# deps -LICENSE+=" Apache-2.0-with-LLVM-exceptions BSD BSD-2 Boost-1.0 MIT Unicode-DFS-2016 Unlicense ZLIB" -SLOT="0" -BDEPEND="dev-go/go-md2man - dev-libs/protobuf[protoc(+)]" - -QA_FLAGS_IGNORED=" - usr/libexec/podman/${PN}" -QA_PRESTRIPPED=" - usr/libexec/podman/${PN}" - -ECARGO_VENDOR="${WORKDIR}/vendor" - -src_unpack() { - if [[ ${PV} == 9999* ]]; then - git-r3_src_unpack - cargo_live_src_unpack - else - cargo_src_unpack - fi -} - -src_prepare() { - default - sed -i -e "s|m0755 bin|m0755 $(cargo_target_dir)|g;" Makefile || die -} - -src_compile() { - cargo_src_compile - export PREFIX="${EPREFIX}"/usr SYSTEMDDIR="$(systemd_get_systemunitdir)" - emake docs -} - -# Following is needed because we want to use `make install` instead of `cargo install` (exported by cargo.eclass) -src_install() { - default -} diff --git a/sdk_container/src/third_party/portage-stable/app-containers/netavark/netavark-1.16.1.ebuild b/sdk_container/src/third_party/portage-stable/app-containers/netavark/netavark-1.16.1.ebuild deleted file mode 100644 index d3753217a0c..00000000000 --- a/sdk_container/src/third_party/portage-stable/app-containers/netavark/netavark-1.16.1.ebuild +++ /dev/null @@ -1,61 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -[[ ${PV} == 9999* ]] || CRATES="${PN}@${PV}" - -RUST_MIN_VER="1.83" - -inherit cargo systemd - -DESCRIPTION="A container network stack" -HOMEPAGE="https://github.com/containers/netavark" - -if [[ ${PV} == 9999* ]]; then - inherit git-r3 - EGIT_REPO_URI="https://github.com/containers/netavark.git" -else - SRC_URI="${CARGO_CRATE_URIS} https://github.com/containers/netavark/releases/download/v${PV}/${PN}-v${PV}-vendor.tar.gz" - KEYWORDS="amd64 arm64 ~loong ~ppc64 ~riscv" -fi - -# main -LICENSE="Apache-2.0" -# deps -LICENSE+=" Apache-2.0-with-LLVM-exceptions BSD BSD-2 Boost-1.0 MIT Unicode-DFS-2016 Unlicense ZLIB" -SLOT="0" -BDEPEND="dev-go/go-md2man - dev-libs/protobuf[protoc(+)]" - -QA_FLAGS_IGNORED=" - usr/libexec/podman/${PN}" -QA_PRESTRIPPED=" - usr/libexec/podman/${PN}" - -ECARGO_VENDOR="${WORKDIR}/vendor" - -src_unpack() { - if [[ ${PV} == 9999* ]]; then - git-r3_src_unpack - cargo_live_src_unpack - else - cargo_src_unpack - fi -} - -src_prepare() { - default - sed -i -e "s|m0755 bin|m0755 $(cargo_target_dir)|g;" Makefile || die -} - -src_compile() { - cargo_src_compile - export PREFIX="${EPREFIX}"/usr SYSTEMDDIR="$(systemd_get_systemunitdir)" - emake docs -} - -# Following is needed because we want to use `make install` instead of `cargo install` (exported by cargo.eclass) -src_install() { - default -} diff --git a/sdk_container/src/third_party/portage-stable/app-containers/netavark/netavark-1.17.0.ebuild b/sdk_container/src/third_party/portage-stable/app-containers/netavark/netavark-1.17.0.ebuild deleted file mode 100644 index c0d9aae5fda..00000000000 --- a/sdk_container/src/third_party/portage-stable/app-containers/netavark/netavark-1.17.0.ebuild +++ /dev/null @@ -1,60 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -[[ ${PV} == 9999* ]] || CRATES="${PN}@${PV}" -RUST_MIN_VER="1.86" - -inherit cargo systemd - -DESCRIPTION="A container network stack" -HOMEPAGE="https://github.com/containers/netavark" - -if [[ ${PV} == 9999* ]]; then - inherit git-r3 - EGIT_REPO_URI="https://github.com/containers/netavark.git" -else - SRC_URI="${CARGO_CRATE_URIS} https://github.com/containers/netavark/releases/download/v${PV}/${PN}-v${PV}-vendor.tar.gz" - KEYWORDS="~amd64 ~arm64 ~loong ~ppc64 ~riscv" -fi - -# main -LICENSE="Apache-2.0" -# deps -LICENSE+=" Apache-2.0-with-LLVM-exceptions BSD BSD-2 Boost-1.0 MIT Unicode-DFS-2016 Unlicense ZLIB" -SLOT="0" -BDEPEND="dev-go/go-md2man - dev-libs/protobuf[protoc(+)]" - -QA_FLAGS_IGNORED=" - usr/libexec/podman/${PN}" -QA_PRESTRIPPED=" - usr/libexec/podman/${PN}" - -ECARGO_VENDOR="${WORKDIR}/vendor" - -src_unpack() { - if [[ ${PV} == 9999* ]]; then - git-r3_src_unpack - cargo_live_src_unpack - else - cargo_src_unpack - fi -} - -src_prepare() { - default - sed -i -e "s|m0755 bin|m0755 $(cargo_target_dir)|g;" Makefile || die -} - -src_compile() { - cargo_src_compile - export PREFIX="${EPREFIX}"/usr SYSTEMDDIR="$(systemd_get_systemunitdir)" - emake docs -} - -# Following is needed because we want to use `make install` instead of `cargo install` (exported by cargo.eclass) -src_install() { - default -} diff --git a/sdk_container/src/third_party/portage-stable/app-containers/netavark/netavark-1.17.1.ebuild b/sdk_container/src/third_party/portage-stable/app-containers/netavark/netavark-1.17.1.ebuild index 7e44e616c71..9552ab9bbe5 100644 --- a/sdk_container/src/third_party/portage-stable/app-containers/netavark/netavark-1.17.1.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-containers/netavark/netavark-1.17.1.ebuild @@ -4,7 +4,7 @@ EAPI=8 [[ ${PV} == 9999* ]] || CRATES="${PN}@${PV}" -RUST_MIN_VER="1.86" +RUST_MIN_VER="1.86.0" inherit cargo systemd diff --git a/sdk_container/src/third_party/portage-stable/app-containers/netavark/netavark-1.17.2.ebuild b/sdk_container/src/third_party/portage-stable/app-containers/netavark/netavark-1.17.2.ebuild index 2f40e1f6acd..d74b8323479 100644 --- a/sdk_container/src/third_party/portage-stable/app-containers/netavark/netavark-1.17.2.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-containers/netavark/netavark-1.17.2.ebuild @@ -4,7 +4,7 @@ EAPI=8 [[ ${PV} == 9999* ]] || CRATES="${PN}@${PV}" -RUST_MIN_VER="1.86" +RUST_MIN_VER="1.86.0" inherit cargo systemd diff --git a/sdk_container/src/third_party/portage-stable/app-containers/netavark/netavark-2.0.0.ebuild b/sdk_container/src/third_party/portage-stable/app-containers/netavark/netavark-2.0.0.ebuild index 035b20ea81e..92faf96d14c 100644 --- a/sdk_container/src/third_party/portage-stable/app-containers/netavark/netavark-2.0.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-containers/netavark/netavark-2.0.0.ebuild @@ -25,6 +25,10 @@ LICENSE="Apache-2.0" LICENSE+=" Apache-2.0-with-LLVM-exceptions BSD BSD-2 Boost-1.0 MIT Unicode-DFS-2016 Unlicense ZLIB" SLOT="0" +RDEPEND=">=app-containers/aardvark-dns-2.0.0 + net-firewall/nftables[json] + ! Date: Mon, 3 Aug 2026 08:12:38 +0000 Subject: [PATCH 013/195] app-containers/podman: Sync with Gentoo It's from Gentoo commit 97c0ae5651db0f9e21202e43afe67c55143bfcab. Signed-off-by: Flatcar Buildbot --- .../app-containers/podman/Manifest | 3 + .../files/podman-auto-update-5.0.0.cron | 3 +- .../app-containers/podman/metadata.xml | 7 +- .../app-containers/podman/podman-5.7.1.ebuild | 6 +- .../app-containers/podman/podman-5.8.2.ebuild | 6 +- .../app-containers/podman/podman-5.8.5.ebuild | 140 +++++++++++++++++ .../app-containers/podman/podman-6.0.0.ebuild | 45 +++--- .../app-containers/podman/podman-6.0.1.ebuild | 141 ++++++++++++++++++ .../app-containers/podman/podman-6.0.2.ebuild | 141 ++++++++++++++++++ .../app-containers/podman/podman-9999.ebuild | 51 ++++--- 10 files changed, 487 insertions(+), 56 deletions(-) create mode 100644 sdk_container/src/third_party/portage-stable/app-containers/podman/podman-5.8.5.ebuild create mode 100644 sdk_container/src/third_party/portage-stable/app-containers/podman/podman-6.0.1.ebuild create mode 100644 sdk_container/src/third_party/portage-stable/app-containers/podman/podman-6.0.2.ebuild diff --git a/sdk_container/src/third_party/portage-stable/app-containers/podman/Manifest b/sdk_container/src/third_party/portage-stable/app-containers/podman/Manifest index 4bf0ebeb1d1..f7ab9953a2b 100644 --- a/sdk_container/src/third_party/portage-stable/app-containers/podman/Manifest +++ b/sdk_container/src/third_party/portage-stable/app-containers/podman/Manifest @@ -1,3 +1,6 @@ DIST podman-5.7.1.tar.gz 21266433 BLAKE2B 59adb23b18fe453d45d92b0dac22a2fc8db1b1d02074f5eabc65d95bf7764f43a1d835f7316fbd61bbb7d98f3aeb6a3306d53963c5f83b8f55d879c182518534 SHA512 81fd4c27ff1d16dcb85229d4e4fd2cb06943ddfe966b5324fa8a8a957b2d2ec2aed7c5da05d6c009148f53b76545b27b0cba506622c8861f70bf7cad6c214a08 DIST podman-5.8.2.tar.gz 21302563 BLAKE2B daa2eefbd5014926825225f60ac46f42857d630e3b215631bc14305779b45efa28bd876c92c8c3fbd030b78f862d2738ae71d1a4a57a38a6e285ad518250a8f9 SHA512 4fb26b278aaaa64799c7cc27e168c6fd836a1ed95653c757db5de9873e774a4650353ad4aadad6a7968dd82db8e2833f871ba41304512825b706d4919ee333a7 +DIST podman-5.8.5.tar.gz 20610224 BLAKE2B 72010127d3d8137194e2b394a2a5dd941a5f3c434ed6263dd05d43ef56af23dca9016600d8b3102a7430115c7cedb547a6863f8fd7c38fb0bda764b7adbe0ee0 SHA512 76b590691b0df0a2c635f367113f0be46ea78f9c034b511dd4e8cb842635171f63972c9b2f856f0312c7f754b10c5de169045db73a61030384aaa5f1c0e04e3d DIST podman-6.0.0.tar.gz 20510790 BLAKE2B fd522279dedb6fefbb9da9bd8b8000e696ff97f66b8b0816b5ecdb7b7b312b9466068d23fc396e9d7539e7700f0ececc43a55a5bd28e8a6dd1624aa7f2cfc214 SHA512 fc79bd666b2a500b89846ab8f20c9cdb3d25359ea96de5f1416821aa16fa54e60348a2250b42f775bee3ea0b26ec36c3cc72c9ebd1f4e88beeeea8bdb9b7791e +DIST podman-6.0.1.tar.gz 20513090 BLAKE2B 7ad62803a09bfd6839c78cf958bda81f027f17d520c1469c58e01b31ff05656c1d29282c98e085b27ed8abdce295993794c75497a5b184f4994896af738752ff SHA512 d8aee45d0e49442512041e3d9b3c2dc153f3bda19a8388da9edcf81731b38978a534a90176dc4e9d2533bb051473a6cc226aec041cd7846603ca13283ea01692 +DIST podman-6.0.2.tar.gz 20516396 BLAKE2B cc0a0032a7f8f490a874bdc3d05b618f52e8d7c7597c70852feacff2cd145bb0ad127e686221237c31f4cccabeaa89465cd2f3234d8ab92eaecb71074796ece8 SHA512 1227f486d1c84c0d877fadf2627c2f491bd1634c2de036631b589a727a1dc3212297cf2d2d313c75b3556de1b0204205e664e70ccf8ebc0b0064d1136db9351e diff --git a/sdk_container/src/third_party/portage-stable/app-containers/podman/files/podman-auto-update-5.0.0.cron b/sdk_container/src/third_party/portage-stable/app-containers/podman/files/podman-auto-update-5.0.0.cron index 509146e0aa5..e8158cca38e 100644 --- a/sdk_container/src/third_party/portage-stable/app-containers/podman/files/podman-auto-update-5.0.0.cron +++ b/sdk_container/src/third_party/portage-stable/app-containers/podman/files/podman-auto-update-5.0.0.cron @@ -1,5 +1,4 @@ #!/bin/sh # podman-auto-update(1) -# uncomment following to auto update containers according to their auto-update policy -# /usr/bin/podman auto-update && /usr/bin/podman image prune -f +/usr/bin/podman auto-update && /usr/bin/podman image prune -f diff --git a/sdk_container/src/third_party/portage-stable/app-containers/podman/metadata.xml b/sdk_container/src/third_party/portage-stable/app-containers/podman/metadata.xml index aefe07f2213..2bbe4abe078 100644 --- a/sdk_container/src/third_party/portage-stable/app-containers/podman/metadata.xml +++ b/sdk_container/src/third_party/portage-stable/app-containers/podman/metadata.xml @@ -26,13 +26,16 @@ Enable btrfs support (graph driver) in Podman + + Installs cron script to automatically update running containers image to newest + Install a wrapper to allow using `podman` as a drop-in replacement for `docker` - containers/podman - https://github.com/containers/podman/issues + podman-container-tools/podman + https://github.com/podman-container-tools/podman/issues https://podman.io/docs diff --git a/sdk_container/src/third_party/portage-stable/app-containers/podman/podman-5.7.1.ebuild b/sdk_container/src/third_party/portage-stable/app-containers/podman/podman-5.7.1.ebuild index 2ef82fc90e2..912cd012169 100644 --- a/sdk_container/src/third_party/portage-stable/app-containers/podman/podman-5.7.1.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-containers/podman/podman-5.7.1.ebuild @@ -8,13 +8,13 @@ PYTHON_COMPAT=( python3_{11..14} ) inherit go-module python-any-r1 tmpfiles toolchain-funcs linux-info DESCRIPTION="A tool for managing OCI containers and pods with Docker-compatible CLI" -HOMEPAGE="https://github.com/containers/podman/ https://podman.io/" +HOMEPAGE="https://github.com/podman-container-tools/podman/ https://podman.io/" if [[ ${PV} == 9999* ]]; then inherit git-r3 - EGIT_REPO_URI="https://github.com/containers/podman.git" + EGIT_REPO_URI="https://github.com/podman-container-tools/podman.git" else - SRC_URI="https://github.com/containers/podman/archive/v${PV/_rc/-rc}.tar.gz -> ${P}.tar.gz" + SRC_URI="https://github.com/podman-container-tools/podman/archive/v${PV/_rc/-rc}.tar.gz -> ${P}.tar.gz" S="${WORKDIR}/${P/_rc/-rc}" [[ ${PV} != *rc* ]] && \ KEYWORDS="amd64 arm64 ~loong ~riscv" diff --git a/sdk_container/src/third_party/portage-stable/app-containers/podman/podman-5.8.2.ebuild b/sdk_container/src/third_party/portage-stable/app-containers/podman/podman-5.8.2.ebuild index 2ef82fc90e2..912cd012169 100644 --- a/sdk_container/src/third_party/portage-stable/app-containers/podman/podman-5.8.2.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-containers/podman/podman-5.8.2.ebuild @@ -8,13 +8,13 @@ PYTHON_COMPAT=( python3_{11..14} ) inherit go-module python-any-r1 tmpfiles toolchain-funcs linux-info DESCRIPTION="A tool for managing OCI containers and pods with Docker-compatible CLI" -HOMEPAGE="https://github.com/containers/podman/ https://podman.io/" +HOMEPAGE="https://github.com/podman-container-tools/podman/ https://podman.io/" if [[ ${PV} == 9999* ]]; then inherit git-r3 - EGIT_REPO_URI="https://github.com/containers/podman.git" + EGIT_REPO_URI="https://github.com/podman-container-tools/podman.git" else - SRC_URI="https://github.com/containers/podman/archive/v${PV/_rc/-rc}.tar.gz -> ${P}.tar.gz" + SRC_URI="https://github.com/podman-container-tools/podman/archive/v${PV/_rc/-rc}.tar.gz -> ${P}.tar.gz" S="${WORKDIR}/${P/_rc/-rc}" [[ ${PV} != *rc* ]] && \ KEYWORDS="amd64 arm64 ~loong ~riscv" diff --git a/sdk_container/src/third_party/portage-stable/app-containers/podman/podman-5.8.5.ebuild b/sdk_container/src/third_party/portage-stable/app-containers/podman/podman-5.8.5.ebuild new file mode 100644 index 00000000000..ab94478a424 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/app-containers/podman/podman-5.8.5.ebuild @@ -0,0 +1,140 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{12..14} ) + +inherit go-module python-any-r1 tmpfiles toolchain-funcs linux-info + +DESCRIPTION="A tool for managing OCI containers and pods with Docker-compatible CLI" +HOMEPAGE="https://github.com/podman-container-tools/podman/ https://podman.io/" + +if [[ ${PV} == 9999* ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/podman-container-tools/podman.git" +else + SRC_URI="https://github.com/podman-container-tools/podman/archive/v${PV/_rc/-rc}.tar.gz -> ${P}.tar.gz" + S="${WORKDIR}/${P/_rc/-rc}" + [[ ${PV} != *rc* ]] && \ + KEYWORDS="~amd64 ~arm64 ~loong ~riscv" +fi + +# main pkg +LICENSE="Apache-2.0" +# deps +LICENSE+=" BSD BSD-2 CC-BY-SA-4.0 ISC MIT MPL-2.0" +SLOT="0" +IUSE="apparmor btrfs cron +seccomp selinux systemd wrapper" +RESTRICT="test" + +RDEPEND=" + app-containers/catatonit + >=app-containers/conmon-2.1.10 + >=app-containers/containers-common-0.58.0-r1 + app-crypt/gpgme:= + dev-db/sqlite:3 + dev-libs/libassuan:= + dev-libs/libgpg-error:= + sys-apps/shadow:= + + apparmor? ( sys-libs/libapparmor ) + btrfs? ( sys-fs/btrfs-progs ) + wrapper? ( !app-containers/docker-cli ) + seccomp? ( sys-libs/libseccomp:= ) + selinux? ( sec-policy/selinux-podman sys-libs/libselinux:= ) + systemd? ( sys-apps/systemd:= ) +" +DEPEND="${RDEPEND}" +BDEPEND=" + ${PYTHON_DEPS} + >=dev-lang/go-1.25.0 + dev-go/go-md2man +" + +PATCHES=( + "${FILESDIR}"/${PN}-5.5.2-togglable-seccomp.patch +) + +CONFIG_CHECK=" + ~USER_NS +" + +pkg_setup() { + use btrfs && CONFIG_CHECK+=" ~BTRFS_FS" + linux-info_pkg_setup + python-any-r1_pkg_setup +} + +src_prepare() { + default + + # assure necessary files are present + local file + for file in apparmor_tag btrfs_installed_tag systemd_tag; do + [[ -f hack/"${file}".sh ]] || die + done + + local feature + for feature in apparmor systemd; do + cat <<-EOF > hack/"${feature}"_tag.sh || die + #!/usr/bin/env bash + $(usex ${feature} "echo ${feature}" echo) + EOF + done + + cat <<-EOF > hack/btrfs_installed_tag.sh || die + #!/usr/bin/env bash + $(usex btrfs echo 'echo exclude_graphdriver_btrfs') + EOF + + # hardcode using system sqlite instead of bundled one + [[ -f hack/sqlite_tag.sh ]] && echo -e '#!/usr/bin/env bash\necho libsqlite3' > hack/sqlite_tag.sh || die +} + +src_compile() { + export ETCDIR="${EPREFIX}/etc" PREFIX="${EPREFIX}/usr" BUILD_ORIGIN="Gentoo Portage" + + # For non-live versions, prevent git operations which causes sandbox violations + # https://github.com/gentoo/gentoo/pull/33531#issuecomment-1786107493 + [[ ${PV} != 9999* ]] && export COMMIT_NO="" GIT_COMMIT="" EPOCH_TEST_COMMIT="" + + # Use proper pkg-config to get gpgme cflags and ldflags when + # cross-compiling, bug 930982. + if tc-is-cross-compiler; then + tc-export PKG_CONFIG + fi + + emake BUILDFLAGS="-v -work -x" GOMD2MAN="go-md2man" EXTRA_BUILDTAGS="$(usev seccomp)" SELINUXOPT= \ + all $(usev wrapper docker-docs) +} + +src_install() { + emake DESTDIR="${D}" SELINUXOPT= install install.completions $(usev wrapper install.docker-full) + + newconfd "${FILESDIR}"/podman-5.0.0_rc4.confd podman + newinitd "${FILESDIR}"/podman-5.0.0_rc4.initd podman + + newinitd "${FILESDIR}"/podman-restart-5.0.0_rc4.initd podman-restart + newconfd "${FILESDIR}"/podman-restart-5.0.0_rc4.confd podman-restart + + newinitd "${FILESDIR}"/podman-clean-transient-5.0.0_rc6.initd podman-clean-transient + newconfd "${FILESDIR}"/podman-clean-transient-5.0.0_rc6.confd podman-clean-transient + + if use cron; then + exeinto /etc/cron.daily + newexe "${FILESDIR}"/podman-auto-update-5.0.0.cron podman-auto-update + fi + insinto /etc/logrotate.d + newins "${FILESDIR}/podman.logrotated" podman + + exeinto /etc/user/init.d + newexe "${FILESDIR}/podman-5.0.0_rc4.user.initd" podman + + insinto /etc/user/conf.d + newins "${FILESDIR}/podman-5.0.0_rc4.user.confd" podman +} + +pkg_postinst() { + tmpfiles_process podman.conf $(usev wrapper podman-docker.conf) +} diff --git a/sdk_container/src/third_party/portage-stable/app-containers/podman/podman-6.0.0.ebuild b/sdk_container/src/third_party/portage-stable/app-containers/podman/podman-6.0.0.ebuild index 5a239948f5e..c85b08f039e 100644 --- a/sdk_container/src/third_party/portage-stable/app-containers/podman/podman-6.0.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-containers/podman/podman-6.0.0.ebuild @@ -8,13 +8,13 @@ PYTHON_COMPAT=( python3_{12..14} ) inherit go-module python-any-r1 tmpfiles toolchain-funcs linux-info DESCRIPTION="A tool for managing OCI containers and pods with Docker-compatible CLI" -HOMEPAGE="https://github.com/containers/podman/ https://podman.io/" +HOMEPAGE="https://github.com/podman-container-tools/podman/ https://podman.io/" if [[ ${PV} == 9999* ]]; then inherit git-r3 - EGIT_REPO_URI="https://github.com/containers/podman.git" + EGIT_REPO_URI="https://github.com/podman-container-tools/podman.git" else - SRC_URI="https://github.com/containers/podman/archive/v${PV/_rc/-rc}.tar.gz -> ${P}.tar.gz" + SRC_URI="https://github.com/podman-container-tools/podman/archive/v${PV/_rc/-rc}.tar.gz -> ${P}.tar.gz" S="${WORKDIR}/${P/_rc/-rc}" [[ ${PV} != *rc* ]] && \ KEYWORDS="~amd64 ~arm64 ~loong ~riscv" @@ -25,13 +25,13 @@ LICENSE="Apache-2.0" # deps LICENSE+=" BSD BSD-2 CC-BY-SA-4.0 ISC MIT MPL-2.0" SLOT="0" -IUSE="apparmor btrfs +seccomp selinux systemd wrapper" +IUSE="apparmor btrfs cron +seccomp selinux systemd wrapper" RESTRICT="test" RDEPEND=" app-containers/catatonit - >=app-containers/conmon-2.2.1 - >=app-containers/container-libs-0.68.0 + >=app-containers/conmon-2.1.10 + >=app-containers/container-libs-0.68.0[extra(-)] app-crypt/gpgme:= dev-db/sqlite:3 dev-libs/libassuan:= @@ -87,6 +87,9 @@ src_prepare() { #!/usr/bin/env bash $(usex btrfs echo 'echo exclude_graphdriver_btrfs') EOF + + # hardcode using system sqlite instead of bundled one + [[ -f hack/sqlite_tag.sh ]] && echo -e '#!/usr/bin/env bash\necho libsqlite3' > hack/sqlite_tag.sh || die } src_compile() { @@ -109,30 +112,28 @@ src_compile() { src_install() { emake DESTDIR="${D}" SELINUXOPT= install install.completions $(usev wrapper install.docker-full) - if use !systemd; then - newconfd "${FILESDIR}"/podman-5.0.0_rc4.confd podman - newinitd "${FILESDIR}"/podman-5.0.0_rc4.initd podman + newconfd "${FILESDIR}"/podman-5.0.0_rc4.confd podman + newinitd "${FILESDIR}"/podman-5.0.0_rc4.initd podman - newinitd "${FILESDIR}"/podman-restart-5.0.0_rc4.initd podman-restart - newconfd "${FILESDIR}"/podman-restart-5.0.0_rc4.confd podman-restart + newinitd "${FILESDIR}"/podman-restart-5.0.0_rc4.initd podman-restart + newconfd "${FILESDIR}"/podman-restart-5.0.0_rc4.confd podman-restart - newinitd "${FILESDIR}"/podman-clean-transient-5.0.0_rc6.initd podman-clean-transient - newconfd "${FILESDIR}"/podman-clean-transient-5.0.0_rc6.confd podman-clean-transient + newinitd "${FILESDIR}"/podman-clean-transient-5.0.0_rc6.initd podman-clean-transient + newconfd "${FILESDIR}"/podman-clean-transient-5.0.0_rc6.confd podman-clean-transient + if use cron; then exeinto /etc/cron.daily newexe "${FILESDIR}"/podman-auto-update-5.0.0.cron podman-auto-update + fi - insinto /etc/logrotate.d - newins "${FILESDIR}/podman.logrotated" podman - - exeinto /etc/user/init.d - newexe "${FILESDIR}/podman-5.0.0_rc4.user.initd" podman + insinto /etc/logrotate.d + newins "${FILESDIR}/podman.logrotated" podman - insinto /etc/user/conf.d - newins "${FILESDIR}/podman-5.0.0_rc4.user.confd" podman - fi + exeinto /etc/user/init.d + newexe "${FILESDIR}/podman-5.0.0_rc4.user.initd" podman - keepdir /var/lib/containers + insinto /etc/user/conf.d + newins "${FILESDIR}/podman-5.0.0_rc4.user.confd" podman } pkg_postinst() { diff --git a/sdk_container/src/third_party/portage-stable/app-containers/podman/podman-6.0.1.ebuild b/sdk_container/src/third_party/portage-stable/app-containers/podman/podman-6.0.1.ebuild new file mode 100644 index 00000000000..c85b08f039e --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/app-containers/podman/podman-6.0.1.ebuild @@ -0,0 +1,141 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{12..14} ) + +inherit go-module python-any-r1 tmpfiles toolchain-funcs linux-info + +DESCRIPTION="A tool for managing OCI containers and pods with Docker-compatible CLI" +HOMEPAGE="https://github.com/podman-container-tools/podman/ https://podman.io/" + +if [[ ${PV} == 9999* ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/podman-container-tools/podman.git" +else + SRC_URI="https://github.com/podman-container-tools/podman/archive/v${PV/_rc/-rc}.tar.gz -> ${P}.tar.gz" + S="${WORKDIR}/${P/_rc/-rc}" + [[ ${PV} != *rc* ]] && \ + KEYWORDS="~amd64 ~arm64 ~loong ~riscv" +fi + +# main pkg +LICENSE="Apache-2.0" +# deps +LICENSE+=" BSD BSD-2 CC-BY-SA-4.0 ISC MIT MPL-2.0" +SLOT="0" +IUSE="apparmor btrfs cron +seccomp selinux systemd wrapper" +RESTRICT="test" + +RDEPEND=" + app-containers/catatonit + >=app-containers/conmon-2.1.10 + >=app-containers/container-libs-0.68.0[extra(-)] + app-crypt/gpgme:= + dev-db/sqlite:3 + dev-libs/libassuan:= + dev-libs/libgpg-error:= + sys-apps/shadow:= + + apparmor? ( sys-libs/libapparmor ) + btrfs? ( sys-fs/btrfs-progs ) + wrapper? ( !app-containers/docker-cli ) + seccomp? ( sys-libs/libseccomp:= ) + selinux? ( sec-policy/selinux-podman sys-libs/libselinux:= ) + systemd? ( sys-apps/systemd:= ) +" +DEPEND="${RDEPEND}" +BDEPEND=" + ${PYTHON_DEPS} + dev-go/go-md2man + >=dev-lang/go-1.25.6 +" + +PATCHES=( + "${FILESDIR}"/${PN}-5.5.2-togglable-seccomp.patch +) + +CONFIG_CHECK=" + ~USER_NS +" + +pkg_setup() { + use btrfs && CONFIG_CHECK+=" ~BTRFS_FS" + linux-info_pkg_setup + python-any-r1_pkg_setup +} + +src_prepare() { + default + + # assure necessary files are present + local file + for file in apparmor_tag btrfs_installed_tag systemd_tag; do + [[ -f hack/"${file}".sh ]] || die + done + + local feature + for feature in apparmor systemd; do + cat <<-EOF > hack/"${feature}"_tag.sh || die + #!/usr/bin/env bash + $(usex ${feature} "echo ${feature}" echo) + EOF + done + + cat <<-EOF > hack/btrfs_installed_tag.sh || die + #!/usr/bin/env bash + $(usex btrfs echo 'echo exclude_graphdriver_btrfs') + EOF + + # hardcode using system sqlite instead of bundled one + [[ -f hack/sqlite_tag.sh ]] && echo -e '#!/usr/bin/env bash\necho libsqlite3' > hack/sqlite_tag.sh || die +} + +src_compile() { + export ETCDIR="${EPREFIX}/etc" PREFIX="${EPREFIX}/usr" BUILD_ORIGIN="Gentoo Portage" + + # For non-live versions, prevent git operations which causes sandbox violations + # https://github.com/gentoo/gentoo/pull/33531#issuecomment-1786107493 + [[ ${PV} != 9999* ]] && export COMMIT_NO="" GIT_COMMIT="" EPOCH_TEST_COMMIT="" + + # Use proper pkg-config to get gpgme cflags and ldflags when + # cross-compiling, bug 930982. + if tc-is-cross-compiler; then + tc-export PKG_CONFIG + fi + + emake BUILDFLAGS="-v -work -x" GOMD2MAN="go-md2man" EXTRA_BUILDTAGS="$(usev seccomp)" SELINUXOPT= \ + all $(usev wrapper docker-docs) +} + +src_install() { + emake DESTDIR="${D}" SELINUXOPT= install install.completions $(usev wrapper install.docker-full) + + newconfd "${FILESDIR}"/podman-5.0.0_rc4.confd podman + newinitd "${FILESDIR}"/podman-5.0.0_rc4.initd podman + + newinitd "${FILESDIR}"/podman-restart-5.0.0_rc4.initd podman-restart + newconfd "${FILESDIR}"/podman-restart-5.0.0_rc4.confd podman-restart + + newinitd "${FILESDIR}"/podman-clean-transient-5.0.0_rc6.initd podman-clean-transient + newconfd "${FILESDIR}"/podman-clean-transient-5.0.0_rc6.confd podman-clean-transient + + if use cron; then + exeinto /etc/cron.daily + newexe "${FILESDIR}"/podman-auto-update-5.0.0.cron podman-auto-update + fi + + insinto /etc/logrotate.d + newins "${FILESDIR}/podman.logrotated" podman + + exeinto /etc/user/init.d + newexe "${FILESDIR}/podman-5.0.0_rc4.user.initd" podman + + insinto /etc/user/conf.d + newins "${FILESDIR}/podman-5.0.0_rc4.user.confd" podman +} + +pkg_postinst() { + tmpfiles_process podman.conf $(usev wrapper podman-docker.conf) +} diff --git a/sdk_container/src/third_party/portage-stable/app-containers/podman/podman-6.0.2.ebuild b/sdk_container/src/third_party/portage-stable/app-containers/podman/podman-6.0.2.ebuild new file mode 100644 index 00000000000..3d85cc9941a --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/app-containers/podman/podman-6.0.2.ebuild @@ -0,0 +1,141 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{12..14} ) + +inherit go-module python-any-r1 tmpfiles toolchain-funcs linux-info + +DESCRIPTION="A tool for managing OCI containers and pods with Docker-compatible CLI" +HOMEPAGE="https://github.com/podman-container-tools/podman/ https://podman.io/" + +if [[ ${PV} == 9999* ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/podman-container-tools/podman.git" +else + SRC_URI="https://github.com/podman-container-tools/podman/archive/v${PV/_rc/-rc}.tar.gz -> ${P}.tar.gz" + S="${WORKDIR}/${P/_rc/-rc}" + [[ ${PV} != *rc* ]] && \ + KEYWORDS="~amd64 ~arm64 ~loong ~riscv" +fi + +# main pkg +LICENSE="Apache-2.0" +# deps +LICENSE+=" BSD BSD-2 CC-BY-SA-4.0 ISC MIT MPL-2.0" +SLOT="0" +IUSE="apparmor btrfs cron +seccomp selinux systemd wrapper" +RESTRICT="test" + +RDEPEND=" + app-containers/catatonit + >=app-containers/conmon-2.1.10 + >=app-containers/container-libs-0.68.0[extra(-)] + app-crypt/gpgme:= + dev-db/sqlite:3 + dev-libs/libassuan:= + dev-libs/libgpg-error:= + sys-apps/shadow:= + + apparmor? ( sys-libs/libapparmor ) + btrfs? ( sys-fs/btrfs-progs ) + wrapper? ( !app-containers/docker-cli ) + seccomp? ( sys-libs/libseccomp:= ) + selinux? ( sec-policy/selinux-podman sys-libs/libselinux:= ) + systemd? ( sys-apps/systemd:= ) +" +DEPEND="${RDEPEND}" +BDEPEND=" + ${PYTHON_DEPS} + dev-go/go-md2man + >=dev-lang/go-1.25.7 +" + +PATCHES=( + "${FILESDIR}"/${PN}-5.5.2-togglable-seccomp.patch +) + +CONFIG_CHECK=" + ~USER_NS +" + +pkg_setup() { + use btrfs && CONFIG_CHECK+=" ~BTRFS_FS" + linux-info_pkg_setup + python-any-r1_pkg_setup +} + +src_prepare() { + default + + # assure necessary files are present + local file + for file in apparmor_tag btrfs_installed_tag systemd_tag; do + [[ -f hack/"${file}".sh ]] || die + done + + local feature + for feature in apparmor systemd; do + cat <<-EOF > hack/"${feature}"_tag.sh || die + #!/usr/bin/env bash + $(usex ${feature} "echo ${feature}" echo) + EOF + done + + cat <<-EOF > hack/btrfs_installed_tag.sh || die + #!/usr/bin/env bash + $(usex btrfs echo 'echo exclude_graphdriver_btrfs') + EOF + + # hardcode using system sqlite instead of bundled one + [[ -f hack/sqlite_tag.sh ]] && echo -e '#!/usr/bin/env bash\necho libsqlite3' > hack/sqlite_tag.sh || die +} + +src_compile() { + export ETCDIR="${EPREFIX}/etc" PREFIX="${EPREFIX}/usr" BUILD_ORIGIN="Gentoo Portage" + + # For non-live versions, prevent git operations which causes sandbox violations + # https://github.com/gentoo/gentoo/pull/33531#issuecomment-1786107493 + [[ ${PV} != 9999* ]] && export COMMIT_NO="" GIT_COMMIT="" EPOCH_TEST_COMMIT="" + + # Use proper pkg-config to get gpgme cflags and ldflags when + # cross-compiling, bug 930982. + if tc-is-cross-compiler; then + tc-export PKG_CONFIG + fi + + emake BUILDFLAGS="-v -work -x" GOMD2MAN="go-md2man" EXTRA_BUILDTAGS="$(usev seccomp)" \ + all $(usev wrapper docker-docs) +} + +src_install() { + emake DESTDIR="${D}" install install.completions $(usev wrapper install.docker-full) + + newconfd "${FILESDIR}"/podman-5.0.0_rc4.confd podman + newinitd "${FILESDIR}"/podman-5.0.0_rc4.initd podman + + newinitd "${FILESDIR}"/podman-restart-5.0.0_rc4.initd podman-restart + newconfd "${FILESDIR}"/podman-restart-5.0.0_rc4.confd podman-restart + + newinitd "${FILESDIR}"/podman-clean-transient-5.0.0_rc6.initd podman-clean-transient + newconfd "${FILESDIR}"/podman-clean-transient-5.0.0_rc6.confd podman-clean-transient + + if use cron; then + exeinto /etc/cron.daily + newexe "${FILESDIR}"/podman-auto-update-5.0.0.cron podman-auto-update + fi + + insinto /etc/logrotate.d + newins "${FILESDIR}/podman.logrotated" podman + + exeinto /etc/user/init.d + newexe "${FILESDIR}/podman-5.0.0_rc4.user.initd" podman + + insinto /etc/user/conf.d + newins "${FILESDIR}/podman-5.0.0_rc4.user.confd" podman +} + +pkg_postinst() { + tmpfiles_process podman.conf $(usev wrapper podman-docker.conf) +} diff --git a/sdk_container/src/third_party/portage-stable/app-containers/podman/podman-9999.ebuild b/sdk_container/src/third_party/portage-stable/app-containers/podman/podman-9999.ebuild index 0f40fd4fb52..3d85cc9941a 100644 --- a/sdk_container/src/third_party/portage-stable/app-containers/podman/podman-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-containers/podman/podman-9999.ebuild @@ -3,18 +3,18 @@ EAPI=8 -PYTHON_COMPAT=( python3_{11..14} ) +PYTHON_COMPAT=( python3_{12..14} ) inherit go-module python-any-r1 tmpfiles toolchain-funcs linux-info DESCRIPTION="A tool for managing OCI containers and pods with Docker-compatible CLI" -HOMEPAGE="https://github.com/containers/podman/ https://podman.io/" +HOMEPAGE="https://github.com/podman-container-tools/podman/ https://podman.io/" if [[ ${PV} == 9999* ]]; then inherit git-r3 - EGIT_REPO_URI="https://github.com/containers/podman.git" + EGIT_REPO_URI="https://github.com/podman-container-tools/podman.git" else - SRC_URI="https://github.com/containers/podman/archive/v${PV/_rc/-rc}.tar.gz -> ${P}.tar.gz" + SRC_URI="https://github.com/podman-container-tools/podman/archive/v${PV/_rc/-rc}.tar.gz -> ${P}.tar.gz" S="${WORKDIR}/${P/_rc/-rc}" [[ ${PV} != *rc* ]] && \ KEYWORDS="~amd64 ~arm64 ~loong ~riscv" @@ -25,14 +25,15 @@ LICENSE="Apache-2.0" # deps LICENSE+=" BSD BSD-2 CC-BY-SA-4.0 ISC MIT MPL-2.0" SLOT="0" -IUSE="apparmor btrfs +seccomp selinux systemd wrapper" +IUSE="apparmor btrfs cron +seccomp selinux systemd wrapper" RESTRICT="test" RDEPEND=" app-containers/catatonit >=app-containers/conmon-2.1.10 - >=app-containers/containers-common-0.58.0-r1 + >=app-containers/container-libs-0.68.0[extra(-)] app-crypt/gpgme:= + dev-db/sqlite:3 dev-libs/libassuan:= dev-libs/libgpg-error:= sys-apps/shadow:= @@ -48,6 +49,7 @@ DEPEND="${RDEPEND}" BDEPEND=" ${PYTHON_DEPS} dev-go/go-md2man + >=dev-lang/go-1.25.7 " PATCHES=( @@ -85,6 +87,9 @@ src_prepare() { #!/usr/bin/env bash $(usex btrfs echo 'echo exclude_graphdriver_btrfs') EOF + + # hardcode using system sqlite instead of bundled one + [[ -f hack/sqlite_tag.sh ]] && echo -e '#!/usr/bin/env bash\necho libsqlite3' > hack/sqlite_tag.sh || die } src_compile() { @@ -100,37 +105,35 @@ src_compile() { tc-export PKG_CONFIG fi - emake BUILDFLAGS="-v -work -x" GOMD2MAN="go-md2man" EXTRA_BUILDTAGS="$(usev seccomp)" SELINUXOPT= \ + emake BUILDFLAGS="-v -work -x" GOMD2MAN="go-md2man" EXTRA_BUILDTAGS="$(usev seccomp)" \ all $(usev wrapper docker-docs) } src_install() { - emake DESTDIR="${D}" SELINUXOPT= install install.completions $(usev wrapper install.docker-full) + emake DESTDIR="${D}" install install.completions $(usev wrapper install.docker-full) - if use !systemd; then - newconfd "${FILESDIR}"/podman-5.0.0_rc4.confd podman - newinitd "${FILESDIR}"/podman-5.0.0_rc4.initd podman + newconfd "${FILESDIR}"/podman-5.0.0_rc4.confd podman + newinitd "${FILESDIR}"/podman-5.0.0_rc4.initd podman - newinitd "${FILESDIR}"/podman-restart-5.0.0_rc4.initd podman-restart - newconfd "${FILESDIR}"/podman-restart-5.0.0_rc4.confd podman-restart + newinitd "${FILESDIR}"/podman-restart-5.0.0_rc4.initd podman-restart + newconfd "${FILESDIR}"/podman-restart-5.0.0_rc4.confd podman-restart - newinitd "${FILESDIR}"/podman-clean-transient-5.0.0_rc6.initd podman-clean-transient - newconfd "${FILESDIR}"/podman-clean-transient-5.0.0_rc6.confd podman-clean-transient + newinitd "${FILESDIR}"/podman-clean-transient-5.0.0_rc6.initd podman-clean-transient + newconfd "${FILESDIR}"/podman-clean-transient-5.0.0_rc6.confd podman-clean-transient + if use cron; then exeinto /etc/cron.daily newexe "${FILESDIR}"/podman-auto-update-5.0.0.cron podman-auto-update + fi - insinto /etc/logrotate.d - newins "${FILESDIR}/podman.logrotated" podman - - exeinto /etc/user/init.d - newexe "${FILESDIR}/podman-5.0.0_rc4.user.initd" podman + insinto /etc/logrotate.d + newins "${FILESDIR}/podman.logrotated" podman - insinto /etc/user/conf.d - newins "${FILESDIR}/podman-5.0.0_rc4.user.confd" podman - fi + exeinto /etc/user/init.d + newexe "${FILESDIR}/podman-5.0.0_rc4.user.initd" podman - keepdir /var/lib/containers + insinto /etc/user/conf.d + newins "${FILESDIR}/podman-5.0.0_rc4.user.confd" podman } pkg_postinst() { From 17b6f35ca524f98f749447e85d797fcefa38ad27 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 3 Aug 2026 08:12:38 +0000 Subject: [PATCH 014/195] app-containers/runc: Sync with Gentoo It's from Gentoo commit a1f53fdc3dfad3e635a5315d608ead207f739df0. Signed-off-by: Flatcar Buildbot --- .../app-containers/runc/Manifest | 4 +- .../app-containers/runc/runc-1.2.8.ebuild | 71 -------- .../{runc-1.3.3.ebuild => runc-1.3.6.ebuild} | 2 +- .../app-containers/runc/runc-1.4.0-r1.ebuild | 154 ------------------ 4 files changed, 2 insertions(+), 229 deletions(-) delete mode 100644 sdk_container/src/third_party/portage-stable/app-containers/runc/runc-1.2.8.ebuild rename sdk_container/src/third_party/portage-stable/app-containers/runc/{runc-1.3.3.ebuild => runc-1.3.6.ebuild} (98%) delete mode 100644 sdk_container/src/third_party/portage-stable/app-containers/runc/runc-1.4.0-r1.ebuild diff --git a/sdk_container/src/third_party/portage-stable/app-containers/runc/Manifest b/sdk_container/src/third_party/portage-stable/app-containers/runc/Manifest index 99087754647..0214d5dc7a8 100644 --- a/sdk_container/src/third_party/portage-stable/app-containers/runc/Manifest +++ b/sdk_container/src/third_party/portage-stable/app-containers/runc/Manifest @@ -1,5 +1,3 @@ -DIST runc-1.2.8.tar.gz 2834651 BLAKE2B 5f76e40ee8bda4668758dce318625af1dbb13c0d33a17c9c872bc68aefd6311cac570ed934a69b92b4a327c6084ff6d6d55f8914b105513f9484bbc903107a4d SHA512 8d29a2ca179320f9a01c37383506f10aea1764e18b3321c507787556e3a531e23221f8369696d8caaf30124a523a68d0ad3609bae5ab06aa6c519e644d54d4ef -DIST runc-1.3.3.tar.gz 2929410 BLAKE2B 1feddc154836eff606a685a0c0d606c1bbcd5a1a1ec8a288233581a88e0b3b6a95f446125688a8dca5efd5a275bf22931553cb9ab894f6aa0826d5a1274b6f91 SHA512 9ce0af1b79163c44913979c0483322247b154109871a113726163f64c6354141e7cefb5fb6e1225eaa4bb48a1e33ba9a6049cb45cb2af8793134647dad18c8dc -DIST runc-1.4.0.tar.gz 2958986 BLAKE2B 9a363986a05c2c19646373373b94944642bf9f74a2a9f10d201baff7d76d54e39e273d6ceb9f94449926246ec22c2b863812ca1e4e8910cb166294b7ea7c4068 SHA512 a5b52d8494a4210d9ff4caefd0513b94b80ef9dd16c6eb369761cde2fce30214f765eee01c3cbb2e0cfd933371362fd89b08656b434d76038ffe1f8a59dea215 +DIST runc-1.3.6.tar.gz 2897550 BLAKE2B e9d6c604ffdee8070eb84023742fcbb33643fbb5c45f369d6cf6b12e999df1cefb4fe0d4496a3f28e1a44e4f4b4f065da3be3a770f2ad2b18096cc50181b5d5e SHA512 9bfdef71f57be0bac311e31aa23eaddce012a386d12ffee6291174c4f9b762b091c5beac63636af932bef132318b5d838eb8a93a01961a2c34fa4393680db86d DIST runc-1.4.2.tar.gz 2961237 BLAKE2B 440771f2cf21ba47c3a6c368179bb28bb50b794913e9ad1a6f8ffc3f06bcdf2d99a000ce261b0ea70bf3a2f998acd2f6ff7770ebc17915501f63b46f08c1f77c SHA512 93bd1d6641b55afa7fa415d26fd898371c63f3caae353c6bea7318eeac49835a29df0331f62d54bf2ab1a640105c541c7eb04c32bc3d1006df53d857d113775e DIST runc-1.4.3.tar.gz 2962885 BLAKE2B d5e9ac412e94cf5465de59375d5c582b9d6e19366af641d1ea3e1aa2c962f7fbd93a6910ea44d148fde5378061b64797449661def2be101cc0509441428a0692 SHA512 a4c5310f0b44603af330a75b254f13df59d5319e570aa51eedbcab24854f229e65fe3be291e93e87286e646e360b15fa46db9fe6394b6c879cbd7c5984b5c424 diff --git a/sdk_container/src/third_party/portage-stable/app-containers/runc/runc-1.2.8.ebuild b/sdk_container/src/third_party/portage-stable/app-containers/runc/runc-1.2.8.ebuild deleted file mode 100644 index 66d15d185cf..00000000000 --- a/sdk_container/src/third_party/portage-stable/app-containers/runc/runc-1.2.8.ebuild +++ /dev/null @@ -1,71 +0,0 @@ -# Copyright 1999-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit go-module linux-info - -# update on bump, look for commit ID on release tag. -# https://github.com/opencontainers/runc -RUNC_COMMIT=eeb7e6024f9ee43876301b1d23c353384fa6dcdd - -CONFIG_CHECK="~USER_NS" - -DESCRIPTION="runc container cli tools" -HOMEPAGE="https://github.com/opencontainers/runc/" -MY_PV="${PV/_/-}" -SRC_URI="https://github.com/opencontainers/${PN}/archive/v${MY_PV}.tar.gz -> ${P}.tar.gz" -S="${WORKDIR}/${PN}-${MY_PV}" - -LICENSE="Apache-2.0 BSD-2 BSD MIT" -SLOT="0" -KEYWORDS="amd64 ~arm arm64 ppc64 ~riscv ~x86" -IUSE="apparmor +kmem +seccomp selinux test" - -COMMON_DEPEND=" - apparmor? ( sys-libs/libapparmor ) - seccomp? ( sys-libs/libseccomp )" -DEPEND="${COMMON_DEPEND}" -RDEPEND="${COMMON_DEPEND} - !app-emulation/docker-runc - selinux? ( sec-policy/selinux-container )" -BDEPEND=" - dev-go/go-md2man - test? ( "${RDEPEND}" )" - -# tests need busybox binary, and portage namespace -# sandboxing disabled: mount-sandbox pid-sandbox ipc-sandbox -# majority of tests pass -RESTRICT+=" test" - -src_compile() { - # build up optional flags - local options=( - $(usev apparmor) - $(usev seccomp) - $(usex kmem '' 'nokmem') - ) - - myemakeargs=( - BUILDTAGS="${options[*]}" - COMMIT="${RUNC_COMMIT}" - ) - - emake "${myemakeargs[@]}" runc man -} - -src_install() { - myemakeargs+=( - PREFIX="${ED}/usr" - BINDIR="${ED}/usr/bin" - MANDIR="${ED}/usr/share/man" - ) - emake "${myemakeargs[@]}" install install-man install-bash - - local DOCS=( README.md PRINCIPLES.md docs/. ) - einstalldocs -} - -src_test() { - emake "${myemakeargs[@]}" localunittest -} diff --git a/sdk_container/src/third_party/portage-stable/app-containers/runc/runc-1.3.3.ebuild b/sdk_container/src/third_party/portage-stable/app-containers/runc/runc-1.3.6.ebuild similarity index 98% rename from sdk_container/src/third_party/portage-stable/app-containers/runc/runc-1.3.3.ebuild rename to sdk_container/src/third_party/portage-stable/app-containers/runc/runc-1.3.6.ebuild index 9cb7d610335..6dac62c9fd4 100644 --- a/sdk_container/src/third_party/portage-stable/app-containers/runc/runc-1.3.3.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-containers/runc/runc-1.3.6.ebuild @@ -7,7 +7,7 @@ inherit go-module linux-info # update on bump, look for commit ID on release tag. # https://github.com/opencontainers/runc -RUNC_COMMIT=d842d7719497cc3b774fd71620278ac9e17710e0 +RUNC_COMMIT=491b69bab9fa206b984fb26ba07d3110d62e671f DESCRIPTION="runc container cli tools" HOMEPAGE="https://github.com/opencontainers/runc/" diff --git a/sdk_container/src/third_party/portage-stable/app-containers/runc/runc-1.4.0-r1.ebuild b/sdk_container/src/third_party/portage-stable/app-containers/runc/runc-1.4.0-r1.ebuild deleted file mode 100644 index 783ec475a00..00000000000 --- a/sdk_container/src/third_party/portage-stable/app-containers/runc/runc-1.4.0-r1.ebuild +++ /dev/null @@ -1,154 +0,0 @@ -# Copyright 1999-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit go-module linux-info - -# update on bump, look for commit ID on release tag. -# https://github.com/opencontainers/runc -RUNC_COMMIT=8bd78a9977e604c4d5f67a7415d7b8b8c109cdc4 - -CONFIG_CHECK="~USER_NS" - -DESCRIPTION="runc container cli tools" -HOMEPAGE="https://github.com/opencontainers/runc/" -MY_PV="${PV/_/-}" -SRC_URI="https://github.com/opencontainers/${PN}/archive/v${MY_PV}.tar.gz -> ${P}.tar.gz" -S="${WORKDIR}/${PN}-${MY_PV}" - -LICENSE="Apache-2.0 BSD-2 BSD MIT" -SLOT="0" -KEYWORDS="amd64 ~arm arm64 ppc64 ~riscv ~x86" -IUSE="apparmor +kmem +seccomp selinux test" - -COMMON_DEPEND=" - apparmor? ( sys-libs/libapparmor ) - seccomp? ( sys-libs/libseccomp )" -DEPEND="${COMMON_DEPEND}" -RDEPEND="${COMMON_DEPEND} - !app-emulation/docker-runc - selinux? ( sec-policy/selinux-container )" -BDEPEND=" - dev-go/go-md2man - test? ( "${RDEPEND}" )" - -# tests need busybox binary, and portage namespace -# sandboxing disabled: mount-sandbox pid-sandbox ipc-sandbox -# majority of tests pass -RESTRICT+=" test" - -# Please refer: -# https://github.com/opencontainers/runc/blob/main/script/check-config.sh -pkg_setup() { - CONFIG_CHECK=" - ~NAMESPACES - ~NET_NS - ~PID_NS - ~IPC_NS - ~UTS_NS - ~CGROUPS - ~CGROUP_CPUACCT - ~CGROUP_DEVICE - ~CGROUP_FREEZER - ~CGROUP_SCHED - ~CPUSETS - ~MEMCG - ~KEYS - ~VETH - ~BRIDGE - ~BRIDGE_NETFILTER - ~IP_NF_FILTER - ~IP_NF_TARGET_MASQUERADE - ~NETFILTER_XT_MATCH_ADDRTYPE - ~NETFILTER_XT_MATCH_COMMENT - ~NETFILTER_XT_MATCH_CONNTRACK - ~NETFILTER_XT_MATCH_IPVS - ~IP_NF_NAT - ~NF_NAT - ~POSIX_MQUEUE - ~OVERLAY_FS - " - - CONFIG_CHECK+=" - ~USER_NS - " - - use seccomp && CONFIG_CHECK+=" - ~SECCOMP - ~SECCOMP_FILTER - " - WARNING_SECCOMP="CONFIG_SECCOMP is required as optional feature" - - CONFIG_CHECK+=" - ~CGROUP_PIDS - " - WARNING_CGROUP_PIDS="CONFIG_CGROUP_PIDS is required as optional feature" - - if kernel_is lt 6 1; then - CONFIG_CHECK+=" - ~MEMCG_SWAP - " - fi - - CONFIG_CHECK+=" - ~BLK_CGROUP - ~BLK_DEV_THROTTLING - ~CGROUP_PERF - ~CGROUP_HUGETLB - ~NET_CLS_CGROUP - ~CFS_BANDWIDTH - ~FAIR_GROUP_SCHED - ~RT_GROUP_SCHED - ~IP_NF_TARGET_REDIRECT - ~IP_VS - ~IP_VS_NFCT - ~IP_VS_PROTO_TCP - ~IP_VS_PROTO_UDP - ~IP_VS_RR - ~CHECKPOINT_RESTORE - ~CGROUP_NET_PRIO - " - - use selinux && CONFIG_CHECK+=" - ~SECURITY_SELINUX" - - use apparmor && CONFIG_CHECK+=" - ~SECURITY_APPARMOR" - - if [[ -n ${CONFIG_CHECK} ]]; then - linux-info_pkg_setup - fi -} - -src_compile() { - # build up optional flags - local options=( - $(usev apparmor) - $(usev seccomp) - $(usex kmem '' 'nokmem') - ) - - myemakeargs=( - BUILDTAGS="${options[*]}" - COMMIT="${RUNC_COMMIT}" - ) - - emake "${myemakeargs[@]}" runc man -} - -src_install() { - myemakeargs+=( - PREFIX="${ED}/usr" - BINDIR="${ED}/usr/bin" - MANDIR="${ED}/usr/share/man" - ) - emake "${myemakeargs[@]}" install install-man install-bash - - local DOCS=( README.md PRINCIPLES.md docs/. ) - einstalldocs -} - -src_test() { - emake "${myemakeargs[@]}" localunittest -} From 3d3b2ac346f2c37ee665879d4e952c9f59657577 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 3 Aug 2026 08:12:43 +0000 Subject: [PATCH 015/195] app-crypt/gpgme: Sync with Gentoo It's from Gentoo commit 20b551b506a120a825dbdc8ec59f666dfbb1031f. Signed-off-by: Flatcar Buildbot --- .../portage-stable/app-crypt/gpgme/Manifest | 2 + .../app-crypt/gpgme/gpgme-2.1.2.ebuild | 96 +++++++++++++++++++ 2 files changed, 98 insertions(+) create mode 100644 sdk_container/src/third_party/portage-stable/app-crypt/gpgme/gpgme-2.1.2.ebuild diff --git a/sdk_container/src/third_party/portage-stable/app-crypt/gpgme/Manifest b/sdk_container/src/third_party/portage-stable/app-crypt/gpgme/Manifest index e92c185e0f9..23ca1c0dfc0 100644 --- a/sdk_container/src/third_party/portage-stable/app-crypt/gpgme/Manifest +++ b/sdk_container/src/third_party/portage-stable/app-crypt/gpgme/Manifest @@ -4,3 +4,5 @@ DIST gpgme-2.1.0.tar.bz2 1418236 BLAKE2B ed03f7603409e32b3a8792fe1515df09a9d16e9 DIST gpgme-2.1.0.tar.bz2.sig 147 BLAKE2B 66a0f6536db3ab904311a230aa652ad6240f3c3599b5d902d80f73d537defb0133ff48ba3605f3b2b4e36d115b022fcfbd4cc1a67d3a54d8faf3141c20eccd46 SHA512 53dea5bdc4a46b64f7a7c0c363ecf6f596f52f61905e5f54eafd4d868edacc9259a8c3c3cb991d770a87090766e933ab1e1c1acab6e44db0b413229495efff57 DIST gpgme-2.1.1.tar.bz2 1419085 BLAKE2B b70ba73898eab4a147f7af3af6d220be11a0ec1b473cd3a11d794c6bdc8dbc7f14800f679bb31c3cc856136d5219e1647c5b0991cc1975bb795fdbd608b53f24 SHA512 3bade9b29dd359c5ba13c8637a46a9bccadb0e4622d343f6de36f968be144c2a16f3cad5f494510f310d094aacfd8000f05d37bb94638b57d861bfe15c46a199 DIST gpgme-2.1.1.tar.bz2.sig 147 BLAKE2B 139ca84d1b7130aa88b454b516d7084d172375cf06a76424a5d97fa142d62492cb679b56679c7a1cac8cbbf38ecfb73c45ee6d464b7dd29fd1c09b2d87767ef5 SHA512 d231f820b0339d8ae07d69edf5b2213dfc9ba61fe41dd77ecc057be34765d1ba114e9ce951e58118d43c10df8b7f6b075363a12134ab4931a665c045ea51ddb8 +DIST gpgme-2.1.2.tar.bz2 1420275 BLAKE2B 40606849c25a5cb95567b5dfe13012ec54c00026eaf43722ba32efda64974a78d442921d098a330c2d59ba8a97a0c7f5b9cac0b23465ff94425decdf1d98b2d2 SHA512 21ec03ea83b6178fdcf89d691053d4c3e356916ec6926ae33b045424c6e960ef2fe11249775a415a345f9b18c3db7f631423e0eac84f7b22ef24f37d4f8ad0bd +DIST gpgme-2.1.2.tar.bz2.sig 294 BLAKE2B 1fa38ff89dd2c94db4dc47d19711d9c8a1b06b71132dda1c16e4dd93e679563d32441d4c3be7b05d159f79a3973e3ac4d1bfe77c6ab68038916076178853e2c3 SHA512 103bac16e88b087dc2325d9ac67721d2b3c34e4ac1fd6a2bbafe91af8109c0a714090700a95556040d688a71fa7d1de9ef8f6e179b315b7a9f27de419459d094 diff --git a/sdk_container/src/third_party/portage-stable/app-crypt/gpgme/gpgme-2.1.2.ebuild b/sdk_container/src/third_party/portage-stable/app-crypt/gpgme/gpgme-2.1.2.ebuild new file mode 100644 index 00000000000..cfb998de2ab --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/app-crypt/gpgme/gpgme-2.1.2.ebuild @@ -0,0 +1,96 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# Maintainers should: +# 1. Join the "Gentoo" project at https://dev.gnupg.org/project/view/27/ +# 2. Subscribe to release tasks like https://dev.gnupg.org/T6159 +# (find the one for the current release then subscribe to it + +# any subsequent ones linked within so you're covered for a while.) + +# out-of-source b/c in-source builds are not supported: +# * https://dev.gnupg.org/T6313#166339 +# * https://dev.gnupg.org/T6673#174545 + +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/gnupg.asc +inherit libtool flag-o-matic out-of-source verify-sig + +DESCRIPTION="GnuPG Made Easy is a library for making GnuPG easier to use" +HOMEPAGE="https://www.gnupg.org/related_software/gpgme" +SRC_URI=" + mirror://gnupg/gpgme/${P}.tar.bz2 + verify-sig? ( mirror://gnupg/gpgme/${P}.tar.bz2.sig ) +" + +LICENSE="GPL-2 LGPL-2.1" +# Please check ABI on each bump, even if SONAMEs didn't change: bug #833355 +# Subslot: SONAME of each: +SLOT="1/45.0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris" +IUSE="common-lisp static-libs test" +RESTRICT="!test? ( test )" + +RDEPEND=" + || ( + app-alternatives/gpg[reference] + app-alternatives/gpg[freepg(-)] + ) + >=dev-libs/libassuan-2.5.3:= + >=dev-libs/libgpg-error-1.46-r1:= +" +DEPEND="${RDEPEND}" +#doc? ( app-text/doxygen[dot] ) +BDEPEND=" + verify-sig? ( sec-keys/openpgp-keys-gnupg ) +" + +PATCHES=( + "${FILESDIR}"/${PN}-2.1.0-tests-start-stop-agent-use-command-v.patch +) + +src_prepare() { + default + + elibtoolize + + # bug #697456 + addpredict /run/user/$(id -u)/gnupg + + local MAX_WORKDIR=66 + if use test && [[ "${#WORKDIR}" -gt "${MAX_WORKDIR}" ]]; then + eerror "Unable to run tests as WORKDIR='${WORKDIR}' is longer than ${MAX_WORKDIR} which causes failure!" + die "Could not run tests as requested with too-long WORKDIR." + fi + + # Make best effort to allow longer PORTAGE_TMPDIR as usock limitation + # fails build/tests. + ln -s "${P}" "${WORKDIR}/b" || die + S="${WORKDIR}/b" +} + +my_src_configure() { + # bug #847955 + append-lfs-flags + + local languages=( + $(usev common-lisp 'cl') + ) + + local myeconfargs=( + --enable-languages="${languages[*]}" + $(use_enable static-libs static) + $(use_enable test gpgconf-test) + $(use_enable test gpg-test) + $(use_enable test gpgsm-test) + $(use_enable test g13-test) + GPGRT_CONFIG="${ESYSROOT}/usr/bin/${CHOST}-gpgrt-config" + ) + + ECONF_SOURCE="${S}" econf "${myeconfargs[@]}" +} + +my_src_install() { + emake DESTDIR="${D}" install + find "${ED}" -type f -name '*.la' -delete || die +} From 9f78836a446d8da9d9efd7266d0bf464b334362c Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 3 Aug 2026 08:12:44 +0000 Subject: [PATCH 016/195] app-crypt/p11-kit: Sync with Gentoo It's from Gentoo commit 77c41003631bbba0337b580c67ba456ba36e3d26. Signed-off-by: Flatcar Buildbot --- .../portage-stable/app-crypt/p11-kit/Manifest | 2 + .../app-crypt/p11-kit/p11-kit-0.26.2.ebuild | 2 +- .../app-crypt/p11-kit/p11-kit-0.26.4.ebuild | 81 +++++++++++++++++++ 3 files changed, 84 insertions(+), 1 deletion(-) create mode 100644 sdk_container/src/third_party/portage-stable/app-crypt/p11-kit/p11-kit-0.26.4.ebuild diff --git a/sdk_container/src/third_party/portage-stable/app-crypt/p11-kit/Manifest b/sdk_container/src/third_party/portage-stable/app-crypt/p11-kit/Manifest index c9d1e6e9526..e0d4ce18f7b 100644 --- a/sdk_container/src/third_party/portage-stable/app-crypt/p11-kit/Manifest +++ b/sdk_container/src/third_party/portage-stable/app-crypt/p11-kit/Manifest @@ -1,2 +1,4 @@ DIST p11-kit-0.26.2.tar.xz 1069216 BLAKE2B a10eab0fe405ea1f99aaac823bdb48d09caa09decd6bfe134aa702430ed5c09af2416db503ea8954467179c30ab754cc2811b4d8e28ac02cf3847fa021e1a2e2 SHA512 662c77e3133a9ee00f155fc2c1f12fdb16492920f992ab6e9de587c8abf76f990d442643bf8464cc08ad4d1c584f4d6f8d3a006aa7fc791010fa9cb7acaf6b7b DIST p11-kit-0.26.2.tar.xz.sig 119 BLAKE2B f94f0269f327aeaf7f417f1eb6185fe0df9d61a447e942de11250a6d41d579126ac103a35da45bc1a0aab2f04279a9fec118241122df955268b61a449340355f SHA512 84f5d5363eb38a6a501b34103b5c1df08c88b80897fdd4f966c0692131cca0f21f590a58a7810b9e87e86656641ac4e0f4224b0327840890af4a4baf5186e264 +DIST p11-kit-0.26.4.tar.xz 1081912 BLAKE2B 91a8ff7679e34dbc9d3143c957ec2bba211da85f74c2aa3d150f3078de9387e1f04b4bbec56040e0c12249c1866e7ca191844c1dcdd6c1de29bec04e6d72ea96 SHA512 bebaf91589dd93ddf882a9f38ce897720c79fd56f5196a3b25fc552c3e49250f2ce94e33cb8fe74087bc1e5c4945fa179a0ccb202d0403252656161b2a48ce10 +DIST p11-kit-0.26.4.tar.xz.sig 119 BLAKE2B ed7707c5a0b4b097975fadaf23b7165e45908a05a2e1bc36fa2b507fba7d1a010ae70eda22b7f92970c769bf7740e9653a29a8a2675663c0407c203a4fa0352c SHA512 525d7bda0bed5e9549f92c02c0b7bdcdba2490037b985a93c0e968159711eeb735abb00c254949a0e75e4341470f092c90745b1289876210339d1e5a0ae324f1 diff --git a/sdk_container/src/third_party/portage-stable/app-crypt/p11-kit/p11-kit-0.26.2.ebuild b/sdk_container/src/third_party/portage-stable/app-crypt/p11-kit/p11-kit-0.26.2.ebuild index 2f2ad9a58ff..d22d6f7ebd9 100644 --- a/sdk_container/src/third_party/portage-stable/app-crypt/p11-kit/p11-kit-0.26.2.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-crypt/p11-kit/p11-kit-0.26.2.ebuild @@ -3,7 +3,7 @@ EAPI=8 -PYTHON_COMPAT=( python3_{11..14} ) +PYTHON_COMPAT=( python3_{12..15} ) VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/p11-kit.asc inherit shell-completion meson-multilib python-any-r1 verify-sig diff --git a/sdk_container/src/third_party/portage-stable/app-crypt/p11-kit/p11-kit-0.26.4.ebuild b/sdk_container/src/third_party/portage-stable/app-crypt/p11-kit/p11-kit-0.26.4.ebuild new file mode 100644 index 00000000000..817e047c861 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/app-crypt/p11-kit/p11-kit-0.26.4.ebuild @@ -0,0 +1,81 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{12..15} ) +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/p11-kit.asc +inherit shell-completion meson-multilib python-any-r1 verify-sig + +DESCRIPTION="Provides a standard configuration setup for installing PKCS#11" +HOMEPAGE="https://p11-glue.github.io/p11-glue/p11-kit.html" +SRC_URI=" + https://github.com/p11-glue/p11-kit/releases/download/${PV}/${P}.tar.xz + verify-sig? ( https://github.com/p11-glue/p11-kit/releases/download/${PV}/${P}.tar.xz.sig ) +" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos ~x64-solaris" +IUSE="+libffi gtk-doc nls systemd test" +RESTRICT="!test? ( test )" + +RDEPEND=" + app-misc/ca-certificates + >=dev-libs/libtasn1-3.4:=[${MULTILIB_USEDEP}] + libffi? ( dev-libs/libffi:=[${MULTILIB_USEDEP}] ) + systemd? ( sys-apps/systemd ) +" +DEPEND="${RDEPEND}" +BDEPEND=" + ${PYTHON_DEPS} + app-text/docbook-xsl-stylesheets + dev-libs/libxslt + virtual/pkgconfig + gtk-doc? ( dev-util/gtk-doc ) + nls? ( sys-devel/gettext ) + verify-sig? ( sec-keys/openpgp-keys-p11-kit ) +" + +src_prepare() { + default + + # Relies on dlopen which won't work for multilib tests (bug #913971) + cat <<-EOF > "${S}"/p11-kit/test-server.sh || die + #!/bin/sh + exit 77 + EOF +} + +multilib_src_configure() { + # Disable unsafe tests, bug#502088 + export FAKED_MODE=1 + + local native_file="${T}"/meson.${CHOST}.${ABI}.ini.local + + # p11-kit doesn't need this to build and castxml needs Clang. To get + # a deterministic non-automagic build, always disable the search for + # castxml. + cat >> ${native_file} <<-EOF || die + [binaries] + castxml='castxml-falseified' + EOF + + local emesonargs=( + --native-file "${native_file}" + -Dbash_completion=enabled + -Dzsh_completion=enabled + -Dbashcompdir="$(get_bashcompdir)" + -Dzshcompdir="$(get_zshcompdir)" + -Dtrust_module=enabled + -Dtrust_paths="${EPREFIX}"/etc/ssl/certs/ca-certificates.crt + $(meson_feature libffi) + $(meson_use nls) + $(meson_use test) + $(meson_native_use_bool gtk-doc gtk_doc) + $(meson_native_true man) + $(meson_native_use_feature systemd) + ) + + meson_src_configure +} From c59695419351ba8fc6d9295ceca493171c6bc49c Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 3 Aug 2026 08:12:45 +0000 Subject: [PATCH 017/195] app-crypt/pinentry: Sync with Gentoo It's from Gentoo commit 28d5d4f4063e979264df423f0ae7645b59b5b7bb. Signed-off-by: Flatcar Buildbot --- .../app-crypt/pinentry/Manifest | 2 + .../pinentry/pinentry-1.3.2-r1.ebuild | 5 +- .../app-crypt/pinentry/pinentry-1.3.3.ebuild | 121 ++++++++++++++++++ 3 files changed, 125 insertions(+), 3 deletions(-) create mode 100644 sdk_container/src/third_party/portage-stable/app-crypt/pinentry/pinentry-1.3.3.ebuild diff --git a/sdk_container/src/third_party/portage-stable/app-crypt/pinentry/Manifest b/sdk_container/src/third_party/portage-stable/app-crypt/pinentry/Manifest index 7a57b435e06..578eaa538b1 100644 --- a/sdk_container/src/third_party/portage-stable/app-crypt/pinentry/Manifest +++ b/sdk_container/src/third_party/portage-stable/app-crypt/pinentry/Manifest @@ -1,2 +1,4 @@ DIST pinentry-1.3.2.tar.bz2 612858 BLAKE2B 985bcf0b4f85d4e5001bfd714ddd064e05ba6d5bd6e1d3b6f1044f27ca148921d22148b301c91cce4fa7f2f7e7f3b743a9bc1383cb9d8e1d0583a595109a699e SHA512 3b4d50a42d412d649a7830f7378aa966342c2bc0157d03b0ad79cf0aed29d6698d48c734e23b1dccada5f6ef81d0c09d3ead6cd703eadfc8082987e6bea0aafc DIST pinentry-1.3.2.tar.bz2.sig 266 BLAKE2B 1c428abb285dd56566a83fe4ceef5e0efc3b2a9ed40a2a0b48e7dc06575d24044677091f6a042e1f08ac6308f2bb1e82eddc82f22b78f1a316ca78ed670745f3 SHA512 82352cb5183a7922ab27619e19fc4d7adaa461847040232610b002365db605200961d1d950887aa5b09d12488d70f432fe739e0e2501a28465a28fb428b62aad +DIST pinentry-1.3.3.tar.bz2 620687 BLAKE2B d907056dfdc2830d41983601ce73df8650c7329bf12d22b5462c2f81921fa3aa8695ae4c420aba8bdef257a34ab502d8c22bb730fb5d713cf59c317f767bee35 SHA512 3562d6a83af01ab9c12fb3e4710e3233078296c1275a69c6ac5ebe7461e95404d6504c4fde82f501f861b3ae960b7d13052bcb359a62dfc078ade29e08b86735 +DIST pinentry-1.3.3.tar.bz2.sig 147 BLAKE2B 454c98cc0c2997baccc9b5b669030a1da63c2991fa76a5c2b29a405759a281c73a29e18c96099b7ee0a572b0915d1b584ec310f23edbbe425becee3f9229590c SHA512 130e8b2096739e632218e11b7a9bb6b8d7af2dcaec94bb1a5019e1579d0eff1de525fb9473412fb7830aec0dc4268b5bfbe1f7e6479ec0caffe69b1da1fa55b7 diff --git a/sdk_container/src/third_party/portage-stable/app-crypt/pinentry/pinentry-1.3.2-r1.ebuild b/sdk_container/src/third_party/portage-stable/app-crypt/pinentry/pinentry-1.3.2-r1.ebuild index 0230fffd746..7186bfd3b34 100644 --- a/sdk_container/src/third_party/portage-stable/app-crypt/pinentry/pinentry-1.3.2-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-crypt/pinentry/pinentry-1.3.2-r1.ebuild @@ -86,9 +86,8 @@ src_configure() { ) if use qt6 ; then - export PATH="$(qt6_get_bindir):${PATH}" - export QTLIB="$(qt6_get_libdir):${QTLIB}" - export MOC="$(qt6_get_libexecdir)/moc" + export PATH="${BROOT}$(qt_get_bindir 6):${PATH}" + export MOC="$(qt_get_broot_binary 6 moc)" myeconfargs+=( $(use_enable wayland kf6-wayland) diff --git a/sdk_container/src/third_party/portage-stable/app-crypt/pinentry/pinentry-1.3.3.ebuild b/sdk_container/src/third_party/portage-stable/app-crypt/pinentry/pinentry-1.3.3.ebuild new file mode 100644 index 00000000000..06610dbf2e3 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/app-crypt/pinentry/pinentry-1.3.3.ebuild @@ -0,0 +1,121 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/gnupg.asc +inherit autotools qt-utils verify-sig + +DESCRIPTION="Simple passphrase entry dialogs which utilize the Assuan protocol" +HOMEPAGE="https://gnupg.org/related_software/pinentry/" +SRC_URI="mirror://gnupg/${PN}/${P}.tar.bz2" +SRC_URI+=" verify-sig? ( mirror://gnupg/${PN}/${P}.tar.bz2.sig )" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris" +IUSE="caps efl emacs gtk keyring ncurses qt6 selinux wayland X" + +DEPEND=" + >=dev-libs/libassuan-2.1:= + >=dev-libs/libgcrypt-1.6.3 + >=dev-libs/libgpg-error-1.17 + efl? ( dev-libs/efl[X] ) + keyring? ( app-crypt/libsecret ) + ncurses? ( sys-libs/ncurses:= ) + qt6? ( + dev-qt/qtbase:6[gui,widgets] + wayland? ( + kde-frameworks/kguiaddons:6 + kde-frameworks/kwindowsystem:6 + ) + ) +" +RDEPEND=" + ${DEPEND} + gtk? ( + app-crypt/gcr:4[gtk] + gnome-base/gnome-keyring + ) + selinux? ( sec-policy/selinux-gpg ) +" +BDEPEND=" + sys-devel/gettext + virtual/pkgconfig + verify-sig? ( sec-keys/openpgp-keys-gnupg ) +" +PDEPEND="emacs? ( app-emacs/pinentry )" +IDEPEND=">=app-eselect/eselect-pinentry-0.7.4" + +DOCS=( AUTHORS ChangeLog NEWS README THANKS TODO ) + +PATCHES=( + "${FILESDIR}/${PN}-1.3.0-automagic.patch" # bug #819939, bug #837719 +) + +src_prepare() { + default + + eautoreconf +} + +src_configure() { + unset FLTK_CONFIG + + local myeconfargs=( + $(use_enable efl pinentry-efl) + $(use_enable emacs pinentry-emacs) + $(use_enable keyring libsecret) + $(use_enable gtk pinentry-gnome3) + $(use_enable ncurses fallback-curses) + $(use_enable ncurses pinentry-curses) + $(use_enable qt6 pinentry-qt) + $(use_with X x) + + --enable-pinentry-tty + --disable-kf5-wayland + --disable-pinentry-fltk + --disable-pinentry-gtk2 + --disable-pinentry-qt5 + --disable-qtx11extras + + ac_cv_path_GPGRT_CONFIG="${ESYSROOT}/usr/bin/${CHOST}-gpgrt-config" + + $("${S}/configure" --help | grep -- '--without-.*-prefix' | sed -e 's/^ *\([^ ]*\) .*/\1/g') + ) + + if use qt6 ; then + export PATH="${BROOT}$(qt_get_bindir 6):${PATH}" + export MOC="$(qt_get_broot_binary 6 moc)" + + myeconfargs+=( + $(use_enable wayland kf6-wayland) + ) + else + myeconfargs+=( + --disable-kf6-wayland + ) + fi + + econf "${myeconfargs[@]}" +} + +src_install() { + default + + rm "${ED}"/usr/bin/pinentry || die + + # The preferred Qt implementation upstream gets installed as just 'qt'. + # Make a symlink for eselect-pinentry and friends. + if use qt6 ; then + dosym pinentry-qt /usr/bin/pinentry-qt6 + fi +} + +pkg_postinst() { + eselect pinentry update ifunset +} + +pkg_postrm() { + eselect pinentry update ifunset +} From 566ad5cbb893a0376dd8492d079682ac989e2a81 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 3 Aug 2026 08:12:46 +0000 Subject: [PATCH 018/195] app-crypt/tpm2-tools: Sync with Gentoo It's from Gentoo commit c95402428a66081d54db5c1b24ca746c1be7a089. Signed-off-by: Flatcar Buildbot --- .../app-crypt/tpm2-tools/Manifest | 2 + .../tpm2-tools/tpm2-tools-5.7.1.ebuild | 84 +++++++++++++++++++ .../tpm2-tools/tpm2-tools-5.8.ebuild | 83 ++++++++++++++++++ 3 files changed, 169 insertions(+) create mode 100644 sdk_container/src/third_party/portage-stable/app-crypt/tpm2-tools/tpm2-tools-5.7.1.ebuild create mode 100644 sdk_container/src/third_party/portage-stable/app-crypt/tpm2-tools/tpm2-tools-5.8.ebuild diff --git a/sdk_container/src/third_party/portage-stable/app-crypt/tpm2-tools/Manifest b/sdk_container/src/third_party/portage-stable/app-crypt/tpm2-tools/Manifest index 46c013c241b..f6980bd982e 100644 --- a/sdk_container/src/third_party/portage-stable/app-crypt/tpm2-tools/Manifest +++ b/sdk_container/src/third_party/portage-stable/app-crypt/tpm2-tools/Manifest @@ -1 +1,3 @@ +DIST tpm2-tools-5.7.1.tar.gz 1344510 BLAKE2B 77e3505bcb2977a435e7ad796574561e18b57861d840830ff6f70148227d756be129857475112c99183baddad79bf9483e1eae8fb08915dfa3fe53e4cdc44974 SHA512 b628ce4eb88092e106d5afef417e44c47e4450d0b5fc047cecbcc23be9f94703a5b777828106b8e5c5fd1a5b3fbb727e4d863cefe0ab75de661299064f42def9 DIST tpm2-tools-5.7.tar.gz 1339035 BLAKE2B 3984f25176e0b092793a33a0b40b396bc650de989e0b600989d11439cccdf7bc410535c01e1a0e985ab67b36b63eb02d392342aa1746b86727ba22d67d522389 SHA512 629b0b1826815877f452935285f7b3fe0f32bd24fe9130eb169a2dc9b7b254a737797043af9eea68be706b87c32ab2b7189151360c9c00bc5c31dce62a799670 +DIST tpm2-tools-5.8.tar.gz 1447277 BLAKE2B bad9caa72b4849326df6348548b0b838bab095d311f86cbce511e437eb2a5006d209acdca3e75722ee3acb55458f74666d23b41da0264f60fde6ce73c7ea8ec6 SHA512 0bea68505a773f75476a1e0ea2abd8336a16f0b8900006512a81019708f04b50dbb7960922b37821278825305d33e042f82da2125e7409dacbd139cd52474e82 diff --git a/sdk_container/src/third_party/portage-stable/app-crypt/tpm2-tools/tpm2-tools-5.7.1.ebuild b/sdk_container/src/third_party/portage-stable/app-crypt/tpm2-tools/tpm2-tools-5.7.1.ebuild new file mode 100644 index 00000000000..7c518c1ddf4 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/app-crypt/tpm2-tools/tpm2-tools-5.7.1.ebuild @@ -0,0 +1,84 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{11..14} ) +inherit autotools bash-completion-r1 flag-o-matic python-any-r1 + +DESCRIPTION="Tools for the TPM 2.0 TSS" +HOMEPAGE="https://github.com/tpm2-software/tpm2-tools" +SRC_URI="https://github.com/tpm2-software/tpm2-tools/releases/download/${PV}/${P}.tar.gz" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86" +IUSE="+fapi test" + +RESTRICT="!test? ( test )" + +RDEPEND=">=app-crypt/tpm2-tss-3.0.1:=[fapi?] + dev-libs/openssl:= + net-misc/curl + sys-libs/efivar:=" +DEPEND="${RDEPEND} + test? ( + app-crypt/swtpm + app-crypt/tpm2-abrmd + dev-util/cmocka + )" +BDEPEND="virtual/pkgconfig + dev-build/autoconf-archive + test? ( + app-editors/vim-core + dev-tcltk/expect + $(python_gen_any_dep 'dev-python/pyyaml[${PYTHON_USEDEP}]') + ) + ${PYTHON_DEPS}" + +PATCHES=( + "${FILESDIR}/${PN}-5.6-Makefile-am-Dont-require-pandoc-for-tests.patch" + "${FILESDIR}/${PN}-5.7-tests-Eliminate-dependency-on-which.patch" +) + +python_check_deps() { + python_has_version "dev-python/pyyaml[${PYTHON_USEDEP}]" +} + +pkg_setup() { + use test && python-any-r1_pkg_setup +} + +src_prepare() { + default + eautoreconf +} + +src_configure() { + # tests fail with LTO enabbled. See bug 865275 and 865277 + filter-lto + econf \ + $(use_enable fapi) \ + $(use_enable test unit) \ + --with-bashcompdir=$(get_bashcompdir) \ + --enable-hardening +} + +src_install() { + default + mv "${ED}"/$(get_bashcompdir)/tpm2{_completion.bash,} || die + local utils=( "${ED}"/usr/bin/tpm2_* ) + utils=("${utils[@]##*/}") + # these utiltites don't have bash completions + local nobashcomp=( tpm2_encodeobject tpm2_getpolicydigest\ + tpm2_sessionconfig tpm2_tr_encode) + mapfile -d $'\0' -t utils < <(printf '%s\0' "${utils[@]}" | grep -Ezvw "${nobashcomp[@]/#/-e}") + bashcomp_alias tpm2 "${utils[@]}" +} + +src_test() { +# This hook doesn't get invoked consisently, so call it manually +# else one of the tests will fail + emake prepare-check + default +} diff --git a/sdk_container/src/third_party/portage-stable/app-crypt/tpm2-tools/tpm2-tools-5.8.ebuild b/sdk_container/src/third_party/portage-stable/app-crypt/tpm2-tools/tpm2-tools-5.8.ebuild new file mode 100644 index 00000000000..ac910af3694 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/app-crypt/tpm2-tools/tpm2-tools-5.8.ebuild @@ -0,0 +1,83 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{11..14} ) +inherit autotools bash-completion-r1 flag-o-matic python-any-r1 + +DESCRIPTION="Tools for the TPM 2.0 TSS" +HOMEPAGE="https://github.com/tpm2-software/tpm2-tools" +SRC_URI="https://github.com/tpm2-software/tpm2-tools/releases/download/${PV}/${P}.tar.gz" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86" +IUSE="+fapi test" + +RESTRICT="!test? ( test )" + +RDEPEND=">=app-crypt/tpm2-tss-3.0.1:=[fapi?] + dev-libs/openssl:= + net-misc/curl + sys-libs/efivar:=" +DEPEND="${RDEPEND} + test? ( + app-crypt/swtpm + app-crypt/tpm2-abrmd + dev-util/cmocka + )" +BDEPEND="virtual/pkgconfig + dev-build/autoconf-archive + test? ( + app-editors/vim-core + dev-tcltk/expect + $(python_gen_any_dep 'dev-python/pyyaml[${PYTHON_USEDEP}]') + ) + ${PYTHON_DEPS}" + +PATCHES=( + "${FILESDIR}/${PN}-5.6-Makefile-am-Dont-require-pandoc-for-tests.patch" +) + +python_check_deps() { + python_has_version "dev-python/pyyaml[${PYTHON_USEDEP}]" +} + +pkg_setup() { + use test && python-any-r1_pkg_setup +} + +src_prepare() { + default + eautoreconf +} + +src_configure() { + # tests fail with LTO enabbled. See bug 865275 and 865277 + filter-lto + econf \ + $(use_enable fapi) \ + $(use_enable test unit) \ + --with-bashcompdir=$(get_bashcompdir) \ + --enable-hardening +} + +src_install() { + default + mv "${ED}"/$(get_bashcompdir)/tpm2{_completion.bash,} || die + local utils=( "${ED}"/usr/bin/tpm2_* ) + utils=("${utils[@]##*/}") + # these utiltites don't have bash completions + local nobashcomp=( tpm2_encodeobject tpm2_getpolicydigest\ + tpm2_sessionconfig tpm2_tr_encode) + mapfile -d $'\0' -t utils < <(printf '%s\0' "${utils[@]}" | grep -Ezvw "${nobashcomp[@]/#/-e}") + bashcomp_alias tpm2 "${utils[@]}" +} + +src_test() { +# This hook doesn't get invoked consisently, so call it manually +# else one of the tests will fail + emake prepare-check + default +} From 77b05a82449cb64fced86eca2b7821a99886a679 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 3 Aug 2026 08:12:46 +0000 Subject: [PATCH 019/195] app-crypt/tpm2-tss: Sync with Gentoo It's from Gentoo commit 70f57f449120ad9e753012c227b7a69159da8289. Signed-off-by: Flatcar Buildbot --- .../app-crypt/tpm2-tss/Manifest | 2 + .../files/tpm2-tss-4.1.4-use-mbedtls-3.patch | 31 +++++ .../app-crypt/tpm2-tss/tpm2-tss-4.1.4.ebuild | 112 ++++++++++++++++++ .../app-crypt/tpm2-tss/tpm2-tss-4.2.0.ebuild | 112 ++++++++++++++++++ 4 files changed, 257 insertions(+) create mode 100644 sdk_container/src/third_party/portage-stable/app-crypt/tpm2-tss/files/tpm2-tss-4.1.4-use-mbedtls-3.patch create mode 100644 sdk_container/src/third_party/portage-stable/app-crypt/tpm2-tss/tpm2-tss-4.1.4.ebuild create mode 100644 sdk_container/src/third_party/portage-stable/app-crypt/tpm2-tss/tpm2-tss-4.2.0.ebuild diff --git a/sdk_container/src/third_party/portage-stable/app-crypt/tpm2-tss/Manifest b/sdk_container/src/third_party/portage-stable/app-crypt/tpm2-tss/Manifest index 52e82a3ab58..ee034b89d58 100644 --- a/sdk_container/src/third_party/portage-stable/app-crypt/tpm2-tss/Manifest +++ b/sdk_container/src/third_party/portage-stable/app-crypt/tpm2-tss/Manifest @@ -1 +1,3 @@ DIST tpm2-tss-4.1.3.tar.gz 1902009 BLAKE2B d8592f4797a4254883667476efb2fdf3c95547d9c472fe3557031e934c725e20e3cc70a9b7b41eaddac71e8d9f94beb5fbb39aec5d81b3eeb1b612df27312923 SHA512 c9a5e1e90f6545a466d43790ab2d67c52c4b788a0b21f8212575e27e04e0ac663105863fe00824e08a4e56a4f8c6b00c48c1a1c132531b8569cd5042c3bb9e69 +DIST tpm2-tss-4.1.4.tar.gz 1909284 BLAKE2B 05dda1002acd6fee0fbbee6928a6fb7dcbfac012729dfc33a91c1c2dafec66811b44d9abfb7c5c55888b280129596e10c7871342bfb113411ed1ceb4d6bcf953 SHA512 d6a883e411be8c1eeb0bc44d58a26ea8ea30c720d1833cb14bb7a501f4aba740767be0caa47cac64ea0ab6a6c11b965dd3761ab6c718c86a9d1cff76eb90f37a +DIST tpm2-tss-4.2.0.tar.gz 2023505 BLAKE2B 347b4e6a7984bb588cc96b6de2b1108ad48a8f18c3f9da8cb9c8670de8d8a7736f43b1f884d9c8093f63b5406e216d4bcb7855293c9e61783dc1d6152ef34c58 SHA512 d122cacd07f3fa229b4f9d988eb8cd4cf8e8021cf3cb32724c13cafa2a94091f1a0fe2bf3df327709e257c6a006277388923939525f33d84782efce7e5dc61c8 diff --git a/sdk_container/src/third_party/portage-stable/app-crypt/tpm2-tss/files/tpm2-tss-4.1.4-use-mbedtls-3.patch b/sdk_container/src/third_party/portage-stable/app-crypt/tpm2-tss/files/tpm2-tss-4.1.4-use-mbedtls-3.patch new file mode 100644 index 00000000000..35465b5c12c --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/app-crypt/tpm2-tss/files/tpm2-tss-4.1.4-use-mbedtls-3.patch @@ -0,0 +1,31 @@ +diff --git a/configure.ac b/configure.ac +index 4a1f1b02..fdbd80c3 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -170,6 +170,10 @@ AS_IF([test "x$enable_vendor" != "xyes"], + + m4_define([ossl_min_version], [1.1.0]) + m4_define([ossl_err], [OpenSSL libcrypto is missing or version requirements not met. OpenSSL version must be >= ossl_min_version]) ++# mbedtls 2.x is obsolete ++m4_define([mbed_min_version], [3.0.0]) ++m4_define([mbed_err], [mbedtls is missing or version requirements not met. mbedtls version must be >= mbed_min_version]) ++ + AS_IF([test "x$enable_esys" = xyes], + [AS_IF([test "x$with_crypto" = xossl], [ + PKG_CHECK_MODULES([CRYPTO], +@@ -185,10 +189,12 @@ AS_IF([test "x$enable_esys" = xyes], + TSS2_ESYS_CFLAGS_CRYPTO="$CRYPTO_CFLAGS" + TSS2_ESYS_LDFLAGS_CRYPTO="$CRYPTO_LIBS" + ], [test "x$with_crypto" = xmbed], [ +- AC_CHECK_HEADER(mbedtls/md.h, [], [AC_MSG_ERROR([Missing required mbedTLS library])]) ++ PKG_CHECK_MODULES([MBEDCRYPTO], ++ [mbedcrypto-3 > mbed_min_version],, ++ [AC_MSG_ERROR([mbed_err])]) + AC_DEFINE([MBED], [1], [mbedTLS cryptographic backend]) +- TSS2_ESYS_CFLAGS_CRYPTO="$LIBMBED_CFLAGS" +- TSS2_ESYS_LDFLAGS_CRYPTO="-lmbedcrypto" ++ TSS2_ESYS_CFLAGS_CRYPTO="$MBEDCRYPTO_CFLAGS" ++ TSS2_ESYS_LDFLAGS_CRYPTO="$MBEDCRYPTO_LDFLAGS" + ], [test "x$with_crypto" = xnone], [ + AC_MSG_NOTICE([No crypto backend selected! Users must set crypto functions!]) + ], [AC_MSG_ERROR([Bad value for --with-crypto $with_crypto])])]) diff --git a/sdk_container/src/third_party/portage-stable/app-crypt/tpm2-tss/tpm2-tss-4.1.4.ebuild b/sdk_container/src/third_party/portage-stable/app-crypt/tpm2-tss/tpm2-tss-4.1.4.ebuild new file mode 100644 index 00000000000..47c4f0de0fb --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/app-crypt/tpm2-tss/tpm2-tss-4.1.4.ebuild @@ -0,0 +1,112 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools flag-o-matic linux-info multilib-minimal tmpfiles udev + +DESCRIPTION="TCG Trusted Platform Module 2.0 Software Stack" +HOMEPAGE="https://github.com/tpm2-software/tpm2-tss" +SRC_URI="https://github.com/tpm2-software/${PN}/releases/download/${PV}/${P}.tar.gz" + +LICENSE="BSD-2" +SLOT="0/4" +KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86" +IUSE="doc +fapi +openssl mbedtls +policy static-libs test" +RESTRICT="!test? ( test )" + +REQUIRED_USE=" + ^^ ( mbedtls openssl ) + fapi? ( openssl !mbedtls ) + policy? ( openssl !mbedtls ) +" + +RDEPEND=" + acct-group/tss + acct-user/tss + sys-apps/util-linux:=[${MULTILIB_USEDEP}] + fapi? ( + dev-libs/json-c:=[${MULTILIB_USEDEP}] + >=net-misc/curl-7.80.0[${MULTILIB_USEDEP}] + ) + mbedtls? ( net-libs/mbedtls:3=[${MULTILIB_USEDEP}] ) + openssl? ( dev-libs/openssl:=[${MULTILIB_USEDEP}] ) +" + +DEPEND=" + ${RDEPEND} + test? ( app-crypt/swtpm + dev-libs/uthash + dev-util/cmocka + sys-apps/iproute2[-minimal] + fapi? ( >=net-misc/curl-7.80.0 ) ) +" + +BDEPEND=" + sys-apps/acl + virtual/pkgconfig + doc? ( app-text/doxygen ) +" + +PATCHES=( + "${FILESDIR}/${PN}-4.0.2-Dont-install-files-into-run.patch" + "${FILESDIR}/${PN}-4.1.4-use-mbedtls-3.patch" +) + +pkg_setup() { + local CONFIG_CHECK="~TCG_TPM" + linux-info_pkg_setup + kernel_is ge 4 12 0 || ewarn "At least kernel 4.12.0 is required" +} + +src_prepare() { + default + eautoreconf +} + +multilib_src_configure() { + # Fails with inlining + filter-flags -fno-semantic-interposition + # tests fail with LTO enabbled. See bug 865275 and 865279 + filter-lto + + local myconf=( + --localstatedir=/var + $(multilib_native_use_enable doc doxygen-doc) + $(use_enable fapi) + $(use_enable policy) + $(use_enable static-libs static) + $(multilib_native_use_enable test unit) + $(multilib_native_use_enable test integration) + $(multilib_native_use_enable test self-generated-certificate) + --disable-tcti-libtpms + --disable-tcti-spi-ltt2go + --disable-tcti-spi-ftdi + --disable-tcti-i2c-ftdi + --disable-defaultflags + --disable-weakcrypto + --with-crypto="$(usex mbedtls mbed ossl)" + --with-runstatedir=/run + --with-udevrulesdir="$(get_udevdir)/rules.d" + --with-udevrulesprefix=60- + --without-sysusersdir + --with-tmpfilesdir="/usr/lib/tmpfiles.d" + ) + + ECONF_SOURCE=${S} econf "${myconf[@]}" +} + +multilib_src_install() { + default + keepdir /var/lib/tpm2-tss/system/keystore + find "${ED}" -name '*.la' -delete || die +} + +pkg_postinst() { + use fapi && tmpfiles_process tpm2-tss-fapi.conf + udev_reload +} + +pkg_postrm() { + udev_reload +} diff --git a/sdk_container/src/third_party/portage-stable/app-crypt/tpm2-tss/tpm2-tss-4.2.0.ebuild b/sdk_container/src/third_party/portage-stable/app-crypt/tpm2-tss/tpm2-tss-4.2.0.ebuild new file mode 100644 index 00000000000..47c4f0de0fb --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/app-crypt/tpm2-tss/tpm2-tss-4.2.0.ebuild @@ -0,0 +1,112 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools flag-o-matic linux-info multilib-minimal tmpfiles udev + +DESCRIPTION="TCG Trusted Platform Module 2.0 Software Stack" +HOMEPAGE="https://github.com/tpm2-software/tpm2-tss" +SRC_URI="https://github.com/tpm2-software/${PN}/releases/download/${PV}/${P}.tar.gz" + +LICENSE="BSD-2" +SLOT="0/4" +KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86" +IUSE="doc +fapi +openssl mbedtls +policy static-libs test" +RESTRICT="!test? ( test )" + +REQUIRED_USE=" + ^^ ( mbedtls openssl ) + fapi? ( openssl !mbedtls ) + policy? ( openssl !mbedtls ) +" + +RDEPEND=" + acct-group/tss + acct-user/tss + sys-apps/util-linux:=[${MULTILIB_USEDEP}] + fapi? ( + dev-libs/json-c:=[${MULTILIB_USEDEP}] + >=net-misc/curl-7.80.0[${MULTILIB_USEDEP}] + ) + mbedtls? ( net-libs/mbedtls:3=[${MULTILIB_USEDEP}] ) + openssl? ( dev-libs/openssl:=[${MULTILIB_USEDEP}] ) +" + +DEPEND=" + ${RDEPEND} + test? ( app-crypt/swtpm + dev-libs/uthash + dev-util/cmocka + sys-apps/iproute2[-minimal] + fapi? ( >=net-misc/curl-7.80.0 ) ) +" + +BDEPEND=" + sys-apps/acl + virtual/pkgconfig + doc? ( app-text/doxygen ) +" + +PATCHES=( + "${FILESDIR}/${PN}-4.0.2-Dont-install-files-into-run.patch" + "${FILESDIR}/${PN}-4.1.4-use-mbedtls-3.patch" +) + +pkg_setup() { + local CONFIG_CHECK="~TCG_TPM" + linux-info_pkg_setup + kernel_is ge 4 12 0 || ewarn "At least kernel 4.12.0 is required" +} + +src_prepare() { + default + eautoreconf +} + +multilib_src_configure() { + # Fails with inlining + filter-flags -fno-semantic-interposition + # tests fail with LTO enabbled. See bug 865275 and 865279 + filter-lto + + local myconf=( + --localstatedir=/var + $(multilib_native_use_enable doc doxygen-doc) + $(use_enable fapi) + $(use_enable policy) + $(use_enable static-libs static) + $(multilib_native_use_enable test unit) + $(multilib_native_use_enable test integration) + $(multilib_native_use_enable test self-generated-certificate) + --disable-tcti-libtpms + --disable-tcti-spi-ltt2go + --disable-tcti-spi-ftdi + --disable-tcti-i2c-ftdi + --disable-defaultflags + --disable-weakcrypto + --with-crypto="$(usex mbedtls mbed ossl)" + --with-runstatedir=/run + --with-udevrulesdir="$(get_udevdir)/rules.d" + --with-udevrulesprefix=60- + --without-sysusersdir + --with-tmpfilesdir="/usr/lib/tmpfiles.d" + ) + + ECONF_SOURCE=${S} econf "${myconf[@]}" +} + +multilib_src_install() { + default + keepdir /var/lib/tpm2-tss/system/keystore + find "${ED}" -name '*.la' -delete || die +} + +pkg_postinst() { + use fapi && tmpfiles_process tpm2-tss-fapi.conf + udev_reload +} + +pkg_postrm() { + udev_reload +} From 58472bf88ba448854d76e85b4b67e52c9f9aaf6b Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 3 Aug 2026 08:12:47 +0000 Subject: [PATCH 020/195] app-editors/nano: Sync with Gentoo It's from Gentoo commit 9d10ab4b36aeb0799d33de9ab8fe31d8ffb79944. Signed-off-by: Flatcar Buildbot --- .../portage-stable/app-editors/nano/Manifest | 2 + .../app-editors/nano/nano-9.1.ebuild | 2 +- .../app-editors/nano/nano-9.2.ebuild | 113 ++++++++++++++++++ 3 files changed, 116 insertions(+), 1 deletion(-) create mode 100644 sdk_container/src/third_party/portage-stable/app-editors/nano/nano-9.2.ebuild diff --git a/sdk_container/src/third_party/portage-stable/app-editors/nano/Manifest b/sdk_container/src/third_party/portage-stable/app-editors/nano/Manifest index 8ae3fdf9fa3..15c7e97118f 100644 --- a/sdk_container/src/third_party/portage-stable/app-editors/nano/Manifest +++ b/sdk_container/src/third_party/portage-stable/app-editors/nano/Manifest @@ -4,3 +4,5 @@ DIST nano-9.0.tar.xz 1743088 BLAKE2B 6df92e9f1b0ba8c2ec3dfdd8b4605a34c08f33c7477 DIST nano-9.0.tar.xz.asc 833 BLAKE2B 4abe90209698d6a9f750032af00cd42304dbd61c8de002099fe58da978fbd8fd504952dffb41a1f7261b79deb8fe9bd654b4c6244848b131c5823856a47ea4ff SHA512 969f7a5cc04c58a10a47c052e12abcad5ad1e3db66b2da99f9e4428e754bcdf1da619b4c16ebf3ae44af701827bba6a5c54f8e470ebc366ad12c6af86d6a9d1b DIST nano-9.1.tar.xz 1756328 BLAKE2B d762076463b0c683d13cd4c47cc05db573a1890c9ea0629c2aa37d36305197242eb724229afc59468aa47c515dbfb8378d9fa6fafa88d8b90a2af6d1ed467b14 SHA512 4d49281bea50d251693a0fd2982ec9392ed72a91b863ac57ffd29fef9fe0e0fef0a8383131a185392de642fd292ab944311dc36b545420d5b2659ba982eff8b8 DIST nano-9.1.tar.xz.asc 833 BLAKE2B b83134e7f60f12527109c8470d52330b5524c24cb4c2312dce1b7e9e98337329bfd79acaca371d37986838a5ce43a56ffa795a6aca25f03a51621e740d5f3604 SHA512 254b21f1f31e9e455cef3b1986c9db22d72a4a4970ef2d0039c3704afdf45c2e94d27fc8532d8d302b1dafff34314c94571a73082ae9c1411b3e8deb1b8bcf36 +DIST nano-9.2.tar.xz 1760684 BLAKE2B b8f5aedbb296654817eac82723a6ae6323b2710d225152ee6356fefe5e692958236a00ab4c7fd5abff71b84c3c023afc06854e4e216b80879c48ce94486c4b89 SHA512 944156519cf981b08df46c248c323ba41eb2063ed804d070d7ee8639cbbe6bf68c038c8f0c094ef28e3a8e569ce321f4494617066c69c7585af41617b08e6dbe +DIST nano-9.2.tar.xz.asc 833 BLAKE2B 85284de45f665ae3334d50505f66e7686de6a095d24cb90911c0250b652cd04bf52e9f387b719b58235b5b4f9eac1a48c1648225a0f2a44b7fd08ca53f1aa644 SHA512 d7e9db0ee7c7f0a5b7e43be95d4c434ea9a3742a76c921f80222956274b6e1f59cd8af9f67491924f629645892d5e262e7675be9099bbd31ea0fa11bb5576f84 diff --git a/sdk_container/src/third_party/portage-stable/app-editors/nano/nano-9.1.ebuild b/sdk_container/src/third_party/portage-stable/app-editors/nano/nano-9.1.ebuild index d53000a57bf..ed81d2282d5 100644 --- a/sdk_container/src/third_party/portage-stable/app-editors/nano/nano-9.1.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-editors/nano/nano-9.1.ebuild @@ -15,7 +15,7 @@ else https://www.nano-editor.org/dist/v${PV:0:1}/${MY_P}.tar.xz verify-sig? ( https://www.nano-editor.org/dist/v${PV:0:1}/${MY_P}.tar.xz.asc ) " - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris" + KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" BDEPEND="verify-sig? ( sec-keys/openpgp-keys-bennoschulenberg )" fi diff --git a/sdk_container/src/third_party/portage-stable/app-editors/nano/nano-9.2.ebuild b/sdk_container/src/third_party/portage-stable/app-editors/nano/nano-9.2.ebuild new file mode 100644 index 00000000000..d53000a57bf --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/app-editors/nano/nano-9.2.ebuild @@ -0,0 +1,113 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +if [[ ${PV} == 9999 ]] ; then + EGIT_REPO_URI="https://git.savannah.gnu.org/git/nano.git" + inherit autotools git-r3 +else + MY_P="${PN}-${PV/_}" + VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/bennoschulenberg.asc + inherit verify-sig + + SRC_URI=" + https://www.nano-editor.org/dist/v${PV:0:1}/${MY_P}.tar.xz + verify-sig? ( https://www.nano-editor.org/dist/v${PV:0:1}/${MY_P}.tar.xz.asc ) + " + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris" + + BDEPEND="verify-sig? ( sec-keys/openpgp-keys-bennoschulenberg )" +fi + +DESCRIPTION="GNU GPL'd Pico clone with more functionality" +HOMEPAGE="https://www.nano-editor.org/ https://wiki.gentoo.org/wiki/Nano/Guide" + +LICENSE="GPL-3+ LGPL-2.1+ || ( GPL-3+ FDL-1.2+ )" +SLOT="0" +IUSE="debug justify magic minimal ncurses nls +spell unicode" + +RDEPEND=" + >=sys-libs/ncurses-5.9-r1:=[unicode(+)?] + magic? ( sys-apps/file ) + nls? ( virtual/libintl ) +" +DEPEND="${RDEPEND}" +BDEPEND+=" + virtual/pkgconfig + nls? ( sys-devel/gettext ) +" + +REQUIRED_USE=" + magic? ( !minimal ) +" + +# gnulib FPs +QA_CONFIG_IMPL_DECL_SKIP=( unreachable MIN static_assert ) + +src_prepare() { + default + + if [[ ${PV} == 9999 ]] ; then + eautoreconf + fi +} + +src_configure() { + local myconfargs=( + --bindir="${EPREFIX}"/bin + --htmldir=/trash + $(use_enable !minimal color) + $(use_enable !minimal multibuffer) + $(use_enable !minimal nanorc) + $(use_enable magic libmagic) + $(use_enable spell speller) + $(use_enable justify) + $(use_enable debug) + $(use_enable nls) + $(use_enable unicode utf8) + $(use_enable minimal tiny) + ) + + econf "${myconfargs[@]}" +} + +src_install() { + default + + # Don't use "${ED}" here or things break (#654534) + rm -r "${D}"/trash || die + + dodoc doc/sample.nanorc + docinto html + dodoc doc/faq.html + insinto /etc + newins doc/sample.nanorc nanorc + + if ! use minimal ; then + # Enable colorization by default. + sed -i \ + -e '/^# include /s:# *::' \ + "${ED}"/etc/nanorc || die + + # Since nano-5.0 these are no longer being "enabled" by default + # (bug #736848) + local rcdir="/usr/share/nano" + mv "${ED}"${rcdir}/extra/* "${ED}"/${rcdir}/ || die + rmdir "${ED}"${rcdir}/extra || die + + insinto "${rcdir}" + newins "${FILESDIR}/gentoo.nanorc-r1" gentoo.nanorc + fi +} + +pkg_postrm() { + [[ -n ${REPLACED_BY_VERSION} ]] && return + + local e + e=$(unset EDITOR; . "${EROOT}"/etc/profile &>/dev/null; echo "${EDITOR}") + if [[ ${e##*/} == nano ]]; then + ewarn "The EDITOR variable is still set to ${e}." + ewarn "You can update it with \"eselect editor\"." + fi +} From f8872aeabe644035e5db200fedc9edbc3757ef41 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 3 Aug 2026 08:12:49 +0000 Subject: [PATCH 021/195] app-emulation/qemu: Sync with Gentoo It's from Gentoo commit c00037fc49f3a4713c27ebaa00723d7d3631fcec. Signed-off-by: Flatcar Buildbot --- .../portage-stable/app-emulation/qemu/qemu-10.2.2.ebuild | 2 +- .../portage-stable/app-emulation/qemu/qemu-10.2.3.ebuild | 2 +- .../portage-stable/app-emulation/qemu/qemu-9999.ebuild | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/sdk_container/src/third_party/portage-stable/app-emulation/qemu/qemu-10.2.2.ebuild b/sdk_container/src/third_party/portage-stable/app-emulation/qemu/qemu-10.2.2.ebuild index 490f00cd059..c52d95655de 100644 --- a/sdk_container/src/third_party/portage-stable/app-emulation/qemu/qemu-10.2.2.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-emulation/qemu/qemu-10.2.2.ebuild @@ -223,7 +223,7 @@ SOFTMMU_TOOLS_DEPEND=" smartcard? ( >=app-emulation/libcacard-2.5.0[static-libs(+)] ) snappy? ( app-arch/snappy:= ) spice? ( - >=app-emulation/spice-protocol-0.14.0 + >=app-emulation/spice-protocol-0.14.5 >=app-emulation/spice-0.14.0[static-libs(+)] ) ssh? ( >=net-libs/libssh-0.8.6[static-libs(+)] ) diff --git a/sdk_container/src/third_party/portage-stable/app-emulation/qemu/qemu-10.2.3.ebuild b/sdk_container/src/third_party/portage-stable/app-emulation/qemu/qemu-10.2.3.ebuild index cfbdeea52fb..c5ae7af86c3 100644 --- a/sdk_container/src/third_party/portage-stable/app-emulation/qemu/qemu-10.2.3.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-emulation/qemu/qemu-10.2.3.ebuild @@ -227,7 +227,7 @@ SOFTMMU_TOOLS_DEPEND=" smartcard? ( >=app-emulation/libcacard-2.5.0[static-libs(+)] ) snappy? ( app-arch/snappy:= ) spice? ( - >=app-emulation/spice-protocol-0.14.0 + >=app-emulation/spice-protocol-0.14.5 >=app-emulation/spice-0.14.0[static-libs(+)] ) ssh? ( >=net-libs/libssh-0.8.6[static-libs(+)] ) diff --git a/sdk_container/src/third_party/portage-stable/app-emulation/qemu/qemu-9999.ebuild b/sdk_container/src/third_party/portage-stable/app-emulation/qemu/qemu-9999.ebuild index facd58b4088..d13ff8204d8 100644 --- a/sdk_container/src/third_party/portage-stable/app-emulation/qemu/qemu-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-emulation/qemu/qemu-9999.ebuild @@ -227,7 +227,7 @@ SOFTMMU_TOOLS_DEPEND=" smartcard? ( >=app-emulation/libcacard-2.5.0[static-libs(+)] ) snappy? ( app-arch/snappy:= ) spice? ( - >=app-emulation/spice-protocol-0.14.0 + >=app-emulation/spice-protocol-0.14.5 >=app-emulation/spice-0.14.0[static-libs(+)] ) ssh? ( >=net-libs/libssh-0.8.6[static-libs(+)] ) From 9bfb2521d00d07264800e689d439565066014db8 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 3 Aug 2026 08:12:49 +0000 Subject: [PATCH 022/195] app-emulation/virt-firmware: Sync with Gentoo It's from Gentoo commit 7148be37d12953a53176d5cbc96cf8763937c6a2. Signed-off-by: Flatcar Buildbot --- .../app-emulation/virt-firmware/Manifest | 1 + .../virt-firmware/virt-firmware-26.7.1.ebuild | 65 +++++++++++++++++++ 2 files changed, 66 insertions(+) create mode 100644 sdk_container/src/third_party/portage-stable/app-emulation/virt-firmware/virt-firmware-26.7.1.ebuild diff --git a/sdk_container/src/third_party/portage-stable/app-emulation/virt-firmware/Manifest b/sdk_container/src/third_party/portage-stable/app-emulation/virt-firmware/Manifest index 65f512fc443..163662d7f6f 100644 --- a/sdk_container/src/third_party/portage-stable/app-emulation/virt-firmware/Manifest +++ b/sdk_container/src/third_party/portage-stable/app-emulation/virt-firmware/Manifest @@ -1,2 +1,3 @@ DIST virt_firmware-26.2.tar.gz 143457 BLAKE2B fd0b977539af0cde4059e67e86ddf97c6dcffc3f7b1cf5975d181dd51b698334c8b22b2c6a951da2e39327a0dd43b44d03a05d0ff56be6defb4a48f872ac4e80 SHA512 6e7fa94009da095e15880b6be850b130ea3097394572c01fe0404b6d4bc11117b9ae730ca43408cb02b5ae9dc2671ef5635520dd2c8776bb2b6b68c8246d06c7 DIST virt_firmware-26.5.4.tar.gz 151249 BLAKE2B 05724cb57e33ef4d30cf987bdc7cf71b49be0b32437b27cec5fb43d39fe9fd0456f104da3ecac05e251f8249a974f18286f162f041247de2267436c993864be9 SHA512 5a61d4cf9e4aa025a12eab17f5f61ada197a7fc5c18d1ecdf0a6282d26cec8d261112a88ea24fbcdfd4ef69421667225ad8df1645cd30a1c1c374c8475e5c532 +DIST virt_firmware-26.7.1.tar.gz 157512 BLAKE2B 75267393cd25afd0b0da4aef81390e93840321ac63fb6b846b11bb3e2672674fb593429d306c2a50b5e6efe3037ba9bd9ca28e90e4df6a8d5bddb8867843ce86 SHA512 5ca477eebbdd89be75b25d251757e1207f19f292aa4bc464479a1b33ecf5303b0b66932cfd0a7678fc876737138511a3aba6d8441a347c61d13b1bd958389611 diff --git a/sdk_container/src/third_party/portage-stable/app-emulation/virt-firmware/virt-firmware-26.7.1.ebuild b/sdk_container/src/third_party/portage-stable/app-emulation/virt-firmware/virt-firmware-26.7.1.ebuild new file mode 100644 index 00000000000..79551565198 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/app-emulation/virt-firmware/virt-firmware-26.7.1.ebuild @@ -0,0 +1,65 @@ +# Copyright 2024-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{11..14} ) +DISTUTILS_USE_PEP517=setuptools + +inherit distutils-r1 optfeature pypi systemd + +DESCRIPTION="Tools for ovmf/armvirt firmware volumes" +HOMEPAGE=" + https://gitlab.com/kraxel/virt-firmware + https://pypi.org/project/virt-firmware/ +" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~loong ~riscv ~x86" + +RDEPEND=" + dev-python/cryptography[${PYTHON_USEDEP}] + dev-python/pefile[${PYTHON_USEDEP}] + dev-python/pyyaml[${PYTHON_USEDEP}] +" + +# Need systemd-detect-virt +BDEPEND=" + test? ( + sys-apps/systemd + ) +" + +distutils_enable_tests unittest + +python_prepare_all() { + # Requires crypt module removed in py3.13 + rm virt/qemutest/cloudinit.py || die + sed -e '/from virt.qemutest.cloudinit import CloudInitISO/d' \ + -i tests/tests.py || die + + distutils-r1_python_prepare_all +} + +python_test() { + eunittest tests +} + +python_install_all() { + distutils-r1_python_install_all + + doman man/*.1 + + doinitd "${FILESDIR}/kernel-bootcfg-boot-successful" + systemd_dounit systemd/kernel-bootcfg-boot-successful.service + + # Use our own provided by sys-kernel/installkernel[efistub,systemd] + #exeinto /usr/lib/kernel/install.d + #doexe systemd/99-uki-uefi-setup.install +} + +pkg_postinst() { + optfeature "automatically updating UEFI configuration on each kernel installation or removal" \ + "sys-kernel/installkernel[systemd,efistub]" +} From 96301e795ca6fa246c2fcc06e51b86b0cd812a87 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 3 Aug 2026 08:12:57 +0000 Subject: [PATCH 023/195] app-misc/jq: Sync with Gentoo It's from Gentoo commit 078af3a216810923a2b43fbf7b6f286dfb170592. Signed-off-by: Flatcar Buildbot --- .../portage-stable/app-misc/jq/jq-1.8.2.ebuild | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/sdk_container/src/third_party/portage-stable/app-misc/jq/jq-1.8.2.ebuild b/sdk_container/src/third_party/portage-stable/app-misc/jq/jq-1.8.2.ebuild index 7a9e8abc520..6bec5b07408 100644 --- a/sdk_container/src/third_party/portage-stable/app-misc/jq/jq-1.8.2.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-misc/jq/jq-1.8.2.ebuild @@ -3,7 +3,7 @@ EAPI=8 -inherit autotools flag-o-matic +inherit autotools MY_PV="${PV/_/}" MY_P="${PN}-${MY_PV}" @@ -14,13 +14,15 @@ S="${WORKDIR}/${PN}-${MY_P}" LICENSE="MIT icu CC-BY-3.0" SLOT="0/1" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris" +KEYWORDS="~alpha amd64 arm arm64 ~loong ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" IUSE="+oniguruma static-libs test" +RESTRICT="!test? ( test )" +REQUIRED_USE="test? ( oniguruma )" ONIGURUMA_MINPV='>=dev-libs/oniguruma-6.9.10' # Keep this in sync with bundled vendor/oniguruma/ DEPEND=" - >=sys-devel/bison-3.0 app-alternatives/lex + >=sys-devel/bison-3.0 oniguruma? ( ${ONIGURUMA_MINPV}:=[static-libs?] ) " RDEPEND=" @@ -28,13 +30,11 @@ RDEPEND=" oniguruma? ( ${ONIGURUMA_MINPV}[static-libs?] ) ) " + PATCHES=( "${FILESDIR}"/jq-1.6-r3-never-bundle-oniguruma.patch ) -RESTRICT="!test? ( test )" -REQUIRED_USE="test? ( oniguruma )" - src_prepare() { sed -e '/^dist_doc_DATA/d; s:-Wextra ::' -i Makefile.am || die printf "#!/bin/sh\\nprintf '%s'\\n\n" "${MY_PV}" > scripts/version || die @@ -53,10 +53,6 @@ src_prepare() { } src_configure() { - # TODO: Drop on next release > 1.7.1 - # bug #944014 - append-cflags -std=gnu17 - local econfargs=( # don't try to rebuild docs --disable-docs From e08ecc604a0a62b07c1c64173d35766646a88287 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 3 Aug 2026 08:12:58 +0000 Subject: [PATCH 024/195] app-misc/pax-utils: Sync with Gentoo It's from Gentoo commit 7b57b72b52b2f592873e207f40b374763545fd07. Signed-off-by: Flatcar Buildbot --- .../app-misc/pax-utils/Manifest | 1 + .../pax-utils/pax-utils-1.3.11.ebuild | 79 +++++++++++++++++++ .../app-misc/pax-utils/pax-utils-9999.ebuild | 9 ++- 3 files changed, 85 insertions(+), 4 deletions(-) create mode 100644 sdk_container/src/third_party/portage-stable/app-misc/pax-utils/pax-utils-1.3.11.ebuild diff --git a/sdk_container/src/third_party/portage-stable/app-misc/pax-utils/Manifest b/sdk_container/src/third_party/portage-stable/app-misc/pax-utils/Manifest index 042f8e5c7ca..5c3560b246a 100644 --- a/sdk_container/src/third_party/portage-stable/app-misc/pax-utils/Manifest +++ b/sdk_container/src/third_party/portage-stable/app-misc/pax-utils/Manifest @@ -1 +1,2 @@ DIST pax-utils-1.3.10.tar.xz 123576 BLAKE2B d0d68d12bbbe3771da6a22d04b246593952e39ad5233fbb36c4283800431c707015477192d6e3225985016828189280662cda642b161322d3eb19bea5f4bdc86 SHA512 06be65f1ad954427cc666e53e1aaa45dda04c43f26d9e4c9ded9e4dc33e4fd2827acd0c7cbb5cbf4a169a19f5c356d59a5dfb2d2e63a037fe62c26394648ee4d +DIST pax-utils-1.3.11.tar.xz 123608 BLAKE2B d53dc6b7792045d4092f970423091040f1ad73663c9f8962d40d4e135184c7ebb0ff7233211cb1c6a6cfcfdf7774b5d4ad9bcbd3ca78b59ec1dafda0759ef6cd SHA512 c4c437c89735bacb7a81581eb73b04507c12b62bcf4c3508fe8a5b31ef78718b79028788bfedd3426d36285fe9fa7a94555c590a21b5eb65b1187e33c7384754 diff --git a/sdk_container/src/third_party/portage-stable/app-misc/pax-utils/pax-utils-1.3.11.ebuild b/sdk_container/src/third_party/portage-stable/app-misc/pax-utils/pax-utils-1.3.11.ebuild new file mode 100644 index 00000000000..b2a4dd69497 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/app-misc/pax-utils/pax-utils-1.3.11.ebuild @@ -0,0 +1,79 @@ +# Copyright 2022-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# Note: if bumping pax-utils because of syscall changes in glibc, please +# revbump glibc and update the dependency in its ebuild for the affected +# versions. +PYTHON_COMPAT=( python3_{12..15} ) + +inherit meson python-single-r1 + +DESCRIPTION="ELF utils that can check files for security relevant properties" +HOMEPAGE="https://wiki.gentoo.org/wiki/Hardened/PaX_Utilities" + +if [[ ${PV} == 9999 ]]; then + EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/pax-utils.git" + inherit git-r3 + IUSE+=" +man" +else + SRC_URI=" + https://distfiles.gentoo.org/pub/proj/toolchain/pax-utils/${P}.tar.xz + " + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris" + IUSE+=" man" +fi + +LICENSE="GPL-2" +SLOT="0" +IUSE+=" caps python seccomp test" + +REQUIRED_USE=" + python? ( ${PYTHON_REQUIRED_USE} ) + test? ( python ) +" +RESTRICT="!test? ( test )" + +MY_PYTHON_DEPS=" + ${PYTHON_DEPS} + $(python_gen_cond_dep ' + dev-python/pyelftools[${PYTHON_USEDEP}] + ') +" +RDEPEND=" + caps? ( >=sys-libs/libcap-2.24 ) + python? ( ${MY_PYTHON_DEPS} ) +" +DEPEND="${RDEPEND}" +BDEPEND=" + caps? ( virtual/pkgconfig ) + man? ( app-text/xmlto ) + python? ( ${MY_PYTHON_DEPS} ) +" + +pkg_setup() { + if use test || use python; then + python-single-r1_pkg_setup + fi +} + +src_configure() { + local emesonargs=( + "-Dlddtree_implementation=$(usex python python sh)" + $(meson_feature caps use_libcap) + $(meson_feature man build_manpages) + $(meson_use seccomp use_seccomp) + $(meson_use test tests) + + # fuzzing is currently broken + -Duse_fuzzing=false + ) + meson_src_configure +} + +src_install() { + meson_src_install + + use python && python_fix_shebang "${ED}"/usr/bin/lddtree +} diff --git a/sdk_container/src/third_party/portage-stable/app-misc/pax-utils/pax-utils-9999.ebuild b/sdk_container/src/third_party/portage-stable/app-misc/pax-utils/pax-utils-9999.ebuild index 50135d2a449..b2a4dd69497 100644 --- a/sdk_container/src/third_party/portage-stable/app-misc/pax-utils/pax-utils-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-misc/pax-utils/pax-utils-9999.ebuild @@ -6,15 +6,12 @@ EAPI=8 # Note: if bumping pax-utils because of syscall changes in glibc, please # revbump glibc and update the dependency in its ebuild for the affected # versions. -PYTHON_COMPAT=( python3_{11..14} ) +PYTHON_COMPAT=( python3_{12..15} ) inherit meson python-single-r1 DESCRIPTION="ELF utils that can check files for security relevant properties" HOMEPAGE="https://wiki.gentoo.org/wiki/Hardened/PaX_Utilities" -LICENSE="GPL-2" -SLOT="0" -IUSE="caps python seccomp test" if [[ ${PV} == 9999 ]]; then EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/pax-utils.git" @@ -28,6 +25,10 @@ else IUSE+=" man" fi +LICENSE="GPL-2" +SLOT="0" +IUSE+=" caps python seccomp test" + REQUIRED_USE=" python? ( ${PYTHON_REQUIRED_USE} ) test? ( python ) From 5f754589514e1624aa87f4275b273ef84b88aa7f Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 3 Aug 2026 08:12:59 +0000 Subject: [PATCH 025/195] app-portage/gemato: Sync with Gentoo It's from Gentoo commit 4d9489be539c7fafccdeb703df18fc932a3f352b. Signed-off-by: Flatcar Buildbot --- .../app-portage/gemato/Manifest | 1 + .../app-portage/gemato/gemato-20.13.ebuild | 53 +++++++++++++++++++ 2 files changed, 54 insertions(+) create mode 100644 sdk_container/src/third_party/portage-stable/app-portage/gemato/gemato-20.13.ebuild diff --git a/sdk_container/src/third_party/portage-stable/app-portage/gemato/Manifest b/sdk_container/src/third_party/portage-stable/app-portage/gemato/Manifest index 6a85aeca278..62f0d9ca235 100644 --- a/sdk_container/src/third_party/portage-stable/app-portage/gemato/Manifest +++ b/sdk_container/src/third_party/portage-stable/app-portage/gemato/Manifest @@ -1 +1,2 @@ DIST gemato-20.12.tar.gz 94139 BLAKE2B fc9c0e1b6c2419842a22bbacd85876c7664e0468fc800dd7b3bd06c5ea2cdc5cb178230b278952fc4bd4e36d6f9713fd5c6946cce61ac1116ef873a6f84f0cbf SHA512 bfbd068e562659739a77d90575c96d0dd1e7494167b73b7cf4f6a26d94a1a4e88674749b65e1635ef0b0379c93e8c3900aaf0210acc52d47b56845612d2dd6b1 +DIST gemato-20.13.tar.gz 94816 BLAKE2B 9b7d43515b7b9fd1a574a53d69be9120e1e7c352e8ab0bea6ebccf45e69e04d83755eea76b62c6043c18857ee58339b929a11ffdb4c3931841c0b648c558707c SHA512 d864cd9a93b8de64bc91fe1b64a53cd2b7f12242e3dad86042a9fe36e6f821bb4fa919ca1a8fd7cf1e84fff263d3e193ca1849d29d0d13dca875601de6c9348d diff --git a/sdk_container/src/third_party/portage-stable/app-portage/gemato/gemato-20.13.ebuild b/sdk_container/src/third_party/portage-stable/app-portage/gemato/gemato-20.13.ebuild new file mode 100644 index 00000000000..4df70f60f06 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/app-portage/gemato/gemato-20.13.ebuild @@ -0,0 +1,53 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=flit-core +PYTHON_COMPAT=( python3_{12..15} ) +PYTHON_REQ_USE='threads(+),ssl(+)' + +inherit distutils-r1 pypi + +DESCRIPTION="Stand-alone Manifest generation & verification tool" +HOMEPAGE=" + https://github.com/gentoo/gemato/ + https://pypi.org/project/gemato/ +" + +LICENSE="GPL-2+" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +IUSE="+gpg pretty-log tools" + +RDEPEND=" + gpg? ( + app-alternatives/gpg[ssl] + dev-python/requests[${PYTHON_USEDEP}] + ) + pretty-log? ( + dev-python/rich[${PYTHON_USEDEP}] + ) +" +# gpg for tests: trust-moel direct +# https://gitlab.com/sequoia-pgp/sequoia-chameleon-gnupg/-/work_items/152 +BDEPEND=" + test? ( + app-alternatives/gpg[ssl] + dev-python/requests[${PYTHON_USEDEP}] + dev-python/responses[${PYTHON_USEDEP}] + ) +" + +EPYTEST_PLUGINS=() +EPYTEST_XDIST=1 +distutils_enable_tests pytest + +python_install_all() { + distutils-r1_python_install_all + + if use tools; then + exeinto /usr/share/gemato + doexe utils/*.{bash,py} + fi +} From e61d4229dec05714f804d874ae4293efb0ce7445 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 3 Aug 2026 08:12:59 +0000 Subject: [PATCH 026/195] app-portage/gentoolkit: Sync with Gentoo It's from Gentoo commit 7f6aedaf508a7ffd652a68cb0827dda7ad99da5b. Signed-off-by: Flatcar Buildbot --- .../app-portage/gentoolkit/Manifest | 3 +- .../gentoolkit/gentoolkit-0.7.5.ebuild | 130 ------------------ .../gentoolkit/gentoolkit-0.7.6.ebuild | 4 +- ...t-0.7.4.ebuild => gentoolkit-0.8.0.ebuild} | 2 +- .../gentoolkit/gentoolkit-9999.ebuild | 4 +- 5 files changed, 6 insertions(+), 137 deletions(-) delete mode 100644 sdk_container/src/third_party/portage-stable/app-portage/gentoolkit/gentoolkit-0.7.5.ebuild rename sdk_container/src/third_party/portage-stable/app-portage/gentoolkit/{gentoolkit-0.7.4.ebuild => gentoolkit-0.8.0.ebuild} (98%) diff --git a/sdk_container/src/third_party/portage-stable/app-portage/gentoolkit/Manifest b/sdk_container/src/third_party/portage-stable/app-portage/gentoolkit/Manifest index f42f47ca093..d5648174864 100644 --- a/sdk_container/src/third_party/portage-stable/app-portage/gentoolkit/Manifest +++ b/sdk_container/src/third_party/portage-stable/app-portage/gentoolkit/Manifest @@ -1,4 +1,3 @@ DIST gentoolkit-0.7.2.tar.bz2 3190909 BLAKE2B b8646c98858cd4e7c1c4dee5656319fd30b2668ea0b6739e327b94fc9955bb0fd8591769df0168fae46a98e28a96d1a95ff28fa35fe4a146cb100c554cd8a55a SHA512 9afe0e249bcee9f184cf5e691dd841756d00ac4ea63de223d89bc6a4a457f30a7def4390afe2e3f6f83425828f4c22086d381930e35b161000dea4c7146d5cd2 -DIST gentoolkit-0.7.4.tar.bz2 3191147 BLAKE2B 7bc7bb819b277269bb0d714d74efe522beee0e1c7a09c818007847bfb5d26006178cf4f9a53da11d7dfb217683752769d53b269711d267da61261d6f997b5623 SHA512 d0f36205210d2a1402d64756983a021465943924657e433120c11c137f18b6c6c42c9a074d75f6d60f1ba0831f1f82feaaeb293086190b224ba6ed9f970e3659 -DIST gentoolkit-0.7.5.tar.bz2 3192126 BLAKE2B 028d6f0c441babc5a49c64c16642d03ffe2863403ee37944b6787b7cccb7f6c25fac2a2a410974fd87ac8552c2891bff8401c332fba9d7bcdcf9c226e6be57eb SHA512 9c08ac0a58f43c3d7aea6867f2aafbeef87bda70d5e26b4c47e6088de38f00604097b943f43bb7a2e79354dc30e642a7f81fb16e1234684dd7019532b2060a6b DIST gentoolkit-0.7.6.tar.bz2 3191813 BLAKE2B a56c575ab2026abe2ace0b6fe7c411d892b8aeb8722ecac929ccfe8da141683c630c490d35bedcfe0cf67e0fe071a2f45b7b7731b052a34b47f798c10102f240 SHA512 723611caea039272870b928a8fb3c2681fbde68ace09049d2f1b44fb9181b4ceb706593b9e6c7b4b465393e80e3582791c384d79b8622423bbc676b3d28a6a44 +DIST gentoolkit-0.8.0.tar.bz2 3191836 BLAKE2B 4fc4db2b394521ae6ee41b18868c022628a6c69d814810821713ba5b203d21e9bdda789ff37588efe77f2af7625a7b6993d4d24e68da2a13e8cdda2a25999767 SHA512 96d343401afd548106280120bfa7e8e25f3b31027cf84a3f950bec93680bc3fe49d56f1c0a6fb4284a8505bf1868a36d0f7eb68815c556edf0c48a541d172fad diff --git a/sdk_container/src/third_party/portage-stable/app-portage/gentoolkit/gentoolkit-0.7.5.ebuild b/sdk_container/src/third_party/portage-stable/app-portage/gentoolkit/gentoolkit-0.7.5.ebuild deleted file mode 100644 index 89f1792d964..00000000000 --- a/sdk_container/src/third_party/portage-stable/app-portage/gentoolkit/gentoolkit-0.7.5.ebuild +++ /dev/null @@ -1,130 +0,0 @@ -# Copyright 1999-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -PYTHON_COMPAT=( python3_{12..14} ) -PYTHON_REQ_USE="xml(+),threads(+)" - -inherit meson python-r1 tmpfiles - -if [[ ${PV} = 9999* ]]; then - EGIT_REPO_URI=" - https://anongit.gentoo.org/git/proj/gentoolkit.git - https://github.com/gentoo/gentoolkit - " - inherit git-r3 -else - SRC_URI="https://gitweb.gentoo.org/proj/gentoolkit.git/snapshot/${P}.tar.bz2" - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris" -fi - -DESCRIPTION="Collection of administration scripts for Gentoo" -HOMEPAGE="https://wiki.gentoo.org/wiki/Project:Portage-Tools" - -LICENSE="GPL-2" -SLOT="0" -REQUIRED_USE="${PYTHON_REQUIRED_USE}" -IUSE="test" -RESTRICT="!test? ( test )" - -# Need newer Portage for eclean-pkg API, bug #900224 -DEPEND=" - >=sys-apps/portage-3.0.57[${PYTHON_USEDEP}] -" -RDEPEND=" - ${DEPEND} - ${PYTHON_DEPS} - app-alternatives/awk - sys-apps/gentoo-functions -" - -# 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} - >=dev-build/meson-1.2.1-r1 - $(python_gen_cond_dep ' - dev-python/setuptools[${PYTHON_USEDEP}] - ' python3_12) - test? ( - dev-python/pytest[${PYTHON_USEDEP}] - ) -" - -src_prepare() { - default - if use prefix-guest ; then - # use correct repo name, bug #632223 - sed -i \ - -e "/load_profile_data/s/repo='gentoo'/repo='gentoo_prefix'/" \ - pym/gentoolkit/profile.py || die - fi -} - -src_configure() { - local code_only=false - python_foreach_impl my_src_configure -} - -my_src_configure() { - local emesonargs=( - -Dcode-only=${code_only} - $(meson_use test tests) - -Deprefix="${EPREFIX}" - -Ddocdir="${EPREFIX}/usr/share/doc/${PF}" - ) - - meson_src_configure - code_only=true -} - -src_compile() { - python_foreach_impl meson_src_compile -} - -src_test() { - local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 - python_foreach_impl epytest -} - -src_install() { - python_foreach_impl my_src_install - dotmpfiles data/tmpfiles.d/revdep-rebuild.conf - - local scripts - mapfile -t scripts < <(awk '/^#!.*python/ {print FILENAME} {nextfile}' "${ED}"/usr/bin/* || die) - python_replicate_script "${scripts[@]}" -} - -my_src_install() { - local pydirs=( - "${D}$(python_get_sitedir)" - ) - - meson_src_install - python_optimize "${pydirs[@]}" -} - -pkg_postinst() { - tmpfiles_process revdep-rebuild.conf - - # Only show the elog information on a new install - if [[ ! ${REPLACING_VERSIONS} ]]; then - elog - elog "For further information on gentoolkit, please read the gentoolkit" - elog "guide: https://wiki.gentoo.org/wiki/Gentoolkit" - elog - elog "Another alternative to equery is app-portage/portage-utils" - elog - elog "Additional tools that may be of interest:" - elog - elog " app-admin/eclean-kernel" - elog " app-portage/diffmask" - elog " app-portage/flaggie" - elog " app-portage/portpeek" - elog " app-portage/smart-live-rebuild" - fi -} diff --git a/sdk_container/src/third_party/portage-stable/app-portage/gentoolkit/gentoolkit-0.7.6.ebuild b/sdk_container/src/third_party/portage-stable/app-portage/gentoolkit/gentoolkit-0.7.6.ebuild index 89f1792d964..fb8bc6b6178 100644 --- a/sdk_container/src/third_party/portage-stable/app-portage/gentoolkit/gentoolkit-0.7.6.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-portage/gentoolkit/gentoolkit-0.7.6.ebuild @@ -3,7 +3,7 @@ EAPI=8 -PYTHON_COMPAT=( python3_{12..14} ) +PYTHON_COMPAT=( python3_{12..15} ) PYTHON_REQ_USE="xml(+),threads(+)" inherit meson python-r1 tmpfiles @@ -16,7 +16,7 @@ if [[ ${PV} = 9999* ]]; then inherit git-r3 else SRC_URI="https://gitweb.gentoo.org/proj/gentoolkit.git/snapshot/${P}.tar.bz2" - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris" + KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" fi DESCRIPTION="Collection of administration scripts for Gentoo" diff --git a/sdk_container/src/third_party/portage-stable/app-portage/gentoolkit/gentoolkit-0.7.4.ebuild b/sdk_container/src/third_party/portage-stable/app-portage/gentoolkit/gentoolkit-0.8.0.ebuild similarity index 98% rename from sdk_container/src/third_party/portage-stable/app-portage/gentoolkit/gentoolkit-0.7.4.ebuild rename to sdk_container/src/third_party/portage-stable/app-portage/gentoolkit/gentoolkit-0.8.0.ebuild index 89f1792d964..f5621f8bded 100644 --- a/sdk_container/src/third_party/portage-stable/app-portage/gentoolkit/gentoolkit-0.7.4.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-portage/gentoolkit/gentoolkit-0.8.0.ebuild @@ -3,7 +3,7 @@ EAPI=8 -PYTHON_COMPAT=( python3_{12..14} ) +PYTHON_COMPAT=( python3_{12..15} ) PYTHON_REQ_USE="xml(+),threads(+)" inherit meson python-r1 tmpfiles diff --git a/sdk_container/src/third_party/portage-stable/app-portage/gentoolkit/gentoolkit-9999.ebuild b/sdk_container/src/third_party/portage-stable/app-portage/gentoolkit/gentoolkit-9999.ebuild index 8d9223b1a26..f5621f8bded 100644 --- a/sdk_container/src/third_party/portage-stable/app-portage/gentoolkit/gentoolkit-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-portage/gentoolkit/gentoolkit-9999.ebuild @@ -1,9 +1,9 @@ -# Copyright 1999-2025 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 -PYTHON_COMPAT=( python3_{12..14} ) +PYTHON_COMPAT=( python3_{12..15} ) PYTHON_REQ_USE="xml(+),threads(+)" inherit meson python-r1 tmpfiles From 31233842cd8757cf9263503bfe640034ac55777d Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 3 Aug 2026 08:13:00 +0000 Subject: [PATCH 027/195] app-shells/bash-completion: Sync with Gentoo It's from Gentoo commit 6dffa449ff101bd2b1c349b3064039811ca34493. Signed-off-by: Flatcar Buildbot --- .../app-shells/bash-completion/Manifest | 1 + .../bash-completion-2.18.0.ebuild | 162 ++++++++++++++++++ 2 files changed, 163 insertions(+) create mode 100644 sdk_container/src/third_party/portage-stable/app-shells/bash-completion/bash-completion-2.18.0.ebuild diff --git a/sdk_container/src/third_party/portage-stable/app-shells/bash-completion/Manifest b/sdk_container/src/third_party/portage-stable/app-shells/bash-completion/Manifest index 1220267d9a1..3c19dd0005d 100644 --- a/sdk_container/src/third_party/portage-stable/app-shells/bash-completion/Manifest +++ b/sdk_container/src/third_party/portage-stable/app-shells/bash-completion/Manifest @@ -1,3 +1,4 @@ DIST bash-completion-2.16.0.tar.xz 464764 BLAKE2B 389be47536f8f9aa383ff85bf19a00562b30b6d3e3652feaa01284987af13c2dc9850b59341956dd8e94e54251cd36902a60d5e3420ebfa2567216546144f675 SHA512 3711d6cb53cedff94efca0325479ac73f40b536fce250dbcc18ef120a8d0d2248f086ca26e245d163e6058d1b1087d57ced041317163d0e25592d6cb7acbc102 DIST bash-completion-2.17.0.tar.xz 482896 BLAKE2B ee11f2bff82b0852979e4843c7ad5e5b976e4d1e44ab5ed1b96da64fe9b32d91150f12f32bf7c6c0286cd2a0c424d786bbad47066403c71f8d3c8425487427dd SHA512 79f7a22de7df7a6a5cad2e8088ce7e013a3cd5542f3af825c04b2607c824022913dd775202ddab7964dd759e50d5bdf9be6451c70d488efaef10f7cf2f7ac73e +DIST bash-completion-2.18.0.tar.xz 492024 BLAKE2B e1e9db61441ff77cf0799f61408d634dba589347f0a1cb91dcce119bd4c313ee042ef8756a69d057d93672a6518e21fbb6a8ed90935b6f288486fc3522531112 SHA512 82060ef5664d99ee0c35de132a2a75df31e253276f0fc7040b2c2293f9942873afaeede9428b1990007e4a6fa6452c7942d34f3884e7cedebfa9b0d24e719ebe DIST bashcomp-2.0.3.tar.gz 3539 BLAKE2B 75304d144792cc7f6ad5455a05a65c33c646d6f7384d020a06a1fcf012cd51625a3dd0750ad539253453b1eede196c340286a1e81737f0835b5091609ba01295 SHA512 b2bd185ccbd4456939ccc731cc1983fcec2b9564a9920642a753fadd5d897fdb96b925ac1524657629d621d45b37d99076c8ae72511a827e96ff6c388d720008 diff --git a/sdk_container/src/third_party/portage-stable/app-shells/bash-completion/bash-completion-2.18.0.ebuild b/sdk_container/src/third_party/portage-stable/app-shells/bash-completion/bash-completion-2.18.0.ebuild new file mode 100644 index 00000000000..0e5e168409b --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/app-shells/bash-completion/bash-completion-2.18.0.ebuild @@ -0,0 +1,162 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +BASHCOMP_P=bashcomp-2.0.3 +PYTHON_COMPAT=( python3_{12..15} ) + +inherit autotools python-any-r1 + +DESCRIPTION="Programmable Completion for bash" +HOMEPAGE="https://github.com/scop/bash-completion" +SRC_URI=" + https://github.com/scop/bash-completion/releases/download/${PV}/${P}.tar.xz + eselect? ( + https://github.com/projg2/bashcomp2/releases/download/v${BASHCOMP_P#*-}/${BASHCOMP_P}.tar.gz + ) +" + +LICENSE="GPL-2+" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos" +IUSE="+eselect test" +RESTRICT="!test? ( test )" + +RDEPEND=" + >=app-shells/bash-4.3_p30-r1:0 + sys-apps/miscfiles + ! Date: Mon, 3 Aug 2026 08:13:01 +0000 Subject: [PATCH 028/195] app-text/asciidoc: Sync with Gentoo It's from Gentoo commit 8452019bf7d65b3cd18c6e24717e056a2bb41a52. Signed-off-by: Flatcar Buildbot --- .../app-text/asciidoc/asciidoc-10.2.1.ebuild | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/sdk_container/src/third_party/portage-stable/app-text/asciidoc/asciidoc-10.2.1.ebuild b/sdk_container/src/third_party/portage-stable/app-text/asciidoc/asciidoc-10.2.1.ebuild index cfd71dfd870..581923829e5 100644 --- a/sdk_container/src/third_party/portage-stable/app-text/asciidoc/asciidoc-10.2.1.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-text/asciidoc/asciidoc-10.2.1.ebuild @@ -1,11 +1,11 @@ -# Copyright 1999-2025 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 DISTUTILS_SINGLE_IMPL=1 DISTUTILS_USE_PEP517=setuptools -PYTHON_COMPAT=( python3_{11..14} pypy3_11 ) +PYTHON_COMPAT=( python3_{12..15} ) inherit distutils-r1 optfeature readme.gentoo-r1 DESCRIPTION="A plain text human readable/writable document format" @@ -25,17 +25,13 @@ RDEPEND=" dev-libs/libxslt dev-libs/libxml2:2 " -BDEPEND=" - test? ( $(python_gen_cond_dep ' - dev-python/pytest-mock[${PYTHON_USEDEP}] - ') ) -" DOC_CONTENTS=" If you are going to use a2x, please also look at a2x(1) under REQUISITES for a list of runtime dependencies. " +EPYTEST_PLUGINS=( pytest-mock ) distutils_enable_tests pytest src_install() { From 2c7ed977650f46771be8227353367728628f2161 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 3 Aug 2026 08:13:08 +0000 Subject: [PATCH 029/195] app-text/scdoc: Sync with Gentoo It's from Gentoo commit 46b7608ff25ae1bf0d3a5b2259c89de29818f922. Signed-off-by: Flatcar Buildbot --- .../portage-stable/app-text/scdoc/Manifest | 1 + .../app-text/scdoc/scdoc-1.11.5.ebuild | 45 +++++++++++++++++++ 2 files changed, 46 insertions(+) create mode 100644 sdk_container/src/third_party/portage-stable/app-text/scdoc/scdoc-1.11.5.ebuild diff --git a/sdk_container/src/third_party/portage-stable/app-text/scdoc/Manifest b/sdk_container/src/third_party/portage-stable/app-text/scdoc/Manifest index cd6fa1a6c3b..2eac88da612 100644 --- a/sdk_container/src/third_party/portage-stable/app-text/scdoc/Manifest +++ b/sdk_container/src/third_party/portage-stable/app-text/scdoc/Manifest @@ -1 +1,2 @@ DIST scdoc-1.11.4.tar.gz 13081 BLAKE2B 17dc77a09125356e99c50708d5053fe88f3c204f78e8a3e54d28970d8b549d8904f426ff88cac01fc3daf634c37467975342956a807757265cfd642ab8ce3725 SHA512 f8950bbef5213a89746185d5ed29fbee2502235632db883afaaac515dc87c60559bc1a39e2a3ea3bb019675e6039bd2d3b5c5d117a0ad022b61c958fb9407877 +DIST scdoc-1.11.5.tar.gz 13481 BLAKE2B 0c4ba2f38328b5d7952825d4e65661d38a69e34937fc288a6fe1d64e61f728bdb0fe5e97bc7493a45a7f58e90b77ab37b8e5dd85f61ef53a1e46103e80a419b9 SHA512 643209f9b5783d1792eeec2d1cf9ec0838d51adb1b507110aa10bf8963f1df816f6832cb0912a9e9ac698292f1a211dc99368e754636104f0f43f37fa61c179f diff --git a/sdk_container/src/third_party/portage-stable/app-text/scdoc/scdoc-1.11.5.ebuild b/sdk_container/src/third_party/portage-stable/app-text/scdoc/scdoc-1.11.5.ebuild new file mode 100644 index 00000000000..984e8c5fac7 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/app-text/scdoc/scdoc-1.11.5.ebuild @@ -0,0 +1,45 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit toolchain-funcs + +DESCRIPTION="Standalone tool for generating man pages with a simple syntax" +HOMEPAGE="https://git.sr.ht/~sircmpwn/scdoc" + +if [[ ${PV} == 9999 ]]; then + EGIT_REPO_URI="https://git.sr.ht/~sircmpwn/scdoc" + inherit git-r3 +else + SRC_URI="https://git.sr.ht/~sircmpwn/scdoc/archive/${PV}.tar.gz -> ${P}.tar.gz" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +fi + +LICENSE="MIT" +SLOT="0" + +src_prepare() { + default + + sed -e 's/-Werror//' \ + -i Makefile || die 'Failed to patch Makefile' +} + +src_compile() { + local MY_HS="./scdoc" + if tc-is-cross-compiler; then + tc-export_build_env + MY_HS="./hostscdoc" + emake scdoc HOST_SCDOC="./hostscdoc" OUTDIR="${S}/.build.host" CC="$(tc-getBUILD_CC)" \ + CFLAGS="${BUILD_CFLAGS} -DVERSION='\"${PV}\"'" LDFLAGS="${BUILD_LDFLAGS}" + mv scdoc hostscdoc || die 'Failed to rename host scdoc' + fi + + emake CC="$(tc-getCC)" LDFLAGS="${LDFLAGS}" PREFIX="${EPREFIX}/usr" HOST_SCDOC="${MY_HS}" +} + +src_install() { + emake DESTDIR="${D}" PREFIX="${EPREFIX}/usr" HOST_SCDOC="${MY_HS}" \ + PCDIR="${EPREFIX}/usr/$(get_libdir)/pkgconfig" install +} From a63e424625a80e6d346a1d096b4d3b595b631390 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 3 Aug 2026 08:13:14 +0000 Subject: [PATCH 030/195] dev-build/cmake: Sync with Gentoo It's from Gentoo commit 97bd9d43ffe4e154dd2ce2e5ed9742aca9e7b50d. Signed-off-by: Flatcar Buildbot --- .../portage-stable/dev-build/cmake/cmake-4.3.4.ebuild | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sdk_container/src/third_party/portage-stable/dev-build/cmake/cmake-4.3.4.ebuild b/sdk_container/src/third_party/portage-stable/dev-build/cmake/cmake-4.3.4.ebuild index 37708104da5..76ceffde857 100644 --- a/sdk_container/src/third_party/portage-stable/dev-build/cmake/cmake-4.3.4.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-build/cmake/cmake-4.3.4.ebuild @@ -53,7 +53,7 @@ else )" if [[ ${PV} != *_rc* ]] ; then - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris" + KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~loong ~m68k ~mips ~ppc ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris" fi BDEPEND="verify-sig? ( >=sec-keys/openpgp-keys-bradking-20250904 )" From 0258a83c4c7889d85a9d709b58e8ed444ad65201 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 3 Aug 2026 08:13:17 +0000 Subject: [PATCH 031/195] dev-build/meson: Sync with Gentoo It's from Gentoo commit f4e25f0ff8b304a393e84a54da0201a2fd82ddc2. Signed-off-by: Flatcar Buildbot --- .../portage-stable/dev-build/meson/Manifest | 9 + .../dev-build/meson/meson-1.11.2.ebuild | 242 ++++++++++++++++++ .../dev-build/meson/meson-1.12.0_rc1.ebuild | 242 ++++++++++++++++++ .../dev-build/meson/meson-1.12.0_rc2.ebuild | 242 ++++++++++++++++++ .../dev-build/meson/meson-9999.ebuild | 2 +- 5 files changed, 736 insertions(+), 1 deletion(-) create mode 100644 sdk_container/src/third_party/portage-stable/dev-build/meson/meson-1.11.2.ebuild create mode 100644 sdk_container/src/third_party/portage-stable/dev-build/meson/meson-1.12.0_rc1.ebuild create mode 100644 sdk_container/src/third_party/portage-stable/dev-build/meson/meson-1.12.0_rc2.ebuild diff --git a/sdk_container/src/third_party/portage-stable/dev-build/meson/Manifest b/sdk_container/src/third_party/portage-stable/dev-build/meson/Manifest index 43a48217a67..0afe03e43aa 100644 --- a/sdk_container/src/third_party/portage-stable/dev-build/meson/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-build/meson/Manifest @@ -2,8 +2,17 @@ DIST meson-1.10.2.tar.gz 2422765 BLAKE2B 0c6966640988985f8c0af165cb89e0302b0d5e2 DIST meson-1.10.2.tar.gz.asc 833 BLAKE2B f4609f3e51f32d290582f3b339e7b008bf244c3cded918fc115393d0f4644485eb7da1b3b56f1743ca3690665f5314486bbbdfa36ecc65019fca14958ef2c4f8 SHA512 55dbfe41eb8b29206536fa71d36eb483a4be35b7528f15ef00c660b828816c72deb34e63bca52c2641f4134917494ff55761835a9dae187986aa9cef7989bf06 DIST meson-1.11.1.tar.gz 5190321 BLAKE2B 3fcedb28ae3646e1c6bc1b9596ec3f04af1752bef7de9a0a1086aa103d8e0e91b22c66b85f66751447571d2d8815cf3582aacb1e252ea4af59aa18ae1bbede13 SHA512 c30c98714ab595ca1b5241fbb546c9c5fbb3eada53bfe782652a5734b04d45d66944a5fc8673ee602797c8173e27473036bcb01e09032bbc518567ee89dd6d70 DIST meson-1.11.1.tar.gz.asc 395 BLAKE2B ed30367a763c06bc4dd241629b31dd416c9ff898a12e72ce4285608f0b1b66ff62a06b42bb90682f45e9d3298a112342fd451ca45fbf2397b30668ff28e5d5e6 SHA512 9115834e1dffefd5468206fb4539ebd4bdbe94d35a86ef2d62947d9268ffab6848994e75878d73d4b7b5880bdb0ab9ed648b77dd37321020461aaa89f11b6b45 +DIST meson-1.11.2.tar.gz 2463316 BLAKE2B c4ad77fe543b555d23f511dd2de43f6ee259384b6a753ecfe6142793fc0a9d7bc3cdd2d1e48d2b8dae35b96870e55c5d33df40c4b0284ea1bedef5f76b3a0214 SHA512 2be37c49c99b7882910956f513c251bd588e5222e2a69c5ee81a7f272bf9cbbb22402c9bc152ebd20ce81a522b4f60a68e39d755e8cd8fc11de5500e37436278 +DIST meson-1.11.2.tar.gz.asc 833 BLAKE2B 937dd1858679140471deaa8ffd6aaa76873f1f67bfffac406b3ca516635b1dadb8e554e45bb34611f52c0d5b61426aca9d23d399bf844f5ca590a75090af5b8f SHA512 370cf3d26c36e1a3c775309450f3191532953626f58e04cc059cfd719f1444778025b61591b33e7749c13e0cc841461f2063369abe27b78c6b77522322df5e76 +DIST meson-1.12.0rc1.tar.gz 2516312 BLAKE2B 75f6f2648f6f9aa382bb605abd2c4cd5b53a99a6209b7036b6c613333f0eae8a698ee58cba80b362340055aadf1f05b4a0f29ca2527cd0bbabc994527d21a008 SHA512 382681d54bb6e5713bb36b335c420b8aeaffe3aaac25c5554355a841ba36c01f2af18f4af52de8e802115fcfd395a81dc216e017a79a206700b509a2dca9eb2a +DIST meson-1.12.0rc1.tar.gz.asc 833 BLAKE2B 7ed2b8c568281450654ae3eeda44bd87ee5bbbc8e7d77d211df6899b25c23189fabc6eea816e81089240708724a906f995cee70d08cc2ab830ea17627b5ffb57 SHA512 0551dcdb1a47be403ba322e82de369e879505d7a3963eacb9102926b94a272da787581e173cc6c12be10c870f38afdcd14c4dc6c955e60acfbd3d7ea16a60ace +DIST meson-1.12.0rc2.tar.gz 2519078 BLAKE2B 640356e2d1fbe0834d71c885ff2ab8d13a3ba6994ac4bebe1f52260196fa2c6b2574afc150238efbe05fbb240a5fcc69bc52de54964522da6f365e7ee1d04803 SHA512 5a7bd6379933fb2b63c596c6c40a8963052dbfe76003c2d73037c85379ccfbe04f283f3823f6b28f5bfdde72e6e21b040a29a5bce9989eacc7659c236e7f92ac +DIST meson-1.12.0rc2.tar.gz.asc 833 BLAKE2B 605e2f57332023028a3554d0a9d2937dcb94c7f3933d72b7ad364cbe04e56b094542c939085a6d12ac53d76ef599292a10a2e28a09a866ea1f453f4799726685 SHA512 ad04b9878d26c0843d1518ee53b7d10a99f882b805980e5cfce863ff460441658471d3ff2b071741a5463d51163eead3cdb6c6e46813af3d5f336c3c2e604516 DIST meson-1.9.2.tar.gz 2382854 BLAKE2B f099352abbc0fa8d358cbe406955ddf817453cdc244b36f322e11b5b3020013641d162c68c9bce119cf866e8082a14a3f7db9930b66dfba15805afb32440f555 SHA512 3237e55bb8374f65f40dccd8a93493a42fc425337758b8600b377c5e9795a1bdc97942fc19fedd4c3cb697f87c1d54364a637110704a5dc1a391d712be1463bc DIST meson-1.9.2.tar.gz.asc 833 BLAKE2B f161b2918c341172de5f141ac367d7d62a60f2d0eadd793f71fb6a19e8944b4ad6bbfbb25d233862066eec8e422295d46e03ce8aca26e1081f2bcb456b7c1057 SHA512 c8cace334e31d5ba3e4f2da687ed945182e3039dc8bbea94015caa82d373c4b4d96a425eccb7617793fd471040705711b00ab37705dcd2070be6ba089586652b DIST meson-reference-1.10.2.3 366569 BLAKE2B 28b37c33cb94f3cad8de68eeaaf210a470d14df68fa00d8fe18b79ab9acee71a725fa9cbcf57c9c470f98acd540123612dfd9974fb67121ce72fdc70168cfab8 SHA512 1defa912aeac9a5768e7f3ad669d4471a457c6fc70ead30c428ecc335d3a06db56314a5ad343aff7805b1a46388cbfba5b4188e2ef55d10b35767c046dcb0f36 DIST meson-reference-1.11.1.3 383896 BLAKE2B 6262239b32c9be67eb426f2c208f7395ddb7894869d2d96618aec035a60e1529273c0e22f8fe141393465a96a962f3f307cad2353569dd0d7006e79cd9e36f41 SHA512 52a6efd4b52b389986c7ce346b5ccb2abc9e2afc66dcc83ee3b2d981a81c7052520afbbc34c483e6db53660048fb14925ca6fb5718c76768c6773458b8adf814 +DIST meson-reference-1.11.2.3 383896 BLAKE2B f202f256f49a7c9a47f142bed4327097ea2af0d321356efdd01f0612ad38acb372e7a1d2623ca8d490d6eeded7256edc9ac91080d05d966899b94da96b174cb9 SHA512 3f55e8a79eddf20c6562c9ebe9d820db1ead649d0f3c6c47a7a888b3ec05f05202e6087e39d3810f786ce4cd375a5e0b7397c9851040a3f4c46f01ad472d1898 +DIST meson-reference-1.12.0rc1.3 385710 BLAKE2B c963b93419cc048d85daaf2c8280fa60891bc7b888bac1621af807d7faa4a60ca7822f48fec3431181f118122fb8c1bf5a041465cd3d0e6bf4cb30cc1fe019c3 SHA512 76bb6d4b77e88137bd3bb09b122807d378821c02b17ae115bfb60b462d59a5b50e469032e596eb10de21cf3a64304ce99c4bafe7fd6bedc3fa24bdbec2c8f679 +DIST meson-reference-1.12.0rc2.3 385710 BLAKE2B 04839b450dac0d95f01ce0ca6289a92f1c1ae6d51308872e70205e27915f637ca2ec2ddd4e8e12fcff38f54abb25bb1fee0108737f2772c104bda902bcdf98d0 SHA512 8bcc883e08977d0ac42c052c6fab5aacc38b4c6a1983ea550a826350d51d153213872478e244032d54b57a32832d9b59aa9b40b19948093090fe3b8c0b7a5984 DIST meson-reference-1.9.2.3 347286 BLAKE2B ece5e2075e1d1aabe9daf09e8dbdd4c22d0940b957cc61443c9ea0136e54c9f39244cc082f7a784209bb1bb81b116acae74f02501a9cd16df6d06ff9dcda08c0 SHA512 dbf57730e6c6ac6d3ebfba70f4c4b479d8e1a502854343c776f5ba0e9c7a4ba10bf75758b3434dd418041019ab7d704fe1424f49adaf41e260f652b58fd9cb23 diff --git a/sdk_container/src/third_party/portage-stable/dev-build/meson/meson-1.11.2.ebuild b/sdk_container/src/third_party/portage-stable/dev-build/meson/meson-1.11.2.ebuild new file mode 100644 index 00000000000..17a5b79633c --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-build/meson/meson-1.11.2.ebuild @@ -0,0 +1,242 @@ +# Copyright 2016-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{11..14} pypy3_11 ) +DISTUTILS_USE_PEP517=setuptools + +inherit shell-completion edo distutils-r1 flag-o-matic toolchain-funcs vala + +if [[ ${PV} = *9999* ]]; then + EGIT_REPO_URI="https://github.com/mesonbuild/meson" + inherit ninja-utils git-r3 + + BDEPEND=" + ${NINJA_DEPEND} + $(python_gen_any_dep 'dev-python/pyyaml[${PYTHON_USEDEP}]') + " + +else + inherit verify-sig + + MY_PV=${PV/_/} + MY_P=${P/_/} + S=${WORKDIR}/${MY_P} + + SRC_URI=" + https://github.com/mesonbuild/meson/releases/download/${MY_PV}/${MY_P}.tar.gz + verify-sig? ( https://github.com/mesonbuild/meson/releases/download/${MY_PV}/${MY_P}.tar.gz.asc ) + https://github.com/mesonbuild/meson/releases/download/${MY_PV}/meson-reference.3 -> meson-reference-${MY_PV}.3 + " + # Releases may be signed by those listed in Releasing.md. Jussi + # remains the default release manager. + # https://github.com/mesonbuild/meson/commit/c2d795735fa1c46c54d6aed4d4a30f36a1f853cb + BDEPEND="verify-sig? ( >=sec-keys/openpgp-keys-eschwartz-20250723-r1 sec-keys/openpgp-keys-jpakkane )" + #VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/eschwartz.asc + VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/jpakkane.gpg + + if [[ ${PV} != *_rc* ]] ; then + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris" + fi +fi + +DESCRIPTION="Open source build system" +HOMEPAGE="https://mesonbuild.com/" + +LICENSE="Apache-2.0" +SLOT="0" +IUSE="test test-full" +RESTRICT="!test? ( test )" +REQUIRED_USE="test-full? ( test )" + +# test-full contains various test dependencies, for optional test cases of +# frameworks Meson has support for. These will *usually* get skipped +# automatically if uninstalled. The dep allows: +# - guaranteeing the whole test suite runs transparently without skips +# - reducing brittleness of frameworks that straddle multiple packages +# - Qt is a particular example of this. qt5 is deprecated, but we need qtbase +# consistently installed as long as it isn't masked for removal. TODO: drop +# dev-qt/*:5 from DEPEND once they are masked. + +DEPEND=" + test? ( + dev-libs/glib:2 + >=dev-libs/gobject-introspection-1.82.0-r2 + app-alternatives/ninja + dev-vcs/git + virtual/zlib:=[static-libs(+)] + virtual/pkgconfig + dev-build/cmake + ) + test-full? ( + || ( dev-lang/rust dev-lang/rust-bin ) + dev-lang/nasm + >=dev-lang/pypy-3 + $(vala_depend) + dev-python/cython + virtual/fortran + virtual/jdk + + app-text/doxygen + dev-cpp/gtest + dev-libs/protobuf + dev-util/bindgen + dev-util/gtk-doc + dev-util/itstool + llvm-core/llvm + media-libs/libsdl2 + media-libs/libwmf + net-libs/libpcap + sci-libs/hdf5[cxx,fortran] + sci-libs/netcdf + sys-cluster/openmpi[fortran] + sys-devel/bison + sys-devel/flex + + dev-qt/qtbase:6[gui,widgets] + dev-qt/qtdeclarative:6 + dev-qt/qttools:6 + >=dev-util/gdbus-codegen-2.80.5-r1 + x11-libs/gtk+:3 + + dev-libs/wayland + dev-util/wayland-scanner + ) +" +RDEPEND=" + !/dev/null) + + ${EPYTHON} -u run_tests.py + ) || die "Testing failed with ${EPYTHON}" +} + +python_install_all() { + distutils-r1_python_install_all + + insinto /usr/share/vim/vimfiles + doins -r data/syntax-highlighting/vim/{ftdetect,indent,syntax} + + dozshcomp data/shell-completions/zsh/_meson + dobashcomp data/shell-completions/bash/meson + + if [[ ${PV} = *9999* ]]; then + DESTDIR="${ED}" eninja -C docs/builddir install + else + newman "${DISTDIR}"/meson-reference-${MY_PV}.3 meson-reference.3 + fi +} diff --git a/sdk_container/src/third_party/portage-stable/dev-build/meson/meson-1.12.0_rc1.ebuild b/sdk_container/src/third_party/portage-stable/dev-build/meson/meson-1.12.0_rc1.ebuild new file mode 100644 index 00000000000..e8ba3870cc3 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-build/meson/meson-1.12.0_rc1.ebuild @@ -0,0 +1,242 @@ +# Copyright 2016-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{12..15} ) +DISTUTILS_USE_PEP517=setuptools + +inherit shell-completion edo distutils-r1 flag-o-matic toolchain-funcs vala + +if [[ ${PV} = *9999* ]]; then + EGIT_REPO_URI="https://github.com/mesonbuild/meson" + inherit ninja-utils git-r3 + + BDEPEND=" + ${NINJA_DEPEND} + $(python_gen_any_dep 'dev-python/pyyaml[${PYTHON_USEDEP}]') + " + +else + inherit verify-sig + + MY_PV=${PV/_/} + MY_P=${P/_/} + S=${WORKDIR}/${MY_P} + + SRC_URI=" + https://github.com/mesonbuild/meson/releases/download/${MY_PV}/${MY_P}.tar.gz + verify-sig? ( https://github.com/mesonbuild/meson/releases/download/${MY_PV}/${MY_P}.tar.gz.asc ) + https://github.com/mesonbuild/meson/releases/download/${MY_PV}/meson-reference.3 -> meson-reference-${MY_PV}.3 + " + # Releases may be signed by those listed in Releasing.md. Jussi + # remains the default release manager. + # https://github.com/mesonbuild/meson/commit/c2d795735fa1c46c54d6aed4d4a30f36a1f853cb + BDEPEND="verify-sig? ( >=sec-keys/openpgp-keys-eschwartz-20250723-r1 sec-keys/openpgp-keys-jpakkane )" + #VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/eschwartz.asc + VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/jpakkane.gpg + + if [[ ${PV} != *_rc* ]] ; then + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris" + fi +fi + +DESCRIPTION="Open source build system" +HOMEPAGE="https://mesonbuild.com/" + +LICENSE="Apache-2.0" +SLOT="0" +IUSE="test test-full" +RESTRICT="!test? ( test )" +REQUIRED_USE="test-full? ( test )" + +# test-full contains various test dependencies, for optional test cases of +# frameworks Meson has support for. These will *usually* get skipped +# automatically if uninstalled. The dep allows: +# - guaranteeing the whole test suite runs transparently without skips +# - reducing brittleness of frameworks that straddle multiple packages +# - Qt is a particular example of this. qt5 is deprecated, but we need qtbase +# consistently installed as long as it isn't masked for removal. TODO: drop +# dev-qt/*:5 from DEPEND once they are masked. + +DEPEND=" + test? ( + dev-libs/glib:2 + >=dev-libs/gobject-introspection-1.82.0-r2 + app-alternatives/ninja + dev-vcs/git + virtual/zlib:=[static-libs(+)] + virtual/pkgconfig + dev-build/cmake + ) + test-full? ( + || ( dev-lang/rust dev-lang/rust-bin ) + dev-lang/nasm + >=dev-lang/pypy-3 + $(vala_depend) + dev-python/cython + virtual/fortran + virtual/jdk + + app-text/doxygen + dev-cpp/gtest + dev-libs/protobuf + dev-util/bindgen + dev-util/gtk-doc + dev-util/itstool + llvm-core/llvm + media-libs/libsdl2 + media-libs/libwmf + net-libs/libpcap + sci-libs/hdf5[cxx,fortran] + sci-libs/netcdf + sys-cluster/openmpi[fortran] + sys-devel/bison + sys-devel/flex + + dev-qt/qtbase:6[gui,widgets] + dev-qt/qtdeclarative:6 + dev-qt/qttools:6 + >=dev-util/gdbus-codegen-2.80.5-r1 + x11-libs/gtk+:3 + + dev-libs/wayland + dev-util/wayland-scanner + ) +" +RDEPEND=" + !/dev/null) + + ${EPYTHON} -u run_tests.py + ) || die "Testing failed with ${EPYTHON}" +} + +python_install_all() { + distutils-r1_python_install_all + + insinto /usr/share/vim/vimfiles + doins -r data/syntax-highlighting/vim/{ftdetect,indent,syntax} + + dozshcomp data/shell-completions/zsh/_meson + dobashcomp data/shell-completions/bash/meson + + if [[ ${PV} = *9999* ]]; then + DESTDIR="${ED}" eninja -C docs/builddir install + else + newman "${DISTDIR}"/meson-reference-${MY_PV}.3 meson-reference.3 + fi +} diff --git a/sdk_container/src/third_party/portage-stable/dev-build/meson/meson-1.12.0_rc2.ebuild b/sdk_container/src/third_party/portage-stable/dev-build/meson/meson-1.12.0_rc2.ebuild new file mode 100644 index 00000000000..e8ba3870cc3 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-build/meson/meson-1.12.0_rc2.ebuild @@ -0,0 +1,242 @@ +# Copyright 2016-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{12..15} ) +DISTUTILS_USE_PEP517=setuptools + +inherit shell-completion edo distutils-r1 flag-o-matic toolchain-funcs vala + +if [[ ${PV} = *9999* ]]; then + EGIT_REPO_URI="https://github.com/mesonbuild/meson" + inherit ninja-utils git-r3 + + BDEPEND=" + ${NINJA_DEPEND} + $(python_gen_any_dep 'dev-python/pyyaml[${PYTHON_USEDEP}]') + " + +else + inherit verify-sig + + MY_PV=${PV/_/} + MY_P=${P/_/} + S=${WORKDIR}/${MY_P} + + SRC_URI=" + https://github.com/mesonbuild/meson/releases/download/${MY_PV}/${MY_P}.tar.gz + verify-sig? ( https://github.com/mesonbuild/meson/releases/download/${MY_PV}/${MY_P}.tar.gz.asc ) + https://github.com/mesonbuild/meson/releases/download/${MY_PV}/meson-reference.3 -> meson-reference-${MY_PV}.3 + " + # Releases may be signed by those listed in Releasing.md. Jussi + # remains the default release manager. + # https://github.com/mesonbuild/meson/commit/c2d795735fa1c46c54d6aed4d4a30f36a1f853cb + BDEPEND="verify-sig? ( >=sec-keys/openpgp-keys-eschwartz-20250723-r1 sec-keys/openpgp-keys-jpakkane )" + #VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/eschwartz.asc + VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/jpakkane.gpg + + if [[ ${PV} != *_rc* ]] ; then + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris" + fi +fi + +DESCRIPTION="Open source build system" +HOMEPAGE="https://mesonbuild.com/" + +LICENSE="Apache-2.0" +SLOT="0" +IUSE="test test-full" +RESTRICT="!test? ( test )" +REQUIRED_USE="test-full? ( test )" + +# test-full contains various test dependencies, for optional test cases of +# frameworks Meson has support for. These will *usually* get skipped +# automatically if uninstalled. The dep allows: +# - guaranteeing the whole test suite runs transparently without skips +# - reducing brittleness of frameworks that straddle multiple packages +# - Qt is a particular example of this. qt5 is deprecated, but we need qtbase +# consistently installed as long as it isn't masked for removal. TODO: drop +# dev-qt/*:5 from DEPEND once they are masked. + +DEPEND=" + test? ( + dev-libs/glib:2 + >=dev-libs/gobject-introspection-1.82.0-r2 + app-alternatives/ninja + dev-vcs/git + virtual/zlib:=[static-libs(+)] + virtual/pkgconfig + dev-build/cmake + ) + test-full? ( + || ( dev-lang/rust dev-lang/rust-bin ) + dev-lang/nasm + >=dev-lang/pypy-3 + $(vala_depend) + dev-python/cython + virtual/fortran + virtual/jdk + + app-text/doxygen + dev-cpp/gtest + dev-libs/protobuf + dev-util/bindgen + dev-util/gtk-doc + dev-util/itstool + llvm-core/llvm + media-libs/libsdl2 + media-libs/libwmf + net-libs/libpcap + sci-libs/hdf5[cxx,fortran] + sci-libs/netcdf + sys-cluster/openmpi[fortran] + sys-devel/bison + sys-devel/flex + + dev-qt/qtbase:6[gui,widgets] + dev-qt/qtdeclarative:6 + dev-qt/qttools:6 + >=dev-util/gdbus-codegen-2.80.5-r1 + x11-libs/gtk+:3 + + dev-libs/wayland + dev-util/wayland-scanner + ) +" +RDEPEND=" + !/dev/null) + + ${EPYTHON} -u run_tests.py + ) || die "Testing failed with ${EPYTHON}" +} + +python_install_all() { + distutils-r1_python_install_all + + insinto /usr/share/vim/vimfiles + doins -r data/syntax-highlighting/vim/{ftdetect,indent,syntax} + + dozshcomp data/shell-completions/zsh/_meson + dobashcomp data/shell-completions/bash/meson + + if [[ ${PV} = *9999* ]]; then + DESTDIR="${ED}" eninja -C docs/builddir install + else + newman "${DISTDIR}"/meson-reference-${MY_PV}.3 meson-reference.3 + fi +} diff --git a/sdk_container/src/third_party/portage-stable/dev-build/meson/meson-9999.ebuild b/sdk_container/src/third_party/portage-stable/dev-build/meson/meson-9999.ebuild index 17a5b79633c..e8ba3870cc3 100644 --- a/sdk_container/src/third_party/portage-stable/dev-build/meson/meson-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-build/meson/meson-9999.ebuild @@ -3,7 +3,7 @@ EAPI=8 -PYTHON_COMPAT=( python3_{11..14} pypy3_11 ) +PYTHON_COMPAT=( python3_{12..15} ) DISTUTILS_USE_PEP517=setuptools inherit shell-completion edo distutils-r1 flag-o-matic toolchain-funcs vala From 2d27a01a3ea37dd57c586e039f272a02833c0c8c Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 3 Aug 2026 08:13:26 +0000 Subject: [PATCH 032/195] dev-debug/strace: Sync with Gentoo It's from Gentoo commit 557cc8ed7d390151e8302e314fc2da4d67042f4f. Signed-off-by: Flatcar Buildbot --- .../portage-stable/dev-debug/strace/strace-7.1.ebuild | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sdk_container/src/third_party/portage-stable/dev-debug/strace/strace-7.1.ebuild b/sdk_container/src/third_party/portage-stable/dev-debug/strace/strace-7.1.ebuild index 81359e48de5..34bfff1ba52 100644 --- a/sdk_container/src/third_party/portage-stable/dev-debug/strace/strace-7.1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-debug/strace/strace-7.1.ebuild @@ -16,7 +16,7 @@ else https://github.com/${PN}/${PN}/releases/download/v${PV}/${P}.tar.xz verify-sig? ( https://github.com/${PN}/${PN}/releases/download/v${PV}/${P}.tar.xz.asc ) " - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" fi VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/strace.asc From 6652b50cbaa5eeac7c06520e04a1e39c82679339 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 3 Aug 2026 08:13:29 +0000 Subject: [PATCH 033/195] dev-lang/go: Sync with Gentoo It's from Gentoo commit 24dac47784949a95b4ad43c5c28b7dd0616fc36e. Signed-off-by: Flatcar Buildbot --- .../portage-stable/dev-lang/go/Manifest | 2 + .../dev-lang/go/go-1.25.12.ebuild | 152 ++++++++++++++++++ .../dev-lang/go/go-1.26.3.ebuild | 2 +- .../dev-lang/go/go-1.26.4.ebuild | 2 +- .../dev-lang/go/go-1.26.5.ebuild | 151 +++++++++++++++++ 5 files changed, 307 insertions(+), 2 deletions(-) create mode 100644 sdk_container/src/third_party/portage-stable/dev-lang/go/go-1.25.12.ebuild create mode 100644 sdk_container/src/third_party/portage-stable/dev-lang/go/go-1.26.5.ebuild diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/go/Manifest b/sdk_container/src/third_party/portage-stable/dev-lang/go/Manifest index 5b278aa2f44..161470217fb 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/go/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-lang/go/Manifest @@ -2,6 +2,7 @@ DIST go1.24.11.src.tar.gz 30801851 BLAKE2B 04463c4a238b0303df88ad2d7670bdb208dec DIST go1.24.12.src.tar.gz 30803950 BLAKE2B b3f7d2f1392d3337e6645c4fa53e2e53c4258aa9ecf12b38a10305d172f0c2172d98d273dd030c17f82df17fa3cd5ec464986836261ffdb3324e8f97b2f2b437 SHA512 2de51c56f7ca04003b16d0fecc4cb35a3c5a42bd54f4da1f1e49d45b702d7a872057756d389f2283b4f7283fb33f0618465e231a6333b7cb6cfff98f67b2454e DIST go1.25.10.src.tar.gz 32000721 BLAKE2B 020336996667a6bb5fd9f3b4af8a8a2012d4c1f162301b83db65f62820945a4f927c76cfc8b5ec183b7ddb12587d74aecbdf17a0c4dd3e66ddc461e7af716919 SHA512 4a938b18d00af583d1ab8592386b8c71385997b1c8fab661549232ee84ac2f42716dc8304c38f1f462335a12048da19611bb614a7007d8201e6818a11f187487 DIST go1.25.11.src.tar.gz 31999704 BLAKE2B 44149e7a24ebfd1941f774014f50b841ba568fababea031b7039fa23480572ddceaf56b9316e6afcac85ebe2b8dd6f47c62484378b54243a53423bd9d96316f7 SHA512 d1fa0d267ee8ba55aacbe47562c128cccabb757dc1f5c553ac0fe70eec9edc49cf66133df6f88997c752e89f9d24b77bf4b6448f73fdd7d05f8bca88951eea26 +DIST go1.25.12.src.tar.gz 32013699 BLAKE2B 772ef11f0f0d828980e47fb109bafe2098eb05bfa95bdac9d5c9fcb5f17d114e2f58f824bacf99336cb5316e095e81df2253897f774112cfac2159b2c391c70d SHA512 748341d737c3ce9eb64a0f072c70be7cf3ceab7d1033da2d88b3aea4cf0de96745cded982b6db4a47de505c14e49babf59926fa61e6a86f2e22e61625daf762a DIST go1.25.5.src.tar.gz 31983405 BLAKE2B b6349931e6174b1b11c00360fb7a3040a80f3d3d463894b29393a464548398bad37be685923c725eb8a3fb71d42849254319102c833418f81eca477f52579222 SHA512 97ec368521253bce610e1e3a6f10460f4a38eba440289553a40ab27afcdf2bb9b426d150ffaa3be8db50e84a00a4eb723a631ebc4f39168bc133bf7b2f1ccf66 DIST go1.25.6.src.tar.gz 31987986 BLAKE2B f9937808018f058d0f50fd0c0c1fa8f5a0f25d983a477e158e310d46dea30e33f3e0ea3d97ab550b6e5ed8d9f3b5354e76923b539ddb16a081f42e24fd3e4cfc SHA512 214b2d82b5322d544e80d7202db9169c24e5f097338f2d0e6d34189bd5bde9e7c1656f06611062c78a156181f03956181971b346172fc14617726bfece5e61e9 DIST go1.25.8.src.tar.gz 31991986 BLAKE2B c8a18a74a8903e53954bcc39ce804518e94bd6b2ee0b8a0cc4b5cd87f5d1760d6b1235233d2bf2804e3ec55a42cf6f5345a6fe4382e7406483915101ca107c97 SHA512 2f5c9f314d18169985a9a4b19346e00dd5d4b396c8c17bfffe5719e51f27d834cc9649d0165f7eeb7367d3b6d384f49917325a40b49ba4da65e22f2c5362c739 @@ -10,3 +11,4 @@ DIST go1.26.1.src.tar.gz 34108253 BLAKE2B 3128218a9c24dfacfbe2f0f5fa7fc3feb86a19 DIST go1.26.2.src.tar.gz 34120738 BLAKE2B 86586f1d5e9d27e235219110023f8005388c5002784eb8f5c23c78e2594f21e495fbf2697d5945c61577896f00a2ca29cbbc51017053d65670c3fd730b165251 SHA512 370773727c0e6fbf0acd534726938aaaa03ff785f0634c258c94a7a896e9a27acc0ba57120967f711a942e9e275cec46251a194d6f84ba15f28b5dcf0efed673 DIST go1.26.3.src.tar.gz 34119059 BLAKE2B 985d0739d18c5dac0fc9f661006449dc20e76a157a9974a7dcfba2c43ec3c92c5ca3b785795af101e1b2df2b4d57349ea9ee2ca3b0c56d9df400686b0118329b SHA512 9c673a9ec7783a345b6294984486a5c76ba52de3eb72c95cbd68626312d100c50adb7a3ed15c93d1dc9ce9969b0f6fb4b86c87771118091cc7b0297afaf74fec DIST go1.26.4.src.tar.gz 34118246 BLAKE2B 6a9da2e9b876f52f8f35754ff6640eb5b26c17478a4aad52f8ad4f2b28d12dc74ec8665d0b8c4f77aca3e6332c86c05a5159a9e89684e3c3dc25c16da251bd1f SHA512 adacc6a34ad239d98277acd2ac8da867110da0b184dbbafb82e8a06d2b7fd23434f878a8a8cd550172c21bd31ac6391d01a0bd095c9f5c1250be66b459c8de88 +DIST go1.26.5.src.tar.gz 34140216 BLAKE2B 0903273e37d73ef81e5c88f108f345d21f829aef6cfc5af0c63cc41584ce822912b8e90a989b37dad74debc90d70a9eea99621a043af56003fa9622e96bcb49d SHA512 1c1ff7bc002438e77c968155b077c51df87935d1a1a214c8750e748abe3af5cf83769eae5cfe85ca1b12a0e6fa4a0dfe4344b1023f037f206dad328607bba9f7 diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/go/go-1.25.12.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/go/go-1.25.12.ebuild new file mode 100644 index 00000000000..4fae67fcf5a --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-lang/go/go-1.25.12.ebuild @@ -0,0 +1,152 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +export CBUILD=${CBUILD:-${CHOST}} +export CTARGET=${CTARGET:-${CHOST}} + +# See "Bootstrap" in release notes +GO_BOOTSTRAP_MIN=1.22.12 +MY_PV=${PV/_/} + +inherit flag-o-matic go-env toolchain-funcs + +case ${PV} in +*9999*) + EGIT_REPO_URI="https://github.com/golang/go.git" + inherit git-r3 + ;; +*) + SRC_URI="https://go.dev/dl/go${MY_PV}.src.tar.gz " + S="${WORKDIR}"/go + KEYWORDS="-* ~amd64 ~arm ~arm64 ~loong ~mips ~ppc64 ~riscv ~s390 ~x86 ~x64-macos ~x64-solaris" + ;; +esac + +DESCRIPTION="A concurrent garbage collected and typesafe programming language" +HOMEPAGE="https://go.dev" + +LICENSE="BSD" +SLOT="0/${PV}" +IUSE="cpu_flags_x86_sse2" + +BDEPEND="|| ( + >=dev-lang/go-${GO_BOOTSTRAP_MIN} + >=dev-lang/go-bootstrap-${GO_BOOTSTRAP_MIN} )" + +# the *.syso files have writable/executable stacks +QA_EXECSTACK='*.syso' + +# Do not complain about CFLAGS, etc, since Go doesn't use them. +QA_FLAGS_IGNORED='.*' + +# The tools in /usr/lib/go should not cause the multilib-strict check to fail. +QA_MULTILIB_PATHS="usr/lib/go/pkg/tool/.*/.*" + +# This package triggers "unrecognized elf file(s)" notices on riscv. +# https://bugs.gentoo.org/794046 +QA_PREBUILT="*" +QA_PRESTRIPPED="*.syso" + +# The Go data race detector (go test -race) requires an unstripped Go toolchain. +# https://bugs.gentoo.org/961618 +RESTRICT="strip" + +DOCS=( + CONTRIBUTING.md + PATENTS + README.md + SECURITY.md +) + +go_tuple() { + echo "$(go-env_goos $@)_$(go-env_goarch $@)" +} + +go_cross_compile() { + [[ $(go_tuple ${CBUILD}) != $(go_tuple) ]] +} + +PATCHES=( + "${FILESDIR}"/go-1.24-skip-gdb-tests.patch + "${FILESDIR}"/go-1.25-no-dwarf5.patch + "${FILESDIR}"/go-1.25-strip-top-level-const.patch + "${FILESDIR}"/go-never-download-newer-toolchains.patch +) + +src_compile() { + if has_version -b ">=dev-lang/go-${GO_BOOTSTRAP_MIN}"; then + export GOROOT_BOOTSTRAP="${BROOT}/usr/lib/go" + elif has_version -b ">=dev-lang/go-bootstrap-${GO_BOOTSTRAP_MIN}"; then + export GOROOT_BOOTSTRAP="${BROOT}/usr/lib/go-bootstrap" + else + eerror "Go cannot be built without go or go-bootstrap installed" + die "Should not be here, please report a bug" + fi + + if tc-is-gcc ; then + # XXX: Hack for checking ICE (bug #912152, gcc PR113204) + # + # For either USE=debug or an unreleased compiler, non-default + # checking will trigger. + if has_version -b "sys-devel/gcc[debug]" || [[ $(gcc-minor-version) -eq 0 ]] ; then + rm src/cmd/link/cgo_test.go || die + fi + + # bug #929219 + replace-flags -g3 -g + replace-flags -ggdb3 -ggdb + fi + + # Go's build script does not use BUILD/HOST/TARGET consistently. :( + export GOHOSTARCH=$(go-env_goarch ${CBUILD}) + export GOHOSTOS=$(go-env_goos ${CBUILD}) + export CC=$(tc-getBUILD_CC) + + export GOARCH=$(go-env_goarch) + export GOOS=$(go-env_goos) + export CC_FOR_TARGET=$(tc-getCC) + export CXX_FOR_TARGET=$(tc-getCXX) + use arm && export GOARM=$(go-env_goarm) + use x86 && export GO386=$(go-env_go386) + + cd src + bash -x ./make.bash || die "build failed" +} + +src_test() { + go_cross_compile && return 0 + cd src || die + + # remove bad test because of ebuild toolchain environment + rm -v cmd/go/testdata/script/autocgo.txt || die + + PATH="${GOBIN}:${PATH}" \ + ./run.bash -no-rebuild -k || die "tests failed" +} + +src_install() { + dodir /usr/lib/go + # The use of cp is deliberate in order to retain permissions + cp -R . "${ED}"/usr/lib/go + einstalldocs + + # testdata directories are not needed on the installed system + # The other files we remove are installed by einstalldocs + rm -r $(find "${ED}"/usr/lib/go -iname testdata -type d -print) || die + rm "${ED}"/usr/lib/go/{CONTRIBUTING.md,PATENTS,README.md} || die + rm "${ED}"/usr/lib/go/{SECURITY.md,codereview.cfg,LICENSE} || die + + local bin_path + if go_cross_compile; then + bin_path="bin/$(go_tuple)" + else + bin_path=bin + fi + local f x + for x in ${bin_path}/*; do + f=${x##*/} + dosym ../lib/go/${bin_path}/${f} /usr/bin/${f} + done +} diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/go/go-1.26.3.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/go/go-1.26.3.ebuild index d9aeb13211b..46284fe0ab2 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/go/go-1.26.3.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/go/go-1.26.3.ebuild @@ -20,7 +20,7 @@ case ${PV} in *) SRC_URI="https://go.dev/dl/go${MY_PV}.src.tar.gz " S="${WORKDIR}"/go - KEYWORDS="-* amd64 arm arm64 ~loong ~mips ~ppc64 ~riscv ~s390 x86 ~x64-macos ~x64-solaris" + KEYWORDS="-* amd64 arm arm64 ~loong ~mips ppc64 ~riscv ~s390 x86 ~x64-macos ~x64-solaris" ;; esac diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/go/go-1.26.4.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/go/go-1.26.4.ebuild index 452231977fd..bde6f7b0403 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/go/go-1.26.4.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/go/go-1.26.4.ebuild @@ -20,7 +20,7 @@ case ${PV} in *) SRC_URI="https://go.dev/dl/go${MY_PV}.src.tar.gz " S="${WORKDIR}"/go - KEYWORDS="-* ~amd64 ~arm ~arm64 ~loong ~mips ~ppc64 ~riscv ~s390 ~x86 ~x64-macos ~x64-solaris" + KEYWORDS="-* amd64 arm arm64 ~loong ~mips ppc64 ~riscv ~s390 x86 ~x64-macos ~x64-solaris" ;; esac diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/go/go-1.26.5.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/go/go-1.26.5.ebuild new file mode 100644 index 00000000000..452231977fd --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-lang/go/go-1.26.5.ebuild @@ -0,0 +1,151 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=9 + +export CBUILD=${CBUILD:-${CHOST}} +export CTARGET=${CTARGET:-${CHOST}} + +# See "Bootstrap" in release notes +GO_BOOTSTRAP_MIN=1.24.6 +MY_PV=${PV/_/} + +inherit flag-o-matic go-env toolchain-funcs + +case ${PV} in +*9999*) + EGIT_REPO_URI="https://github.com/golang/go.git" + inherit git-r3 + ;; +*) + SRC_URI="https://go.dev/dl/go${MY_PV}.src.tar.gz " + S="${WORKDIR}"/go + KEYWORDS="-* ~amd64 ~arm ~arm64 ~loong ~mips ~ppc64 ~riscv ~s390 ~x86 ~x64-macos ~x64-solaris" + ;; +esac + +DESCRIPTION="A concurrent garbage collected and typesafe programming language" +HOMEPAGE="https://go.dev" + +LICENSE="BSD" +SLOT="0/${PV}" +IUSE="cpu_flags_x86_sse2" + +BDEPEND="|| ( + >=dev-lang/go-${GO_BOOTSTRAP_MIN} + >=dev-lang/go-bootstrap-${GO_BOOTSTRAP_MIN} )" + +# the *.syso files have writable/executable stacks +QA_EXECSTACK='*.syso' + +# Do not complain about CFLAGS, etc, since Go doesn't use them. +QA_FLAGS_IGNORED='.*' + +# The tools in /usr/lib/go should not cause the multilib-strict check to fail. +QA_MULTILIB_PATHS="usr/lib/go/pkg/tool/.*/.*" + +# This package triggers "unrecognized elf file(s)" notices on riscv. +# https://bugs.gentoo.org/794046 +QA_PREBUILT="*" +QA_PRESTRIPPED="*.syso" + +# The Go data race detector (go test -race) requires an unstripped Go toolchain. +# https://bugs.gentoo.org/961618 +RESTRICT="strip" + +DOCS=( + CONTRIBUTING.md + PATENTS + README.md + SECURITY.md +) + +go_tuple() { + echo "$(go-env_goos $@)_$(go-env_goarch $@)" +} + +go_cross_compile() { + [[ $(go_tuple ${CBUILD}) != $(go_tuple) ]] +} + +PATCHES=( + "${FILESDIR}"/go-1.24-skip-gdb-tests.patch + "${FILESDIR}"/go-1.25-no-dwarf5.patch + "${FILESDIR}"/go-never-download-newer-toolchains.patch +) + +src_compile() { + if has_version -b ">=dev-lang/go-${GO_BOOTSTRAP_MIN}"; then + export GOROOT_BOOTSTRAP="${BROOT}/usr/lib/go" + elif has_version -b ">=dev-lang/go-bootstrap-${GO_BOOTSTRAP_MIN}"; then + export GOROOT_BOOTSTRAP="${BROOT}/usr/lib/go-bootstrap" + else + eerror "Go cannot be built without go or go-bootstrap installed" + die "Should not be here, please report a bug" + fi + + if tc-is-gcc ; then + # XXX: Hack for checking ICE (bug #912152, gcc PR113204) + # + # For either USE=debug or an unreleased compiler, non-default + # checking will trigger. + if has_version -b "sys-devel/gcc[debug]" || [[ $(gcc-minor-version) -eq 0 ]] ; then + rm src/cmd/link/cgo_test.go || die + fi + + # bug #929219 + replace-flags -g3 -g + replace-flags -ggdb3 -ggdb + fi + + # Go's build script does not use BUILD/HOST/TARGET consistently. :( + export GOHOSTARCH=$(go-env_goarch ${CBUILD}) + export GOHOSTOS=$(go-env_goos ${CBUILD}) + export CC=$(tc-getBUILD_CC) + + export GOARCH=$(go-env_goarch) + export GOOS=$(go-env_goos) + export CC_FOR_TARGET=$(tc-getCC) + export CXX_FOR_TARGET=$(tc-getCXX) + use arm && export GOARM=$(go-env_goarm) + use x86 && export GO386=$(go-env_go386) + + cd src + bash -x ./make.bash || die "build failed" +} + +src_test() { + go_cross_compile && return 0 + cd src || die + + # remove bad test because of ebuild toolchain environment + rm -v cmd/go/testdata/script/autocgo.txt || die + + PATH="${GOBIN}:${PATH}" \ + ./run.bash -no-rebuild -k || die "tests failed" +} + +src_install() { + dodir /usr/lib/go + # The use of cp is deliberate in order to retain permissions + cp -R . "${ED}"/usr/lib/go + einstalldocs + + # testdata directories are not needed on the installed system + # The other files we remove are installed by einstalldocs + rm -r $(find "${ED}"/usr/lib/go -iname testdata -type d -print) || die + rm "${ED}"/usr/lib/go/{CONTRIBUTING.md,PATENTS,README.md} || die + rm "${ED}"/usr/lib/go/{SECURITY.md,codereview.cfg,LICENSE} || die + + local bin_path + if go_cross_compile; then + bin_path="bin/$(go_tuple)" + else + bin_path=bin + fi + local f x + for x in ${bin_path}/*; do + f=${x##*/} + dosym ../lib/go/${bin_path}/${f} /usr/bin/${f} + done +} From c79bb2a7794c9b8e13d582f0771253f173164c3d Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 3 Aug 2026 08:13:29 +0000 Subject: [PATCH 034/195] dev-lang/nasm: Sync with Gentoo It's from Gentoo commit cc654b96f84ad4bbe1c47ecee43cb2ba8f9e7531. Signed-off-by: Flatcar Buildbot --- .../third_party/portage-stable/dev-lang/nasm/nasm-3.02.ebuild | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/nasm/nasm-3.02.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/nasm/nasm-3.02.ebuild index 10fe527cc0b..8129692bf16 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/nasm/nasm-3.02.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/nasm/nasm-3.02.ebuild @@ -12,7 +12,7 @@ S=${WORKDIR}/${P/_} LICENSE="BSD-2" SLOT="0" -KEYWORDS="~amd64 ~arm64 ~loong ~ppc64 ~riscv ~x86" +KEYWORDS="amd64 arm64 ~loong ppc64 ~riscv x86" IUSE="doc" QA_CONFIG_IMPL_DECL_SKIP=( From faea26bdecf39a4ae14d22c1c7bf44fe5158600f Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 3 Aug 2026 08:13:29 +0000 Subject: [PATCH 035/195] dev-lang/perl: Sync with Gentoo It's from Gentoo commit eb58ca94be762de844bf26cf104b457a969e0963. Signed-off-by: Flatcar Buildbot --- .../portage-stable/dev-lang/perl/Manifest | 2 +- .../perl/files/perl-5.44.0-cross.patch | 196 ++++++++++++++++++ .../perl-5.44.0-darwin-install_name.patch | 19 ++ .../files/perl-5.44.0-solaris-soname.patch | 18 ++ ...l-5.44.0_rc1.ebuild => perl-5.44.0.ebuild} | 33 +-- 5 files changed, 242 insertions(+), 26 deletions(-) create mode 100644 sdk_container/src/third_party/portage-stable/dev-lang/perl/files/perl-5.44.0-cross.patch create mode 100644 sdk_container/src/third_party/portage-stable/dev-lang/perl/files/perl-5.44.0-darwin-install_name.patch create mode 100644 sdk_container/src/third_party/portage-stable/dev-lang/perl/files/perl-5.44.0-solaris-soname.patch rename sdk_container/src/third_party/portage-stable/dev-lang/perl/{perl-5.44.0_rc1.ebuild => perl-5.44.0.ebuild} (95%) diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/perl/Manifest b/sdk_container/src/third_party/portage-stable/dev-lang/perl/Manifest index 1380e1b99e1..c5630ae2c57 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/perl/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-lang/perl/Manifest @@ -4,7 +4,7 @@ DIST perl-5.42.0-patches-1.tar.xz 17108 BLAKE2B 0ac95f8c2665a087215dc896c3e00ccf DIST perl-5.42.0.tar.xz 14400988 BLAKE2B 51c31bfd924e6fb4fca5e149986575cb9b455a40ae2a3e03935423612b34491c8382866ca2f3b1ea9cb6ed415f0c570c817612265335bff2603be721c145da61 SHA512 b10f74d1245a879ae51d3ad93ad519a148df126ec865715474c801548ccfc3f542ef3bbb1f59568cea2ec77302d428dc772aba605357d7faf13eb6a351917275 DIST perl-5.42.2.tar.xz 14483976 BLAKE2B 459a623377ff9a824b948fd53708594ea77b19577da8f2ffd8fe7c6034467353f1e45269171c3fc7153a2b02a9b14d8a33e7a1535bfee0ec7c3f84b123315dcf SHA512 3c77dbede22df1a7ab3714c7dc6d675f14cb99b084fcc4e4d9b65aed1a080ac4d5ecf2cbf4759b2565f6452e52b337633f870dbcbf152dc66833cfe71f04fffc DIST perl-5.44.0-RC1-patches-2.tar.xz 17156 BLAKE2B 52fd270e5416eda628fc586484fbba6a1be8b413cd4b42a470e2cfb2c043539dc9b96924cdf9b48003e5131577909ac9155009d8ea6d97e2c90a5a1bb7ae20d4 SHA512 b811e583f4af9645b132ef00bf7daab8e565aa07988f63f62b43f951a540647fc2a6289f1beb4eee5cd444d37db126b71e402b4c95241d8e831fada42ed6ea33 -DIST perl-5.44.0-RC1.tar.xz 14922504 BLAKE2B c9acffd699f0db707a1fee13c69d24f9d279da4d6bc498da39791be634dbc87099ad11e7c7b6c6da3c247885cea4bc57c50cff4765e871e6d036d707701b2d5c SHA512 f8eaa83047c5818457bdf1d641dfc6e29eac308682d8e36d8a80a46a57ce33918f840d18b7e3e31e0e98bda5bf6d900abdc969b1c98be88dcc2347597a969a40 +DIST perl-5.44.0.tar.xz 14919940 BLAKE2B 28531a5d6312d9afc2706540da3a818ff8d9976077fe49862245dc6ea3af123eb5a8edf6055a2f49c5abb9b068dd97cd2676cdaabde1e1ba2c52a2da498d894f SHA512 734d00d00678add11544e8f483bf953e61ae391aa6a2bba61ec4e7727275e243cc411525d30e6a73f70ccc0603ebe85bc0c6dd69b0106a6162e21a4595d11075 DIST perl-cross-1.6.2.tar.gz 123761 BLAKE2B c3c51d5a86940914c3a037d1cace49c6def531cdc380771f968461a3552c0200c8a802f4ff74ddb5fcd494ab1e1b582a4c1c5214be4faae8712fc506b19ca04f SHA512 51b45bf972304634d706d09e27d457636e43f9f27f739004eca529b21245ba78612dcb08b54225fc7ca19511983642c37915939ea8aa1c1a4560093474d9e76b DIST perl-cross-1.6.3.tar.gz 121133 BLAKE2B 2362a53928230e13c607dd481e5614f80b210f7a5127cac05baa3daf69a263410d05eb50855f063b1bd7d4e3693d01369fdb512fb713c854beda2eece71844d1 SHA512 eb8aa2d57121ef288e253f9443bd4f53ad8b23152096265a0f8211ca4f2a61fdf3fdd03ca1e7d1e1c4a8a408421c7254cfaf12d1f81333aa4a0bf53d74cfa223 DIST perl-cross-1.6.4.tar.gz 119502 BLAKE2B 4a087fc2e4d4488a77b4d889b4d60f7aeb9f00a10ed0161207c86037f62206b908e6448f31f6d24d250c5b2e9344d6c7d9effd9f8cc9b8ae449dd352118744ed SHA512 0a6152cfaef1da7611554fa8fc93ff1edb3ece83f0c8a746cf2e0006624f2dd0908cf84a53bb06b048995d14923aa0b4783ad3696f8a2e3d4f742107966e9923 diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/perl/files/perl-5.44.0-cross.patch b/sdk_container/src/third_party/portage-stable/dev-lang/perl/files/perl-5.44.0-cross.patch new file mode 100644 index 00000000000..476cd8dbe63 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-lang/perl/files/perl-5.44.0-cross.patch @@ -0,0 +1,196 @@ +https://bugs.gentoo.org/979729 + +From 27e177baae285c52a94ed75d508736e3e9426d0a Mon Sep 17 00:00:00 2001 +From: Jaipaul Cheernam +Date: Tue, 21 Jul 2026 13:22:48 +0000 +Subject: [PATCH 1/3] patches for perl-5.44.0 + +Add patchset symlinks directory for perl5-5.44.0, reusing existing +patches from perl5-5.22.3 and perl5-5.38.0 where applicable. + +Signed-off-by: Jaipaul Cheernam +--- + cnf/diffs/perl5-5.44.0/constant.patch | 1 + + cnf/diffs/perl5-5.44.0/dynaloader.patch | 1 + + cnf/diffs/perl5-5.44.0/findext.patch | 1 + + cnf/diffs/perl5-5.44.0/installscripts.patch | 1 + + cnf/diffs/perl5-5.44.0/liblist.patch | 1 + + cnf/diffs/perl5-5.44.0/makemaker.patch | 1 + + cnf/diffs/perl5-5.44.0/posix-makefile.patch | 1 + + cnf/diffs/perl5-5.44.0/test-checkcase.patch | 1 + + cnf/diffs/perl5-5.44.0/test-makemaker.patch | 1 + + cnf/diffs/perl5-5.44.0/xconfig.patch | 1 + + 10 files changed, 10 insertions(+) + create mode 120000 cnf/diffs/perl5-5.44.0/constant.patch + create mode 120000 cnf/diffs/perl5-5.44.0/dynaloader.patch + create mode 120000 cnf/diffs/perl5-5.44.0/findext.patch + create mode 120000 cnf/diffs/perl5-5.44.0/installscripts.patch + create mode 120000 cnf/diffs/perl5-5.44.0/liblist.patch + create mode 120000 cnf/diffs/perl5-5.44.0/makemaker.patch + create mode 120000 cnf/diffs/perl5-5.44.0/posix-makefile.patch + create mode 120000 cnf/diffs/perl5-5.44.0/test-checkcase.patch + create mode 120000 cnf/diffs/perl5-5.44.0/test-makemaker.patch + create mode 120000 cnf/diffs/perl5-5.44.0/xconfig.patch + +diff --git a/cnf/diffs/perl5-5.44.0/constant.patch b/cnf/diffs/perl5-5.44.0/constant.patch +new file mode 120000 +index 0000000..065e198 +--- /dev/null ++++ b/cnf/diffs/perl5-5.44.0/constant.patch +@@ -0,0 +1 @@ ++../perl5-5.22.3/constant.patch +\ No newline at end of file +diff --git a/cnf/diffs/perl5-5.44.0/dynaloader.patch b/cnf/diffs/perl5-5.44.0/dynaloader.patch +new file mode 120000 +index 0000000..ffb73eb +--- /dev/null ++++ b/cnf/diffs/perl5-5.44.0/dynaloader.patch +@@ -0,0 +1 @@ ++../perl5-5.22.3/dynaloader.patch +\ No newline at end of file +diff --git a/cnf/diffs/perl5-5.44.0/findext.patch b/cnf/diffs/perl5-5.44.0/findext.patch +new file mode 120000 +index 0000000..9efbe5b +--- /dev/null ++++ b/cnf/diffs/perl5-5.44.0/findext.patch +@@ -0,0 +1 @@ ++../perl5-5.22.3/findext.patch +\ No newline at end of file +diff --git a/cnf/diffs/perl5-5.44.0/installscripts.patch b/cnf/diffs/perl5-5.44.0/installscripts.patch +new file mode 120000 +index 0000000..1c05e0f +--- /dev/null ++++ b/cnf/diffs/perl5-5.44.0/installscripts.patch +@@ -0,0 +1 @@ ++../perl5-5.36.0/installscripts.patch +\ No newline at end of file +diff --git a/cnf/diffs/perl5-5.44.0/liblist.patch b/cnf/diffs/perl5-5.44.0/liblist.patch +new file mode 120000 +index 0000000..5037380 +--- /dev/null ++++ b/cnf/diffs/perl5-5.44.0/liblist.patch +@@ -0,0 +1 @@ ++../perl5-5.42.0/liblist.patch +\ No newline at end of file +diff --git a/cnf/diffs/perl5-5.44.0/makemaker.patch b/cnf/diffs/perl5-5.44.0/makemaker.patch +new file mode 120000 +index 0000000..d7bd609 +--- /dev/null ++++ b/cnf/diffs/perl5-5.44.0/makemaker.patch +@@ -0,0 +1 @@ ++../perl5-5.38.0/makemaker.patch +\ No newline at end of file +diff --git a/cnf/diffs/perl5-5.44.0/posix-makefile.patch b/cnf/diffs/perl5-5.44.0/posix-makefile.patch +new file mode 120000 +index 0000000..29463b7 +--- /dev/null ++++ b/cnf/diffs/perl5-5.44.0/posix-makefile.patch +@@ -0,0 +1 @@ ++../perl5-5.22.3/posix-makefile.patch +\ No newline at end of file +diff --git a/cnf/diffs/perl5-5.44.0/test-checkcase.patch b/cnf/diffs/perl5-5.44.0/test-checkcase.patch +new file mode 120000 +index 0000000..36c5186 +--- /dev/null ++++ b/cnf/diffs/perl5-5.44.0/test-checkcase.patch +@@ -0,0 +1 @@ ++../perl5-5.22.3/test-checkcase.patch +\ No newline at end of file +diff --git a/cnf/diffs/perl5-5.44.0/test-makemaker.patch b/cnf/diffs/perl5-5.44.0/test-makemaker.patch +new file mode 120000 +index 0000000..4e970ff +--- /dev/null ++++ b/cnf/diffs/perl5-5.44.0/test-makemaker.patch +@@ -0,0 +1 @@ ++../perl5-5.34.0/test-makemaker.patch +\ No newline at end of file +diff --git a/cnf/diffs/perl5-5.44.0/xconfig.patch b/cnf/diffs/perl5-5.44.0/xconfig.patch +new file mode 120000 +index 0000000..87ac501 +--- /dev/null ++++ b/cnf/diffs/perl5-5.44.0/xconfig.patch +@@ -0,0 +1 @@ ++../perl5-5.42.0/xconfig.patch +\ No newline at end of file + +From b97cff4cb11201a1baeb1a9a90a3e7355574b887 Mon Sep 17 00:00:00 2001 +From: Jaipaul Cheernam +Date: Tue, 21 Jul 2026 13:22:49 +0000 +Subject: [PATCH 2/3] Add configure checks for perl 5.44.0 new symbols + +Add detection for d_getentropy, i_stdckdint, and i_sysrandom which +are new config symbols required by perl 5.44.0. + +Signed-off-by: Jaipaul Cheernam +--- + cnf/configure_func.sh | 1 + + cnf/configure_hdrs.sh | 2 ++ + 2 files changed, 3 insertions(+) + +diff --git a/cnf/configure_func.sh b/cnf/configure_func.sh +index 20f9cdf..4cbee2f 100644 +--- a/cnf/configure_func.sh ++++ b/cnf/configure_func.sh +@@ -104,6 +104,7 @@ checkfunc d_getaddrinfo 'getaddrinfo' "NULL,NULL,NULL,NULL" 'sys/types.h sys/soc + checkfunc d_get_current_dir_name 'get_current_dir_name' "" 'unistd.h' + checkfunc d_getcwd 'getcwd' 'NULL,0' 'unistd.h' + checkfunc d_getespwnam 'getespwnam' ++checkfunc d_getentropy 'getentropy' 'NULL,0' 'unistd.h' + checkfunc d_getfsstat 'getfsstat' "NULL,0,0" 'sys/types.h sys/mount.h' + checkfunc d_getgrent 'getgrent' "" 'sys/types.h grp.h' + checkfunc d_getgrps 'getgroups' "0,NULL" 'unistd.h' +diff --git a/cnf/configure_hdrs.sh b/cnf/configure_hdrs.sh +index 249f5bc..b2d9d88 100644 +--- a/cnf/configure_hdrs.sh ++++ b/cnf/configure_hdrs.sh +@@ -64,6 +64,7 @@ checkhdr i_socks 'socks.h' + # i_stdarg below + checkhdr i_stdbool 'stdbool.h' + checkhdr i_stddef 'stddef.h' ++checkhdr i_stdckdint 'stdckdint.h' + checkhdr i_stdint 'stdint.h' + checkhdr i_stdlib 'stdlib.h' + checkhdr i_string 'string.h' +@@ -88,6 +89,7 @@ checkhdr i_syssockio 'sys/sockio.h' + checkhdr i_sysstat 'sys/stat.h' + checkhdr i_sysstatfs 'sys/statfs.h' + checkhdr i_sysstatvfs 'sys/statvfs.h' ++checkhdr i_sysrandom 'sys/random.h' + checkhdr i_systime 'sys/time.h' + define i_systimek 'undef' # not a plain header check + checkhdr i_systimes 'sys/times.h' + +From 518c836fc3e90ee44f07b96cc8ab5ea041006427 Mon Sep 17 00:00:00 2001 +From: Jaipaul Cheernam +Date: Wed, 22 Jul 2026 09:21:26 +0000 +Subject: [PATCH 3/3] configure_type_ext: Fix checkfield for C23/GCC 16 + +In C23, 'void foo()' means no parameters, so calling foo(value.field) +fails with GCC 16 when -Werror is used. This breaks detection of +struct fields like tm_gmtoff and tm_zone. + +Use (void)value.field instead, which works for any field type. + +Signed-off-by: Jaipaul Cheernam +--- + cnf/configure_type_ext.sh | 6 ++---- + 1 file changed, 2 insertions(+), 4 deletions(-) + +diff --git a/cnf/configure_type_ext.sh b/cnf/configure_type_ext.sh +index 0136c90..9ecd3fb 100644 +--- a/cnf/configure_type_ext.sh ++++ b/cnf/configure_type_ext.sh +@@ -7,11 +7,9 @@ checkfield() { + + try_start + try_includes $4 +- try_add 'void foo();' +- try_add 'void bar()' +- try_add "{" ++ try_add 'void bar(void) {' + try_add " $2 value;" +- try_add " foo(value.$3);" ++ try_add " (void)value.$3;" + try_add "}" + try_compile + diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/perl/files/perl-5.44.0-darwin-install_name.patch b/sdk_container/src/third_party/portage-stable/dev-lang/perl/files/perl-5.44.0-darwin-install_name.patch new file mode 100644 index 00000000000..a696f26af34 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-lang/perl/files/perl-5.44.0-darwin-install_name.patch @@ -0,0 +1,19 @@ +Makefile.SH: record to be installed location in install_name + +Instead of using $PWD, which is our build directory, use the to be +installed to location for the install_name on Darwin, soas to make it +point to something valid. + +Signed-off-by: Fabian Groffen + +--- a/Makefile.SH ++++ b/Makefile.SH +@@ -64,7 +64,7 @@ + ${revision}.${patchlevel}.${subversion}" + case "$osvers" in + 1[5-9]*|[2-9]*) +- shrpldflags="$shrpldflags -install_name `pwd -P`/libperl.${revision}.${patchlevel}.dylib -Xlinker -headerpad_max_install_names" ++ shrpldflags="$shrpldflags -install_name \$(shrpdir)/libperl.${revision}.${patchlevel}.dylib -Xlinker -headerpad_max_install_names" + exeldflags="-Xlinker -headerpad_max_install_names" + ;; + *) diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/perl/files/perl-5.44.0-solaris-soname.patch b/sdk_container/src/third_party/portage-stable/dev-lang/perl/files/perl-5.44.0-solaris-soname.patch new file mode 100644 index 00000000000..5ab4a7a0500 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-lang/perl/files/perl-5.44.0-solaris-soname.patch @@ -0,0 +1,18 @@ +Makefile.SH: treat Solaris on Gentoo Prefix as having soname versioning + +sunos target exists, but doesn't use -L. in linklibperl which we also +require, so make solaris be treated as *bsd + +Signed-off-by: Fabian Groffen + +--- a/Makefile.SH ++++ b/Makefile.SH +@@ -88,7 +88,7 @@ + linklibperl="-lperl" + shrpldflags="$shrpldflags -Wl,-soname -Wl,libperl.so.${revision}.${patchlevel}" + ;; +- netbsd*|freebsd*|openbsd*|dragonfly*|bitrig*) ++ netbsd*|freebsd*|openbsd*|dragonfly*|bitrig*|solaris*) + linklibperl="-L. -lperl" + shrpldflags="$shrpldflags -Wl,-soname -Wl,libperl.so.${revision}.${patchlevel}" + ;; diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/perl/perl-5.44.0_rc1.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/perl/perl-5.44.0.ebuild similarity index 95% rename from sdk_container/src/third_party/portage-stable/dev-lang/perl/perl-5.44.0_rc1.ebuild rename to sdk_container/src/third_party/portage-stable/dev-lang/perl/perl-5.44.0.ebuild index c7fa5217f17..901307cf237 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/perl/perl-5.44.0_rc1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/perl/perl-5.44.0.ebuild @@ -90,9 +90,9 @@ dual_scripts() { src_remove_dual perl-core/Encode 3.240.0 enc2xs piconv src_remove_dual perl-core/ExtUtils-MakeMaker 7.780.0 instmodsh src_remove_dual perl-core/ExtUtils-ParseXS 3.630.0 xsubpp - src_remove_dual perl-core/IO-Compress 2.220.0 zipdetails + src_remove_dual perl-core/IO-Compress 2.223.0 zipdetails src_remove_dual perl-core/JSON-PP 4.160.0 json_pp - src_remove_dual perl-core/Module-CoreList 5.202.606.10 corelist + src_remove_dual perl-core/Module-CoreList 5.202.607.80 corelist src_remove_dual perl-core/Pod-Checker 1.770.0 podchecker src_remove_dual perl-core/Pod-Perldoc 3.280.100 perldoc src_remove_dual perl-core/Pod-Usage 2.50.0 pod2usage @@ -277,8 +277,8 @@ src_prepare_perlcross() { eapply "${FILESDIR}/perl-5.34.0-crossfit.patch" # fix cross-compilation configure tests w/ lto eapply "${FILESDIR}/perl-5.42.0-cross-no-lto.patch" - # https://github.com/arsv/perl-cross/pull/174 - eapply "${FILESDIR}/perl-5.42.2-cross.patch" + # https://github.com/arsv/perl-cross/pull/178 + eapply "${FILESDIR}/perl-5.44.0-cross.patch" # bug 604072 MAKEOPTS+=" -j1" @@ -454,21 +454,11 @@ src_prepare() { sed -i "/my..sysroot/s:'':'${EPREFIX}':" ext/Errno/Errno_pm.PL || die fi - if [[ ${CHOST} == *-solaris* ]] ; then - # set a soname, fix linking against just built libperl - sed -i -e 's/netbsd\*/netbsd*|solaris*/' Makefile.SH || die - fi - - if [[ ${CHOST} == *-darwin* ]] ; then - # fix install_name (soname) not to reference $D - sed -i -e '/install_name `pwd/s/`pwd`/\\$(shrpdir)/' Makefile.SH || die + # set a soname, fix linking against just built libperl + eapply "${FILESDIR}"/perl-5.44.0-solaris-soname.patch - # fix environ linkage absence (only a real issue on Darwin9) - if [[ ${CHOST##*-darwin} -le 9 ]] ; then - sed -i -e '/^PLDLFLAGS =/s/=/= -include crt_externs.h -Denviron="(*_NSGetEnviron())"/' \ - Makefile.SH || die - fi - fi + # fix install_name (soname) not to reference $D + eapply "${FILESDIR}"/perl-5.44.0-darwin-install_name.patch default } @@ -680,13 +670,6 @@ src_configure() { [[ ${CHOST} == *-darwin* ]] && \ myconf "-Dld=env MACOSX_DEPLOYMENT_TARGET=${MACOSX_DEPLOYMENT_TARGET} $(tc-getCC)" - # Older macOS with non-Apple GCC chokes on inline in system headers - # using c89 mode as injected by cflags.SH, in addition, we override - # cflags, so we loose PERL_DARWIN which enables compat code that - # apparently on more recent macOS releases is no longer necessary - [[ ${CHOST} == *-darwin* && ${CHOST##*darwin} -le 9 ]] && tc-is-gcc && \ - append-cflags -Dinline=__inline__ -DPERL_DARWIN - # Prefix: the host system needs not to follow Gentoo multilib stuff, and in # Prefix itself we don't do multilib either, so make sure perl can find # something compatible. From 60cce7bc7cfe46be5871064a7b3b6240408c78ec Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 3 Aug 2026 08:13:30 +0000 Subject: [PATCH 036/195] dev-lang/python: Sync with Gentoo It's from Gentoo commit 56db712cf1b911ad48c642329d0b60f7c6c658f6. Signed-off-by: Flatcar Buildbot --- .../portage-stable/dev-lang/python/Manifest | 3 + .../dev-lang/python/python-0.3.14.6.ebuild | 15 +- .../dev-lang/python/python-0.3.14.6_p1.ebuild | 15 +- .../python/python-0.3.15.0_beta4.ebuild | 637 +++++++++++++++++ .../dev-lang/python/python-0.3.15.9999.ebuild | 30 +- .../dev-lang/python/python-3.12.13_p1.ebuild | 4 + .../dev-lang/python/python-3.12.9999.ebuild | 4 + .../dev-lang/python/python-3.14.6.ebuild | 15 +- .../dev-lang/python/python-3.14.6_p1.ebuild | 17 +- .../python/python-3.15.0_beta4.ebuild | 642 ++++++++++++++++++ .../dev-lang/python/python-3.15.9999.ebuild | 34 +- 11 files changed, 1355 insertions(+), 61 deletions(-) create mode 100644 sdk_container/src/third_party/portage-stable/dev-lang/python/python-0.3.15.0_beta4.ebuild create mode 100644 sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.15.0_beta4.ebuild diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/python/Manifest b/sdk_container/src/third_party/portage-stable/dev-lang/python/Manifest index 04ab75611a4..ad7a1fb4f0d 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/python/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-lang/python/Manifest @@ -14,6 +14,8 @@ DIST Python-3.15.0b2.tar.xz 35381676 BLAKE2B 59834dc8301dcc9d7e25fd3faf6060a6755 DIST Python-3.15.0b2.tar.xz.sigstore 5583 BLAKE2B a766583eb8340ac3bef93ac0bde0ffa66f4680361bb369b3baccd715eb24a8a1f2e5f1ba049e1e8d3c7c53f41a2fe4b0402104156f7c0609355a18dbb24c99e2 SHA512 78f437419f67b10d556ec2304e9f46af4ee0114434e1c51594ccf202aa98ae3b733f4022aeac8fc1afdeeb29fda9328f855dd4914d38318c9ec965b45358153c DIST Python-3.15.0b3.tar.xz 35459584 BLAKE2B 613f3609775df8b899603363a5e6cce39d3e1e56451c626cf87adc6149d9bbe5d1cddce86e3d86eb521747f4f0ada226322d0d737f881d107adccfd7b8533098 SHA512 a8c73a8e373ca921c87778d011072c1a0602cc203c65acda69117189cf5bd6c277c54044af381f27c243b187bbbb7b3ef47b9318bc89e2c044de9723175d7dca DIST Python-3.15.0b3.tar.xz.sigstore 5687 BLAKE2B fd74f7eae99854979980740fb5af2f75fcd4a37548667706fe3f301d213244af987afc7a5395d85df48a04f42f0f660ab6c2b717085c43077f7da5b0413aabc3 SHA512 0f9241d114a1b390f547fbd0768be1375d1500c2e9b8d851a3ba87a5d8df1c0963e69c8798dd5576298f0e535860b5faa69ead5f41549d1a4b0e6228603b5a26 +DIST Python-3.15.0b4.tar.xz 35509544 BLAKE2B d7fb1fb55cb75ab28971dc4ce575a61213b2041d12224b387ca6e2c176c818d37f4db07c4064cecdefae794befbd2247cacda43b33dd28485e9a6e547e9b6865 SHA512 ea668ea51334338aa44ee6ab20d9acb958fb7c41c1bd8ef3b91048d80a27f7aa2b2bc7b4c4928714b22c86a7a7719e7c09ae2ac82fc3f3ad01ca3a736f85e067 +DIST Python-3.15.0b4.tar.xz.sigstore 7105 BLAKE2B 78f8667ab32ae1353cb1475a9318e669922d475e0c31fd5e5bd86f944dc318d33299b9fbb6d00eb833cfa0f33dd0f043a6301f3e09f25fb1af892f3bb3a633b2 SHA512 df6545bc6899bcaafa056066b25a35de010a64587af223060f14ae35313b18c9e221f8bced7e256d2b3f9f13fa56c86a1cb8feefe0e24c7ad2efc41e4bf115b9 DIST Python-3.8.20.tar.xz 18962788 BLAKE2B 715c75e0c0a3d3b77af7f07478311bb0554b80aac72915be703aa2d0dd6459a972e5669808e64da14a0b91bb183e00655055c1726f302dc3ccd8721e3b4ae3e6 SHA512 3c9341ee1fd33cb687958dcf2b7c0c7700489726c4d530c3e9d9537d46a6ab534541a4b312232d8505bea395a07e4518c42d75fb7571103e6b266f8f44115c61 DIST Python-3.8.20.tar.xz.asc 833 BLAKE2B 5c86c15a1090b42e42bb7512565b1a7ad9d2137d59e9fd1ab0f83fdfc37dfcf184389418d6703db809e9c8c04a169af292665a2b58bf5dc61b7724ecbb4132d9 SHA512 a751ae0407a593d97acac4d5f8a0456580c753efa12a7d960125c219b4897fdb26fc1ffd43d8ea33ad1449162dd3b2904c16b6c51c57561ba73de3ffa62e0eed DIST Python-3.9.25.tar.xz 20183236 BLAKE2B 01c5af78659324e2a596611c11c0fa982f81faf9b401afe1a96399b58321e39c41e46a932e1e4437f3f2bb2d76d8482e852fc66e6f960a4928f7fc99b62dfb7e SHA512 33fd65952cc3ce5df83825aa32a103935815bdd5a016e5fd9896cafb068a3f89b3a6134458a2694e4f0f4f8a9fbe84739b53116264728b32cde0f03ab210cb19 @@ -27,5 +29,6 @@ DIST python-gentoo-patches-3.14.6.tar.xz 10312 BLAKE2B 3415bb7859cdd8754987afdc7 DIST python-gentoo-patches-3.14.6_p1.tar.xz 12032 BLAKE2B 315de6cb5f346c6406e12d4cb6ccbc986e6a39dc334e5ceb4d1ba4922a336d77f0bd0167fb7ef4d1c40ce0829e03248e838dbfbd0a46c0e4e0f6cf9e999e09e8 SHA512 2ac689aa6cff138782440ce1104bf21eace756fd1a72e22590c14157390937f7f50cd1e1ca774bb5a1ff08404b74901fb55d703c39a6ff9c9165e420d1b045e9 DIST python-gentoo-patches-3.15.0b2.tar.xz 3436 BLAKE2B fa2128b899f2d93078058ccd3e47b780bd092a841b07add94da61a55bb1f9846ec1fa5e00bcd78fcdd1d7da80fdf1dbabcc5d644a70cebce2018c457b186c74a SHA512 e92e87c027c8d777faae20b264cd83353dbb23d15679e99465f014277d02078b8c68fce3723e176cbebd94ac2057e5a9703f0ae5f5691e934b74947735ec3a86 DIST python-gentoo-patches-3.15.0b3.tar.xz 3432 BLAKE2B 994e9339e00dfa4b40395e763f25dde4813d791151787028dafcf2e5159c38bbe88d4b56d07fc4c7454a09bd55edfda94b9cb8cf5c0ff0ffe7db4bb1a8eea8b6 SHA512 8c3a8dea43fc42179679b1f6811979dabb4e1c34821b4aecd894d661842df26e7592f5c74787157f36ccddf9ce233994c774fbe8381dc0ccaff3dfcff0c6c572 +DIST python-gentoo-patches-3.15.0b4_p1.tar.xz 4272 BLAKE2B 850ff2a20381a562da3e727fcbf4d2de88682b9ec086c31359de8a31e0aaf2b87da91d55ec7ceb690c7969d75683bd07e43f88d3bf6f33448f98674c49b404b2 SHA512 7baa9b19cb01bf6c1fc5ca5a62cd08967d4be3f697931ffc7e56da150d4d9a038b1ed212543ae334cb826f59a20ec6cc5d329db72e62fd152271817f5ded1975 DIST python-gentoo-patches-3.8.20_p7.tar.xz 54544 BLAKE2B e31fc9fb5e98b62b0f70165670ec58ed4fa932cfc95d5287c249015a3a372fdbf0d1ba08cb98f63c2dc500700edfd6ffea6db670385d2c86a4fdb92ffb991192 SHA512 a9e7e4976be226931a503af2c986da207d060d4ce436af61f5e8427da513639adbed32bb0061963b83fef275a5de91707ab13b7a9abf3a7472ee0e2c5310eda1 DIST python-gentoo-patches-3.9.25.tar.xz 36604 BLAKE2B 11d35dcbc8979fe37e27a00dfef9683f0bf40514415be416d322f0509109edeb58a2e0b9218cfa3b3326654f5923d165511d203504ca2b52971ad136f8a454d1 SHA512 234bae116b2a5af00506cb76a0b86dfb8cf1f84ee980a358f3642bb717cff4d6f10388b2a07f12118588a174de4d2fd6ad2e3ab24704f9c85f36cb33d51f0c65 diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-0.3.14.6.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-0.3.14.6.ebuild index f0d37d39035..dda039e2d6d 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-0.3.14.6.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-0.3.14.6.ebuild @@ -6,7 +6,7 @@ EAPI="8" VERIFY_SIG_METHOD=sigstore WANT_LIBTOOL="none" -inherit autotools check-reqs eapi9-ver flag-o-matic linux-info +inherit autotools check-reqs flag-o-matic linux-info inherit multiprocessing pax-utils python-utils-r1 toolchain-funcs inherit verify-sig @@ -623,16 +623,3 @@ src_install() { ln -s "../../../bin/idle${PYVER}" "${scriptdir}/idle" || die fi } - -pkg_postinst() { - if ver_replacing -lt 0.3.14.0_beta3; then - ewarn "Python 3.14.0b3 has changed its module ABI. The .pyc files" - ewarn "installed previously are no longer valid and will be regenerated" - ewarn "(or ignored) on the next import. This may cause sandbox failures" - ewarn "when installing some packages and checksum mismatches when removing" - ewarn "old versions. To actively prevent this, rebuild all packages" - ewarn "installing Python 3.14 modules, e.g. using:" - ewarn - ewarn " emerge -1v /usr/lib/python3.14t/site-packages" - fi -} diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-0.3.14.6_p1.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-0.3.14.6_p1.ebuild index 3c5ea553412..581f375e383 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-0.3.14.6_p1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-0.3.14.6_p1.ebuild @@ -6,7 +6,7 @@ EAPI="8" VERIFY_SIG_METHOD=sigstore WANT_LIBTOOL="none" -inherit autotools check-reqs eapi9-ver flag-o-matic linux-info +inherit autotools check-reqs flag-o-matic linux-info inherit multiprocessing pax-utils python-utils-r1 toolchain-funcs inherit verify-sig @@ -623,16 +623,3 @@ src_install() { ln -s "../../../bin/idle${PYVER}" "${scriptdir}/idle" || die fi } - -pkg_postinst() { - if ver_replacing -lt 0.3.14.0_beta3; then - ewarn "Python 3.14.0b3 has changed its module ABI. The .pyc files" - ewarn "installed previously are no longer valid and will be regenerated" - ewarn "(or ignored) on the next import. This may cause sandbox failures" - ewarn "when installing some packages and checksum mismatches when removing" - ewarn "old versions. To actively prevent this, rebuild all packages" - ewarn "installing Python 3.14 modules, e.g. using:" - ewarn - ewarn " emerge -1v /usr/lib/python3.14t/site-packages" - fi -} diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-0.3.15.0_beta4.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-0.3.15.0_beta4.ebuild new file mode 100644 index 00000000000..3557e1c25f0 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-0.3.15.0_beta4.ebuild @@ -0,0 +1,637 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="8" + +VERIFY_SIG_METHOD=sigstore +WANT_LIBTOOL="none" + +inherit autotools check-reqs eapi9-ver flag-o-matic linux-info +inherit multiprocessing pax-utils toolchain-funcs verify-sig + +REAL_PV=${PV#0.} +MY_PV=${REAL_PV/_beta/b} +MY_P="Python-${MY_PV%_p*}" +PYVER="$(ver_cut 2-3)t" +PATCHSET="python-gentoo-patches-${MY_PV}_p1" + +DESCRIPTION="Freethreading (no-GIL) version of Python programming language" +HOMEPAGE=" + https://www.python.org/ + https://github.com/python/cpython/ +" +SRC_URI=" + https://www.python.org/ftp/python/${REAL_PV%%_*}/${MY_P}.tar.xz + https://distfiles.gentoo.org/pub/proj/python/patchsets/${PYVER%t}/${PATCHSET}.tar.xz + verify-sig? ( + https://www.python.org/ftp/python/${REAL_PV%%_*}/${MY_P}.tar.xz.sigstore + ) +" +S="${WORKDIR}/${MY_P}" + +LICENSE="PSF-2" +SLOT="${PYVER}" +IUSE=" + bluetooth build debug +ensurepip examples gdbm libedit +ncurses pgo + +readline +sqlite +ssl tail-call-interp test tk valgrind +" +RESTRICT="!test? ( test )" + +# Do not add a dependency on dev-lang/python to this ebuild. +# If you need to apply a patch which requires python for bootstrapping, please +# run the bootstrap code on your dev box and include the results in the +# patchset. See bug 447752. + +RDEPEND=" + app-arch/bzip2:= + app-arch/xz-utils:= + app-misc/mime-types + >=dev-libs/expat-2.1:= + dev-libs/libffi:= + dev-libs/mpdecimal:= + dev-python/gentoo-common + sys-apps/util-linux + >=virtual/zlib-1.1.3:= + virtual/libintl + !build? ( app-arch/zstd:= ) + gdbm? ( sys-libs/gdbm:=[berkdb] ) + ncurses? ( >=sys-libs/ncurses-5.2:= ) + readline? ( + !libedit? ( >=sys-libs/readline-4.1:= ) + libedit? ( dev-libs/libedit:= ) + ) + sqlite? ( >=dev-db/sqlite-3.3.8:3= ) + ssl? ( >=dev-libs/openssl-1.1.1:= ) + tk? ( + >=dev-lang/tcl-8.0:= + >=dev-lang/tk-8.0:= + dev-tcltk/blt:= + dev-tcltk/tix + ) +" +# bluetooth requires headers from bluez +DEPEND=" + ${RDEPEND} + bluetooth? ( net-wireless/bluez ) + test? ( + dev-python/ensurepip-pip + dev-python/ensurepip-setuptools + dev-python/ensurepip-wheel + ) + valgrind? ( dev-debug/valgrind ) +" +# autoconf-archive needed to eautoreconf +BDEPEND=" + dev-build/autoconf-archive + app-alternatives/awk + virtual/pkgconfig + tail-call-interp? ( + || ( + >=sys-devel/gcc-16:* + >=llvm-core/clang-19:* + ) + ) +" +if [[ ${PV} != *_alpha* ]]; then + RDEPEND+=" + dev-lang/python-exec[python_targets_python${PYVER/./_}(-)] + " +fi +PDEPEND=" + ensurepip? ( dev-python/ensurepip-pip ) +" + +# https://www.python.org/downloads/metadata/sigstore/ +VERIFY_SIG_CERT_IDENTITY=hugo@python.org +VERIFY_SIG_CERT_OIDC_ISSUER=https://github.com/login/oauth + +# large file tests involve a 2.5G file being copied (duplicated) +CHECKREQS_DISK_BUILD=5500M + +QA_PKGCONFIG_VERSION=${PYVER%t} +# false positives -- functions specific to *BSD +QA_CONFIG_IMPL_DECL_SKIP=( chflags lchflags ) + +declare -rgA PYTHON_KERNEL_CHECKS=( + ["CROSS_MEMORY_ATTACH"]="test_external_inspection" #bug 938589 + ["DNOTIFY"]="test_fcntl" # bug 938662 +) + +pkg_pretend() { + if use pgo || use test; then + check-reqs_pkg_pretend + fi + + ewarn "Freethreading build is considered experimental upstream. Using it" + ewarn "could lead to unexpected breakage, including race conditions" + ewarn "and crashes, respectively. Please do not file Gentoo bugs, unless" + ewarn "you can reproduce the problem with dev-lang/python. Instead," + ewarn "please consider reporting freethreading problems upstream." + + if [[ ${MERGE_TYPE} != buildonly ]] && ver_replacing -lt 0.3.15.0_beta4; then + ewarn + ewarn "Python 3.15.0b4 has broken its extension ABI. The extensions built" + ewarn "with older versions may crash at runtime or worse after upgrading." + ewarn "A rebuild is recommended after the merge is complete, e.g. using:" + ewarn + ewarn " emerge -1v \$(find /usr/lib/python3.15t/site-packages -name '*.cpython-315t-*.so')" + ewarn + ewarn "Note that if you enabled both python3_15 and python3_15t, then" + ewarn "the 3.15 rebuild should cover all 3.15t packages as well." + ewarn "If you do not wish to perform the rebuild at the time, it is" + ewarn "recommended to abort the upgrade." + ewarn + fi +} + +pkg_setup() { + if [[ ${MERGE_TYPE} != binary ]]; then + if use test || use pgo; then + check-reqs_pkg_setup + + local CONFIG_CHECK + for f in "${!PYTHON_KERNEL_CHECKS[@]}"; do + CONFIG_CHECK+="~${f} " + done + linux-info_pkg_setup + fi + if use tail-call-interp; then + tc-check-min_ver gcc 16 + tc-check-min_ver clang 19 + fi + fi +} + +src_unpack() { + if use verify-sig; then + verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.sigstore} + fi + default +} + +src_prepare() { + # Ensure that internal copies of expat and libffi are not used. + # TODO: Makefile has annoying deps on expat headers + #rm -r Modules/expat || die + + local PATCHES=( + "${WORKDIR}/${PATCHSET}" + ) + + default + + # force the correct number of jobs + # https://bugs.gentoo.org/737660 + sed -i -e "s:-j0:-j$(makeopts_jobs):" Makefile.pre.in || die + + # breaks tests when using --with-wheel-pkg-dir + rm -r Lib/test/wheeldata || die + + eautoreconf +} + +build_cbuild_python() { + # Hack to workaround get_libdir not being able to handle CBUILD, bug #794181 + local cbuild_libdir=$(unset PKG_CONFIG_PATH ; $(tc-getBUILD_PKG_CONFIG) --keep-system-libs --libs-only-L libffi) + + # pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get + # propagated to sysconfig for built extensions + # + # -fno-lto to avoid bug #700012 (not like it matters for mini-CBUILD Python anyway) + local -x CFLAGS_NODIST="${BUILD_CFLAGS} -fno-lto" + local -x LDFLAGS_NODIST="${BUILD_LDFLAGS} -fno-lto" + local -x CFLAGS= LDFLAGS= + local -x BUILD_CFLAGS="${CFLAGS_NODIST}" + local -x BUILD_LDFLAGS="${LDFLAGS_NODIST}" + + # We need to build our own Python on CBUILD first, and feed it in. + # bug #847910 + local myeconfargs_cbuild=( + "${myeconfargs[@]}" + + --prefix="${BROOT}"/usr + --libdir="${cbuild_libdir:2}" + + # Avoid needing to load the right libpython.so. + --disable-shared + + # As minimal as possible for the mini CBUILD Python + # we build just for cross to satisfy --with-build-python. + --without-lto + --without-readline + --disable-optimizations + ) + + mkdir "${WORKDIR}"/${P}-${CBUILD} || die + pushd "${WORKDIR}"/${P}-${CBUILD} &> /dev/null || die + + # Avoid as many dependencies as possible for the cross build. + mkdir Modules || die + cat > Modules/Setup.local <<-EOF || die + *disabled* + nis + _dbm _gdbm + _sqlite3 + _hashlib _ssl + _curses _curses_panel + readline + _tkinter + pyexpat + zlib + # We disabled these for CBUILD because Python's setup.py can't handle locating + # libdir correctly for cross. This should be rechecked for the pure Makefile approach, + # and uncommented if needed. + #_ctypes + EOF + + ECONF_SOURCE="${S}" econf_build "${myeconfargs_cbuild[@]}" + + # Unfortunately, we do have to build this immediately, and + # not in src_compile, because CHOST configure for Python + # will check the existence of the --with-build-python value + # immediately. + emake + popd &> /dev/null || die +} + +src_configure() { + # disable automagic bluetooth headers detection + if ! use bluetooth; then + local -x ac_cv_header_bluetooth_bluetooth_h=no + fi + + filter-flags -malign-double + + # Export CXX so it ends up in /usr/lib/python3.X/config/Makefile. + # PKG_CONFIG needed for cross. + tc-export CXX PKG_CONFIG + + local dbmliborder= + if use gdbm; then + dbmliborder+="${dbmliborder:+:}gdbm" + fi + + # Set baseline test skip flags. + COMMON_TEST_SKIPS=( + # running gdb inside an ebuild as non-root, within sandbox, + # and possibly within a container is unreliable + -x test_gdb + # this is actually test_gdb.test_pretty_print + -x test_pretty_print + # https://bugs.gentoo.org/933840 + -x test_perf_profiler + ) + + # Arch-specific skips. See #931888 for a collection of these. + case ${CHOST} in + alpha*) + COMMON_TEST_SKIPS+=( + -x test_builtin + -x test_capi + -x test_cmath + -x test_float + # timeout + -x test_free_threading + -x test_math + -x test_numeric_tower + -x test_random + -x test_statistics + # bug 653850 + -x test_resource + -x test_strtod + ) + ;; + mips*) + COMMON_TEST_SKIPS+=( + -x test_ctypes + -x test_external_inspection + -x test_statistics + ) + ;; + riscv*) + COMMON_TEST_SKIPS+=( + -x test_urllib2 + ) + ;; + sparc*) + COMMON_TEST_SKIPS+=( + # bug 788022 + -x test_multiprocessing_fork + -x test_multiprocessing_forkserver + -x test_multiprocessing_spawn + + -x test_ctypes + # bug 931908 + -x test_exceptions + ) + ;; + esac + + # Kernel-config specific skips + for option in "${!PYTHON_KERNEL_CHECKS[@]}"; do + if ! linux_config_exists || ! linux_chkconfig_present "${option}" + then + COMMON_TEST_SKIPS+=( -x "${PYTHON_KERNEL_CHECKS[${option}]}" ) + fi + done + + # musl-specific skips + use elibc_musl && COMMON_TEST_SKIPS+=( + # various musl locale deficiencies + -x test__locale + -x test_c_locale_coercion + -x test_locale + -x test_re + + # known issues with find_library on musl + # https://bugs.python.org/issue21622 + -x test_ctypes + + # fpathconf, ttyname errno values + -x test_os + ) + + if use pgo; then + local profile_task_flags=( + -m test + "-j$(makeopts_jobs)" + --pgo-extended + --verbose3 + -u-network + + # We use a timeout because of how often we've had hang issues + # here. It also matches the default upstream PROFILE_TASK. + --timeout 1200 + + "${COMMON_TEST_SKIPS[@]}" + + -x test_dtrace + + # All of these seem to occasionally hang for PGO inconsistently + # They'll even hang here but be fine in src_test sometimes. + # bug #828535 (and related: bug #788022) + -x test_asyncio + -x test_httpservers + -x test_logging + -x test_multiprocessing_fork + -x test_socket + -x test_xmlrpc + + # Hangs (actually runs indefinitely executing itself w/ many cpython builds) + # bug #900429 + -x test_tools + + # Test terminates abruptly which corrupts written profile data + # bug #964023 + -x test_pyrepl + ) + + if has_version "app-arch/rpm" ; then + # Avoid sandbox failure (attempts to write to /var/lib/rpm) + profile_task_flags+=( + -x test_distutils + ) + fi + # PGO sometimes fails randomly + local -x PROFILE_TASK="${profile_task_flags[*]} || true" + fi + + local myeconfargs=( + # glibc-2.30 removes it; since we can't cleanly force-rebuild + # Python on glibc upgrade, remove it proactively to give + # a chance for users rebuilding python before glibc + ac_cv_header_stropts_h=no + + --enable-shared + --without-static-libpython + --enable-ipv6 + --infodir='${prefix}/share/info' + --mandir='${prefix}/share/man' + --with-dbmliborder="${dbmliborder}" + --with-libc= + --enable-loadable-sqlite-extensions + --without-ensurepip + --without-lto + --with-system-expat + --with-system-libmpdec + --with-platlibdir=lib + --with-pkg-config=yes + --with-wheel-pkg-dir="${EPREFIX}"/usr/lib/python/ensurepip + --disable-gil + + $(use_with debug assertions) + $(use_enable pgo optimizations) + $(use_with readline readline "$(usex libedit editline readline)") + $(use_with tail-call-interp) + $(use_with valgrind) + ) + + if tc-is-lto; then + myeconfargs+=( + --with-lto + ) + fi + + # Force-disable modules we don't want built. + # See Modules/Setup for docs on how this works. Setup.local contains our local deviations. + cat > Modules/Setup.local <<-EOF || die + *disabled* + nis + $(usev build '_zstd') + $(usev !gdbm '_gdbm _dbm') + $(usev !sqlite '_sqlite3') + $(usev !ssl '_hashlib _ssl') + $(usev !ncurses '_curses _curses_panel') + $(usev !readline 'readline') + $(usev !tk '_tkinter') + EOF + + # disable implicit optimization/debugging flags + local -x OPT= + + if tc-is-cross-compiler ; then + build_cbuild_python + myeconfargs+=( + # Point the imminent CHOST build to the Python we just + # built for CBUILD. + --with-build-python="${WORKDIR}"/${P}-${CBUILD}/python + ) + fi + + # pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get + # propagated to sysconfig for built extensions + local -x CFLAGS_NODIST=${CFLAGS} + local -x LDFLAGS_NODIST=${LDFLAGS} + local -x CFLAGS= LDFLAGS= + + # Fix implicit declarations on cross and prefix builds. Bug #674070. + if use ncurses; then + append-cppflags -I"${ESYSROOT}"/usr/include/ncursesw + fi + + econf "${myeconfargs[@]}" + + if grep -q "#define POSIX_SEMAPHORES_NOT_ENABLED 1" pyconfig.h; then + eerror "configure has detected that the sem_open function is broken." + eerror "Please ensure that /dev/shm is mounted as a tmpfs with mode 1777." + die "Broken sem_open function (bug 496328)" + fi + + # install epython.py as part of stdlib + echo "EPYTHON='python${PYVER}'" > Lib/epython.py || die +} + +src_compile() { + # Ensure sed works as expected + # https://bugs.gentoo.org/594768 + local -x LC_ALL=C + export PYTHONSTRICTEXTENSIONBUILD=1 + + # Save PYTHONDONTWRITEBYTECODE so that 'has_version' doesn't + # end up writing bytecode & violating sandbox. + # bug #831897 + local -x _PYTHONDONTWRITEBYTECODE=${PYTHONDONTWRITEBYTECODE} + + # Gentoo hack to disable accessing system site-packages + export GENTOO_CPYTHON_BUILD=1 + + if use pgo ; then + # bug 660358 + local -x COLUMNS=80 + local -x PYTHONDONTWRITEBYTECODE= + local -x TMPDIR=/var/tmp + fi + + # also need to clear the flags explicitly here or they end up + # in _sysconfigdata* + emake CPPFLAGS= CFLAGS= LDFLAGS= + + # Restore saved value from above. + local -x PYTHONDONTWRITEBYTECODE=${_PYTHONDONTWRITEBYTECODE} + + # Work around bug 329499. See also bug 413751 and 457194. + if has_version dev-libs/libffi[pax-kernel]; then + pax-mark E python + else + pax-mark m python + fi +} + +src_test() { + # Tests will not work when cross compiling. + if tc-is-cross-compiler; then + elog "Disabling tests due to crosscompiling." + return + fi + + # this just happens to skip test_support.test_freeze that is broken + # without bundled expat + # TODO: get a proper skip for it upstream + local -x LOGNAME=buildbot + + local test_opts=( + --verbose3 + -u-network + -j "$(makeopts_jobs)" + "${COMMON_TEST_SKIPS[@]}" + ) + + # bug 660358 + local -x COLUMNS=80 + local -x PYTHONDONTWRITEBYTECODE= + local -x TMPDIR=/var/tmp + + nonfatal emake -Onone test EXTRATESTOPTS="${test_opts[*]}" \ + CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty + local ret=${?} + + [[ ${ret} -eq 0 ]] || die "emake test failed" +} + +src_install() { + local libdir=${ED}/usr/lib/python${PYVER} + local build_dir=$(/dev/null + ) + newins Tools/gdb/libpython.py "${libname}"-gdb.py + + newconfd "${FILESDIR}/pydoc.conf" pydoc-${PYVER} + newinitd "${FILESDIR}/pydoc.init" pydoc-${PYVER} + sed \ + -e "s:@PYDOC_PORT_VARIABLE@:PYDOC${PYVER/./_}_PORT:" \ + -e "s:@PYDOC@:pydoc${PYVER}:" \ + -i "${ED}/etc/conf.d/pydoc-${PYVER}" \ + "${ED}/etc/init.d/pydoc-${PYVER}" || die "sed failed" +} + +pkg_postinst() { + if ver_replacing -lt 0.3.15.0_beta4; then + ewarn "Python 3.15.0b4 has broken its extension ABI. The extensions built" + ewarn "with older versions may crash at runtime or worse. To prevent this," + ewarn "please rebuild all extensions using the versoned ABI, e.g. using:" + ewarn + ewarn " emerge -1v \$(find /usr/lib/python3.15t/site-packages -name '*.cpython-315t-*.so')" + ewarn + ewarn "Note that if you enabled both python3_15 and python3_15t, then" + ewarn "the 3.15 rebuild should cover all 3.15t packages already." + fi +} diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-0.3.15.9999.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-0.3.15.9999.ebuild index 5b7c3bfc80d..1517731db95 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-0.3.15.9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-0.3.15.9999.ebuild @@ -5,7 +5,7 @@ EAPI="8" WANT_LIBTOOL="none" -inherit autotools check-reqs flag-o-matic git-r3 linux-info +inherit autotools check-reqs eapi9-ver flag-o-matic git-r3 linux-info inherit multiprocessing pax-utils toolchain-funcs PYVER="$(ver_cut 2-3)t" @@ -115,6 +115,21 @@ pkg_pretend() { ewarn "and crashes, respectively. Please do not file Gentoo bugs, unless" ewarn "you can reproduce the problem with dev-lang/python. Instead," ewarn "please consider reporting freethreading problems upstream." + + if [[ ${MERGE_TYPE} != buildonly ]] && ver_replacing -lt 0.3.15.0_beta4; then + ewarn + ewarn "Python 3.15.0b4 has broken its extension ABI. The extensions built" + ewarn "with older versions may crash at runtime or worse after upgrading." + ewarn "A rebuild is recommended after the merge is complete, e.g. using:" + ewarn + ewarn " emerge -1v \$(find /usr/lib/python3.15t/site-packages -name '*.cpython-315t-*.so')" + ewarn + ewarn "Note that if you enabled both python3_15 and python3_15t, then" + ewarn "the 3.15 rebuild should cover all 3.15t packages as well." + ewarn "If you do not wish to perform the rebuild at the time, it is" + ewarn "recommended to abort the upgrade." + ewarn + fi } pkg_setup() { @@ -593,3 +608,16 @@ src_install() { -i "${ED}/etc/conf.d/pydoc-${PYVER}" \ "${ED}/etc/init.d/pydoc-${PYVER}" || die "sed failed" } + +pkg_postinst() { + if ver_replacing -lt 0.3.15.0_beta4; then + ewarn "Python 3.15.0b4 has broken its extension ABI. The extensions built" + ewarn "with older versions may crash at runtime or worse. To prevent this," + ewarn "please rebuild all extensions using the versoned ABI, e.g. using:" + ewarn + ewarn " emerge -1v \$(find /usr/lib/python3.15t/site-packages -name '*.cpython-315t-*.so')" + ewarn + ewarn "Note that if you enabled both python3_15 and python3_15t, then" + ewarn "the 3.15 rebuild should cover all 3.15t packages already." + fi +} diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.12.13_p1.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.12.13_p1.ebuild index 002a852b1fe..8aa2da3b30b 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.12.13_p1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.12.13_p1.ebuild @@ -229,6 +229,10 @@ src_configure() { -x test_gdb # this is actually test_gdb.test_pretty_print -x test_pretty_print + # broken w/ >=linux-7.1, fixed w/ >=3.13 + # https://github.com/python/cpython/issues/149078 + # https://github.com/python/cpython/issues/149776 + -x test_socket ) # Arch-specific skips. See #931888 for a collection of these. diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.12.9999.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.12.9999.ebuild index 15f1171996f..522c2870de5 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.12.9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.12.9999.ebuild @@ -218,6 +218,10 @@ src_configure() { -x test_gdb # this is actually test_gdb.test_pretty_print -x test_pretty_print + # broken w/ >=linux-7.1, fixed w/ >=3.13 + # https://github.com/python/cpython/issues/149078 + # https://github.com/python/cpython/issues/149776 + -x test_socket ) # Arch-specific skips. See #931888 for a collection of these. diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.14.6.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.14.6.ebuild index e7a4d5b9cdd..19200cef0e7 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.14.6.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.14.6.ebuild @@ -8,7 +8,7 @@ LLVM_OPTIONAL=1 VERIFY_SIG_METHOD=sigstore WANT_LIBTOOL="none" -inherit autotools check-reqs eapi9-ver flag-o-matic linux-info llvm-r1 +inherit autotools check-reqs flag-o-matic linux-info llvm-r1 inherit multiprocessing pax-utils python-utils-r1 toolchain-funcs inherit verify-sig @@ -634,16 +634,3 @@ src_install() { ln -s "../../../bin/idle${PYVER}" "${scriptdir}/idle" || die fi } - -pkg_postinst() { - if ver_replacing -lt 3.14.0_beta3; then - ewarn "Python 3.14.0b3 has changed its module ABI. The .pyc files" - ewarn "installed previously are no longer valid and will be regenerated" - ewarn "(or ignored) on the next import. This may cause sandbox failures" - ewarn "when installing some packages and checksum mismatches when removing" - ewarn "old versions. To actively prevent this, rebuild all packages" - ewarn "installing Python 3.14 modules, e.g. using:" - ewarn - ewarn " emerge -1v /usr/lib/python3.14/site-packages" - fi -} diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.14.6_p1.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.14.6_p1.ebuild index 986a3fea174..0f35921763c 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.14.6_p1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.14.6_p1.ebuild @@ -8,7 +8,7 @@ LLVM_OPTIONAL=1 VERIFY_SIG_METHOD=sigstore WANT_LIBTOOL="none" -inherit autotools check-reqs eapi9-ver flag-o-matic linux-info llvm-r1 +inherit autotools check-reqs flag-o-matic linux-info llvm-r1 inherit multiprocessing pax-utils python-utils-r1 toolchain-funcs inherit verify-sig @@ -34,7 +34,7 @@ S="${WORKDIR}/${MY_P}" LICENSE="PSF-2" SLOT="${PYVER}" if [[ ${PV} != *_rc* ]]; then - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" fi IUSE=" bluetooth build debug +ensurepip examples gdbm jit libedit +ncurses pgo @@ -634,16 +634,3 @@ src_install() { ln -s "../../../bin/idle${PYVER}" "${scriptdir}/idle" || die fi } - -pkg_postinst() { - if ver_replacing -lt 3.14.0_beta3; then - ewarn "Python 3.14.0b3 has changed its module ABI. The .pyc files" - ewarn "installed previously are no longer valid and will be regenerated" - ewarn "(or ignored) on the next import. This may cause sandbox failures" - ewarn "when installing some packages and checksum mismatches when removing" - ewarn "old versions. To actively prevent this, rebuild all packages" - ewarn "installing Python 3.14 modules, e.g. using:" - ewarn - ewarn " emerge -1v /usr/lib/python3.14/site-packages" - fi -} diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.15.0_beta4.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.15.0_beta4.ebuild new file mode 100644 index 00000000000..e6dd8a12f73 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.15.0_beta4.ebuild @@ -0,0 +1,642 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="8" + +LLVM_COMPAT=( 21 ) +LLVM_OPTIONAL=1 +VERIFY_SIG_METHOD=sigstore +WANT_LIBTOOL="none" + +inherit autotools check-reqs eapi9-ver flag-o-matic linux-info llvm-r2 +inherit multiprocessing pax-utils toolchain-funcs verify-sig + +MY_PV=${PV/_beta/b} +MY_P="Python-${MY_PV%_p*}" +PYVER=$(ver_cut 1-2) +PATCHSET="python-gentoo-patches-${MY_PV}_p1" + +DESCRIPTION="An interpreted, interactive, object-oriented programming language" +HOMEPAGE=" + https://www.python.org/ + https://github.com/python/cpython/ +" +SRC_URI=" + https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz + https://distfiles.gentoo.org/pub/proj/python/patchsets/${PYVER%t}/${PATCHSET}.tar.xz + verify-sig? ( + https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz.sigstore + ) +" +S="${WORKDIR}/${MY_P}" + +LICENSE="PSF-2" +SLOT="${PYVER}" +IUSE=" + bluetooth build debug +ensurepip examples gdbm jit libedit +ncurses pgo + +readline +sqlite +ssl tail-call-interp test tk valgrind +" +REQUIRED_USE="jit? ( ${LLVM_REQUIRED_USE} )" +RESTRICT="!test? ( test )" + +# Do not add a dependency on dev-lang/python to this ebuild. +# If you need to apply a patch which requires python for bootstrapping, please +# run the bootstrap code on your dev box and include the results in the +# patchset. See bug 447752. + +RDEPEND=" + app-arch/bzip2:= + app-arch/xz-utils:= + app-misc/mime-types + >=dev-libs/expat-2.1:= + dev-libs/libffi:= + dev-libs/mpdecimal:= + dev-python/gentoo-common + sys-apps/util-linux + >=virtual/zlib-1.1.3:= + virtual/libintl + !build? ( app-arch/zstd:= ) + gdbm? ( sys-libs/gdbm:=[berkdb] ) + ncurses? ( >=sys-libs/ncurses-5.2:= ) + readline? ( + !libedit? ( >=sys-libs/readline-4.1:= ) + libedit? ( dev-libs/libedit:= ) + ) + sqlite? ( >=dev-db/sqlite-3.3.8:3= ) + ssl? ( >=dev-libs/openssl-1.1.1:= ) + tk? ( + >=dev-lang/tcl-8.0:= + >=dev-lang/tk-8.0:= + dev-tcltk/blt:= + dev-tcltk/tix + ) +" +# bluetooth requires headers from bluez +DEPEND=" + ${RDEPEND} + bluetooth? ( net-wireless/bluez ) + test? ( + dev-python/ensurepip-pip + dev-python/ensurepip-setuptools + dev-python/ensurepip-wheel + ) + valgrind? ( dev-debug/valgrind ) +" +# autoconf-archive needed to eautoreconf +BDEPEND=" + dev-build/autoconf-archive + app-alternatives/awk + virtual/pkgconfig + jit? ( + $(llvm_gen_dep ' + llvm-core/clang:${LLVM_SLOT} + llvm-core/llvm:${LLVM_SLOT} + ') + ) + tail-call-interp? ( + || ( + >=sys-devel/gcc-16:* + >=llvm-core/clang-19:* + ) + ) +" +if [[ ${PV} != *_alpha* ]]; then + RDEPEND+=" + dev-lang/python-exec[python_targets_python${PYVER/./_}(-)] + " +fi +PDEPEND=" + ensurepip? ( dev-python/ensurepip-pip ) +" + +# https://www.python.org/downloads/metadata/sigstore/ +VERIFY_SIG_CERT_IDENTITY=hugo@python.org +VERIFY_SIG_CERT_OIDC_ISSUER=https://github.com/login/oauth + +# large file tests involve a 2.5G file being copied (duplicated) +CHECKREQS_DISK_BUILD=5500M + +QA_PKGCONFIG_VERSION=${PYVER%t} +# false positives -- functions specific to *BSD +QA_CONFIG_IMPL_DECL_SKIP=( chflags lchflags ) + +declare -rgA PYTHON_KERNEL_CHECKS=( + ["CROSS_MEMORY_ATTACH"]="test_external_inspection" #bug 938589 + ["DNOTIFY"]="test_fcntl" # bug 938662 +) + +pkg_pretend() { + if use pgo || use test; then + check-reqs_pkg_pretend + fi + + if use jit; then + ewarn "USE=jit is considered experimental upstream. Using it" + ewarn "could lead to unexpected breakage, including race conditions" + ewarn "and crashes, respectively. Please do not file Gentoo bugs, unless" + ewarn "you can reproduce the problem with dev-lang/python[-jit]. Instead," + ewarn "please consider reporting JIT problems upstream." + fi + + if [[ ${MERGE_TYPE} != buildonly ]] && ver_replacing -lt 3.15.0_beta4; then + ewarn + ewarn "Python 3.15.0b4 has broken its extension ABI. The extensions built" + ewarn "with older versions may crash at runtime or worse after upgrading." + ewarn "A rebuild is recommended after the merge is complete, e.g. using:" + ewarn + ewarn " emerge -1v \$(find /usr/lib/python3.15/site-packages -name '*.cpython-315-*.so')" + ewarn + ewarn "Note that if you enabled both python3_15 and python3_15t, then" + ewarn "the 3.15 rebuild should cover all 3.15t packages already." + ewarn "If you do not wish to perform the rebuild at the time, it is" + ewarn "recommended to abort the upgrade." + ewarn + fi +} + +pkg_setup() { + if [[ ${MERGE_TYPE} != binary ]]; then + use jit && llvm-r2_pkg_setup + if use test || use pgo; then + check-reqs_pkg_setup + + local CONFIG_CHECK + for f in "${!PYTHON_KERNEL_CHECKS[@]}"; do + CONFIG_CHECK+="~${f} " + done + linux-info_pkg_setup + fi + if use tail-call-interp; then + tc-check-min_ver gcc 16 + tc-check-min_ver clang 19 + fi + fi +} + +src_unpack() { + if use verify-sig; then + verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.sigstore} + fi + default +} + +src_prepare() { + # Ensure that internal copies of expat and libffi are not used. + # TODO: Makefile has annoying deps on expat headers + #rm -r Modules/expat || die + + local PATCHES=( + "${WORKDIR}/${PATCHSET}" + ) + + default + + # force the correct number of jobs + # https://bugs.gentoo.org/737660 + sed -i -e "s:-j0:-j$(makeopts_jobs):" Makefile.pre.in || die + + # breaks tests when using --with-wheel-pkg-dir + rm -r Lib/test/wheeldata || die + + eautoreconf +} + +build_cbuild_python() { + # Hack to workaround get_libdir not being able to handle CBUILD, bug #794181 + local cbuild_libdir=$(unset PKG_CONFIG_PATH ; $(tc-getBUILD_PKG_CONFIG) --keep-system-libs --libs-only-L libffi) + + # pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get + # propagated to sysconfig for built extensions + # + # -fno-lto to avoid bug #700012 (not like it matters for mini-CBUILD Python anyway) + local -x CFLAGS_NODIST="${BUILD_CFLAGS} -fno-lto" + local -x LDFLAGS_NODIST="${BUILD_LDFLAGS} -fno-lto" + local -x CFLAGS= LDFLAGS= + local -x BUILD_CFLAGS="${CFLAGS_NODIST}" + local -x BUILD_LDFLAGS="${LDFLAGS_NODIST}" + + # We need to build our own Python on CBUILD first, and feed it in. + # bug #847910 + local myeconfargs_cbuild=( + "${myeconfargs[@]}" + + --prefix="${BROOT}"/usr + --libdir="${cbuild_libdir:2}" + + # Avoid needing to load the right libpython.so. + --disable-shared + + # As minimal as possible for the mini CBUILD Python + # we build just for cross to satisfy --with-build-python. + --without-lto + --without-readline + --disable-optimizations + ) + + mkdir "${WORKDIR}"/${P}-${CBUILD} || die + pushd "${WORKDIR}"/${P}-${CBUILD} &> /dev/null || die + + # Avoid as many dependencies as possible for the cross build. + mkdir Modules || die + cat > Modules/Setup.local <<-EOF || die + *disabled* + nis + _dbm _gdbm + _sqlite3 + _hashlib _ssl + _curses _curses_panel + readline + _tkinter + pyexpat + zlib + # We disabled these for CBUILD because Python's setup.py can't handle locating + # libdir correctly for cross. This should be rechecked for the pure Makefile approach, + # and uncommented if needed. + #_ctypes + EOF + + ECONF_SOURCE="${S}" econf_build "${myeconfargs_cbuild[@]}" + + # Unfortunately, we do have to build this immediately, and + # not in src_compile, because CHOST configure for Python + # will check the existence of the --with-build-python value + # immediately. + emake + popd &> /dev/null || die +} + +src_configure() { + # disable automagic bluetooth headers detection + if ! use bluetooth; then + local -x ac_cv_header_bluetooth_bluetooth_h=no + fi + + filter-flags -malign-double + + # Export CXX so it ends up in /usr/lib/python3.X/config/Makefile. + # PKG_CONFIG needed for cross. + tc-export CXX PKG_CONFIG + + local dbmliborder= + if use gdbm; then + dbmliborder+="${dbmliborder:+:}gdbm" + fi + + # Set baseline test skip flags. + COMMON_TEST_SKIPS=( + # running gdb inside an ebuild as non-root, within sandbox, + # and possibly within a container is unreliable + -x test_gdb + # this is actually test_gdb.test_pretty_print + -x test_pretty_print + # https://bugs.gentoo.org/933840 + -x test_perf_profiler + ) + + # Arch-specific skips. See #931888 for a collection of these. + case ${CHOST} in + alpha*) + COMMON_TEST_SKIPS+=( + -x test_builtin + -x test_capi + -x test_cmath + -x test_float + # timeout + -x test_free_threading + -x test_math + -x test_numeric_tower + -x test_random + -x test_statistics + # bug 653850 + -x test_resource + -x test_strtod + ) + ;; + mips*) + COMMON_TEST_SKIPS+=( + -x test_ctypes + -x test_external_inspection + -x test_statistics + ) + ;; + riscv*) + COMMON_TEST_SKIPS+=( + -x test_urllib2 + ) + ;; + sparc*) + COMMON_TEST_SKIPS+=( + # bug 788022 + -x test_multiprocessing_fork + -x test_multiprocessing_forkserver + -x test_multiprocessing_spawn + + -x test_ctypes + # bug 931908 + -x test_exceptions + ) + ;; + esac + + # Kernel-config specific skips + for option in "${!PYTHON_KERNEL_CHECKS[@]}"; do + if ! linux_config_exists || ! linux_chkconfig_present "${option}" + then + COMMON_TEST_SKIPS+=( -x "${PYTHON_KERNEL_CHECKS[${option}]}" ) + fi + done + + # musl-specific skips + use elibc_musl && COMMON_TEST_SKIPS+=( + # various musl locale deficiencies + -x test__locale + -x test_c_locale_coercion + -x test_locale + -x test_re + + # known issues with find_library on musl + # https://bugs.python.org/issue21622 + -x test_ctypes + + # fpathconf, ttyname errno values + -x test_os + ) + + if use pgo; then + local profile_task_flags=( + -m test + "-j$(makeopts_jobs)" + --pgo-extended + --verbose3 + -u-network + + # We use a timeout because of how often we've had hang issues + # here. It also matches the default upstream PROFILE_TASK. + --timeout 1200 + + "${COMMON_TEST_SKIPS[@]}" + + -x test_dtrace + + # All of these seem to occasionally hang for PGO inconsistently + # They'll even hang here but be fine in src_test sometimes. + # bug #828535 (and related: bug #788022) + -x test_asyncio + -x test_httpservers + -x test_logging + -x test_multiprocessing_fork + -x test_socket + -x test_xmlrpc + + # Hangs (actually runs indefinitely executing itself w/ many cpython builds) + # bug #900429 + -x test_tools + + # Test terminates abruptly which corrupts written profile data + # bug #964023 + -x test_pyrepl + ) + + if has_version "app-arch/rpm" ; then + # Avoid sandbox failure (attempts to write to /var/lib/rpm) + profile_task_flags+=( + -x test_distutils + ) + fi + # PGO sometimes fails randomly + local -x PROFILE_TASK="${profile_task_flags[*]} || true" + fi + + local myeconfargs=( + # glibc-2.30 removes it; since we can't cleanly force-rebuild + # Python on glibc upgrade, remove it proactively to give + # a chance for users rebuilding python before glibc + ac_cv_header_stropts_h=no + + --enable-shared + --without-static-libpython + --enable-ipv6 + --infodir='${prefix}/share/info' + --mandir='${prefix}/share/man' + --with-dbmliborder="${dbmliborder}" + --with-libc= + --enable-loadable-sqlite-extensions + --without-ensurepip + --without-lto + --with-system-expat + --with-system-libmpdec + --with-platlibdir=lib + --with-pkg-config=yes + --with-wheel-pkg-dir="${EPREFIX}"/usr/lib/python/ensurepip + --enable-gil + + $(use_with debug assertions) + $(use_enable jit experimental-jit) + $(use_enable pgo optimizations) + $(use_with readline readline "$(usex libedit editline readline)") + $(use_with tail-call-interp) + $(use_with valgrind) + ) + + if tc-is-lto; then + myeconfargs+=( + --with-lto + ) + fi + + # Force-disable modules we don't want built. + # See Modules/Setup for docs on how this works. Setup.local contains our local deviations. + cat > Modules/Setup.local <<-EOF || die + *disabled* + nis + $(usev build '_zstd') + $(usev !gdbm '_gdbm _dbm') + $(usev !sqlite '_sqlite3') + $(usev !ssl '_hashlib _ssl') + $(usev !ncurses '_curses _curses_panel') + $(usev !readline 'readline') + $(usev !tk '_tkinter') + EOF + + # disable implicit optimization/debugging flags + local -x OPT= + + if tc-is-cross-compiler ; then + build_cbuild_python + myeconfargs+=( + # Point the imminent CHOST build to the Python we just + # built for CBUILD. + --with-build-python="${WORKDIR}"/${P}-${CBUILD}/python + ) + fi + + # pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get + # propagated to sysconfig for built extensions + local -x CFLAGS_NODIST=${CFLAGS} + local -x LDFLAGS_NODIST=${LDFLAGS} + local -x CFLAGS= LDFLAGS= + + # Fix implicit declarations on cross and prefix builds. Bug #674070. + if use ncurses; then + append-cppflags -I"${ESYSROOT}"/usr/include/ncursesw + fi + + econf "${myeconfargs[@]}" + + if grep -q "#define POSIX_SEMAPHORES_NOT_ENABLED 1" pyconfig.h; then + eerror "configure has detected that the sem_open function is broken." + eerror "Please ensure that /dev/shm is mounted as a tmpfs with mode 1777." + die "Broken sem_open function (bug 496328)" + fi + + # install epython.py as part of stdlib + echo "EPYTHON='python${PYVER}'" > Lib/epython.py || die +} + +src_compile() { + # Ensure sed works as expected + # https://bugs.gentoo.org/594768 + local -x LC_ALL=C + export PYTHONSTRICTEXTENSIONBUILD=1 + + # Save PYTHONDONTWRITEBYTECODE so that 'has_version' doesn't + # end up writing bytecode & violating sandbox. + # bug #831897 + local -x _PYTHONDONTWRITEBYTECODE=${PYTHONDONTWRITEBYTECODE} + + # Gentoo hack to disable accessing system site-packages + export GENTOO_CPYTHON_BUILD=1 + + if use pgo ; then + # bug 660358 + local -x COLUMNS=80 + local -x PYTHONDONTWRITEBYTECODE= + local -x TMPDIR=/var/tmp + fi + + # also need to clear the flags explicitly here or they end up + # in _sysconfigdata* + emake CPPFLAGS= CFLAGS= LDFLAGS= + + # Restore saved value from above. + local -x PYTHONDONTWRITEBYTECODE=${_PYTHONDONTWRITEBYTECODE} + + # Work around bug 329499. See also bug 413751 and 457194. + if has_version dev-libs/libffi[pax-kernel]; then + pax-mark E python + else + pax-mark m python + fi +} + +src_test() { + # Tests will not work when cross compiling. + if tc-is-cross-compiler; then + elog "Disabling tests due to crosscompiling." + return + fi + + # this just happens to skip test_support.test_freeze that is broken + # without bundled expat + # TODO: get a proper skip for it upstream + local -x LOGNAME=buildbot + + local test_opts=( + --verbose3 + -u-network + -j "$(makeopts_jobs)" + "${COMMON_TEST_SKIPS[@]}" + ) + + # bug 660358 + local -x COLUMNS=80 + local -x PYTHONDONTWRITEBYTECODE= + local -x TMPDIR=/var/tmp + + nonfatal emake -Onone test EXTRATESTOPTS="${test_opts[*]}" \ + CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty + local ret=${?} + + [[ ${ret} -eq 0 ]] || die "emake test failed" +} + +src_install() { + local libdir=${ED}/usr/lib/python${PYVER} + local build_dir=$(/dev/null + ) + newins Tools/gdb/libpython.py "${libname}"-gdb.py + + newconfd "${FILESDIR}/pydoc.conf" pydoc-${PYVER} + newinitd "${FILESDIR}/pydoc.init" pydoc-${PYVER} + sed \ + -e "s:@PYDOC_PORT_VARIABLE@:PYDOC${PYVER/./_}_PORT:" \ + -e "s:@PYDOC@:pydoc${PYVER}:" \ + -i "${ED}/etc/conf.d/pydoc-${PYVER}" \ + "${ED}/etc/init.d/pydoc-${PYVER}" || die "sed failed" +} + +pkg_postinst() { + if ver_replacing -lt 3.15.0_beta4; then + ewarn "Python 3.15.0b4 has broken its extension ABI. The extensions built" + ewarn "with older versions may crash at runtime or worse. To prevent this," + ewarn "please rebuild all extensions using the versoned ABI, e.g. using:" + ewarn + ewarn " emerge -1v \$(find /usr/lib/python3.15/site-packages -name '*.cpython-315-*.so')" + ewarn + ewarn "Note that if you enabled both python3_15 and python3_15t, then" + ewarn "the 3.15 rebuild should cover all 3.15t packages already." + fi +} diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.15.9999.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.15.9999.ebuild index b55eedb5b47..dcc4581f1d0 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.15.9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.15.9999.ebuild @@ -3,11 +3,11 @@ EAPI="8" -LLVM_COMPAT=( 19 ) +LLVM_COMPAT=( 21 ) LLVM_OPTIONAL=1 WANT_LIBTOOL="none" -inherit autotools check-reqs flag-o-matic git-r3 linux-info llvm-r1 +inherit autotools check-reqs eapi9-ver flag-o-matic git-r3 linux-info llvm-r2 inherit multiprocessing pax-utils toolchain-funcs PYVER=$(ver_cut 1-2) @@ -126,11 +126,26 @@ pkg_pretend() { ewarn "you can reproduce the problem with dev-lang/python[-jit]. Instead," ewarn "please consider reporting JIT problems upstream." fi + + if [[ ${MERGE_TYPE} != buildonly ]] && ver_replacing -lt 3.15.0_beta4; then + ewarn + ewarn "Python 3.15.0b4 has broken its extension ABI. The extensions built" + ewarn "with older versions may crash at runtime or worse after upgrading." + ewarn "A rebuild is recommended after the merge is complete, e.g. using:" + ewarn + ewarn " emerge -1v \$(find /usr/lib/python3.15/site-packages -name '*.cpython-315-*.so')" + ewarn + ewarn "Note that if you enabled both python3_15 and python3_15t, then" + ewarn "the 3.15 rebuild should cover all 3.15t packages already." + ewarn "If you do not wish to perform the rebuild at the time, it is" + ewarn "recommended to abort the upgrade." + ewarn + fi } pkg_setup() { if [[ ${MERGE_TYPE} != binary ]]; then - use jit && llvm-r1_pkg_setup + use jit && llvm-r2_pkg_setup if use test || use pgo; then check-reqs_pkg_setup @@ -599,3 +614,16 @@ src_install() { -i "${ED}/etc/conf.d/pydoc-${PYVER}" \ "${ED}/etc/init.d/pydoc-${PYVER}" || die "sed failed" } + +pkg_postinst() { + if ver_replacing -lt 3.15.0_beta4; then + ewarn "Python 3.15.0b4 has broken its extension ABI. The extensions built" + ewarn "with older versions may crash at runtime or worse. To prevent this," + ewarn "please rebuild all extensions using the versoned ABI, e.g. using:" + ewarn + ewarn " emerge -1v \$(find /usr/lib/python3.15/site-packages -name '*.cpython-315-*.so')" + ewarn + ewarn "Note that if you enabled both python3_15 and python3_15t, then" + ewarn "the 3.15 rebuild should cover all 3.15t packages already." + fi +} From 305694aa4aef0e62ce8adc67e3a7741492e522fa Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 3 Aug 2026 08:13:32 +0000 Subject: [PATCH 037/195] dev-lang/rust: Sync with Gentoo It's from Gentoo commit 4fc4aa56fe6e7449d538dca68c01417fa9e07306. Signed-off-by: Flatcar Buildbot --- .../portage-stable/dev-lang/rust/Manifest | 6 + .../dev-lang/rust/rust-1.96.1.ebuild | 952 ++++++++++++++++++ .../dev-lang/rust/rust-1.97.1.ebuild | 952 ++++++++++++++++++ .../dev-lang/rust/rust-9999.ebuild | 11 +- 4 files changed, 1916 insertions(+), 5 deletions(-) create mode 100644 sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.96.1.ebuild create mode 100644 sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.97.1.ebuild diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/rust/Manifest b/sdk_container/src/third_party/portage-stable/dev-lang/rust/Manifest index 8661a5e89a2..f46c2a8d986 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/rust/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-lang/rust/Manifest @@ -24,6 +24,8 @@ DIST rust-patches-1.93.1.tar.bz2 3186 BLAKE2B 6ff137eb2c1b43857922ac3d9b0cc3dbe7 DIST rust-patches-1.94.0.tar.bz2 3165 BLAKE2B 07187fcc95458cf3323490a54d648209ae24c9c44522f5c0bf2b12ac469e86dd1145d70557c7c09a097019b262f557af162fc3687bfda10451e2e164a0f4ec78 SHA512 39f9288335c62b477465c44904e922f1ce8b62c840a9b6ce2d13dee670f6935cfbccc88faf314d5e766103ada969513badee251b6485e8abaeadca7b65cf9e23 DIST rust-patches-1.94.1.tar.bz2 3152 BLAKE2B 211eb9785b231225f02673967b05cb0f1ff62aee429b5950d664088b6ca7fb7c9f7067e0652db5162a7440b1422b58419363644e6f871c75253ca4529c83c2f1 SHA512 da8c7ec860a5e4d093a2abf8933a0836bf00a4b93bd505f6726a90d11d97062365055baca34bd44ca62196521468f6400625ff4c5dfabff0959f05e3bbf614e7 DIST rust-patches-1.95.0.tar.bz2 2972 BLAKE2B f826baad880a245f9baa9c7ba4a2a7c70fe3d594c8ffb94e58633e5f4149e96a07ce561562cd3d9b303507d7299e535e7031165c108b53a962f8b848682e0c96 SHA512 0fb6662f20490b5fb0512bc670a98fa7d661476de2387fa8025edfbb8359fcef11c7e917e46750ea92231fb49a91b0228fbbe94dbf0427e7a5a924498328f3ce +DIST rust-patches-1.96.1.tar.bz2 2993 BLAKE2B e0e908bc33d6876e491291c6db012f3b670a84c4199faada379f49f2022b74b6f439a7bf26ef945a8f3c868e0493b4b95477ee51a403cafc21ca31449219c635 SHA512 dafbccc233fffad6a294164e536fc6c8d9fe803892ae3462731439ca02fd6e6dcbe17633eca55b308c2bab2436eabbd2bb7ecd2acc57ffb75a63a35f0d27b361 +DIST rust-patches-1.97.1.tar.bz2 2987 BLAKE2B 0db863f0c51612a619b74d08818987c18d13270f808db844f002c0eb0799430a7bfeefe026082584baa8cf0f3e1a0f5f018f94297d94ae9291e48a180ec90678 SHA512 6fec796d4c98b23814d0237e0cb5baa514dcd100ec875dd94a56f4d5d9614af4ba44d805fdf385cf36a8ffbdcf54e5f994c5b8212512c4dfb7f929be1f6494d3 DIST rustc-1.74.1-src.tar.xz 155968724 BLAKE2B e05f2379ac94b286f85791a138e1928e5b5b5a7749f0981d82c40c2a12860f55bf96bb2f0e924e35a0f8b2447b13052d38adea909aaa3199105787bb5a4861b3 SHA512 14c7e7ed2f38ab60299d8c7d41d78f042b6b57ef822d577b5138e60bdde31cf141eccd4332a25bc5da3d58eb5313d63c1448b5dfe9e11b8055bb8ea133a9038d DIST rustc-1.74.1-src.tar.xz.asc 801 BLAKE2B ddf73175b164233babf31ca3a381b03e20c0f36d017c1d5f85d6ab11f0986d861ab23b11c061e6b2444ced70c3d6a494cc3de4ec86f0deb221a805491bd75420 SHA512 9a96ff9ba9a4e2af4e267b2ec126fc0675c78d0eb767703daa2f28491c3d85c2ab00fbd8584390bf658812ec6c4ab6c57e43b386db59fd505bd3134a8873a09e DIST rustc-1.75.0-src.tar.xz 159624388 BLAKE2B 8937b80585eddaa3e1f1ef948899d14a170308518c6fef9fe569560cdd870053776956743f796055f2119399b9ca6c0df12fedd789ae46324d071e5126c4e495 SHA512 7b0f25d91b1b5c317980fc88e059200bd43b56a70b445fbc72fb9b96e09775bfd3a98e9bd9d662af80f0ce3aef527c777ee82777e96ca876f47a972d63da8606 @@ -76,3 +78,7 @@ DIST rustc-1.94.1-src.tar.xz 274077388 BLAKE2B 1c8c1b3f2d32898d7bfee5daa49b2d99c DIST rustc-1.94.1-src.tar.xz.asc 801 BLAKE2B 34559398b1fd0e7ff93ecf0d6a90c371048b70f834cd376a56f30b9890d9b786085a9149546a6c031e2e07bd4a349f1f3139f0e7f8bdae2a451dee47b5a13155 SHA512 6176d98acf9367e13afaef1c90ebca555f3ad08c44504f5cf23b7963959ee01ace1e99bf56aaf4f629bfb320eaca01b1940ba1819ce523d0cf336c97a69b21b7 DIST rustc-1.95.0-src.tar.xz 238952004 BLAKE2B 0f255678231df79c9910cf5d9efbd762d1955ad78512194e3e06b3cec327f346bc98c526d2a8468ea53f57132c9765a134fe203267c1f6696e6719db820f342a SHA512 685912ffff97063e55c85b2d15d06ba734980cef4b6e104caae1ea433958b12a8d651b757eef7b9f5b06dad3c246d819a5ee5574a26e05007ecdd378f0f041d0 DIST rustc-1.95.0-src.tar.xz.asc 801 BLAKE2B 90871b7ef3b69d0e4ef74892e16c0efab1c7ff796f646a3ef8653408d0155d528e418f71dcafca66c0689d38a3b3fba7128b1f32f4e69b7df36d86be8114bdbe SHA512 f70ed8071eff3470d4c288b83951e05f2ced52052a2f796113eb18db2c1f4bf81796f61434c322772dda879146d63569fd545d94d17e478a9588a333159c389c +DIST rustc-1.96.1-src.tar.xz 241602032 BLAKE2B b8a489293a232faf24a7eaaa439f752bc46848faecc67f5a6462632b33116628a76af8687ce27d42ac0a8662403ee83610e628059ff56651be67aaee88cdfa53 SHA512 fa835f26e1969cababc3c32eeb064548fcb4f05cd1a25fd1b5f6f12660170225b389ca3442da1ef23f999e34ca8ec348810c498d1fff0bee140ec372a37009b1 +DIST rustc-1.96.1-src.tar.xz.asc 801 BLAKE2B b54bed57d90fed66806fe0b16c6d81d880bf0398030d639cdc440d7df5a8699d1d0ec5803baee9f0ffd9503be11be3b202f6f4ec86a2167f5349317a714bd265 SHA512 1765666d2509d93cbbad5f47507ba7510fc07cf650689238a8d39d33be0d85a06c4cd67281d78a1b5e29258002d7dd6da912c9015a8d0e942ee01fc46fa0dca3 +DIST rustc-1.97.1-src.tar.xz 242787896 BLAKE2B d54e89d84b25d68761663f1c243480f1bb061c30ee17e731f3d9cd1ff52639cf198647347884d7325f2dbc1582a3d8095908352edcb944a49e5b0581160d5fb6 SHA512 a04178bf0f2c43cbb503a5ea48145eebfee371766a589c0855079ae6a7f3945223850dcc6bce2a94b9f9ead1595d99de09bb00cd6180300e0da58dc247f043eb +DIST rustc-1.97.1-src.tar.xz.asc 801 BLAKE2B d0841e9decf17d18c13c33bf0bdb8a51873799465bafa402090f7f680046d141eea0a633278a7387ee741a8a5dd6ceac40384b4a06132e99b34bb7e22f740d04 SHA512 9d3ca698b1a1a453cac8758622609414f10868e8890491d8cd8c0eed796b689623f91cc28377c1e4c33095f02e92af7d1230458fe4e1fd830b6139799af50f32 diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.96.1.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.96.1.ebuild new file mode 100644 index 00000000000..905eb46cf0e --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.96.1.ebuild @@ -0,0 +1,952 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# Bump notes: https://wiki.gentoo.org/wiki/Project:Rust/Rust_bump + +LLVM_COMPAT=( 22 ) +PYTHON_COMPAT=( python3_{12..14} ) + +# Patches are kept in rust-patches.git, see its README.rst for the versioning +# scheme. +# +# We use _pN from the ebuild version for the patchset but it can be overridden +# in the ebuild for changes that don't require a revbump. +# +# Uncomment this line when the ebuild needs a patchset update but no revbump. +# RUST_PATCH_VER=${PV}-1 + +RUST_MAX_VER=${PV%%_*} +RUST_PV=${PV%%_p*} +RUST_P=${PN}-${RUST_PV} +[[ -z ${RUST_PATCH_VER} ]] && RUST_PATCH_VER=${PV} + +if [[ ${PV} == *9999* ]]; then + # Update this as new `beta` releases come out. + RUST_MIN_VER="1.93.0" +elif [[ ${PV} == *beta* ]]; then + RUST_MIN_VER="$(ver_cut 1).$(($(ver_cut 2) - 1)).0" +else + RUST_MIN_VER="$(ver_cut 1).$(($(ver_cut 2) - 1)).0" +fi + +inherit check-reqs estack flag-o-matic llvm-r1 multiprocessing optfeature +inherit multilib multilib-build python-any-r1 rust rust-toolchain toolchain-funcs +inherit verify-sig + +if [[ ${PV} = *9999* ]]; then + inherit git-r3 +elif [[ ${PV} == *beta* ]]; then + # Identify the snapshot date of the beta release: + # curl -Ls static.rust-lang.org/dist/channel-rust-beta.toml | grep beta-src.tar.xz + betaver=${PV//*beta} + BETA_SNAPSHOT="${betaver:0:4}-${betaver:4:2}-${betaver:6:2}" + MY_P="rustc-beta" + SRC_URI=" + https://static.rust-lang.org/dist/${BETA_SNAPSHOT}/rustc-beta-src.tar.xz -> rustc-${RUST_PV}-src.tar.xz + https://gitweb.gentoo.org/proj/rust-patches.git/snapshot/rust-patches-${RUST_PATCH_VER}.tar.bz2 + verify-sig? ( + https://static.rust-lang.org/dist/${BETA_SNAPSHOT}/rustc-beta-src.tar.xz.asc + -> rustc-${RUST_PV}-src.tar.xz.asc + ) + " + S="${WORKDIR}/${MY_P}-src" +else + MY_P="rustc-${RUST_PV}" + SRC_URI=" + https://static.rust-lang.org/dist/${MY_P}-src.tar.xz + https://gitweb.gentoo.org/proj/rust-patches.git/snapshot/rust-patches-${RUST_PATCH_VER}.tar.bz2 + verify-sig? ( https://static.rust-lang.org/dist/${MY_P}-src.tar.xz.asc ) + " + S="${WORKDIR}/${MY_P}-src" + + KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86" +fi + +DESCRIPTION="Systems programming language originally developed by Mozilla" +HOMEPAGE="https://www.rust-lang.org/" + +# keep in sync with llvm ebuild of the same version as bundled one. +ALL_LLVM_TARGETS=( AArch64 AMDGPU ARC ARM AVR BPF CSKY DirectX Hexagon Lanai ) +ALL_LLVM_TARGETS+=( LoongArch M68k Mips MSP430 NVPTX PowerPC RISCV Sparc SPIRV ) +ALL_LLVM_TARGETS+=( SystemZ VE WebAssembly X86 XCore Xtensa ) +ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" ) +LLVM_TARGET_USEDEPS=${ALL_LLVM_TARGETS[@]/%/(-)?} + +# https://github.com/rust-lang/llvm-project/blob/rustc-1.87.0/llvm/CMakeLists.txt +_ALL_RUST_EXPERIMENTAL_TARGETS=( ARC CSKY DirectX M68k Xtensa ) +declare -A ALL_RUST_EXPERIMENTAL_TARGETS +for _x in "${_ALL_RUST_EXPERIMENTAL_TARGETS[@]}"; do + ALL_RUST_EXPERIMENTAL_TARGETS["llvm_targets_${_x}"]=0 +done + +# Bare metal targets which can be built on the host system and have no +# dependency on compiler runtime, libc and unwinder. +ALL_RUST_SYSROOTS=( bpf wasm ) +ALL_RUST_SYSROOTS=( "${ALL_RUST_SYSROOTS[@]/#/rust_sysroots_}" ) + +LICENSE="|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4" +SLOT="${PV%%_*}" # Beta releases get to share the same SLOT as the eventual stable + +IUSE="big-endian +clippy cpu_flags_x86_sse2 debug dist doc llvm-libunwind lto" +IUSE+=" +rustfmt rust-analyzer rust-src +system-llvm test" +IUSE+=" ${ALL_LLVM_TARGETS[*]} ${ALL_RUST_SYSROOTS[*]}" + +if [[ ${PV} = *9999* ]]; then + # These USE flags require nightly rust + IUSE+=" miri" +fi + +LLVM_DEPEND=() +# splitting usedeps needed to avoid CI/pkgcheck's UncheckableDep limitation +for _x in "${ALL_LLVM_TARGETS[@]}"; do + LLVM_DEPEND+=( " ${_x}? ( $(llvm_gen_dep "llvm-core/llvm:\${LLVM_SLOT}[${_x}=]") )" ) + if [[ -v ALL_RUST_EXPERIMENTAL_TARGETS["${_x}"] ]] ; then + ALL_RUST_EXPERIMENTAL_TARGETS["${_x}"]=1 + fi +done +LLVM_DEPEND+=( " rust_sysroots_wasm? ( $(llvm_gen_dep 'llvm-core/lld:${LLVM_SLOT}') )" ) +LLVM_DEPEND+=( " $(llvm_gen_dep 'llvm-core/llvm:${LLVM_SLOT}')" ) + +# dev-libs/oniguruma is used for documentation +BDEPEND=" + ${PYTHON_DEPS} + app-eselect/eselect-rust + dev-libs/oniguruma + || ( + >=sys-devel/gcc-4.7[cxx] + >=llvm-core/clang-3.5 + ) + lto? ( system-llvm? ( + || ( + $(llvm_gen_dep 'llvm-core/lld:${LLVM_SLOT}') + sys-devel/mold + ) + ) ) + rust_sysroots_wasm? ( llvm-core/clang ) + !system-llvm? ( + >=dev-build/cmake-3.13.4 + app-alternatives/ninja + ) + test? ( dev-debug/gdb ) + verify-sig? ( sec-keys/openpgp-keys-rust ) +" + +DEPEND=" + >=app-arch/xz-utils-5.2 + dev-db/sqlite:3 + net-misc/curl[http2,ssl] + virtual/zlib:= + dev-libs/openssl:0= + system-llvm? ( + ${LLVM_DEPEND[*]} + llvm-libunwind? ( llvm-runtimes/libunwind:= ) + ) + !system-llvm? ( + !llvm-libunwind? ( + elibc_musl? ( sys-libs/libunwind:= ) + ) + ) +" + +RDEPEND=" + ${DEPEND} + app-eselect/eselect-rust + dev-lang/rust-common + sys-apps/lsb-release + !dev-lang/rust:stable + !dev-lang/rust-bin:stable +" + +REQUIRED_USE=" + || ( ${ALL_LLVM_TARGETS[*]} ) + rust-analyzer? ( rust-src ) + test? ( ${ALL_LLVM_TARGETS[*]} ) + rust_sysroots_bpf? ( llvm_targets_BPF ) + rust_sysroots_wasm? ( llvm_targets_WebAssembly ) + x86? ( cpu_flags_x86_sse2 ) +" + +# we don't use cmake.eclass, but can get a warning +CMAKE_WARN_UNUSED_CLI=no + +QA_FLAGS_IGNORED=" + usr/lib/${PN}/${SLOT}/bin/.* + usr/lib/${PN}/${SLOT}/libexec/.* + usr/lib/${PN}/${SLOT}/lib/lib.*.so + usr/lib/${PN}/${SLOT}/lib/rustlib/.*/bin/.* + usr/lib/${PN}/${SLOT}/lib/rustlib/.*/lib/lib.*.so +" + +QA_SONAME=" + usr/lib/${PN}/${SLOT}/lib/lib.*.so.* + usr/lib/${PN}/${SLOT}/lib/rustlib/.*/lib/lib.*.so +" + +QA_PRESTRIPPED=" + usr/lib/${PN}/${SLOT}/lib/rustlib/.*/bin/rust-llvm-dwp + usr/lib/${PN}/${SLOT}/lib/rustlib/.*/bin/rust-objcopy + usr/lib/${PN}/${SLOT}/lib/rustlib/.*/lib/self-contained/crtn.o +" + +# An rmeta file is custom binary format that contains the metadata for the crate. +# rmeta files do not support linking, since they do not contain compiled object files. +# so we can safely silence the warning for this QA check. +QA_EXECSTACK="usr/lib/${PN}/${SLOT}/lib/rustlib/*/lib*.rlib:lib.rmeta" + +# causes double bootstrap +RESTRICT="test" + +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/rust.asc + +clear_vendor_checksums() { + sed -i 's/\("files":{\)[^}]*/\1/' "vendor/${1}/.cargo-checksum.json" || die +} + +toml_usex() { + usex "${1}" true false +} + +pre_build_checks() { + local M=9216 + # multiply requirements by 1.3 if we are doing x86-multilib + if use amd64; then + M=$(( $(usex abi_x86_32 13 10) * ${M} / 10 )) + fi + M=$(( $(usex clippy 128 0) + ${M} )) + if [[ ${PV} == *9999* ]]; then + M=$(( $(usex miri 128 0) + ${M} )) + fi + M=$(( $(usex rustfmt 256 0) + ${M} )) + # add 2G if we compile llvm and 256M per llvm_target + if ! use system-llvm; then + M=$(( 2048 + ${M} )) + local ltarget + for ltarget in ${ALL_LLVM_TARGETS[@]}; do + M=$(( $(usex ${ltarget} 256 0) + ${M} )) + done + fi + M=$(( $(usex rust_sysroots_bpf 256 0) + ${M} )) + M=$(( $(usex rust_sysroots_wasm 256 0) + ${M} )) + M=$(( $(usex debug 2 1) * ${M} )) + eshopts_push -s extglob + if is-flagq '-g?(gdb)?([1-9])'; then + M=$(( 15 * ${M} / 10 )) + fi + eshopts_pop + M=$(( $(usex doc 256 0) + ${M} )) + CHECKREQS_DISK_BUILD=${M}M check-reqs_pkg_${EBUILD_PHASE} +} + +llvm_check_deps() { + has_version -r "llvm-core/llvm:${LLVM_SLOT}[${LLVM_TARGET_USEDEPS// /,}]" +} + +# Is LLVM being linked against libc++? +is_libcxx_linked() { + local code='#include +#if defined(_LIBCPP_VERSION) + HAVE_LIBCXX +#endif +' + local out=$($(tc-getCXX) ${CXXFLAGS} ${CPPFLAGS} -x c++ -E -P - <<<"${code}") || return 1 + [[ ${out} == *HAVE_LIBCXX* ]] +} + +pkg_pretend() { + pre_build_checks +} + +pkg_setup() { + pre_build_checks + python-any-r1_pkg_setup + + export LIBGIT2_NO_PKG_CONFIG=1 #749381 + if tc-is-cross-compiler; then + use system-llvm && die "USE=system-llvm not allowed when cross-compiling" + local cross_llvm_target="$(llvm_tuple_to_target "${CBUILD}")" + use "llvm_targets_${cross_llvm_target}" || \ + die "Must enable LLVM_TARGETS=${cross_llvm_target} matching CBUILD=${CBUILD} when cross-compiling" + fi + + rust_pkg_setup + + if use system-llvm; then + llvm-r1_pkg_setup + + local llvm_config="$(get_llvm_prefix)/bin/llvm-config" + export LLVM_LINK_SHARED=1 + export RUSTFLAGS="${RUSTFLAGS} -Lnative=$("${llvm_config}" --libdir)" + fi +} + +rust_live_get_sources() { + EGIT_REPO_URI=" + https://anongit.gentoo.org/git/proj/rust-patches.git + " + EGIT_CHECKOUT_DIR="${WORKDIR}/rust-patches-${RUST_PATCH_VER}" + git-r3_src_unpack + + EGIT_REPO_URI=" + https://github.com/rust-lang/rust.git + " + EGIT_SUBMODULES=( + "*" + "-src/gcc" + ) + S="${WORKDIR}/rust" + EGIT_CHECKOUT_DIR="${S}" + git-r3_src_unpack +} + +src_unpack() { + if [[ ${PV} == *9999* ]] ; then + rust_live_get_sources + + # Vendor dependencies + mkdir "${S}/.cargo" || die # The vendor script has a check for .cargo/config{,.toml} + touch "${S}/.cargo/bootstrap.toml" || die + local rust_stage0_root="$(${RUSTC} --print sysroot || die "Can't determine rust's sysroot")" + # Configure vendor to use the portage-provided toolchain. This prevents it from + # attempting to fetch a `beta` toolchain from the internet. + cat <<- _EOF_ > "${T}/vendor-bootstrap.toml" + # Suppresses a warning about tracking changes which we don't care about. + change-id = "ignore" + [build] + build = "$(rust_abi "${CBUILD}")" + host = ["$(rust_abi "${CHOST}")"] + target = ["$(rust_abi "${CHOST}")"] + cargo = "${rust_stage0_root}/bin/cargo" + rustc = "${rust_stage0_root}/bin/rustc" + rustfmt = "${rust_stage0_root}/bin/rustfmt" + _EOF_ + # We're using git sources so we need to run the Vendor script + # to ensure that all dependencies are present and up-to-date + mkdir "${S}/vendor" || die + # This also compiles the 'build helper', there's no way to avoid this. + ${EPYTHON} "${S}"/x.py vendor -v --config="${T}"/vendor-bootstrap.toml \ + -j$(get_makeopts_jobs) || + die "Failed to vendor dependencies" + # TODO: This has to be generated somehow, this is from a 1.84.x tarball I had lying around. + cat <<- _EOF_ > "${S}/.cargo/config.toml" + [source.crates-io] + replace-with = "vendored-sources" + + [source."git+https://github.com/rust-lang/team"] + git = "https://github.com/rust-lang/team" + replace-with = "vendored-sources" + + [source.vendored-sources] + directory = "vendor" + _EOF_ + elif use verify-sig ; then + # Patch tarballs are not signed (but we trust Gentoo infra) + verify-sig_verify_detached "${DISTDIR}"/rustc-${RUST_PV}-src.tar.xz{,.asc} + default + else + default + fi +} + +src_prepare() { + # Commit patches to the appropriate branch in proj/rust-patches.git + # then cut a new tag / tarball. Don't add patches to ${FILESDIR} + PATCHES=( + "${WORKDIR}/rust-patches-${RUST_PATCH_VER}/" + ) + + if use lto && tc-is-clang && ! tc-ld-is-lld && ! tc-ld-is-mold; then + export RUSTFLAGS+=" -C link-arg=-fuse-ld=lld" + fi + + default +} + +src_configure() { + if tc-is-cross-compiler; then + export PKG_CONFIG_ALLOW_CROSS=1 + + local rust_host_triple="$(rust_abi "${CHOST}")" + + # https://docs.rs/pkg-config/latest/pkg_config/#cross-compilation + local pcvar + for pcvar in PKG_CONFIG_{PATH,LIBDIR} ; do + pcvar="${pcvar}_${rust_host_triple//-/_}" + + [[ -n ${!pcvar} ]] && continue + + case ${pcvar} in + *PKG_CONFIG_PATH*) + printf -v "${pcvar}" "${ESYSROOT}/usr/$(get_libdir)/pkgconfig" + ;; + *PKG_CONFIG_LIBDIR*) + printf -v "${pcvar}" "${ESYSROOT}/usr/$(get_libdir)" + ;; + *) + continue + ;; + esac + + export "${pcvar}" + done + + # https://docs.rs/openssl/latest/openssl/#manual + local osslvar + for osslvar in OPENSSL_{INCLUDE_,LIB_,}DIR ; do + osslvar="${rust_host_triple}_${osslvar}" + osslvar="${osslvar^^}" + osslvar="${osslvar//-/_}" + + [[ -n ${!osslvar} ]] && continue + + case ${osslvar} in + *OPENSSL_DIR*) + printf -v "${osslvar}" "${ESYSROOT}/usr" + ;; + *OPENSSL_INCLUDE_DIR*) + printf -v "${osslvar}" "${ESYSROOT}/usr/include" + ;; + *OPENSSL_LIB_DIR*) + printf -v "${osslvar}" "${ESYSROOT}/usr/$(get_libdir)" + ;; + *) + continue + ;; + esac + + export "${osslvar}" + done + + # https://issues.chromium.org/issues/357917328 + # https://github.com/rust-lang/libz-sys/blob/1.1.18/build.rs#L25 + export LIBZ_SYS_STATIC=1 + fi + + # Avoid bundled copies of libraries + export RUSTONIG_SYSTEM_LIBONIG=1 + export LIBSQLITE3_SYS_USE_PKG_CONFIG=1 + + filter-lto # https://bugs.gentoo.org/862109 https://bugs.gentoo.org/866231 + + local rust_target="" rust_targets="" arch_cflags + + # Collect rust target names to compile standard libs for all ABIs. + for v in $(multilib_get_enabled_abi_pairs); do + rust_targets+=",\"$(rust_abi $(get_abi_CHOST ${v##*.}))\"" + done + if use rust_sysroots_bpf; then + rust_targets+=",\"bpfeb-unknown-none\",\"bpfel-unknown-none\"" + fi + if use rust_sysroots_wasm; then + rust_targets+=",\"wasm32-unknown-unknown\"" + if use system-llvm; then + # un-hardcode rust-lld linker for this target + # https://bugs.gentoo.org/715348 + sed -i '/linker:/ s/rust-lld/wasm-ld/' compiler/rustc_target/src/spec/base/wasm.rs || die + fi + fi + rust_targets="${rust_targets#,}" + + # cargo and rustdoc are mandatory and should always be included + local tools='"cargo","rustdoc"' + use clippy && tools+=',"clippy"' + use rustfmt && tools+=',"rustfmt"' + use rust-analyzer && tools+=',"rust-analyzer","rust-analyzer-proc-macro-srv"' + use rust-src && tools+=',"src"' + + if [[ ${PV} == *9999* ]]; then + use miri && tools+=',"miri"' + fi + + local rust_stage0_root="$(${RUSTC} --print sysroot || die "Can't determine rust's sysroot")" + # in case of prefix it will be already prefixed, as --print sysroot returns full path + [[ -d ${rust_stage0_root} ]] || die "${rust_stage0_root} is not a directory" + + rust_target="$(rust_abi)" + rust_build="$(rust_abi "${CBUILD}")" + rust_host="$(rust_abi "${CHOST}")" + + RUST_EXPERIMENTAL_TARGETS=() + for _x in "${!ALL_RUST_EXPERIMENTAL_TARGETS[@]}"; do + if [[ ${ALL_RUST_EXPERIMENTAL_TARGETS[${_x}]} == 1 ]] && use ${_x} ; then + RUST_EXPERIMENTAL_TARGETS+=( ${_x#llvm_targets_} ) + fi + done + RUST_EXPERIMENTAL_TARGETS=${RUST_EXPERIMENTAL_TARGETS[@]} + + local cm_btype="$(usex debug DEBUG RELEASE)" + local build_channel + local build_miri="false" + case "${PV}" in + *9999*) + build_channel="nightly" + ;; + *beta*) + build_channel="beta" + ;; + *) + build_channel="stable" + ;; + esac + + # TODO: Add optimized-compiler-builtins for system-llvm to avoid + # building bundled compiler-rt. + cat <<- _EOF_ > "${S}"/bootstrap.toml + # Suppresses a warning about tracking changes which we don't care about. + change-id = "ignore" + # https://github.com/rust-lang/rust/issues/135358 (bug #947897) + profile = "dist" + [llvm] + download-ci-llvm = false + optimize = $(toml_usex !debug) + release-debuginfo = $(toml_usex debug) + assertions = $(toml_usex debug) + ninja = true + targets = "${LLVM_TARGETS// /;}" + experimental-targets = "${RUST_EXPERIMENTAL_TARGETS// /;}" + link-shared = $(toml_usex system-llvm) + $(if is_libcxx_linked; then + # https://bugs.gentoo.org/732632 + echo "use-libcxx = true" + echo "static-libstdcpp = false" + fi) + $(case "${rust_target}" in + i586-*-linux-*) + # https://github.com/rust-lang/rust/issues/93059 + echo 'cflags = "-fcf-protection=none"' + echo 'cxxflags = "-fcf-protection=none"' + echo 'ldflags = "-fcf-protection=none"' + ;; + *) + ;; + esac) + enable-warnings = false + [llvm.build-config] + CMAKE_VERBOSE_MAKEFILE = "ON" + $(if ! tc-is-cross-compiler; then + # When cross-compiling, LLVM is compiled twice, once for host and + # once for target. Unfortunately, this build configuration applies + # to both, which means any flags applicable to one target but not + # the other will break. Conditionally disable respecting user + # flags when cross-compiling. + echo "CMAKE_C_FLAGS_${cm_btype} = \"${CFLAGS}\"" + echo "CMAKE_CXX_FLAGS_${cm_btype} = \"${CXXFLAGS}\"" + echo "CMAKE_EXE_LINKER_FLAGS_${cm_btype} = \"${LDFLAGS}\"" + echo "CMAKE_MODULE_LINKER_FLAGS_${cm_btype} = \"${LDFLAGS}\"" + echo "CMAKE_SHARED_LINKER_FLAGS_${cm_btype} = \"${LDFLAGS}\"" + echo "CMAKE_STATIC_LINKER_FLAGS_${cm_btype} = \"${ARFLAGS}\"" + fi) + [build] + build-stage = 2 + test-stage = 2 + build = "${rust_build}" + host = ["${rust_host}"] + target = [${rust_targets}] + cargo = "${rust_stage0_root}/bin/cargo" + rustc = "${rust_stage0_root}/bin/rustc" + rustfmt = "${rust_stage0_root}/bin/rustfmt" + description = "gentoo" + docs = $(toml_usex doc) + compiler-docs = false + submodules = false + python = "${EPYTHON}" + locked-deps = true + vendor = true + extended = true + tools = [${tools}] + verbose = 2 + sanitizers = false + profiler = true + cargo-native-static = false + [install] + prefix = "${EPREFIX}/usr/lib/${PN}/${SLOT}" + sysconfdir = "etc" + docdir = "share/doc/rust" + bindir = "bin" + libdir = "lib" + mandir = "share/man" + [rust] + # https://github.com/rust-lang/rust/issues/54872 + codegen-units-std = 1 + optimize = true + debug = $(toml_usex debug) + debug-assertions = $(toml_usex debug) + debug-assertions-std = $(toml_usex debug) + debuginfo-level = $(usex debug 2 0) + debuginfo-level-rustc = $(usex debug 2 0) + debuginfo-level-std = $(usex debug 2 0) + debuginfo-level-tools = $(usex debug 2 0) + debuginfo-level-tests = 0 + backtrace = true + incremental = false + $(if ! tc-is-cross-compiler; then + echo "default-linker = \"${CHOST}-cc\"" + fi) + channel = "${build_channel}" + rpath = true + verbose-tests = true + optimize-tests = $(toml_usex !debug) + codegen-tests = true + omit-git-hash = false + dist-src = false + remap-debuginfo = true + lld = $(usex system-llvm false $(toml_usex rust_sysroots_wasm)) + $(if use lto && tc-is-clang && ! tc-ld-is-mold; then + echo "use-lld = true" + fi) + # only deny warnings if doc+wasm are NOT requested, documenting stage0 wasm std fails without it + # https://github.com/rust-lang/rust/issues/74976 + # https://github.com/rust-lang/rust/issues/76526 + deny-warnings = $(usex rust_sysroots_wasm $(usex doc false true) true) + backtrace-on-ice = true + jemalloc = false + # See https://github.com/rust-lang/rust/issues/121124 + lto = "$(usex lto thin off)" + [dist] + src-tarball = false + compression-formats = ["xz"] + compression-profile = "balanced" + _EOF_ + + for v in $(multilib_get_enabled_abi_pairs); do + rust_target=$(rust_abi $(get_abi_CHOST ${v##*.})) + arch_cflags="$(get_abi_CFLAGS ${v##*.})" + + export CFLAGS_${rust_target//-/_}="${arch_cflags}" + + cat <<- _EOF_ >> "${S}"/bootstrap.toml + [target.${rust_target}] + ar = "$(tc-getAR)" + cc = "$(tc-getCC)" + cxx = "$(tc-getCXX)" + linker = "$(tc-getCC)" + ranlib = "$(tc-getRANLIB)" + llvm-libunwind = "$(usex llvm-libunwind $(usex system-llvm system in-tree) no)" + _EOF_ + if use system-llvm; then + cat <<- _EOF_ >> "${S}"/bootstrap.toml + llvm-config = "$(get_llvm_prefix)/bin/llvm-config" + _EOF_ + fi + # by default librustc_target/spec/linux_musl_base.rs sets base.crt_static_default = true; + # but we patch it and set to false here as well + if use elibc_musl; then + cat <<- _EOF_ >> "${S}"/bootstrap.toml + crt-static = false + musl-root = "$($(tc-getCC) -print-sysroot)/usr" + _EOF_ + fi + done + if use rust_sysroots_wasm; then + wasm_target="wasm32-unknown-unknown" + if tc-is-clang; then + local wasm_cc=$(tc-getCC) + local wasm_cxx=$(tc-getCXX) + else + local wasm_cc=${CHOST}-clang + local wasm_cxx=${CHOST}-clang++ + fi + export CFLAGS_${wasm_target//-/_}="$( + CC="${wasm_cc} --target=wasm32-unknown-unknown" + filter-flags '-mcpu*' '-march*' '-mtune*' + strip-unsupported-flags + echo "${CFLAGS}" + )" + cat <<- _EOF_ >> "${S}"/bootstrap.toml + [target.wasm32-unknown-unknown] + cc = "${wasm_cc}" + cxx = "${wasm_cxx}" + linker = "$(usex system-llvm lld rust-lld)" + # wasm target does not have profiler_builtins https://bugs.gentoo.org/848483 + profiler = false + _EOF_ + fi + + if [[ -n ${I_KNOW_WHAT_I_AM_DOING_CROSS} ]]; then # whitespace intentionally shifted below + # experimental cross support + # discussion: https://bugs.gentoo.org/679878 + # TODO: c*flags, clang, system-llvm, cargo.eclass target support + # it would be much better if we could split out stdlib + # complilation to separate ebuild and abuse CATEGORY to + # just install to /usr/lib/rustlib/ + + # extra targets defined as a bash array + # spec format: :: + # best place would be /etc/portage/env/dev-lang/rust + # Example: + # RUST_CROSS_TARGETS=( + # "AArch64:aarch64-unknown-linux-gnu:aarch64-unknown-linux-gnu" + # ) + # no extra hand holding is done, no target transformations, all + # values are passed as-is with just basic checks, so it's up to user to supply correct values + # valid rust targets can be obtained with + # rustc --print target-list + # matching cross toolchain has to be installed + # matching LLVM_TARGET has to be enabled for both rust and llvm (if using system one) + # only gcc toolchains installed with crossdev are checked for now. + + # BUG: we can't pass host flags to cross compiler, so just filter for now + # BUG: this should be more fine-grained. + filter-flags '-mcpu=*' '-march=*' '-mtune=*' + + local cross_target_spec + for cross_target_spec in "${RUST_CROSS_TARGETS[@]}";do + # extracts first element form :: + local cross_llvm_target="${cross_target_spec%%:*}" + # extracts toolchain triples, : + local cross_triples="${cross_target_spec#*:}" + # extracts first element after before : separator + local cross_rust_target="${cross_triples%%:*}" + # extracts last element after : separator + local cross_toolchain="${cross_triples##*:}" + use llvm_targets_${cross_llvm_target} || die "need llvm_targets_${cross_llvm_target} target enabled" + command -v ${cross_toolchain}-gcc > /dev/null 2>&1 || die "need ${cross_toolchain} cross toolchain" + + cat <<- _EOF_ >> "${S}"/bootstrap.toml + [target.${cross_rust_target}] + ar = "${cross_toolchain}-ar" + cc = "${cross_toolchain}-gcc" + cxx = "${cross_toolchain}-g++" + linker = "${cross_toolchain}-gcc" + ranlib = "${cross_toolchain}-ranlib" + _EOF_ + if use system-llvm; then + cat <<- _EOF_ >> "${S}"/bootstrap.toml + llvm-config = "$(get_llvm_prefix)/bin/llvm-config" + _EOF_ + fi + if [[ "${cross_toolchain}" == *-musl* ]]; then + cat <<- _EOF_ >> "${S}"/bootstrap.toml + musl-root = "$(${cross_toolchain}-gcc -print-sysroot)/usr" + _EOF_ + fi + if [[ "${cross_rust_target}" == *-uefi ]]; then + # Profiler is not supported on bare-metal + cat <<- _EOF_ >> "${S}"/bootstrap.toml + profiler = false + _EOF_ + fi + + # append cross target to "normal" target list + # example 'target = ["powerpc64le-unknown-linux-gnu"]' + # becomes 'target = ["powerpc64le-unknown-linux-gnu","aarch64-unknown-linux-gnu"]' + + rust_targets="${rust_targets},\"${cross_rust_target}\"" + sed -i "/^target = \[/ s#\[.*\]#\[${rust_targets}\]#" bootstrap.toml || die + + ewarn + ewarn "Enabled ${cross_rust_target} rust target" + ewarn "Using ${cross_toolchain} cross toolchain" + ewarn + if ! has_version -b 'sys-devel/binutils[multitarget]' ; then + ewarn "'sys-devel/binutils[multitarget]' is not installed" + ewarn "'strip' will be unable to strip cross libraries" + ewarn "cross targets will be installed with full debug information" + ewarn "enable 'multitarget' USE flag for binutils to be able to strip object files" + ewarn + ewarn "Alternatively llvm-strip can be used, it supports stripping any target" + ewarn "define STRIP=\"llvm-strip\" to use it (experimental)" + ewarn + fi + done + fi # I_KNOW_WHAT_I_AM_DOING_CROSS + + einfo "Rust configured with the following flags:" + echo + echo RUSTFLAGS="\"${RUSTFLAGS}\"" + echo RUSTFLAGS_BOOTSTRAP="\"${RUSTFLAGS_BOOTSTRAP}\"" + echo RUSTFLAGS_NOT_BOOTSTRAP="\"${RUSTFLAGS_NOT_BOOTSTRAP}\"" + echo MAGIC_EXTRA_RUSTFLAGS="\"${MAGIC_EXTRA_RUSTFLAGS}\"" + env | grep "CARGO_TARGET_.*_RUSTFLAGS=" + env | grep "CFLAGS_.*" + echo + einfo "bootstrap.toml contents:" + cat "${S}"/bootstrap.toml || die + echo +} + +src_compile() { + # -v will show invocations, -vv "very verbose" is overkill, -vvv "very very verbose" is insane + RUST_BACKTRACE=1 "${EPYTHON}" ./x.py build -v \ + --config="${S}"/bootstrap.toml -j$(get_makeopts_jobs) || die +} + +src_test() { + # https://rustc-dev-guide.rust-lang.org/tests/intro.html + + # those are basic and codegen tests. + local tests=( + codegen-units + crashes + codegen-llvm + incremental + mir-opt + pretty + run-make + run-make-cargo + ) + + # tests for standard and core library + local std_tests=( + std + core + ) + + # fails if llvm is not built with ALL targets. + # and known to fail with system llvm sometimes. + use system-llvm || tests+=( assembly-llvm ) + + # fragile/expensive/less important tests + # or tests that require extra builds + # TODO: instead of skipping, just make some nonfatal. + if [[ ${ERUST_RUN_EXTRA_TESTS:-no} != no ]]; then + tests+=( + rustdoc + rustdoc-js + rustdoc-js-std + rustdoc-ui + ui + ui-fulldeps + ) + fi + + local i failed=() + einfo "rust_src_test: enabled tests ${tests[@]} ${std_tests[@]}" + for i in "tests/${tests[@]}" "library/${std_tests[@]}"; do + local t="${i}" + einfo "rust_src_test: running ${t}" + if ! RUST_BACKTRACE=1 "${EPYTHON}" ./x.py test -vv --config="${S}"/bootstrap.toml \ + -j$(get_makeopts_jobs) --no-doc --no-fail-fast "${t}" + then + failed+=( "${t}" ) + eerror "rust_src_test: ${t} failed" + fi + done + + if [[ ${#failed[@]} -ne 0 ]]; then + eerror "rust_src_test: failure summary: ${failed[@]}" + die "aborting due to test failures" + fi +} + +src_install() { + DESTDIR="${D}" "${EPYTHON}" ./x.py install -v \ + --config="${S}"/bootstrap.toml -j$(get_makeopts_jobs) || die + + docompress /usr/lib/${PN}/${SLOT}/share/man/ + + # bash-completion files are installed by dev-lang/rust-common instead + # bug #689562, #689160. + rm -v "${ED}/usr/lib/${PN}/${SLOT}/etc/bash_completion.d/cargo" || die + rmdir -v "${ED}/usr/lib/${PN}/${SLOT}/etc/bash_completion.d" || die + + local symlinks=( + cargo + rustc + rustdoc + rust-gdb + rust-gdbgui + rust-lldb + ) + + use clippy && symlinks+=( clippy-driver cargo-clippy ) + if [[ ${PV} = *9999* ]]; then + use miri && symlinks+=( miri cargo-miri ) + fi + use rustfmt && symlinks+=( rustfmt cargo-fmt ) + use rust-analyzer && symlinks+=( rust-analyzer ) + + einfo "installing eselect-rust symlinks and paths: ${symlinks[@]}" + local i + for i in "${symlinks[@]}"; do + # we need realpath on /usr/bin/* symlink return version-appended binary path. + # so /usr/bin/rustc should point to /usr/lib/rust//bin/rustc- + # need to fix eselect-rust to remove this hack. + local ver_i="${i}-${RUST_PV%%_*}" + if [[ -f "${ED}/usr/lib/${PN}/${SLOT}/bin/${i}" ]]; then + einfo "Installing ${i} symlink" + ln -v "${ED}/usr/lib/${PN}/${SLOT}/bin/${i}" "${ED}/usr/lib/${PN}/${SLOT}/bin/${ver_i}" || die + else + ewarn "${i} symlink requested, but source file not found" + ewarn "please report this" + fi + dosym "../lib/${PN}/${SLOT}/bin/${ver_i}" "/usr/bin/${ver_i}" + done + + # symlinks to switch components to active rust in eselect + dosym "${SLOT}/lib" "/usr/lib/${PN}/lib-${SLOT}" + use rust-analyzer && dosym "${SLOT}/libexec" "/usr/lib/${PN}/libexec-${SLOT}" + dosym "${SLOT}/share/man" "/usr/lib/${PN}/man-${SLOT}" + dosym "rust/${SLOT}/lib/rustlib" "/usr/lib/rustlib-${SLOT}" + dosym "../../lib/${PN}/${SLOT}/share/doc/rust" "/usr/share/doc/${RUST_P}" + + newenvd - "50${RUST_P}" <<-_EOF_ + MANPATH="${EPREFIX}/usr/lib/rust/man-${SLOT}" + _EOF_ + + rm -rf "${ED}/usr/lib/${PN}/${SLOT}"/*.old || die + rm -rf "${ED}/usr/lib/${PN}/${SLOT}/bin"/*.old || die + rm -rf "${ED}/usr/lib/${PN}/${SLOT}/doc"/*.old || die + + # note: eselect-rust adds EROOT to all paths below + cat <<-_EOF_ > "${T}/provider-${PN}-${SLOT}" + /usr/bin/cargo + /usr/bin/rustdoc + /usr/bin/rust-gdb + /usr/bin/rust-gdbgui + /usr/bin/rust-lldb + /usr/lib/rustlib + /usr/lib/rust/lib + /usr/lib/rust/man + /usr/share/doc/rust + _EOF_ + + if use clippy; then + echo /usr/bin/clippy-driver >> "${T}/provider-${RUST_P}" + echo /usr/bin/cargo-clippy >> "${T}/provider-${RUST_P}" + fi + if [[ ${SLOT} == *9999* ]] && use miri; then + echo /usr/bin/miri >> "${T}/provider-${RUST_P}" + echo /usr/bin/cargo-miri >> "${T}/provider-${RUST_P}" + fi + if use rustfmt; then + echo /usr/bin/rustfmt >> "${T}/provider-${RUST_P}" + echo /usr/bin/cargo-fmt >> "${T}/provider-${RUST_P}" + fi + if use rust-analyzer; then + echo /usr/lib/rust/libexec >> "${T}/provider-${RUST_P}" + echo /usr/bin/rust-analyzer >> "${T}/provider-${RUST_P}" + fi + + insinto /etc/env.d/rust + doins "${T}/provider-${PN}-${SLOT}" + + if use dist; then + "${EPYTHON}" ./x.py dist -v --config="${S}"/bootstrap.toml \ + -j$(get_makeopts_jobs) || die + insinto "/usr/lib/${PN}/${SLOT}/dist" + doins -r "${S}/build/dist/." + fi +} + +pkg_postinst() { + eselect rust update + + if has_version dev-debug/gdb || has_version llvm-core/lldb; then + elog "Rust installs helper scripts for calling GDB and LLDB," + elog "for convenience they are installed under /usr/bin/rust-{gdb,lldb}-${RUST_PV}." + fi + + if has_version app-editors/emacs; then + optfeature "emacs support for rust" app-emacs/rust-mode + fi + + if has_version app-editors/gvim || has_version app-editors/vim; then + optfeature "vim support for rust" app-vim/rust-vim + fi +} + +pkg_postrm() { + eselect rust cleanup +} diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.97.1.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.97.1.ebuild new file mode 100644 index 00000000000..905eb46cf0e --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.97.1.ebuild @@ -0,0 +1,952 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# Bump notes: https://wiki.gentoo.org/wiki/Project:Rust/Rust_bump + +LLVM_COMPAT=( 22 ) +PYTHON_COMPAT=( python3_{12..14} ) + +# Patches are kept in rust-patches.git, see its README.rst for the versioning +# scheme. +# +# We use _pN from the ebuild version for the patchset but it can be overridden +# in the ebuild for changes that don't require a revbump. +# +# Uncomment this line when the ebuild needs a patchset update but no revbump. +# RUST_PATCH_VER=${PV}-1 + +RUST_MAX_VER=${PV%%_*} +RUST_PV=${PV%%_p*} +RUST_P=${PN}-${RUST_PV} +[[ -z ${RUST_PATCH_VER} ]] && RUST_PATCH_VER=${PV} + +if [[ ${PV} == *9999* ]]; then + # Update this as new `beta` releases come out. + RUST_MIN_VER="1.93.0" +elif [[ ${PV} == *beta* ]]; then + RUST_MIN_VER="$(ver_cut 1).$(($(ver_cut 2) - 1)).0" +else + RUST_MIN_VER="$(ver_cut 1).$(($(ver_cut 2) - 1)).0" +fi + +inherit check-reqs estack flag-o-matic llvm-r1 multiprocessing optfeature +inherit multilib multilib-build python-any-r1 rust rust-toolchain toolchain-funcs +inherit verify-sig + +if [[ ${PV} = *9999* ]]; then + inherit git-r3 +elif [[ ${PV} == *beta* ]]; then + # Identify the snapshot date of the beta release: + # curl -Ls static.rust-lang.org/dist/channel-rust-beta.toml | grep beta-src.tar.xz + betaver=${PV//*beta} + BETA_SNAPSHOT="${betaver:0:4}-${betaver:4:2}-${betaver:6:2}" + MY_P="rustc-beta" + SRC_URI=" + https://static.rust-lang.org/dist/${BETA_SNAPSHOT}/rustc-beta-src.tar.xz -> rustc-${RUST_PV}-src.tar.xz + https://gitweb.gentoo.org/proj/rust-patches.git/snapshot/rust-patches-${RUST_PATCH_VER}.tar.bz2 + verify-sig? ( + https://static.rust-lang.org/dist/${BETA_SNAPSHOT}/rustc-beta-src.tar.xz.asc + -> rustc-${RUST_PV}-src.tar.xz.asc + ) + " + S="${WORKDIR}/${MY_P}-src" +else + MY_P="rustc-${RUST_PV}" + SRC_URI=" + https://static.rust-lang.org/dist/${MY_P}-src.tar.xz + https://gitweb.gentoo.org/proj/rust-patches.git/snapshot/rust-patches-${RUST_PATCH_VER}.tar.bz2 + verify-sig? ( https://static.rust-lang.org/dist/${MY_P}-src.tar.xz.asc ) + " + S="${WORKDIR}/${MY_P}-src" + + KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86" +fi + +DESCRIPTION="Systems programming language originally developed by Mozilla" +HOMEPAGE="https://www.rust-lang.org/" + +# keep in sync with llvm ebuild of the same version as bundled one. +ALL_LLVM_TARGETS=( AArch64 AMDGPU ARC ARM AVR BPF CSKY DirectX Hexagon Lanai ) +ALL_LLVM_TARGETS+=( LoongArch M68k Mips MSP430 NVPTX PowerPC RISCV Sparc SPIRV ) +ALL_LLVM_TARGETS+=( SystemZ VE WebAssembly X86 XCore Xtensa ) +ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" ) +LLVM_TARGET_USEDEPS=${ALL_LLVM_TARGETS[@]/%/(-)?} + +# https://github.com/rust-lang/llvm-project/blob/rustc-1.87.0/llvm/CMakeLists.txt +_ALL_RUST_EXPERIMENTAL_TARGETS=( ARC CSKY DirectX M68k Xtensa ) +declare -A ALL_RUST_EXPERIMENTAL_TARGETS +for _x in "${_ALL_RUST_EXPERIMENTAL_TARGETS[@]}"; do + ALL_RUST_EXPERIMENTAL_TARGETS["llvm_targets_${_x}"]=0 +done + +# Bare metal targets which can be built on the host system and have no +# dependency on compiler runtime, libc and unwinder. +ALL_RUST_SYSROOTS=( bpf wasm ) +ALL_RUST_SYSROOTS=( "${ALL_RUST_SYSROOTS[@]/#/rust_sysroots_}" ) + +LICENSE="|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4" +SLOT="${PV%%_*}" # Beta releases get to share the same SLOT as the eventual stable + +IUSE="big-endian +clippy cpu_flags_x86_sse2 debug dist doc llvm-libunwind lto" +IUSE+=" +rustfmt rust-analyzer rust-src +system-llvm test" +IUSE+=" ${ALL_LLVM_TARGETS[*]} ${ALL_RUST_SYSROOTS[*]}" + +if [[ ${PV} = *9999* ]]; then + # These USE flags require nightly rust + IUSE+=" miri" +fi + +LLVM_DEPEND=() +# splitting usedeps needed to avoid CI/pkgcheck's UncheckableDep limitation +for _x in "${ALL_LLVM_TARGETS[@]}"; do + LLVM_DEPEND+=( " ${_x}? ( $(llvm_gen_dep "llvm-core/llvm:\${LLVM_SLOT}[${_x}=]") )" ) + if [[ -v ALL_RUST_EXPERIMENTAL_TARGETS["${_x}"] ]] ; then + ALL_RUST_EXPERIMENTAL_TARGETS["${_x}"]=1 + fi +done +LLVM_DEPEND+=( " rust_sysroots_wasm? ( $(llvm_gen_dep 'llvm-core/lld:${LLVM_SLOT}') )" ) +LLVM_DEPEND+=( " $(llvm_gen_dep 'llvm-core/llvm:${LLVM_SLOT}')" ) + +# dev-libs/oniguruma is used for documentation +BDEPEND=" + ${PYTHON_DEPS} + app-eselect/eselect-rust + dev-libs/oniguruma + || ( + >=sys-devel/gcc-4.7[cxx] + >=llvm-core/clang-3.5 + ) + lto? ( system-llvm? ( + || ( + $(llvm_gen_dep 'llvm-core/lld:${LLVM_SLOT}') + sys-devel/mold + ) + ) ) + rust_sysroots_wasm? ( llvm-core/clang ) + !system-llvm? ( + >=dev-build/cmake-3.13.4 + app-alternatives/ninja + ) + test? ( dev-debug/gdb ) + verify-sig? ( sec-keys/openpgp-keys-rust ) +" + +DEPEND=" + >=app-arch/xz-utils-5.2 + dev-db/sqlite:3 + net-misc/curl[http2,ssl] + virtual/zlib:= + dev-libs/openssl:0= + system-llvm? ( + ${LLVM_DEPEND[*]} + llvm-libunwind? ( llvm-runtimes/libunwind:= ) + ) + !system-llvm? ( + !llvm-libunwind? ( + elibc_musl? ( sys-libs/libunwind:= ) + ) + ) +" + +RDEPEND=" + ${DEPEND} + app-eselect/eselect-rust + dev-lang/rust-common + sys-apps/lsb-release + !dev-lang/rust:stable + !dev-lang/rust-bin:stable +" + +REQUIRED_USE=" + || ( ${ALL_LLVM_TARGETS[*]} ) + rust-analyzer? ( rust-src ) + test? ( ${ALL_LLVM_TARGETS[*]} ) + rust_sysroots_bpf? ( llvm_targets_BPF ) + rust_sysroots_wasm? ( llvm_targets_WebAssembly ) + x86? ( cpu_flags_x86_sse2 ) +" + +# we don't use cmake.eclass, but can get a warning +CMAKE_WARN_UNUSED_CLI=no + +QA_FLAGS_IGNORED=" + usr/lib/${PN}/${SLOT}/bin/.* + usr/lib/${PN}/${SLOT}/libexec/.* + usr/lib/${PN}/${SLOT}/lib/lib.*.so + usr/lib/${PN}/${SLOT}/lib/rustlib/.*/bin/.* + usr/lib/${PN}/${SLOT}/lib/rustlib/.*/lib/lib.*.so +" + +QA_SONAME=" + usr/lib/${PN}/${SLOT}/lib/lib.*.so.* + usr/lib/${PN}/${SLOT}/lib/rustlib/.*/lib/lib.*.so +" + +QA_PRESTRIPPED=" + usr/lib/${PN}/${SLOT}/lib/rustlib/.*/bin/rust-llvm-dwp + usr/lib/${PN}/${SLOT}/lib/rustlib/.*/bin/rust-objcopy + usr/lib/${PN}/${SLOT}/lib/rustlib/.*/lib/self-contained/crtn.o +" + +# An rmeta file is custom binary format that contains the metadata for the crate. +# rmeta files do not support linking, since they do not contain compiled object files. +# so we can safely silence the warning for this QA check. +QA_EXECSTACK="usr/lib/${PN}/${SLOT}/lib/rustlib/*/lib*.rlib:lib.rmeta" + +# causes double bootstrap +RESTRICT="test" + +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/rust.asc + +clear_vendor_checksums() { + sed -i 's/\("files":{\)[^}]*/\1/' "vendor/${1}/.cargo-checksum.json" || die +} + +toml_usex() { + usex "${1}" true false +} + +pre_build_checks() { + local M=9216 + # multiply requirements by 1.3 if we are doing x86-multilib + if use amd64; then + M=$(( $(usex abi_x86_32 13 10) * ${M} / 10 )) + fi + M=$(( $(usex clippy 128 0) + ${M} )) + if [[ ${PV} == *9999* ]]; then + M=$(( $(usex miri 128 0) + ${M} )) + fi + M=$(( $(usex rustfmt 256 0) + ${M} )) + # add 2G if we compile llvm and 256M per llvm_target + if ! use system-llvm; then + M=$(( 2048 + ${M} )) + local ltarget + for ltarget in ${ALL_LLVM_TARGETS[@]}; do + M=$(( $(usex ${ltarget} 256 0) + ${M} )) + done + fi + M=$(( $(usex rust_sysroots_bpf 256 0) + ${M} )) + M=$(( $(usex rust_sysroots_wasm 256 0) + ${M} )) + M=$(( $(usex debug 2 1) * ${M} )) + eshopts_push -s extglob + if is-flagq '-g?(gdb)?([1-9])'; then + M=$(( 15 * ${M} / 10 )) + fi + eshopts_pop + M=$(( $(usex doc 256 0) + ${M} )) + CHECKREQS_DISK_BUILD=${M}M check-reqs_pkg_${EBUILD_PHASE} +} + +llvm_check_deps() { + has_version -r "llvm-core/llvm:${LLVM_SLOT}[${LLVM_TARGET_USEDEPS// /,}]" +} + +# Is LLVM being linked against libc++? +is_libcxx_linked() { + local code='#include +#if defined(_LIBCPP_VERSION) + HAVE_LIBCXX +#endif +' + local out=$($(tc-getCXX) ${CXXFLAGS} ${CPPFLAGS} -x c++ -E -P - <<<"${code}") || return 1 + [[ ${out} == *HAVE_LIBCXX* ]] +} + +pkg_pretend() { + pre_build_checks +} + +pkg_setup() { + pre_build_checks + python-any-r1_pkg_setup + + export LIBGIT2_NO_PKG_CONFIG=1 #749381 + if tc-is-cross-compiler; then + use system-llvm && die "USE=system-llvm not allowed when cross-compiling" + local cross_llvm_target="$(llvm_tuple_to_target "${CBUILD}")" + use "llvm_targets_${cross_llvm_target}" || \ + die "Must enable LLVM_TARGETS=${cross_llvm_target} matching CBUILD=${CBUILD} when cross-compiling" + fi + + rust_pkg_setup + + if use system-llvm; then + llvm-r1_pkg_setup + + local llvm_config="$(get_llvm_prefix)/bin/llvm-config" + export LLVM_LINK_SHARED=1 + export RUSTFLAGS="${RUSTFLAGS} -Lnative=$("${llvm_config}" --libdir)" + fi +} + +rust_live_get_sources() { + EGIT_REPO_URI=" + https://anongit.gentoo.org/git/proj/rust-patches.git + " + EGIT_CHECKOUT_DIR="${WORKDIR}/rust-patches-${RUST_PATCH_VER}" + git-r3_src_unpack + + EGIT_REPO_URI=" + https://github.com/rust-lang/rust.git + " + EGIT_SUBMODULES=( + "*" + "-src/gcc" + ) + S="${WORKDIR}/rust" + EGIT_CHECKOUT_DIR="${S}" + git-r3_src_unpack +} + +src_unpack() { + if [[ ${PV} == *9999* ]] ; then + rust_live_get_sources + + # Vendor dependencies + mkdir "${S}/.cargo" || die # The vendor script has a check for .cargo/config{,.toml} + touch "${S}/.cargo/bootstrap.toml" || die + local rust_stage0_root="$(${RUSTC} --print sysroot || die "Can't determine rust's sysroot")" + # Configure vendor to use the portage-provided toolchain. This prevents it from + # attempting to fetch a `beta` toolchain from the internet. + cat <<- _EOF_ > "${T}/vendor-bootstrap.toml" + # Suppresses a warning about tracking changes which we don't care about. + change-id = "ignore" + [build] + build = "$(rust_abi "${CBUILD}")" + host = ["$(rust_abi "${CHOST}")"] + target = ["$(rust_abi "${CHOST}")"] + cargo = "${rust_stage0_root}/bin/cargo" + rustc = "${rust_stage0_root}/bin/rustc" + rustfmt = "${rust_stage0_root}/bin/rustfmt" + _EOF_ + # We're using git sources so we need to run the Vendor script + # to ensure that all dependencies are present and up-to-date + mkdir "${S}/vendor" || die + # This also compiles the 'build helper', there's no way to avoid this. + ${EPYTHON} "${S}"/x.py vendor -v --config="${T}"/vendor-bootstrap.toml \ + -j$(get_makeopts_jobs) || + die "Failed to vendor dependencies" + # TODO: This has to be generated somehow, this is from a 1.84.x tarball I had lying around. + cat <<- _EOF_ > "${S}/.cargo/config.toml" + [source.crates-io] + replace-with = "vendored-sources" + + [source."git+https://github.com/rust-lang/team"] + git = "https://github.com/rust-lang/team" + replace-with = "vendored-sources" + + [source.vendored-sources] + directory = "vendor" + _EOF_ + elif use verify-sig ; then + # Patch tarballs are not signed (but we trust Gentoo infra) + verify-sig_verify_detached "${DISTDIR}"/rustc-${RUST_PV}-src.tar.xz{,.asc} + default + else + default + fi +} + +src_prepare() { + # Commit patches to the appropriate branch in proj/rust-patches.git + # then cut a new tag / tarball. Don't add patches to ${FILESDIR} + PATCHES=( + "${WORKDIR}/rust-patches-${RUST_PATCH_VER}/" + ) + + if use lto && tc-is-clang && ! tc-ld-is-lld && ! tc-ld-is-mold; then + export RUSTFLAGS+=" -C link-arg=-fuse-ld=lld" + fi + + default +} + +src_configure() { + if tc-is-cross-compiler; then + export PKG_CONFIG_ALLOW_CROSS=1 + + local rust_host_triple="$(rust_abi "${CHOST}")" + + # https://docs.rs/pkg-config/latest/pkg_config/#cross-compilation + local pcvar + for pcvar in PKG_CONFIG_{PATH,LIBDIR} ; do + pcvar="${pcvar}_${rust_host_triple//-/_}" + + [[ -n ${!pcvar} ]] && continue + + case ${pcvar} in + *PKG_CONFIG_PATH*) + printf -v "${pcvar}" "${ESYSROOT}/usr/$(get_libdir)/pkgconfig" + ;; + *PKG_CONFIG_LIBDIR*) + printf -v "${pcvar}" "${ESYSROOT}/usr/$(get_libdir)" + ;; + *) + continue + ;; + esac + + export "${pcvar}" + done + + # https://docs.rs/openssl/latest/openssl/#manual + local osslvar + for osslvar in OPENSSL_{INCLUDE_,LIB_,}DIR ; do + osslvar="${rust_host_triple}_${osslvar}" + osslvar="${osslvar^^}" + osslvar="${osslvar//-/_}" + + [[ -n ${!osslvar} ]] && continue + + case ${osslvar} in + *OPENSSL_DIR*) + printf -v "${osslvar}" "${ESYSROOT}/usr" + ;; + *OPENSSL_INCLUDE_DIR*) + printf -v "${osslvar}" "${ESYSROOT}/usr/include" + ;; + *OPENSSL_LIB_DIR*) + printf -v "${osslvar}" "${ESYSROOT}/usr/$(get_libdir)" + ;; + *) + continue + ;; + esac + + export "${osslvar}" + done + + # https://issues.chromium.org/issues/357917328 + # https://github.com/rust-lang/libz-sys/blob/1.1.18/build.rs#L25 + export LIBZ_SYS_STATIC=1 + fi + + # Avoid bundled copies of libraries + export RUSTONIG_SYSTEM_LIBONIG=1 + export LIBSQLITE3_SYS_USE_PKG_CONFIG=1 + + filter-lto # https://bugs.gentoo.org/862109 https://bugs.gentoo.org/866231 + + local rust_target="" rust_targets="" arch_cflags + + # Collect rust target names to compile standard libs for all ABIs. + for v in $(multilib_get_enabled_abi_pairs); do + rust_targets+=",\"$(rust_abi $(get_abi_CHOST ${v##*.}))\"" + done + if use rust_sysroots_bpf; then + rust_targets+=",\"bpfeb-unknown-none\",\"bpfel-unknown-none\"" + fi + if use rust_sysroots_wasm; then + rust_targets+=",\"wasm32-unknown-unknown\"" + if use system-llvm; then + # un-hardcode rust-lld linker for this target + # https://bugs.gentoo.org/715348 + sed -i '/linker:/ s/rust-lld/wasm-ld/' compiler/rustc_target/src/spec/base/wasm.rs || die + fi + fi + rust_targets="${rust_targets#,}" + + # cargo and rustdoc are mandatory and should always be included + local tools='"cargo","rustdoc"' + use clippy && tools+=',"clippy"' + use rustfmt && tools+=',"rustfmt"' + use rust-analyzer && tools+=',"rust-analyzer","rust-analyzer-proc-macro-srv"' + use rust-src && tools+=',"src"' + + if [[ ${PV} == *9999* ]]; then + use miri && tools+=',"miri"' + fi + + local rust_stage0_root="$(${RUSTC} --print sysroot || die "Can't determine rust's sysroot")" + # in case of prefix it will be already prefixed, as --print sysroot returns full path + [[ -d ${rust_stage0_root} ]] || die "${rust_stage0_root} is not a directory" + + rust_target="$(rust_abi)" + rust_build="$(rust_abi "${CBUILD}")" + rust_host="$(rust_abi "${CHOST}")" + + RUST_EXPERIMENTAL_TARGETS=() + for _x in "${!ALL_RUST_EXPERIMENTAL_TARGETS[@]}"; do + if [[ ${ALL_RUST_EXPERIMENTAL_TARGETS[${_x}]} == 1 ]] && use ${_x} ; then + RUST_EXPERIMENTAL_TARGETS+=( ${_x#llvm_targets_} ) + fi + done + RUST_EXPERIMENTAL_TARGETS=${RUST_EXPERIMENTAL_TARGETS[@]} + + local cm_btype="$(usex debug DEBUG RELEASE)" + local build_channel + local build_miri="false" + case "${PV}" in + *9999*) + build_channel="nightly" + ;; + *beta*) + build_channel="beta" + ;; + *) + build_channel="stable" + ;; + esac + + # TODO: Add optimized-compiler-builtins for system-llvm to avoid + # building bundled compiler-rt. + cat <<- _EOF_ > "${S}"/bootstrap.toml + # Suppresses a warning about tracking changes which we don't care about. + change-id = "ignore" + # https://github.com/rust-lang/rust/issues/135358 (bug #947897) + profile = "dist" + [llvm] + download-ci-llvm = false + optimize = $(toml_usex !debug) + release-debuginfo = $(toml_usex debug) + assertions = $(toml_usex debug) + ninja = true + targets = "${LLVM_TARGETS// /;}" + experimental-targets = "${RUST_EXPERIMENTAL_TARGETS// /;}" + link-shared = $(toml_usex system-llvm) + $(if is_libcxx_linked; then + # https://bugs.gentoo.org/732632 + echo "use-libcxx = true" + echo "static-libstdcpp = false" + fi) + $(case "${rust_target}" in + i586-*-linux-*) + # https://github.com/rust-lang/rust/issues/93059 + echo 'cflags = "-fcf-protection=none"' + echo 'cxxflags = "-fcf-protection=none"' + echo 'ldflags = "-fcf-protection=none"' + ;; + *) + ;; + esac) + enable-warnings = false + [llvm.build-config] + CMAKE_VERBOSE_MAKEFILE = "ON" + $(if ! tc-is-cross-compiler; then + # When cross-compiling, LLVM is compiled twice, once for host and + # once for target. Unfortunately, this build configuration applies + # to both, which means any flags applicable to one target but not + # the other will break. Conditionally disable respecting user + # flags when cross-compiling. + echo "CMAKE_C_FLAGS_${cm_btype} = \"${CFLAGS}\"" + echo "CMAKE_CXX_FLAGS_${cm_btype} = \"${CXXFLAGS}\"" + echo "CMAKE_EXE_LINKER_FLAGS_${cm_btype} = \"${LDFLAGS}\"" + echo "CMAKE_MODULE_LINKER_FLAGS_${cm_btype} = \"${LDFLAGS}\"" + echo "CMAKE_SHARED_LINKER_FLAGS_${cm_btype} = \"${LDFLAGS}\"" + echo "CMAKE_STATIC_LINKER_FLAGS_${cm_btype} = \"${ARFLAGS}\"" + fi) + [build] + build-stage = 2 + test-stage = 2 + build = "${rust_build}" + host = ["${rust_host}"] + target = [${rust_targets}] + cargo = "${rust_stage0_root}/bin/cargo" + rustc = "${rust_stage0_root}/bin/rustc" + rustfmt = "${rust_stage0_root}/bin/rustfmt" + description = "gentoo" + docs = $(toml_usex doc) + compiler-docs = false + submodules = false + python = "${EPYTHON}" + locked-deps = true + vendor = true + extended = true + tools = [${tools}] + verbose = 2 + sanitizers = false + profiler = true + cargo-native-static = false + [install] + prefix = "${EPREFIX}/usr/lib/${PN}/${SLOT}" + sysconfdir = "etc" + docdir = "share/doc/rust" + bindir = "bin" + libdir = "lib" + mandir = "share/man" + [rust] + # https://github.com/rust-lang/rust/issues/54872 + codegen-units-std = 1 + optimize = true + debug = $(toml_usex debug) + debug-assertions = $(toml_usex debug) + debug-assertions-std = $(toml_usex debug) + debuginfo-level = $(usex debug 2 0) + debuginfo-level-rustc = $(usex debug 2 0) + debuginfo-level-std = $(usex debug 2 0) + debuginfo-level-tools = $(usex debug 2 0) + debuginfo-level-tests = 0 + backtrace = true + incremental = false + $(if ! tc-is-cross-compiler; then + echo "default-linker = \"${CHOST}-cc\"" + fi) + channel = "${build_channel}" + rpath = true + verbose-tests = true + optimize-tests = $(toml_usex !debug) + codegen-tests = true + omit-git-hash = false + dist-src = false + remap-debuginfo = true + lld = $(usex system-llvm false $(toml_usex rust_sysroots_wasm)) + $(if use lto && tc-is-clang && ! tc-ld-is-mold; then + echo "use-lld = true" + fi) + # only deny warnings if doc+wasm are NOT requested, documenting stage0 wasm std fails without it + # https://github.com/rust-lang/rust/issues/74976 + # https://github.com/rust-lang/rust/issues/76526 + deny-warnings = $(usex rust_sysroots_wasm $(usex doc false true) true) + backtrace-on-ice = true + jemalloc = false + # See https://github.com/rust-lang/rust/issues/121124 + lto = "$(usex lto thin off)" + [dist] + src-tarball = false + compression-formats = ["xz"] + compression-profile = "balanced" + _EOF_ + + for v in $(multilib_get_enabled_abi_pairs); do + rust_target=$(rust_abi $(get_abi_CHOST ${v##*.})) + arch_cflags="$(get_abi_CFLAGS ${v##*.})" + + export CFLAGS_${rust_target//-/_}="${arch_cflags}" + + cat <<- _EOF_ >> "${S}"/bootstrap.toml + [target.${rust_target}] + ar = "$(tc-getAR)" + cc = "$(tc-getCC)" + cxx = "$(tc-getCXX)" + linker = "$(tc-getCC)" + ranlib = "$(tc-getRANLIB)" + llvm-libunwind = "$(usex llvm-libunwind $(usex system-llvm system in-tree) no)" + _EOF_ + if use system-llvm; then + cat <<- _EOF_ >> "${S}"/bootstrap.toml + llvm-config = "$(get_llvm_prefix)/bin/llvm-config" + _EOF_ + fi + # by default librustc_target/spec/linux_musl_base.rs sets base.crt_static_default = true; + # but we patch it and set to false here as well + if use elibc_musl; then + cat <<- _EOF_ >> "${S}"/bootstrap.toml + crt-static = false + musl-root = "$($(tc-getCC) -print-sysroot)/usr" + _EOF_ + fi + done + if use rust_sysroots_wasm; then + wasm_target="wasm32-unknown-unknown" + if tc-is-clang; then + local wasm_cc=$(tc-getCC) + local wasm_cxx=$(tc-getCXX) + else + local wasm_cc=${CHOST}-clang + local wasm_cxx=${CHOST}-clang++ + fi + export CFLAGS_${wasm_target//-/_}="$( + CC="${wasm_cc} --target=wasm32-unknown-unknown" + filter-flags '-mcpu*' '-march*' '-mtune*' + strip-unsupported-flags + echo "${CFLAGS}" + )" + cat <<- _EOF_ >> "${S}"/bootstrap.toml + [target.wasm32-unknown-unknown] + cc = "${wasm_cc}" + cxx = "${wasm_cxx}" + linker = "$(usex system-llvm lld rust-lld)" + # wasm target does not have profiler_builtins https://bugs.gentoo.org/848483 + profiler = false + _EOF_ + fi + + if [[ -n ${I_KNOW_WHAT_I_AM_DOING_CROSS} ]]; then # whitespace intentionally shifted below + # experimental cross support + # discussion: https://bugs.gentoo.org/679878 + # TODO: c*flags, clang, system-llvm, cargo.eclass target support + # it would be much better if we could split out stdlib + # complilation to separate ebuild and abuse CATEGORY to + # just install to /usr/lib/rustlib/ + + # extra targets defined as a bash array + # spec format: :: + # best place would be /etc/portage/env/dev-lang/rust + # Example: + # RUST_CROSS_TARGETS=( + # "AArch64:aarch64-unknown-linux-gnu:aarch64-unknown-linux-gnu" + # ) + # no extra hand holding is done, no target transformations, all + # values are passed as-is with just basic checks, so it's up to user to supply correct values + # valid rust targets can be obtained with + # rustc --print target-list + # matching cross toolchain has to be installed + # matching LLVM_TARGET has to be enabled for both rust and llvm (if using system one) + # only gcc toolchains installed with crossdev are checked for now. + + # BUG: we can't pass host flags to cross compiler, so just filter for now + # BUG: this should be more fine-grained. + filter-flags '-mcpu=*' '-march=*' '-mtune=*' + + local cross_target_spec + for cross_target_spec in "${RUST_CROSS_TARGETS[@]}";do + # extracts first element form :: + local cross_llvm_target="${cross_target_spec%%:*}" + # extracts toolchain triples, : + local cross_triples="${cross_target_spec#*:}" + # extracts first element after before : separator + local cross_rust_target="${cross_triples%%:*}" + # extracts last element after : separator + local cross_toolchain="${cross_triples##*:}" + use llvm_targets_${cross_llvm_target} || die "need llvm_targets_${cross_llvm_target} target enabled" + command -v ${cross_toolchain}-gcc > /dev/null 2>&1 || die "need ${cross_toolchain} cross toolchain" + + cat <<- _EOF_ >> "${S}"/bootstrap.toml + [target.${cross_rust_target}] + ar = "${cross_toolchain}-ar" + cc = "${cross_toolchain}-gcc" + cxx = "${cross_toolchain}-g++" + linker = "${cross_toolchain}-gcc" + ranlib = "${cross_toolchain}-ranlib" + _EOF_ + if use system-llvm; then + cat <<- _EOF_ >> "${S}"/bootstrap.toml + llvm-config = "$(get_llvm_prefix)/bin/llvm-config" + _EOF_ + fi + if [[ "${cross_toolchain}" == *-musl* ]]; then + cat <<- _EOF_ >> "${S}"/bootstrap.toml + musl-root = "$(${cross_toolchain}-gcc -print-sysroot)/usr" + _EOF_ + fi + if [[ "${cross_rust_target}" == *-uefi ]]; then + # Profiler is not supported on bare-metal + cat <<- _EOF_ >> "${S}"/bootstrap.toml + profiler = false + _EOF_ + fi + + # append cross target to "normal" target list + # example 'target = ["powerpc64le-unknown-linux-gnu"]' + # becomes 'target = ["powerpc64le-unknown-linux-gnu","aarch64-unknown-linux-gnu"]' + + rust_targets="${rust_targets},\"${cross_rust_target}\"" + sed -i "/^target = \[/ s#\[.*\]#\[${rust_targets}\]#" bootstrap.toml || die + + ewarn + ewarn "Enabled ${cross_rust_target} rust target" + ewarn "Using ${cross_toolchain} cross toolchain" + ewarn + if ! has_version -b 'sys-devel/binutils[multitarget]' ; then + ewarn "'sys-devel/binutils[multitarget]' is not installed" + ewarn "'strip' will be unable to strip cross libraries" + ewarn "cross targets will be installed with full debug information" + ewarn "enable 'multitarget' USE flag for binutils to be able to strip object files" + ewarn + ewarn "Alternatively llvm-strip can be used, it supports stripping any target" + ewarn "define STRIP=\"llvm-strip\" to use it (experimental)" + ewarn + fi + done + fi # I_KNOW_WHAT_I_AM_DOING_CROSS + + einfo "Rust configured with the following flags:" + echo + echo RUSTFLAGS="\"${RUSTFLAGS}\"" + echo RUSTFLAGS_BOOTSTRAP="\"${RUSTFLAGS_BOOTSTRAP}\"" + echo RUSTFLAGS_NOT_BOOTSTRAP="\"${RUSTFLAGS_NOT_BOOTSTRAP}\"" + echo MAGIC_EXTRA_RUSTFLAGS="\"${MAGIC_EXTRA_RUSTFLAGS}\"" + env | grep "CARGO_TARGET_.*_RUSTFLAGS=" + env | grep "CFLAGS_.*" + echo + einfo "bootstrap.toml contents:" + cat "${S}"/bootstrap.toml || die + echo +} + +src_compile() { + # -v will show invocations, -vv "very verbose" is overkill, -vvv "very very verbose" is insane + RUST_BACKTRACE=1 "${EPYTHON}" ./x.py build -v \ + --config="${S}"/bootstrap.toml -j$(get_makeopts_jobs) || die +} + +src_test() { + # https://rustc-dev-guide.rust-lang.org/tests/intro.html + + # those are basic and codegen tests. + local tests=( + codegen-units + crashes + codegen-llvm + incremental + mir-opt + pretty + run-make + run-make-cargo + ) + + # tests for standard and core library + local std_tests=( + std + core + ) + + # fails if llvm is not built with ALL targets. + # and known to fail with system llvm sometimes. + use system-llvm || tests+=( assembly-llvm ) + + # fragile/expensive/less important tests + # or tests that require extra builds + # TODO: instead of skipping, just make some nonfatal. + if [[ ${ERUST_RUN_EXTRA_TESTS:-no} != no ]]; then + tests+=( + rustdoc + rustdoc-js + rustdoc-js-std + rustdoc-ui + ui + ui-fulldeps + ) + fi + + local i failed=() + einfo "rust_src_test: enabled tests ${tests[@]} ${std_tests[@]}" + for i in "tests/${tests[@]}" "library/${std_tests[@]}"; do + local t="${i}" + einfo "rust_src_test: running ${t}" + if ! RUST_BACKTRACE=1 "${EPYTHON}" ./x.py test -vv --config="${S}"/bootstrap.toml \ + -j$(get_makeopts_jobs) --no-doc --no-fail-fast "${t}" + then + failed+=( "${t}" ) + eerror "rust_src_test: ${t} failed" + fi + done + + if [[ ${#failed[@]} -ne 0 ]]; then + eerror "rust_src_test: failure summary: ${failed[@]}" + die "aborting due to test failures" + fi +} + +src_install() { + DESTDIR="${D}" "${EPYTHON}" ./x.py install -v \ + --config="${S}"/bootstrap.toml -j$(get_makeopts_jobs) || die + + docompress /usr/lib/${PN}/${SLOT}/share/man/ + + # bash-completion files are installed by dev-lang/rust-common instead + # bug #689562, #689160. + rm -v "${ED}/usr/lib/${PN}/${SLOT}/etc/bash_completion.d/cargo" || die + rmdir -v "${ED}/usr/lib/${PN}/${SLOT}/etc/bash_completion.d" || die + + local symlinks=( + cargo + rustc + rustdoc + rust-gdb + rust-gdbgui + rust-lldb + ) + + use clippy && symlinks+=( clippy-driver cargo-clippy ) + if [[ ${PV} = *9999* ]]; then + use miri && symlinks+=( miri cargo-miri ) + fi + use rustfmt && symlinks+=( rustfmt cargo-fmt ) + use rust-analyzer && symlinks+=( rust-analyzer ) + + einfo "installing eselect-rust symlinks and paths: ${symlinks[@]}" + local i + for i in "${symlinks[@]}"; do + # we need realpath on /usr/bin/* symlink return version-appended binary path. + # so /usr/bin/rustc should point to /usr/lib/rust//bin/rustc- + # need to fix eselect-rust to remove this hack. + local ver_i="${i}-${RUST_PV%%_*}" + if [[ -f "${ED}/usr/lib/${PN}/${SLOT}/bin/${i}" ]]; then + einfo "Installing ${i} symlink" + ln -v "${ED}/usr/lib/${PN}/${SLOT}/bin/${i}" "${ED}/usr/lib/${PN}/${SLOT}/bin/${ver_i}" || die + else + ewarn "${i} symlink requested, but source file not found" + ewarn "please report this" + fi + dosym "../lib/${PN}/${SLOT}/bin/${ver_i}" "/usr/bin/${ver_i}" + done + + # symlinks to switch components to active rust in eselect + dosym "${SLOT}/lib" "/usr/lib/${PN}/lib-${SLOT}" + use rust-analyzer && dosym "${SLOT}/libexec" "/usr/lib/${PN}/libexec-${SLOT}" + dosym "${SLOT}/share/man" "/usr/lib/${PN}/man-${SLOT}" + dosym "rust/${SLOT}/lib/rustlib" "/usr/lib/rustlib-${SLOT}" + dosym "../../lib/${PN}/${SLOT}/share/doc/rust" "/usr/share/doc/${RUST_P}" + + newenvd - "50${RUST_P}" <<-_EOF_ + MANPATH="${EPREFIX}/usr/lib/rust/man-${SLOT}" + _EOF_ + + rm -rf "${ED}/usr/lib/${PN}/${SLOT}"/*.old || die + rm -rf "${ED}/usr/lib/${PN}/${SLOT}/bin"/*.old || die + rm -rf "${ED}/usr/lib/${PN}/${SLOT}/doc"/*.old || die + + # note: eselect-rust adds EROOT to all paths below + cat <<-_EOF_ > "${T}/provider-${PN}-${SLOT}" + /usr/bin/cargo + /usr/bin/rustdoc + /usr/bin/rust-gdb + /usr/bin/rust-gdbgui + /usr/bin/rust-lldb + /usr/lib/rustlib + /usr/lib/rust/lib + /usr/lib/rust/man + /usr/share/doc/rust + _EOF_ + + if use clippy; then + echo /usr/bin/clippy-driver >> "${T}/provider-${RUST_P}" + echo /usr/bin/cargo-clippy >> "${T}/provider-${RUST_P}" + fi + if [[ ${SLOT} == *9999* ]] && use miri; then + echo /usr/bin/miri >> "${T}/provider-${RUST_P}" + echo /usr/bin/cargo-miri >> "${T}/provider-${RUST_P}" + fi + if use rustfmt; then + echo /usr/bin/rustfmt >> "${T}/provider-${RUST_P}" + echo /usr/bin/cargo-fmt >> "${T}/provider-${RUST_P}" + fi + if use rust-analyzer; then + echo /usr/lib/rust/libexec >> "${T}/provider-${RUST_P}" + echo /usr/bin/rust-analyzer >> "${T}/provider-${RUST_P}" + fi + + insinto /etc/env.d/rust + doins "${T}/provider-${PN}-${SLOT}" + + if use dist; then + "${EPYTHON}" ./x.py dist -v --config="${S}"/bootstrap.toml \ + -j$(get_makeopts_jobs) || die + insinto "/usr/lib/${PN}/${SLOT}/dist" + doins -r "${S}/build/dist/." + fi +} + +pkg_postinst() { + eselect rust update + + if has_version dev-debug/gdb || has_version llvm-core/lldb; then + elog "Rust installs helper scripts for calling GDB and LLDB," + elog "for convenience they are installed under /usr/bin/rust-{gdb,lldb}-${RUST_PV}." + fi + + if has_version app-editors/emacs; then + optfeature "emacs support for rust" app-emacs/rust-mode + fi + + if has_version app-editors/gvim || has_version app-editors/vim; then + optfeature "vim support for rust" app-vim/rust-vim + fi +} + +pkg_postrm() { + eselect rust cleanup +} diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-9999.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-9999.ebuild index 2cfb299a5b4..a4c4ae082f7 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-9999.ebuild @@ -6,7 +6,7 @@ EAPI=8 # Bump notes: https://wiki.gentoo.org/wiki/Project:Rust/Rust_bump LLVM_COMPAT=( 22 ) -PYTHON_COMPAT=( python3_{11..14} ) +PYTHON_COMPAT=( python3_{12..14} ) # Patches are kept in rust-patches.git, see its README.rst for the versioning # scheme. @@ -24,7 +24,7 @@ RUST_P=${PN}-${RUST_PV} if [[ ${PV} == *9999* ]]; then # Update this as new `beta` releases come out. - RUST_MIN_VER="1.94.0" + RUST_MIN_VER="1.96.0" elif [[ ${PV} == *beta* ]]; then RUST_MIN_VER="$(ver_cut 1).$(($(ver_cut 2) - 1)).0" else @@ -367,11 +367,12 @@ src_configure() { if tc-is-cross-compiler; then export PKG_CONFIG_ALLOW_CROSS=1 + local rust_host_triple="$(rust_abi "${CHOST}")" + # https://docs.rs/pkg-config/latest/pkg_config/#cross-compilation local pcvar for pcvar in PKG_CONFIG_{PATH,LIBDIR} ; do - pcvar="${pcvar}_${CHOST//./_}" - pcvar="${pcvar//-/_}" + pcvar="${pcvar}_${rust_host_triple//-/_}" [[ -n ${!pcvar} ]] && continue @@ -393,7 +394,7 @@ src_configure() { # https://docs.rs/openssl/latest/openssl/#manual local osslvar for osslvar in OPENSSL_{INCLUDE_,LIB_,}DIR ; do - osslvar="${CHOST}_${osslvar}" + osslvar="${rust_host_triple}_${osslvar}" osslvar="${osslvar^^}" osslvar="${osslvar//-/_}" From cbb373892dbe11eede94c182d32320d8b7350bb1 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 3 Aug 2026 08:13:32 +0000 Subject: [PATCH 038/195] dev-lang/rust-bin: Sync with Gentoo It's from Gentoo commit bf9b9c90d8bcb13f7544b17d11de226543aa3468. Signed-off-by: Flatcar Buildbot --- .../portage-stable/dev-lang/rust-bin/Manifest | 72 ++++ .../dev-lang/rust-bin/rust-bin-1.96.1.ebuild | 336 ++++++++++++++++++ .../dev-lang/rust-bin/rust-bin-1.97.1.ebuild | 336 ++++++++++++++++++ 3 files changed, 744 insertions(+) create mode 100644 sdk_container/src/third_party/portage-stable/dev-lang/rust-bin/rust-bin-1.96.1.ebuild create mode 100644 sdk_container/src/third_party/portage-stable/dev-lang/rust-bin/rust-bin-1.97.1.ebuild diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/rust-bin/Manifest b/sdk_container/src/third_party/portage-stable/dev-lang/rust-bin/Manifest index 0f53314e664..89d85c82ff9 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/rust-bin/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-lang/rust-bin/Manifest @@ -899,6 +899,76 @@ DIST rust-1.95.0-x86_64-unknown-linux-gnu.tar.xz 197584988 BLAKE2B 74cfe56e76409 DIST rust-1.95.0-x86_64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B d8a27e53193c16d808cac45a23ee9741931128abf151394a7037b2cdcb4122f220f4b664a70223738922fe644927ca64077962262da75df0eaf839dd4754fc9a SHA512 f9be1d6fedac08994ddbe9c092ef7bf12717884fff2909941fe3ac6ca6b2ecc835f24b7965c6db3eb76e0ee8ad6413722dcfc903d6aeff95a0fcd65b7ddd8597 DIST rust-1.95.0-x86_64-unknown-linux-musl.tar.xz 299420024 BLAKE2B 5a9c0ddc505e4552f2aeb4cc18e0f2497d87aec6eb603e4adf0f98d1923c00be4f1be32b39cc7586973cc221cd0ddffe83342879b91c74c00f123e3d14ee9976 SHA512 99e70d78f6268f180035075d19df8ca2eccbdfc4d6fe7b65d8f7a90a60a6430520f0ca785a0a0aeeaaf06338d09de78705d20f1af9d4d7d7c6f850e3e47ee5cd DIST rust-1.95.0-x86_64-unknown-linux-musl.tar.xz.asc 801 BLAKE2B c832dd8dd35dd21987d177930ba9c864938bda4580df678ac3800411f8844b065ac1e1e63d5bfc3e60e35bd5e173284afca78be8d971e2ee82c6f62d1798c5c4 SHA512 3c43484cbafd1f1ff55df45f2a008ab5700a427e33c7235d4c264cf65dc17290d066e9376fd50b42d23af4ed3a49a3c2b2a289d1755f584f1a89200c4760a6b4 +DIST rust-1.96.1-aarch64-unknown-linux-gnu.tar.xz 171682260 BLAKE2B d58acd806e96c6b5d7e96089e981277a97072d45e142e6cd7a231545b4b648a71a7c81f3f29683de7ebe9f66d5b00a0664753500b724941c814b089050598205 SHA512 e5777342b55c1fb6b7e1e0baf0acdd1b2eeb1b49f3bc7d0e3825e5c1562a8b6ea6345f40d80420558e084824941ac90306a0eaacca5ba1cefe645beeaffc629b +DIST rust-1.96.1-aarch64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 3bddb858d741bbdae7e6780c5eb5f311dafc866846ca198b2d45a81580c56243992f7d17fd6ba7576a77c6781a19f7267a8d854e69b822b2eeabd15ab1715f44 SHA512 70cfa3005aa6d3d9e37aa76e4c56d8c3a353c86bd53e2fc839a2c5faf817bb1d7288ea16a28864203157f2517e57fcc461cdee4f42f818afa8cd4c033b9f2bac +DIST rust-1.96.1-aarch64-unknown-linux-musl.tar.xz 246445248 BLAKE2B 0425ddafc182322285287c9b08048ce3e9a8a87c9da5dcb508d3d35efea52d9b3225d0a1b63a7a81be9d3edf012db337b2e0e1597cbc728b9f8d450db276cc16 SHA512 088c43f52e9b86776993dc58ef4f773c995eeb7f8f61fdce03259b80ffc0b0cfeb9c474ba47d419b377af0fb7c046c2bc5e98178f123d15c625c858e8eaccd38 +DIST rust-1.96.1-aarch64-unknown-linux-musl.tar.xz.asc 801 BLAKE2B 36895712848e2a77cb550898040a8d47f50420b8d6ebbcf4432e2e358828f8adfdf59ff8d94cc06d4cbbbca3f82b35938d607b334def17c7fd01b7a95d48d7ef SHA512 18ca2c5240232bc54eb321dc249f6976cc5554e0783296d4bfa15b65514deacd2d85ff6d9373e4b41aa941d4069f25a355fab386f39c38c6ddc74ec4078829f8 +DIST rust-1.96.1-arm-unknown-linux-gnueabi.tar.xz 231074444 BLAKE2B 0f5ff999d6527371fcbce91135779576c3b4163a3ca17f276283afcac05e6aa9146bfa9a669da72cd311300c8ea7b1d975b7e48a372227ba2697ac037425d46f SHA512 0975d5e15e2cba98147b3c15008515aa38ad4f8f251ee7c6244b3cf3f641eaea92688e9c9b95e5ccff48631d02a03baa18b69a4d3461cba600e5966089e942be +DIST rust-1.96.1-arm-unknown-linux-gnueabi.tar.xz.asc 801 BLAKE2B 4472adcd909e9aceb999b58d97d703ea41cfd7f85aa645e4731021229f25e0f5184d6b701928dee4af9b46583e558cde614fe8c3e33e516f059a640c4926a9ff SHA512 697eb3c6caa8911bd67a2e0da8ae29d7d598a4915625c92835d67426075c9f74a936ecb09202ee5ca001515ec1b634a3b3f4ff7709caea7e4de92c9f563a299e +DIST rust-1.96.1-arm-unknown-linux-gnueabihf.tar.xz 231619044 BLAKE2B c0f35465ae266e71ba7609d24d4701595ab3ddfcb9e61069fff16d836ae285c52625a0b7bbdf3769ca2bf52f8c9fa3293fb2e279a9d4debe2c90aa37b4e6b2cf SHA512 46945d2440be579f61915c84cc50d1c6c3ba92a49284ec9c82bcc5dc7ecb4bc671377d1bad42648f496e8c6516182da854d3189ba3fbdd9884416d6153b6955d +DIST rust-1.96.1-arm-unknown-linux-gnueabihf.tar.xz.asc 801 BLAKE2B 2e079e79edea7fe8251177181aed5fc8063a2656dca2da167377c8a2ae8c2a10404f1881d65855dd8b1a47746222e19492e73bc97bcfa2063b38f91ccc573ff0 SHA512 125b1c2c124a40136dcaf89c704c20ebf31977e455b5e62f3cf8c420b91a3d23f310e0fda7f2397e0a1d30b8c5d4c8accbd9ba114afc1fc638916702688b063b +DIST rust-1.96.1-armv7-unknown-linux-gnueabihf.tar.xz 232576920 BLAKE2B 4588c0ba2f66efb579ab6f42848c95552c23aa8f5476024329b27863458e61ce299aa20c3ab933877e34802b4e2600741c37d17f83e3e140c4b9c00ba1b5f6a8 SHA512 06d3ef4c576fa8dabe2a63d007def198019f73f486e7fbff9aacdc1367f23389094885f367e2e4cbc4042fd6edc5c829f01db6638ff6fa7bb1b149c4041774b6 +DIST rust-1.96.1-armv7-unknown-linux-gnueabihf.tar.xz.asc 801 BLAKE2B 1e4d8f246c2dd456212824c4926e7b8b522406ba3804290334cf9de7da538184fa6538d8b463340b3139567c11f5c99014b02d93e591a49483ce5743f3bba9d6 SHA512 adc3474f04d8fc4a53e9dd51777bf79f988d50f7fd5be4231b4dd57051d8eea29e827dcdc9bb229a2e3a16291e481d332c176318156c79c0401d3b8b50599a14 +DIST rust-1.96.1-i686-unknown-linux-gnu.tar.xz 273619116 BLAKE2B 175a2ff2b0801f4eddf1c0408d4f43c1872b80d94e240c2e5bf3db981e07b0ef812565854bddcf3b4f6d80a61803c9ff812c7ba24a4cfe894fa9da727931e515 SHA512 46b137188549d5e9ad5d9d1482cec0d26884e8e733480d0f3e0b357c3584cbd62ae28e87eb4b9fa73fc3d21bde003590e69b5e221e3c8be431870782e2e6f0ad +DIST rust-1.96.1-i686-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B eaf98ae7d856afca341a44e2843607888259a7cc98d780f74e782f482f4fe7dcd0b6c01cca74bdb3360265f3a150af1ea0cf6824f2786d7742c857e20babc7a3 SHA512 51707ba220360770aa7d8a6798a90c88ab8516354cbe16498250be05ecf4438985d1ba2f1599a7ddc046473973c85152af6fdd1fe1af2f4d19be9f37cf044999 +DIST rust-1.96.1-loongarch64-unknown-linux-gnu.tar.xz 264683524 BLAKE2B 1e5e0ad275f1bf5f0d79c225fb59dea1916347b4bedf8c7cfb3080ea1970c857da42fc5d457f3971dc3adfe3c9cb2585905a6c280c97ca7c8c592ab6eb92eafd SHA512 679ef4f7229a3ab1654a4d71eff6380b94e1089ee943e661bd6dce98de67f29bb8d88a11141f8863e4b9220b01f0b854fcffe0412dd9d79fa4a5f99b36ff3d2c +DIST rust-1.96.1-loongarch64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 11927ef32f7ac9027e9f2a0ba8595c0928fd3335da483fe96d331bd22980d7ec2fe833c7be4c0f9df5ce675c9b9a66efcfbe460ac67d41c1d1fc1ab56c254ac3 SHA512 74f0b6bc772c62a6d34cd4583e8ad4ad151ded9150a56fd245c64855545bc47e295704a4df90fb83c0c32e7bd6d89e6a2f26ab78b2e3f101cfeaeb98ec568e87 +DIST rust-1.96.1-mips-unknown-linux-gnu.tar.xz 82543336 BLAKE2B f2a7685d7760953eeb58de982b6aeea9a1b1973c85be078427174bfd4332f17754c4b1fdf0e617294f63c0675bf07f9586b65f1f7a5e95280e25dafafdf7dfb5 SHA512 4a4725a8d2ca75e6e45e633def31cc420ee32c258ca78f3452a8ceabc1bdbdf70cc582602868b8f3f128f910d962aa67cf6e0ae904fbec0d624425f700c588f5 +DIST rust-1.96.1-mips64-unknown-linux-gnuabi64.tar.xz 82254184 BLAKE2B 202b90379a69309343238f9dd6e423609f8ac9baf6705b874ab20c7475659b6b48578c53c2c41079e404484336baf0068c47e3524d0d19e4aa467bc93f08dc6e SHA512 b80fbf2db8ae80c61f112a4c9678877bbeffc68c89551d7e822ffade52354f5250fc7ee4df6cb32746a9b9e604d82f5c5f61eaa236def6b3e00076c5e6f26a80 +DIST rust-1.96.1-mips64el-unknown-linux-gnuabi64.tar.xz 84040040 BLAKE2B a5c1538553573a12e441cf4791ca5740e8275ee52c4f1bd5f888f447f20593ba3b2d882d9c8366ab108c7c4dfe064c49c1feac241f1deb1f1ba7b3cb9fa7128a SHA512 d1e79a8317503d067fad56ef53ea6ebec46bde8b56a1eed6708e32e50c1523d0fc59eddff2c0ef191b812b54ddb5055e98347de48967ff54f862d1db91d9ebbd +DIST rust-1.96.1-mipsel-unknown-linux-gnu.tar.xz 84364352 BLAKE2B d4c947a3fb1cef34ac1bcb6601b47de21809917ec6ced55e858b1667878f1aa670488c437fa3e301c55cd07ee1e2460a6b9d93bf6e92791f30d3e4e4a259d42c SHA512 093bdfd105ed205d92c420a0ce6e0883d2095e47eb69327f1cfff7028833fac0bbc9f006fbb236a797b18c76f46dab4a9b686ca99b77d21513282e7680e8cb4d +DIST rust-1.96.1-powerpc-unknown-linux-gnu.tar.xz 255011952 BLAKE2B 42dbd1f00ac93f0505667e23ac74db381bda82fad0a63d8eba22afd65a5cf4f1031138c46c1219c9f47ae4d949997775cd3e45361c3fbbaaac7d2f6be742f6d2 SHA512 4d76778f3f00024d72612de37700a1288deb9f276f21337c970d6ad83f21694c9440291613eacc4f24f44a2e27789b8e56623c394db5a0197f79f1469756ea44 +DIST rust-1.96.1-powerpc-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 3bcb3def640d985dcdd41a25555db07fbf8fab81a2d2bb73f64687a895779f9c7d21caf1d6efaacd42b7a4310fbe0c263c89a70ccb50acd8f1e113dde674ade8 SHA512 5ea3355caaeb891aa052d26635e02e3e5fbe43c2bae0d3b885ecd6eab6fe51f9bd2bd9ae44eb9291dea5bbe8d669377140acc8b106c385bc9e2ffa6e2179121a +DIST rust-1.96.1-powerpc64-unknown-linux-gnu.tar.xz 255116744 BLAKE2B 6e06b379aeee1cf98b1af3f6d1f870f6e802d952d8894648d121c8fbe5b3db0a05fac34c2a2a725da89cbfd9edcfcb5d1db56267412f257f73cc5f7ba4671710 SHA512 4b9c8f19cdd2882c611dbac11d619e9bb0eb4dc598c98912b855c3ea6f4048b5028b863ff21941c7d0c4718c17e5d51d5a3c4e3177b8859fb638b941806c0f5d +DIST rust-1.96.1-powerpc64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B af7f5aa0571e2b84f97f1e38da6e8d69c33fc993edc6baac35cf10423869408bdab0125a9cd764575db437ef992a7f7a92d9907ca2b582b43ddf8502708b6900 SHA512 e97e55be639fd9982720f4b39bbbbce787692a8b342b0daef795932567a3b047b6a3bdc742e1c09cbf2879477522b123051988129c432b6a97aafd1e74ffc722 +DIST rust-1.96.1-powerpc64-unknown-linux-musl.tar.xz 87078828 BLAKE2B d9a2adcb23e4d8b365787ee376aa01cb313027648093872996f32c5f84aa34c90f6603b97deb55416159015dba421a270d59f4f726396bd1a67c466f555b3c30 SHA512 0514621434b91c7e13cbd0bc5fff415921890ce47e4f3cbcf9baddabc092eb4a2f6b25a4bb8bd00d3814b656a2b3f089cad778a145568a19334dcc220608b724 +DIST rust-1.96.1-powerpc64le-unknown-linux-gnu.tar.xz 274009164 BLAKE2B cbeb28a9c46199f0e1fdabd8cc2c3a0308ff72ae75c1efa865a67ac461dee7404951f9cdbdb9069969c0eb705cc6b7c18a2d784a23dd64cd94b8634974d6a53d SHA512 5368aca40b6272214969b9c511c798fefd86a80119c2204c0c805485a37ed223de4eee5fb1e25363ef19c5d275eb22c97496d291e7cf3820cde91c32d262b139 +DIST rust-1.96.1-powerpc64le-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 0cf7823475dc00e44b7ad3d5852a521c8722730c58e028c36ae773219bdcd4b0555bc91bfef06c68012456e64920489e58fd510517196fadf982a66a68823413 SHA512 c592add7f6391177a39d5da1605048c00c7922eac17547cf948847ce8efee25cc3226ae6678eabf518ddd14654ce89a4c7c57722bc31c2c4159c94e49bfd484d +DIST rust-1.96.1-riscv64gc-unknown-linux-gnu.tar.xz 252595040 BLAKE2B cf621062804d5042b12a40457d9939f8519343048305f5427e93afc63712eb0e2784ac23513615f39177a782b44c324da685717d53bc3ac1ec898ddfbf10b695 SHA512 cf4d8afa2705b87b6d6cd193d90923a89ccd79659cbbbd53900458d71802a502266ef74b16e9ec84a55daac8b425001210e986d2f9f58afdcaabedaec87ba18b +DIST rust-1.96.1-riscv64gc-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 9e35f4f3c29322c85958e7445ac877a9c5344077993a86ee5418bfe694e0fd21fc25a4e9217f56f7bd391fc76a1b2c39af77b055fc0604598a86219e6c46b0ba SHA512 72b1340ee651f934c92f79dc6cf1fcdbf9cf76fe7a7d7f04b385434626893b8cbf6ecf600195b3647dbdc55f3eab57ffa47922ca60ff6f954c0f6cfb31db8d20 +DIST rust-1.96.1-riscv64gc-unknown-linux-musl.tar.xz 91165624 BLAKE2B a669dd1b974e1e5de668ea18177b7cbd3deb9d2f06ba5f3fd7fd439cbdf0098129b4cd328a19c0c066eee698d73497f7e720b763d59f7777c95ea20f66bb7a14 SHA512 b286c23611e1ae316d5d451da1848460713b242a7d5c2a15f37c29ef30e286667d24daf804402a09cd457acd795eab84f58d51aa774da1797cfff7a9258ef038 +DIST rust-1.96.1-s390x-unknown-linux-gnu.tar.xz 242106896 BLAKE2B 81df8538d648ee88292a2dc148d74c08965489e52c1bf1c4634630a3fe7c3cd3f8c4f3b03df207640231ce76ed328a75413c62cd66ff53b65e649a283ba510d9 SHA512 5b36b4d40a4d990d2728b510c7107b4d1b9512ecdb673df24d44d159237d1add276bb8f474edf69923c8c454629bae780ed1059150a437ecfd877faa0e8187ba +DIST rust-1.96.1-s390x-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 08327cdd97741463811b7a28bae5dd96d3b799a91f406371305f80f811dd8e346d4daf0543cbb06c23830e58d25dfda565e0be4049b22df7bc494ece2c4b84ea SHA512 3397db2e05dec34af57ce2a0369af87e10537c1a396850ee6e5c58b215f5c6e2213a2f481754a31096bee5b45451370eb35af7c9b355d5eeeca5c392c678d93a +DIST rust-1.96.1-sparc64-unknown-linux-gnu.tar.xz 80180072 BLAKE2B 2d8cbd8da84a10893a50490bca5cfcca511d431281cb0c3dbdd34876eeddf93de385730bbb4a6b79eb776c49fc6c6b603720c5f9f9b62f96bb2fa553533dcefe SHA512 d9d149d5b41cce8ab664429e251ca80c189e53a724d1fbfc4c5c70ee9276716c11a8c5f1ad1573d42defd76e39d2036c77aedcdac8c498b4f316fa0dd441456c +DIST rust-1.96.1-x86_64-unknown-linux-gnu.tar.xz 197897224 BLAKE2B 6e0a162859bd467f2602330793435a8f0c4adfbfc668c7ba1ad703b7fce43672d25dce8283a46f058c7e09f88f8ee807fc85a6a0bc9f12b636548d4e4e37f1d1 SHA512 8e3b11e6bfb7d019751c89a4ae63f065006367d293b3a70d6f453e1061482d94538e4f860b522d9e6e7d0ae51fcd83dd82540972ad0b1ef64936d1029029f8d3 +DIST rust-1.96.1-x86_64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B ceb4959aa582560182f89e9a2c5ab9c5aaf00a0848bfe5b785657fa649afc3dd72e2590af2ad9bf28ef5219b1bcb33baa548d273e5064939d17ceb78c087eb55 SHA512 8620b84a05d3e2aac6cfe913217ed2b12d42cf642cb08a89dc299da2cecf373bd2ecd72aad9f43e90d94d001b7fd2e880f456b25c3005ae0f9ea3916e6b88bfa +DIST rust-1.96.1-x86_64-unknown-linux-musl.tar.xz 300538300 BLAKE2B ee762ac2c30188afccea2a9fd4190be40840c3cc770c65c8e633a163ebe705886bd360051c88046d0a6fc41cb167bb2eb5843dae4f9470ebe1078ef4524005f8 SHA512 53ceb93aa9513e9b6b7517f8a341d14213e7ef64c54138b78e8d396c2eb71ebfc6ae9d3a540a5506262d181f37515201e190b6d818304c4f1cf67ae8977685bc +DIST rust-1.96.1-x86_64-unknown-linux-musl.tar.xz.asc 801 BLAKE2B b6be64ef33713f7cb9ee8c2b5102a6867c64d9f02468737c5344aae2d594fba00aee33a4fa4458fbfb4ed3b647452f2ccf3074d079fd1b6c21a87e89f874d23f SHA512 043c0918738a94aa75dc96cca6c3fb2176df3b1bc6b5b29baf875b4471fd9e8655570fa6c4cb28280571cef5e06db3a9c632ebb5e38d16f683a220905ef17a22 +DIST rust-1.97.1-aarch64-unknown-linux-gnu.tar.xz 175976652 BLAKE2B 5e4081c507ea20c72ca7b5e2493915d57cb717987eaeab044b7898ac4735d966949d9f635f784b69de165c9b47d1d774374944f6bf61b2fbba4d966252114190 SHA512 9d57618597060387ffd93c46c49614e70f14b72f2c1df18d5da4334e50d83a81fb452261c39edb20b541a12b7f11ffb9451bc778bd115f5e80b8c6c9cc009de5 +DIST rust-1.97.1-aarch64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 7959deeb84bfeb6d311029f746c1a576dbc280deea38b110e8a514f7320ab4d00098345c23ee01599a5bd2563a33786e0574dd77a9fcf19ae696458ea671424d SHA512 508d4d7e59070a0c5d845df3bf0185d47a6b6670bfcabfb24d2e993ec0f4c094a589d4813fd2da2d35ec8eaea73ff49b12c0e30bf368699a7fb50076bcd8ff52 +DIST rust-1.97.1-aarch64-unknown-linux-musl.tar.xz 249621072 BLAKE2B d5826d8d41f307ff64fc8edd79ca129f26f76e986526d9522ea9b89e61d6653b12f719c3874cb0a9c2a264c4f4f719d8b47a31690e0d53ac3a2ccd45b37e52c2 SHA512 54c776583c91a222d53a94006e2abfd39ca38e32dbdd831411da2f7ecc5147c7fad2045a4ba4dc772ef1bd96190b14d9725f1f1318f317c468e8cb1afc12b01c +DIST rust-1.97.1-aarch64-unknown-linux-musl.tar.xz.asc 801 BLAKE2B f6d796465d8c31fb9adb288b5f383c74452dd642924e9df112757bf46323ab0f13ed4af33d88933c04db58a9cd6b05780cf8fd323c9682765c29d5d983b72149 SHA512 4b536e84e1292af63a8c6aa7b5607accb3dd9927d02d221c67114406ffb3f2d703051690a9e546a5f4307c7dc6c0991c1a02ac061f6037c57b2746dafc99d8c9 +DIST rust-1.97.1-arm-unknown-linux-gnueabi.tar.xz 232173504 BLAKE2B 60d9df894b7b0167c0b26615bd20dd1185a283cc4196bee8781b9d20de6fd7dfa1df7baf105432f1fa37ddecc2c8dfe4da184675254b4e96d40b588459c969eb SHA512 713eb4a7d86e53a6865a4de9390d201b28222410c332db7c7890ac1e237ce07c03774fc1fc907d6c795a17ae2e766c8073670ec4111a5e9ef42941981f6af748 +DIST rust-1.97.1-arm-unknown-linux-gnueabi.tar.xz.asc 801 BLAKE2B c8081df3a8cdeb4b14fb1d31646907d7b5e0f46030d1bb5208bbdda21b5af3b8c31935b1e3f112e0c2601d7537d4ebdcfdc12aac28d904906794062acde614dd SHA512 e160a4b126c4631a0a2e146269e857bdae71c44ee80f3d49a86d7d950df296832ff5f8ff91829c3f46bdce8b87e71a7555753bb5e45cb360080366a49e21e7e2 +DIST rust-1.97.1-arm-unknown-linux-gnueabihf.tar.xz 231828120 BLAKE2B 33f1f099e886b683a00f00cba19636e55488064c32586e134b6ba36a92e3e2bb73262dff57a4039faa4c96181414657b12e99e3623e73e887bba9ee916d10b5f SHA512 af82ebf947e110685a05bec8c87d2c1c3c55f4357a6791946418a028eff4dffb713f8430b103f71343fb00d2fd3e223fc198b5e2a4bfa45c7afe686c57cdcd1e +DIST rust-1.97.1-arm-unknown-linux-gnueabihf.tar.xz.asc 801 BLAKE2B 14dc17770366b4c43825a3f4a853a578175652a87adaea7e4a6f228fc4f5ae38b615bdb85cabb8214be4b1b35e95631c05e3a87eea8dfdddf8ae88564862adde SHA512 12e74a6a7d4094de27f8bb9f47a0ebfa92cadf244993f4c6495cc18938e968dcf0875b760794ab548fef4e18a7ed4caccf2e4dfd839df2b5342a647054fa4912 +DIST rust-1.97.1-armv7-unknown-linux-gnueabihf.tar.xz 236164736 BLAKE2B ba3667e35549848c16070f8cce97fa762268878a692ef95e017480a746032f58d31f5aaf54c8741990e1ea72e20d2610eebee820c0f559006b0aabada7bd4463 SHA512 85b9a1faad91572572838bc539cf61fa2e908d2a22df88485bb793ba22e4bf533b32989132388d827fd9d5dda0ff98180298ee2cfece7be384e6ca2bb4afc294 +DIST rust-1.97.1-armv7-unknown-linux-gnueabihf.tar.xz.asc 801 BLAKE2B ee3dcc8b7b9461abba7c7e633face2fc44fd2d8fe29600e8419e89cb6c45299ace8f6d49630548f8a066f1f4a778760f3aaea502a3e38156d4a38c1d350277f4 SHA512 9b1af2a77f269a25a4817db6b97ff52327fd217892c3b76805387cbdfc2a65811010e625fd5cc832da83c9e5462725603303cf211c2ba44356c2b9b5ec8902cf +DIST rust-1.97.1-i686-unknown-linux-gnu.tar.xz 276789928 BLAKE2B dd4b92e988ea56c98239fcd45aa98df7a04f9682bd516e505ded5d856d3f1981bc56bd10b17f1bf234c372352fa5074e505ae4f02e2e9bcf2b55ca0ce4132707 SHA512 a87dbd06b696aed0650f747c4c4e03d3667e30f18884d0b555b469c679774da6736df3118b5eb9ae486c2eea6999af5d4812ebc35661ebe73b1b17ad28ddd25f +DIST rust-1.97.1-i686-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 09228e2af8e2d0606c8cd001b8f35f7bced465d89e2e4d851064bc9b8ba83042e7f56135f461265324eeed9e77a5e13bfd1af111db5f505045ae0f42db6af1b8 SHA512 03cb97b9e239406f6db278ad3220e942509b442b9bc64e29b9f379f660fbbdf6b2434a13043cd58099cc509005705288f949fcbba6a5a7a0e37b748a6ea98d72 +DIST rust-1.97.1-loongarch64-unknown-linux-gnu.tar.xz 264875660 BLAKE2B 68e611ea2b12399d8bc6b91649864493a5e15a96b1525df562f4f1d3807bc596856f91a61a54f17213cc821b285ab442448749fa5d9e1dd79f3bdec19a9f71b3 SHA512 ed9d9bfef52106757514864b9eae8d9abffd82946a1ab22de03464f3e265630ec39aa3b3e264ae3ba9f2ac0e2be2fa7a2d09887101fae453a09445790767a70a +DIST rust-1.97.1-loongarch64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 4224f7d2b52e9b99ab7d82b6dd1c2b42fc6c97c9ffd8c9a25c4873b38abca4b2a2d159f17afb7ff11b55abebf16c3227a1642529779dbd5dfd018bc0aee269af SHA512 1045e3495b854c1c5898264af0401eceb5a073b753332882dc0870658a8447be52cc7ce281f9d8e1be8c0c01958c600d6818cc418b99504ab5bd6e7edff8cf02 +DIST rust-1.97.1-mips-unknown-linux-gnu.tar.xz 83344164 BLAKE2B 3591f1b16d1775a8e4906a701e12849782e79d9990e7dc818e4be3f27bd61cd107eb586621a772734db9aefe939c2b1149807d27adc4f57eae3532f8f1db984c SHA512 dd8ea35bd68acdc60f70455359a41d077ffe0255842c34e6cdd4a6a6c810cd80a0fd4ac4d074140d683acedbe1e8719d180ca148f5bad0d48abffe118377e666 +DIST rust-1.97.1-mips64-unknown-linux-gnuabi64.tar.xz 83278968 BLAKE2B 9608376e50c2479b4f20903e53190632734735395729aaad97c8e2558139ed0cfa16158bbf70cee2211dc1df8fa291b22afecbb8e8c2ae21d69d219c89bb7423 SHA512 2b1e7e2fbb03ac0ba7b8f293e009ccc00450e8304f06860a3ac5fe3d11afb887e967445ad640be622ff42813dabfc113dea768e69c5f35d1407bdcba834d8d24 +DIST rust-1.97.1-mips64el-unknown-linux-gnuabi64.tar.xz 84965144 BLAKE2B 965bb46a893284b346e40f57ab3e49c73377ab86e09db37391525fcc5e7585f04ad278552fa85d016591bf3c905b7cdc6dfaecb6ec92b7c85c6e92b9ce84a5c2 SHA512 202e0938085abcf81185ccec774b2d479baf52a4c5b050cbe37e533fc7be8ab51d272795d3c82b459455ad20ca1ef534cf42295f93b80d551dff0c8c833eab3c +DIST rust-1.97.1-mipsel-unknown-linux-gnu.tar.xz 85193840 BLAKE2B 571764df047b83e5e3cbcb069b6cc74cb8f2fbd8ea6c8e79d50d5ef04829e0eaa153bd9feb0827274a83eff162e35cf5a40e1d760152b0711867e6999704ee5e SHA512 17bff289c0c38ec94d7ac54a1f1292177ac464e33700b02507b08b0aa90d89b336ee8fc032af958adefdba7b96e9cf9a1ef4fca60c46defd93d713a23429a56c +DIST rust-1.97.1-powerpc-unknown-linux-gnu.tar.xz 256592508 BLAKE2B f29a3504922206d5a404167ca63de754fbf55dff5d3f8258f2eabb5e87fb2df9b7d10fdb1173900234e8095990f40d69bd43cd2edc90caf9707f284763a6c4e2 SHA512 e52b30302ceb35f27cf7e5a76e05b212b18dc00cae9b7fbc0083f6a5561f1c513aadb34412183c2272a39843c9e86d526d2b2f0fa917bf3565d71eeb52b22ef3 +DIST rust-1.97.1-powerpc-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 1c0ae162e37fef0a6c0413506e51425299d7d39cc2445b0b047c4bcc7491aede8961d34570d8792fbda4f2a2dcba381010fd28a3df2ee347de7e2e42bab2a829 SHA512 e0233c01860522a4d478457445396c4a50ee9362fb710a0bc8f6decaa0d88f86fdee6f4e1d4a7008418d7a54af3d9587a9073f0ceb789f8ebd941a33186f72ed +DIST rust-1.97.1-powerpc64-unknown-linux-gnu.tar.xz 256552656 BLAKE2B 080c6056769749ae319058be2f6fe847f5a2563090fffbdfe53541ab673e97ede26a36461a81299022d998d0fc26da6b5359a38545ad21980d158eb646345141 SHA512 de02bc60ac9bcb959595559d5599b27d6915263794bdeb5600f2bbcf6ebb7b29e04ca947fb7d909ccedbe3613fa668081fa0dbbb71e9ad7617192c8626934d96 +DIST rust-1.97.1-powerpc64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 1061e18cba765986649f1fdaa134bfa9146ebc4b2a93d1e5fd259ee5d7336fdc9279b1734091bb11d0a01fed4ff6595c2a83d446091c8b4d90fe1a5119bfefef SHA512 d8edb592e92345f8ef32dd697f06a369b6e1e1e188433acc463480b2f36b73c399abe3f06fe319ed94448baa54af3452b7192aa557b5e45ae8f44a3bd22685fd +DIST rust-1.97.1-powerpc64-unknown-linux-musl.tar.xz 87873768 BLAKE2B 9bd91255c94d47d9541d9a8b2507d9de8f67e7d29666e3c31205275d020639b19df301662f27b2b0e592e49e91a46e7ee382458ac2d87950cef7bb602788f35a SHA512 5394ba0e0d0b32ae325224f7dcf73187c436ce7aeb86bf896c033fd20b3db813b9faa0a4d60c2c61f04b568a466c45eed6b3624f3aa4e4b055543005ad52fcbc +DIST rust-1.97.1-powerpc64le-unknown-linux-gnu.tar.xz 275537800 BLAKE2B 664636261251f2686d310c366a6c09c1a0c83523efe28b5a0d501177365c8bfd27f527a0420b70025cccdb9ca6d3a63470071066ef2c7be38c0658dd0aa2a311 SHA512 9ac976f0d7afe67385d70c433cdcd32e23d138899a7ce5f8c82fc152719f59d16c4a1b4128b5069d71521df7767781594d3c31d9020b7353aa91fc1e98b24c4a +DIST rust-1.97.1-powerpc64le-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 09e62b63ab73e245a6bc3f0031e2ac3fb6ff11f8fbdbbba362ac09cffcfe46ee7511085c4c84cbe7916e4178ea62d9af12e621f1d810e1ee9b1a16e1f0008f04 SHA512 7941ee2eb6b3dfd1cc5cc94644b90dd60712b5bb27c8c347f6f32df35fc53b2134933565cccf09f555da05bbce0dc84b081f3b9eb981dc76e67b914216d54f17 +DIST rust-1.97.1-riscv64gc-unknown-linux-gnu.tar.xz 253894780 BLAKE2B d042e57e07ea79d2c55ca47a3ffe8f4f9a753fb793bfc12829246e3217ef034b54d0b10d9e40ba392b129105fcae129e335523dff10d40b3a8fa60c4d7f45c98 SHA512 1a90b12189fe5aa9c9de02c216ff06fb8044d30f0597419a07fa5a959fafb11fcc1a5c3e9ff21d137383f264bb2545a51df59f7ce5f64f1a2d5702c45d4b65f2 +DIST rust-1.97.1-riscv64gc-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B a70a3f2182d8f3cafdd431f2269a8e6af7d4d2279193f98ca1ec56b0d3392d692da9f0d935a4913dcb667cffd38dbf3f5ea3de43218665b4e83c99e95b0c03d9 SHA512 29890c52ac47ec766c3b5d1849556c0e0c92938a179d71e22c97d8d961f7cde7c9dd5c4c61dcae473c18df2353adb927b3564a5b74236490547da1d4d5f3b8cc +DIST rust-1.97.1-riscv64gc-unknown-linux-musl.tar.xz 92232736 BLAKE2B 6c8e56453716230431e66709a7d38fca20d9c071d7a71a8eaa975232e771f2e8774b7807a7004a9a41ed3d3b5ef1ed85da31548d8fac5870a945ed3c9ddea957 SHA512 69212f6aec0c0c6b77e24f6e330222f67c821cdf3c9ed1e56d4be68668f5fffa26698d1787235caeeb281f353873a70174353b7c6c847cb75e9c278135845190 +DIST rust-1.97.1-s390x-unknown-linux-gnu.tar.xz 244387332 BLAKE2B f590f5276106a9fd67d44536cfee6443d6c9ef9b991244756f4a38b813bd4e3d4ed989fb84c24b76e0d7643fa09d35a006d2b04bbcd7447e997134d215cc9e1e SHA512 c29a01d10dae2a4034e291deb2dadfaec99f654db43c688fe9129bbb6e85fa1801f0ea1fa3f96f794982ce6d5a25e78cf6338a45625c8bc32a05053fe351ea8d +DIST rust-1.97.1-s390x-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 60cc315671a156aa9325ebcdec75e43480f0acd525290b171b6b055453e56981bea4c64ed9a54fdc888510c9a8d6ebf1663cbcbe944b2dae93b3c757afb2fda1 SHA512 1586b642a808c6befb61cda1f3e1f006e7e598915721330da8beec923d0dce47a6a3cbc6477925cb558e4d914f513b986da95d604de6361aab2e6bd3f4a9e33e +DIST rust-1.97.1-sparc64-unknown-linux-gnu.tar.xz 80918396 BLAKE2B f78ed6e50470f93bbe4799908434cc61443dcf04b61d856ebed8f26ab61e34580e96ddeea82bcaa7fd0c0e6c295776fcee089dce173775e4d5e59dfaf26e28e3 SHA512 08dbb845938b0b5a3c6233861567e23b7086d69d578dd5bf02b73fce85c423b7b31c85cbf190fefcd379f406c77f637f9a858ac5372bff371a62e712ab3e0213 +DIST rust-1.97.1-x86_64-unknown-linux-gnu.tar.xz 201303968 BLAKE2B b34681966c6d1225cc591e06495aa3d4b2221d89b1bcda7f62f5de90b25c7fd143556a9ac786149fa617e6142b2ba22d42fcc4c8f036c7edbb6dc78c146d10b0 SHA512 1f584669264f1fc5ae61a6d642395c94fc16d35fcf720863531fe98bc29cb83217785de4f7e0be97f0fe67e52700a75f799eb9e7fb36cbeeb4096091da087c4c +DIST rust-1.97.1-x86_64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B bd7e3ff768fc85127b05149bcea780946655dc9739c16890b91ac5c072c447e95e017e48dbd923f1f72707c6d58a90c6d94afa0a8bf9f5180fcdff1fa9915595 SHA512 a956a6ab9380d4ced3b2936cb21a08df53b12207255ef1bbd7449fbdb05e5c3be7700fd66b742391721b45c66740f3e577f7b82531ed54a063cf337bbb6bba20 +DIST rust-1.97.1-x86_64-unknown-linux-musl.tar.xz 303757716 BLAKE2B 3f5f348946480dde1914d4c34c7dd8f8a4b0a1e8fab3080f30d52abd5b57a11f855a14e338bdfc1cfbd3fc23ab46f12d343d0dd94aebb012166b263eceb6706e SHA512 4e041737709981d4dd9f16fd542eab4c44de46df8f14bb59d73592c394ea94d44ed9dcdf4796b85ed2a056d573d078975909484b6676467ddd56edd5925d45af +DIST rust-1.97.1-x86_64-unknown-linux-musl.tar.xz.asc 801 BLAKE2B 29f54843b77cf4f94c5d023b554c6e48d7ae3b7d8759a499e940deb0a00e649f38f97f6af59581d40930caba1fba782b1c075d300d2e91a9fb67725b6cf76dac SHA512 eae2c10c61ae3f399376bda5db6f87f963be1d1dcb840ea39b6168af83807b97dc9ddcd7573717fcd573e0d83485ff55deded33221176d033df7f770450ae80e DIST rust-src-1.74.1.tar.xz 2544036 BLAKE2B d95431b69f102782f51878ff73ce8802cac6dab7909497c3231d1c479b95dc2a618cc6efd8bac9c6bd59a2b10dc6be05199f1e1bd74e45cc640ee52352c29268 SHA512 11467d0936193c5a5be8c2eba1aefe2b7028af48494698863de2c4057d68ce33dcee1fc66dc2d68b1d32f0202ce49e9b906727849de8f8d904dd07930e76d5a4 DIST rust-src-1.75.0.tar.xz 2570256 BLAKE2B 9db7ccff07ffe6991233e9f530321fd6ba48c561dcf1226537afa70c7d045421d8e83c5300b0866ec6fccfaae96dd67b9f204e9e0e12108c0c766d467cd78909 SHA512 e7565cea2f1658a05237a698e38880df2544319b41b6d8b0805db5f1f94fd3bb4f986967d0440fcdfe3a135e33246f3c747665b964f57ff5942f56133af78cdd DIST rust-src-1.76.0.tar.xz 2590884 BLAKE2B d1a6215dab34d7b10c3177d2b248f997d3a846388f3442567572880aa5c5bc51b56398f5d4dc32727cee7c9dbef494430d6534a76b66c4ae5ac4fed07266644d SHA512 39d2fe58fae8c8c5a6cb3fb1ef2a1c7548c018fef6ccea531659fdfecd68a4aa77125299d2cbe5b58e500337b4d074928318fa9ebce358af500d0ef27260e3ca @@ -925,3 +995,5 @@ DIST rust-src-1.93.1.tar.xz 3722488 BLAKE2B 61a63c8eb169917dd9140ddba06fbbf8e05c DIST rust-src-1.94.0.tar.xz 3750144 BLAKE2B d73556a8615f43dd00f61d78df329c2a203e8af2347a82c60d134a039af0a23e8fd01715c255600cb73d78195fa3f3be018c983bbf26f7340c5fb637a7d43128 SHA512 2e9dfe1419eb32e65e6585b2f777aa48c97485f36daf49fe04759821ad5b961923b19c1c0c67fe6f4dbd82cb27748f3f7709bf481ec0ea6bccae7ab878f97712 DIST rust-src-1.94.1.tar.xz 3751284 BLAKE2B fd15a40f67fd4180adf48c4a4972858f68d754bcd51c23cc73848b084d441704b89023079a04db24e0267543ee9eb795dbf0921739f27ebdec219cbd021d83c3 SHA512 50894e7f5c1186993f10201ecf88c32440da73d604327de799143f81ff1dcf3cb4978e9aa11c6ea864d47d1950b595faa38ff02f8ffe6c678bb056ca54e8c40a DIST rust-src-1.95.0.tar.xz 3827368 BLAKE2B b19d0c6043b405fc5d1889f58cbeb8c4b00226ba8ccfb139ff8d3e3c86196a3ebcac5145e9b6befe3e193d1934766d16c190299afa4d87343dc76570c1eb2069 SHA512 7936cd86c35c5283e0845cf848470fb96b142020a43a7a632c646a0bc3e7eb7d7c6f934b84d2a583747decc03be5ef5318de0c7974c8286ba2951cd60db217b2 +DIST rust-src-1.96.1.tar.xz 3868228 BLAKE2B f509efa5be0be11da292a9b2d9f4ae87667ea69293fdf81329ae6fb1790437fe3f01c5c7c0691e4e535d5386bca0e1dd090a4b74f7e55f58db4d63be27fff419 SHA512 daca9d4df578682c1a92e0addf4fcb258e135ff9610c81826004089d4ffdf41b3f0b3dbfa2a1562f9531d4e5a58f744e87655f011ff9bbafe04ac5bc63e16639 +DIST rust-src-1.97.1.tar.xz 5660384 BLAKE2B 23357e49cc9ba35d1f9f1999af32589fd6e12790cb16ec1895aa9272a8f73a4bea93b0ad4d2b0d330ba46bc5458ca9ade9b5a2400d7f96ef093d4f537a567672 SHA512 fe1ba24325d63c66de18c5bd877cd247173ee3bbb67f6fdc54519c52841658f602d28b3b648849ac9a916b9b5c5f7684415bd8c05556137d717bf73367650db7 diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/rust-bin/rust-bin-1.96.1.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/rust-bin/rust-bin-1.96.1.ebuild new file mode 100644 index 00000000000..40019466925 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-lang/rust-bin/rust-bin-1.96.1.ebuild @@ -0,0 +1,336 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LLVM_COMPAT=( 22 ) +LLVM_OPTIONAL="yes" + +inherit edo llvm-r1 multilib prefix rust-toolchain verify-sig multilib-minimal optfeature + +if [[ ${PV} == *9999* ]]; then + # We need to fetch a tarball in src_unpack + PROPERTIES+=" live" +elif [[ ${PV} == *beta* ]]; then + # curl -Ls static.rust-lang.org/dist/channel-rust-beta.toml | grep "xz_url.*rust-src" + betaver=${PV//*beta} + BETA_SNAPSHOT="${betaver:0:4}-${betaver:4:2}-${betaver:6:2}" + RUST_TOOLCHAIN_BASEURL=https://static.rust-lang.org/dist/${BETA_SNAPSHOT}/ + SRC_URI="$(rust_all_arch_uris rust-beta rust-${PV}) + rust-src? ( ${RUST_TOOLCHAIN_BASEURL%/}/rust-src-beta.tar.xz -> rust-src-${PV}.tar.xz ) + " +else + # curl -Ls static.rust-lang.org/dist/channel-rust-${PV}.toml | grep "xz_url.*rust-src" + SRC_URI="$(rust_all_arch_uris "rust-${PV}") + rust-src? ( ${RUST_TOOLCHAIN_BASEURL%/}/2026-06-30/rust-src-${PV}.tar.xz ) + " + KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +fi + +GENTOO_BIN_BASEURI="https://github.com/projg2/rust-bootstrap/releases/download/${PVR}" # omit trailing slash + +DESCRIPTION="Systems programming language from Mozilla" +HOMEPAGE="https://www.rust-lang.org/" + +if [[ ${PV} != *9999* && ${PV} != *beta* ]] ; then + # Keep this separate to allow easy commenting out if not yet built + SRC_URI+=" sparc? ( ${GENTOO_BIN_BASEURI}/rust-${PVR}-sparc64-unknown-linux-gnu.tar.xz ) " + SRC_URI+=" mips? ( + abi_mips_o32? ( + big-endian? ( ${GENTOO_BIN_BASEURI}/rust-${PVR}-mips-unknown-linux-gnu.tar.xz ) + !big-endian? ( ${GENTOO_BIN_BASEURI}/rust-${PVR}-mipsel-unknown-linux-gnu.tar.xz ) + ) + abi_mips_n64? ( + big-endian? ( ${GENTOO_BIN_BASEURI}/rust-${PVR}-mips64-unknown-linux-gnuabi64.tar.xz ) + !big-endian? ( ${GENTOO_BIN_BASEURI}/rust-${PVR}-mips64el-unknown-linux-gnuabi64.tar.xz ) + ) + )" + SRC_URI+=" riscv? ( + elibc_musl? ( ${GENTOO_BIN_BASEURI}/rust-${PVR}-riscv64gc-unknown-linux-musl.tar.xz ) + )" + SRC_URI+=" ppc64? ( elibc_musl? ( + big-endian? ( ${GENTOO_BIN_BASEURI}/rust-${PVR}-powerpc64-unknown-linux-musl.tar.xz ) + ) )" +fi + +LICENSE="|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4" +SLOT="${PV%%_*}" # Beta releases get to share the same SLOT as the eventual stable +IUSE="big-endian +clippy cpu_flags_x86_sse2 +doc prefix rust-analyzer rust-src +rustfmt" + +# net-misc/curl is needed for our own bootstrapped rustc, since cross-compiling bundled curl is not supported +RDEPEND=" + >=app-eselect/eselect-rust-20190311 + dev-libs/openssl + net-misc/curl + sys-apps/lsb-release + || ( + llvm-runtimes/libgcc + sys-devel/gcc:* + ) + !dev-lang/rust:stable + !dev-lang/rust-bin:stable +" +BDEPEND=" + prefix? ( dev-util/patchelf ) + verify-sig? ( sec-keys/openpgp-keys-rust ) +" +[[ ${PV} == *9999* ]] && BDEPEND+=" net-misc/curl" + +REQUIRED_USE="x86? ( cpu_flags_x86_sse2 )" + +# stripping rust may break it (at least on x86_64) +# https://github.com/rust-lang/rust/issues/112286 +RESTRICT="strip" + +QA_PREBUILT=" + opt/rust-bin-${SLOT}/bin/.* + opt/rust-bin-${SLOT}/lib/.*.so* + opt/rust-bin-${SLOT}/libexec/.* + opt/rust-bin-${SLOT}/lib/rustlib/.*/bin/.* + opt/rust-bin-${SLOT}/lib/rustlib/.*/lib/.* +" + +# An rmeta file is custom binary format that contains the metadata for the crate. +# rmeta files do not support linking, since they do not contain compiled object files. +# so we can safely silence the warning for this QA check. +QA_EXECSTACK="opt/${PN}-${SLOT}/lib/rustlib/*/lib*.rlib:lib.rmeta" + +VERIFY_SIG_OPENPGP_KEY_PATH="/usr/share/openpgp-keys/rust.asc" + +src_unpack() { + if [[ ${PV} == *9999* ]]; then + # We need to fetch the latest nightly listing and get the apprapriate src_uri for our arch + local rust_bin_url rustc_src_url + # Cut down on webrequests by fetching the nightly toml once + curl -Ls static.rust-lang.org/dist/channel-rust-nightly.toml > "${WORKDIR}/channel-rust-nightly.toml" || + die "Failed to fetch nightly revision info" + rustc_src_url=$(grep 'xz_url.*rust-src' "${WORKDIR}/channel-rust-nightly.toml" | cut -d '"' -f 2) + + if use rust-src; then + einfo "Using nightly Rust-src from: ${rustc_src_url}" + # We need to fetch the rust-src tarball + einfo "Fetching nightly rust-src tarball ..." + curl --progress-bar -L "${rustc_src_url}" -o "${WORKDIR}/rust-src-${PV}.tar.xz" || + die "Failed to fetch nightly rust-src tarball." + # no verify-sig here, just unpack it + tar -xf "${WORKDIR}/rust-src-${PV}.tar.xz" || die "Failed to unpack nightly rust-src tarball" + fi + + local v + for v in $(multilib_get_enabled_abi_pairs); do + rust_target="$(rust_abi $(get_abi_CHOST ${v##*.}))" + rust_bin_url=$(grep "xz_url.*rust-nightly-${rust_target}" "${WORKDIR}/channel-rust-nightly.toml" | cut -d '"' -f 2) + einfo "Using nightly Rust from ${rust_bin_url} for ${rust_target}" + + einfo "Fetching nightly Rust tarball for ${rust_target} ..." + curl --progress-bar -L "${rust_bin_url}" -O || die "Failed to fetch nightly tarball for ${rust_target}" + if use verify-sig; then + einfo "Fetching nightly signature for ${rust_target} ..." + curl --progress-bar -L "${rust_bin_url}.asc" -O || die "Failed to fetch nightly signature for ${rust_target}" + verify-sig_verify_detached "${WORKDIR}/rust-nightly-${rust_target}.tar.xz" \ + "${WORKDIR}/rust-nightly-${rust_target}.tar.xz.asc" + fi + + tar -xf "${WORKDIR}/rust-nightly-${rust_target}.tar.xz" || die "Failed to unpack nightly tarball for ${rust_target}" + done + else + # sadly rust-src tarball does not have corresponding .asc file + # so do partial verification + if use verify-sig; then + for f in ${A}; do + if [[ -f ${DISTDIR}/${f}.asc ]]; then + verify-sig_verify_detached "${DISTDIR}/${f}" "${DISTDIR}/${f}.asc" + fi + done + fi + + default_src_unpack + fi + + # We only want to do this for the native ABI. Non-native ABIs are + # handled differently in multilib_src_install. + case ${PV} in + *9999*) + mv "${WORKDIR}/rust-nightly-$(rust_abi)" "${S}" || die + ;; + *beta*) + mv "${WORKDIR}/rust-beta-$(rust_abi)" "${S}" || die + ;; + *) + mv "${WORKDIR}/rust-${PV}-$(rust_abi)" "${S}" || die + ;; + esac +} + +patchelf_for_bin() { + local filetype=$(file -b ${1}) + if [[ ${filetype} == *ELF*interpreter* ]]; then + einfo "${1}'s interpreter changed" + patchelf ${1} --set-interpreter ${2} || die + elif [[ ${filetype} == *script* ]]; then + hprefixify ${1} + fi +} + +rust_native_abi_install() { + pushd "${S}" >/dev/null || die + local std="$(grep 'std' ./components || die "std not found in components")" + local components=( "rustc" "cargo" "${std}" ) + use doc && components+=( "rust-docs" ) + use clippy && components+=( "clippy-preview" ) + use rustfmt && components+=( "rustfmt-preview" ) + if use rust-analyzer; then + local analysis="$(grep 'analysis' ./components || die "analysis not found in components")" + components+=( "rust-analyzer-preview" "${analysis}" ) + fi + # Rust component 'rust-src' is extracted from separate archive + if use rust-src; then + einfo "Combining rust and rust-src installers" + case ${PV} in + *9999*) + mv -v "${WORKDIR}/rust-src-nightly/rust-src" "${S}" || die + ;; + *beta*) + mv -v "${WORKDIR}/rust-src-beta/rust-src" "${S}" || die + ;; + *) + mv -v "${WORKDIR}/rust-src-${PV}/rust-src" "${S}" || die + ;; + esac + echo rust-src >> ./components || die + components+=( "rust-src" ) + fi + edo ./install.sh \ + --components="$(IFS=,; echo "${components[*]}")" \ + --disable-verify \ + --prefix="${ED}/opt/rust-bin-${SLOT}" \ + --mandir="${ED}/opt/rust-bin-${SLOT}/man" \ + --disable-ldconfig + + docompress /opt/${P}/man/ + + if use prefix; then + local interpreter=$(patchelf --print-interpreter "${EPREFIX}"/bin/bash) + ebegin "Changing interpreter to ${interpreter} for Gentoo prefix at ${ED}/opt/rust-bin-${SLOT}/bin" + find "${ED}/opt/rust-bin-${SLOT}/bin" -type f -print0 | \ + while IFS= read -r -d '' filename; do + patchelf_for_bin ${filename} ${interpreter} \; || die + done + eend $? + fi + + local symlinks=( + cargo + rustc + rustdoc + rust-gdb + rust-gdbgui + rust-lldb + ) + + use clippy && symlinks+=( clippy-driver cargo-clippy ) + use rustfmt && symlinks+=( rustfmt cargo-fmt ) + use rust-analyzer && symlinks+=( rust-analyzer ) + + einfo "installing eselect-rust symlinks and paths" + local i + for i in "${symlinks[@]}"; do + # we need realpath on /usr/bin/* symlink return version-appended binary path. + # so /usr/bin/rustc should point to /opt/rust-bin-/bin/rustc- + local ver_i="${i}-bin-${SLOT}" + ln -v "${ED}/opt/rust-bin-${SLOT}/bin/${i}" "${ED}/opt/rust-bin-${SLOT}/bin/${ver_i}" || die + dosym -r "/opt/rust-bin-${SLOT}/bin/${ver_i}" "/usr/bin/${ver_i}" + done + + # symlinks to switch components to active rust in eselect + dosym -r "/opt/rust-bin-${SLOT}/lib" "/usr/lib/rust/lib-bin-${SLOT}" + dosym -r "/opt/rust-bin-${SLOT}/man" "/usr/lib/rust/man-bin-${SLOT}" + dosym -r "/opt/rust-bin-${SLOT}/lib/rustlib" "/usr/lib/rustlib-bin-${SLOT}" + dosym -r "/opt/rust-bin-${SLOT}/share/doc/rust" "/usr/share/doc/rust-bin-${SLOT}" + + # make all capital underscored variable + local CARGO_TRIPLET="$(rust_abi)" + CARGO_TRIPLET="${CARGO_TRIPLET//-/_}" + CARGO_TRIPLET="${CARGO_TRIPLET^^}" + cat <<-_EOF_ > "${T}/50${P}" + MANPATH="${EPREFIX}/usr/lib/rust/man-bin-${SLOT}" + $(usev elibc_musl "CARGO_TARGET_${CARGO_TRIPLET}_RUSTFLAGS=\"-C target-feature=-crt-static\"") + _EOF_ + doenvd "${T}/50${P}" + + # note: eselect-rust adds EROOT to all paths below + cat <<-_EOF_ > "${T}/provider-${PN}-${SLOT}" + /usr/bin/cargo + /usr/bin/rustdoc + /usr/bin/rust-gdb + /usr/bin/rust-gdbgui + /usr/bin/rust-lldb + /usr/lib/rustlib + /usr/lib/rust/lib + /usr/lib/rust/man + /usr/share/doc/rust + _EOF_ + + if use clippy; then + echo /usr/bin/clippy-driver >> "${T}/provider-${PN}-${SLOT}" + echo /usr/bin/cargo-clippy >> "${T}/provider-${PN}-${SLOT}" + fi + if use rustfmt; then + echo /usr/bin/rustfmt >> "${T}/provider-${PN}-${SLOT}" + echo /usr/bin/cargo-fmt >> "${T}/provider-${PN}-${SLOT}" + fi + if use rust-analyzer; then + echo /usr/bin/rust-analyzer >> "${T}/provider-${PN}-${SLOT}" + fi + + insinto /etc/env.d/rust + doins "${T}/provider-${PN}-${SLOT}" + popd >/dev/null || die +} + +multilib_src_install() { + if multilib_is_native_abi; then + rust_native_abi_install + else + local rust_target version + case ${PV} in + *9999*) + version=nightly + ;; + *beta*) + version=beta + ;; + *) + version=${PV} + ;; + esac + rust_target="$(rust_abi $(get_abi_CHOST ${v##*.}))" + dodir "/opt/${P}/lib/rustlib" + cp -vr "${WORKDIR}/rust-${version}-${rust_target}/rust-std-${rust_target}/lib/rustlib/${rust_target}"\ + "${ED}/opt/${P}/lib/rustlib" || die + fi + + # BUG: installs x86_64 binary on other arches + rm -f "${ED}/opt/${P}/lib/rustlib/"*/bin/rust-llvm-dwp || die +} + +pkg_postinst() { + eselect rust update + + if has_version dev-debug/gdb || has_version llvm-core/lldb; then + elog "Rust installs helper scripts for calling GDB and LLDB," + elog "for convenience they are installed under /usr/bin/rust-{gdb,lldb}-${PV}." + fi + + if has_version app-editors/emacs; then + optfeature "emacs support for rust" app-emacs/rust-mode + fi + + if has_version app-editors/gvim || has_version app-editors/vim; then + optfeature "vim support for rust" app-vim/rust-vim + fi +} + +pkg_postrm() { + eselect rust cleanup +} diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/rust-bin/rust-bin-1.97.1.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/rust-bin/rust-bin-1.97.1.ebuild new file mode 100644 index 00000000000..eca8d155fa2 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-lang/rust-bin/rust-bin-1.97.1.ebuild @@ -0,0 +1,336 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LLVM_COMPAT=( 22 ) +LLVM_OPTIONAL="yes" + +inherit edo llvm-r1 multilib prefix rust-toolchain verify-sig multilib-minimal optfeature + +if [[ ${PV} == *9999* ]]; then + # We need to fetch a tarball in src_unpack + PROPERTIES+=" live" +elif [[ ${PV} == *beta* ]]; then + # curl -Ls static.rust-lang.org/dist/channel-rust-beta.toml | grep "xz_url.*rust-src" + betaver=${PV//*beta} + BETA_SNAPSHOT="${betaver:0:4}-${betaver:4:2}-${betaver:6:2}" + RUST_TOOLCHAIN_BASEURL=https://static.rust-lang.org/dist/${BETA_SNAPSHOT}/ + SRC_URI="$(rust_all_arch_uris rust-beta rust-${PV}) + rust-src? ( ${RUST_TOOLCHAIN_BASEURL%/}/rust-src-beta.tar.xz -> rust-src-${PV}.tar.xz ) + " +else + # curl -Ls static.rust-lang.org/dist/channel-rust-${PV}.toml | grep "xz_url.*rust-src" + SRC_URI="$(rust_all_arch_uris "rust-${PV}") + rust-src? ( ${RUST_TOOLCHAIN_BASEURL%/}/2026-07-16/rust-src-${PV}.tar.xz ) + " + KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +fi + +GENTOO_BIN_BASEURI="https://github.com/projg2/rust-bootstrap/releases/download/${PVR}" # omit trailing slash + +DESCRIPTION="Systems programming language from Mozilla" +HOMEPAGE="https://www.rust-lang.org/" + +if [[ ${PV} != *9999* && ${PV} != *beta* ]] ; then + # Keep this separate to allow easy commenting out if not yet built + SRC_URI+=" sparc? ( ${GENTOO_BIN_BASEURI}/rust-${PVR}-sparc64-unknown-linux-gnu.tar.xz ) " + SRC_URI+=" mips? ( + abi_mips_o32? ( + big-endian? ( ${GENTOO_BIN_BASEURI}/rust-${PVR}-mips-unknown-linux-gnu.tar.xz ) + !big-endian? ( ${GENTOO_BIN_BASEURI}/rust-${PVR}-mipsel-unknown-linux-gnu.tar.xz ) + ) + abi_mips_n64? ( + big-endian? ( ${GENTOO_BIN_BASEURI}/rust-${PVR}-mips64-unknown-linux-gnuabi64.tar.xz ) + !big-endian? ( ${GENTOO_BIN_BASEURI}/rust-${PVR}-mips64el-unknown-linux-gnuabi64.tar.xz ) + ) + )" + SRC_URI+=" riscv? ( + elibc_musl? ( ${GENTOO_BIN_BASEURI}/rust-${PVR}-riscv64gc-unknown-linux-musl.tar.xz ) + )" + SRC_URI+=" ppc64? ( elibc_musl? ( + big-endian? ( ${GENTOO_BIN_BASEURI}/rust-${PVR}-powerpc64-unknown-linux-musl.tar.xz ) + ) )" +fi + +LICENSE="|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4" +SLOT="${PV%%_*}" # Beta releases get to share the same SLOT as the eventual stable +IUSE="big-endian +clippy cpu_flags_x86_sse2 doc prefix rust-analyzer rust-src +rustfmt" + +# net-misc/curl is needed for our own bootstrapped rustc, since cross-compiling bundled curl is not supported +RDEPEND=" + >=app-eselect/eselect-rust-20190311 + dev-libs/openssl + net-misc/curl + sys-apps/lsb-release + || ( + llvm-runtimes/libgcc + sys-devel/gcc:* + ) + !dev-lang/rust:stable + !dev-lang/rust-bin:stable +" +BDEPEND=" + prefix? ( dev-util/patchelf ) + verify-sig? ( sec-keys/openpgp-keys-rust ) +" +[[ ${PV} == *9999* ]] && BDEPEND+=" net-misc/curl" + +REQUIRED_USE="x86? ( cpu_flags_x86_sse2 )" + +# stripping rust may break it (at least on x86_64) +# https://github.com/rust-lang/rust/issues/112286 +RESTRICT="strip" + +QA_PREBUILT=" + opt/rust-bin-${SLOT}/bin/.* + opt/rust-bin-${SLOT}/lib/.*.so* + opt/rust-bin-${SLOT}/libexec/.* + opt/rust-bin-${SLOT}/lib/rustlib/.*/bin/.* + opt/rust-bin-${SLOT}/lib/rustlib/.*/lib/.* +" + +# An rmeta file is custom binary format that contains the metadata for the crate. +# rmeta files do not support linking, since they do not contain compiled object files. +# so we can safely silence the warning for this QA check. +QA_EXECSTACK="opt/${PN}-${SLOT}/lib/rustlib/*/lib*.rlib:lib.rmeta" + +VERIFY_SIG_OPENPGP_KEY_PATH="/usr/share/openpgp-keys/rust.asc" + +src_unpack() { + if [[ ${PV} == *9999* ]]; then + # We need to fetch the latest nightly listing and get the apprapriate src_uri for our arch + local rust_bin_url rustc_src_url + # Cut down on webrequests by fetching the nightly toml once + curl -Ls static.rust-lang.org/dist/channel-rust-nightly.toml > "${WORKDIR}/channel-rust-nightly.toml" || + die "Failed to fetch nightly revision info" + rustc_src_url=$(grep 'xz_url.*rust-src' "${WORKDIR}/channel-rust-nightly.toml" | cut -d '"' -f 2) + + if use rust-src; then + einfo "Using nightly Rust-src from: ${rustc_src_url}" + # We need to fetch the rust-src tarball + einfo "Fetching nightly rust-src tarball ..." + curl --progress-bar -L "${rustc_src_url}" -o "${WORKDIR}/rust-src-${PV}.tar.xz" || + die "Failed to fetch nightly rust-src tarball." + # no verify-sig here, just unpack it + tar -xf "${WORKDIR}/rust-src-${PV}.tar.xz" || die "Failed to unpack nightly rust-src tarball" + fi + + local v + for v in $(multilib_get_enabled_abi_pairs); do + rust_target="$(rust_abi $(get_abi_CHOST ${v##*.}))" + rust_bin_url=$(grep "xz_url.*rust-nightly-${rust_target}" "${WORKDIR}/channel-rust-nightly.toml" | cut -d '"' -f 2) + einfo "Using nightly Rust from ${rust_bin_url} for ${rust_target}" + + einfo "Fetching nightly Rust tarball for ${rust_target} ..." + curl --progress-bar -L "${rust_bin_url}" -O || die "Failed to fetch nightly tarball for ${rust_target}" + if use verify-sig; then + einfo "Fetching nightly signature for ${rust_target} ..." + curl --progress-bar -L "${rust_bin_url}.asc" -O || die "Failed to fetch nightly signature for ${rust_target}" + verify-sig_verify_detached "${WORKDIR}/rust-nightly-${rust_target}.tar.xz" \ + "${WORKDIR}/rust-nightly-${rust_target}.tar.xz.asc" + fi + + tar -xf "${WORKDIR}/rust-nightly-${rust_target}.tar.xz" || die "Failed to unpack nightly tarball for ${rust_target}" + done + else + # sadly rust-src tarball does not have corresponding .asc file + # so do partial verification + if use verify-sig; then + for f in ${A}; do + if [[ -f ${DISTDIR}/${f}.asc ]]; then + verify-sig_verify_detached "${DISTDIR}/${f}" "${DISTDIR}/${f}.asc" + fi + done + fi + + default_src_unpack + fi + + # We only want to do this for the native ABI. Non-native ABIs are + # handled differently in multilib_src_install. + case ${PV} in + *9999*) + mv "${WORKDIR}/rust-nightly-$(rust_abi)" "${S}" || die + ;; + *beta*) + mv "${WORKDIR}/rust-beta-$(rust_abi)" "${S}" || die + ;; + *) + mv "${WORKDIR}/rust-${PV}-$(rust_abi)" "${S}" || die + ;; + esac +} + +patchelf_for_bin() { + local filetype=$(file -b ${1}) + if [[ ${filetype} == *ELF*interpreter* ]]; then + einfo "${1}'s interpreter changed" + patchelf ${1} --set-interpreter ${2} || die + elif [[ ${filetype} == *script* ]]; then + hprefixify ${1} + fi +} + +rust_native_abi_install() { + pushd "${S}" >/dev/null || die + local std="$(grep 'std' ./components || die "std not found in components")" + local components=( "rustc" "cargo" "${std}" ) + use doc && components+=( "rust-docs" ) + use clippy && components+=( "clippy-preview" ) + use rustfmt && components+=( "rustfmt-preview" ) + if use rust-analyzer; then + local analysis="$(grep 'analysis' ./components || die "analysis not found in components")" + components+=( "rust-analyzer-preview" "${analysis}" ) + fi + # Rust component 'rust-src' is extracted from separate archive + if use rust-src; then + einfo "Combining rust and rust-src installers" + case ${PV} in + *9999*) + mv -v "${WORKDIR}/rust-src-nightly/rust-src" "${S}" || die + ;; + *beta*) + mv -v "${WORKDIR}/rust-src-beta/rust-src" "${S}" || die + ;; + *) + mv -v "${WORKDIR}/rust-src-${PV}/rust-src" "${S}" || die + ;; + esac + echo rust-src >> ./components || die + components+=( "rust-src" ) + fi + edo ./install.sh \ + --components="$(IFS=,; echo "${components[*]}")" \ + --disable-verify \ + --prefix="${ED}/opt/rust-bin-${SLOT}" \ + --mandir="${ED}/opt/rust-bin-${SLOT}/man" \ + --disable-ldconfig + + docompress /opt/${P}/man/ + + if use prefix; then + local interpreter=$(patchelf --print-interpreter "${EPREFIX}"/bin/bash) + ebegin "Changing interpreter to ${interpreter} for Gentoo prefix at ${ED}/opt/rust-bin-${SLOT}/bin" + find "${ED}/opt/rust-bin-${SLOT}/bin" -type f -print0 | \ + while IFS= read -r -d '' filename; do + patchelf_for_bin ${filename} ${interpreter} \; || die + done + eend $? + fi + + local symlinks=( + cargo + rustc + rustdoc + rust-gdb + rust-gdbgui + rust-lldb + ) + + use clippy && symlinks+=( clippy-driver cargo-clippy ) + use rustfmt && symlinks+=( rustfmt cargo-fmt ) + use rust-analyzer && symlinks+=( rust-analyzer ) + + einfo "installing eselect-rust symlinks and paths" + local i + for i in "${symlinks[@]}"; do + # we need realpath on /usr/bin/* symlink return version-appended binary path. + # so /usr/bin/rustc should point to /opt/rust-bin-/bin/rustc- + local ver_i="${i}-bin-${SLOT}" + ln -v "${ED}/opt/rust-bin-${SLOT}/bin/${i}" "${ED}/opt/rust-bin-${SLOT}/bin/${ver_i}" || die + dosym -r "/opt/rust-bin-${SLOT}/bin/${ver_i}" "/usr/bin/${ver_i}" + done + + # symlinks to switch components to active rust in eselect + dosym -r "/opt/rust-bin-${SLOT}/lib" "/usr/lib/rust/lib-bin-${SLOT}" + dosym -r "/opt/rust-bin-${SLOT}/man" "/usr/lib/rust/man-bin-${SLOT}" + dosym -r "/opt/rust-bin-${SLOT}/lib/rustlib" "/usr/lib/rustlib-bin-${SLOT}" + dosym -r "/opt/rust-bin-${SLOT}/share/doc/rust" "/usr/share/doc/rust-bin-${SLOT}" + + # make all capital underscored variable + local CARGO_TRIPLET="$(rust_abi)" + CARGO_TRIPLET="${CARGO_TRIPLET//-/_}" + CARGO_TRIPLET="${CARGO_TRIPLET^^}" + cat <<-_EOF_ > "${T}/50${P}" + MANPATH="${EPREFIX}/usr/lib/rust/man-bin-${SLOT}" + $(usev elibc_musl "CARGO_TARGET_${CARGO_TRIPLET}_RUSTFLAGS=\"-C target-feature=-crt-static\"") + _EOF_ + doenvd "${T}/50${P}" + + # note: eselect-rust adds EROOT to all paths below + cat <<-_EOF_ > "${T}/provider-${PN}-${SLOT}" + /usr/bin/cargo + /usr/bin/rustdoc + /usr/bin/rust-gdb + /usr/bin/rust-gdbgui + /usr/bin/rust-lldb + /usr/lib/rustlib + /usr/lib/rust/lib + /usr/lib/rust/man + /usr/share/doc/rust + _EOF_ + + if use clippy; then + echo /usr/bin/clippy-driver >> "${T}/provider-${PN}-${SLOT}" + echo /usr/bin/cargo-clippy >> "${T}/provider-${PN}-${SLOT}" + fi + if use rustfmt; then + echo /usr/bin/rustfmt >> "${T}/provider-${PN}-${SLOT}" + echo /usr/bin/cargo-fmt >> "${T}/provider-${PN}-${SLOT}" + fi + if use rust-analyzer; then + echo /usr/bin/rust-analyzer >> "${T}/provider-${PN}-${SLOT}" + fi + + insinto /etc/env.d/rust + doins "${T}/provider-${PN}-${SLOT}" + popd >/dev/null || die +} + +multilib_src_install() { + if multilib_is_native_abi; then + rust_native_abi_install + else + local rust_target version + case ${PV} in + *9999*) + version=nightly + ;; + *beta*) + version=beta + ;; + *) + version=${PV} + ;; + esac + rust_target="$(rust_abi $(get_abi_CHOST ${v##*.}))" + dodir "/opt/${P}/lib/rustlib" + cp -vr "${WORKDIR}/rust-${version}-${rust_target}/rust-std-${rust_target}/lib/rustlib/${rust_target}"\ + "${ED}/opt/${P}/lib/rustlib" || die + fi + + # BUG: installs x86_64 binary on other arches + rm -f "${ED}/opt/${P}/lib/rustlib/"*/bin/rust-llvm-dwp || die +} + +pkg_postinst() { + eselect rust update + + if has_version dev-debug/gdb || has_version llvm-core/lldb; then + elog "Rust installs helper scripts for calling GDB and LLDB," + elog "for convenience they are installed under /usr/bin/rust-{gdb,lldb}-${PV}." + fi + + if has_version app-editors/emacs; then + optfeature "emacs support for rust" app-emacs/rust-mode + fi + + if has_version app-editors/gvim || has_version app-editors/vim; then + optfeature "vim support for rust" app-vim/rust-vim + fi +} + +pkg_postrm() { + eselect rust cleanup +} From a8feb964936d4216eacc6874bc1533a0a754b110 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 3 Aug 2026 08:13:32 +0000 Subject: [PATCH 039/195] dev-lang/rust-common: Sync with Gentoo It's from Gentoo commit 35afbbd4597cfd6baca3a662a8ecf832aa9d2185. Signed-off-by: Flatcar Buildbot --- .../dev-lang/rust-common/Manifest | 4 + .../rust-common/rust-common-1.96.1.ebuild | 73 +++++++++++++++++++ .../rust-common/rust-common-1.97.1.ebuild | 73 +++++++++++++++++++ 3 files changed, 150 insertions(+) create mode 100644 sdk_container/src/third_party/portage-stable/dev-lang/rust-common/rust-common-1.96.1.ebuild create mode 100644 sdk_container/src/third_party/portage-stable/dev-lang/rust-common/rust-common-1.97.1.ebuild diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/rust-common/Manifest b/sdk_container/src/third_party/portage-stable/dev-lang/rust-common/Manifest index 899f13e3962..63ea5f330b3 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/rust-common/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-lang/rust-common/Manifest @@ -32,3 +32,7 @@ DIST rustc-1.94.1-src.tar.xz 274077388 BLAKE2B 1c8c1b3f2d32898d7bfee5daa49b2d99c DIST rustc-1.94.1-src.tar.xz.asc 801 BLAKE2B 34559398b1fd0e7ff93ecf0d6a90c371048b70f834cd376a56f30b9890d9b786085a9149546a6c031e2e07bd4a349f1f3139f0e7f8bdae2a451dee47b5a13155 SHA512 6176d98acf9367e13afaef1c90ebca555f3ad08c44504f5cf23b7963959ee01ace1e99bf56aaf4f629bfb320eaca01b1940ba1819ce523d0cf336c97a69b21b7 DIST rustc-1.95.0-src.tar.xz 238952004 BLAKE2B 0f255678231df79c9910cf5d9efbd762d1955ad78512194e3e06b3cec327f346bc98c526d2a8468ea53f57132c9765a134fe203267c1f6696e6719db820f342a SHA512 685912ffff97063e55c85b2d15d06ba734980cef4b6e104caae1ea433958b12a8d651b757eef7b9f5b06dad3c246d819a5ee5574a26e05007ecdd378f0f041d0 DIST rustc-1.95.0-src.tar.xz.asc 801 BLAKE2B 90871b7ef3b69d0e4ef74892e16c0efab1c7ff796f646a3ef8653408d0155d528e418f71dcafca66c0689d38a3b3fba7128b1f32f4e69b7df36d86be8114bdbe SHA512 f70ed8071eff3470d4c288b83951e05f2ced52052a2f796113eb18db2c1f4bf81796f61434c322772dda879146d63569fd545d94d17e478a9588a333159c389c +DIST rustc-1.96.1-src.tar.xz 241602032 BLAKE2B b8a489293a232faf24a7eaaa439f752bc46848faecc67f5a6462632b33116628a76af8687ce27d42ac0a8662403ee83610e628059ff56651be67aaee88cdfa53 SHA512 fa835f26e1969cababc3c32eeb064548fcb4f05cd1a25fd1b5f6f12660170225b389ca3442da1ef23f999e34ca8ec348810c498d1fff0bee140ec372a37009b1 +DIST rustc-1.96.1-src.tar.xz.asc 801 BLAKE2B b54bed57d90fed66806fe0b16c6d81d880bf0398030d639cdc440d7df5a8699d1d0ec5803baee9f0ffd9503be11be3b202f6f4ec86a2167f5349317a714bd265 SHA512 1765666d2509d93cbbad5f47507ba7510fc07cf650689238a8d39d33be0d85a06c4cd67281d78a1b5e29258002d7dd6da912c9015a8d0e942ee01fc46fa0dca3 +DIST rustc-1.97.1-src.tar.xz 242787896 BLAKE2B d54e89d84b25d68761663f1c243480f1bb061c30ee17e731f3d9cd1ff52639cf198647347884d7325f2dbc1582a3d8095908352edcb944a49e5b0581160d5fb6 SHA512 a04178bf0f2c43cbb503a5ea48145eebfee371766a589c0855079ae6a7f3945223850dcc6bce2a94b9f9ead1595d99de09bb00cd6180300e0da58dc247f043eb +DIST rustc-1.97.1-src.tar.xz.asc 801 BLAKE2B d0841e9decf17d18c13c33bf0bdb8a51873799465bafa402090f7f680046d141eea0a633278a7387ee741a8a5dd6ceac40384b4a06132e99b34bb7e22f740d04 SHA512 9d3ca698b1a1a453cac8758622609414f10868e8890491d8cd8c0eed796b689623f91cc28377c1e4c33095f02e92af7d1230458fe4e1fd830b6139799af50f32 diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/rust-common/rust-common-1.96.1.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/rust-common/rust-common-1.96.1.ebuild new file mode 100644 index 00000000000..1037d635a09 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-lang/rust-common/rust-common-1.96.1.ebuild @@ -0,0 +1,73 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/rust.asc +inherit shell-completion verify-sig + +DESCRIPTION="Common files shared between multiple slots of Rust" +HOMEPAGE="https://www.rust-lang.org/" + +if [[ ${PV} = *9999* ]]; then + inherit git-r3 + # In case cargo is not in sync we'll fetch it as a submodule + # Nightly users will probably already have the repo cloned and up-to-date anyway. + EGIT_REPO_URI="https://github.com/rust-lang/rust.git" + EGIT_SUBMODULES=( "-*" "src/tools/cargo" ) +elif [[ ${PV} == *beta* ]]; then + # Identify the snapshot date of the beta release: + # curl -Ls static.rust-lang.org/dist/channel-rust-beta.toml | grep beta-src.tar.xz + MY_PV=beta + betaver=${PV//*beta} + BETA_SNAPSHOT="${betaver:0:4}-${betaver:4:2}-${betaver:6:2}" + SRC_URI="https://static.rust-lang.org/dist/${BETA_SNAPSHOT}/rustc-beta-src.tar.xz -> rustc-${PV}-src.tar.xz + verify-sig? ( https://static.rust-lang.org/dist/${BETA_SNAPSHOT}/rustc-beta-src.tar.xz.asc + -> rustc-${PV}-src.tar.xz.asc ) + " + S="${WORKDIR}/rustc-${MY_PV}-src" +else + MY_PV=${PV} + SRC_URI="https://static.rust-lang.org/dist/rustc-${PV}-src.tar.xz + verify-sig? ( https://static.rust-lang.org/dist/rustc-${PV}-src.tar.xz.asc ) + " + S="${WORKDIR}/rustc-${MY_PV}-src" + KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86" +fi + +LICENSE="|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4" +SLOT="0" + +# Legacy non-slotted versions bash completions will collide. +RDEPEND=" + !dev-lang/rust:stable + !dev-lang/rust-bin:stable +" +BDEPEND="verify-sig? ( sec-keys/openpgp-keys-rust )" + +src_unpack() { + if [[ ${PV} == *9999* ]]; then + git-r3_src_unpack + else + if use verify-sig ; then + verify-sig_verify_detached "${DISTDIR}"/rustc-${PV}-src.tar.xz "${DISTDIR}"/rustc-${PV}-src.tar.xz.asc + fi + + # Avoid unpacking the whole tarball which would need check-reqs + tar -xf "${DISTDIR}"/rustc-${PV}-src.tar.xz \ + "rustc-${MY_PV}-src/src/tools/cargo/src/etc/"{_cargo,cargo.bashcomp.sh} || die + fi +} + +src_configure() { + : +} + +src_compile() { + : +} + +src_install() { + newbashcomp src/tools/cargo/src/etc/cargo.bashcomp.sh cargo + dozshcomp src/tools/cargo/src/etc/_cargo +} diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/rust-common/rust-common-1.97.1.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/rust-common/rust-common-1.97.1.ebuild new file mode 100644 index 00000000000..1037d635a09 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-lang/rust-common/rust-common-1.97.1.ebuild @@ -0,0 +1,73 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/rust.asc +inherit shell-completion verify-sig + +DESCRIPTION="Common files shared between multiple slots of Rust" +HOMEPAGE="https://www.rust-lang.org/" + +if [[ ${PV} = *9999* ]]; then + inherit git-r3 + # In case cargo is not in sync we'll fetch it as a submodule + # Nightly users will probably already have the repo cloned and up-to-date anyway. + EGIT_REPO_URI="https://github.com/rust-lang/rust.git" + EGIT_SUBMODULES=( "-*" "src/tools/cargo" ) +elif [[ ${PV} == *beta* ]]; then + # Identify the snapshot date of the beta release: + # curl -Ls static.rust-lang.org/dist/channel-rust-beta.toml | grep beta-src.tar.xz + MY_PV=beta + betaver=${PV//*beta} + BETA_SNAPSHOT="${betaver:0:4}-${betaver:4:2}-${betaver:6:2}" + SRC_URI="https://static.rust-lang.org/dist/${BETA_SNAPSHOT}/rustc-beta-src.tar.xz -> rustc-${PV}-src.tar.xz + verify-sig? ( https://static.rust-lang.org/dist/${BETA_SNAPSHOT}/rustc-beta-src.tar.xz.asc + -> rustc-${PV}-src.tar.xz.asc ) + " + S="${WORKDIR}/rustc-${MY_PV}-src" +else + MY_PV=${PV} + SRC_URI="https://static.rust-lang.org/dist/rustc-${PV}-src.tar.xz + verify-sig? ( https://static.rust-lang.org/dist/rustc-${PV}-src.tar.xz.asc ) + " + S="${WORKDIR}/rustc-${MY_PV}-src" + KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86" +fi + +LICENSE="|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4" +SLOT="0" + +# Legacy non-slotted versions bash completions will collide. +RDEPEND=" + !dev-lang/rust:stable + !dev-lang/rust-bin:stable +" +BDEPEND="verify-sig? ( sec-keys/openpgp-keys-rust )" + +src_unpack() { + if [[ ${PV} == *9999* ]]; then + git-r3_src_unpack + else + if use verify-sig ; then + verify-sig_verify_detached "${DISTDIR}"/rustc-${PV}-src.tar.xz "${DISTDIR}"/rustc-${PV}-src.tar.xz.asc + fi + + # Avoid unpacking the whole tarball which would need check-reqs + tar -xf "${DISTDIR}"/rustc-${PV}-src.tar.xz \ + "rustc-${MY_PV}-src/src/tools/cargo/src/etc/"{_cargo,cargo.bashcomp.sh} || die + fi +} + +src_configure() { + : +} + +src_compile() { + : +} + +src_install() { + newbashcomp src/tools/cargo/src/etc/cargo.bashcomp.sh cargo + dozshcomp src/tools/cargo/src/etc/_cargo +} From 902afc820e23a02ab1ad1dc1b9a299889b433b7a Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 3 Aug 2026 08:13:39 +0000 Subject: [PATCH 040/195] dev-libs/expat: Sync with Gentoo It's from Gentoo commit e79c3b3a26894eb3979227f411ee1ef78f10ac90. Signed-off-by: Flatcar Buildbot --- .../portage-stable/dev-libs/expat/Manifest | 1 - .../dev-libs/expat/expat-2.8.1.ebuild | 101 ------------------ 2 files changed, 102 deletions(-) delete mode 100644 sdk_container/src/third_party/portage-stable/dev-libs/expat/expat-2.8.1.ebuild diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/expat/Manifest b/sdk_container/src/third_party/portage-stable/dev-libs/expat/Manifest index dfd54579754..55a2507150b 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/expat/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-libs/expat/Manifest @@ -1,2 +1 @@ -DIST expat-2.8.1.tar.xz 512224 BLAKE2B 529551f960a1e611be6a0e9ff579e136ccad676d7e99ef8183bbee83969bf4cd37177444759ccbccc48c1bd49d2b0c3bd8f1f91862f272b54a23ad1b932d2f9d SHA512 186e9677a4255d054364c06f68318df3e9039793da29e7b286ed7c6b12e93f62f2d096b5f7535bde29844fc25a934b84616e72228f6584e9d655fd8ed95c639a DIST expat-2.8.2.tar.xz 515504 BLAKE2B f037cb75f86652fbddd3474f2b7a1293e9b77b540475fa34432a8304ddc58b3eafbab5150a5b591fc4a889d895507b0d379032cdd0c474445ac0aa9e518bef18 SHA512 68ee856b3eeefeb6bb800004951bbbe89a9a144354ae12bc9d670888fd89e8513243e0053c61674430c78e2beeeb85a3c86ac7644576a5bb9867fbce3643ff8d diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/expat/expat-2.8.1.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/expat/expat-2.8.1.ebuild deleted file mode 100644 index 3526fc8e126..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-libs/expat/expat-2.8.1.ebuild +++ /dev/null @@ -1,101 +0,0 @@ -# Copyright 1999-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -AUTOTOOLS_AUTO_DEPEND=no -inherit autotools multilib-minimal - -DESCRIPTION="Stream-oriented XML parser library" -HOMEPAGE="https://libexpat.github.io/" -SRC_URI="https://github.com/libexpat/libexpat/releases/download/R_${PV//\./_}/expat-${PV}.tar.xz" - -LICENSE="MIT" -SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" -IUSE="examples static-libs test unicode" -RESTRICT="!test? ( test )" -BDEPEND="unicode? ( ${AUTOTOOLS_DEPEND} )" - -DOCS=( README.md ) - -QA_CONFIG_IMPL_DECL_SKIP=( - # https://bugs.gentoo.org/906384 - arc4random - arc4random_buf -) - -src_prepare() { - default - - # fix interpreter to be a recent/good shell - sed -i -e "1s:/bin/sh:${BASH}:" conftools/get-version.sh || die - if use unicode; then - cp -R "${S}" "${S}"w || die - pushd "${S}"w >/dev/null - find -name Makefile.am \ - -exec sed \ - -e 's,libexpat\.la,libexpatw.la,' \ - -e 's,libexpat_la,libexpatw_la,' \ - -i {} + || die - eautoreconf - popd >/dev/null - fi -} - -multilib_src_configure() { - local myconf="$(use_with test tests) $(use_enable static-libs static) --without-docbook" - - mkdir -p "${BUILD_DIR}"w || die - - if use unicode; then - pushd "${BUILD_DIR}"w >/dev/null - CPPFLAGS="${CPPFLAGS} -DXML_UNICODE" ECONF_SOURCE="${S}"w econf ${myconf} - popd >/dev/null - fi - - ECONF_SOURCE="${S}" econf ${myconf} -} - -multilib_src_compile() { - emake - - if use unicode; then - pushd "${BUILD_DIR}"w >/dev/null - emake -C lib - popd >/dev/null - fi -} - -multilib_src_install() { - emake install DESTDIR="${D}" - - if use unicode; then - pushd "${BUILD_DIR}"w >/dev/null - emake -C lib install DESTDIR="${D}" - popd >/dev/null - - pushd "${ED}"/usr/$(get_libdir)/pkgconfig >/dev/null - cp expat.pc expatw.pc - sed -i -e '/^Libs/s:-lexpat:&w:' expatw.pc || die - popd >/dev/null - fi -} - -multilib_src_install_all() { - einstalldocs - - doman doc/xmlwf.1 - - # Note: Use of HTML_DOCS would add unwanted "doc" subfolder - docinto html - dodoc doc/*.{css,html} - - if use examples; then - docinto examples - dodoc examples/*.c - docompress -x usr/share/doc/${PF}/examples - fi - - find "${D}" -name '*.la' -type f -delete || die -} From 80aec83f1ef6a2009b6ab262a39463230112eaf0 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 3 Aug 2026 08:13:41 +0000 Subject: [PATCH 041/195] dev-libs/jansson: Sync with Gentoo It's from Gentoo commit ad659c7673fa05dce45ce02d7d2063cdd2d05353. Signed-off-by: Flatcar Buildbot --- .../portage-stable/dev-libs/jansson/Manifest | 2 +- .../dev-libs/jansson/jansson-2.14-r1.ebuild | 42 ------------------- ...n-2.14-r2.ebuild => jansson-2.15.1.ebuild} | 12 +++--- 3 files changed, 6 insertions(+), 50 deletions(-) delete mode 100644 sdk_container/src/third_party/portage-stable/dev-libs/jansson/jansson-2.14-r1.ebuild rename sdk_container/src/third_party/portage-stable/dev-libs/jansson/{jansson-2.14-r2.ebuild => jansson-2.15.1.ebuild} (74%) diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/jansson/Manifest b/sdk_container/src/third_party/portage-stable/dev-libs/jansson/Manifest index bc87888b557..de55a4ea45e 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/jansson/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-libs/jansson/Manifest @@ -1,2 +1,2 @@ DIST jansson-2.14.1.tar.bz2 482990 BLAKE2B b3efb1cbe018bb88664167249edca65c5194922c69fa82a0514d5bbcd24324464ddcc30ae57f8ab0f9c43f28d2364adc973f87146ceff0889ea2b6eafb91b1ea SHA512 668d8ffbd13b83e8a55449c588f267220c2a9e4690281c2386e3dada4c8b890c80effd6a946b3500bb1cf800eb8cf1bb3da3c6476ceea4f462d2ccc9cd4911d8 -DIST jansson-2.14.tar.bz2 434481 BLAKE2B b7b7e98360fd73f7925b88e3729a7a18307b4f05fed4b37659d24ddc03208469471d508dcd245534f73af3b5e93f595e49e3cb2c99733955b03d471bd5a32f15 SHA512 1a659c0f41b0672757c13ebd16bd10ad7d6484366aefda078aa816266ce4f5638bc121f1ce8c4234b0b9f201ea73c227b9084125857452cbcba058a111e4a6fd +DIST jansson-2.15.1.tar.bz2 488779 BLAKE2B d5c2cae07425d01f51ce6f73d703c011683f934bde206c9137753bc61c32932fe1fe7c670df3215f65fab5b9db9c96b668aff3b6635fb383d6bd9acea1076bb4 SHA512 0ce117ff1108622ce47a671ee27e0362834bcd9665d408f455fc3c6b68816a51d9fffa5e23faf8cefcdb1a9d9be89ad08076afd02530f665d6fa622b6d9f153d diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/jansson/jansson-2.14-r1.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/jansson/jansson-2.14-r1.ebuild deleted file mode 100644 index 277683148fd..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-libs/jansson/jansson-2.14-r1.ebuild +++ /dev/null @@ -1,42 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit toolchain-funcs - -DESCRIPTION="C library for encoding, decoding and manipulating JSON data" -HOMEPAGE="https://www.digip.org/jansson/" -SRC_URI="https://github.com/akheron/jansson/releases/download/v${PV}/${P}.tar.bz2" - -LICENSE="MIT" -SLOT="0/4" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~x64-macos" -IUSE="doc static-libs" - -BDEPEND=" - sys-devel/binutils - doc? ( dev-python/sphinx )" - -PATCHES=( "${FILESDIR}/${P}-test-symbols.patch" ) - -src_configure() { - tc-ld-force-bfd - - econf $(use_enable static-libs static) -} - -src_compile() { - default - - if use doc ; then - emake html - HTML_DOCS=( doc/_build/html/. ) - fi -} - -src_install() { - default - - find "${ED}" -name '*.la' -delete || die -} diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/jansson/jansson-2.14-r2.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/jansson/jansson-2.15.1.ebuild similarity index 74% rename from sdk_container/src/third_party/portage-stable/dev-libs/jansson/jansson-2.14-r2.ebuild rename to sdk_container/src/third_party/portage-stable/dev-libs/jansson/jansson-2.15.1.ebuild index 41f195f89da..f38b65d49f8 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/jansson/jansson-2.14-r2.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/jansson/jansson-2.15.1.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2025 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -11,7 +11,7 @@ SRC_URI="https://github.com/akheron/jansson/releases/download/v${PV}/${P}.tar.bz LICENSE="MIT" SLOT="0/4" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~x64-macos" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos" IUSE="doc static-libs" BDEPEND=" @@ -19,17 +19,15 @@ BDEPEND=" doc? ( dev-python/sphinx ) " -PATCHES=( - "${FILESDIR}/${P}-default-symver-test.patch" - "${FILESDIR}/${P}-test-symbols.patch" -) - src_prepare() { default eautoreconf } src_configure() { + # Don't run lint tests + export CLANG_FORMAT=false + econf $(use_enable static-libs static) } From 1b9e78a1aa4efe6ac87ec84e7a06f2a1c897853f Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 3 Aug 2026 08:13:42 +0000 Subject: [PATCH 042/195] dev-libs/json-c: Sync with Gentoo It's from Gentoo commit 9ec807e15d18c1d8a3735180c60cef4365ace3d3. Signed-off-by: Flatcar Buildbot --- .../portage-stable/dev-libs/json-c/Manifest | 1 + ...lly-build-tests-with-an-option-not-b.patch | 41 +++++++++++ ...json-c-0.19-meson-fix-pkgconfig-file.patch | 46 ++++++++++++ ...son-c-0.19-meson-fix-version-numbers.patch | 35 +++++++++ ...on-wire-up-disable_extra_libs-option.patch | 48 +++++++++++++ .../json-c/files/json-c-0.19-meson.patch | 68 ++++++++++++++++++ .../dev-libs/json-c/json-c-0.19-r2.ebuild | 56 +++++++++++++++ .../dev-libs/json-c/json-c-0.19.ebuild | 71 +++++++++++++++++++ .../dev-libs/json-c/json-c-9999.ebuild | 58 ++++++--------- 9 files changed, 387 insertions(+), 37 deletions(-) create mode 100644 sdk_container/src/third_party/portage-stable/dev-libs/json-c/files/json-c-0.19-meson-conditionally-build-tests-with-an-option-not-b.patch create mode 100644 sdk_container/src/third_party/portage-stable/dev-libs/json-c/files/json-c-0.19-meson-fix-pkgconfig-file.patch create mode 100644 sdk_container/src/third_party/portage-stable/dev-libs/json-c/files/json-c-0.19-meson-fix-version-numbers.patch create mode 100644 sdk_container/src/third_party/portage-stable/dev-libs/json-c/files/json-c-0.19-meson-wire-up-disable_extra_libs-option.patch create mode 100644 sdk_container/src/third_party/portage-stable/dev-libs/json-c/files/json-c-0.19-meson.patch create mode 100644 sdk_container/src/third_party/portage-stable/dev-libs/json-c/json-c-0.19-r2.ebuild create mode 100644 sdk_container/src/third_party/portage-stable/dev-libs/json-c/json-c-0.19.ebuild diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/json-c/Manifest b/sdk_container/src/third_party/portage-stable/dev-libs/json-c/Manifest index 64b8a401269..f64aa04903a 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/json-c/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-libs/json-c/Manifest @@ -1 +1,2 @@ DIST json-c-0.18.tar.gz 401788 BLAKE2B d39bab289976cb2f76bcf3ad8254f7f5b4d11e2aa4dedebd60dc7d131a3f6ec57beacdc575aeeb191cf449d16c549d424172e78464731eeb66305f47f72371c2 SHA512 4763f2352414dac3599bc2183b4fa57dbfaac0ca24de890097bd7d0bdda93c91efa280f6566e949e6d94212ef39a63fc76c5f9d0c54ff3d04b13c859717dba5a +DIST json-c-0.19.tar.gz 462232 BLAKE2B 9d0d96520f6c3f8708d2ff3dd98de49b34982b88e8b3eecd5bb706a2fbca0dd79b23a40b4e30efb6162dd96ffaf986580814826627dda4719e61b727402911c7 SHA512 e373559ab029deada3a3b350f626d8975ef6ebb7b40d50a8b4d0284323368b13f6976d3611f52e34d0a824134ea6d0519d56041140e5d1911c0fbc1b84167f37 diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/json-c/files/json-c-0.19-meson-conditionally-build-tests-with-an-option-not-b.patch b/sdk_container/src/third_party/portage-stable/dev-libs/json-c/files/json-c-0.19-meson-conditionally-build-tests-with-an-option-not-b.patch new file mode 100644 index 00000000000..35d7d2700f8 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-libs/json-c/files/json-c-0.19-meson-conditionally-build-tests-with-an-option-not-b.patch @@ -0,0 +1,41 @@ +https://github.com/json-c/json-c/pull/948 + +From fb9608372a51de64b9b3eeb9cea21a4e285db4b0 Mon Sep 17 00:00:00 2001 +Message-ID: +In-Reply-To: <54879ed79afd031faf086ca4507dbfd180e4e3bc.1784352847.git.sam@gentoo.org> +References: <54879ed79afd031faf086ca4507dbfd180e4e3bc.1784352847.git.sam@gentoo.org> +From: Sam James +Date: Sat, 18 Jul 2026 06:32:31 +0100 +Subject: [PATCH 2/2] meson: conditionally build tests with an option, not + build type + +Distros may want to test production builds before shipping. +--- + meson.build | 2 +- + meson_options.txt | 1 + + 2 files changed, 2 insertions(+), 1 deletion(-) + +diff --git a/meson.build b/meson.build +index 973d4be..9ba3a45 100644 +--- a/meson.build ++++ b/meson.build +@@ -307,6 +307,6 @@ if get_option('build_apps') and host_machine.system() != 'windows' + endif + + # Optional tests +-if get_option('buildtype') == 'debug' ++if get_option('build_tests') + subdir('tests') + endif +diff --git a/meson_options.txt b/meson_options.txt +index 94205b0..63b5167 100644 +--- a/meson_options.txt ++++ b/meson_options.txt +@@ -9,3 +9,4 @@ option('disable_json_pointer', type: 'boolean', value: false, description: 'Disa + option('disable_json_patch', type: 'boolean', value: false, description: 'Disable JSON patch support') + option('newlocale_needs_freelocale', type: 'boolean', value: false, description: 'FreeBSD workaround for newlocale') + option('build_apps', type: 'boolean', value: true, description: 'Build command-line apps') ++option('build_tests', type: 'boolean', value: true, description: 'Build testsuite') +-- +2.55.0 + diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/json-c/files/json-c-0.19-meson-fix-pkgconfig-file.patch b/sdk_container/src/third_party/portage-stable/dev-libs/json-c/files/json-c-0.19-meson-fix-pkgconfig-file.patch new file mode 100644 index 00000000000..c4b4ac6a7c7 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-libs/json-c/files/json-c-0.19-meson-fix-pkgconfig-file.patch @@ -0,0 +1,46 @@ +https://github.com/json-c/json-c/pull/948 + +From 06c0508d8bacf56d5f439864dc9155f8df8b16f2 Mon Sep 17 00:00:00 2001 +From: Sam James +Date: Sat, 18 Jul 2026 06:37:36 +0100 +Subject: [PATCH 4/4] meson: fix pkgconfig file + +Fix includedir and libdir to have proper paths (not just relative ones +to prefix). + +Using Meson's native pkgconfig module is the best way of doing this. + +Signed-off-by: Sam James +--- + meson.build | 18 +++++------------- + 1 file changed, 5 insertions(+), 13 deletions(-) + +diff --git a/meson.build b/meson.build +index 234a5958b1..f811382ec4 100644 +--- a/meson.build ++++ b/meson.build +@@ -283,19 +283,11 @@ endif + install_headers(installed_headers, subdir: 'json-c') + + # pkg-config file +-configure_file( +- input: 'json-c.pc.in', +- output: 'json-c.pc', +- install: true, +- install_dir: get_option('libdir') / 'pkgconfig', +- configuration: { +- 'prefix': get_option('prefix'), +- 'exec_prefix': get_option('prefix'), +- 'libdir': get_option('libdir'), +- 'includedir': get_option('includedir'), +- 'VERSION': meson.project_version(), +- 'LIBS': '', +- } ++pkg = import('pkgconfig') ++pkg.generate( ++ libjson, ++ description: 'A JSON implementation in C', ++ subdirs: 'json-c', + ) + + # Optional apps diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/json-c/files/json-c-0.19-meson-fix-version-numbers.patch b/sdk_container/src/third_party/portage-stable/dev-libs/json-c/files/json-c-0.19-meson-fix-version-numbers.patch new file mode 100644 index 00000000000..d3a2ba757e9 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-libs/json-c/files/json-c-0.19-meson-fix-version-numbers.patch @@ -0,0 +1,35 @@ +https://github.com/json-c/json-c/pull/948 + +From e7d683adc4648feb9777778c4627d6c553c3182e Mon Sep 17 00:00:00 2001 +Message-ID: +From: Sam James +Date: Sat, 18 Jul 2026 06:37:36 +0100 +Subject: [PATCH] meson: fix version numbers + +--- + meson.build | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/meson.build b/meson.build +index 9ba3a45..ea4aa9c 100644 +--- a/meson.build ++++ b/meson.build +@@ -1,5 +1,5 @@ + +-project('json-c', 'c', version: '0.18.99', ++project('json-c', 'c', version: '0.19', + meson_version: '>=0.54.0', + license: 'MIT', + default_options: ['buildtype=release', 'warning_level=2']) +@@ -261,7 +261,7 @@ libjson = library('json-c', + dependencies: bsd_dep, + install: true, + link_args: sym, +- version: '5.4.0', ++ version: '5.5.0', + soversion: '5', + ) + +-- +2.55.0 + diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/json-c/files/json-c-0.19-meson-wire-up-disable_extra_libs-option.patch b/sdk_container/src/third_party/portage-stable/dev-libs/json-c/files/json-c-0.19-meson-wire-up-disable_extra_libs-option.patch new file mode 100644 index 00000000000..2578fdd1f99 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-libs/json-c/files/json-c-0.19-meson-wire-up-disable_extra_libs-option.patch @@ -0,0 +1,48 @@ +https://github.com/json-c/json-c/pull/948 + +From 8e9ee20bf010f6332544d450b0d89ade71652cb1 Mon Sep 17 00:00:00 2001 +Message-ID: <8e9ee20bf010f6332544d450b0d89ade71652cb1.1784353509.git.sam@gentoo.org> +From: Sam James +Date: Sat, 18 Jul 2026 06:29:19 +0100 +Subject: [PATCH] meson: wire up `extra_libs` option + +This is more elegant as a meson feature option because feature options +propagate in a useful way to `dependency(..., required: ...)`. + +Without this, the option was ignored. Wiring it up naively meant that +disabling it still searched for libbsd as well, so a feature option +is the best fit. +--- + meson.build | 2 +- + meson_options.txt | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/meson.build b/meson.build +index ebc9e46..559d082 100644 +--- a/meson.build ++++ b/meson.build +@@ -20,7 +20,7 @@ if has_std_lib and has_std_arg and has_string and has_float + conf_data.set('STDC_HEADERS', 1, description : 'Define to 1 if you have the ANSI C header files.') + endif + +-bsd_dep = dependency('libbsd', required: false) ++bsd_dep = dependency('libbsd', required: get_option('extra_libs')) + + headers = { + 'bsd/stdlib.h': bsd_dep, +diff --git a/meson_options.txt b/meson_options.txt +index 94205b0..e7c6372 100644 +--- a/meson_options.txt ++++ b/meson_options.txt +@@ -4,7 +4,7 @@ option('disable_thread_local_storage', type: 'boolean', value: false, descriptio + option('enable_rdrand', type: 'boolean', value: false, description: 'Enable RDRAND Hardware RNG') + option('enable_threading', type: 'boolean', value: false, description: 'Enable partial threading support') + option('override_get_random_seed', type: 'boolean', value: false, description: 'Override json_c_get_random_seed()') +-option('disable_extra_libs', type: 'boolean', value: false, description: 'Avoid linking extra libraries like libbsd') ++option('extra_libs', type: 'feature', value: 'enabled', description: 'Allow linking extra libraries like libbsd') + option('disable_json_pointer', type: 'boolean', value: false, description: 'Disable JSON pointer support') + option('disable_json_patch', type: 'boolean', value: false, description: 'Disable JSON patch support') + option('newlocale_needs_freelocale', type: 'boolean', value: false, description: 'FreeBSD workaround for newlocale') +-- +2.55.0 + diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/json-c/files/json-c-0.19-meson.patch b/sdk_container/src/third_party/portage-stable/dev-libs/json-c/files/json-c-0.19-meson.patch new file mode 100644 index 00000000000..5884e2fb6af --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-libs/json-c/files/json-c-0.19-meson.patch @@ -0,0 +1,68 @@ +https://github.com/json-c/json-c/commit/56a0e3f478c879c6a3f07b2ca6efa1ad2130d0e6 + +From 56a0e3f478c879c6a3f07b2ca6efa1ad2130d0e6 Mon Sep 17 00:00:00 2001 +From: Tyler Erickson +Date: Mon, 13 Jul 2026 15:48:20 -0600 +Subject: [PATCH] fix installing json-c headers with meson and missing + pkgconfig file + +This commit fixes the install path for json-c headers when running `meson install`. +Previously some showed in /usr/include/ rather than /usr/include/json-c + +This also adds generating the pkgconfig .pc file for this project. + +Signed-off-by: Tyler Erickson +--- + meson.build | 31 ++++++++++++++++++++++++++++--- + 1 file changed, 28 insertions(+), 3 deletions(-) + +diff --git a/meson.build b/meson.build +index d64f3be216..ebc9e462dc 100644 +--- a/meson.build ++++ b/meson.build +@@ -265,12 +265,37 @@ libjson = library('json-c', + jsonc_dep = declare_dependency(link_with: libjson, include_directories: inc) + meson.override_dependency('json-c', jsonc_dep) + +-# Install headers +-install_headers( ++# Install headers into json-c/ subdirectory (matches CMake layout) ++installed_headers = [ + 'arraylist.h', 'debug.h', 'json_c_version.h', 'json_inttypes.h', + 'json_object.h', 'json_object_iterator.h', 'json_tokener.h', + 'json_types.h', 'json_util.h', 'json_visit.h', 'linkhash.h', + 'printbuf.h', json_configure_header, json_header ++] ++ ++if not get_option('disable_json_pointer') ++ installed_headers += ['json_pointer.h'] ++ if not get_option('disable_json_patch') ++ installed_headers += ['json_patch.h'] ++ endif ++endif ++ ++install_headers(installed_headers, subdir: 'json-c') ++ ++# pkg-config file ++configure_file( ++ input: 'json-c.pc.in', ++ output: 'json-c.pc', ++ install: true, ++ install_dir: get_option('libdir') / 'pkgconfig', ++ configuration: { ++ 'prefix': get_option('prefix'), ++ 'exec_prefix': get_option('prefix'), ++ 'libdir': get_option('libdir'), ++ 'includedir': get_option('includedir'), ++ 'VERSION': meson.project_version(), ++ 'LIBS': '', ++ } + ) + + # Optional apps +@@ -281,4 +306,4 @@ endif + # Optional tests + if get_option('buildtype') == 'debug' + subdir('tests') +-endif ++endif diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/json-c/json-c-0.19-r2.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/json-c/json-c-0.19-r2.ebuild new file mode 100644 index 00000000000..b9c56bc8097 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-libs/json-c/json-c-0.19-r2.ebuild @@ -0,0 +1,56 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit meson-multilib + +DESCRIPTION="A JSON implementation in C" +HOMEPAGE="https://github.com/json-c/json-c/wiki" + +if [[ ${PV} == 9999 ]] ; then + EGIT_REPO_URI="https://github.com/json-c/json-c.git" + inherit git-r3 +else + # https://github.com/json-c/json-c/wiki#obtain-sources + SRC_URI="https://s3.amazonaws.com/json-c_releases/releases/${P}.tar.gz" + + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-solaris" +fi + +LICENSE="MIT" +# .1 is a fudge factor for 0.18 fixing compat w/ 0.16, drop on next +# SONAME change. +SLOT="0/5.1" +IUSE="cpu_flags_x86_rdrand static-libs test threads" +RESTRICT="!test? ( test )" + +MULTILIB_WRAPPED_HEADERS=( + /usr/include/json-c/config.h +) + +PATCHES=( + "${FILESDIR}"/${PN}-0.19-meson.patch + "${FILESDIR}"/${PN}-0.19-meson-conditionally-build-tests-with-an-option-not-b.patch + "${FILESDIR}"/${PN}-0.19-meson-wire-up-disable_extra_libs-option.patch + "${FILESDIR}"/${PN}-0.19-meson-fix-version-numbers.patch + "${FILESDIR}"/${PN}-0.19-meson-fix-pkgconfig-file.patch +) + +multilib_src_configure() { + # Tests use Valgrind automagically otherwise (bug #927027) + export USE_VALGRIND=0 + + local emesonargs=( + # apps are not installed, so disable w/o tests. + # https://github.com/json-c/json-c/blob/json-c-0.17-20230812/apps/mesonLists.txt#L119...L121 + $(meson_use test build_apps) + $(meson_use test build_tests) + -Ddefault_library=$(multilib_native_usex static-libs both shared) + -Dextra_libs=disabled + $(meson_use cpu_flags_x86_rdrand enable_rdrand) + $(meson_use threads enable_threading) + ) + + meson_src_configure +} diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/json-c/json-c-0.19.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/json-c/json-c-0.19.ebuild new file mode 100644 index 00000000000..58c38fb5705 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-libs/json-c/json-c-0.19.ebuild @@ -0,0 +1,71 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake-multilib + +DESCRIPTION="A JSON implementation in C" +HOMEPAGE="https://github.com/json-c/json-c/wiki" + +if [[ ${PV} == 9999 ]] ; then + EGIT_REPO_URI="https://github.com/json-c/json-c.git" + inherit git-r3 +else + # github releases contain a date: https://github.com/json-c/json-c/releases/download/json-c-${PV}-20260627/${P}.tar.gz + SRC_URI="https://s3.amazonaws.com/json-c_releases/releases/${P}.tar.gz" + + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-solaris" +fi + +LICENSE="MIT" +# .1 is a fudge factor for 0.18 fixing compat w/ 0.16, drop on next +# SONAME change. +SLOT="0/5.1" +IUSE="cpu_flags_x86_rdrand doc static-libs test threads" +RESTRICT="!test? ( test )" + +BDEPEND="doc? ( >=app-text/doxygen-1.8.13 )" + +MULTILIB_WRAPPED_HEADERS=( + /usr/include/json-c/config.h +) + +multilib_src_configure() { + # Tests use Valgrind automagically otherwise (bug #927027) + export USE_VALGRIND=0 + + local mycmakeargs=( + # apps are not installed, so disable w/o tests. + # https://github.com/json-c/json-c/blob/json-c-0.17-20230812/apps/CMakeLists.txt#L119...L121 + -DBUILD_APPS=$(usex test) + -DBUILD_STATIC_LIBS=$(usex static-libs) + -DDISABLE_EXTRA_LIBS=ON + -DDISABLE_WERROR=ON + -DENABLE_RDRAND=$(usex cpu_flags_x86_rdrand) + -DENABLE_THREADING=$(usex threads) + -DBUILD_TESTING=$(usex test) + ) + + cmake_src_configure +} + +multilib_src_compile() { + cmake_src_compile + if use doc && multilib_is_native_abi; then + cmake_build doc + fi +} + +multilib_src_test() { + multilib_is_native_abi && cmake_src_test +} + +multilib_src_install() { + cmake_src_install + + if multilib_is_native_abi; then + use doc && HTML_DOCS=( "${BUILD_DIR}"/doc/html/. ) + einstalldocs + fi +} diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/json-c/json-c-9999.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/json-c/json-c-9999.ebuild index eab32d2d809..b9c56bc8097 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/json-c/json-c-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/json-c/json-c-9999.ebuild @@ -3,7 +3,7 @@ EAPI=8 -inherit cmake-multilib +inherit meson-multilib DESCRIPTION="A JSON implementation in C" HOMEPAGE="https://github.com/json-c/json-c/wiki" @@ -12,61 +12,45 @@ if [[ ${PV} == 9999 ]] ; then EGIT_REPO_URI="https://github.com/json-c/json-c.git" inherit git-r3 else + # https://github.com/json-c/json-c/wiki#obtain-sources SRC_URI="https://s3.amazonaws.com/json-c_releases/releases/${P}.tar.gz" - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-solaris" fi LICENSE="MIT" # .1 is a fudge factor for 0.18 fixing compat w/ 0.16, drop on next # SONAME change. SLOT="0/5.1" -IUSE="cpu_flags_x86_rdrand doc static-libs test threads" +IUSE="cpu_flags_x86_rdrand static-libs test threads" RESTRICT="!test? ( test )" -BDEPEND="doc? ( >=app-text/doxygen-1.8.13 )" - MULTILIB_WRAPPED_HEADERS=( /usr/include/json-c/config.h ) -PATCHES=( "${FILESDIR}/0.18.0-cmake4.patch" ) +PATCHES=( + "${FILESDIR}"/${PN}-0.19-meson.patch + "${FILESDIR}"/${PN}-0.19-meson-conditionally-build-tests-with-an-option-not-b.patch + "${FILESDIR}"/${PN}-0.19-meson-wire-up-disable_extra_libs-option.patch + "${FILESDIR}"/${PN}-0.19-meson-fix-version-numbers.patch + "${FILESDIR}"/${PN}-0.19-meson-fix-pkgconfig-file.patch +) multilib_src_configure() { # Tests use Valgrind automagically otherwise (bug #927027) export USE_VALGRIND=0 - local mycmakeargs=( - # apps are not installed, so disable unconditionally. - # https://github.com/json-c/json-c/blob/json-c-0.17-20230812/apps/CMakeLists.txt#L119...L121 - -DBUILD_APPS=OFF - -DBUILD_STATIC_LIBS=$(usex static-libs) - -DDISABLE_EXTRA_LIBS=ON - -DDISABLE_WERROR=ON - -DENABLE_RDRAND=$(usex cpu_flags_x86_rdrand) - -DENABLE_THREADING=$(usex threads) - -DBUILD_TESTING=$(usex test) + local emesonargs=( + # apps are not installed, so disable w/o tests. + # https://github.com/json-c/json-c/blob/json-c-0.17-20230812/apps/mesonLists.txt#L119...L121 + $(meson_use test build_apps) + $(meson_use test build_tests) + -Ddefault_library=$(multilib_native_usex static-libs both shared) + -Dextra_libs=disabled + $(meson_use cpu_flags_x86_rdrand enable_rdrand) + $(meson_use threads enable_threading) ) - cmake_src_configure -} - -multilib_src_compile() { - cmake_src_compile - if use doc && multilib_is_native_abi; then - cmake_build doc - fi -} - -multilib_src_test() { - multilib_is_native_abi && cmake_src_test -} - -multilib_src_install() { - cmake_src_install - - if multilib_is_native_abi; then - use doc && HTML_DOCS=( "${BUILD_DIR}"/doc/html/. ) - einstalldocs - fi + meson_src_configure } From acd26faaa4294a127fee6db443ae9d5dc6107978 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 3 Aug 2026 08:13:42 +0000 Subject: [PATCH 043/195] dev-libs/jsoncpp: Sync with Gentoo It's from Gentoo commit d41ac734c5de278b97c5445e4e02208ceaeded1e. Signed-off-by: Flatcar Buildbot --- .../portage-stable/dev-libs/jsoncpp/jsoncpp-1.9.8.ebuild | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/jsoncpp/jsoncpp-1.9.8.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/jsoncpp/jsoncpp-1.9.8.ebuild index a718c93843f..6e6946f023b 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/jsoncpp/jsoncpp-1.9.8.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/jsoncpp/jsoncpp-1.9.8.ebuild @@ -18,7 +18,7 @@ S=${WORKDIR}/${P/_/-} LICENSE="|| ( public-domain MIT )" SLOT="0/27" if [[ ${PV} != *_rc* ]]; then - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris" + KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" fi IUSE="doc test" RESTRICT="!test? ( test )" From 2f0f96955d3f824c0f549269d80c2e527733943c Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 3 Aug 2026 08:13:46 +0000 Subject: [PATCH 044/195] dev-libs/libffi: Sync with Gentoo It's from Gentoo commit f1ae4e709f260985dd9c39aca59c6cc0bdcd68c4. Signed-off-by: Flatcar Buildbot --- .../portage-stable/dev-libs/libffi/Manifest | 3 + .../dev-libs/libffi/libffi-3.6.0.ebuild | 97 +++++++++++++++++++ .../dev-libs/libffi/libffi-3.7.0.ebuild | 97 +++++++++++++++++++ .../dev-libs/libffi/libffi-3.7.1.ebuild | 97 +++++++++++++++++++ 4 files changed, 294 insertions(+) create mode 100644 sdk_container/src/third_party/portage-stable/dev-libs/libffi/libffi-3.6.0.ebuild create mode 100644 sdk_container/src/third_party/portage-stable/dev-libs/libffi/libffi-3.7.0.ebuild create mode 100644 sdk_container/src/third_party/portage-stable/dev-libs/libffi/libffi-3.7.1.ebuild diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libffi/Manifest b/sdk_container/src/third_party/portage-stable/dev-libs/libffi/Manifest index 5818fec3b70..1a44d2edade 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libffi/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libffi/Manifest @@ -1,3 +1,6 @@ DIST libffi-3.4.8.tar.gz 1397992 BLAKE2B 10b3d970dc598fb8689bca49751cda499ddc5216baf89d38625385b0d42d57f10d15cce3c4c044c9c73a4fce384c26f2a8e1b99269e9db1174c2631201c6bfd4 SHA512 05344c6c1a1a5b44704f6cf99277098d1ea3ac1dc11c2a691c501786a214f76184ec0637135588630db609ce79e49df3dbd00282dd61e7f21137afba70e24ffe DIST libffi-3.5.1.tar.gz 1419757 BLAKE2B eaeb04beeb4ab6e0ef5652175d5c9d29a18b6f1edbf05db819a3a6ac9c8ed47de32c54fca4c3a9a476283c0771650d5a577e7868f16c671ee46e25db27369066 SHA512 3da9e21fdb920e7962ceb01ee671ef36196df4d5dad62e0cdd8e87cc60e350f241c204350560ae26ea04cc898161b5585c8a5a5125bdbcc84508efbb7ea61eb8 DIST libffi-3.5.2.tar.gz 1423124 BLAKE2B 35ce590926bcdd2556c30c94bb0fef3f0cfe8f32e809ffad00eb0bc7a8ba1ba40da844b108069c87e86bff278221cc42dc7c7aacd02a7b7bc408ea054085398c SHA512 76974a84e3aee6bbd646a6da2e641825ae0b791ca6efdc479b2d4cbcd3ad607df59cffcf5031ad5bd30822961a8c6de164ac8ae379d1804acd388b1975cdbf4d +DIST libffi-3.6.0.tar.gz 1475449 BLAKE2B 25044e42e3451319b04105af7818e90579aff90f6bc4eb0313daee354011cfba322b94e282b49cffa014d74ec907c0c5cc47399f3cb25566cbb178b72379c3ec SHA512 716f0e7884cd7206ceb7410a8422a0c2229bf48151ff525575f7489d389683531bd0c6cf8c78a3a5f9c54444ef485a7f2b0e1e6e4180b4da599dec9021a40491 +DIST libffi-3.7.0.tar.gz 1508891 BLAKE2B e792fe8213e36d47ec1dad2bda99f9ba34f76587693a52433777c1b113cdb8dc93dd49c9d7c30fd455a2776598dc04be333e6edd96388f33062b4bf0a60086f8 SHA512 4a5021f8a6f2ef8b2b25d3537a642a25aa61c25e8d6b83590b4dc66435903ad72a7751c507a7b0d1ab4749385724224ff40cbebd0af4e923432d074942892c65 +DIST libffi-3.7.1.tar.gz 1515185 BLAKE2B 642741667d55aa2921fc250adea68eafd2519e786199fd2d0463a57ab6e830b51d97a361156bc2761d8c1bfecb9156ddc3147b6f81f4379bc054b98a29675526 SHA512 03c04616261a8199794d5d482d734298f2f60b2c9c5968cf717b58df7fd0e4bba33d0cb38f73aec361339128dddf4fdbe5d64002b54fdb8b3fc01c07d8b90a31 diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libffi/libffi-3.6.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libffi/libffi-3.6.0.ebuild new file mode 100644 index 00000000000..a32677eadcd --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libffi/libffi-3.6.0.ebuild @@ -0,0 +1,97 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit dot-a multilib-minimal preserve-libs + +MY_PV=${PV/_rc/-rc} +MY_P=${PN}-${MY_PV} + +DESCRIPTION="Portable, high level programming interface to various calling conventions" +HOMEPAGE="https://sourceware.org/libffi/" + +if [[ ${PV} == 9999 ]] ; then + EGIT_REPO_URI="https://github.com/libffi/libffi" + inherit autotools git-r3 +else + inherit libtool + SRC_URI="https://github.com/libffi/libffi/releases/download/v${MY_PV}/${MY_P}.tar.gz" + + if [[ ${PV} != *@(alpha|beta|pre|rc)* ]] ; then + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris" + fi +fi + +S="${WORKDIR}"/${MY_P} + +LICENSE="MIT" +# This is a core package which is depended on by e.g. Python. +# Please use preserve-libs.eclass in pkg_{pre,post}inst to cover users +# with FEATURES="-preserved-libs" or another package manager if SONAME changes. +SLOT="0/8" # SONAME=libffi.so.8 +IUSE="debug +exec-static-trampoline pax-kernel static-libs test" + +RESTRICT="!test? ( test )" +BDEPEND="test? ( dev-util/dejagnu )" + +src_prepare() { + default + + if [[ ${PV} == 9999 ]] ; then + eautoreconf + else + elibtoolize + fi + + if [[ ${CHOST} == arm64-*-darwin* ]] ; then + # ensure we use aarch64 asm, not x86 on arm64 + sed -i -e 's/aarch64\*-\*-\*/arm64*-*-*|&/' \ + configure configure.host || die + fi +} + +src_configure() { + use static-libs && lto-guarantee-fat + multilib-minimal_src_configure +} + +multilib_src_configure() { + # --includedir= path maintains a few properties: + # 1. have stable name across libffi versions: some packages like + # dev-lang/ghc or kde-frameworks/networkmanager-qt embed + # ${includedir} at build-time. Don't require those to be + # rebuilt unless SONAME changes. bug #695788 + # + # We use /usr/.../${PN} (instead of former /usr/.../${P}). + # + # 2. have ${ABI}-specific location as ffi.h is target-dependent. + # + # We use /usr/$(get_libdir)/... to have ABI identifier. + ECONF_SOURCE="${S}" econf \ + --includedir="${EPREFIX}"/usr/$(get_libdir)/${PN}/include \ + --disable-multi-os-directory \ + --with-pic \ + $(use_enable static-libs static) \ + $(use_enable exec-static-trampoline exec-static-tramp) \ + $(use_enable pax-kernel pax_emutramp) \ + $(use_enable debug) +} + +multilib_src_test() { + emake -Onone check +} + +multilib_src_install_all() { + einstalldocs + find "${ED}" -name "*.la" -delete || die + strip-lto-bytecode +} + +pkg_preinst() { + preserve_old_lib /usr/$(get_libdir)/libffi.so.7 +} + +pkg_postinst() { + preserve_old_lib_notify /usr/$(get_libdir)/libffi.so.7 +} diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libffi/libffi-3.7.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libffi/libffi-3.7.0.ebuild new file mode 100644 index 00000000000..a32677eadcd --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libffi/libffi-3.7.0.ebuild @@ -0,0 +1,97 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit dot-a multilib-minimal preserve-libs + +MY_PV=${PV/_rc/-rc} +MY_P=${PN}-${MY_PV} + +DESCRIPTION="Portable, high level programming interface to various calling conventions" +HOMEPAGE="https://sourceware.org/libffi/" + +if [[ ${PV} == 9999 ]] ; then + EGIT_REPO_URI="https://github.com/libffi/libffi" + inherit autotools git-r3 +else + inherit libtool + SRC_URI="https://github.com/libffi/libffi/releases/download/v${MY_PV}/${MY_P}.tar.gz" + + if [[ ${PV} != *@(alpha|beta|pre|rc)* ]] ; then + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris" + fi +fi + +S="${WORKDIR}"/${MY_P} + +LICENSE="MIT" +# This is a core package which is depended on by e.g. Python. +# Please use preserve-libs.eclass in pkg_{pre,post}inst to cover users +# with FEATURES="-preserved-libs" or another package manager if SONAME changes. +SLOT="0/8" # SONAME=libffi.so.8 +IUSE="debug +exec-static-trampoline pax-kernel static-libs test" + +RESTRICT="!test? ( test )" +BDEPEND="test? ( dev-util/dejagnu )" + +src_prepare() { + default + + if [[ ${PV} == 9999 ]] ; then + eautoreconf + else + elibtoolize + fi + + if [[ ${CHOST} == arm64-*-darwin* ]] ; then + # ensure we use aarch64 asm, not x86 on arm64 + sed -i -e 's/aarch64\*-\*-\*/arm64*-*-*|&/' \ + configure configure.host || die + fi +} + +src_configure() { + use static-libs && lto-guarantee-fat + multilib-minimal_src_configure +} + +multilib_src_configure() { + # --includedir= path maintains a few properties: + # 1. have stable name across libffi versions: some packages like + # dev-lang/ghc or kde-frameworks/networkmanager-qt embed + # ${includedir} at build-time. Don't require those to be + # rebuilt unless SONAME changes. bug #695788 + # + # We use /usr/.../${PN} (instead of former /usr/.../${P}). + # + # 2. have ${ABI}-specific location as ffi.h is target-dependent. + # + # We use /usr/$(get_libdir)/... to have ABI identifier. + ECONF_SOURCE="${S}" econf \ + --includedir="${EPREFIX}"/usr/$(get_libdir)/${PN}/include \ + --disable-multi-os-directory \ + --with-pic \ + $(use_enable static-libs static) \ + $(use_enable exec-static-trampoline exec-static-tramp) \ + $(use_enable pax-kernel pax_emutramp) \ + $(use_enable debug) +} + +multilib_src_test() { + emake -Onone check +} + +multilib_src_install_all() { + einstalldocs + find "${ED}" -name "*.la" -delete || die + strip-lto-bytecode +} + +pkg_preinst() { + preserve_old_lib /usr/$(get_libdir)/libffi.so.7 +} + +pkg_postinst() { + preserve_old_lib_notify /usr/$(get_libdir)/libffi.so.7 +} diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libffi/libffi-3.7.1.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libffi/libffi-3.7.1.ebuild new file mode 100644 index 00000000000..a32677eadcd --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libffi/libffi-3.7.1.ebuild @@ -0,0 +1,97 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit dot-a multilib-minimal preserve-libs + +MY_PV=${PV/_rc/-rc} +MY_P=${PN}-${MY_PV} + +DESCRIPTION="Portable, high level programming interface to various calling conventions" +HOMEPAGE="https://sourceware.org/libffi/" + +if [[ ${PV} == 9999 ]] ; then + EGIT_REPO_URI="https://github.com/libffi/libffi" + inherit autotools git-r3 +else + inherit libtool + SRC_URI="https://github.com/libffi/libffi/releases/download/v${MY_PV}/${MY_P}.tar.gz" + + if [[ ${PV} != *@(alpha|beta|pre|rc)* ]] ; then + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris" + fi +fi + +S="${WORKDIR}"/${MY_P} + +LICENSE="MIT" +# This is a core package which is depended on by e.g. Python. +# Please use preserve-libs.eclass in pkg_{pre,post}inst to cover users +# with FEATURES="-preserved-libs" or another package manager if SONAME changes. +SLOT="0/8" # SONAME=libffi.so.8 +IUSE="debug +exec-static-trampoline pax-kernel static-libs test" + +RESTRICT="!test? ( test )" +BDEPEND="test? ( dev-util/dejagnu )" + +src_prepare() { + default + + if [[ ${PV} == 9999 ]] ; then + eautoreconf + else + elibtoolize + fi + + if [[ ${CHOST} == arm64-*-darwin* ]] ; then + # ensure we use aarch64 asm, not x86 on arm64 + sed -i -e 's/aarch64\*-\*-\*/arm64*-*-*|&/' \ + configure configure.host || die + fi +} + +src_configure() { + use static-libs && lto-guarantee-fat + multilib-minimal_src_configure +} + +multilib_src_configure() { + # --includedir= path maintains a few properties: + # 1. have stable name across libffi versions: some packages like + # dev-lang/ghc or kde-frameworks/networkmanager-qt embed + # ${includedir} at build-time. Don't require those to be + # rebuilt unless SONAME changes. bug #695788 + # + # We use /usr/.../${PN} (instead of former /usr/.../${P}). + # + # 2. have ${ABI}-specific location as ffi.h is target-dependent. + # + # We use /usr/$(get_libdir)/... to have ABI identifier. + ECONF_SOURCE="${S}" econf \ + --includedir="${EPREFIX}"/usr/$(get_libdir)/${PN}/include \ + --disable-multi-os-directory \ + --with-pic \ + $(use_enable static-libs static) \ + $(use_enable exec-static-trampoline exec-static-tramp) \ + $(use_enable pax-kernel pax_emutramp) \ + $(use_enable debug) +} + +multilib_src_test() { + emake -Onone check +} + +multilib_src_install_all() { + einstalldocs + find "${ED}" -name "*.la" -delete || die + strip-lto-bytecode +} + +pkg_preinst() { + preserve_old_lib /usr/$(get_libdir)/libffi.so.7 +} + +pkg_postinst() { + preserve_old_lib_notify /usr/$(get_libdir)/libffi.so.7 +} From 6e956ed88558b26838f49bcb110f0644d1c2c063 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 3 Aug 2026 08:13:46 +0000 Subject: [PATCH 045/195] dev-libs/libgcrypt: Sync with Gentoo It's from Gentoo commit 00ea5e4f9e21e5e0ad050f2e75a0caf1caa34819. Signed-off-by: Flatcar Buildbot --- .../dev-libs/libgcrypt/Manifest | 4 - .../files/libgcrypt-multilib-syspath.patch | 23 --- .../libgcrypt/libgcrypt-1.11.2-r1.ebuild | 185 ----------------- .../libgcrypt/libgcrypt-1.11.2.ebuild | 191 ------------------ .../libgcrypt/libgcrypt-1.12.1.ebuild | 185 ----------------- 5 files changed, 588 deletions(-) delete mode 100644 sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/files/libgcrypt-multilib-syspath.patch delete mode 100644 sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/libgcrypt-1.11.2-r1.ebuild delete mode 100644 sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/libgcrypt-1.11.2.ebuild delete mode 100644 sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/libgcrypt-1.12.1.ebuild diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/Manifest b/sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/Manifest index 021b27cd2a2..d87beaacad2 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/Manifest @@ -1,6 +1,2 @@ -DIST libgcrypt-1.11.2.tar.bz2 4237802 BLAKE2B 8ad2dd84e8ec2bddb5c008c6823a6d72b8f2d6237972966bc590be0d89bb6b50a5cbba1b42631d0950c4bea125a6d9a845fbf703b756a38088f66054712efa9c SHA512 b706cea602cc8f0896e57ce979643bf78974b05faec27c1b053b773c57d8b04250e30e95a4ef5899e1df981d01d8d08f0a36e10b5820a5ec4183e74c02e5f1f0 -DIST libgcrypt-1.11.2.tar.bz2.sig 147 BLAKE2B 5126fa06a9a67b2b71711f76ecbf9f3596f300f97256378961768a2f3c3927321da649eb0df4ddfb653e4503712b8b3c363c252bcb83ca53c7eea89a3ac8d4d4 SHA512 73b1d6d53e2f9061f06628a0fe983919f745c1c92930fd6a9871a0a3a589878efe68ec48b4e17e3fd3c1e098bc38c38cc8895246cee25463377a8bfa8590b164 -DIST libgcrypt-1.12.1.tar.bz2 4441330 BLAKE2B 6656d9edc5c702b5b76aa2a7504ed9f224718dc0047494f51de63f98a52e334fab1ade05e4c0ec44f92c406292090cf02193ec3f1eb754e886f3a71f9bbe1435 SHA512 e4be1f9d32bb672663499a1203454b9c646b7f237d9acb64303b991798fe3f4c3366793b0564b94c6687885353f6e7fef6ae6e74a57ccb5eb5606e77c81b3738 -DIST libgcrypt-1.12.1.tar.bz2.sig 147 BLAKE2B c18304651b08872c0a42c7c87ac40e32214b9b17e56fa2528975919c75ccb08ab05d9befaeddcee5b60d0015fe0677463cfdd6ae140d53ba8268c575a153d3e9 SHA512 9068d38fe4b55af181202982c3beb7345782c03fb48eb32c26fe34405e01669db751fd8e3f58c2d4173d6523069165ce93ce447a89f8d856280b5fd0cf8a7d1b DIST libgcrypt-1.12.2.tar.bz2 4441855 BLAKE2B f52a10acdbf56a5adc927e22508a30d131a001e8f559d55c72d4ccfea4a514ef7983ab3f985af798c06a9c188639f21c54f1cc0ec6cba968172ddc6bd21ae0bd SHA512 dc1a4a6c00a0d84d90c8d71f4bd121b968c80df74137d6e8867f1f4cc014a539efb5238c1a1429d7cb95e493a40718fc19252edc592ffe0f43057b372896591c DIST libgcrypt-1.12.2.tar.bz2.sig 147 BLAKE2B 74adf984bda98e413f5f31aa3b2a60043773b387758caf3ec5e603ddd358bffdd58ec021c5828d1e45f2747f1766f0d63380ed4a5938565b829851e048b6279d SHA512 5991d26f0d59d646ba29c491e6952f31c970fb80b7928f999095d9f7d1435026c9304614558415c06254a81650ce08376ea09f7d93c657dfdb7ef014e58dbf28 diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/files/libgcrypt-multilib-syspath.patch b/sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/files/libgcrypt-multilib-syspath.patch deleted file mode 100644 index 7859851ccc4..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/files/libgcrypt-multilib-syspath.patch +++ /dev/null @@ -1,23 +0,0 @@ -diff --git a/src/libgcrypt-config.in b/src/libgcrypt-config.in -index c052638..4c8ddc3 100644 ---- a/src/libgcrypt-config.in -+++ b/src/libgcrypt-config.in -@@ -154,9 +154,12 @@ if test "$echo_libs" = "yes"; then - libs_final="$libs" - - # Set up `libdirs'. -- if test "x$libdir" != "x/usr/lib" -a "x$libdir" != "x/lib"; then -- libdirs="-L$libdir" -- fi -+ case "$libdir" in -+ /usr/lib|/usr/lib64|/lib|/lib64) ;; -+ *) -+ libdirs="-L$libdir" -+ ;; -+ esac - - # Set up `libs_final'. - libs_final="$libs_final $gpg_error_libs" --- -1.7.6.1 - diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/libgcrypt-1.11.2-r1.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/libgcrypt-1.11.2-r1.ebuild deleted file mode 100644 index 71378ab2fe9..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/libgcrypt-1.11.2-r1.ebuild +++ /dev/null @@ -1,185 +0,0 @@ -# Copyright 1999-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/gnupg.asc -inherit autotools flag-o-matic linux-info multilib-minimal toolchain-funcs verify-sig - -DESCRIPTION="General purpose crypto library based on the code used in GnuPG" -HOMEPAGE="https://www.gnupg.org/" -SRC_URI="mirror://gnupg/${PN}/${P}.tar.bz2" -SRC_URI+=" verify-sig? ( mirror://gnupg/${PN}/${P}.tar.bz2.sig )" - -LICENSE="LGPL-2.1+ GPL-2+ MIT" -SLOT="0/20" # subslot = soname major version -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" -IUSE="+asm doc +getentropy static-libs" -IUSE+=" cpu_flags_arm_neon cpu_flags_arm_aes cpu_flags_arm_sha1 cpu_flags_arm_sha2 cpu_flags_arm_sve" -IUSE+=" cpu_flags_ppc_altivec cpu_flags_ppc_vsx2 cpu_flags_ppc_vsx3" -IUSE+=" cpu_flags_x86_aes cpu_flags_x86_avx cpu_flags_x86_avx2 cpu_flags_x86_avx512f cpu_flags_x86_padlock cpu_flags_x86_sha cpu_flags_x86_sse4_1" - -# Build system only has --disable-arm-crypto-support right now -# If changing this, update src_configure logic too. -# ARM CPUs seem to, right now, support all-or-nothing for crypto extensions, -# but this looks like it might change in future. This is just a safety check -# in case people somehow do have a CPU which only supports some. They must -# for now disable them all if that's the case. -REQUIRED_USE=" - cpu_flags_arm_aes? ( cpu_flags_arm_sha1 cpu_flags_arm_sha2 ) - cpu_flags_arm_sha1? ( cpu_flags_arm_aes cpu_flags_arm_sha2 ) - cpu_flags_arm_sha2? ( cpu_flags_arm_aes cpu_flags_arm_sha1 ) - cpu_flags_ppc_vsx3? ( cpu_flags_ppc_altivec cpu_flags_ppc_vsx2 ) - cpu_flags_ppc_vsx2? ( cpu_flags_ppc_altivec ) -" - -RDEPEND=" - >=dev-libs/libgpg-error-1.49[${MULTILIB_USEDEP}] - getentropy? ( - kernel_linux? ( - elibc_glibc? ( >=sys-libs/glibc-2.25 ) - elibc_musl? ( >=sys-libs/musl-1.1.20 ) - ) - ) -" -DEPEND="${RDEPEND}" -BDEPEND=" - doc? ( virtual/texi2dvi ) - verify-sig? ( sec-keys/openpgp-keys-gnupg ) -" - -PATCHES=( - "${FILESDIR}"/${PN}-multilib-syspath.patch - "${FILESDIR}"/${PN}-powerpc-darwin.patch -) - -MULTILIB_CHOST_TOOLS=( - /usr/bin/libgcrypt-config -) - -pkg_pretend() { - if [[ ${MERGE_TYPE} == buildonly ]]; then - return - fi - if use kernel_linux && use getentropy; then - unset KV_FULL - get_running_version - if [[ -n ${KV_FULL} ]] && kernel_is -lt 3 17; then - eerror "The getentropy function requires the getrandom syscall." - eerror "This was introduced in Linux 3.17." - eerror "Your system is currently running Linux ${KV_FULL}." - eerror "Disable the 'getentropy' USE flag or upgrade your kernel." - die "Kernel is too old for getentropy" - fi - fi -} - -pkg_setup() { - : -} - -src_prepare() { - default - eautoreconf -} - -src_configure() { - # Temporary workaround for a build failure (known gcc issue): - # * https://bugs.gentoo.org/956605 - # * https://gcc.gnu.org/PR110812 - use riscv && filter-lto - - # Temporary workaround for mfpmath=sse on x86 causing issues when -msse is - # stripped as it's not clear cut on how to handle in flag-o-matic we can at - # least solve it the ebuild see https://bugs.gentoo.org/959349 - use x86 && filter-flags -mfpmath=sse - - # Hardcodes the path to FGREP in libgcrypt-config - export ac_cv_path_SED="sed" - export ac_cv_path_EGREP="grep -E" - export ac_cv_path_EGREP_TRADITIONAL="grep -E" - export ac_cv_path_FGREP="grep -F" - export ac_cv_path_GREP="grep" - - multilib-minimal_src_configure -} - -multilib_src_configure() { - if [[ ${CHOST} == powerpc* ]] ; then - # ./configure does a lot of automagic, prevent that - # generic ppc32+ppc64 altivec - use cpu_flags_ppc_altivec || local -x gcry_cv_cc_ppc_altivec=no - use cpu_flags_ppc_altivec || local -x gcry_cv_cc_ppc_altivec_cflags=no - # power8 vector extension, aka arch 2.07 ISA, also checked below via ppc-crypto-support - use cpu_flags_ppc_vsx2 || local -x gcry_cv_gcc_inline_asm_ppc_altivec=no - # power9 vector extension, aka arch 3.00 ISA - use cpu_flags_ppc_vsx3 || local -x gcry_cv_gcc_inline_asm_ppc_arch_3_00=no - fi - - append-ldflags $(test-flags-CCLD -Wl,--undefined-version) - - local myeconfargs=( - CC_FOR_BUILD="$(tc-getBUILD_CC)" - - --enable-noexecstack - $(use_enable cpu_flags_arm_neon neon-support) - # See REQUIRED_USE comment above - $(use_enable cpu_flags_arm_aes arm-crypto-support) - $(use_enable cpu_flags_arm_sve sve-support) - $(use_enable cpu_flags_ppc_vsx2 ppc-crypto-support) - $(use_enable cpu_flags_x86_aes aesni-support) - $(use_enable cpu_flags_x86_avx avx-support) - $(use_enable cpu_flags_x86_avx2 avx2-support) - $(use_enable cpu_flags_x86_avx512f avx512-support) - $(use_enable cpu_flags_x86_padlock padlock-support) - $(use_enable cpu_flags_x86_sha shaext-support) - $(use_enable cpu_flags_x86_sse4_1 sse41-support) - # required for sys-power/suspend[crypt], bug 751568 - $(use_enable static-libs static) - - # disabled due to various applications requiring privileges - # after libgcrypt drops them (bug #468616) - --without-capabilities - - $(use asm || echo "--disable-asm") - - GPG_ERROR_CONFIG="${ESYSROOT}/usr/bin/${CHOST}-gpg-error-config" - GPGRT_CONFIG="${ESYSROOT}/usr/bin/${CHOST}-gpgrt-config" - ) - - if use kernel_linux; then - # --enable-random=getentropy requires getentropy/getrandom. - # --enable-random=linux enables legacy code that tries getrandom - # and falls back to reading /dev/random. - myeconfargs+=( --enable-random=$(usex getentropy getentropy linux) ) - fi - - ECONF_SOURCE="${S}" econf "${myeconfargs[@]}" \ - $("${S}/configure" --help | grep -o -- '--without-.*-prefix') -} - -multilib_src_compile() { - default - multilib_is_native_abi && use doc && VARTEXFONTS="${T}/fonts" emake -C doc gcrypt.pdf -} - -multilib_src_test() { - # t-secmem and t-sexp need mlock which requires extra privileges; nspawn - # at least disallows that by default. - local -x GCRYPT_IN_ASAN_TEST=1 - # Avoid running (very) expensive bench-slope test. On hppa, it - # takes at least 7 hours. - local -x GCRYPT_NO_BENCHMARKS=1 - - default -} - -multilib_src_install() { - emake DESTDIR="${D}" install - multilib_is_native_abi && use doc && dodoc doc/gcrypt.pdf -} - -multilib_src_install_all() { - default - find "${ED}" -type f -name '*.la' -delete || die -} diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/libgcrypt-1.11.2.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/libgcrypt-1.11.2.ebuild deleted file mode 100644 index 407248536bc..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/libgcrypt-1.11.2.ebuild +++ /dev/null @@ -1,191 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/gnupg.asc -inherit autotools flag-o-matic linux-info multilib-minimal toolchain-funcs verify-sig - -DESCRIPTION="General purpose crypto library based on the code used in GnuPG" -HOMEPAGE="https://www.gnupg.org/" -SRC_URI="mirror://gnupg/${PN}/${P}.tar.bz2" -SRC_URI+=" verify-sig? ( mirror://gnupg/${PN}/${P}.tar.bz2.sig )" - -LICENSE="LGPL-2.1+ GPL-2+ MIT" -SLOT="0/20" # subslot = soname major version -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" -IUSE="+asm doc +getentropy static-libs" -IUSE+=" cpu_flags_arm_neon cpu_flags_arm_aes cpu_flags_arm_sha1 cpu_flags_arm_sha2 cpu_flags_arm_sve" -IUSE+=" cpu_flags_ppc_altivec cpu_flags_ppc_vsx2 cpu_flags_ppc_vsx3" -IUSE+=" cpu_flags_x86_aes cpu_flags_x86_avx cpu_flags_x86_avx2 cpu_flags_x86_avx512f cpu_flags_x86_padlock cpu_flags_x86_sha cpu_flags_x86_sse4_1" - -# Build system only has --disable-arm-crypto-support right now -# If changing this, update src_configure logic too. -# ARM CPUs seem to, right now, support all-or-nothing for crypto extensions, -# but this looks like it might change in future. This is just a safety check -# in case people somehow do have a CPU which only supports some. They must -# for now disable them all if that's the case. -REQUIRED_USE=" - cpu_flags_arm_aes? ( cpu_flags_arm_sha1 cpu_flags_arm_sha2 ) - cpu_flags_arm_sha1? ( cpu_flags_arm_aes cpu_flags_arm_sha2 ) - cpu_flags_arm_sha2? ( cpu_flags_arm_aes cpu_flags_arm_sha1 ) - cpu_flags_ppc_vsx3? ( cpu_flags_ppc_altivec cpu_flags_ppc_vsx2 ) - cpu_flags_ppc_vsx2? ( cpu_flags_ppc_altivec ) -" - -RDEPEND=" - >=dev-libs/libgpg-error-1.49[${MULTILIB_USEDEP}] - getentropy? ( - kernel_linux? ( - elibc_glibc? ( >=sys-libs/glibc-2.25 ) - elibc_musl? ( >=sys-libs/musl-1.1.20 ) - ) - ) -" -DEPEND="${RDEPEND}" -BDEPEND=" - doc? ( virtual/texi2dvi ) - verify-sig? ( sec-keys/openpgp-keys-gnupg ) -" - -PATCHES=( - "${FILESDIR}"/${PN}-multilib-syspath.patch - "${FILESDIR}"/${PN}-powerpc-darwin.patch -) - -MULTILIB_CHOST_TOOLS=( - /usr/bin/libgcrypt-config -) - -pkg_pretend() { - if [[ ${MERGE_TYPE} == buildonly ]]; then - return - fi - if use kernel_linux && use getentropy; then - unset KV_FULL - get_running_version - if [[ -n ${KV_FULL} ]] && kernel_is -lt 3 17; then - eerror "The getentropy function requires the getrandom syscall." - eerror "This was introduced in Linux 3.17." - eerror "Your system is currently running Linux ${KV_FULL}." - eerror "Disable the 'getentropy' USE flag or upgrade your kernel." - die "Kernel is too old for getentropy" - fi - fi -} - -pkg_setup() { - : -} - -src_prepare() { - default - eautoreconf -} - -src_configure() { - # Sensitive to optimisation; parts of the codebase are built with - # -O0 already. Don't risk it with UB. - strip-flags - - # Temporary workaround for a build failure (known gcc issue): - # - # * https://bugs.gentoo.org/956605 - # * https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110812 - # - use riscv && filter-lto - - # Temporary workaround for mfpmath=sse on x86 causing issues when -msse is - # stripped as it's not clear cut on how to handle in flag-o-matic we can at - # least solve it the ebuild see https://bugs.gentoo.org/959349 - use x86 && filter-flags -mfpmath=sse - - # Hardcodes the path to FGREP in libgcrypt-config - export ac_cv_path_SED="sed" - export ac_cv_path_EGREP="grep -E" - export ac_cv_path_EGREP_TRADITIONAL="grep -E" - export ac_cv_path_FGREP="grep -F" - export ac_cv_path_GREP="grep" - - multilib-minimal_src_configure -} - -multilib_src_configure() { - if [[ ${CHOST} == powerpc* ]] ; then - # ./configure does a lot of automagic, prevent that - # generic ppc32+ppc64 altivec - use cpu_flags_ppc_altivec || local -x gcry_cv_cc_ppc_altivec=no - use cpu_flags_ppc_altivec || local -x gcry_cv_cc_ppc_altivec_cflags=no - # power8 vector extension, aka arch 2.07 ISA, also checked below via ppc-crypto-support - use cpu_flags_ppc_vsx2 || local -x gcry_cv_gcc_inline_asm_ppc_altivec=no - # power9 vector extension, aka arch 3.00 ISA - use cpu_flags_ppc_vsx3 || local -x gcry_cv_gcc_inline_asm_ppc_arch_3_00=no - fi - - append-ldflags $(test-flags-CCLD -Wl,--undefined-version) - - local myeconfargs=( - CC_FOR_BUILD="$(tc-getBUILD_CC)" - - --enable-noexecstack - $(use_enable cpu_flags_arm_neon neon-support) - # See REQUIRED_USE comment above - $(use_enable cpu_flags_arm_aes arm-crypto-support) - $(use_enable cpu_flags_arm_sve sve-support) - $(use_enable cpu_flags_ppc_vsx2 ppc-crypto-support) - $(use_enable cpu_flags_x86_aes aesni-support) - $(use_enable cpu_flags_x86_avx avx-support) - $(use_enable cpu_flags_x86_avx2 avx2-support) - $(use_enable cpu_flags_x86_avx512f avx512-support) - $(use_enable cpu_flags_x86_padlock padlock-support) - $(use_enable cpu_flags_x86_sha shaext-support) - $(use_enable cpu_flags_x86_sse4_1 sse41-support) - # required for sys-power/suspend[crypt], bug 751568 - $(use_enable static-libs static) - - # disabled due to various applications requiring privileges - # after libgcrypt drops them (bug #468616) - --without-capabilities - - $(use asm || echo "--disable-asm") - - GPG_ERROR_CONFIG="${ESYSROOT}/usr/bin/${CHOST}-gpg-error-config" - GPGRT_CONFIG="${ESYSROOT}/usr/bin/${CHOST}-gpgrt-config" - ) - - if use kernel_linux; then - # --enable-random=getentropy requires getentropy/getrandom. - # --enable-random=linux enables legacy code that tries getrandom - # and falls back to reading /dev/random. - myeconfargs+=( --enable-random=$(usex getentropy getentropy linux) ) - fi - - ECONF_SOURCE="${S}" econf "${myeconfargs[@]}" \ - $("${S}/configure" --help | grep -o -- '--without-.*-prefix') -} - -multilib_src_compile() { - default - multilib_is_native_abi && use doc && VARTEXFONTS="${T}/fonts" emake -C doc gcrypt.pdf -} - -multilib_src_test() { - # t-secmem and t-sexp need mlock which requires extra privileges; nspawn - # at least disallows that by default. - local -x GCRYPT_IN_ASAN_TEST=1 - # Avoid running (very) expensive bench-slope test. On hppa, it - # takes at least 7 hours. - local -x GCRYPT_NO_BENCHMARKS=1 - - default -} - -multilib_src_install() { - emake DESTDIR="${D}" install - multilib_is_native_abi && use doc && dodoc doc/gcrypt.pdf -} - -multilib_src_install_all() { - default - find "${ED}" -type f -name '*.la' -delete || die -} diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/libgcrypt-1.12.1.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/libgcrypt-1.12.1.ebuild deleted file mode 100644 index 75d319333aa..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libgcrypt/libgcrypt-1.12.1.ebuild +++ /dev/null @@ -1,185 +0,0 @@ -# Copyright 1999-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/gnupg.asc -inherit autotools flag-o-matic linux-info multilib-minimal toolchain-funcs verify-sig - -DESCRIPTION="General purpose crypto library based on the code used in GnuPG" -HOMEPAGE="https://www.gnupg.org/" -SRC_URI="mirror://gnupg/${PN}/${P}.tar.bz2" -SRC_URI+=" verify-sig? ( mirror://gnupg/${PN}/${P}.tar.bz2.sig )" - -LICENSE="LGPL-2.1+ GPL-2+ MIT" -SLOT="0/20" # subslot = soname major version -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" -IUSE="+asm doc +getentropy static-libs" -IUSE+=" cpu_flags_arm_neon cpu_flags_arm_aes cpu_flags_arm_sha1 cpu_flags_arm_sha2 cpu_flags_arm_sve" -IUSE+=" cpu_flags_ppc_altivec cpu_flags_ppc_vsx2 cpu_flags_ppc_vsx3" -IUSE+=" cpu_flags_x86_aes cpu_flags_x86_avx cpu_flags_x86_avx2 cpu_flags_x86_avx512f cpu_flags_x86_padlock cpu_flags_x86_sha cpu_flags_x86_sse4_1" - -# Build system only has --disable-arm-crypto-support right now -# If changing this, update src_configure logic too. -# ARM CPUs seem to, right now, support all-or-nothing for crypto extensions, -# but this looks like it might change in future. This is just a safety check -# in case people somehow do have a CPU which only supports some. They must -# for now disable them all if that's the case. -REQUIRED_USE=" - cpu_flags_arm_aes? ( cpu_flags_arm_sha1 cpu_flags_arm_sha2 ) - cpu_flags_arm_sha1? ( cpu_flags_arm_aes cpu_flags_arm_sha2 ) - cpu_flags_arm_sha2? ( cpu_flags_arm_aes cpu_flags_arm_sha1 ) - cpu_flags_ppc_vsx3? ( cpu_flags_ppc_altivec cpu_flags_ppc_vsx2 ) - cpu_flags_ppc_vsx2? ( cpu_flags_ppc_altivec ) -" - -RDEPEND=" - >=dev-libs/libgpg-error-1.56[${MULTILIB_USEDEP}] - getentropy? ( - kernel_linux? ( - elibc_glibc? ( >=sys-libs/glibc-2.25 ) - elibc_musl? ( >=sys-libs/musl-1.1.20 ) - ) - ) -" -DEPEND="${RDEPEND}" -BDEPEND=" - doc? ( virtual/texi2dvi ) - verify-sig? ( sec-keys/openpgp-keys-gnupg ) -" - -PATCHES=( - "${FILESDIR}"/${PN}-1.12.0-multilib-syspath.patch - "${FILESDIR}"/${PN}-powerpc-darwin.patch -) - -MULTILIB_CHOST_TOOLS=( - /usr/bin/libgcrypt-config -) - -pkg_pretend() { - if [[ ${MERGE_TYPE} == buildonly ]]; then - return - fi - if use kernel_linux && use getentropy; then - unset KV_FULL - get_running_version - if [[ -n ${KV_FULL} ]] && kernel_is -lt 3 17; then - eerror "The getentropy function requires the getrandom syscall." - eerror "This was introduced in Linux 3.17." - eerror "Your system is currently running Linux ${KV_FULL}." - eerror "Disable the 'getentropy' USE flag or upgrade your kernel." - die "Kernel is too old for getentropy" - fi - fi -} - -pkg_setup() { - : -} - -src_prepare() { - default - eautoreconf -} - -src_configure() { - # Temporary workaround for a build failure (known gcc issue): - # * https://bugs.gentoo.org/956605 - # * https://gcc.gnu.org/PR110812 - use riscv && filter-lto - - # Temporary workaround for mfpmath=sse on x86 causing issues when -msse is - # stripped as it's not clear cut on how to handle in flag-o-matic we can at - # least solve it the ebuild see https://bugs.gentoo.org/959349 - use x86 && filter-flags -mfpmath=sse - - # Hardcodes the path to FGREP in libgcrypt-config - export ac_cv_path_SED="sed" - export ac_cv_path_EGREP="grep -E" - export ac_cv_path_EGREP_TRADITIONAL="grep -E" - export ac_cv_path_FGREP="grep -F" - export ac_cv_path_GREP="grep" - - multilib-minimal_src_configure -} - -multilib_src_configure() { - if [[ ${CHOST} == powerpc* ]] ; then - # ./configure does a lot of automagic, prevent that - # generic ppc32+ppc64 altivec - use cpu_flags_ppc_altivec || local -x gcry_cv_cc_ppc_altivec=no - use cpu_flags_ppc_altivec || local -x gcry_cv_cc_ppc_altivec_cflags=no - # power8 vector extension, aka arch 2.07 ISA, also checked below via ppc-crypto-support - use cpu_flags_ppc_vsx2 || local -x gcry_cv_gcc_inline_asm_ppc_altivec=no - # power9 vector extension, aka arch 3.00 ISA - use cpu_flags_ppc_vsx3 || local -x gcry_cv_gcc_inline_asm_ppc_arch_3_00=no - fi - - append-ldflags $(test-flags-CCLD -Wl,--undefined-version) - - local myeconfargs=( - CC_FOR_BUILD="$(tc-getBUILD_CC)" - - --enable-noexecstack - $(use_enable cpu_flags_arm_neon neon-support) - # See REQUIRED_USE comment above - $(use_enable cpu_flags_arm_aes arm-crypto-support) - $(use_enable cpu_flags_arm_sve sve-support) - $(use_enable cpu_flags_ppc_vsx2 ppc-crypto-support) - $(use_enable cpu_flags_x86_aes aesni-support) - $(use_enable cpu_flags_x86_avx avx-support) - $(use_enable cpu_flags_x86_avx2 avx2-support) - $(use_enable cpu_flags_x86_avx512f avx512-support) - $(use_enable cpu_flags_x86_padlock padlock-support) - $(use_enable cpu_flags_x86_sha shaext-support) - $(use_enable cpu_flags_x86_sse4_1 sse41-support) - # required for sys-power/suspend[crypt], bug 751568 - $(use_enable static-libs static) - - # disabled due to various applications requiring privileges - # after libgcrypt drops them (bug #468616) - --without-capabilities - - $(use asm || echo "--disable-asm") - - GPG_ERROR_CONFIG="${ESYSROOT}/usr/bin/${CHOST}-gpg-error-config" - GPGRT_CONFIG="${ESYSROOT}/usr/bin/${CHOST}-gpgrt-config" - ) - - if use kernel_linux; then - # --enable-random=getentropy requires getentropy/getrandom. - # --enable-random=linux enables legacy code that tries getrandom - # and falls back to reading /dev/random. - myeconfargs+=( --enable-random=$(usex getentropy getentropy linux) ) - fi - - ECONF_SOURCE="${S}" econf "${myeconfargs[@]}" \ - $("${S}/configure" --help | grep -o -- '--without-.*-prefix') -} - -multilib_src_compile() { - default - multilib_is_native_abi && use doc && VARTEXFONTS="${T}/fonts" emake -C doc gcrypt.pdf -} - -multilib_src_test() { - # t-secmem and t-sexp need mlock which requires extra privileges; nspawn - # at least disallows that by default. - local -x GCRYPT_IN_ASAN_TEST=1 - # Avoid running (very) expensive bench-slope test. On hppa, it - # takes at least 7 hours. - local -x GCRYPT_NO_BENCHMARKS=1 - - default -} - -multilib_src_install() { - emake DESTDIR="${D}" install - multilib_is_native_abi && use doc && dodoc doc/gcrypt.pdf -} - -multilib_src_install_all() { - default - find "${ED}" -type f -name '*.la' -delete || die -} From 69d4eaed0b7dd84e600ff1717eff6571a6644e1b Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 3 Aug 2026 08:13:47 +0000 Subject: [PATCH 046/195] dev-libs/libgpg-error: Sync with Gentoo It's from Gentoo commit ed790c8e845b9290a714a8c439733afc375f5c59. Signed-off-by: Flatcar Buildbot --- .../dev-libs/libgpg-error/libgpg-error-1.61.ebuild | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libgpg-error/libgpg-error-1.61.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libgpg-error/libgpg-error-1.61.ebuild index 7d0c653a663..bee3a93febc 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libgpg-error/libgpg-error-1.61.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libgpg-error/libgpg-error-1.61.ebuild @@ -19,7 +19,7 @@ SRC_URI+=" verify-sig? ( mirror://gnupg/${PN}/${P}.tar.bz2.sig )" LICENSE="GPL-2 LGPL-2.1" SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris" +KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~loong ~m68k ~mips ~ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" IUSE="common-lisp nls static-libs test" RESTRICT="!test? ( test )" From 1723ae8c7b17074c3f4f1adaeab79cffaf6d708a Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 3 Aug 2026 08:13:51 +0000 Subject: [PATCH 047/195] dev-libs/libpcre2: Sync with Gentoo It's from Gentoo commit 6b667c68fbea4e2e7f021940f20370f80e79e4c3. Signed-off-by: Flatcar Buildbot --- .../libpcre2-10.47-remove-local-symbols.patch | 56 +++++++++++++++++++ .../dev-libs/libpcre2/libpcre2-10.47.ebuild | 1 + 2 files changed, 57 insertions(+) create mode 100644 sdk_container/src/third_party/portage-stable/dev-libs/libpcre2/files/libpcre2-10.47-remove-local-symbols.patch diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libpcre2/files/libpcre2-10.47-remove-local-symbols.patch b/sdk_container/src/third_party/portage-stable/dev-libs/libpcre2/files/libpcre2-10.47-remove-local-symbols.patch new file mode 100644 index 00000000000..99fdcfc56df --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libpcre2/files/libpcre2-10.47-remove-local-symbols.patch @@ -0,0 +1,56 @@ +# Gentoo Bug: https://bugs.gentoo.org/973026 +# Upstream PR: https://github.com/PCRE2Project/pcre2/pull/884 +# Patch: https://github.com/termux/termux-packages/blob/master/packages/pcre2/0001-version-script-remove-local-symbols.patch +# +# Fixes: +# ld.lld: error: version script assignment of 'local' to symbol '_fini' failed: symbol not defined +# ld.lld: error: version script assignment of 'local' to symbol '_init' failed: symbol not defined + +--- a/src/libpcre2-16.sym ++++ b/src/libpcre2-16.sym +@@ -80,9 +80,6 @@ + pcre2_substring_list_get_16; + pcre2_substring_nametable_scan_16; + pcre2_substring_number_from_name_16; +- local: +- _fini; +- _init; + }; + + # PCRE2_10.48 {} PCRE2_10.47; +--- a/src/libpcre2-32.sym ++++ b/src/libpcre2-32.sym +@@ -80,9 +80,6 @@ + pcre2_substring_list_get_32; + pcre2_substring_nametable_scan_32; + pcre2_substring_number_from_name_32; +- local: +- _fini; +- _init; + }; + + # PCRE2_10.48 {} PCRE2_10.47; +--- a/src/libpcre2-8.sym ++++ b/src/libpcre2-8.sym +@@ -80,9 +80,6 @@ + pcre2_substring_list_get_8; + pcre2_substring_nametable_scan_8; + pcre2_substring_number_from_name_8; +- local: +- _fini; +- _init; + }; + + # PCRE2_10.48 {} PCRE2_10.47; +--- a/src/libpcre2-posix.sym ++++ b/src/libpcre2-posix.sym +@@ -5,9 +5,6 @@ + pcre2_regerror; + pcre2_regexec; + pcre2_regfree; +- local: +- _fini; +- _init; + }; + + # PCRE2_10.48 {} PCRE2_10.47; \ No newline at end of file diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libpcre2/libpcre2-10.47.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libpcre2/libpcre2-10.47.ebuild index 46f1655beb8..5e2c911c6fc 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libpcre2/libpcre2-10.47.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libpcre2/libpcre2-10.47.ebuild @@ -50,6 +50,7 @@ PATCHES=( "${FILESDIR}"/${PN}-10.10-000-Fix-multilib.patch "${FILESDIR}"/${PN}-10.47-riscv.patch "${FILESDIR}"/${PN}-10.47-constness.patch + "${FILESDIR}"/${PN}-10.47-remove-local-symbols.patch ) QA_CONFIG_IMPL_DECL_SKIP=( From cc19ab3ac353a9f12b146c9bb539cd5250d7e04d Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 3 Aug 2026 08:13:55 +0000 Subject: [PATCH 048/195] dev-libs/libuv: Sync with Gentoo It's from Gentoo commit 0340aeae03fb90ef6a7bea4d95617d44212b2e15. Signed-off-by: Flatcar Buildbot --- .../portage-stable/dev-libs/libuv/libuv-1.52.1.ebuild | 2 +- .../third_party/portage-stable/dev-libs/libuv/libuv-9999.ebuild | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libuv/libuv-1.52.1.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libuv/libuv-1.52.1.ebuild index de4662739a0..6d4a664cf5c 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libuv/libuv-1.52.1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libuv/libuv-1.52.1.ebuild @@ -6,7 +6,7 @@ EAPI=8 VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/libuv.asc inherit autotools verify-sig -DESCRIPTION="Cross-platform asychronous I/O" +DESCRIPTION="Cross-platform asynchronous I/O" HOMEPAGE="https://github.com/libuv/libuv" if [[ ${PV} = 9999* ]]; then diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libuv/libuv-9999.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libuv/libuv-9999.ebuild index 4f16105fa91..d8721903f28 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libuv/libuv-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libuv/libuv-9999.ebuild @@ -6,7 +6,7 @@ EAPI=8 VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/libuv.asc inherit autotools verify-sig -DESCRIPTION="Cross-platform asychronous I/O" +DESCRIPTION="Cross-platform asynchronous I/O" HOMEPAGE="https://github.com/libuv/libuv" if [[ ${PV} = 9999* ]]; then From 984c204ff8508c8ca2df553dd508a26606ecaad2 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 3 Aug 2026 08:14:04 +0000 Subject: [PATCH 049/195] dev-libs/opensc: Sync with Gentoo It's from Gentoo commit 6022418d1a1609cc3dfd0d62aed5a4bdd556b43d. Signed-off-by: Flatcar Buildbot --- .../portage-stable/dev-libs/opensc/opensc-0.27.1.ebuild | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/opensc/opensc-0.27.1.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/opensc/opensc-0.27.1.ebuild index a48e2de5612..60466a3c42f 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/opensc/opensc-0.27.1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/opensc/opensc-0.27.1.ebuild @@ -13,7 +13,7 @@ if [[ ${PV} == *9999 ]]; then EGIT_REPO_URI="https://github.com/OpenSC/OpenSC.git" else SRC_URI="https://github.com/OpenSC/OpenSC/releases/download/${PV}/${P}.tar.gz" - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" fi LICENSE="LGPL-2.1+ BSD" From 1e525b7c0d62360e9367a2d5d9bf0e055431b7c6 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 3 Aug 2026 08:14:10 +0000 Subject: [PATCH 050/195] dev-libs/tree-sitter: Sync with Gentoo It's from Gentoo commit 710c844bb7db8cd351c0b84d0a7ec83e469ae235. Signed-off-by: Flatcar Buildbot --- .../dev-libs/tree-sitter/Manifest | 1 + .../tree-sitter/tree-sitter-0.26.11.ebuild | 28 +++++++++++++++++++ 2 files changed, 29 insertions(+) create mode 100644 sdk_container/src/third_party/portage-stable/dev-libs/tree-sitter/tree-sitter-0.26.11.ebuild diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/tree-sitter/Manifest b/sdk_container/src/third_party/portage-stable/dev-libs/tree-sitter/Manifest index 9c6bb8f38a6..573d8073c0c 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/tree-sitter/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-libs/tree-sitter/Manifest @@ -2,6 +2,7 @@ DIST tree-sitter-0.24.3.tar.gz 3018668 BLAKE2B fa703b6250e11274d0c5ebccb741cc41f DIST tree-sitter-0.25.10.tar.gz 864648 BLAKE2B ae80d0e995cc5e3b40198caa3a7845f209f7df87948020d6b0a6669899bbeb113d852e2197cdaf1fe54944cdc8362cb73487af33960969fac087f45d33025c48 SHA512 f0465a2fabe303c1b62f1f55ed08aa57372ac11370d229adcccd99b5e8067be53e92da281cdfbcd034e2ecefb33ac90a119eeac9035670ac8fbaa4242cb87a11 DIST tree-sitter-0.25.6.tar.gz 857070 BLAKE2B 3bb6b6130e1a96c96b5af4608bf60f8bbd00cbf1fdc9905b7a6169db52351c2ae3a907eca444363ab2b3185a54d0080aa487cbe252e6e015c1cd7a735e420679 SHA512 47213b68233d376e145e3f42b4674d64e7ff27436f4a028e751d9ad8494469ff67b002ce184346d3f6848df2c91386c28127827c43a8bea34da5e84f2530f02f DIST tree-sitter-0.25.8.tar.gz 857462 BLAKE2B aa3f0d9056544bb6ef1127723563449c7672e06b5289e1596f2c1b5826905c578830c7e6c3bc58a91e388d647a5a5629e71f5f0af2a431e73c3be4f93ce5b6f4 SHA512 0d26d0699f61fa27b5adbc298ff53f8e0f5b9f2f1b216744200f6f50cff777c9c5a5a5b92304a4d1889fccd9d8a6dd6b7d4947bac907a91850322281f754ea53 +DIST tree-sitter-0.26.11.tar.gz 920828 BLAKE2B 6406aa003bbd4cdff00a16a20dffe24f8a3081fd0a190216b6ad5aad0393449814c7b2830017ad265ddc67ab57f4494a4fe2409f72a4cf786ce4c291795a9cd0 SHA512 2175f7d1f913fffaba7395baa7b0a3228172bdc25169d22cf3e39fa3841df1a9902031e248e417328f8ea3e48e7042d34bf85a36c8545a79ca5f7321c6b9d848 DIST tree-sitter-0.26.3.tar.gz 900789 BLAKE2B 8532bd460f3fd4e1cec9daecc45fcc85638e5ebde474fc32ccbb9ba77611cf8aff41653295b9b1c267aac62f8e2cf23345193271cc64c975895dd04a3d988c11 SHA512 ae2b59938ce41f6936d98e454adfc05a3890b2b3d24485b0d992e6f1d2dd1e8d9124e6a3eddc3d594f0cdb831362ff2c9b44b72364b22d3526150d23a9d15781 DIST tree-sitter-0.26.5.tar.gz 905701 BLAKE2B 3771c0b31704f6182ae10c2629566984883a9bfcfc914e40a3d30889eb3ef30f19213a45e9732b067042893dd89e27b51b8f5fa50f2d7d8cec81aeb8666ebece SHA512 c8ffa86caf5841208dd2c987c6437111c7514635ebc76e910deb38ba64252caa99ae8453f1acd8af8e167cc2c7fe7194d481cd53533802601b331c60d20f2a49 DIST tree-sitter-0.26.6.tar.gz 906770 BLAKE2B c6fcbc901f86795d6e5de5e22d4b7f34425f1f25ff9134de27baa0a68d917c376accd4a7a9d33faaee4e82e4dd7440085a06b55d5f57e5fe9756c195147867d5 SHA512 33ce5617ac53e276cccc8fa34e3a6b3e29a5bd572b381da4a7d6d78cbb7485d85120be8c0e25e02d3fbae4c36793b02bcfd788a2cdfe73f026742b184e16d572 diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/tree-sitter/tree-sitter-0.26.11.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/tree-sitter/tree-sitter-0.26.11.ebuild new file mode 100644 index 00000000000..3abf2d9fb7d --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-libs/tree-sitter/tree-sitter-0.26.11.ebuild @@ -0,0 +1,28 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake optfeature + +DESCRIPTION="Tree-sitter is a parser generator tool and an incremental parsing library" +HOMEPAGE="https://tree-sitter.github.io/" + +if [[ ${PV} == *9999* ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/${PN}/${PN}" +else + SRC_URI="https://github.com/${PN}/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos" +fi + +LICENSE="MIT" +# ABI is not stable. Revisit after tree-sitter-1.0. +# https://bugs.gentoo.org/930039 +# https://github.com/tree-sitter/tree-sitter/pull/3302 +SLOT="0/${PV}" +RESTRICT="test" # tests are for CLI and not the lib + +pkg_postinst() { + optfeature "building and testing grammars" dev-util/tree-sitter-cli +} From 3608c94f3f6c05d2aff52775ab54f40be60e5a97 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 3 Aug 2026 08:14:16 +0000 Subject: [PATCH 051/195] dev-python/certifi: Sync with Gentoo It's from Gentoo commit eaf4b8d85ad2d058996f96c0c029dc09ec29a116. Signed-off-by: Flatcar Buildbot --- .../portage-stable/dev-python/certifi/certifi-3024.7.22.ebuild | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sdk_container/src/third_party/portage-stable/dev-python/certifi/certifi-3024.7.22.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/certifi/certifi-3024.7.22.ebuild index 33744881df7..68a0946626b 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/certifi/certifi-3024.7.22.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-python/certifi/certifi-3024.7.22.ebuild @@ -5,7 +5,7 @@ EAPI=8 DISTUTILS_USE_PEP517=setuptools -PYTHON_COMPAT=( python3_{11..15} pypy3_11 ) +PYTHON_COMPAT=( python3_{12..15} python3_{14,15}t ) inherit distutils-r1 From 05057e6a4c5a1d0b3e6e8bca804f79c44d26e410 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 3 Aug 2026 08:14:16 +0000 Subject: [PATCH 052/195] dev-python/cffi: Sync with Gentoo It's from Gentoo commit d9a1f28564a0f372b7ada6b43400b61684f9ee0d. Signed-off-by: Flatcar Buildbot --- .../portage-stable/dev-python/cffi/Manifest | 1 + .../dev-python/cffi/cffi-2.1.0.ebuild | 74 +++++++++++++++++++ 2 files changed, 75 insertions(+) create mode 100644 sdk_container/src/third_party/portage-stable/dev-python/cffi/cffi-2.1.0.ebuild diff --git a/sdk_container/src/third_party/portage-stable/dev-python/cffi/Manifest b/sdk_container/src/third_party/portage-stable/dev-python/cffi/Manifest index 71dbc6b8cdf..66e9b74065a 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/cffi/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-python/cffi/Manifest @@ -1 +1,2 @@ DIST cffi-2.0.0.tar.gz 523588 BLAKE2B 2038eb1eeb89b1015ea40202cc5dc0da62989288a41cccf75baeea86051a085e28798e75ce0a74316c2f5bd94e83e0b89d3df6b97ee0f4f61dac301e239bb3e9 SHA512 a8bf705e626f6b5858cc20e9044a23fd653d155e2a2d4cb59f1eed00ef13ebd92d5a2f07738c66b361cb24d863786d4379dcd9c176250b546fbd45758e51d4f4 +DIST cffi-2.1.0.tar.gz 531036 BLAKE2B 1df5a789895b405d7f842008c49bf0551887d578796c6b3ecffbc8a6b3a8b60f3dcd4417a805f62dfc4deea7ed0119384d9edbb619d22468d3acae1ff1f264b1 SHA512 44c5e434580ba5ff1f2c23bbabe959d49e77a8823648eaab631c46f175c2b4ff3b96d5976b66ef33b93537674a1ba01e355cf836d40de7e2c0557a51f5fc7959 diff --git a/sdk_container/src/third_party/portage-stable/dev-python/cffi/cffi-2.1.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/cffi/cffi-2.1.0.ebuild new file mode 100644 index 00000000000..bac5ff9ea2d --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-python/cffi/cffi-2.1.0.ebuild @@ -0,0 +1,74 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# please keep this ebuild at EAPI 8 -- sys-apps/portage dep +EAPI=8 + +DISTUTILS_EXT=1 +DISTUTILS_USE_PEP517=setuptools +# DO NOT ADD pypy to PYTHON_COMPAT +# pypy bundles a modified version of cffi. Use python_gen_cond_dep instead. +PYTHON_COMPAT=( python3_{12..15} python3_{14..15}t ) + +inherit distutils-r1 toolchain-funcs pypi + +DESCRIPTION="Foreign Function Interface for Python calling C code" +HOMEPAGE=" + https://cffi.readthedocs.io/ + https://github.com/python-cffi/cffi/ + https://pypi.org/project/cffi/ +" + +LICENSE="MIT-0" +SLOT="0/${PV}" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris" + +# Needs recent libffi for HPPA fixes +DEPEND=" + >=dev-libs/libffi-3.4.4-r1:= +" +# setuptools as a modern distutils provider +RDEPEND=" + ${DEPEND} + dev-python/pycparser[${PYTHON_USEDEP}] + dev-python/setuptools[${PYTHON_USEDEP}] +" +BDEPEND=" + ${RDEPEND} + virtual/pkgconfig +" + +distutils_enable_sphinx doc/source +EPYTEST_PLUGINS=() +# xdist fails to collect the tests +distutils_enable_tests pytest + +PATCHES=( + "${FILESDIR}"/cffi-1.14.0-darwin-no-brew.patch +) + +src_prepare() { + if [[ ${CHOST} == *darwin* ]] ; then + # Don't obsessively try to find libffi + sed -i -e "s/.*\-iwithsysroot\/usr\/include\/ffi.*/\tpass/" setup.py || die + fi + distutils-r1_src_prepare +} + +src_configure() { + tc-export PKG_CONFIG +} + +python_test() { + local EPYTEST_IGNORE=( + # these tests call pip + testing/cffi0/test_zintegration.py + ) + local EPYTEST_DESELECT=( + # Internet, https://github.com/python-cffi/cffi/issues/255 + testing/cffi1/test_cffi_gen_src_meson.py::test_meson_python_build + ) + + "${EPYTHON}" -c "import _cffi_backend as backend" || die + epytest src/c testing +} From 994323e3ea8a297abaa7c77ad016d181075d5432 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 3 Aug 2026 08:14:16 +0000 Subject: [PATCH 053/195] dev-python/chardet: Sync with Gentoo It's from Gentoo commit 7292e1056b90f6325f4bd1cd1f0c7aafc981f994. Signed-off-by: Flatcar Buildbot --- .../portage-stable/dev-python/chardet/chardet-6.0.0_p1.ebuild | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sdk_container/src/third_party/portage-stable/dev-python/chardet/chardet-6.0.0_p1.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/chardet/chardet-6.0.0_p1.ebuild index 8b6e63377e5..1d0138c3797 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/chardet/chardet-6.0.0_p1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-python/chardet/chardet-6.0.0_p1.ebuild @@ -4,7 +4,7 @@ EAPI=8 DISTUTILS_USE_PEP517=hatchling -PYTHON_COMPAT=( python3_{12..15} ) +PYTHON_COMPAT=( python3_{12..15} python3_{14,15}t ) inherit distutils-r1 pypi From f2b71681dc1d2174b7f0333eb29ec7b715d0f73b Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 3 Aug 2026 08:14:17 +0000 Subject: [PATCH 054/195] dev-python/charset-normalizer: Sync with Gentoo It's from Gentoo commit 23981a71e4daff8d06a90778ae461056be2fe143. Signed-off-by: Flatcar Buildbot --- .../dev-python/charset-normalizer/Manifest | 2 + .../charset-normalizer-3.4.9.ebuild | 45 +++++++++++++++++++ 2 files changed, 47 insertions(+) create mode 100644 sdk_container/src/third_party/portage-stable/dev-python/charset-normalizer/charset-normalizer-3.4.9.ebuild diff --git a/sdk_container/src/third_party/portage-stable/dev-python/charset-normalizer/Manifest b/sdk_container/src/third_party/portage-stable/dev-python/charset-normalizer/Manifest index 93e0ebfcf72..b5b31125d51 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/charset-normalizer/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-python/charset-normalizer/Manifest @@ -1,2 +1,4 @@ DIST charset_normalizer-3.4.7.tar.gz 144271 BLAKE2B 46baf0eb8691da293f19206eaa9006b46c365291f57ed8a51d1d97771134cf6a280d25d0ef31712d2526d2013f71645c9906c0ac540c0ffea572f3ea502b375c SHA512 e0682214fc75b5e2a2ce5284ead57ca2883f4151c1dbdfd8399c38ca14251fa53b6f598f87408b1d6dbd5636bf627eec481b582dfe3f314cad761b5d63433250 DIST charset_normalizer-3.4.7.tar.gz.provenance 9402 BLAKE2B 9e3905ea5aa0fb8577b5ccfb2684eb3afc6ab59a45fef0d07167ee0b78f1ee5136548c46ba023e928145b52abc7ac79178117c323e2f7b98deefc0cac616b417 SHA512 d90705ed0ab90ef4502984712ee01ffc859fcbceb0b28201f8e53525a7290f64ffbc9bbe27d784663e92cde592216ce9ed8a8b7ab2e14ab6b89eac293e1b2494 +DIST charset_normalizer-3.4.9.tar.gz 152439 BLAKE2B 13aaf1defc6b8f5f03b32726e1e73a62e63ed9e0c3a78d83a342c121744c0f6a1577d9885d839815385f56ed0fb50ecee16441348673d7baf1f9081bc484be93 SHA512 eb96d91b60b5ed083a6169a2c67534a6fd261d91e957f592a52076c98fad99d30e45a11754d51472e1b2815b08061005a5cf9a6844441726cd2814f22bdeef2c +DIST charset_normalizer-3.4.9.tar.gz.provenance 9732 BLAKE2B 9c588768b3658889f0bb9bb192718b9a5ecde297cfb46bee07344309921b149f33181f8d81be0f23bf6de7945f9f2331a834058aa0bb90e8ffa9e22b082f6262 SHA512 d1a3171078f5270ea76c48f9cf31eb620b72b2edc921abedbdbaf87e4447fc73ee1884dad99442ad97aeb7402981c447c8ead0cecdb145cf2908ca5e54e4ad34 diff --git a/sdk_container/src/third_party/portage-stable/dev-python/charset-normalizer/charset-normalizer-3.4.9.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/charset-normalizer/charset-normalizer-3.4.9.ebuild new file mode 100644 index 00000000000..784cb084b63 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-python/charset-normalizer/charset-normalizer-3.4.9.ebuild @@ -0,0 +1,45 @@ +# Copyright 2022-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# please keep this ebuild at EAPI 8 -- sys-apps/portage dep +EAPI=8 + +DISTUTILS_USE_PEP517=standalone +DISTUTILS_EXT=1 +PYPI_VERIFY_REPO=https://github.com/jawah/charset_normalizer +PYTHON_COMPAT=( python3_{12..15} python3_{14,15}t ) + +inherit distutils-r1 pypi + +DESCRIPTION="The Real First Universal Charset Detector" +HOMEPAGE=" + https://pypi.org/project/charset-normalizer/ + https://github.com/jawah/charset_normalizer/ +" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos" +IUSE="+native-extensions" + +BDEPEND=" + native-extensions? ( + $(python_gen_cond_dep ' + dev-python/mypy[${PYTHON_USEDEP}] + ' python3.{11..14}) + ) + dev-python/setuptools[${PYTHON_USEDEP}] +" + +EPYTEST_PLUGINS=() +distutils_enable_tests pytest + +python_compile() { + local -x CHARSET_NORMALIZER_USE_MYPYC=$(usex native-extensions 1 0) + + distutils-r1_python_compile +} + +python_test() { + epytest -o addopts= +} From 35f46088dfacf65026767fce97679fb767feccce Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 3 Aug 2026 08:14:17 +0000 Subject: [PATCH 055/195] dev-python/colorama: Sync with Gentoo It's from Gentoo commit 378e693db8580cc02fb0c7c6394851f9547fa86d. Signed-off-by: Flatcar Buildbot --- .../portage-stable/dev-python/colorama/colorama-0.4.6.ebuild | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sdk_container/src/third_party/portage-stable/dev-python/colorama/colorama-0.4.6.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/colorama/colorama-0.4.6.ebuild index 59c256826fe..1f856afe91b 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/colorama/colorama-0.4.6.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-python/colorama/colorama-0.4.6.ebuild @@ -4,7 +4,7 @@ EAPI=8 DISTUTILS_USE_PEP517=hatchling -PYTHON_COMPAT=( python3_{12..15} ) +PYTHON_COMPAT=( python3_{12..15} python3_{14,15}t ) inherit distutils-r1 From cc5b62e09ca4f8fb4ae80cfca868ca5758010dfd Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 3 Aug 2026 08:14:17 +0000 Subject: [PATCH 056/195] dev-python/cryptography: Sync with Gentoo It's from Gentoo commit 367df4e21660db0b1668379345da4f97d0637dc9. Signed-off-by: Flatcar Buildbot --- .../dev-python/cryptography/Manifest | 39 ++--- .../cryptography/cryptography-47.0.0.ebuild | 139 ----------------- .../cryptography/cryptography-48.0.0.ebuild | 144 ------------------ .../cryptography/cryptography-49.0.0.ebuild | 8 +- ....0.1.ebuild => cryptography-50.0.0.ebuild} | 42 +++-- 5 files changed, 37 insertions(+), 335 deletions(-) delete mode 100644 sdk_container/src/third_party/portage-stable/dev-python/cryptography/cryptography-47.0.0.ebuild delete mode 100644 sdk_container/src/third_party/portage-stable/dev-python/cryptography/cryptography-48.0.0.ebuild rename sdk_container/src/third_party/portage-stable/dev-python/cryptography/{cryptography-48.0.1.ebuild => cryptography-50.0.0.ebuild} (86%) diff --git a/sdk_container/src/third_party/portage-stable/dev-python/cryptography/Manifest b/sdk_container/src/third_party/portage-stable/dev-python/cryptography/Manifest index 441c3ba095d..80459107a07 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/cryptography/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-python/cryptography/Manifest @@ -1,61 +1,50 @@ DIST asn1-0.24.1.crate 50502 BLAKE2B ebb6ec767929765aa37a34f25c9ace8cebabc4b01268245c71691a247317d920e3f5dc6ff4026711e1ba99701f55d84eb1b8b66d79e9b88ad50d25606070a746 SHA512 72ab6700bc365456f6038f9d6d5ccb29a3baf378596f538b68e0e11d3668e57cebaabf72145d8fa86b6441d66eafe38aaadab41eb7b61731fd356a75ff5c45ee DIST asn1_derive-0.24.1.crate 9534 BLAKE2B e498f5af8fef329668554673a2c583b1d0049a235ed70f2a7a26ab724304240b277c44b33995749437600568e084aaf018430b96c7011d8483bb6965ba0e9bfa SHA512 00990444fb13a033ea831f0688611ecbe33f8cdb63717382cdbccaa0834f953302383f05ae425525d8c336908780d7b80be0db430e1f233bded0544f32c9c199 DIST base64-0.22.1.crate 81597 BLAKE2B 6f216a560bd36e6e6b74e908344b457594cc768d9763070e269b56a14b150cbfc4b7f599d4c2a0a5f783638170ee132f0796fefb14fcac7fd73c58db0791007a SHA512 91cf2e4e7fc8815f9b8a86a7fa722a20eee3dc1dd57111b29e420de87ce7836bcdb1db01d3cafb9a977710ef63e7cc41b7772762323e68e0e832156858aace20 -DIST bitflags-2.11.1.crate 49082 BLAKE2B c9c875b54e0a12115ecd846ef0a66bc7070d38892285a4142f1b1f26b07d407fa440a2943f310046f5fbc9a2428fcc56f2e44d06360e551d4b27c9b8cf93eab0 SHA512 c91b5a8b420d8e875a0906ef9b518a392487fba5399355aa5e908132149ddea7cc4222dd271cd5072e50dd9abd6e56420f4205652ba32a57af46bf07636604b7 +DIST base64-0.23.0.crate 93578 BLAKE2B d452a45a154d73096a495c78b033890aa57028b4ec649073459e3b0dd0b5297729937f4effb94a8a26f6284e7d94c10ff41fd68eb6cbec7b18cd1aacc8a1111a SHA512 3bf0978c2d12028dd965f7520ebabad3b6dd04ebee0e5ef976327042f792db85e1ffcd6af26c94e6187db309e1cc2d751a52ee0a09c44e673a6b39ef7071f731 DIST bitflags-2.13.0.crate 51280 BLAKE2B 2926a828107adbf689705662a77e6f4f8d12c4d48ba8207d03e6220fe58082a0ebb48252f1652b760f4427e0b951276f31a08dc0467612d5b35b484a9f6fb74e SHA512 5a93a30662effe056132d33cd0b25670feedfe69e927b7e77ea1a417f68104988459f1c3a73eec1752eac08f44ae5333496526e1a96dfb3e7144deca1a94d19f -DIST cc-1.2.60.crate 97051 BLAKE2B 292350c3fe7dc3e023fe4f7cd07b3a5a7233996963b42391243948f834a17cf69781bab32cf46d62722c45437f50123450811dce8aa0e96ee63f35480cc15d90 SHA512 d67fd7400bd1d20f26f7a6743ac02ad09dba0b8002172b87907f4a7ae2487ee41feb2f24fe375ca91a3ac4fde1dc8b48b6703b74297c9eb42bd1e91ac8fe4e80 -DIST cc-1.2.61.crate 97163 BLAKE2B d46641d905e44c60e36c3918c6fb666c7d5f19316a1415e5f51909f79a00773bd763784a71aa7ee85a4c058177596a06a5c4a807904bbd2340c31103312d415d SHA512 4728983b06cf6cfb8a042759b7da2d9123939cb3c87fd78d3d7dc565871b5a4aa522afe515bbfff62218d8ef5ca16ed88f777c30b746820c13c9a6bf98dc7ddd +DIST bitflags-2.13.1.crate 51395 BLAKE2B fdc2047bd877bbff24d9cb98c4fcc96b256f6161f7a2c10e437ea3c05485a1950ff8f1d9bb16a28e92b1755b37244bc3cbf3544688e6b7de147981d641c04319 SHA512 f1f2ac77fe2dcd6bb489a254d0f2e757b188829a7efaeb032acf7bf98a77521cc01f582961c79587ce7e72de706767785eda9bb191bc8b6bfdf294953ab819a8 DIST cc-1.2.64.crate 97697 BLAKE2B e13b32095a684f456627aba1f48c369f9b374001660e02aca695577b058aaacfa9a74edf6fe6a5979b031ba430c123fd3f484f895312db01bcd6730d104a36c3 SHA512 be9d702a2573d3977b9fbb79c09c163b297fa9efce7b490941e40fa77ad5d965949fd42e02ce0fa89de52f579f4400d26041576fc188542637f8fd27752b6b63 +DIST cc-1.4.0.crate 97878 BLAKE2B 40d5ce221dbe4a877e36a9dab0d1eaa02276a9eee7d919dc509ca3d17e39b7cb3a3c9640434bd91c6ffdc69a2534fdbf44b6b87728134d01bca67ead6fee60bc SHA512 9ad31bcdadbce84e0eac56ee1faf140e8146f43a7f1bf99288ffacd278e3b6d3307fe4b761c744c0ea823c378ec5c18dd02b46b2dcb69f6344c7d3f9df045684 DIST cfg-if-1.0.4.crate 9360 BLAKE2B beadbfb273ee97cbb6e3740891fbace57511399ad203459b66b397587d794677a9515cde4e9ec4320c3795518bf1551d72b9a889f8ac4b225168f493288b7c19 SHA512 176e04df7ba783b7143bb84397b777f5c5a1305c08a5c3a218d4a66830620be89ed68992ba27686165bcd3fb2f34b2daf80b2a1d4b481ecc267c988e84d28e9d -DIST cryptography-47.0.0.tar.gz 830863 BLAKE2B fa4f148133c23025ede6bdfcbbce65288dbe61f0a28e3792ef9e1a7143ae05bd7e42947e0ffa3f70d027b7d2064f8d755eb9a83e4719c83ae4f4c79490e0c49e SHA512 0d2fd9de7b6cfafef5f66e4fb10b7eaa8712bc0ed7bca19a017963b8ea707813a7bdc841f7d4aa512da7963eff3707792d46cb93058875fcc447961256c32d9e -DIST cryptography-47.0.0.tar.gz.provenance 9322 BLAKE2B 9107587d781c2fc6eaa26d40f96b404a054bcf317f56974f2efc5f88111f4ed9ab1aa6fc91b2101ae3c5b66467b43858e0a0010df18001999a4a904773ef97df SHA512 744b8be907b623b44c3b4e0aba8ffdb61fa54df5161c20c946da272e0d5ec4cd23a242edb7d2378b8783d50a610be7e6e902ef02acac25a90b67b7908ab5f01d -DIST cryptography-48.0.0.tar.gz 832984 BLAKE2B 100bbd35411874c4b9a6fb855fa19dd5271c753daa28cd6c52fac0b926dbcee6b4dce37a59c28b5ff435028965a60fa898e501f6215e837cc28e056c1b8a4680 SHA512 4d04983e25eb5fc856705f63e8cca32a357ef0a369c4596b1beb2e0befa2b3dcd763eb4e9baed4230bd75aa6738790ec56b107a45d5e02ce09f78fc1851c2ff9 -DIST cryptography-48.0.0.tar.gz.provenance 9676 BLAKE2B a61479b36aae65fd67c0622f6483da49bbd2666131a2f5b016796125168bae24d7bedfcfa7987e89ae8fa051c2e0875ac6b6d8e60f736186812a7909d3fcad7d SHA512 0053d20118f0b427ee0fc9e787e938a4e8e78467a693403fb3118a5a1577dbea7f613b2cf72d2a79620ca966d850e33ba4f565b69a1217c1a834dac751076fd6 -DIST cryptography-48.0.1.tar.gz 832989 BLAKE2B a98f0ebc40b762ec53f504d9d3cc3ff1666befa505572218365764b0987fd5067172789ea037a31d1d6583854cbe39c3df3de5c87561f18a794ca6110ab4ce7f SHA512 014424f7de1e04840d88c2e047021027aeb2aa8b3b4fb29d2c7f3e7b8744c4b5601b8adc19694d12da014523859aaffa2b4922ea6f1b9bbe694835edff4ce08b -DIST cryptography-48.0.1.tar.gz.provenance 9687 BLAKE2B 47ccd383cbd387ff24e15df41ecd22cde4aa09851e7094606fb76e75e0d02b38720b9029721f547bd2895286f3c76b8f76e82cf7f88e4167fc8011b2221b8eab SHA512 b196f115240801090aae00611a904f56ac5785b0caca64066b33add06be92bf35860a4d336a51703fe0a0cc845e46f26e5392f84cb966d90950d93c269b75563 DIST cryptography-49.0.0.tar.gz 854345 BLAKE2B 735d303659d101bacf967bb2388190052caf5f3f02d02487a0b49c21eb594b8d133be58411d98b73ee35fd50597ee872f716f2a4f9de391fcdd66d6b7292a205 SHA512 047ffa4073ed124bc6fe3459663853b50c55c6ed9e5604bd1709b7f17e72788f0e4eb5c533a174afbead40fc16a1a798600d29f4963b190867d9d9e50dea6af8 DIST cryptography-49.0.0.tar.gz.provenance 9824 BLAKE2B b2b08f93894aa7bc9de98185a37e2b90a1e041d7473674752e52724baa8b90759354763eaf5b4403172a2dfe48596653abae79a604d1dbebe7664c2fd71dd6f2 SHA512 4228eaaab0ae7b34763ae3d60cf2d24d5b803efea85718c7eac34073e7fc48aefb7ba2c699c25f82a34f05a050d04f634956f4e717c201608e2f02451ec5a318 -DIST cryptography_vectors-47.0.0.tar.gz 54877496 BLAKE2B f8c24d09bb84557a4ad9f5c885da47a95853948104c49b0e4e877e62c35e8c826fa0c470e8450c230c727de19102a8c80992b52aa51aee051267ab43e966535b SHA512 82fbad5a395879ba4dac4aa015271522a832da126f7ec204274821d78100ed17c4047bf4d1526f82e7785bdf9d375741eecfe4cd24f3c5dcdcabc2c7cd01f67d -DIST cryptography_vectors-47.0.0.tar.gz.provenance 9377 BLAKE2B 55019d10ba343cb445dc6d0934c12cfc6909ffb2b016520a9d75c485223175ba1fd7ea71bb2da9af37489c4bfda4c4956fc272acedbe5cd3276c2999c198bbb1 SHA512 6adbd02d17f64a7e4fa6bbe453f7eca936683f0e569dc1978a6a8db861eaec93600bf5c1198c0d25e200913a85d5f74ba44616cf05775c44fb042cc20c258cdd -DIST cryptography_vectors-48.0.0.tar.gz 54877461 BLAKE2B 1a8dbe98ff653f8f6ccf90843e8fbecfc6ed7123d9b78db2f34203336613c62083ab7e0803a95a0d3cdbf6b78f837302bc8ab927fc244e54a809f9a321cda67a SHA512 282d6bee83649ee2d80d4c4d51a0ca5de63d1af978e93d3cff2eee20a5aecede2c13e9164cd79e45af0b72fd7bacedf73653986d93032ed148ef55614f9751cb -DIST cryptography_vectors-48.0.0.tar.gz.provenance 9735 BLAKE2B 08065c55da5deeae8c41c7be9c35b1840834454d9fc18db789c5e696e66245c77fb910913465f6bfb242d5a3166113d3186ac1cfc61c3f83335b9e6f8a72204c SHA512 b0aa45486fe08563135739ba2fc3572a70f88bdf27eb4765e52fa0d1a7d8aff305c0076606c91d2325c07374310537c8d8f7f28b462e0f9cfebda6a973250e25 -DIST cryptography_vectors-48.0.1.tar.gz 54877436 BLAKE2B 7b4c386588e5ad0b6e0fc7c0c9e73e597c6fc0a3940d791052a503f09e4f83aec709571878245842203ee66d75b2391c7c743175da0543409c6658973c0b2eaa SHA512 08912c2dfe0c290cb0a74bcefefab44a3e628554487f059073dfa4cb441d2dce4fc2d14ac367b5d237b1fc9f3fd705dfd44b90d020ea36ad5483d752dc093b81 -DIST cryptography_vectors-48.0.1.tar.gz.provenance 9789 BLAKE2B 22bdad6ea48bf56ba0a3c95d83d2e4c2de88a77032d4f08806e74c3ade60012ed89d034337a3a5396a76d79b75c9376244a9f608dcc4436d3a4f698f9e84614b SHA512 d578ae5a517cd6a1fbe10fa33ef6f135207cf129c01d602b146cfca2345d625fb048394d70768469752eb5af821ffdfea551aee36e863336e199051d67e94536 +DIST cryptography-50.0.0.tar.gz 880201 BLAKE2B b498408edfc15581a8cc7dabb4050edc4d7a214431f28141a65c6c7876cdf2df11fec298de0b5bb3ed71b19f27fd7385822d16efa50632e5921844de82d2005c SHA512 b473d5625aa0367825fdbe771377056b660dbe0e9d155a769098bfa03d77e0e3d9d11c4c0761c66f45ed93857c1410239c0e8e5f558d1d9d603b4b7502a626a4 +DIST cryptography-50.0.0.tar.gz.provenance 9836 BLAKE2B ccd8a9ae3d4754f1cad8e59e1bc8c62853d370034d3c9f928e83b1966be11c4b0d7feba9997eaed51f2e88d0a325f036805793de7cb58d188a4b48c0e6710d47 SHA512 f98c9cbe8adbe56ef93fb2a3a033ede5fec2c87561ffc808c09155a12e6ecb22735a7e6a2beb8a186f41f3a5b8e58fdd1e66bdee4ab57caf3ac19f0bc051aaa7 DIST cryptography_vectors-49.0.0.tar.gz 54876507 BLAKE2B 58c4e75c33ee0926a7a0d348356be18884145f0f7bd04c771fdb7fdbc8c779b503cdf6e659e167cc64d20b5d5c2c46fec615e968a9cd49b2e9207945f079ebbb SHA512 dbec0a8198ea7a6ee56d1b5b8079752487cb8c2916c9239d26c664c08402c1ab8832585889ec79313e37f64151a3664b98c6a5e1eb69adceb4caeff32b56f838 DIST cryptography_vectors-49.0.0.tar.gz.provenance 9789 BLAKE2B 66f3e0881b4715dc8304e832b7e976cbc1570cb08b573304935c8625c0fe673602777d6e90fbcd455e97ca32a586350a52e58c8c96a086038fe2aa935db8ed93 SHA512 c8915a33aa32ffd32602f645138cfd3dcb95dcf9bfcebae96ac9ffb9c8c27c7b1df727f44e8fa8f2f21f7b516cd8a142cc58fbc6dccb509afdb697f7e51e5955 +DIST cryptography_vectors-50.0.0.tar.gz 54914883 BLAKE2B 9b1b740d9dfdf2a80bf072189768a4e823a4f706f6517e7745c4ab609fb2109aab757937d61eb6b7a2f5db9af78c998537411f2068eceac94e989e4a678ad4a4 SHA512 e0969245a61bb84b992ebc8f53b45191f6d78e2cea228b7d7ee35a6658722028956e6c54414811e0c03cbd6232075904edfcaeaefc7d8e61a4981149ac1e28ef +DIST cryptography_vectors-50.0.0.tar.gz.provenance 9801 BLAKE2B e2ba1e2d8eabdd2dd680d78c6d01926a8ecc429008ce180b210330ba0c354d113f5edb05fc7d09b049d490ab4e04c94c5e5532c7114bbd19cd6b1268de37b727 SHA512 a8c69da79a910d65b14917fd6a143959620edb974b8c7de63200130bb0884c393850a7a914a9c19dad5bbfccaa422029ef9ec8c98b4eb1730e4d1ed7cc55ce6a DIST find-msvc-tools-0.1.9.crate 31493 BLAKE2B 4137592addf8b58f4e4c02be537a72b132b38cecc1c263c2569fe40e2cfe4377e7141679f32661f44ed467cf9723343ab13732b3d6f4a2a84c610d0958e7e30b SHA512 729b3c1c1d520dffe5d88fc8b58e47fb7e86dc26e568fc317eea5ca8de0ee953fbafaa20ab34a6bfb43173bab39a90ff6954c11dab8d545e902305dafc8cd3de DIST foreign-types-0.3.2.crate 7504 BLAKE2B 520818b702d990d296ecd31a8646850202509ccfa18edd0e1b260289619a6c351e758f317ec0824bd76eccb209b6f087057c25f1bd01a47897715013dd834867 SHA512 bf27b8243ed482c202d120383374f19ff09422535e24b9c1aebccc66529bf300ca17b8bbc76d67f98ac092e614497afe3add9dc68aa69c93074df05762f91232 DIST foreign-types-shared-0.1.1.crate 5672 BLAKE2B d2e42e04b6657e7a69fe0bd20c672176629c743e49a55fd007bb30e289710b70045d445ae9cae0eeaa747ee708c90e8abd9b5fc39bad8ec0666befe1b696d4f1 SHA512 bafdb2143e136fb0818e2ffd90b5c862b7181647d6568947d4e4531012bbf7a57b597221ec7056c1b562dfc0c3b5dead26d1a4111ebc15e7863737a873518a4a DIST heck-0.5.0.crate 11517 BLAKE2B 5365ec43b2239a76b33a174f1a4292ece4147f9d382a68c6c60db78fdc8bad0afb1d51a65bcb25e96675372faa4ea37c318265030b0546ba51942f7c929e1835 SHA512 f044fc9c3d22466629fd8f772ec0555350fd611c0cfadca51d99a3d2f10e155f77c1091916c8a95a6b9b499f366c2e99a5fbf45b010f988bfb9b2501bf9f6a76 DIST itoa-1.0.18.crate 15935 BLAKE2B 8e41446056ccd94979f6f5a8fe8c48d6c47abaab99a41715cca31816f859b56e0cbacb998f300b62be8b719a6470f8a087f1439b72f2f6662d1cdd3d552ede5b SHA512 8dbad156e2863c28e2b380901a92414ef00e39f1fcdb06d91a0f3fb73108c2f7f36b699ccd93287808c24c29cca7f1783d48d5ca95f2173502963c0abcb2d09c DIST libc-0.2.186.crate 821883 BLAKE2B ebe7aac5f8937a8064c64a0d4dc72e5fc794080e09b96c6d245bdec0fd9a19d49ab38e25306e22e47564764cf5dcde45855237cffc70230a143eca2626bd5c3c SHA512 6a58e671ec6811dff9a0d7d4db8f37d38bcbca9efff20dad4706190e5cdb77b426567754bcf0ef0f2d0c31d6506401f724f3ca500b9bed57bb8605b1141ed690 +DIST libc-0.2.189.crate 851502 BLAKE2B 05155a249c6880ca96a19bbb7569d4ca7530f544504e4ccb48db1ebca0b70d84e99c6b9532adb9dfbb3d4d1187eca22698a6b2ba6ae40bebf5d6eafdae86c71d SHA512 0cf621171ed4e6bbfeb71fb582ebf037d62ab481bc406ca2fb766bd4a8416f220a189325a0d3cb3e3cb39d80e09312516ca6335fad71b329c5fccddabedf4110 DIST once_cell-1.21.4.crate 35010 BLAKE2B 9117ed1d478e626b7b7be2e3ff8b68a382b051112c7ca4425367bdae86977671f8b5c576131c82fb437740b6d98b72501f718f4172d39781decac2385e8fbd4d SHA512 af67669b0107f44268ba74c355200cb2ed1aab235a6989a8bc54323eb2c9a45677010f8672e7790edadd4c981e939436e0c3a099d33c06dce9c14fd5ede86155 -DIST openssl-0.10.78.crate 292622 BLAKE2B 17ec5a5efd1fa997a8179bb107912c62c47ea901d93df1c8c0c63e548427a01e57d79c23f0d4a7d614f0d2059c6c07097a4047aa91dfbc4d224c942615eb3587 SHA512 fc27483ebf36daf4b97a43aab2b347255a35e03268c4424df133c714da41a415025be7e6d12579590ab03d237eebaacf89c056d722a66591a7e77c1f45297b4d -DIST openssl-0.10.79.crate 307119 BLAKE2B c282a190830e6970bf4617d0a41cb12db34625c827c19ac02575635c2ff375ca2fc1ca5d2206a296af733c1fd5c5d4e962325820a3dd643e8913145385c9026b SHA512 da9b6025324499bef777f8a7caa3705e3857ddf0aa80c659da5adcc6b6518e8734ccdbe10410a578003bde1dec2006e8d7b84224d635d03003f4a91f2e71406d DIST openssl-0.10.81.crate 311187 BLAKE2B a66963c92f34d6efaa80363681664eafdf21af640727132155b2aa1f8c167a9af081091addb675e901ffa352145d1a155b2917df90c4a7917b01c722a592d559 SHA512 533c23b4f1e9b942ff30eb3d22232298135c370fc31c97940f4ac18c73291acca6be4e03284efecbd01096999a6529d1a33a63db332efb4aee478cbcb3f37eba DIST openssl-macros-0.1.1.crate 5601 BLAKE2B 69dc1c1f3b7bc4f934cae0dce64c3efa501162e5279efd6af3b74f7a7716c04b6996b306b310f1c045cfa2eff2895314a47ecbb020a817e461c6d77d0bc11e92 SHA512 57e75c84f78fb83f884eeaedb0dd135ecb40192dad2facd908e6a575c9b65b38a2c93bca4630e09ea5a82c77d8bc8364cb2f5778cbfe9d8f484cafe3346b883c -DIST openssl-sys-0.9.114.crate 75617 BLAKE2B f4c313dae993116f249d27d9b161263e8ed770ea8ba0446738aa9fcb2f94d2aebb069f6a713f94ed64e99350f3241b095ef6f433b0e4f75cc3de2b0916d04a75 SHA512 a1404b613d77b039fee2e2195867f8db75520aaa558d125c99f1a6694e513e15454914dd8ab84ab1ef4ab729afd53eac8ddf5f3c42d152f758faa1d0c1fbd258 -DIST openssl-sys-0.9.115.crate 75821 BLAKE2B 56de1b3874f67e0e5771d7b0227246a143ef862301769086dc10bece0b772cc08bf3f6169462b01bf9b90c5691ddd406531cb48104fe4619bbe8f1d19d9fa271 SHA512 2a5c46d20f8d194e92785311f3866cca4ccf8b0e1b665afd49768f230eee76e1e00f04415b4b2f2b8f449dbf9f11a62b56cb639dfdc1d4783ee8bb256864dd05 DIST openssl-sys-0.9.117.crate 76045 BLAKE2B 074b44386a0a0833db961f8f8a249abdbacbc43a5428f8957e2284263206f4c2513c3eb7b38c96975f11ae75654656eb5d6d7d438c31bb5336835d9ed067e9b6 SHA512 89eeb0bfaa2c1ac3e0a8d268a46f8bfaa9942b0f840b0403faa15474961066559b3a1d24f672b445e1029301e6a99c7e2d84dec27528183523a409e9fb57b242 DIST pem-3.0.6.crate 18362 BLAKE2B 0cdd4855872e51d70bf6f3031a28ed9580c0fbad3ec7680938f121753e637f925a57ccb67ed5b85f3c0dff8b4c1fe936aa3ab4b4067ab9a3a3dd17dec02680cd SHA512 4d485bc3a14d7480b6fd0627869d4093124f173a3aeaeaff4ed69a37ba50a8327e6e9325a92d1a5c8ef337b7ca812de2e74ac786eaa94a644de8daf15619de15 +DIST pem-4.0.0.crate 18770 BLAKE2B 26b0ccccc7cb2015b2660a7b1fa77b9b107307d4a4d263a670b3b0fca6bb7624dc14666ffbb10d6d12a40d07595f3f53bf016a7add81487cee5ae6e3b421f49d SHA512 64b479d9e40f3322e1ffd4f3192f64885753261e1d4eea17b9ee412dba57c1187098283916c1b9452d57876006e508b3dea614b3bcb114f321015397d01de471 DIST pkg-config-0.3.33.crate 21590 BLAKE2B 576349a975cd4b9ff08c7f797f300cb2774425c72ed7baced19e0ba6231246f4479939c61bcc9efeb9174a2d6917bf009f02e93c26800c65e798b9e51ccf4d8b SHA512 af931d889e72f51e0ae41c880a1f5aa6215b93148cf7041378664e4ba013d0c83d654e560a73c9d7b301b5a008c221e48ac81b413d1123786e003c97f7fff63a DIST portable-atomic-1.13.1.crate 197001 BLAKE2B 6d0898c2a537a9bf204b7749cca5f5fddf280772b56eb7ce8fdd9cf7d71561137b26ef89f415c40277a1c89981333eef78e5bb4624515a294ba28fdaeb4c70ea SHA512 2a1b31ac9814af884640b3398ab824a9795c72d260527a0966b193113808cfbb3345d50cd1beaebb45863437c3d06c8706d34b26efecceefc649319a4bc274a3 +DIST portable-atomic-1.14.0.crate 200703 BLAKE2B 2aafdf454dd417cf7a3ff7ff72cca1bb1274918b8b15a0b1ebd4feadc4bafd87544938c26e001e1bb417aafa641521dba40a36ec50db59d03bbdc04d855635f0 SHA512 4c306fb2767b1689be65e57552260c2367f37808d0a32affafa21fddacd330c7735b0c3c8fe456fac10c4088ca5e8ede980b6d6da2171fadb682b925ff9a2c63 DIST proc-macro2-1.0.106.crate 59765 BLAKE2B 87f95795621c4c992c370dc3a1240a2d5580e3362356525efe640f8f26ad0492b3c88755d575c080ff7db11376b0d82f31141bf6f86c895249b85e46c081220f SHA512 b726e2c92af434bfa88cd4f53c3fe6db647503567675fb439890dee3d15f5111137e3242b28d164114ce081c10acf3fd11950753ddb349190c87ee04e7d97744 -DIST pyo3-0.28.3.crate 1204476 BLAKE2B 8540a1c51bac4fbe04ea34d5ce38471c13d5a3f0759e60cf21d67e846b00feb8316e70f32cb8dc6b74d09f0901ffc83d5f41b1a06da6d34790ef13e4cefcad45 SHA512 f955957eec4b95cc9337d331bba3bba52b4754b301cf86cd974601e64eb20c2424023b19be89a224661fe2e185de646cd3d0d00705b6b5cbd139856c9443a247 +DIST proc-macro2-1.0.107.crate 59588 BLAKE2B 91df0c573e3e1f09c1aeedcad0381cf18186d72c3d50b077b1d232fbb67d1c87ed09f3c6dc515140041c2dab5ce7706042c8235b93099df7d1c962d4a3a99160 SHA512 c109d5509624a57156e0eae22a3aec89a1a163623e8b4e376a13d872a46e4bf6855ee3cd4428c07cdf5c22f2284b6ce755f9cc7e075480e4587ce4f2d40fa903 DIST pyo3-0.29.0.crate 1241253 BLAKE2B 29deb7fa70010bf3d7e9e93bbcd87c0b56c4ee7ef0c2e5956181d2fb5f06f4c9b3f28bd1ad280126c26c048808b91b847e1fb69ddd617ef9e9e5e004cf4e48ae SHA512 e6822400de53ebcef4a14c899dc065abae621a126483873139f5eb850877c94f4bccee3a183d4e2a69eadcd3c3b82b0a6f3e1053d926b103be572329607f2f67 -DIST pyo3-build-config-0.28.3.crate 35961 BLAKE2B 61a0101913c6d563721049ca99256c2aefd89b017a7e18c82f4a6aceca0aefeaa71fd559cd43adfb5034ce076c904e5188f8f73961ea217287fbfd12caab9401 SHA512 78f85696901b16540d42187d10e888bd929b9f23415faeb73f9798abda1af3506a308145dd4113b070521271c72624d7930fb4b19bad25aa1afd3082030c9126 DIST pyo3-build-config-0.29.0.crate 39616 BLAKE2B 7b62a5976b890db84e5256f3136185c2a9c3b7110782b5b0cdc314a5231fde30a853ddcd17af63b53488b3e8d5e310b01002b6f3c32cfeb1e5c3e168cd6460d7 SHA512 df77e8d7d5fe173749437ff6b90fa1703083377d515ab8a85dc77d9cac9c3fc331ede4b040f7e3694311ddb5adff577cf90c181a27c196ab93a4569e918fdea8 -DIST pyo3-ffi-0.28.3.crate 80881 BLAKE2B 4ac7066c911e2aec18aa9245efed00585d063f81d69910e6a146f8efbf2939ab5de519bbf2a3dde78b40c264e97c62490db80e9b2e84aaf080d63659a6676459 SHA512 ec49b5cc67d19f46c9daea76b37b4988af0f63b9ed67c71190f015a0aa9691d4a8ffd4128413de430928428e1e8e26d44c3103f561e6b71b7e8c4597ab602d9f DIST pyo3-ffi-0.29.0.crate 88184 BLAKE2B 5891af92a3bcba764c4701dcc0a99edbced010a5ac46df3217d004f5c3a368f18331733c6723bd49e522c6f7105455df13e2be0f07695ed5ce6ae71c15dec438 SHA512 baaf01d13ddc09316ba16b22e9ca15a67e5bda5b861ed7961c3393fd4692fc1c96952f81465d1dcb6531b9083f96c5630981b3d7802cb1ac2af67aafaffbec76 -DIST pyo3-macros-0.28.3.crate 8963 BLAKE2B ca9967cfba565b873ed77565ff6eb8408473c227d191797e9db8c6b5cbc89abc17ffd57ae71e28877088fe19373da2f503cdefeae6b0a47796f6abcf62044f08 SHA512 57d178bd9b53dd98916e60c89bc26c34f9949829dc17bf7d6cc15b704bba7c874d85d6bd3c827d401268660a79230a6e32711048da939ec4e22342f3e08046d1 DIST pyo3-macros-0.29.0.crate 8915 BLAKE2B c12d23753d5aba7333183d4b41f16c8da1d4297a3ff86b3b150e9185c1978fc184ac198e566a41833292a8a78ab59446eafd5ef7169e5cb41493e7cbeaa68280 SHA512 fb6633ac76229d2e0ad88d51136a9318f03823b27c700a62cfbc957b4c834985e2f4c0cdaf5ea5e9993ec9e8ce3d63cd6b3fb823f2a042e65186adbed78da7c2 -DIST pyo3-macros-backend-0.28.3.crate 88063 BLAKE2B a484b12bbab3031838f61149ab9f08b9e460a2bd02089e08e58dac2cb747afbc0cdfe64018ed4c8cb0bbbd1d22e3eb05a6a72b020da6b71a584ec51ca8d24292 SHA512 45ce31ed64ee4fd0249736d480c9840a756bc45934d6803ae11e0680057ecf4cc74c71b47ccf9241fc3ab5c1e0b9c758426f08bd523d1ace92fc308302ea3c84 DIST pyo3-macros-backend-0.29.0.crate 91943 BLAKE2B 7c2977dd9c80f3dd1f5375b0c65492b46048ca02e6355ad746bc8430cf92eaf25c701f416469eb69724fde5220651b1095c09eb9e3ff860176f862d7c7287407 SHA512 13a7af3958c09969637827d97ab9bbc664c407dda9e4283afaf495757798cf6f84932468bc092160fa75211ce0aafe6efc657f3a390234d77a67362cfb31fe0f DIST quote-1.0.45.crate 31564 BLAKE2B 1b2c2c3e6ebabfe10affa4c43ca0bfd1f52d8fd49e1df463e13e63a82de41272089c8e09e4c02e8a33cfee768ace26d4d42a50752de8fb5a776c59806139ad5d SHA512 df96ede01ebd0ed642b758bf1d0862d0e116fc2b3343e14edb657ce5438ccabe743dec4a0a40de4dee98c134d169af9aba459faadf9c7a832b26377e755d49b0 +DIST quote-1.0.47.crate 31622 BLAKE2B d912f17bdb5f2db29f5349e976e12da52db9d2197dd9900cb00e907d1e9b06ab177e9b020c1d53f6a6cd087e3a973aed5af63eac282da77792b2a6d6e1b35b07 SHA512 544f4324d425ae011905e0d1b52e367d4660bc34457b2f802af94e1def1e6c4e39ffba3beeb40d75753967d15b6dccce18fea273e7f3d46b63d5c89898d19441 DIST self_cell-1.2.2.crate 23264 BLAKE2B dd4208f060b09e673178d0c66ba98670187d613fd903254d17e711ed2538c4ce6cdca7c0d65482a163ed2c91c8aa9b19d7f29df025b9964d69ba0fab3a6c7d6d SHA512 b47fb19bc623b5d670c21a2b1c32dd298934e295cc5b965b2b244ff4a076a7de4c652e4d820db32e68301b4124334ebd25837b55c610b75dc60bdd95a6ef9420 -DIST shlex-1.3.0.crate 18713 BLAKE2B 18800c364d3a628f1a3125097ea82fe6286550c2997235df0bf8483a3906aacabc81308cb239887d46ba2f457cc6f8acd5aca78316707eea5098cd5666aea67d SHA512 5c8cedbe666a14b8a0874defb9208146ce64579cde52ed483e4a794cac5dde6a24bf8d684404edff582f842e1fd4fa3fbeddbe074f191e4ec4aa517aa456fe8a +DIST self_cell-1.3.0.crate 23869 BLAKE2B ab5a81d1ceac0f7221390fc346376ea764839893baf4af0372b47cb8852b4fcd986fc04c1386068c4f796d6180f70f8def48d7bff4ef057202ded6e2d9adbbfb SHA512 b7a629dafc90702468a9b4d97bab7f222e6f7263b3755709fe8da3311ee50245c304006ee3f12401f0226807ab1f0a44d25759caf2b84a33757fc76f9867036d DIST shlex-2.0.1.crate 19332 BLAKE2B db2b6c5f7f30ad2f968d2dd386d39b362b8d19d7e17fffbb7407d6f35a4e165432b6607f3897c66cf8d32bf6e795ba7297080608c855b796fcf19842f4c509fa SHA512 d1bf35e2c5a93c718d3cc395fc4b06cc0c42d4891c0f37247de7e179492478020f0c57ae74c461d5bb1f833b071fd5c036d8d6d6ab8b61be6140cb64ae525921 DIST syn-2.0.117.crate 306011 BLAKE2B bbaec02c4322f522bdfc87caa4ce6fd1e09bbf8f4a102d9ed8728efacdd843a2750f616dce5b2d3a3e46bbb7d57439fbd10e328bc1d4a01e980986cd815798af SHA512 035c2e63542592b6a4058a2a82d4c2c1f5793f84fb1b04cbd393337a26fcf661a1f3bea439ce98a1fe943b1c4d36d2bda16df3bbc3fa6ca35e1548d530dc8416 +DIST syn-2.0.119.crate 307407 BLAKE2B 0be3bce1250db4818af7246a03352ab50faeca02b81126fd623bd473d7223693f43914e88e07baa0d7fa5473192e390406165f83e00dbff048c1ea373085eced SHA512 4f2493e334b71c2b0c467e19915d385942c10dc4c0142dd989dcfab9809dea552c45ac3da0b0039956a961f7aca2973c0845c6978e9dfe25c03fdc52dfb1dec0 DIST target-lexicon-0.13.5.crate 26928 BLAKE2B f8c62cb91f68a635e6ce3fc254df9ce378b5e8f62c1147404c967484b9ed97fb33d7993b4671611db76566063e999d658d201f856f70196ec678d72cc758cf6d SHA512 956df27c01e1186c5356117ffd07810fc0b62fb919d5bfd215955ba85be00ef675212a3c0dc36679986be7b825442fec5c93c7643b7e1e19c04572e6463546fc DIST unicode-ident-1.0.24.crate 49298 BLAKE2B 34ba2906a3ebc06f52a4ba77dff96a8f3fb977718d260886fa9e051c5830765641b65a63977110f3a79f31fa177b385f81b01d56c80f6a0324d36eae72e2ebf0 SHA512 7be712d8d0075ac9341790180e312f66264d3e0255c91b38df0951baa5e446dec24551bb2125a66a1cb9b6ca2f1ea37c0cc15fa3dd74f398ecf4d5302c7dc259 DIST vcpkg-0.2.15.crate 228735 BLAKE2B 6b6bacd9a7fa38919241f45a97f58cae957e58d3aac99df208a26aa718e4f1644f4ccefa31b09151e5c1952288e0e5837c363918b98c7f55079a948a952c1c50 SHA512 7322a21e8811b2fe4e79e09dc321458068ecdf1953f05d36233f3278ecc0b1dfc64194db7010dd46fcf692285f42475beb090c6c6cac0c8f9fe0eb5c770e3172 diff --git a/sdk_container/src/third_party/portage-stable/dev-python/cryptography/cryptography-47.0.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/cryptography/cryptography-47.0.0.ebuild deleted file mode 100644 index 1ac4beef5d6..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-python/cryptography/cryptography-47.0.0.ebuild +++ /dev/null @@ -1,139 +0,0 @@ -# Copyright 1999-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DISTUTILS_EXT=1 -DISTUTILS_USE_PEP517=maturin -PYPI_VERIFY_REPO=https://github.com/pyca/cryptography -PYTHON_COMPAT=( python3_{11..14} pypy3_11 ) -PYTHON_REQ_USE="threads(+)" - -CARGO_OPTIONAL=yes -RUST_MIN_VER="1.83.0" -CRATES=" - asn1@0.24.1 - asn1_derive@0.24.1 - base64@0.22.1 - bitflags@2.11.1 - cc@1.2.60 - cfg-if@1.0.4 - find-msvc-tools@0.1.9 - foreign-types-shared@0.1.1 - foreign-types@0.3.2 - heck@0.5.0 - itoa@1.0.18 - libc@0.2.186 - once_cell@1.21.4 - openssl-macros@0.1.1 - openssl-sys@0.9.114 - openssl@0.10.78 - pem@3.0.6 - pkg-config@0.3.33 - portable-atomic@1.13.1 - proc-macro2@1.0.106 - pyo3-build-config@0.28.3 - pyo3-ffi@0.28.3 - pyo3-macros-backend@0.28.3 - pyo3-macros@0.28.3 - pyo3@0.28.3 - quote@1.0.45 - self_cell@1.2.2 - shlex@1.3.0 - syn@2.0.117 - target-lexicon@0.13.5 - unicode-ident@1.0.24 - vcpkg@0.2.15 -" - -inherit cargo distutils-r1 flag-o-matic pypi - -VEC_P=cryptography_vectors-$(ver_cut 1-3) -DESCRIPTION="Library providing cryptographic recipes and primitives" -HOMEPAGE=" - https://github.com/pyca/cryptography/ - https://pypi.org/project/cryptography/ -" -SRC_URI+=" - ${CARGO_CRATE_URIS} - test? ( - $(pypi_sdist_url cryptography_vectors "$(ver_cut 1-3)") - $(pypi_provenance_url "${VEC_P}.tar.gz" cryptography_vectors "$(ver_cut 1-3)") - -> ${VEC_P}.tar.gz.provenance - ) -" - -LICENSE="|| ( Apache-2.0 BSD ) PSF-2" -# Dependent crate licenses -LICENSE+=" - Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD MIT Unicode-3.0 -" -SLOT="0" -KEYWORDS="amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" - -RDEPEND=" - >=dev-libs/openssl-1.0.2o-r6:0= - $(python_gen_cond_dep ' - >=dev-python/cffi-2.0.0:=[${PYTHON_USEDEP}] - ' 'python*') -" -DEPEND=" - ${RDEPEND} -" - -BDEPEND=" - ${RUST_DEPEND} - >=dev-util/maturin-1.9.4[${PYTHON_USEDEP}] - dev-python/setuptools[${PYTHON_USEDEP}] - test? ( - dev-python/certifi[${PYTHON_USEDEP}] - dev-python/iso8601[${PYTHON_USEDEP}] - dev-python/pretend[${PYTHON_USEDEP}] - dev-python/pyasn1-modules[${PYTHON_USEDEP}] - dev-python/pytz[${PYTHON_USEDEP}] - ) -" - -# Files built without CFLAGS/LDFLAGS, acceptable for rust -QA_FLAGS_IGNORED="usr/lib.*/py.*/site-packages/cryptography/hazmat/bindings/_rust.*.so" - -EPYTEST_PLUGINS=( hypothesis pytest-subtests ) -EPYTEST_XDIST=1 -distutils_enable_tests pytest - -src_unpack() { - if use verify-provenance; then - pypi_verify_provenance "${DISTDIR}/${P}.tar.gz"{,.provenance} - use test && pypi_verify_provenance "${DISTDIR}/${VEC_P}.tar.gz"{,.provenance} - fi - - cargo_src_unpack -} - -src_prepare() { - distutils-r1_src_prepare - - sed -i -e 's:--benchmark-disable::' pyproject.toml || die - - # work around availability macros not supported in GCC (yet) - if [[ ${CHOST} == *-darwin* ]] ; then - local darwinok=0 - if [[ ${CHOST##*-darwin} -ge 16 ]] ; then - darwinok=1 - fi - sed -i -e 's/__builtin_available(macOS 10\.12, \*)/'"${darwinok}"'/' \ - src/_cffi_src/openssl/src/osrandom_engine.c || die - fi -} - -python_configure_all() { - filter-lto # bug #903908 -} - -python_test() { - local -x PYTHONPATH="${PYTHONPATH}:${WORKDIR}/${VEC_P}" - local EPYTEST_IGNORE=( - tests/bench - ) - epytest -} diff --git a/sdk_container/src/third_party/portage-stable/dev-python/cryptography/cryptography-48.0.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/cryptography/cryptography-48.0.0.ebuild deleted file mode 100644 index 72c3cd63108..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-python/cryptography/cryptography-48.0.0.ebuild +++ /dev/null @@ -1,144 +0,0 @@ -# Copyright 1999-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DISTUTILS_EXT=1 -DISTUTILS_USE_PEP517=maturin -PYPI_VERIFY_REPO=https://github.com/pyca/cryptography -PYTHON_COMPAT=( python3_{12..15} ) -PYTHON_REQ_USE="threads(+)" - -CARGO_OPTIONAL=yes -RUST_MIN_VER="1.83.0" -CRATES=" - asn1@0.24.1 - asn1_derive@0.24.1 - base64@0.22.1 - bitflags@2.11.1 - cc@1.2.61 - cfg-if@1.0.4 - find-msvc-tools@0.1.9 - foreign-types-shared@0.1.1 - foreign-types@0.3.2 - heck@0.5.0 - itoa@1.0.18 - libc@0.2.186 - once_cell@1.21.4 - openssl-macros@0.1.1 - openssl-sys@0.9.115 - openssl@0.10.79 - pem@3.0.6 - pkg-config@0.3.33 - portable-atomic@1.13.1 - proc-macro2@1.0.106 - pyo3-build-config@0.28.3 - pyo3-ffi@0.28.3 - pyo3-macros-backend@0.28.3 - pyo3-macros@0.28.3 - pyo3@0.28.3 - quote@1.0.45 - self_cell@1.2.2 - shlex@1.3.0 - syn@2.0.117 - target-lexicon@0.13.5 - unicode-ident@1.0.24 - vcpkg@0.2.15 -" - -inherit cargo distutils-r1 flag-o-matic pypi - -VEC_P=cryptography_vectors-$(ver_cut 1-3) -DESCRIPTION="Library providing cryptographic recipes and primitives" -HOMEPAGE=" - https://github.com/pyca/cryptography/ - https://pypi.org/project/cryptography/ -" -SRC_URI+=" - ${CARGO_CRATE_URIS} - test? ( - $(pypi_sdist_url cryptography_vectors "$(ver_cut 1-3)") - $(pypi_provenance_url "${VEC_P}.tar.gz" cryptography_vectors "$(ver_cut 1-3)") - -> ${VEC_P}.tar.gz.provenance - ) -" - -LICENSE="|| ( Apache-2.0 BSD ) PSF-2" -# Dependent crate licenses -LICENSE+=" - Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD MIT Unicode-3.0 -" -SLOT="0" -KEYWORDS="amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" - -RDEPEND=" - >=dev-libs/openssl-1.0.2o-r6:0= - $(python_gen_cond_dep ' - >=dev-python/cffi-2.0.0:=[${PYTHON_USEDEP}] - ' 'python*') -" -DEPEND=" - ${RDEPEND} -" - -BDEPEND=" - ${RUST_DEPEND} - >=dev-util/maturin-1.9.4[${PYTHON_USEDEP}] - dev-python/setuptools[${PYTHON_USEDEP}] - test? ( - dev-python/certifi[${PYTHON_USEDEP}] - dev-python/iso8601[${PYTHON_USEDEP}] - dev-python/pretend[${PYTHON_USEDEP}] - dev-python/pyasn1-modules[${PYTHON_USEDEP}] - dev-python/pytz[${PYTHON_USEDEP}] - ) -" - -# Files built without CFLAGS/LDFLAGS, acceptable for rust -QA_FLAGS_IGNORED="usr/lib.*/py.*/site-packages/cryptography/hazmat/bindings/_rust.*.so" - -EPYTEST_PLUGINS=( hypothesis ) -EPYTEST_XDIST=1 -distutils_enable_tests pytest - -src_unpack() { - if use verify-provenance; then - pypi_verify_provenance "${DISTDIR}/${P}.tar.gz"{,.provenance} - use test && pypi_verify_provenance "${DISTDIR}/${VEC_P}.tar.gz"{,.provenance} - fi - - cargo_src_unpack -} - -src_prepare() { - distutils-r1_src_prepare - - sed -i -e 's:--benchmark-disable::' pyproject.toml || die - - # work around availability macros not supported in GCC (yet) - if [[ ${CHOST} == *-darwin* ]] ; then - local darwinok=0 - if [[ ${CHOST##*-darwin} -ge 16 ]] ; then - darwinok=1 - fi - sed -i -e 's/__builtin_available(macOS 10\.12, \*)/'"${darwinok}"'/' \ - src/_cffi_src/openssl/src/osrandom_engine.c || die - fi -} - -python_configure_all() { - filter-lto # bug #903908 -} - -python_test() { - local -x PYTHONPATH="${PYTHONPATH}:${WORKDIR}/${VEC_P}" - local EPYTEST_IGNORE=( - tests/bench - ) - local EPYTEST_DESELECT=( - # OOMs depending on overcommit setting and available memory - tests/hazmat/primitives/test_argon2.py::TestArgon2::test_argon2_malloc_failure - ) - - epytest -} diff --git a/sdk_container/src/third_party/portage-stable/dev-python/cryptography/cryptography-49.0.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/cryptography/cryptography-49.0.0.ebuild index 9730fc50783..5eb240b0807 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/cryptography/cryptography-49.0.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-python/cryptography/cryptography-49.0.0.ebuild @@ -6,7 +6,7 @@ EAPI=8 DISTUTILS_EXT=1 DISTUTILS_USE_PEP517=maturin PYPI_VERIFY_REPO=https://github.com/pyca/cryptography -PYTHON_COMPAT=( python3_{12..15} ) +PYTHON_COMPAT=( python3_{12..15} python3_{14,15}t ) PYTHON_REQ_USE="threads(+)" CARGO_OPTIONAL=yes @@ -69,13 +69,11 @@ LICENSE+=" Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD MIT Unicode-3.0 " SLOT="0" -KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +KEYWORDS="amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" RDEPEND=" >=dev-libs/openssl-1.0.2o-r6:0= - $(python_gen_cond_dep ' - >=dev-python/cffi-2.0.0:=[${PYTHON_USEDEP}] - ' 'python*') + >=dev-python/cffi-2.0.0:=[${PYTHON_USEDEP}] " DEPEND=" ${RDEPEND} diff --git a/sdk_container/src/third_party/portage-stable/dev-python/cryptography/cryptography-48.0.1.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/cryptography/cryptography-50.0.0.ebuild similarity index 86% rename from sdk_container/src/third_party/portage-stable/dev-python/cryptography/cryptography-48.0.1.ebuild rename to sdk_container/src/third_party/portage-stable/dev-python/cryptography/cryptography-50.0.0.ebuild index ec356340bd4..d4f04bb7e4d 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/cryptography/cryptography-48.0.1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-python/cryptography/cryptography-50.0.0.ebuild @@ -6,7 +6,7 @@ EAPI=8 DISTUTILS_EXT=1 DISTUTILS_USE_PEP517=maturin PYPI_VERIFY_REPO=https://github.com/pyca/cryptography -PYTHON_COMPAT=( python3_{12..15} ) +PYTHON_COMPAT=( python3_{12..15} python3_{14,15}t ) PYTHON_REQ_USE="threads(+)" CARGO_OPTIONAL=yes @@ -14,33 +14,33 @@ RUST_MIN_VER="1.83.0" CRATES=" asn1@0.24.1 asn1_derive@0.24.1 - base64@0.22.1 - bitflags@2.11.1 - cc@1.2.61 + base64@0.23.0 + bitflags@2.13.1 + cc@1.4.0 cfg-if@1.0.4 find-msvc-tools@0.1.9 foreign-types-shared@0.1.1 foreign-types@0.3.2 heck@0.5.0 itoa@1.0.18 - libc@0.2.186 + libc@0.2.189 once_cell@1.21.4 openssl-macros@0.1.1 - openssl-sys@0.9.115 - openssl@0.10.79 - pem@3.0.6 + openssl-sys@0.9.117 + openssl@0.10.81 + pem@4.0.0 pkg-config@0.3.33 - portable-atomic@1.13.1 - proc-macro2@1.0.106 - pyo3-build-config@0.28.3 - pyo3-ffi@0.28.3 - pyo3-macros-backend@0.28.3 - pyo3-macros@0.28.3 - pyo3@0.28.3 - quote@1.0.45 - self_cell@1.2.2 - shlex@1.3.0 - syn@2.0.117 + portable-atomic@1.14.0 + proc-macro2@1.0.107 + pyo3-build-config@0.29.0 + pyo3-ffi@0.29.0 + pyo3-macros-backend@0.29.0 + pyo3-macros@0.29.0 + pyo3@0.29.0 + quote@1.0.47 + self_cell@1.3.0 + shlex@2.0.1 + syn@2.0.119 target-lexicon@0.13.5 unicode-ident@1.0.24 vcpkg@0.2.15 @@ -73,9 +73,7 @@ KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" RDEPEND=" >=dev-libs/openssl-1.0.2o-r6:0= - $(python_gen_cond_dep ' - >=dev-python/cffi-2.0.0:=[${PYTHON_USEDEP}] - ' 'python*') + >=dev-python/cffi-2.0.0:=[${PYTHON_USEDEP}] " DEPEND=" ${RDEPEND} From f0bf3192cb355d57e841edf0fa7f106784e1edef Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 3 Aug 2026 08:14:17 +0000 Subject: [PATCH 057/195] dev-python/cython: Sync with Gentoo It's from Gentoo commit 7c32db397d4d811acd25817aeaf4523417ff7a4b. Signed-off-by: Flatcar Buildbot --- .../portage-stable/dev-python/cython/Manifest | 2 +- .../dev-python/cython/cython-3.2.5-r1.ebuild | 2 +- .../dev-python/cython/cython-3.2.6.ebuild | 2 +- .../dev-python/cython/cython-3.2.8.ebuild | 2 +- ...ython-3.2.4.ebuild => cython-3.2.9.ebuild} | 27 +++++++------------ 5 files changed, 14 insertions(+), 21 deletions(-) rename sdk_container/src/third_party/portage-stable/dev-python/cython/{cython-3.2.4.ebuild => cython-3.2.9.ebuild} (81%) diff --git a/sdk_container/src/third_party/portage-stable/dev-python/cython/Manifest b/sdk_container/src/third_party/portage-stable/dev-python/cython/Manifest index 4831e91d42d..1f3937ed084 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/cython/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-python/cython/Manifest @@ -1,4 +1,4 @@ -DIST cython-3.2.4.tar.gz 3280291 BLAKE2B f6f4baf07426ba46757a7b12ec05dd6781088e30d402d39dbe7e7e43b711ec11b9ecefd8bdca8e4c6a2920bc1c670e348328dc53ea074879b5e4e87159905d65 SHA512 bea1b21227632aa6d01239779e584e06d462ef76ae284abb36c0a70074260bd4909ee69d94db4e8c8fc9416d6949c3b53411844531a86cdbca75881b97f5d84b DIST cython-3.2.5.tar.gz 3286381 BLAKE2B c3627213a2e62838b3aae120e0ab9cc33bb8f95a6c4ec9e10c6dc3e3ed00626b93bf3df3265ca601c4379c50598bec14b72de9bee9f8e8c96d125a175775086f SHA512 d11feb71bf2dbbbdffcac3e71e28eaa4d2583431f24e1722df4c0ab3fc33afc763ba4468e3bc7b8620b6d486357b8aa85dee248a195570329648c6b84312657a DIST cython-3.2.6.tar.gz 3286970 BLAKE2B 6f18f448b3bec5a73f7bb29ef10bf546f887e477e1269431b3b0b73d8c7a160dece08d9ae947f6fbbb94c14cc1c652ca10b2487d55ee7716983e45c6eb0a62be SHA512 85940b6313ceb83c06f2ddb67bfc5dfd7dc7957503cea2b68362eb71a0e594976bf86032b24a4db713c991bb7eae7cd31f6bb90b58449b0b36cff2423f954931 DIST cython-3.2.8.tar.gz 3290300 BLAKE2B a24c99d93414dcddc3912119253d454b0e60ab98d5e547aa53bedd0910f6b685fa6580e46c8e5dba6ef6882ad07e4a34a4bfc7b713c886308fd82a104b70dd00 SHA512 19807bc7a956325c642206debdd32c8c234aaeb79bb9b9b79adfdea51a65150203e32b3ac2a952371e57600ba06656c2734b2f401f2c986813bc73227069a853 +DIST cython-3.2.9.tar.gz 3293493 BLAKE2B 5798cac7a60c3642856ab5595f0a7547080bcc071ed457df25b4f4f15656406108cdc7a8b24a4e70ab546ad7295ade9563dab359a213b0b4988bb762f3e99d6d SHA512 5592d4eca3c522628082a695c514627e12b933cb761be77c97da9dda0dafdc44b16ea6ceb18a773ac32173c96e6150d06fa1d61b99d8f85d0fdc367e105b6bb1 diff --git a/sdk_container/src/third_party/portage-stable/dev-python/cython/cython-3.2.5-r1.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/cython/cython-3.2.5-r1.ebuild index cda99e34b17..11813f10a08 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/cython/cython-3.2.5-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-python/cython/cython-3.2.5-r1.ebuild @@ -21,7 +21,7 @@ HOMEPAGE=" LICENSE="Apache-2.0" SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" IUSE="test test-full" RESTRICT="!test? ( test )" diff --git a/sdk_container/src/third_party/portage-stable/dev-python/cython/cython-3.2.6.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/cython/cython-3.2.6.ebuild index d85864bb896..327e89bc485 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/cython/cython-3.2.6.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-python/cython/cython-3.2.6.ebuild @@ -21,7 +21,7 @@ HOMEPAGE=" LICENSE="Apache-2.0" SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" IUSE="test test-full" RESTRICT="!test? ( test )" diff --git a/sdk_container/src/third_party/portage-stable/dev-python/cython/cython-3.2.8.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/cython/cython-3.2.8.ebuild index 61ec8f655d6..8cc265e8f45 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/cython/cython-3.2.8.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-python/cython/cython-3.2.8.ebuild @@ -21,7 +21,7 @@ HOMEPAGE=" LICENSE="Apache-2.0" SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" IUSE="test test-full" RESTRICT="!test? ( test )" diff --git a/sdk_container/src/third_party/portage-stable/dev-python/cython/cython-3.2.4.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/cython/cython-3.2.9.ebuild similarity index 81% rename from sdk_container/src/third_party/portage-stable/dev-python/cython/cython-3.2.4.ebuild rename to sdk_container/src/third_party/portage-stable/dev-python/cython/cython-3.2.9.ebuild index f38944e445c..61ec8f655d6 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/cython/cython-3.2.4.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-python/cython/cython-3.2.9.ebuild @@ -5,12 +5,12 @@ EAPI=8 DISTUTILS_EXT=1 DISTUTILS_USE_PEP517=setuptools -PYTHON_FULLY_TESTED=( python3_{11..14} ) -PYTHON_TESTED=( "${PYTHON_FULLY_TESTED[@]}" pypy3_11 ) -PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" python3_15 python3_{13..15}t ) +PYTHON_FULLY_TESTED=( python3_{12..14} ) +PYTHON_TESTED=( "${PYTHON_FULLY_TESTED[@]}" ) +PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" python3_15 python3_{14..15}t ) PYTHON_REQ_USE="threads(+)" -inherit distutils-r1 multiprocessing pypi toolchain-funcs +inherit distutils-r1 flag-o-matic multiprocessing pypi toolchain-funcs DESCRIPTION="A Python to C compiler" HOMEPAGE=" @@ -21,7 +21,7 @@ HOMEPAGE=" LICENSE="Apache-2.0" SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris" IUSE="test test-full" RESTRICT="!test? ( test )" @@ -47,6 +47,11 @@ PATCHES=( # dev-python/sphinx-issues \ # dev-python/sphinx-tabs +python_configure_all() { + # https://gcc.gnu.org/PR125730 (bug #976797) + tc-is-gcc && [[ $(gcc-major-version) -ge 16 ]] && append-cflags -fno-ivopts +} + python_compile() { # Python gets confused when it is in sys.path before build. local -x PYTHONPATH= @@ -104,18 +109,6 @@ python_test() { --exclude 'build.depfile*' ) - if [[ ${EPYTHON} == pypy3* ]] ; then - testargs+=( - # Recursion issue - --exclude 'run.if_else_expr' - --exclude 'run.test_patma*' - # Slight output difference (missing '<') - --exclude 'run.cpp_exception_ptr_just_handler' - # No freethreading here - --exclude 'run.freethreaded_list_indexing_stress_test' - ) - fi - # Keep test-full for numpy as it's large and doesn't pass tests itself # on niche arches. if ! use test-full || ! has "${EPYTHON/./_}" "${PYTHON_FULLY_TESTED[@]}"; then From adf189a85509fb032860d51845a756a8e8fb386c Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 3 Aug 2026 08:14:18 +0000 Subject: [PATCH 058/195] dev-python/dependency-groups: Sync with Gentoo It's from Gentoo commit f36f7266303dbaa554c8efc5b6724d03d73152f3. Signed-off-by: Flatcar Buildbot --- .../dev-python/dependency-groups/dependency-groups-1.3.1.ebuild | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sdk_container/src/third_party/portage-stable/dev-python/dependency-groups/dependency-groups-1.3.1.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/dependency-groups/dependency-groups-1.3.1.ebuild index 2c81784e394..c2d21e2df37 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/dependency-groups/dependency-groups-1.3.1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-python/dependency-groups/dependency-groups-1.3.1.ebuild @@ -5,7 +5,7 @@ EAPI=8 DISTUTILS_USE_PEP517=flit PYPI_VERIFY_REPO=https://github.com/pypa/dependency-groups -PYTHON_COMPAT=( python3_{12..15} ) +PYTHON_COMPAT=( python3_{12..15} python3_{14,15}t ) inherit distutils-r1 pypi From d0c514d8b2443d0d5118e96f0f2caf0344ddccbb Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 3 Aug 2026 08:14:18 +0000 Subject: [PATCH 059/195] dev-python/distlib: Sync with Gentoo It's from Gentoo commit d5df9a2d4f95cb5357fe5585dbb4683e0ee82433. Signed-off-by: Flatcar Buildbot --- .../dev-python/distlib/Manifest | 1 - .../dev-python/distlib/distlib-0.4.1.ebuild | 58 ------------------- .../dev-python/distlib/distlib-0.4.3.ebuild | 2 +- .../distlib/files/distlib-0.4.0-py315.patch | 51 ---------------- 4 files changed, 1 insertion(+), 111 deletions(-) delete mode 100644 sdk_container/src/third_party/portage-stable/dev-python/distlib/distlib-0.4.1.ebuild delete mode 100644 sdk_container/src/third_party/portage-stable/dev-python/distlib/files/distlib-0.4.0-py315.patch diff --git a/sdk_container/src/third_party/portage-stable/dev-python/distlib/Manifest b/sdk_container/src/third_party/portage-stable/dev-python/distlib/Manifest index 5ba934cd971..5db7a81c31a 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/distlib/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-python/distlib/Manifest @@ -1,2 +1 @@ -DIST distlib-0.4.1.gh.tar.gz 1246126 BLAKE2B 3399dce7e1c064964edbe0eecb7f96974ce65d97dcf7645547584396008e6036885725a32b323f76c767762607fd9e58feac4b4d10ac28095fcfa0546302e61b SHA512 a8d99a1b6f32fb0ca3a705db109d12ddb46aa344b153b0a8c56c857f4c1fed681cfb4f34c594ade0bbbd5097e389c2b164b2347a30b9d114d62a5e23d8733714 DIST distlib-0.4.3.tar.gz 615141 BLAKE2B ef9c33d960b719ad6c8d66eaba6469915e19e9a89882b9a2a85244c041f40ca92222134ef9a5d1d00810eece628d07b65b0ffb09600fbcfb03f4f6b0c278bfa4 SHA512 0f6b44640cbfa9bccef10c6cdeedaec8582a2bd5878fcbc803a6feedb81daee5f28506004e23749f3eba206199cadae99808dbcd956066ba948cde455301fd74 diff --git a/sdk_container/src/third_party/portage-stable/dev-python/distlib/distlib-0.4.1.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/distlib/distlib-0.4.1.ebuild deleted file mode 100644 index ee16dc84183..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-python/distlib/distlib-0.4.1.ebuild +++ /dev/null @@ -1,58 +0,0 @@ -# Copyright 2021-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DISTUTILS_USE_PEP517=setuptools -PYTHON_COMPAT=( python3_{12..15} python3_{14..15}t ) - -inherit distutils-r1 - -DESCRIPTION="Low-level components of distutils2/packaging" -HOMEPAGE=" - https://pypi.org/project/distlib/ - https://github.com/pypa/distlib/ -" -SRC_URI=" - https://github.com/pypa/distlib/archive/${PV}.tar.gz -> ${P}.gh.tar.gz -" - -LICENSE="PSF-2" -SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~x64-macos" -IUSE="test" -RESTRICT="!test? ( test )" - -# pypiserver is called as external executable -BDEPEND=" - test? ( - dev-python/pypiserver - ) -" - -src_prepare() { - local PATCHES=( - # use system pypiserver instead of bundled one - "${FILESDIR}/distlib-0.3.9-system-pypiserver.patch" - # https://github.com/pypa/distlib/pull/256 - "${FILESDIR}/${PN}-0.4.0-py315.patch" - ) - - # make sure it's not used - rm tests/pypi-server-standalone.py || die - - distutils-r1_src_prepare -} - -python_test() { - local -x SKIP_ONLINE=1 - local -x PYTHONHASHSEED=0 - - # disable system-site-packages -- distlib has no deps, and is very - # fragile to packages actually installed on the system - sed -i -e '/system-site-packages/s:true:false:' \ - "${BUILD_DIR}/install${EPREFIX}/usr/pyvenv.cfg" || die - - "${EPYTHON}" tests/test_all.py -v -x || - die "Tests failed with ${EPYTHON}" -} diff --git a/sdk_container/src/third_party/portage-stable/dev-python/distlib/distlib-0.4.3.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/distlib/distlib-0.4.3.ebuild index a3bad84b798..46947f73d06 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/distlib/distlib-0.4.3.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-python/distlib/distlib-0.4.3.ebuild @@ -16,7 +16,7 @@ HOMEPAGE=" LICENSE="PSF-2" SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~x64-macos" IUSE="test" RESTRICT="!test? ( test )" diff --git a/sdk_container/src/third_party/portage-stable/dev-python/distlib/files/distlib-0.4.0-py315.patch b/sdk_container/src/third_party/portage-stable/dev-python/distlib/files/distlib-0.4.0-py315.patch deleted file mode 100644 index 4a27f020370..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-python/distlib/files/distlib-0.4.0-py315.patch +++ /dev/null @@ -1,51 +0,0 @@ -From 53a497ae37b3220662ac177e9477e9551e4e37b0 Mon Sep 17 00:00:00 2001 -From: Victor Stinner -Date: Wed, 14 Jan 2026 14:32:40 +0100 -Subject: [PATCH] Update cache_from_source() for Python 3.15 - -The debug_override parameter of cache_from_source() is deprecated in -Python 3.14. The function docstring says: - - The debug_override parameter is deprecated. If debug_override - is not None, a True value is the same as setting 'optimization' - to the empty string while a False value is equivalent to setting - 'optimization' to '1'. - -The parameter has been removed in Python 3.15. - -Fixes #255 ---- - distlib/util.py | 6 +++++- - tests/test_util.py | 2 +- - 2 files changed, 6 insertions(+), 2 deletions(-) - -diff --git a/distlib/util.py b/distlib/util.py -index 0d5bd7a..b700384 100644 ---- a/distlib/util.py -+++ b/distlib/util.py -@@ -589,7 +589,11 @@ def ensure_dir(self, path): - self.dirs_created.add(path) - - def byte_compile(self, path, optimize=False, force=False, prefix=None, hashed_invalidation=False): -- dpath = cache_from_source(path, not optimize) -+ if not optimize: -+ optimization = '' -+ else: -+ optimization = '1' -+ dpath = cache_from_source(path, optimization=optimization) - logger.info('Byte-compiling %s to %s', path, dpath) - if not self.dry_run: - if force or self.newer(path, dpath): -diff --git a/tests/test_util.py b/tests/test_util.py -index d8694a9..d4bb572 100644 ---- a/tests/test_util.py -+++ b/tests/test_util.py -@@ -652,7 +652,7 @@ def test_is_writable(self): - - def test_byte_compile(self): - path = os.path.join(self.workdir, 'hello.py') -- dpath = cache_from_source(path, True) -+ dpath = cache_from_source(path, optimization='') - self.fileop.write_text_file(path, 'print("Hello, world!")', 'utf-8') - self.fileop.byte_compile(path, optimize=False) - self.assertTrue(os.path.exists(dpath)) From fbeb746a84e48cb6c4f5936895f43c1964cf0d36 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 3 Aug 2026 08:14:18 +0000 Subject: [PATCH 060/195] dev-python/distro: Sync with Gentoo It's from Gentoo commit 9ec48563a0a57381f9cd635a2095c940fdc1c2fd. Signed-off-by: Flatcar Buildbot --- .../portage-stable/dev-python/distro/distro-1.9.0.ebuild | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sdk_container/src/third_party/portage-stable/dev-python/distro/distro-1.9.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/distro/distro-1.9.0.ebuild index 6e382c6eb45..7e4d2782c25 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/distro/distro-1.9.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-python/distro/distro-1.9.0.ebuild @@ -4,7 +4,7 @@ EAPI=8 DISTUTILS_USE_PEP517=setuptools -PYTHON_COMPAT=( python3_{12..15} ) +PYTHON_COMPAT=( python3_{12..15} python3_{14,15}t ) inherit distutils-r1 pypi From dc6ff1044e4f97d103e715c03d1f2232d1d5383f Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 3 Aug 2026 08:14:19 +0000 Subject: [PATCH 061/195] dev-python/ensurepip-pip: Sync with Gentoo It's from Gentoo commit 775db52d37cfb1086e9c235e288fa98871757a38. Signed-off-by: Flatcar Buildbot --- .../ensurepip-pip/ensurepip-pip-26.1.2.ebuild | 18 +----------------- 1 file changed, 1 insertion(+), 17 deletions(-) diff --git a/sdk_container/src/third_party/portage-stable/dev-python/ensurepip-pip/ensurepip-pip-26.1.2.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/ensurepip-pip/ensurepip-pip-26.1.2.ebuild index 66d10c7f33e..1c0f76af8db 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/ensurepip-pip/ensurepip-pip-26.1.2.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-python/ensurepip-pip/ensurepip-pip-26.1.2.ebuild @@ -5,7 +5,7 @@ EAPI=8 DISTUTILS_USE_PEP517=flit-core # PYTHON_COMPAT is used only for testing -PYTHON_COMPAT=( python3_{12..15} ) +PYTHON_COMPAT=( python3_{12..15} python3_{14,15}t ) PYTHON_REQ_USE="ssl(+),threads(+)" inherit distutils-r1 pypi @@ -154,22 +154,6 @@ python_test() { tests/functional/test_proxy.py ) - case ${EPYTHON} in - pypy3*) - EPYTEST_DESELECT+=( - # unexpected tempfiles? - tests/functional/test_install_config.py::test_do_not_prompt_for_authentication - tests/functional/test_install_config.py::test_prompt_for_authentication - # wrong path - tests/functional/test_install.py::test_install_editable_with_prefix_setup_py - # wrong exception assumptions - tests/unit/test_utils_datetime.py::test_parse_iso_datetime_invalid - # TODO - tests/functional/test_install.py::test_install_warns_on_unexpected_post_install_import - ) - ;; - esac - if ! has_version "dev-python/cryptography[${PYTHON_USEDEP}]"; then EPYTEST_DESELECT+=( tests/functional/test_install.py::test_install_sends_client_cert From 38054edd83bb6b66cbd99c421690354f4f399b89 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 3 Aug 2026 08:14:20 +0000 Subject: [PATCH 062/195] dev-python/ensurepip-setuptools: Sync with Gentoo It's from Gentoo commit c15d85a4a2464ee4b2ca39d5fe0a688ca0ad45b0. Signed-off-by: Flatcar Buildbot --- .../ensurepip-setuptools/ensurepip-setuptools-83.0.0.ebuild | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sdk_container/src/third_party/portage-stable/dev-python/ensurepip-setuptools/ensurepip-setuptools-83.0.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/ensurepip-setuptools/ensurepip-setuptools-83.0.0.ebuild index 83ed93e9eb7..1aeda58ff24 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/ensurepip-setuptools/ensurepip-setuptools-83.0.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-python/ensurepip-setuptools/ensurepip-setuptools-83.0.0.ebuild @@ -6,7 +6,7 @@ EAPI=8 DISTUTILS_USE_PEP517=standalone PYPI_PN=${PN#ensurepip-} # PYTHON_COMPAT used only for testing -PYTHON_COMPAT=( python3_{12..14} ) +PYTHON_COMPAT=( python3_{12..15} ) PYTHON_REQ_USE="xml(+)" inherit distutils-r1 pypi From 674b257bf847ff3f2a4517a66dc11c992d112d1f Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 3 Aug 2026 08:14:20 +0000 Subject: [PATCH 063/195] dev-python/fasteners: Sync with Gentoo It's from Gentoo commit 42e6b1cd3664ab93800b6d27511a7d63ae9cfe54. Signed-off-by: Flatcar Buildbot --- .../portage-stable/dev-python/fasteners/fasteners-0.20.ebuild | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sdk_container/src/third_party/portage-stable/dev-python/fasteners/fasteners-0.20.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/fasteners/fasteners-0.20.ebuild index 8dad92c454e..cba2af91261 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/fasteners/fasteners-0.20.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-python/fasteners/fasteners-0.20.ebuild @@ -1,10 +1,10 @@ -# Copyright 1999-2025 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 DISTUTILS_USE_PEP517=setuptools -PYTHON_COMPAT=( python3_{12..14} ) +PYTHON_COMPAT=( python3_{12..15} ) inherit distutils-r1 From 85f626ca04ccc15a663bb93d8aca74fe690e2e13 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 3 Aug 2026 08:14:20 +0000 Subject: [PATCH 064/195] dev-python/fastjsonschema: Sync with Gentoo It's from Gentoo commit 29709c20045f565ae0b43c8606f5c64f598b7497. Signed-off-by: Flatcar Buildbot --- .../dev-python/fastjsonschema/Manifest | 2 ++ .../fastjsonschema-2.21.2.ebuild | 2 +- .../fastjsonschema-2.22.0.ebuild | 27 +++++++++++++++++++ .../fastjsonschema-2.22.1.ebuild | 27 +++++++++++++++++++ 4 files changed, 57 insertions(+), 1 deletion(-) create mode 100644 sdk_container/src/third_party/portage-stable/dev-python/fastjsonschema/fastjsonschema-2.22.0.ebuild create mode 100644 sdk_container/src/third_party/portage-stable/dev-python/fastjsonschema/fastjsonschema-2.22.1.ebuild diff --git a/sdk_container/src/third_party/portage-stable/dev-python/fastjsonschema/Manifest b/sdk_container/src/third_party/portage-stable/dev-python/fastjsonschema/Manifest index cafb7ef983a..06700577792 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/fastjsonschema/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-python/fastjsonschema/Manifest @@ -1 +1,3 @@ DIST fastjsonschema-2.21.2.tar.gz 374130 BLAKE2B 198cca481d765b43b21101020718b59e3ccba2728a0a2a0ce56c7b73ce1ff6102c2e3916c9fd4c8fe8f2f3e931d87fd7ffc76e6d7983c5a2d87eca2cfa5aa721 SHA512 9e16f533065267ba48eeda70e8a41fdc10b1b99832a3ddaa0d48d01a783e4555d2fb790201ca3f47b959d3e1f06f68b9f83672f90cc1969355d28f0f24cb9837 +DIST fastjsonschema-2.22.0.tar.gz 382291 BLAKE2B 5fe9d70e253e23cb568d72611b631ce45157a0b73aca902ed5f633ab3de499fa6e8b55877b574fe7e5b1ad914606e0eae6b195989a137860236f88584a9659d0 SHA512 a655408b3c0ecebc24a24cdab1ec2638db26fc3a46032529cd3b6686f9711cb5fd0a95f8164b6ed56128d86747fe0782e12953ce9cc4bb6cdded6843bd7e7410 +DIST fastjsonschema-2.22.1.tar.gz 382291 BLAKE2B 8b526c47da2cdbae32ad3a53e72eea6fd0373c51b79b350c6168ee259c6c1be9cec4a925f5898c81b2e638cc4549cdc02ff1d3780f426da6309ee4a80c7af6c6 SHA512 975246cee87cea677cb87873d3ad7b81dd30370a5c860dd59527bd3793925693cd63e666250fcdcc70d7cbf4deb42733cd0606a63d6665c58b72b53d699fd847 diff --git a/sdk_container/src/third_party/portage-stable/dev-python/fastjsonschema/fastjsonschema-2.21.2.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/fastjsonschema/fastjsonschema-2.21.2.ebuild index 0e4bd4296d2..a5c4fcd310a 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/fastjsonschema/fastjsonschema-2.21.2.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-python/fastjsonschema/fastjsonschema-2.21.2.ebuild @@ -4,7 +4,7 @@ EAPI=8 DISTUTILS_USE_PEP517=setuptools -PYTHON_COMPAT=( pypy3_11 python3_{11..15} ) +PYTHON_COMPAT=( python3_{12..15} python3_{14,15}t ) inherit distutils-r1 pypi diff --git a/sdk_container/src/third_party/portage-stable/dev-python/fastjsonschema/fastjsonschema-2.22.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/fastjsonschema/fastjsonschema-2.22.0.ebuild new file mode 100644 index 00000000000..945fbcabe5f --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-python/fastjsonschema/fastjsonschema-2.22.0.ebuild @@ -0,0 +1,27 @@ +# Copyright 2020-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{12..15} python3_{14,15}t ) + +inherit distutils-r1 pypi + +DESCRIPTION="Fast JSON schema validator for Python" +HOMEPAGE=" + https://github.com/horejsek/python-fastjsonschema/ + https://pypi.org/project/fastjsonschema/ +" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + +EPYTEST_PLUGINS=() +EPYTEST_XDIST=1 +distutils_enable_tests pytest + +EPYTEST_IGNORE=( + tests/benchmarks +) diff --git a/sdk_container/src/third_party/portage-stable/dev-python/fastjsonschema/fastjsonschema-2.22.1.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/fastjsonschema/fastjsonschema-2.22.1.ebuild new file mode 100644 index 00000000000..945fbcabe5f --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-python/fastjsonschema/fastjsonschema-2.22.1.ebuild @@ -0,0 +1,27 @@ +# Copyright 2020-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{12..15} python3_{14,15}t ) + +inherit distutils-r1 pypi + +DESCRIPTION="Fast JSON schema validator for Python" +HOMEPAGE=" + https://github.com/horejsek/python-fastjsonschema/ + https://pypi.org/project/fastjsonschema/ +" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + +EPYTEST_PLUGINS=() +EPYTEST_XDIST=1 +distutils_enable_tests pytest + +EPYTEST_IGNORE=( + tests/benchmarks +) From 1594add228a4602c1ce08db0930b16c511c32f5a Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 3 Aug 2026 08:14:22 +0000 Subject: [PATCH 065/195] dev-python/gpep517: Sync with Gentoo It's from Gentoo commit a8d1d61c90811a9f7c99c2ee7dd7c96a02c1f41f. Signed-off-by: Flatcar Buildbot --- .../dev-python/gpep517/Manifest | 1 + .../dev-python/gpep517/gpep517-20.ebuild | 45 +++++++++++++++++++ .../dev-python/gpep517/metadata.xml | 2 +- 3 files changed, 47 insertions(+), 1 deletion(-) create mode 100644 sdk_container/src/third_party/portage-stable/dev-python/gpep517/gpep517-20.ebuild diff --git a/sdk_container/src/third_party/portage-stable/dev-python/gpep517/Manifest b/sdk_container/src/third_party/portage-stable/dev-python/gpep517/Manifest index 49b70aab191..3910d32b920 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/gpep517/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-python/gpep517/Manifest @@ -1 +1,2 @@ DIST gpep517-19.gh.tar.gz 29279 BLAKE2B 1f3002e970de1e56004a0c6486c678ee9baa51d76c263d7356b3a63086615bf81c326b0a0ee313389ae046c7c451c17a1eed1b1cada8c61f0875ee007d5caa23 SHA512 463c3812f388ea7ef83aaf6b3b90de4036b0a8200038a654621822c02d46627f7adf2ed4c7accf016293f89b8c3a2080d9ac80d2f82caaa3fdd370aa98c4335b +DIST gpep517-20.gh.tar.gz 29306 BLAKE2B 5799cfb351741758a3e195d0496ab1e94dbb53d938ac27e1f00a81aaeb338f058a2b33ddcc4c7b073953b77e20b3d8d729c04f00b7c43928c457590818be2ee8 SHA512 3a8782eb513bb189b6d4d10516a122fa496185960a2970445058030fccde10b841e222cce04ce3bde2c3f1e1186cb8e3f50f44e40be2fd35e7e1b91e937585b0 diff --git a/sdk_container/src/third_party/portage-stable/dev-python/gpep517/gpep517-20.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/gpep517/gpep517-20.ebuild new file mode 100644 index 00000000000..c6842881bed --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-python/gpep517/gpep517-20.ebuild @@ -0,0 +1,45 @@ +# Copyright 2022-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# please keep this ebuild at EAPI 8 -- sys-apps/portage dep +EAPI=8 + +DISTUTILS_USE_PEP517=no +PYTHON_COMPAT=( python3_{12..15} python3_{14..15}t ) + +inherit distutils-r1 + +DESCRIPTION="A backend script to aid installing Python packages in Gentoo" +HOMEPAGE=" + https://pypi.org/project/gpep517/ + https://github.com/gentoo/gpep517/ +" +SRC_URI=" + https://github.com/gentoo/gpep517/archive/v${PV}.tar.gz + -> ${P}.gh.tar.gz +" + +LICENSE="GPL-2+" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris" + +RDEPEND=" + >=dev-python/installer-0.5.0[${PYTHON_USEDEP}] +" + +EPYTEST_PLUGINS=() +distutils_enable_tests pytest + +python_test() { + epytest -o tmp_path_retention_policy=all +} + +python_install() { + python_domodule gpep517 + python_newscript - gpep517 <<-EOF + #!${EPREFIX}/usr/bin/python + import sys + from gpep517.__main__ import main + sys.exit(main()) + EOF +} diff --git a/sdk_container/src/third_party/portage-stable/dev-python/gpep517/metadata.xml b/sdk_container/src/third_party/portage-stable/dev-python/gpep517/metadata.xml index 3350822dd5d..110a34ffaeb 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/gpep517/metadata.xml +++ b/sdk_container/src/third_party/portage-stable/dev-python/gpep517/metadata.xml @@ -11,7 +11,7 @@ - projg2/gpep517 + gentoo/gpep517 gpep517 From 7d39726498edc542cc95b8df5ad4384ef8d1aa69 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 3 Aug 2026 08:14:24 +0000 Subject: [PATCH 066/195] dev-python/hatchling: Sync with Gentoo It's from Gentoo commit ac2a207dc7de679b342a6c8be148eae4e90661e5. Signed-off-by: Flatcar Buildbot --- .../dev-python/hatchling/Manifest | 1 + .../hatchling/hatchling-1.30.1.ebuild | 4 +- .../hatchling/hatchling-1.31.0.ebuild | 98 +++++++++++++++++++ 3 files changed, 101 insertions(+), 2 deletions(-) create mode 100644 sdk_container/src/third_party/portage-stable/dev-python/hatchling/hatchling-1.31.0.ebuild diff --git a/sdk_container/src/third_party/portage-stable/dev-python/hatchling/Manifest b/sdk_container/src/third_party/portage-stable/dev-python/hatchling/Manifest index 5037323ad28..60b06798d30 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/hatchling/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-python/hatchling/Manifest @@ -1 +1,2 @@ DIST hatch-hatchling-v1.30.1.gh.tar.gz 5333904 BLAKE2B d5f1c478f2bc214400a50f079d695ef3795a92b0633307799bec34f031cffa4c36b0269a3f142323c61b5ddcf4b1918d4e9f32283eaacff7615e3330fe864be6 SHA512 dfb57a076ec683d82228a453c2485153defd0b1d2f31a43041ae0b7ddd428b931ab1288b0b23393df80f5630bd09c78faa2852b28649af0db2e7f55bd915b942 +DIST hatch-hatchling-v1.31.0.gh.tar.gz 5336511 BLAKE2B 51a18127fa90768fd3116faa1bf500b7f95315fa995486922023ef3a55530c7f658ab6041a0f4cbb254f114086c09f3828d38493150ca6d8f54da8d862f4bbec SHA512 707efa1d72bde3e80bb5210602e9f0389f1659dfe65bac6ab33ecfa0e9b433a42c3dac1e92a86398c72dbcb72a69e9dc1db9466c2a9de38993025c52578db2f1 diff --git a/sdk_container/src/third_party/portage-stable/dev-python/hatchling/hatchling-1.30.1.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/hatchling/hatchling-1.30.1.ebuild index 4e17b514368..0982d35f536 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/hatchling/hatchling-1.30.1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-python/hatchling/hatchling-1.30.1.ebuild @@ -4,8 +4,8 @@ EAPI=8 DISTUTILS_USE_PEP517=standalone -PYTHON_TESTED=( pypy3_11 python3_{11..14} ) -PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" python3_15 python3_{13..15}t ) +PYTHON_TESTED=( python3_{12..15} ) +PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" python3_{14..15}t ) inherit distutils-r1 diff --git a/sdk_container/src/third_party/portage-stable/dev-python/hatchling/hatchling-1.31.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/hatchling/hatchling-1.31.0.ebuild new file mode 100644 index 00000000000..9081cf53530 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-python/hatchling/hatchling-1.31.0.ebuild @@ -0,0 +1,98 @@ +# Copyright 2022-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=standalone +PYTHON_TESTED=( python3_{12..15} ) +PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" python3_{14..15}t ) + +inherit distutils-r1 + +TAG=${P/-/-v} +MY_P=hatch-${TAG} +DESCRIPTION="Modern, extensible Python build backend" +HOMEPAGE=" + https://pypi.org/project/hatchling/ + https://github.com/pypa/hatch/ +" +SRC_URI=" + https://github.com/pypa/hatch/archive/${TAG}.tar.gz + -> ${MY_P}.gh.tar.gz +" +S=${WORKDIR}/${MY_P}/backend + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris" +IUSE="test" +RESTRICT="!test? ( test )" + +# deps are listed in backend/src/hatchling/ouroboros.py +# editables are optional but required for editable installs +RDEPEND=" + >=dev-python/editables-0.3[${PYTHON_USEDEP}] + >=dev-python/packaging-24.2[${PYTHON_USEDEP}] + >=dev-python/pathspec-0.10.1[${PYTHON_USEDEP}] + >=dev-python/pluggy-1.0.0[${PYTHON_USEDEP}] + dev-python/trove-classifiers[${PYTHON_USEDEP}] +" +BDEPEND=" + ${RDEPEND} + test? ( + $(python_gen_cond_dep ' + dev-python/atomicwrites[${PYTHON_USEDEP}] + dev-python/click[${PYTHON_USEDEP}] + dev-python/httpx[${PYTHON_USEDEP}] + dev-python/platformdirs[${PYTHON_USEDEP}] + dev-python/pytest[${PYTHON_USEDEP}] + dev-python/pytest-mock[${PYTHON_USEDEP}] + dev-python/rich[${PYTHON_USEDEP}] + dev-python/tomli-w[${PYTHON_USEDEP}] + dev-python/virtualenv[${PYTHON_USEDEP}] + ' "${PYTHON_TESTED[@]}") + ) +" + +src_test() { + # top-level "tests" directory contains tests both for hatch + # and hatchling + cd "${WORKDIR}/${MY_P}" || die + + # sigh; standalone test suites are overrated, right? + echo "__version__ = '${PV}'" > src/hatch/_version.py || die + local -x PYTHONPATH="src:${PYTHONPATH}" + + # do not require uv for portability, sigh + mkdir "${T}/bin" || die + cat > "${T}/bin/uv" <<-EOF || die + #!/bin/sh + exit 127 + EOF + chmod +x "${T}/bin/uv" || die + local -x PATH=${T}/bin:${PATH} + + # tests mock cargo subprocess call but the backend raises if CARGO + # is not set and shutil.which() can't find it + local -x CARGO=cargo + + distutils-r1_src_test +} + +python_test() { + if ! has "${EPYTHON}" "${PYTHON_TESTED[@]/_/.}"; then + einfo "Skipping tests on ${EPYTHON}" + return + fi + + local -x EPYTEST_DESELECT=( + # most of these run uv to install stuff + # the few remaining tests aren't worth running + tests/backend/dep/test_core.py + # broken if CARGO is set + tests/backend/builders/test_binary.py::TestBuildBootstrap::test_no_cargo + ) + + local EPYTEST_PLUGINS=( pytest-mock ) + epytest tests/backend +} From 7c18d091245b74126a2c4ccfee1a1e160f35f756 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 3 Aug 2026 08:14:26 +0000 Subject: [PATCH 067/195] dev-python/jaraco-functools: Sync with Gentoo It's from Gentoo commit 6268dbcbb8cc463f522e2e6a0340325f07de80f1. Signed-off-by: Flatcar Buildbot --- .../dev-python/jaraco-functools/Manifest | 1 + .../jaraco-functools-4.6.0.ebuild | 56 +++++++++++++++++++ 2 files changed, 57 insertions(+) create mode 100644 sdk_container/src/third_party/portage-stable/dev-python/jaraco-functools/jaraco-functools-4.6.0.ebuild diff --git a/sdk_container/src/third_party/portage-stable/dev-python/jaraco-functools/Manifest b/sdk_container/src/third_party/portage-stable/dev-python/jaraco-functools/Manifest index b772321b47f..5dd6dfd80a2 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/jaraco-functools/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-python/jaraco-functools/Manifest @@ -1 +1,2 @@ DIST jaraco_functools-4.5.0.tar.gz 20272 BLAKE2B 5e6c7fee636eac91bdfbe226bccc70c98ae7c92c70ebf79436f8b7db226992921b48dad180a21ca01338a628a41a71a87c1f1511a709f8b322b6a4df1bf64e16 SHA512 b674baff8f5f882b82deb86f09da8db8a2a78cf7658f0348edaf690da38804f064191a9311d95b6aefe74a3bb31408e0a1acd577a6e4f2553a7ebb340521615f +DIST jaraco_functools-4.6.0.tar.gz 20837 BLAKE2B 35998e43275cc14ebb1635f3c2b4ad7ae3b6e5afdcc0489802a15b4a7de451bb1b6ca0c07ab60f50d6eef916e25ed3bf056cb96462136fd1a7546494dfa9af2d SHA512 c35d786c3432177b403bba06b4b70a9f9c1f0432d155dd52bbba69dc79ed26b48ebc98cce95a4bbf004bd5e0e584c98b6c689ab4dc54f00d2187acf8e72dc0ea diff --git a/sdk_container/src/third_party/portage-stable/dev-python/jaraco-functools/jaraco-functools-4.6.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/jaraco-functools/jaraco-functools-4.6.0.ebuild new file mode 100644 index 00000000000..b50ba1c39b2 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-python/jaraco-functools/jaraco-functools-4.6.0.ebuild @@ -0,0 +1,56 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# please keep this ebuild at EAPI 8 -- sys-apps/portage dep +EAPI=8 + +DISTUTILS_USE_PEP517=flit-core +PYPI_PN=${PN/-/.} +PYTHON_COMPAT=( python3_{12..15} python3_{14..15}t ) + +inherit distutils-r1 pypi + +DESCRIPTION="Additional functions used by other projects by developer jaraco" +HOMEPAGE=" + https://github.com/jaraco/jaraco.functools/ + https://pypi.org/project/jaraco.functools/ +" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris" + +RDEPEND=" + >=dev-python/more-itertools-0.12.0-r1[${PYTHON_USEDEP}] +" +BDEPEND=" + test? ( + dev-python/jaraco-classes[${PYTHON_USEDEP}] + ) +" + +EPYTEST_PLUGINS=() +distutils_enable_tests pytest + +src_configure() { + grep -q 'build-backend = "setuptools' pyproject.toml || + die "Upstream changed build-backend, recheck" + # write a custom pyproject.toml to ease setuptools bootstrap + cat > pyproject.toml <<-EOF || die + [build-system] + requires = ["flit_core >=3.2,<4"] + build-backend = "flit_core.buildapi" + + [project] + name = "jaraco.functools" + version = "${PV}" + description = "Functools like those found in stdlib" + EOF +} + +python_install() { + distutils-r1_python_install + # rename to workaround a bug in pkg_resources + # https://bugs.gentoo.org/834522 + mv "${D}$(python_get_sitedir)"/jaraco{_,.}functools-${PV}.dist-info || die +} From 9bb6190959e667672389267f1adf4fa43af530ea Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 3 Aug 2026 08:14:26 +0000 Subject: [PATCH 068/195] dev-python/jaraco-text: Sync with Gentoo It's from Gentoo commit 0f015cead59927bdc6aac0adf8c6f676db21020f. Signed-off-by: Flatcar Buildbot --- .../dev-python/jaraco-text/Manifest | 1 + .../jaraco-text/jaraco-text-4.3.0.ebuild | 50 +++++++++++++++++++ 2 files changed, 51 insertions(+) create mode 100644 sdk_container/src/third_party/portage-stable/dev-python/jaraco-text/jaraco-text-4.3.0.ebuild diff --git a/sdk_container/src/third_party/portage-stable/dev-python/jaraco-text/Manifest b/sdk_container/src/third_party/portage-stable/dev-python/jaraco-text/Manifest index d15531906cc..0dc2b610821 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/jaraco-text/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-python/jaraco-text/Manifest @@ -1 +1,2 @@ DIST jaraco_text-4.2.0.tar.gz 20077 BLAKE2B c2c991586f5696995ad60b0238c110fb1094c8b51c35961e01faec6a4b18f5ca1951d1c273c3908d41f1bf26fab7e639f5f4903328e106b7f770416c9990c218 SHA512 63cd8b4c7a66231b4951e2c5d5b8fcc6cab2fd3bddee0f6fb254eafdf131fc1cd8ed88430e0a822096dfd7d871acef335ac30e899b7f715832800cce4005f1dd +DIST jaraco_text-4.3.0.tar.gz 20673 BLAKE2B f3b1b29fef20bf3bd17079f3632a99a9beb41f1bd900031c474fed9f2c1708069a9cc20affbc0fad8dd97846f15106105ea90e107a0d2af02870c8a4a0d5e240 SHA512 7dd7a309515e249eb6978a0d5614bb2114610d3cb15f3cbb17659236fa67b4206d0baf9791b604eb679d1da3a15236891cef2ab749a937baf06402b68289c863 diff --git a/sdk_container/src/third_party/portage-stable/dev-python/jaraco-text/jaraco-text-4.3.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/jaraco-text/jaraco-text-4.3.0.ebuild new file mode 100644 index 00000000000..e15ada5c39c --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-python/jaraco-text/jaraco-text-4.3.0.ebuild @@ -0,0 +1,50 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# please keep this ebuild at EAPI 8 -- sys-apps/portage dep +EAPI=8 + +DISTUTILS_USE_PEP517=flit-core +PYPI_PN=${PN/-/.} +PYTHON_COMPAT=( python3_{12..15} python3_{14..15}t ) + +inherit distutils-r1 pypi + +DESCRIPTION="Text utilities used by other projects by developer jaraco" +HOMEPAGE=" + https://github.com/jaraco/jaraco.text/ + https://pypi.org/project/jaraco.text/ +" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris" + +RDEPEND=" + >=dev-python/jaraco-context-4.1.1-r1[${PYTHON_USEDEP}] + >=dev-python/jaraco-functools-3.5.0-r1[${PYTHON_USEDEP}] +" + +EPYTEST_PLUGINS=() +distutils_enable_tests pytest + +src_configure() { + grep -q 'build-backend = "setuptools' pyproject.toml || + die "Upstream changed build-backend, recheck" + # write a custom pyproject.toml to ease setuptools bootstrap + cat > pyproject.toml <<-EOF || die + [build-system] + requires = ["flit_core >=3.2,<4"] + build-backend = "flit_core.buildapi" + + [project] + name = "jaraco.text" + version = "${PV}" + description = "Module for text manipulation" + EOF + + # remove CLI tools, they have annoying deps, no entry points + # and since there are dashes in their names, they can't be imported + # anyway + rm jaraco/text/*-*.py || die +} From a0ee652123f7fc2c4bf6baee06c40f9559197322 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 3 Aug 2026 08:14:27 +0000 Subject: [PATCH 069/195] dev-python/jinja2: Sync with Gentoo It's from Gentoo commit eafb2b8c5bfb618719493e45d6fd53565a0ce50e. Signed-off-by: Flatcar Buildbot --- .../portage-stable/dev-python/jinja2/jinja2-3.1.6.ebuild | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/sdk_container/src/third_party/portage-stable/dev-python/jinja2/jinja2-3.1.6.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/jinja2/jinja2-3.1.6.ebuild index a1d91830d6f..ad670ec0e3d 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/jinja2/jinja2-3.1.6.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-python/jinja2/jinja2-3.1.6.ebuild @@ -3,10 +3,9 @@ EAPI=8 -DISTUTILS_USE_PEP517=flit -PYPI_PN=jinja2 +DISTUTILS_USE_PEP517=flit-core PYPI_VERIFY_REPO=https://github.com/pallets/jinja -PYTHON_COMPAT=( python3_{11..15} pypy3_11 ) +PYTHON_COMPAT=( python3_{12..15} python3_{14,15}t ) PYTHON_REQ_USE="threads(+)" inherit distutils-r1 pypi From 145960ea4b15f720179df11b84e64a04b2201cd6 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 3 Aug 2026 08:14:27 +0000 Subject: [PATCH 070/195] dev-python/lark: Sync with Gentoo It's from Gentoo commit 14a46c209bd92cc95cc2e8803749b6e6fdcede31. Signed-off-by: Flatcar Buildbot --- .../portage-stable/dev-python/lark/lark-1.3.1.ebuild | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/sdk_container/src/third_party/portage-stable/dev-python/lark/lark-1.3.1.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/lark/lark-1.3.1.ebuild index fa3a8d5ad20..3c848f7fbb8 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/lark/lark-1.3.1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-python/lark/lark-1.3.1.ebuild @@ -4,7 +4,7 @@ EAPI=8 DISTUTILS_USE_PEP517=setuptools -PYTHON_COMPAT=( python3_{11..15} pypy3_11 ) +PYTHON_COMPAT=( python3_{12..15} python3_{14,15}t ) inherit distutils-r1 pypi @@ -23,9 +23,7 @@ BDEPEND=" >=dev-python/setuptools-scm-9.2.2[${PYTHON_USEDEP}] test? ( dev-python/atomicwrites[${PYTHON_USEDEP}] - $(python_gen_cond_dep ' - dev-python/regex[${PYTHON_USEDEP}] - ' 'python*') + dev-python/regex[${PYTHON_USEDEP}] ) " From 4837f488d03d97b52f8f4288276437027ab02c13 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 3 Aug 2026 08:14:27 +0000 Subject: [PATCH 071/195] dev-python/lazy-object-proxy: Sync with Gentoo It's from Gentoo commit 98188b51ff4a9a9f9863e42d93473ea223daac62. Signed-off-by: Flatcar Buildbot --- .../lazy-object-proxy-1.12.0.ebuild | 29 ++++++++++++++----- 1 file changed, 21 insertions(+), 8 deletions(-) diff --git a/sdk_container/src/third_party/portage-stable/dev-python/lazy-object-proxy/lazy-object-proxy-1.12.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/lazy-object-proxy/lazy-object-proxy-1.12.0.ebuild index 948d63402ff..0b0d08f1b96 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/lazy-object-proxy/lazy-object-proxy-1.12.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-python/lazy-object-proxy/lazy-object-proxy-1.12.0.ebuild @@ -1,11 +1,11 @@ -# Copyright 1999-2025 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 DISTUTILS_EXT=1 DISTUTILS_USE_PEP517=setuptools -PYTHON_COMPAT=( python3_{11..14} python3_{13,14}t pypy3_11 ) +PYTHON_COMPAT=( python3_{12..15} python3_{14..15}t ) inherit distutils-r1 pypi @@ -31,15 +31,28 @@ distutils_enable_tests pytest python_prepare_all() { distutils-r1_python_prepare_all - # No need to benchmark - sed \ - -e '/benchmark/s:test_:_&:g' \ - -e '/pytest.mark.benchmark/d' \ - -i tests/test_lazy_object_proxy.py || die - if use native-extensions; then unset SETUPPY_FORCE_PURE else export SETUPPY_FORCE_PURE=1 fi } + +python_test() { + local EPYTEST_DESELECT=( + # benchmarks + tests/test_lazy_object_proxy.py::test_perf + tests/test_lazy_object_proxy.py::test_proto + ) + + case ${EPYTHON} in + python3.15*) + EPYTEST_DESELECT+=( + tests/test_async_py3.py::test_await_12 + tests/test_async_py3.py::test_await_13 + tests/test_async_py3.py::test_await_5 + ) + esac + + epytest -o strict_markers=False +} From d86398bb3949b2ad1153da66364b53d193393f8e Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 3 Aug 2026 08:14:27 +0000 Subject: [PATCH 072/195] dev-python/linkify-it-py: Sync with Gentoo It's from Gentoo commit 160cdb2df770f00db1372615b495d59b8c58192e. Signed-off-by: Flatcar Buildbot --- .../dev-python/linkify-it-py/linkify-it-py-2.1.0.ebuild | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sdk_container/src/third_party/portage-stable/dev-python/linkify-it-py/linkify-it-py-2.1.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/linkify-it-py/linkify-it-py-2.1.0.ebuild index 798553b9d0d..3a64b80984e 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/linkify-it-py/linkify-it-py-2.1.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-python/linkify-it-py/linkify-it-py-2.1.0.ebuild @@ -5,7 +5,7 @@ EAPI=8 DISTUTILS_USE_PEP517=setuptools PYPI_VERIFY_REPO=https://github.com/tsutsu3/linkify-it-py -PYTHON_COMPAT=( python3_{12..15} ) +PYTHON_COMPAT=( python3_{12..15} python3_{14,15}t ) inherit distutils-r1 pypi From cb13075d46b3337c4452467a1bf47c8dc30f8d21 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 3 Aug 2026 08:14:28 +0000 Subject: [PATCH 073/195] dev-python/lxml: Sync with Gentoo It's from Gentoo commit 922a59cebca4c4fc2af7b587c6444279a9100f0a. Signed-off-by: Flatcar Buildbot --- .../portage-stable/dev-python/lxml/Manifest | 1 - .../dev-python/lxml/lxml-6.1.0.ebuild | 120 ------------------ .../dev-python/lxml/lxml-6.1.1.ebuild | 2 +- 3 files changed, 1 insertion(+), 122 deletions(-) delete mode 100644 sdk_container/src/third_party/portage-stable/dev-python/lxml/lxml-6.1.0.ebuild diff --git a/sdk_container/src/third_party/portage-stable/dev-python/lxml/Manifest b/sdk_container/src/third_party/portage-stable/dev-python/lxml/Manifest index 9f573ba16b5..85bf62da8b5 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/lxml/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-python/lxml/Manifest @@ -1,2 +1 @@ -DIST lxml-6.1.0.gh.tar.gz 992616 BLAKE2B bf0269bb5d757fb91e586b73436a2502b86ba23a4f09143d1af5131ba4d8fbec57cd5ce0804113a8d258c6312f17404b0d67992722f19b9544610bf26f7caf7b SHA512 c738958839f9fb627ede8c4758b849d60be5210617fb2f4d9d2072f9f724a54d63648964b8716b0e23eaba044d77d02e621579c7aaee53fa2e30bc206a4a8534 DIST lxml-6.1.1.gh.tar.gz 995492 BLAKE2B 0ddb8b59ad1c6fa237830fed00ee5fd8626930a25baa08ab8343530568ae2917dfc2c8bd72a2f700ac62a1420db628ef63a86178790e4405844ccfd271ca3bdb SHA512 c8bd3825f5b15af8a39b7e0a11b114ad67bcfcaf8fd08928e34918ea194525d26fa498057a30a014e452817d78a839bea7cf5221f089ae8ba0d4f5f4527dc62d diff --git a/sdk_container/src/third_party/portage-stable/dev-python/lxml/lxml-6.1.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/lxml/lxml-6.1.0.ebuild deleted file mode 100644 index 386440cdfa3..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-python/lxml/lxml-6.1.0.ebuild +++ /dev/null @@ -1,120 +0,0 @@ -# Copyright 1999-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DISTUTILS_EXT=1 -DISTUTILS_USE_PEP517=setuptools -PYTHON_COMPAT=( python3_{11..15} pypy3_11 ) - -inherit distutils-r1 optfeature toolchain-funcs - -DESCRIPTION="A Pythonic binding for the libxml2 and libxslt libraries" -HOMEPAGE=" - https://lxml.de/ - https://pypi.org/project/lxml/ - https://github.com/lxml/lxml/ -" -SRC_URI=" - https://github.com/lxml/lxml/archive/${P}.tar.gz - -> ${P}.gh.tar.gz -" -S=${WORKDIR}/lxml-${P} - -LICENSE="BSD ElementTree GPL-2 PSF-2" -SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" -IUSE="doc examples +threads test" -RESTRICT="!test? ( test )" - -# Note: lib{xml2,xslt} are used as C libraries, not Python modules. -DEPEND=" - >=dev-libs/libxml2-2.10.3:= - >=dev-libs/libxslt-1.1.38 -" -RDEPEND=" - ${DEPEND} -" -BDEPEND=" - virtual/pkgconfig - >=dev-python/cython-3.1.4[${PYTHON_USEDEP}] - doc? ( - $(python_gen_any_dep ' - dev-python/docutils[${PYTHON_USEDEP}] - dev-python/pygments[${PYTHON_USEDEP}] - dev-python/sphinx[${PYTHON_USEDEP}] - dev-python/sphinx-rtd-theme[${PYTHON_USEDEP}] - ') - ) - test? ( - dev-python/cssselect[${PYTHON_USEDEP}] - ) -" - -PATCHES=( - "${FILESDIR}/${PN}-6.0.4-pypy.patch" -) - -python_check_deps() { - use doc || return 0 - python_has_version -b "dev-python/docutils[${PYTHON_USEDEP}]" && - python_has_version -b "dev-python/pygments[${PYTHON_USEDEP}]" && - python_has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]" && - python_has_version -b "dev-python/sphinx-rtd-theme[${PYTHON_USEDEP}]" -} - -python_prepare_all() { - # don't use some random SDK on Darwin - sed -i -e '/_ldflags =/s/=.*isysroot.*darwin.*None/= None/' \ - setupinfo.py || die - - distutils-r1_python_prepare_all -} - -python_compile() { - local DISTUTILS_ARGS=( - # by default it adds -w to CFLAGS - --warnings - ) - tc-export PKG_CONFIG - distutils-r1_python_compile -} - -python_compile_all() { - # disable automagic dep on coverage - use doc && emake CYTHON_WITH_COVERAGE= html -} - -python_test() { - local dir=${BUILD_DIR}/test$(python_get_sitedir)/lxml - local -x PATH=${BUILD_DIR}/test/usr/bin:${PATH} - - cp -al "${BUILD_DIR}"/{install,test} || die - cp -al src/lxml/tests "${dir}/" || die - cp -al src/lxml/html/tests "${dir}/html/" || die - mkdir "${dir}"/../../doc || die - # this one needs to be copied, because upstream uses doc/../../../doc - cp -r "${S}"/doc "${dir}"/../../ || die - ln -s "${S}"/doc "${dir}"/../../../../ || die - - "${EPYTHON}" test.py --no-src -vv --all-levels -p || - die "Tests fail on ${EPYTHON}" -} - -python_install_all() { - if use doc; then - local DOCS=( README.rst *.txt doc/*.txt ) - local HTML_DOCS=( doc/html/. ) - fi - if use examples; then - dodoc -r samples - fi - - distutils-r1_python_install_all -} - -pkg_postinst() { - optfeature "Support for BeautifulSoup as a parser backend" dev-python/beautifulsoup4 - optfeature "Translates CSS selectors to XPath 1.0 expressions" dev-python/cssselect - optfeature "Support for lxml.html.clean sanitizer" dev-python/lxml-html-clean -} diff --git a/sdk_container/src/third_party/portage-stable/dev-python/lxml/lxml-6.1.1.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/lxml/lxml-6.1.1.ebuild index 61d0182a064..ad9bb76e0cf 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/lxml/lxml-6.1.1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-python/lxml/lxml-6.1.1.ebuild @@ -5,7 +5,7 @@ EAPI=8 DISTUTILS_EXT=1 DISTUTILS_USE_PEP517=setuptools -PYTHON_COMPAT=( python3_{11..15} pypy3_11 ) +PYTHON_COMPAT=( python3_{12..15} python3_{14,15}t ) inherit distutils-r1 optfeature toolchain-funcs From 1a3188b543d6fcc93b3e08ab7bf833b023ebf516 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 3 Aug 2026 08:14:28 +0000 Subject: [PATCH 074/195] dev-python/markdown-it-py: Sync with Gentoo It's from Gentoo commit 222041ce70d969468604430b6e7eee24d73be253. Signed-off-by: Flatcar Buildbot --- .../dev-python/markdown-it-py/markdown-it-py-4.2.0.ebuild | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sdk_container/src/third_party/portage-stable/dev-python/markdown-it-py/markdown-it-py-4.2.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/markdown-it-py/markdown-it-py-4.2.0.ebuild index fa7901873c5..f9cc216990f 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/markdown-it-py/markdown-it-py-4.2.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-python/markdown-it-py/markdown-it-py-4.2.0.ebuild @@ -4,7 +4,7 @@ EAPI=8 DISTUTILS_USE_PEP517=flit -PYTHON_COMPAT=( python3_{12..15} ) +PYTHON_COMPAT=( python3_{12..15} python3_{14,15}t ) inherit distutils-r1 From e85220d010ae64c16f3495185ee669eb894e0cc3 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 3 Aug 2026 08:14:29 +0000 Subject: [PATCH 075/195] dev-python/mdurl: Sync with Gentoo It's from Gentoo commit 80e5c41f88730ae124796130b3c876a2395bd18e. Signed-off-by: Flatcar Buildbot --- .../portage-stable/dev-python/mdurl/mdurl-0.1.2.ebuild | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sdk_container/src/third_party/portage-stable/dev-python/mdurl/mdurl-0.1.2.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/mdurl/mdurl-0.1.2.ebuild index 5c06de98061..653b2fa9e9f 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/mdurl/mdurl-0.1.2.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-python/mdurl/mdurl-0.1.2.ebuild @@ -4,7 +4,7 @@ EAPI=8 DISTUTILS_USE_PEP517=flit-core -PYTHON_COMPAT=( python3_{12..15} ) +PYTHON_COMPAT=( python3_{12..15} python3_{14,15}t ) inherit distutils-r1 From 246776b7111159f8ed9798dbdc6c9424cf982a88 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 3 Aug 2026 08:14:30 +0000 Subject: [PATCH 076/195] dev-python/msgpack: Sync with Gentoo It's from Gentoo commit 199d09aa69119264b2401d1149ec5e8bfc1c8225. Signed-off-by: Flatcar Buildbot --- .../portage-stable/dev-python/msgpack/msgpack-1.2.1.ebuild | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sdk_container/src/third_party/portage-stable/dev-python/msgpack/msgpack-1.2.1.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/msgpack/msgpack-1.2.1.ebuild index ebebf739658..d86e2384ffc 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/msgpack/msgpack-1.2.1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-python/msgpack/msgpack-1.2.1.ebuild @@ -19,7 +19,7 @@ HOMEPAGE=" LICENSE="Apache-2.0" SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~x64-macos" IUSE="+native-extensions" # extension code is relying on CPython implementation details From ad1a0e982d6be62c3a689af2e224c89383476498 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 3 Aug 2026 08:14:34 +0000 Subject: [PATCH 077/195] dev-python/pip: Sync with Gentoo It's from Gentoo commit dd9f0032041b8e870d8189d035315c91f618aee6. Signed-off-by: Flatcar Buildbot --- .../pip/files/pip-26.1.2-py315.patch | 49 ++++ .../pip/files/pip-26.1.2-unbundle-r1.patch | 240 ++++++++++++++++++ .../dev-python/pip/pip-26.1.2-r1.ebuild | 191 ++++++++++++++ 3 files changed, 480 insertions(+) create mode 100644 sdk_container/src/third_party/portage-stable/dev-python/pip/files/pip-26.1.2-py315.patch create mode 100644 sdk_container/src/third_party/portage-stable/dev-python/pip/files/pip-26.1.2-unbundle-r1.patch create mode 100644 sdk_container/src/third_party/portage-stable/dev-python/pip/pip-26.1.2-r1.ebuild diff --git a/sdk_container/src/third_party/portage-stable/dev-python/pip/files/pip-26.1.2-py315.patch b/sdk_container/src/third_party/portage-stable/dev-python/pip/files/pip-26.1.2-py315.patch new file mode 100644 index 00000000000..c36368cc0a7 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-python/pip/files/pip-26.1.2-py315.patch @@ -0,0 +1,49 @@ +diff --git a/src/pip/_internal/build_env.py b/src/pip/_internal/build_env.py +index 1a42a9d41..7639dabca 100644 +--- a/src/pip/_internal/build_env.py ++++ b/src/pip/_internal/build_env.py +@@ -468,15 +468,19 @@ class BuildEnvironment: + """ + import os, site, sys + +- # First, drop system-sites related paths. ++ # First, discover all system-sites related paths. + original_sys_path = sys.path[:] ++ # Clear sys.path so addsitedir() will add system site paths and paths ++ # added by contained .pth files to sys.path reliably. This is necessary ++ # since Python 3.15, which notably no longer re-executes .pth files for ++ # known paths. ++ sys.path = [] + known_paths = set() + for path in {system_sites!r}: + site.addsitedir(path, known_paths=known_paths) +- system_paths = set( +- os.path.normcase(path) +- for path in sys.path[len(original_sys_path):] +- ) ++ system_paths = set(os.path.normcase(path) for path in sys.path) ++ ++ # Drop discovered system-sites related paths. + original_sys_path = [ + path for path in original_sys_path + if os.path.normcase(path) not in system_paths +diff --git a/tests/lib/venv.py b/tests/lib/venv.py +index 67b01d9f3..4e86b92b3 100644 +--- a/tests/lib/venv.py ++++ b/tests/lib/venv.py +@@ -174,11 +174,13 @@ class VirtualEnvironment: + site.ENABLE_USER_SITE = {self._user_site_packages} + # First, drop system-sites related paths. + original_sys_path = sys.path[:] ++ # To discover system-sites related paths, clear sys.path ++ # and build a new one with only system paths. ++ sys.path = [] + known_paths = set() + for path in site.getsitepackages(): + site.addsitedir(path, known_paths=known_paths) +- system_paths = sys.path[len(original_sys_path):] +- for path in system_paths: ++ for path in sys.path: + if path in original_sys_path: + original_sys_path.remove(path) + sys.path = original_sys_path diff --git a/sdk_container/src/third_party/portage-stable/dev-python/pip/files/pip-26.1.2-unbundle-r1.patch b/sdk_container/src/third_party/portage-stable/dev-python/pip/files/pip-26.1.2-unbundle-r1.patch new file mode 100644 index 00000000000..a24aca59f09 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-python/pip/files/pip-26.1.2-unbundle-r1.patch @@ -0,0 +1,240 @@ +diff --git a/src/pip/_internal/cli/main_parser.py b/src/pip/_internal/cli/main_parser.py +index 136852466..ffec75192 100644 +--- a/src/pip/_internal/cli/main_parser.py ++++ b/src/pip/_internal/cli/main_parser.py +@@ -82,6 +82,11 @@ def parse_command(args: list[str]) -> tuple[str, list[str]]: + + # --python + if general_options.python and "_PIP_RUNNING_IN_SUBPROCESS" not in os.environ: ++ raise CommandError( ++ "--python option is not supported on Gentoo, as it requires bundled " ++ "dependencies that have been removed to improve security" ++ ) ++ + # Re-invoke pip using the specified Python interpreter + interpreter = identify_python_interpreter(general_options.python) + if interpreter is None: +diff --git a/src/pip/_internal/commands/debug.py b/src/pip/_internal/commands/debug.py +index 25bc05d0e..a73d6c358 100644 +--- a/src/pip/_internal/commands/debug.py ++++ b/src/pip/_internal/commands/debug.py +@@ -8,7 +8,6 @@ from optparse import Values + from types import ModuleType + from typing import Any + +-import pip._vendor + from pip._vendor.certifi import where + from pip._vendor.packaging.version import parse as parse_version + +@@ -187,9 +186,7 @@ class DebugCommand(Command): + show_value("REQUESTS_CA_BUNDLE", os.environ.get("REQUESTS_CA_BUNDLE")) + show_value("CURL_CA_BUNDLE", os.environ.get("CURL_CA_BUNDLE")) + show_value("pip._vendor.certifi.where()", where()) +- show_value("pip._vendor.DEBUNDLED", pip._vendor.DEBUNDLED) +- +- show_vendor_versions() ++ show_value("pip._vendor.DEBUNDLED", True) + + show_tags(options) + +diff --git a/tests/conftest.py b/tests/conftest.py +index f8da34376..a98dffdda 100644 +--- a/tests/conftest.py ++++ b/tests/conftest.py +@@ -473,9 +473,6 @@ def virtualenv_template( + tmpdir_factory: pytest.TempPathFactory, + pip_src: Path, + pip_editable_parts: tuple[Path, ...], +- setuptools_install: Path, +- coverage_install: Path, +- socket_install: Path, + ) -> VirtualEnvironment: + venv_type: VirtualEnvironmentType + if request.config.getoption("--use-venv"): +@@ -487,13 +484,6 @@ def virtualenv_template( + tmpdir = tmpdir_factory.mktemp("virtualenv") + venv = VirtualEnvironment(tmpdir.joinpath("venv_orig"), venv_type=venv_type) + +- # Install setuptools, pytest-subket, and pip. +- install_pth_link(venv, "setuptools", setuptools_install) +- install_pth_link(venv, "pytest_subket", socket_install) +- # Also copy pytest-subket's .pth file so it can intercept socket calls. +- with open(venv.site / "pytest_socket.pth", "w") as f: +- f.write(socket_install.joinpath("pytest_socket.pth").read_text()) +- + pth, dist_info = pip_editable_parts + + shutil.copy(pth, venv.site) +@@ -505,14 +495,6 @@ def virtualenv_template( + # detects changed files. + venv.site.joinpath("easy-install.pth").touch() + +- if request.config.getoption("--cov"): +- # Install coverage and pth file for executing it in any spawned processes +- # in this virtual environment. +- install_pth_link(venv, "coverage", coverage_install) +- # zz prefix ensures the file is after easy-install.pth. +- with open(venv.site / "zz-coverage-helper.pth", "a") as f: +- f.write("import coverage; coverage.process_startup()") +- + # Drop (non-relocatable) launchers. + for exe in os.listdir(venv.bin): + if not exe.startswith(("python", "libpy")): # Don't remove libpypy-c.so... +diff --git a/tests/functional/test_check.py b/tests/functional/test_check.py +index acf99bc13..5425002e7 100644 +--- a/tests/functional/test_check.py ++++ b/tests/functional/test_check.py +@@ -10,10 +10,8 @@ from tests.lib import ( + def matches_expected_lines(string: str, expected_lines: Collection[str]) -> bool: + # Ignore empty lines + output_lines = list(filter(None, string.splitlines())) +- # We'll match the last n lines, given n lines to match. +- last_few_output_lines = output_lines[-len(expected_lines) :] + # And order does not matter +- return set(last_few_output_lines) == set(expected_lines) ++ return set(expected_lines).issubset(set(output_lines)) + + + def test_basic_check_clean(script: PipTestEnvironment) -> None: +diff --git a/tests/functional/test_freeze.py b/tests/functional/test_freeze.py +index 4e9ae927f..597c33dc2 100644 +--- a/tests/functional/test_freeze.py ++++ b/tests/functional/test_freeze.py +@@ -80,8 +80,8 @@ def test_basic_freeze(script: PipTestEnvironment) -> None: + result = script.pip("freeze", expect_stderr=True) + expected = textwrap.dedent( + """\ +- ...simple==2.0 +- simple2==3.0... ++ ...simple==2.0... ++ ...simple2==3.0... + """ + ) + _check_output(result.stdout, expected) +@@ -998,7 +998,7 @@ def test_freeze_skip_work_dir_pkg(script: PipTestEnvironment) -> None: + + # Freeze should not include package simple when run from package directory + result = script.pip("freeze", cwd=pkg_path) +- assert "simple" not in result.stdout ++ assert "\nsimple==" not in result.stdout + + + def test_freeze_include_work_dir_pkg(script: PipTestEnvironment) -> None: +diff --git a/tests/functional/test_install_check.py b/tests/functional/test_install_check.py +index cb8312b53..174bb8f66 100644 +--- a/tests/functional/test_install_check.py ++++ b/tests/functional/test_install_check.py +@@ -61,6 +61,7 @@ def test_check_install_canonicalization(script: PipTestEnvironment) -> None: + ) + assert "requires" not in result.stderr + assert result.returncode == 0 ++ return + + # Double check that all errors are resolved in the end + result = script.pip("check") +diff --git a/tests/functional/test_list.py b/tests/functional/test_list.py +index b70be2dbb..89bbfce18 100644 +--- a/tests/functional/test_list.py ++++ b/tests/functional/test_list.py +@@ -1,5 +1,6 @@ + import json + import os ++import re + from pathlib import Path + + import pytest +@@ -41,8 +42,8 @@ def test_basic_list(simple_script: PipTestEnvironment) -> None: + + """ + result = simple_script.pip("list") +- assert "simple 1.0" in result.stdout, str(result) +- assert "simple2 3.0" in result.stdout, str(result) ++ assert re.search(r"simple\s+1\.0", result.stdout), str(result) ++ assert re.search(r"simple2\s+3\.0", result.stdout), str(result) + + + def test_verbose_flag(simple_script: PipTestEnvironment) -> None: +@@ -54,8 +55,8 @@ def test_verbose_flag(simple_script: PipTestEnvironment) -> None: + assert "Version" in result.stdout, str(result) + assert "Location" in result.stdout, str(result) + assert "Installer" in result.stdout, str(result) +- assert "simple 1.0" in result.stdout, str(result) +- assert "simple2 3.0" in result.stdout, str(result) ++ assert re.search(r"simple\s+1\.0", result.stdout), str(result) ++ assert re.search(r"simple2\s+3\.0", result.stdout), str(result) + + + def test_columns_flag(simple_script: PipTestEnvironment) -> None: +@@ -66,8 +67,8 @@ def test_columns_flag(simple_script: PipTestEnvironment) -> None: + assert "Package" in result.stdout, str(result) + assert "Version" in result.stdout, str(result) + assert "simple (1.0)" not in result.stdout, str(result) +- assert "simple 1.0" in result.stdout, str(result) +- assert "simple2 3.0" in result.stdout, str(result) ++ assert re.search(r"simple\s+1\.0", result.stdout), str(result) ++ assert re.search(r"simple2\s+3\.0", result.stdout), str(result) + + + def test_format_priority(simple_script: PipTestEnvironment) -> None: +@@ -79,16 +80,16 @@ def test_format_priority(simple_script: PipTestEnvironment) -> None: + ) + assert "simple==1.0" in result.stdout, str(result) + assert "simple2==3.0" in result.stdout, str(result) +- assert "simple 1.0" not in result.stdout, str(result) +- assert "simple2 3.0" not in result.stdout, str(result) ++ assert not re.search(r"simple\s+1\.0", result.stdout), str(result) ++ assert not re.search(r"simple2\s+3\.0", result.stdout), str(result) + + result = simple_script.pip("list", "--format=freeze", "--format=columns") + assert "Package" in result.stdout, str(result) + assert "Version" in result.stdout, str(result) + assert "simple==1.0" not in result.stdout, str(result) + assert "simple2==3.0" not in result.stdout, str(result) +- assert "simple 1.0" in result.stdout, str(result) +- assert "simple2 3.0" in result.stdout, str(result) ++ assert re.search(r"simple\s+1\.0", result.stdout), str(result) ++ assert re.search(r"simple2\s+3\.0", result.stdout), str(result) + + + def test_local_flag(simple_script: PipTestEnvironment) -> None: +@@ -124,8 +125,8 @@ def test_multiple_exclude_and_normalization( + assert "Normalizable_Name" in result.stdout + assert "pip" in result.stdout + result = script.pip("list", "--exclude", "normalizablE-namE", "--exclude", "pIp") +- assert "Normalizable_Name" not in result.stdout +- assert "pip" not in result.stdout ++ assert "Normalizable_Name " not in result.stdout ++ assert "pip " not in result.stdout + + + @pytest.mark.usefixtures("enable_user_site") +diff --git a/tests/lib/venv.py b/tests/lib/venv.py +index 67b01d9f3..3caa016a0 100644 +--- a/tests/lib/venv.py ++++ b/tests/lib/venv.py +@@ -11,6 +11,7 @@ import venv as _venv + from pathlib import Path + from typing import Literal + ++import pytest + import virtualenv as _virtualenv + + VirtualEnvironmentType = Literal["virtualenv", "venv"] +@@ -37,7 +38,7 @@ class VirtualEnvironment: + self._venv_type = venv_type + else: + self._venv_type = "virtualenv" +- self._user_site_packages = False ++ self._user_site_packages = True + self._template = template + self._sitecustomize: str | None = None + self._update_paths() +@@ -235,6 +236,8 @@ class VirtualEnvironment: + + @user_site_packages.setter + def user_site_packages(self, value: bool) -> None: ++ if not value: ++ pytest.skip("Gentoo: skipping due to lack of system site-packages") + self._user_site_packages = value + if self._legacy_virtualenv: + marker = self.lib / "no-global-site-packages.txt" diff --git a/sdk_container/src/third_party/portage-stable/dev-python/pip/pip-26.1.2-r1.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/pip/pip-26.1.2-r1.ebuild new file mode 100644 index 00000000000..c48ded8a844 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-python/pip/pip-26.1.2-r1.ebuild @@ -0,0 +1,191 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# please bump dev-python/ensurepip-pip along with this package! + +DISTUTILS_USE_PEP517=flit-core +PYTHON_TESTED=( python3_{12..15} ) +PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" ) +PYTHON_REQ_USE="ssl(+),threads(+)" + +inherit distutils-r1 pypi shell-completion +FLIT_CORE_PV=3.12.0 + +DESCRIPTION="The PyPA recommended tool for installing Python packages" +HOMEPAGE=" + https://pip.pypa.io/en/stable/ + https://pypi.org/project/pip/ + https://github.com/pypa/pip/ +" +SRC_URI=" + https://github.com/pypa/pip/archive/${PV}.tar.gz -> ${P}.gh.tar.gz + test? ( + $(pypi_wheel_url flit-core "${FLIT_CORE_PV}") + ) +" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +IUSE="test test-rust" +RESTRICT="!test? ( test )" + +# see src/pip/_vendor/vendor.txt +RDEPEND=" + >=dev-python/cachecontrol-0.14.3[${PYTHON_USEDEP}] + >=dev-python/dependency-groups-1.3.0[${PYTHON_USEDEP}] + >=dev-python/distlib-0.4.0[${PYTHON_USEDEP}] + >=dev-python/distro-1.9.0[${PYTHON_USEDEP}] + >=dev-python/msgpack-1.1.1[${PYTHON_USEDEP}] + >=dev-python/packaging-26.2[${PYTHON_USEDEP}] + >=dev-python/platformdirs-4.3.8[${PYTHON_USEDEP}] + >=dev-python/pyproject-hooks-1.2.0[${PYTHON_USEDEP}] + >=dev-python/requests-2.33.1[${PYTHON_USEDEP}] + >=dev-python/rich-14.1.0[${PYTHON_USEDEP}] + >=dev-python/resolvelib-1.2.0[${PYTHON_USEDEP}] + >=dev-python/setuptools-70.3.0[${PYTHON_USEDEP}] + >=dev-python/tomli-w-1.2.0[${PYTHON_USEDEP}] + >=dev-python/truststore-0.10.1[${PYTHON_USEDEP}] + >=dev-python/typing-extensions-4.13.2[${PYTHON_USEDEP}] +" +BDEPEND=" + ${RDEPEND} + test? ( + $(python_gen_cond_dep ' + dev-python/ensurepip-setuptools + dev-python/freezegun[${PYTHON_USEDEP}] + dev-python/pretend[${PYTHON_USEDEP}] + dev-python/pytest[${PYTHON_USEDEP}] + dev-python/pytest-rerunfailures[${PYTHON_USEDEP}] + dev-python/pytest-xdist[${PYTHON_USEDEP}] + dev-python/scripttest[${PYTHON_USEDEP}] + completion.bash || die + "${EPYTHON}" -c "${pipcmd}" completion --zsh > completion.zsh || die +} + +python_test() { + if ! has "${EPYTHON}" "${PYTHON_TESTED[@]/_/.}"; then + einfo "Skipping tests on ${EPYTHON}" + return 0 + fi + + local EPYTEST_DESELECT=( + tests/functional/test_inspect.py::test_inspect_basic + # Internet + tests/functional/test_config_settings.py::test_backend_sees_config_via_sdist + tests/functional/test_install.py::test_double_install_fail + tests/functional/test_install.py::test_install_sdist_links + tests/functional/test_install_config.py::test_prompt_for_keyring_if_needed + tests/functional/test_lock.py::test_lock_archive + tests/functional/test_lock.py::test_lock_vcs + # broken by system site-packages use + tests/functional/test_freeze.py::test_freeze_with_setuptools + tests/functional/test_install.py::test_install_subprocess_output_handling + tests/functional/test_pip_runner_script.py::test_runner_work_in_environments_with_no_pip + tests/functional/test_uninstall.py::test_basic_uninstall_distutils + tests/unit/test_base_command.py::test_base_command_global_tempdir_cleanup + tests/unit/test_base_command.py::test_base_command_local_tempdir_cleanup + tests/unit/test_base_command.py::test_base_command_provides_tempdir_helpers + # broken by unbundling + "tests/functional/test_debug.py::test_debug[vendored library versions:]" + tests/functional/test_debug.py::test_debug__library_versions + tests/functional/test_freeze.py::test_freeze_multiple_exclude_with_all + tests/functional/test_install.py::test_install_package_with_same_name_in_curdir + tests/functional/test_pep517.py::test_nested_builds + tests/functional/test_python_option.py::test_python_interpreter + tests/functional/test_uninstall.py::test_basic_uninstall + tests/functional/test_uninstall.py::test_uninstall_non_local_distutils + ) + local EPYTEST_IGNORE=( + # from upstream options + tests/tests_cache + # requires proxy.py + tests/functional/test_proxy.py + ) + + if ! has_version "dev-python/cryptography[${PYTHON_USEDEP}]"; then + EPYTEST_DESELECT+=( + tests/functional/test_install.py::test_install_sends_client_cert + tests/functional/test_install_config.py::test_do_not_prompt_for_authentication + tests/functional/test_install_config.py::test_prompt_for_authentication + tests/functional/test_install_config.py::test_prompt_for_keyring_if_needed + ) + fi + + local -x PIP_DISABLE_PIP_VERSION_CHECK=1 + local EPYTEST_PLUGINS=() + # rerunfailures because test suite breaks if packages are installed + # to system site-packages while it's running + local EPYTEST_RERUNS=5 + local EPYTEST_XDIST=1 + epytest -m "not network" -o addopts= -o tmp_path_retention_policy=all \ + --use-venv +} + +python_install_all() { + local DOCS=( AUTHORS.txt docs/html/**/*.rst ) + distutils-r1_python_install_all + + newbashcomp completion.bash pip + newzshcomp completion.zsh _pip +} From 0f2bae0b1100565ff19e810725391b32918d176d Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 3 Aug 2026 08:14:34 +0000 Subject: [PATCH 078/195] dev-python/pkg-resources: Sync with Gentoo It's from Gentoo commit 52bff0e6c35e178c0818a2765eaa5231075b3786. Signed-off-by: Flatcar Buildbot --- .../dev-python/pkg-resources/pkg-resources-0.ebuild | 2 +- .../dev-python/pkg-resources/pkg-resources-81.0.0.ebuild | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/sdk_container/src/third_party/portage-stable/dev-python/pkg-resources/pkg-resources-0.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/pkg-resources/pkg-resources-0.ebuild index 066d36ee828..b010c2d12a8 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/pkg-resources/pkg-resources-0.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-python/pkg-resources/pkg-resources-0.ebuild @@ -3,7 +3,7 @@ EAPI=8 -PYTHON_COMPAT=( python3_{12..15} ) +PYTHON_COMPAT=( python3_{12..15} python3_{14,15}t ) inherit python-r1 diff --git a/sdk_container/src/third_party/portage-stable/dev-python/pkg-resources/pkg-resources-81.0.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/pkg-resources/pkg-resources-81.0.0.ebuild index 353b31e5098..fd79315c994 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/pkg-resources/pkg-resources-81.0.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-python/pkg-resources/pkg-resources-81.0.0.ebuild @@ -5,7 +5,7 @@ EAPI=8 DISTUTILS_USE_PEP517=no PYPI_PN=setuptools -PYTHON_COMPAT=( python3_{12..15} ) +PYTHON_COMPAT=( python3_{12..15} python3_{14,15}t ) PYTHON_REQ_USE="xml(+)" inherit distutils-r1 pypi From 0e9a7cb1f9bd8e77ff0117429514f461e6ffb1bf Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 3 Aug 2026 08:14:34 +0000 Subject: [PATCH 079/195] dev-python/platformdirs: Sync with Gentoo It's from Gentoo commit c0c83ab2a33fb1b98980c03c35134ef27dedec3a. Signed-off-by: Flatcar Buildbot --- .../dev-python/platformdirs/Manifest | 4 ++ .../platformdirs/platformdirs-4.10.1.ebuild | 50 +++++++++++++++++++ .../platformdirs/platformdirs-4.11.0.ebuild | 50 +++++++++++++++++++ 3 files changed, 104 insertions(+) create mode 100644 sdk_container/src/third_party/portage-stable/dev-python/platformdirs/platformdirs-4.10.1.ebuild create mode 100644 sdk_container/src/third_party/portage-stable/dev-python/platformdirs/platformdirs-4.11.0.ebuild diff --git a/sdk_container/src/third_party/portage-stable/dev-python/platformdirs/Manifest b/sdk_container/src/third_party/portage-stable/dev-python/platformdirs/Manifest index 69f7fd59a04..920f65d2995 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/platformdirs/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-python/platformdirs/Manifest @@ -1,2 +1,6 @@ DIST platformdirs-4.10.0.tar.gz 31224 BLAKE2B 4619bb4609da115660b0747237a4675a148df9a112847cb0b620c2567a24f7d7a85c7e443f92f36c3cd619b31dfacf7a5eaa1dd888548c463c48e28dcd22e178 SHA512 ad3c2dd1d65522be5b5cbd7e22447681ee0a9de80fd3716b64205c229995118ace7e9bd0282e98f9d83106df5d1332bcbebea97bc6433156de22d1e1ef2756f4 DIST platformdirs-4.10.0.tar.gz.provenance 9894 BLAKE2B 38fc9d69b639f158adc749eabac2c0495f1ce7b7bcc7ec37b95de7e612302b578abf28bdc05a4c0952cc58cd3a45859b1b099d326b67f08b24c120e702b5e05f SHA512 cc3e135570c28ea1bce8447f823723dec2f8e3384b92a598f1b8a5eb521a496a4f2a384331f21f8d6e0e1a03f6d28e54acac293a665cb454fcd338ce547911bc +DIST platformdirs-4.10.1.tar.gz 31678 BLAKE2B f856043d7dfd9a1b3e588bd4c5ee4d40edcfe307dd6234b3b21e0d8025e922c383c07535572c2217c04c680a263ff917b172e31c019c6d6155ffd5cf03a1aa0f SHA512 11590c5ede99cf866be4bc6eba7f3c0764b4e2a7d176ba0cb0b967934e0b72388a44e52ff07519637ab87290f7d5aac186be60b58eae65aeb72ca580ac97ff09 +DIST platformdirs-4.10.1.tar.gz.provenance 9920 BLAKE2B 514a93e710634d7f9bad01dcb53c7f00c7bf1988247b80d07582596749864647cfc00662de85035a62035b18e3e30c916733d43c540e99fc500c58c3da1a8a6e SHA512 9517b368a04da9b6cf923b96bef99179922cf4e6898cf4d48ff82cc269a6fe1fafbf019c76338d95f848aab628c789139c5768bc337b111b26d0e2ae91bd8b66 +DIST platformdirs-4.11.0.tar.gz 31953 BLAKE2B b0673aa3c8df445857d0f248c0f971d4f74f5650b80da210492470938031245cf7160d149ce7d0a2dc03ce718a21b351bad4649e8a216c050c59f930995172a5 SHA512 9669463cba81f09b1c90472521c3692666b4884d3885bbfbc3c8b7087547d7d4cc4169dd80eebfdc0d03972a659907014eb0e3ba2f23e339aad0e27cc03f67f9 +DIST platformdirs-4.11.0.tar.gz.provenance 9787 BLAKE2B 1ca4c1d48cd86257ba46ea2d08fffac423359942496c96e615893c1a682c48e2edf5cad66727ccddd5af095f3546e803726c6cf1c139b267d2a956c3e0e49742 SHA512 61e2696a74fa04fe32e7f141d2347205c6c804337a0c6455ff6dba0ba278497d6d553f9049d7f3128f4c1bf7941a2de90e9b83f4efbb6e9c14582199d091acc7 diff --git a/sdk_container/src/third_party/portage-stable/dev-python/platformdirs/platformdirs-4.10.1.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/platformdirs/platformdirs-4.10.1.ebuild new file mode 100644 index 00000000000..42ae74868d3 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-python/platformdirs/platformdirs-4.10.1.ebuild @@ -0,0 +1,50 @@ +# Copyright 2021-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=flit-core +PYPI_VERIFY_REPO=https://github.com/tox-dev/platformdirs +PYTHON_COMPAT=( python3_{12..15} python3_{14..15}t ) + +inherit distutils-r1 pypi + +DESCRIPTION="A small Python module for determining appropriate platform-specific dirs" +HOMEPAGE=" + https://pypi.org/project/platformdirs/ + https://github.com/tox-dev/platformdirs/ +" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris" + +BDEPEND=" + test? ( + dev-python/appdirs[${PYTHON_USEDEP}] + ) +" + +EPYTEST_PLUGINS=( pytest-mock ) +distutils_enable_tests pytest + +src_configure() { + grep -q 'build-backend = "hatchling' pyproject.toml || + die "Upstream changed build-backend, recheck" + # write a custom pyproject.toml to ease setuptools bootstrap + cat > pyproject.toml <<-EOF || die + [build-system] + requires = ["flit_core >=3.2,<4"] + build-backend = "flit_core.buildapi" + + [project] + name = "${PN}" + version = "${PV}" + description = 'A small Python package for determining appropriate platform-specific dirs, e.g. a "user data dir".' + EOF + # sigh + cat > src/platformdirs/version.py <<-EOF || die + __version__ = version = '${PV}' + __version_tuple__ = version_tuple = (${PV//./, }) + EOF +} diff --git a/sdk_container/src/third_party/portage-stable/dev-python/platformdirs/platformdirs-4.11.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/platformdirs/platformdirs-4.11.0.ebuild new file mode 100644 index 00000000000..42ae74868d3 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-python/platformdirs/platformdirs-4.11.0.ebuild @@ -0,0 +1,50 @@ +# Copyright 2021-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=flit-core +PYPI_VERIFY_REPO=https://github.com/tox-dev/platformdirs +PYTHON_COMPAT=( python3_{12..15} python3_{14..15}t ) + +inherit distutils-r1 pypi + +DESCRIPTION="A small Python module for determining appropriate platform-specific dirs" +HOMEPAGE=" + https://pypi.org/project/platformdirs/ + https://github.com/tox-dev/platformdirs/ +" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris" + +BDEPEND=" + test? ( + dev-python/appdirs[${PYTHON_USEDEP}] + ) +" + +EPYTEST_PLUGINS=( pytest-mock ) +distutils_enable_tests pytest + +src_configure() { + grep -q 'build-backend = "hatchling' pyproject.toml || + die "Upstream changed build-backend, recheck" + # write a custom pyproject.toml to ease setuptools bootstrap + cat > pyproject.toml <<-EOF || die + [build-system] + requires = ["flit_core >=3.2,<4"] + build-backend = "flit_core.buildapi" + + [project] + name = "${PN}" + version = "${PV}" + description = 'A small Python package for determining appropriate platform-specific dirs, e.g. a "user data dir".' + EOF + # sigh + cat > src/platformdirs/version.py <<-EOF || die + __version__ = version = '${PV}' + __version_tuple__ = version_tuple = (${PV//./, }) + EOF +} From 50afc01307e6c93bb091a281d4e18be3266bbeda Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 3 Aug 2026 08:14:36 +0000 Subject: [PATCH 080/195] dev-python/poetry-core: Sync with Gentoo It's from Gentoo commit 28dcb0b45953a07b409f17089713b34dfddd11e0. Signed-off-by: Flatcar Buildbot --- .../poetry-core/poetry-core-2.4.1.ebuild | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/sdk_container/src/third_party/portage-stable/dev-python/poetry-core/poetry-core-2.4.1.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/poetry-core/poetry-core-2.4.1.ebuild index 052d1074feb..1d52ce5335c 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/poetry-core/poetry-core-2.4.1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-python/poetry-core/poetry-core-2.4.1.ebuild @@ -5,8 +5,8 @@ EAPI=8 DISTUTILS_USE_PEP517=standalone PYPI_VERIFY_REPO=https://github.com/python-poetry/poetry-core -PYTHON_TESTED=( pypy3_11 python3_{11..14} ) -PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" python3_15 ) +PYTHON_TESTED=( python3_{12..15} python3_{14..15}t ) +PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" ) inherit distutils-r1 pypi @@ -57,11 +57,23 @@ python_test() { return fi + local EPYTEST_DESELECT=() + case ${EPYTHON} in + python*t) + EPYTEST_DESELECT+=( + # tests not adjusted for freethreading tags + tests/masonry/builders/test_complete.py::test_wheel_c_extension + tests/masonry/builders/test_wheel.py::test_tag + ) + ;; + esac + # Poetry expects test to be run inside a git repository, otherwise # VCS-related logic doesn't get triggered. An empty repository # suffices, though. git init || die local EPYTEST_PLUGINS=( pytest-mock ) + # NB: xdist breaks test collection epytest } From 6832cc67afd923a0671194e4d9eb936f3438eddc Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 3 Aug 2026 08:14:38 +0000 Subject: [PATCH 081/195] dev-python/pygments: Sync with Gentoo It's from Gentoo commit 2a8d18749abc4664d2059cf766f42effefdb29a7. Signed-off-by: Flatcar Buildbot --- .../dev-python/pygments/Manifest | 1 + .../pygments/pygments-2.20.0.ebuild | 47 +++++++++++++++++++ 2 files changed, 48 insertions(+) create mode 100644 sdk_container/src/third_party/portage-stable/dev-python/pygments/pygments-2.20.0.ebuild diff --git a/sdk_container/src/third_party/portage-stable/dev-python/pygments/Manifest b/sdk_container/src/third_party/portage-stable/dev-python/pygments/Manifest index 5f09793a7d0..fc3be3039a2 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/pygments/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-python/pygments/Manifest @@ -1 +1,2 @@ DIST pygments-2.19.2.tar.gz 4968631 BLAKE2B fad9d5c28194761a77f68f5428a6655c78c498917fa7b91d677e0da18a2fe5521a37440ac52bd7eb7578fac50bf4b55e95dd1ac7334644b775b9ca5b3d0f153e SHA512 3ead3a1fa4c7d86b415287949099cb0e5667ea71f7f69aa3de359bbb5c2f234d90fa5a41ec9c74cb041593e465b934d54bbb7dc87669683f04b94dd3aa6ca03c +DIST pygments-2.20.0.tar.gz 4955991 BLAKE2B 0d3ef30bdca0713946930f97d222fe3d5096a340b435383b7a6cdd0c2570cb1c4a723dcf6b09e4253fbc7c8b3eefe093529d45c4b4c1753d3e45f25347e84958 SHA512 7d073ead03b1722f862a72a962346f2d76bafb472f58fd5038061ca09675483f3b427bec700fe4ef49da9cace9e65b0d5414cda5ee20ebc056759e0c422f4547 diff --git a/sdk_container/src/third_party/portage-stable/dev-python/pygments/pygments-2.20.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/pygments/pygments-2.20.0.ebuild new file mode 100644 index 00000000000..f7a0984deec --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-python/pygments/pygments-2.20.0.ebuild @@ -0,0 +1,47 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=hatchling +PYPI_PN=${PN^} +PYTHON_FULLY_TESTED=( python3_{12..15} ) +PYTHON_COMPAT=( "${PYTHON_FULLY_TESTED[@]}" python3_{13..15}t ) + +inherit distutils-r1 pypi shell-completion + +DESCRIPTION="Pygments is a syntax highlighting package written in Python" +HOMEPAGE=" + https://pygments.org/ + https://github.com/pygments/pygments/ + https://pypi.org/project/Pygments/ +" + +LICENSE="BSD-2" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos" + +BDEPEND=" + test? ( + $(python_gen_cond_dep ' + dev-python/lxml[${PYTHON_USEDEP}] + dev-python/pillow[${PYTHON_USEDEP}] + ' "${PYTHON_FULLY_TESTED[@]}") + dev-python/wcag-contrast-ratio[${PYTHON_USEDEP}] + virtual/ttf-fonts + ) +" + +EPYTEST_DESELECT=( + # fuzzing tests, very slow + tests/test_basic_api.py::test_random_input +) + +EPYTEST_PLUGINS=() +EPYTEST_XDIST=1 +distutils_enable_tests pytest + +src_install() { + distutils-r1_src_install + newbashcomp external/pygments.bashcomp pygmentize +} From f882b55eacc3ed834ad81ea4a551bd800ede74d4 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 3 Aug 2026 08:14:39 +0000 Subject: [PATCH 082/195] dev-python/pysocks: Sync with Gentoo It's from Gentoo commit bff274bd317e5c4bcef58c1cbd2a64c8c070476d. Signed-off-by: Flatcar Buildbot --- .../portage-stable/dev-python/pysocks/pysocks-1.7.1-r2.ebuild | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sdk_container/src/third_party/portage-stable/dev-python/pysocks/pysocks-1.7.1-r2.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/pysocks/pysocks-1.7.1-r2.ebuild index 160dd81361e..f4a3db36b85 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/pysocks/pysocks-1.7.1-r2.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-python/pysocks/pysocks-1.7.1-r2.ebuild @@ -7,7 +7,7 @@ EAPI=8 DISTUTILS_USE_PEP517=setuptools PYPI_NO_NORMALIZE=1 PYPI_PN=PySocks -PYTHON_COMPAT=( python3_{11..15} pypy3_11 ) +PYTHON_COMPAT=( python3_{12..15} python3_{14,15}t ) inherit distutils-r1 pypi From 23b918239fb3e987528706737f7c3ffbea813078 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 3 Aug 2026 08:14:40 +0000 Subject: [PATCH 083/195] dev-python/requests: Sync with Gentoo It's from Gentoo commit e4f207b4897528d2eae443a3b8ae4c70b88460a2. Signed-off-by: Flatcar Buildbot --- .../portage-stable/dev-python/requests/requests-2.34.2.ebuild | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sdk_container/src/third_party/portage-stable/dev-python/requests/requests-2.34.2.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/requests/requests-2.34.2.ebuild index fcd06f10e29..dcc7389c5d1 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/requests/requests-2.34.2.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-python/requests/requests-2.34.2.ebuild @@ -6,7 +6,7 @@ EAPI=8 DISTUTILS_USE_PEP517=setuptools PYPI_VERIFY_REPO=https://github.com/psf/requests -PYTHON_COMPAT=( python3_{12..15} ) +PYTHON_COMPAT=( python3_{12..15} python3_{14,15}t ) PYTHON_REQ_USE="threads(+)" inherit distutils-r1 pypi From 6b5d57194c3d905bb8558e1b373ac313cb1872d6 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 3 Aug 2026 08:14:40 +0000 Subject: [PATCH 084/195] dev-python/resolvelib: Sync with Gentoo It's from Gentoo commit fb46266b39d61b0adc87b273a6bf943ebeaf160c. Signed-off-by: Flatcar Buildbot --- .../dev-python/resolvelib/resolvelib-1.2.1.ebuild | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sdk_container/src/third_party/portage-stable/dev-python/resolvelib/resolvelib-1.2.1.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/resolvelib/resolvelib-1.2.1.ebuild index cce7aa0d56b..0118c0c074b 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/resolvelib/resolvelib-1.2.1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-python/resolvelib/resolvelib-1.2.1.ebuild @@ -4,7 +4,7 @@ EAPI=8 DISTUTILS_USE_PEP517=setuptools -PYTHON_COMPAT=( python3_{12..15} ) +PYTHON_COMPAT=( python3_{12..15} python3_{14,15}t ) inherit distutils-r1 From 4b40d39f07c8dc56ffaba3bc1875ad555dc67e3c Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 3 Aug 2026 08:14:40 +0000 Subject: [PATCH 085/195] dev-python/rich: Sync with Gentoo It's from Gentoo commit 85eb62bec921f8ec78f837124e4e77be3dea7b63. Signed-off-by: Flatcar Buildbot --- .../portage-stable/dev-python/rich/rich-15.0.0.ebuild | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sdk_container/src/third_party/portage-stable/dev-python/rich/rich-15.0.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/rich/rich-15.0.0.ebuild index 3fdf7efcc77..07ba22b5b5b 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/rich/rich-15.0.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-python/rich/rich-15.0.0.ebuild @@ -4,7 +4,7 @@ EAPI=8 DISTUTILS_USE_PEP517=poetry -PYTHON_COMPAT=( python3_{12..15} ) +PYTHON_COMPAT=( python3_{12..15} python3_{14,15}t ) inherit distutils-r1 optfeature From 05be20fd434fbeb866d36a95120ff85278a6347d Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 3 Aug 2026 08:14:41 +0000 Subject: [PATCH 086/195] dev-python/setuptools: Sync with Gentoo It's from Gentoo commit 29ea75f0993f32a51359b72783aff5329053e3d7. Signed-off-by: Flatcar Buildbot --- .../dev-python/setuptools/setuptools-83.0.0.ebuild | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sdk_container/src/third_party/portage-stable/dev-python/setuptools/setuptools-83.0.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/setuptools/setuptools-83.0.0.ebuild index 2e5951da1aa..900a4d2c153 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/setuptools/setuptools-83.0.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-python/setuptools/setuptools-83.0.0.ebuild @@ -7,8 +7,8 @@ EAPI=8 # please bump dev-python/ensurepip-setuptools along with this package! DISTUTILS_USE_PEP517=standalone -PYTHON_TESTED=( python3_{11..14} pypy3_11 ) -PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" python3_15 python3_{13..15}t ) +PYTHON_TESTED=( python3_{12..15} ) +PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" python3_{14..15}t ) PYTHON_REQ_USE="xml(+)" inherit distutils-r1 pypi From ed7d88b9cde4f4bf1c7167fb04ff467b04bbca79 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 3 Aug 2026 08:14:41 +0000 Subject: [PATCH 087/195] dev-python/setuptools-scm: Sync with Gentoo It's from Gentoo commit ad5d3fc14f81aca03b6bc8e1d1caebced90bd039. Signed-off-by: Flatcar Buildbot --- .../dev-python/setuptools-scm/Manifest | 6 +- .../setuptools-scm-10.1.1.ebuild | 58 ------------------- .../setuptools-scm-10.1.2.ebuild | 2 +- ....0.ebuild => setuptools-scm-10.2.1.ebuild} | 0 4 files changed, 3 insertions(+), 63 deletions(-) delete mode 100644 sdk_container/src/third_party/portage-stable/dev-python/setuptools-scm/setuptools-scm-10.1.1.ebuild rename sdk_container/src/third_party/portage-stable/dev-python/setuptools-scm/{setuptools-scm-10.2.0.ebuild => setuptools-scm-10.2.1.ebuild} (100%) diff --git a/sdk_container/src/third_party/portage-stable/dev-python/setuptools-scm/Manifest b/sdk_container/src/third_party/portage-stable/dev-python/setuptools-scm/Manifest index ba7650b237e..51b63d40fc4 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/setuptools-scm/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-python/setuptools-scm/Manifest @@ -1,10 +1,8 @@ DIST setuptools_scm-10.0.5.tar.gz 56748 BLAKE2B b41195c9f55f911a8287814ca92216cdc8169f0eec9573f20739d02a2b08fd89eaa268585b589e8e6351e8ec14d1411bf057265c04796891c764abc88a5685bd SHA512 7384b3d27497e298265aadb03dc7edd907c46cce9caf4c086751a84e5ae151e41cd4af7b07e641a5d799374c348585c118bb82a9715568b01a5cc814d71057fa DIST setuptools_scm-10.0.5.tar.gz.provenance 9960 BLAKE2B a87ce476be89d90cd11ddff5c92bfaae0716f59dd4953f495273cd4a56f1f57f27461fb07c39884ce64c6b8094fa914e2a374580ca301e9b5ac35dc102f61700 SHA512 578aea9cb7238b26fc421fcef9de704598970700967af4f1a94ca9d582a16e408759f2434fe7fa623d69065cca2b795af0eef10ee4faf65fa86bbf84524c82b1 -DIST setuptools_scm-10.1.1.tar.gz 66514 BLAKE2B 5f683dd881bbb69bec3fbcefb9688df74b001b862822f50ca28158285802cf0c2675286e746c383132807af7f761e7a165a2c4dfba53e458f804160616bb02cb SHA512 d48cf858a448d200670a2539c258d40c419c0d41c12e2cadbe7c90dfd449318b25e2c1a4b70b0ad6e040cb05a867b9701bb2e282f0364de23e56d73f31ecd5fc -DIST setuptools_scm-10.1.1.tar.gz.provenance 10393 BLAKE2B bd079e3696abc42694f5a01a3495e79839403a08a47ec3bfd89e3e18f9331e79df92bffe890591f77ebb2a932ff797f60d87468745f2fc123292d3481ebe7647 SHA512 674a3342aef170ecb88afafdd3464e7ad13ea949399742ba9fde3536029c1cea24b9c8821abb77e9fdb6c4653e5ba04472d8b9cb2bb0446640cb863213aaa14a DIST setuptools_scm-10.1.2.tar.gz 66674 BLAKE2B 236058e5c0ba6299757e3e4693e51ea004eb06d4159a4c4dfc3a1f8af59344772a01ba4dc32cd0e3763e5f55943effd393ccae51901693eb85f8eff891c76d3b SHA512 0791ab22419ef79e5aac1ebb5958a831f08ce0834d5ceab2ec0bdf085c73060d75e81cd6dfce7b29a317a68e444be681465662406247ac3e572a5bf100000362 DIST setuptools_scm-10.1.2.tar.gz.provenance 10213 BLAKE2B 96096834a2f4cf59f557c7b813adaa4f77f6d9aaacf1695cebeb4a84fe7ff7f26a2c37c20f678fbc8f7bbdb42c255abd6b903310d6369dd36c5429f4513e94b4 SHA512 fa8855840d287a382ecbb8c6292824b11e62640155ffddd178804a0e06374d78b81e6699623fd26613c21f84b47d21a6947f5985b3b2b28be04836c8118b66df -DIST setuptools_scm-10.2.0.tar.gz 67319 BLAKE2B 1dec0a216528126a9bc0179a5e103602bb37b25c7122238024137236908f6148c81b0f1f020cb60bf134e1a4623df3c4a780e7aebd4e61e6633a21a7b9b9da04 SHA512 682c69594b49e4fd6f20c886553a531ef90622ccd82978c0c3b7db240d9f183bd0942cf635cc35d972411fbcb0a22929bbc592bb30959b3370a2a6a7d5e8a7b2 -DIST setuptools_scm-10.2.0.tar.gz.provenance 10276 BLAKE2B eb102a3ed345c201ba583cd6659f24f02fc7bab51c3fe91653e1478f153d88df9e27995f3a4c0bd70cf74958bd42e98f503fcfe8f5817d73978783b0d62c2e59 SHA512 b2d4335e1ec1145f33b89058eda0af7045f8e81c9e84a969ad13c1a5bd76fdb8fd73f270d8edc516771e8e39d959d42b44a1dfadcda4e35897e5a1a49917601e +DIST setuptools_scm-10.2.1.tar.gz 154237 BLAKE2B 250978fc39815dc05f79aa5da3a688330c5a0a553e62e631f6781dda9551d5b077bb9bd07c70dec0fe340296f66d247a287bfe04dae60051212cd0b11bee1f65 SHA512 9ca752d7b6f56e4ba8d84d619099be04b0711719926e9e0fcbe9776bf42cb9485c78014532d0b787cf625820f664863a086dd7b600e8d1c54ae58ab6725187c0 +DIST setuptools_scm-10.2.1.tar.gz.provenance 10217 BLAKE2B 305ce26746d8239bca467956131f6d61b10084218e72e668cdee2108af9c03da6597d663d7bbc8309e056c3865d4808538ac7187c31dcfdeb9f659571754ef4c SHA512 e1620b0da56d77d6ca658e993d7663a86ac3cd5eb7d4e31ce147d156ad3365d922aa28ab42cf61c8c85f0f8e2cc350590d1f5cf4b2a63def8517d963125f870f DIST setuptools_scm-9.2.2.tar.gz 203385 BLAKE2B 8577c4c6265ae851212be04b245b3da8b49d541174f5e675dea916c76b3cba5b5ab9f6264a97904e2d5ca02dee4e3f8eb88c9e8badbba2ed53bed531fe9f6b6c SHA512 757ca11a3d13601606b6914ea70e3d271d287f26ada976ec77334fc0f611208669585d2580994f1ddff830cd698a837d3e882dd5cdccdaf9f8eba34fdd8cb708 DIST setuptools_scm-9.2.2.tar.gz.provenance 9705 BLAKE2B b710df7f8cbb324aa2927243ab0416869319813016d64f589b7a9f565576fff58c1aee18da4ea9bc3fb5a969cf74c1fcaa1332812bf88267ec9f2bf437876e53 SHA512 6ac563d0ab5f1afce28976eb030364a451508ec7d47b6e99668c37b8ba09e3b56500b104d62ad6047fad9f6be0b2b6ebea66b561041485b9d15b84c39fe92313 diff --git a/sdk_container/src/third_party/portage-stable/dev-python/setuptools-scm/setuptools-scm-10.1.1.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/setuptools-scm/setuptools-scm-10.1.1.ebuild deleted file mode 100644 index f4db17aa8b6..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-python/setuptools-scm/setuptools-scm-10.1.1.ebuild +++ /dev/null @@ -1,58 +0,0 @@ -# Copyright 1999-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -# please keep this ebuild at EAPI 8 -- sys-apps/portage dep -EAPI=8 - -DISTUTILS_USE_PEP517=setuptools -PYPI_VERIFY_REPO=https://github.com/pypa/setuptools-scm -PYTHON_COMPAT=( python3_{12..15} python3_{14..15}t ) - -inherit distutils-r1 pypi - -DESCRIPTION="Manage versions by scm tags via setuptools" -HOMEPAGE=" - https://github.com/pypa/setuptools-scm/ - https://pypi.org/project/setuptools-scm/ -" - -LICENSE="MIT" -SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~m68k ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" - -# there's an optional dep on rich for cute logs -RDEPEND=" - dev-python/packaging[${PYTHON_USEDEP}] - >=dev-python/setuptools-64[${PYTHON_USEDEP}] - >=dev-python/vcs-versioning-2.0.0[${PYTHON_USEDEP}] -" -BDEPEND=" - >=dev-python/vcs-versioning-2.0.0[${PYTHON_USEDEP}] - test? ( - dev-python/build[${PYTHON_USEDEP}] - dev-python/typing-extensions[${PYTHON_USEDEP}] - dev-vcs/git - ) -" - -EPYTEST_PLUGINS=( pytest-timeout ) -EPYTEST_XDIST=1 -distutils_enable_tests pytest - -python_test() { - local EPYTEST_DESELECT=( - # Internet - testing_scm/test_functions.py::test_dump_version_mypy - testing_scm/test_integration.py::test_xmlsec_download_regression - testing_scm/test_regressions.py::test_pip_download - ) - - if ! has_version "dev-python/pip[${PYTHON_USEDEP}]"; then - EPYTEST_DESELECT+=( - testing_scm/test_integration.py::test_editable_install_without_env_var - testing_scm/test_integration.py::test_editable_install_version_file - ) - fi - - epytest -} diff --git a/sdk_container/src/third_party/portage-stable/dev-python/setuptools-scm/setuptools-scm-10.1.2.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/setuptools-scm/setuptools-scm-10.1.2.ebuild index ebc6ef29762..d814b7862a8 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/setuptools-scm/setuptools-scm-10.1.2.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-python/setuptools-scm/setuptools-scm-10.1.2.ebuild @@ -18,7 +18,7 @@ HOMEPAGE=" LICENSE="MIT" SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~m68k ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~m68k ppc ppc64 ~riscv ~s390 ~sparc x86" # there's an optional dep on rich for cute logs RDEPEND=" diff --git a/sdk_container/src/third_party/portage-stable/dev-python/setuptools-scm/setuptools-scm-10.2.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/setuptools-scm/setuptools-scm-10.2.1.ebuild similarity index 100% rename from sdk_container/src/third_party/portage-stable/dev-python/setuptools-scm/setuptools-scm-10.2.0.ebuild rename to sdk_container/src/third_party/portage-stable/dev-python/setuptools-scm/setuptools-scm-10.2.1.ebuild From cfa5d07fa14fdb124b1a7983a6213b1234ec004f Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 3 Aug 2026 08:14:42 +0000 Subject: [PATCH 088/195] dev-python/snakeoil: Sync with Gentoo It's from Gentoo commit e4c5ebfc1d4b8c8b0aafc38efe7398a8e264ec6b. Signed-off-by: Flatcar Buildbot --- .../dev-python/snakeoil/Manifest | 4 +++ .../snakeoil/snakeoil-0.11.1.ebuild | 2 +- .../snakeoil/snakeoil-0.11.2.ebuild | 32 +++++++++++++++++++ .../snakeoil/snakeoil-0.11.3.ebuild | 32 +++++++++++++++++++ 4 files changed, 69 insertions(+), 1 deletion(-) create mode 100644 sdk_container/src/third_party/portage-stable/dev-python/snakeoil/snakeoil-0.11.2.ebuild create mode 100644 sdk_container/src/third_party/portage-stable/dev-python/snakeoil/snakeoil-0.11.3.ebuild diff --git a/sdk_container/src/third_party/portage-stable/dev-python/snakeoil/Manifest b/sdk_container/src/third_party/portage-stable/dev-python/snakeoil/Manifest index 7d6bf29b4b1..d2f121cff65 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/snakeoil/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-python/snakeoil/Manifest @@ -2,3 +2,7 @@ DIST snakeoil-0.11.0.tar.gz 201462 BLAKE2B c8d9953b5fc482afbadd471c6de273518d1b3 DIST snakeoil-0.11.0.tar.gz.provenance 9238 BLAKE2B 6724f3cde7cfabdfc44a8e0056a8c112d97ff7ffba98c90c998f8244a7ebf5b38198613b49f0df7dc9106cba6d07a68bb02b6cfaf70d83e6692f730a4fdce1c2 SHA512 990cf993fab784e7878517872183edf91b0a9725c08e618974a05b68c75c35b2bd03e865bd5a3ce21fcc138cbc84a1a0051be40fda639d5f3bcc8c8c0a6ef347 DIST snakeoil-0.11.1.tar.gz 205402 BLAKE2B 5adce8d484b4bfe9936a91368f4aaf618b76365734a75c6659462328641dbcfa5d7dec059a8f3ba6cee626994ed71ef68011e3fa4356e7c8a50c527a46c88ef4 SHA512 ba74e8aea92e52b4643cfcf7d7e4b408567f8b3f8a614831520b8e3c454bfc84258766825285c1495cca4e990b5ac73db8b02f444037ae877531153b29e3a9cd DIST snakeoil-0.11.1.tar.gz.provenance 9560 BLAKE2B 7323544a63f67e1208f01288a09a8254eba31688d57599284b568586109260383ffcf71555963c8998e31cc1974b81de5483e592151bab07efd88f7d1a7cad1b SHA512 1508b466ba8921895279e8b3e8951e338fe240fddae709563d45e47cd948ae2ab51d37664bf3e8780913c45368410ad1704d8b17b2887fffb9bf038f015b4a6e +DIST snakeoil-0.11.2.tar.gz 205822 BLAKE2B 4f7f5a17868562a6216743f3a7bab2c9e0110ce4930ab72b253c52bee2a51279292f6538e774ce9126fee5c8b78c44a02e315c22cf65803c5e82124623768590 SHA512 cad0d03c001366a0d5c80562b5c63b252e202668d8155dad7ae431d254a1d89827032711f224d06e041754e87880b5030e122bc36e1136c825f4c8ef31054a52 +DIST snakeoil-0.11.2.tar.gz.provenance 9842 BLAKE2B 72fe1b24af0cd346d8e2b2d0e12135a14fdec32fc7d29f90dee467d7f98bd60970adad691c588bca96082d75bc3d191828ffbcbd2315f824554e3c7ee4cef39f SHA512 c3f604bf69c4c4fe18c24c7e729ec256ab5831cb44732a22bac2b9204f7393b4e86bcb87fff879f6431b50d9c8d31f2f841751e2a55d8476c08295bcb303c7a8 +DIST snakeoil-0.11.3.tar.gz 206577 BLAKE2B 7418f0d419e7a2f774f043734600d1a66f1e3c3a3943d45ccb1bc15c17fad0e4ec2ad02459a42ed2f0db6545ce913c46dc359d02caeed156e20547c7e8b15b89 SHA512 367d37f01d58cbeabc31fa6ed0a747c8e5910688328cf0276c762ea4cfcf2abec187384b291dc3ac14187bc0528944c0972229208f6c3a2a48169fd6d26c0fc0 +DIST snakeoil-0.11.3.tar.gz.provenance 9748 BLAKE2B cdf6b9e4a9a932894f43604c3a5ba008c97f5972cecd2a40aab9d89b6e56ee3496495157b107b12032f6e38eeaa82965fa988dea8ee2c1ec43ed3b2140e089f3 SHA512 b8fd5dc236329e610cee1f2c1ebd6c39e045c79ae53113b2496862b5a6b23a5d692fbcc590c40509dd147ae759bb32283eba73303ebd31de0aa2b602411956f3 diff --git a/sdk_container/src/third_party/portage-stable/dev-python/snakeoil/snakeoil-0.11.1.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/snakeoil/snakeoil-0.11.1.ebuild index d219caaba52..05cac6a6c65 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/snakeoil/snakeoil-0.11.1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-python/snakeoil/snakeoil-0.11.1.ebuild @@ -15,7 +15,7 @@ if [[ ${PV} == *9999 ]] ; then https://github.com/pkgcore/snakeoil.git" inherit git-r3 else - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos" + KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~x64-macos" inherit pypi fi diff --git a/sdk_container/src/third_party/portage-stable/dev-python/snakeoil/snakeoil-0.11.2.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/snakeoil/snakeoil-0.11.2.ebuild new file mode 100644 index 00000000000..d219caaba52 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-python/snakeoil/snakeoil-0.11.2.ebuild @@ -0,0 +1,32 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=flit +PYPI_VERIFY_REPO=https://github.com/pkgcore/snakeoil +PYTHON_COMPAT=( python3_{12..15} ) +PYTHON_REQ_USE="threads(+)" + +inherit distutils-r1 + +if [[ ${PV} == *9999 ]] ; then + EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/pkgcore/snakeoil.git + https://github.com/pkgcore/snakeoil.git" + inherit git-r3 +else + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos" + inherit pypi +fi + +DESCRIPTION="misc common functionality and useful optimizations" +HOMEPAGE=" + https://github.com/pkgcore/snakeoil/ + https://pypi.org/project/snakeoil/ +" + +LICENSE="BSD BSD-2 MIT" +SLOT="0" + +EPYTEST_PLUGINS=() +distutils_enable_tests pytest diff --git a/sdk_container/src/third_party/portage-stable/dev-python/snakeoil/snakeoil-0.11.3.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/snakeoil/snakeoil-0.11.3.ebuild new file mode 100644 index 00000000000..d219caaba52 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-python/snakeoil/snakeoil-0.11.3.ebuild @@ -0,0 +1,32 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=flit +PYPI_VERIFY_REPO=https://github.com/pkgcore/snakeoil +PYTHON_COMPAT=( python3_{12..15} ) +PYTHON_REQ_USE="threads(+)" + +inherit distutils-r1 + +if [[ ${PV} == *9999 ]] ; then + EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/pkgcore/snakeoil.git + https://github.com/pkgcore/snakeoil.git" + inherit git-r3 +else + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos" + inherit pypi +fi + +DESCRIPTION="misc common functionality and useful optimizations" +HOMEPAGE=" + https://github.com/pkgcore/snakeoil/ + https://pypi.org/project/snakeoil/ +" + +LICENSE="BSD BSD-2 MIT" +SLOT="0" + +EPYTEST_PLUGINS=() +distutils_enable_tests pytest From 0288edc21f605920191de79a2ef3410fd3793e24 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 3 Aug 2026 08:14:46 +0000 Subject: [PATCH 089/195] dev-python/truststore: Sync with Gentoo It's from Gentoo commit 408edfc40dddcac11d806be05fd2616786027387. Signed-off-by: Flatcar Buildbot --- .../dev-python/truststore/truststore-0.10.4.ebuild | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/sdk_container/src/third_party/portage-stable/dev-python/truststore/truststore-0.10.4.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/truststore/truststore-0.10.4.ebuild index c6c3a60eb23..b21d6c9a65c 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/truststore/truststore-0.10.4.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-python/truststore/truststore-0.10.4.ebuild @@ -4,8 +4,8 @@ EAPI=8 DISTUTILS_USE_PEP517=flit-core -PYTHON_TESTED=( python3_{12..14} ) -PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" python3_15 ) +PYTHON_TESTED=( python3_{12..15} ) +PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" python3_{14,15}t ) inherit distutils-r1 @@ -51,5 +51,6 @@ python_test() { fi local EPYTEST_PLUGINS=( pytest-{asyncio,httpserver,rerunfailures} ) + local EPYTEST_RERUNS=5 epytest } From b5a0a8181073d31e603408700a20a512b7e6d062 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 3 Aug 2026 08:14:46 +0000 Subject: [PATCH 090/195] dev-python/typing-extensions: Sync with Gentoo It's from Gentoo commit 120ab68a096dccbbe057e91e6c16883651e51597. Signed-off-by: Flatcar Buildbot --- .../typing-extensions/typing-extensions-4.16.0.ebuild | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sdk_container/src/third_party/portage-stable/dev-python/typing-extensions/typing-extensions-4.16.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/typing-extensions/typing-extensions-4.16.0.ebuild index ed821789db7..d4437545516 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/typing-extensions/typing-extensions-4.16.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-python/typing-extensions/typing-extensions-4.16.0.ebuild @@ -17,7 +17,7 @@ HOMEPAGE=" LICENSE="PSF-2" SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" IUSE="test" RESTRICT="!test? ( test )" From 4d51666779a1e7b1eb92161a23f609cac614f0f7 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 3 Aug 2026 08:14:46 +0000 Subject: [PATCH 091/195] dev-python/uc-micro-py: Sync with Gentoo It's from Gentoo commit 43342099eecc226ddf46981315f20e81f5501502. Signed-off-by: Flatcar Buildbot --- .../dev-python/uc-micro-py/uc-micro-py-2.0.0.ebuild | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sdk_container/src/third_party/portage-stable/dev-python/uc-micro-py/uc-micro-py-2.0.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/uc-micro-py/uc-micro-py-2.0.0.ebuild index ed7d5b90e4a..eb0b8dd4252 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/uc-micro-py/uc-micro-py-2.0.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-python/uc-micro-py/uc-micro-py-2.0.0.ebuild @@ -5,7 +5,7 @@ EAPI=8 DISTUTILS_USE_PEP517=setuptools PYPI_VERIFY_REPO=https://github.com/tsutsu3/uc.micro-py -PYTHON_COMPAT=( python3_{12..15} ) +PYTHON_COMPAT=( python3_{12..15} python3_{14,15}t ) inherit distutils-r1 pypi From 917c5aa89866ea942c9eb2c6f4c7fe21365f4bc1 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 3 Aug 2026 08:14:46 +0000 Subject: [PATCH 092/195] dev-python/urllib3: Sync with Gentoo It's from Gentoo commit 74cbb1109b63348ad6af4bbb9037728089fa1100. Signed-off-by: Flatcar Buildbot --- .../portage-stable/dev-python/urllib3/urllib3-2.7.0.ebuild | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sdk_container/src/third_party/portage-stable/dev-python/urllib3/urllib3-2.7.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/urllib3/urllib3-2.7.0.ebuild index c0e7dc04cd2..401789152e6 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/urllib3/urllib3-2.7.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-python/urllib3/urllib3-2.7.0.ebuild @@ -7,7 +7,7 @@ EAPI=8 DISTUTILS_USE_PEP517=hatchling PYPI_VERIFY_REPO=https://github.com/urllib3/urllib3 PYTHON_TESTED=( python3_{12..15} ) -PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" ) +PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" python3_{14..15}t ) PYTHON_REQ_USE="ssl(+)" inherit distutils-r1 pypi From 5bd3ab1f3bf89d27acda90b874ac83ed6c836268 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 3 Aug 2026 08:14:47 +0000 Subject: [PATCH 093/195] dev-python/vcs-versioning: Sync with Gentoo It's from Gentoo commit 9fb49dd172d00422b13b2d2f1fe3f01fb4a442d8. Signed-off-by: Flatcar Buildbot --- .../dev-python/vcs-versioning/Manifest | 8 +--- .../vcs-versioning-2.1.2.ebuild | 39 ------------------- .../vcs-versioning-2.2.0.ebuild | 39 ------------------- .../vcs-versioning-2.2.2.ebuild | 2 +- ...1.0.ebuild => vcs-versioning-2.2.3.ebuild} | 6 +-- 5 files changed, 6 insertions(+), 88 deletions(-) delete mode 100644 sdk_container/src/third_party/portage-stable/dev-python/vcs-versioning/vcs-versioning-2.1.2.ebuild delete mode 100644 sdk_container/src/third_party/portage-stable/dev-python/vcs-versioning/vcs-versioning-2.2.0.ebuild rename sdk_container/src/third_party/portage-stable/dev-python/vcs-versioning/{vcs-versioning-2.1.0.ebuild => vcs-versioning-2.2.3.ebuild} (88%) diff --git a/sdk_container/src/third_party/portage-stable/dev-python/vcs-versioning/Manifest b/sdk_container/src/third_party/portage-stable/dev-python/vcs-versioning/Manifest index 3e0665f3b0c..0c503ce9bce 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/vcs-versioning/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-python/vcs-versioning/Manifest @@ -1,10 +1,6 @@ DIST vcs_versioning-1.1.1.tar.gz 97575 BLAKE2B c55952d68f021d6e7edf7ec7ba54a9a6e9716a0a220b035a5df5f33315f8a0a8b235a67139c52a1b53ba8dcd470d3c52cee11575f81f08b09d867dcf350416ac SHA512 e5bf9fa68eeb38c8d884f4bad6f93f1354854ad0ab04919d369ed1b40832c2ed117f4c9d9458ae5a8a71c84497f6d0ff0ca5b38881c7a3a057619b3da3cbbbbc DIST vcs_versioning-1.1.1.tar.gz.provenance 9842 BLAKE2B 7c25bc61bc3f6644f82b03252f1fe9322ddd3e0aff8c473f54105f41b43951ae8b18fd6377d5dfa64b5c00f5ed17e32c3637fff03e0b7e4e8c27c796a0ff38bd SHA512 902b141380652204deadd5265c191dd86c154b6e5ee305148fdeee8d242a02ab129d59a0e1530422ba95b9d752d011fc6a4e8246931bd0558a6a0509778c0913 -DIST vcs_versioning-2.1.0.tar.gz 130507 BLAKE2B 94a0b4e1e9ca3421a6476f818b057dac2007eac088f06b1ed1ba5160b00d094a918e30a5952e35f7667558eefc20f11cd0e7864e3294c713a7abdee33d43c60d SHA512 b8cdb083e2a229fd78141e51543971d2ad066f9e3ba53aa8be941ce6408c8b80b8db2eb4aac738d31de47d409d4eaa4473ebe3458f7b8ed696ac4127b28f76f3 -DIST vcs_versioning-2.1.0.tar.gz.provenance 10150 BLAKE2B f3969455387d463b95892ec51667ace679918a8bb2d72605c92d61f7da9117f516c0d17c770b01b5bd4c8c760e33c26c761b2bc1a0f97806fd9b5c25346b9171 SHA512 da43973d6f3e7f02559cf659a7628404e927438890faa9387c6694ee62428f10165c4c3ec1984c6e546aa5b664c1bc47acbd32fc9791758c3cb210ac3f0bf36a -DIST vcs_versioning-2.1.2.tar.gz 131716 BLAKE2B cc71ee0509b92af3d859d85d226e4bc52ebfd17c09eb9e215caf01e92131f57741fa996af184a70ce7040ba3d3607c31af9e3cde0fbf9b986b869d64eb6c847e SHA512 12fa4b10ebe8aa7014fbf9e96e607224f886d4f72ee2b09a346ba25e0ddcf09cc67f38807472d94dfb9ff94bd7462f06669b88c91dc6e68ee177b338265bc501 -DIST vcs_versioning-2.1.2.tar.gz.provenance 10346 BLAKE2B 9d7c828b593a69dc7a1c2544e3e57b5b0652436c00c77d57fbff5fcef45b1f10df0758d500efde0e1b5c8fbfd7bbff64fe3a0206434b77370bcfc0637b57df1d SHA512 571095ceeaeadae96d6a5b9182789be52ed8d889b239b164afd1af62f5fd3702b8ed0a219b4d685449a205293eaaa1cadd6b188eff37ece68a9987e51444a84d -DIST vcs_versioning-2.2.0.tar.gz 132140 BLAKE2B 006dc96b4bf4d6e60a6f38ae2714bf193392531bdfae2d1a284e5237b1dad604200f373330efef3f659a2ea373712f5cca27bac8584f43688323e23cab884199 SHA512 a99d49bf1db43acd9cd397c07a187522dca13bb02cd239e7c96b4c1e1ad1e8f70256e5e997639f8753cfc1f02de5a3a0ada7ac007698605bb1ce65a172c142a6 -DIST vcs_versioning-2.2.0.tar.gz.provenance 10146 BLAKE2B 934131b93e900c4806ba9efbfb6f34ffeacee5d889227b350a73dc720eb24b708a1321f2052352b29cb5201396c08a66a7a5bf308047f1c0fe9c63bab8871c95 SHA512 f4f47b53516c9868152417c28bf59f5bc42fe2d218113fc4986c655b7a1795afd84f06ddf3995ae1ad555a4d438315f0acbbed3b245ccfaf700055ba1025f658 DIST vcs_versioning-2.2.2.tar.gz 143135 BLAKE2B a04f2687e8cd34caea599090decb6be74f886020a75582929052cea301a36e086f8ae0917b16007a5cf34103230f99c1bf74f96a45fe7ec4eaa654e9988a36b8 SHA512 b65af99a5078d8b129e34610bbeb7d1fa8f57badb304e00f14c6318a13b2314b7ca739a26fc7729b0d2df6d829769f8b93fee28ae9f0450ab1246a2a4c36fc8f DIST vcs_versioning-2.2.2.tar.gz.provenance 10134 BLAKE2B 47904c81c239851654bcf0f58326efbaa245fb3e7a673c12e5c8eda809fc403862b4d277d193ad8955072628f5cd7b7127b61fd50142ad9ea85740344df0e509 SHA512 60512914d4701ae0b14896188b0bcce97c9807ef6ae400e60b77225c8bfc6e8c05801a042e4a28cc4ae5f15d832c808bb609d665ec08ba8c6693654c07fcbfb2 +DIST vcs_versioning-2.2.3.tar.gz 143653 BLAKE2B a0b1b4a923d775ca62ec60a0c006ee7b98ce047a9eaca2bbda7bdfe81fe945ac1dd4ebeec7f96bb6d8fbe45d1411e149cbbd83174e9f28f58f1937b966d3fbcf SHA512 847d97ffe3262052076876907e2564656dd6caf38ee8587ce2dd6759c22a4f1f7fd052b542ae78aa1baba25dc673e28d1ee8b984272ea25054a92dc94ff53779 +DIST vcs_versioning-2.2.3.tar.gz.provenance 10154 BLAKE2B 5fdf3e7f32c762afdcf1bb10b4b4a44c493ffa555a370a356462d54e950f28a7d91a6edf501dd2971967140b76b5356ee538e6ef1de5c26c4bc72be8265daee8 SHA512 d6b3fe687707de6ffbf7dc1036bc94cc1973c555c3e49151ba0393ef9fa13498d7005d71d38202ce0e582f785d76b70d9940f2e1be582f9c22677de4a6508153 diff --git a/sdk_container/src/third_party/portage-stable/dev-python/vcs-versioning/vcs-versioning-2.1.2.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/vcs-versioning/vcs-versioning-2.1.2.ebuild deleted file mode 100644 index a30cd8f785a..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-python/vcs-versioning/vcs-versioning-2.1.2.ebuild +++ /dev/null @@ -1,39 +0,0 @@ -# Copyright 2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DISTUTILS_USE_PEP517=setuptools -PYPI_VERIFY_REPO=https://github.com/pypa/setuptools-scm -PYTHON_COMPAT=( python3_{12..15} python3_{14..15}t ) - -inherit distutils-r1 pypi - -DESCRIPTION="Core VCS versioning functionality from setuptools-scm" -HOMEPAGE=" - https://github.com/pypa/setuptools-scm/ - https://pypi.org/project/vcs-versioning/ -" - -LICENSE="MIT" -SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~m68k ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" - -RDEPEND=" - >=dev-python/packaging-20[${PYTHON_USEDEP}] -" -BDEPEND=" - >=dev-python/packaging-20[${PYTHON_USEDEP}] - test? ( - >=dev-python/setuptools-scm-10.1.1[${PYTHON_USEDEP}] - ) -" - -EPYTEST_PLUGINS=() -EPYTEST_XDIST=1 -distutils_enable_tests pytest - -EPYTEST_DESELECT=( - # the usual nondescript gpg-agent failure - testing_vcs/test_git.py::test_git_getdate_signed_commit -) diff --git a/sdk_container/src/third_party/portage-stable/dev-python/vcs-versioning/vcs-versioning-2.2.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/vcs-versioning/vcs-versioning-2.2.0.ebuild deleted file mode 100644 index a30cd8f785a..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-python/vcs-versioning/vcs-versioning-2.2.0.ebuild +++ /dev/null @@ -1,39 +0,0 @@ -# Copyright 2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DISTUTILS_USE_PEP517=setuptools -PYPI_VERIFY_REPO=https://github.com/pypa/setuptools-scm -PYTHON_COMPAT=( python3_{12..15} python3_{14..15}t ) - -inherit distutils-r1 pypi - -DESCRIPTION="Core VCS versioning functionality from setuptools-scm" -HOMEPAGE=" - https://github.com/pypa/setuptools-scm/ - https://pypi.org/project/vcs-versioning/ -" - -LICENSE="MIT" -SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~m68k ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" - -RDEPEND=" - >=dev-python/packaging-20[${PYTHON_USEDEP}] -" -BDEPEND=" - >=dev-python/packaging-20[${PYTHON_USEDEP}] - test? ( - >=dev-python/setuptools-scm-10.1.1[${PYTHON_USEDEP}] - ) -" - -EPYTEST_PLUGINS=() -EPYTEST_XDIST=1 -distutils_enable_tests pytest - -EPYTEST_DESELECT=( - # the usual nondescript gpg-agent failure - testing_vcs/test_git.py::test_git_getdate_signed_commit -) diff --git a/sdk_container/src/third_party/portage-stable/dev-python/vcs-versioning/vcs-versioning-2.2.2.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/vcs-versioning/vcs-versioning-2.2.2.ebuild index 7371e885fd0..d94f466afb7 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/vcs-versioning/vcs-versioning-2.2.2.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-python/vcs-versioning/vcs-versioning-2.2.2.ebuild @@ -17,7 +17,7 @@ HOMEPAGE=" LICENSE="MIT" SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~m68k ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~m68k ppc ppc64 ~riscv ~s390 ~sparc x86" RDEPEND=" >=dev-python/packaging-20[${PYTHON_USEDEP}] diff --git a/sdk_container/src/third_party/portage-stable/dev-python/vcs-versioning/vcs-versioning-2.1.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/vcs-versioning/vcs-versioning-2.2.3.ebuild similarity index 88% rename from sdk_container/src/third_party/portage-stable/dev-python/vcs-versioning/vcs-versioning-2.1.0.ebuild rename to sdk_container/src/third_party/portage-stable/dev-python/vcs-versioning/vcs-versioning-2.2.3.ebuild index a30cd8f785a..3d1be104f17 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/vcs-versioning/vcs-versioning-2.1.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-python/vcs-versioning/vcs-versioning-2.2.3.ebuild @@ -20,16 +20,16 @@ SLOT="0" KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~m68k ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" RDEPEND=" - >=dev-python/packaging-20[${PYTHON_USEDEP}] + >=dev-python/packaging-26.2[${PYTHON_USEDEP}] " BDEPEND=" - >=dev-python/packaging-20[${PYTHON_USEDEP}] + ${RDEPEND} test? ( >=dev-python/setuptools-scm-10.1.1[${PYTHON_USEDEP}] ) " -EPYTEST_PLUGINS=() +EPYTEST_PLUGINS=( pytest-timeout ) EPYTEST_XDIST=1 distutils_enable_tests pytest From ede22b13501641cd2b7ad238610691e5c5bba819 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 3 Aug 2026 08:14:52 +0000 Subject: [PATCH 094/195] dev-util/maturin: Sync with Gentoo It's from Gentoo commit 9bac08002c8a9daa3a56f90f85dbd5373cedf9f1. Signed-off-by: Flatcar Buildbot --- .../portage-stable/dev-util/maturin/maturin-1.14.1.ebuild | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sdk_container/src/third_party/portage-stable/dev-util/maturin/maturin-1.14.1.ebuild b/sdk_container/src/third_party/portage-stable/dev-util/maturin/maturin-1.14.1.ebuild index a5edbf7e932..858f65428ae 100644 --- a/sdk_container/src/third_party/portage-stable/dev-util/maturin/maturin-1.14.1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-util/maturin/maturin-1.14.1.ebuild @@ -25,7 +25,7 @@ LICENSE+=" BZIP2 " # crates SLOT="0" -KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +KEYWORDS="amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" IUSE="doc +ssl test" RESTRICT="!test? ( test )" From 362568739101b7274dff18100777acdf08983776 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 3 Aug 2026 08:14:53 +0000 Subject: [PATCH 095/195] dev-util/patchelf: Sync with Gentoo It's from Gentoo commit ce0961cde861d98db8975034cc32bf1f4d4ba51c. Signed-off-by: Flatcar Buildbot --- .../src/third_party/portage-stable/dev-util/patchelf/Manifest | 2 +- .../patchelf/{patchelf-0.19.0.ebuild => patchelf-0.19.1.ebuild} | 0 2 files changed, 1 insertion(+), 1 deletion(-) rename sdk_container/src/third_party/portage-stable/dev-util/patchelf/{patchelf-0.19.0.ebuild => patchelf-0.19.1.ebuild} (100%) diff --git a/sdk_container/src/third_party/portage-stable/dev-util/patchelf/Manifest b/sdk_container/src/third_party/portage-stable/dev-util/patchelf/Manifest index 6c612a6f99f..5a31d19b53a 100644 --- a/sdk_container/src/third_party/portage-stable/dev-util/patchelf/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-util/patchelf/Manifest @@ -1,3 +1,3 @@ DIST patchelf-0.17.2.tar.gz 143954 BLAKE2B 7ed684c63955a0b9cfe293fb966f7f08a90c76e8efb2b493eaf3705c57767b31b31e48ab59f39ff1d91b7a4501e6d203e32a40040625a44a7d44113b1320530c SHA512 e5545416d32248d023759457d0a5cd4841d69f39366eb0aa9cfd8a43d2ce372c6e05995bf60ba62bd85c6d98fdece2dbd1e20872e338ef5ac75f11b82ae091b3 DIST patchelf-0.18.0.tar.gz 331312 BLAKE2B e6ce4ec3bd89c280bb37230dbeb566b803f09900006e79f7dba74f138f66e17746d331baea4def6a43163024b3d86aa8dbac9b2c6545ac146298a8b84373d03b SHA512 6a917d7336b1e8c59f42d4cd1dc725df1378d77657fce13cb31547da1d4805b9df8a834a7b8408fda8aa1dbeb37d0cdca74d8698844ea2f44149f800b802dea6 -DIST patchelf-0.19.0.tar.gz 363814 BLAKE2B 460f261d74697922b34c8b4d5a299affa952e56b204af2635ef3eec4f1219b4fa5b8c763e9ecea8c1c337c7a5f82bf9ba49e922e0bed6a8cd2437f5102bb298e SHA512 60047d15dda4746fd186697d26b6b36c7e2a73712ebe0fcfcc28be9eb3809e7f3757aaacc6e09c6a3bc8174dacfffe5c03fee159fa0d5bdbf923aecd6fcdc16b +DIST patchelf-0.19.1.tar.gz 365414 BLAKE2B bad063763d2249f77ff245293ef7b5fc54ba3728eadf156d374bad1b79f5800542fc0a419ba9462f2a455be980d31d2d3be2ea416137e40de26548a23e42a8ca SHA512 894a308d3cbbf12f57771c28f66388e7dddd5f550e96576c2f79fbd76ea0177e3255aed0ed0c57ba3842ba584948481b8839557404a00f234fc14649cd8fa62e diff --git a/sdk_container/src/third_party/portage-stable/dev-util/patchelf/patchelf-0.19.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-util/patchelf/patchelf-0.19.1.ebuild similarity index 100% rename from sdk_container/src/third_party/portage-stable/dev-util/patchelf/patchelf-0.19.0.ebuild rename to sdk_container/src/third_party/portage-stable/dev-util/patchelf/patchelf-0.19.1.ebuild From cf8d2aa46227d64d8795dad0a28aa4d10f869271 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 3 Aug 2026 08:14:54 +0000 Subject: [PATCH 096/195] dev-util/pkgcheck: Sync with Gentoo It's from Gentoo commit 8c15066e9b09b2dbd43cc27320af48c5cb944a4a. Signed-off-by: Flatcar Buildbot --- .../portage-stable/dev-util/pkgcheck/Manifest | 2 + .../pkgcheck/pkgcheck-0.10.40-r1.ebuild | 2 +- .../dev-util/pkgcheck/pkgcheck-0.10.41.ebuild | 99 +++++++++++++++++++ .../dev-util/pkgcheck/pkgcheck-0.10.42.ebuild | 99 +++++++++++++++++++ .../dev-util/pkgcheck/pkgcheck-9999.ebuild | 4 +- 5 files changed, 203 insertions(+), 3 deletions(-) create mode 100644 sdk_container/src/third_party/portage-stable/dev-util/pkgcheck/pkgcheck-0.10.41.ebuild create mode 100644 sdk_container/src/third_party/portage-stable/dev-util/pkgcheck/pkgcheck-0.10.42.ebuild diff --git a/sdk_container/src/third_party/portage-stable/dev-util/pkgcheck/Manifest b/sdk_container/src/third_party/portage-stable/dev-util/pkgcheck/Manifest index f7dd870caf5..32d9212be1b 100644 --- a/sdk_container/src/third_party/portage-stable/dev-util/pkgcheck/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-util/pkgcheck/Manifest @@ -1,2 +1,4 @@ DIST pkgcheck-0.10.39.tar.gz 402359 BLAKE2B d0bbf0e97e45a9beca56b59b810fe2fc3cc9778ea894a72e4a402f4bbaff68e0811525e1c1d8ed795c30bba2d0a53d879fecd777736e7fbe5c333801f0bf40f9 SHA512 11f0ec9ecdfd80a98312975175e4605b4986ea3aa7131496c4d7195f3373c2329fc03f463d9722f39e508bdd30674abcb5edc3fa8c6542414eb0e9322fbf14c0 DIST pkgcheck-0.10.40.tar.gz 409641 BLAKE2B 77e95e7b2a6023341896f2fb26b39b0da71504fd3f5de6c077fa1d7420d5ff3c2dcfa66b18a1dfdee5acdbeadaaf506644c7db5897d2aacc481f6b9655d1eee4 SHA512 ed337613f1d09223c79160e3c3bf2c579b1773bda6de3d2f566aa099824cf404d60c12000061825c09bfccaf0a2a95214dc4b219129a3c4744fa9a3fa0933049 +DIST pkgcheck-0.10.41.tar.gz 418422 BLAKE2B 08c36d3e537ba30804567a33220e0212d4ce5ee5835097d1cd322ec188066853462f5154375d8bcd29e393d1263d69298aca81acb8ceea1fd0286ae5a6182edf SHA512 0e3b5496e63230cd8237b92ad446eeaeb455492360659a69173482271b1cd9f6d151fbf66b5045d1b19e8592afe4a7f7765ccc40ff143687ec30689ed39a9d3d +DIST pkgcheck-0.10.42.tar.gz 422183 BLAKE2B 88afbf4b4a9ea9accb447e17eb4b16ae5960fadef8d14f4c30478e06df43aaa226066e5bf9ea90122f21b0a21caf4908e44069d41254726de8c90b302dacc60b SHA512 a2a30fd2757216a865dce76dd05190706e15ccd2682337e757461184abf3ac5e4ee450d6007820248c55052c1591c534cda94ea06cc29171c876a56ac25de5f8 diff --git a/sdk_container/src/third_party/portage-stable/dev-util/pkgcheck/pkgcheck-0.10.40-r1.ebuild b/sdk_container/src/third_party/portage-stable/dev-util/pkgcheck/pkgcheck-0.10.40-r1.ebuild index 77240408eda..3b25caab881 100644 --- a/sdk_container/src/third_party/portage-stable/dev-util/pkgcheck/pkgcheck-0.10.40-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-util/pkgcheck/pkgcheck-0.10.40-r1.ebuild @@ -12,7 +12,7 @@ if [[ ${PV} == *9999 ]] ; then https://github.com/pkgcore/pkgcheck.git" inherit git-r3 else - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos" + KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~x64-macos" inherit pypi fi diff --git a/sdk_container/src/third_party/portage-stable/dev-util/pkgcheck/pkgcheck-0.10.41.ebuild b/sdk_container/src/third_party/portage-stable/dev-util/pkgcheck/pkgcheck-0.10.41.ebuild new file mode 100644 index 00000000000..fa6ab843f53 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-util/pkgcheck/pkgcheck-0.10.41.ebuild @@ -0,0 +1,99 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=standalone +PYTHON_COMPAT=( python3_{12..15} ) +inherit elisp-common distutils-r1 optfeature + +if [[ ${PV} == *9999 ]] ; then + EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/pkgcore/pkgcheck.git + https://github.com/pkgcore/pkgcheck.git" + inherit git-r3 +else + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos" + inherit pypi +fi + +DESCRIPTION="pkgcore-based QA utility for ebuild repos" +HOMEPAGE="https://github.com/pkgcore/pkgcheck" + +LICENSE="BSD MIT" +SLOT="0" +IUSE="emacs" + +if [[ ${PV} == *9999 ]]; then + RDEPEND=" + ~dev-python/snakeoil-9999[${PYTHON_USEDEP}] + ~sys-apps/pkgcore-9999[${PYTHON_USEDEP}]" +else + RDEPEND=" + >=dev-python/snakeoil-0.11.2[${PYTHON_USEDEP}] + >=sys-apps/pkgcore-0.12.36[${PYTHON_USEDEP}]" +fi +RDEPEND+=" + app-arch/zstd + >=dev-libs/tree-sitter-bash-0.25.1[python,${PYTHON_USEDEP}] + dev-python/charset-normalizer[${PYTHON_USEDEP}] + dev-python/lxml[${PYTHON_USEDEP}] + dev-python/pathspec[${PYTHON_USEDEP}] + >=dev-python/tree-sitter-0.25.2[${PYTHON_USEDEP}] + emacs? ( + >=app-editors/emacs-24.1:* + app-emacs/ebuild-mode + app-emacs/flycheck + ) +" +BDEPEND="${RDEPEND} + >=dev-python/flit-core-3.8[${PYTHON_USEDEP}] + test? ( + dev-python/pytest[${PYTHON_USEDEP}] + dev-python/requests[${PYTHON_USEDEP}] + dev-vcs/git + ) +" + +SITEFILE="50${PN}-gentoo.el" + +EPYTEST_PLUGINS=( pkgcore ) +distutils_enable_tests pytest + +src_prepare() { + distutils-r1_src_prepare + + # unpin dependencies + sed -i -e 's:~=:>=:' pyproject.toml || die +} + +src_compile() { + distutils-r1_src_compile + + if use emacs ; then + pushd "${S}"/contrib/emacs >/dev/null || die + elisp-compile *.el + popd >/dev/null || die + fi +} + +python_install_all() { + local DOCS=( NEWS.rst ) + [[ ${PV} == *9999 ]] || doman build/sphinx/man/* + distutils-r1_python_install_all + + if use emacs ; then + elisp-install ${PN} "${S}"/contrib/emacs/*.el{,c} + elisp-site-file-install "${FILESDIR}/${SITEFILE}" + fi +} + +pkg_postinst() { + use emacs && elisp-site-regen + + optfeature "Network check support" dev-python/requests + optfeature "Perl module version check support" dev-perl/Gentoo-PerlMod-Version +} + +pkg_postrm() { + use emacs && elisp-site-regen +} diff --git a/sdk_container/src/third_party/portage-stable/dev-util/pkgcheck/pkgcheck-0.10.42.ebuild b/sdk_container/src/third_party/portage-stable/dev-util/pkgcheck/pkgcheck-0.10.42.ebuild new file mode 100644 index 00000000000..3f97c08d463 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-util/pkgcheck/pkgcheck-0.10.42.ebuild @@ -0,0 +1,99 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=standalone +PYTHON_COMPAT=( python3_{12..15} ) +inherit elisp-common distutils-r1 optfeature + +if [[ ${PV} == *9999 ]] ; then + EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/pkgcore/pkgcheck.git + https://github.com/pkgcore/pkgcheck.git" + inherit git-r3 +else + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos" + inherit pypi +fi + +DESCRIPTION="pkgcore-based QA utility for ebuild repos" +HOMEPAGE="https://github.com/pkgcore/pkgcheck" + +LICENSE="BSD MIT" +SLOT="0" +IUSE="emacs" + +if [[ ${PV} == *9999 ]]; then + RDEPEND=" + ~dev-python/snakeoil-9999[${PYTHON_USEDEP}] + ~sys-apps/pkgcore-9999[${PYTHON_USEDEP}]" +else + RDEPEND=" + >=dev-python/snakeoil-0.11.3[${PYTHON_USEDEP}] + >=sys-apps/pkgcore-0.12.37[${PYTHON_USEDEP}]" +fi +RDEPEND+=" + app-arch/zstd + >=dev-libs/tree-sitter-bash-0.25.1[python,${PYTHON_USEDEP}] + dev-python/charset-normalizer[${PYTHON_USEDEP}] + dev-python/lxml[${PYTHON_USEDEP}] + dev-python/pathspec[${PYTHON_USEDEP}] + >=dev-python/tree-sitter-0.25.2[${PYTHON_USEDEP}] + emacs? ( + >=app-editors/emacs-24.1:* + app-emacs/ebuild-mode + app-emacs/flycheck + ) +" +BDEPEND="${RDEPEND} + >=dev-python/flit-core-3.8[${PYTHON_USEDEP}] + test? ( + dev-python/pytest[${PYTHON_USEDEP}] + dev-python/requests[${PYTHON_USEDEP}] + dev-vcs/git + ) +" + +SITEFILE="50${PN}-gentoo.el" + +EPYTEST_PLUGINS=( pkgcore ) +distutils_enable_tests pytest + +src_prepare() { + distutils-r1_src_prepare + + # unpin dependencies + sed -i -e 's:~=:>=:' pyproject.toml || die +} + +src_compile() { + distutils-r1_src_compile + + if use emacs ; then + pushd "${S}"/contrib/emacs >/dev/null || die + elisp-compile *.el + popd >/dev/null || die + fi +} + +python_install_all() { + local DOCS=( NEWS.rst ) + [[ ${PV} == *9999 ]] || doman build/sphinx/man/* + distutils-r1_python_install_all + + if use emacs ; then + elisp-install ${PN} "${S}"/contrib/emacs/*.el{,c} + elisp-site-file-install "${FILESDIR}/${SITEFILE}" + fi +} + +pkg_postinst() { + use emacs && elisp-site-regen + + optfeature "Network check support" dev-python/requests + optfeature "Perl module version check support" dev-perl/Gentoo-PerlMod-Version +} + +pkg_postrm() { + use emacs && elisp-site-regen +} diff --git a/sdk_container/src/third_party/portage-stable/dev-util/pkgcheck/pkgcheck-9999.ebuild b/sdk_container/src/third_party/portage-stable/dev-util/pkgcheck/pkgcheck-9999.ebuild index cd219c478bb..fa6ab843f53 100644 --- a/sdk_container/src/third_party/portage-stable/dev-util/pkgcheck/pkgcheck-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-util/pkgcheck/pkgcheck-9999.ebuild @@ -29,8 +29,8 @@ if [[ ${PV} == *9999 ]]; then ~sys-apps/pkgcore-9999[${PYTHON_USEDEP}]" else RDEPEND=" - >=dev-python/snakeoil-0.11.1[${PYTHON_USEDEP}] - >=sys-apps/pkgcore-0.12.34[${PYTHON_USEDEP}]" + >=dev-python/snakeoil-0.11.2[${PYTHON_USEDEP}] + >=sys-apps/pkgcore-0.12.36[${PYTHON_USEDEP}]" fi RDEPEND+=" app-arch/zstd From 296fec8a908a3291984372cc3ce204b9879e8ffe Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 3 Aug 2026 08:14:54 +0000 Subject: [PATCH 097/195] dev-util/pkgconf: Sync with Gentoo It's from Gentoo commit 3955f6d4b1087f6767cabc09b6ff27cef1b66785. Signed-off-by: Flatcar Buildbot --- .../portage-stable/dev-util/pkgconf/Manifest | 4 +- ...onf-2.9.94.ebuild => pkgconf-3.0.3.ebuild} | 0 .../dev-util/pkgconf/pkgconf-3.0.4.ebuild | 68 +++++++++++++++++++ .../dev-util/pkgconf/pkgconf-3.0.5.ebuild | 68 +++++++++++++++++++ 4 files changed, 139 insertions(+), 1 deletion(-) rename sdk_container/src/third_party/portage-stable/dev-util/pkgconf/{pkgconf-2.9.94.ebuild => pkgconf-3.0.3.ebuild} (100%) create mode 100644 sdk_container/src/third_party/portage-stable/dev-util/pkgconf/pkgconf-3.0.4.ebuild create mode 100644 sdk_container/src/third_party/portage-stable/dev-util/pkgconf/pkgconf-3.0.5.ebuild diff --git a/sdk_container/src/third_party/portage-stable/dev-util/pkgconf/Manifest b/sdk_container/src/third_party/portage-stable/dev-util/pkgconf/Manifest index 9c3fbdb77e9..38c225da086 100644 --- a/sdk_container/src/third_party/portage-stable/dev-util/pkgconf/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-util/pkgconf/Manifest @@ -1,2 +1,4 @@ DIST pkgconf-2.5.1.tar.xz 328064 BLAKE2B 0995c1d649876d27e9275a77b702c0c100979c7b83fb7b58c925ca287be5e1568dd7ae2781dac51beb9e84a41d4424428f0542e4de488c45d005d602e76e1277 SHA512 e654c3a460e5f0f801e8ac43ad9086f397d1da0553186ff05f5f0e18ffdac99fb652fd9b6c0379db4bc8307699699d69bc66d13cc85a4a6b0cd36462f5948a1d -DIST pkgconf-2.9.94.tar.xz 399808 BLAKE2B b97d581004cf75c7e2fad479bb581b784b89584a35511e7eaa856013f6bcbb2050f1ea3d2f681f33325745de66855c053cf7209f08083c5ccda5d3bb37861fb1 SHA512 4dfdc45fed01c2d01fa92623dbb0a1c295ccae9e1c7ed1967e736a2508d105f3415544e3662b4e52d0aea15c74d4328c4780e495f36c6dddee7ab8abece13e7e +DIST pkgconf-3.0.3.tar.xz 415512 BLAKE2B 1de3b5f81b1bf291c3861c39244e2020de5333046f594161e687aa56388615b5b6d97db07cee9f19d66d6c6dae09a50e8b1045f8718ab8c7bea5e630a1252e2e SHA512 72dfd924e4e1763ac362ed7ed2f88378d05f21118f67883a521524fbf8500d6e21152805802cd104dbd123d427dc2b0293a3e0c05b7553d42c0f1eb418a0331f +DIST pkgconf-3.0.4.tar.xz 418324 BLAKE2B 19dc43450844eb967b0b7a05242603070cc0c2bbc24d7cf29980f20c3e4b9fe6e652d48c0d4afd040dc3fb87b1816bd97d08211fd8a68a217493f74349d282bb SHA512 0ed682acf6bf08d40f1653217ce637f6e30a40f09598ef0b9aebe3f27d46d953897e7ff876feaa6b2d6c583a770ef9625ba7690bb7484dcf40afadceb02c3886 +DIST pkgconf-3.0.5.tar.xz 426972 BLAKE2B c271d6afcc37faebc141156c20fff3305cd1b23e5f0c92f6d7e295d6f1547697e5c17e7bf0a55fc94ad21edab0a1d9f004537397d6d98101282863b62826d4d6 SHA512 5f4559697ec1849771eefaeb77a3fea7caa638b83d381e6e2f913e3f053fa1ae796f18e4360d3a37bc1a17999f043ea244e91cadd5f3c170d50c48088e4c1a55 diff --git a/sdk_container/src/third_party/portage-stable/dev-util/pkgconf/pkgconf-2.9.94.ebuild b/sdk_container/src/third_party/portage-stable/dev-util/pkgconf/pkgconf-3.0.3.ebuild similarity index 100% rename from sdk_container/src/third_party/portage-stable/dev-util/pkgconf/pkgconf-2.9.94.ebuild rename to sdk_container/src/third_party/portage-stable/dev-util/pkgconf/pkgconf-3.0.3.ebuild diff --git a/sdk_container/src/third_party/portage-stable/dev-util/pkgconf/pkgconf-3.0.4.ebuild b/sdk_container/src/third_party/portage-stable/dev-util/pkgconf/pkgconf-3.0.4.ebuild new file mode 100644 index 00000000000..d77151edc86 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-util/pkgconf/pkgconf-3.0.4.ebuild @@ -0,0 +1,68 @@ +# Copyright 2012-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit multilib multilib-minimal + +if [[ ${PV} == 9999 ]] ; then + inherit autotools git-r3 + EGIT_REPO_URI="https://github.com/pkgconf/pkgconf" +else + SRC_URI="https://distfiles.ariadne.space/${PN}/${P}.tar.xz" + + if [[ $(ver_cut 3) -lt 90 ]] ; then + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris" + fi +fi + +DESCRIPTION="pkg-config compatible replacement with no dependencies other than C99" +HOMEPAGE="https://github.com/pkgconf/pkgconf" + +LICENSE="ISC" +SLOT="0/8" +IUSE="+native-symlinks" + +RDEPEND="!dev-util/pkgconfig" + +src_prepare() { + default + + [[ ${PV} == 9999 ]] && eautoreconf + + MULTILIB_CHOST_TOOLS=( + /usr/bin/pkgconf$(get_exeext) + /usr/bin/pkg-config$(get_exeext) + ) +} + +multilib_src_configure() { + local myeconfargs=( + --with-system-includedir="${EPREFIX}/usr/include" + --with-system-libdir="${EPREFIX}/$(get_libdir):${EPREFIX}/usr/$(get_libdir)" + ) + + ECONF_SOURCE="${S}" econf "${myeconfargs[@]}" +} + +multilib_src_test() { + unset PKG_CONFIG_LIBDIR PKG_CONFIG_PATH + default +} + +multilib_src_install() { + default + + dosym pkgconf$(get_exeext) /usr/bin/pkg-config$(get_exeext) + dosym pkgconf.1 /usr/share/man/man1/pkg-config.1 +} + +multilib_src_install_all() { + einstalldocs + + if ! use native-symlinks; then + rm "${ED}"/usr/bin/{pkgconf,pkg-config}$(get_exeext) || die + fi + + find "${ED}" -type f -name '*.la' -delete || die +} diff --git a/sdk_container/src/third_party/portage-stable/dev-util/pkgconf/pkgconf-3.0.5.ebuild b/sdk_container/src/third_party/portage-stable/dev-util/pkgconf/pkgconf-3.0.5.ebuild new file mode 100644 index 00000000000..d77151edc86 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-util/pkgconf/pkgconf-3.0.5.ebuild @@ -0,0 +1,68 @@ +# Copyright 2012-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit multilib multilib-minimal + +if [[ ${PV} == 9999 ]] ; then + inherit autotools git-r3 + EGIT_REPO_URI="https://github.com/pkgconf/pkgconf" +else + SRC_URI="https://distfiles.ariadne.space/${PN}/${P}.tar.xz" + + if [[ $(ver_cut 3) -lt 90 ]] ; then + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris" + fi +fi + +DESCRIPTION="pkg-config compatible replacement with no dependencies other than C99" +HOMEPAGE="https://github.com/pkgconf/pkgconf" + +LICENSE="ISC" +SLOT="0/8" +IUSE="+native-symlinks" + +RDEPEND="!dev-util/pkgconfig" + +src_prepare() { + default + + [[ ${PV} == 9999 ]] && eautoreconf + + MULTILIB_CHOST_TOOLS=( + /usr/bin/pkgconf$(get_exeext) + /usr/bin/pkg-config$(get_exeext) + ) +} + +multilib_src_configure() { + local myeconfargs=( + --with-system-includedir="${EPREFIX}/usr/include" + --with-system-libdir="${EPREFIX}/$(get_libdir):${EPREFIX}/usr/$(get_libdir)" + ) + + ECONF_SOURCE="${S}" econf "${myeconfargs[@]}" +} + +multilib_src_test() { + unset PKG_CONFIG_LIBDIR PKG_CONFIG_PATH + default +} + +multilib_src_install() { + default + + dosym pkgconf$(get_exeext) /usr/bin/pkg-config$(get_exeext) + dosym pkgconf.1 /usr/share/man/man1/pkg-config.1 +} + +multilib_src_install_all() { + einstalldocs + + if ! use native-symlinks; then + rm "${ED}"/usr/bin/{pkgconf,pkg-config}$(get_exeext) || die + fi + + find "${ED}" -type f -name '*.la' -delete || die +} From f89d9ebfbf2055a2825b6ee4eda4859b630916b0 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 3 Aug 2026 08:14:55 +0000 Subject: [PATCH 098/195] dev-util/xdelta: Sync with Gentoo It's from Gentoo commit f3c020ac20a146402d7601c676be3acbc526d975. Signed-off-by: Flatcar Buildbot --- .../portage-stable/dev-util/xdelta/xdelta-3.2.0.ebuild | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sdk_container/src/third_party/portage-stable/dev-util/xdelta/xdelta-3.2.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-util/xdelta/xdelta-3.2.0.ebuild index fb9c473bc5c..2b2425e1d9e 100644 --- a/sdk_container/src/third_party/portage-stable/dev-util/xdelta/xdelta-3.2.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-util/xdelta/xdelta-3.2.0.ebuild @@ -13,7 +13,7 @@ S="${WORKDIR}/${MY_P}/xdelta3" LICENSE="GPL-2" SLOT="3" -KEYWORDS="~alpha ~amd64 ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86" +KEYWORDS="~alpha amd64 arm64 ~hppa ~loong ppc ppc64 ~riscv ~sparc x86" IUSE="examples lzma test" RESTRICT="!test? ( test )" From 73788bd10de3de071e18c31da97a56e36e0fa490 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 3 Aug 2026 08:15:02 +0000 Subject: [PATCH 099/195] eclass/cargo: Sync with Gentoo It's from Gentoo commit b982445cd7fb9651381a3aed8d672417962bdb15. Signed-off-by: Flatcar Buildbot --- .../src/third_party/portage-stable/eclass/cargo.eclass | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sdk_container/src/third_party/portage-stable/eclass/cargo.eclass b/sdk_container/src/third_party/portage-stable/eclass/cargo.eclass index 6a233b6b385..185531490a2 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/cargo.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/cargo.eclass @@ -21,7 +21,7 @@ if [[ -z ${_CARGO_ECLASS} ]]; then _CARGO_ECLASS=1 if [[ -n ${RUST_NEEDS_LLVM} ]]; then - inherit llvm-r1 + inherit llvm-r1 fi if [[ -n ${CARGO_OPTIONAL} ]]; then @@ -310,7 +310,7 @@ _cargo_set_crate_uris() { local crate commit crate_uri crate_dir host repo_ext feat_expr for crate in "${!GIT_CRATES[@]}"; do - IFS=';' read -r crate_uri commit crate_dir host <<< "${GIT_CRATES[${crate}]}" + IFS=';' read -rd '' crate_uri commit crate_dir host < <(printf %s "${GIT_CRATES[${crate}]}") if [[ -z ${host} ]]; then case "${crate_uri}" in From 1f44bf5d2129ae02e9963b0eb4a2fdeceaabe117 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 3 Aug 2026 08:15:42 +0000 Subject: [PATCH 100/195] eclass/go-module: Sync with Gentoo It's from Gentoo commit 088ecc18f078e7fc37ee7cf73f5b98836bed4473. Signed-off-by: Flatcar Buildbot --- .../src/third_party/portage-stable/eclass/go-module.eclass | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sdk_container/src/third_party/portage-stable/eclass/go-module.eclass b/sdk_container/src/third_party/portage-stable/eclass/go-module.eclass index 0dad51c11ef..e7580cfe892 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/go-module.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/go-module.eclass @@ -216,13 +216,13 @@ go-module_set_globals() { # Now parse EGO_SUM for line in "${EGO_SUM[@]}"; do local module version modfile version_modfile kvs x - read -r module version_modfile kvs <<< "${line}" + read -rd '' module version_modfile kvs < <(printf %s "${line}") # kvs contains the hash and may contain other data from # upstream in the future. We do not currently use any of this data. # Split 'v0.3.0/go.mod' into 'v0.3.0' and '/go.mod' # It might NOT have the trailing /go.mod - IFS=/ read -r version modfile x <<<"${version_modfile}" + IFS=/ read -rd '' version modfile x < <(printf %s "${version_modfile}") # Reject multiple slashes if [[ -n ${x} ]]; then error_in_gosum=1 From ab0637a47861f072128bb635856754e8ff8c87f5 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 3 Aug 2026 08:15:57 +0000 Subject: [PATCH 101/195] eclass/kernel-2: Sync with Gentoo It's from Gentoo commit f5289182ac82bae2b23dfec8f50654cc6ca1b6d2. Signed-off-by: Flatcar Buildbot --- .../portage-stable/eclass/kernel-2.eclass | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/sdk_container/src/third_party/portage-stable/eclass/kernel-2.eclass b/sdk_container/src/third_party/portage-stable/eclass/kernel-2.eclass index 8a675db7a74..aa855f37384 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/kernel-2.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/kernel-2.eclass @@ -350,7 +350,7 @@ handle_genpatches() { debug-print "Inside handle_genpatches" local OKV_ARRAY - IFS="." read -r -a OKV_ARRAY <<<"${OKV}" + local IFS=.; OKV_ARRAY=(${OKV}); unset IFS # for > 3.0 kernels, handle genpatches tarball name # genpatches for 3.0 and 3.0.1 might be named @@ -411,7 +411,7 @@ detect_version() { KV_MAJOR=$(ver_cut 1 ${OKV}) # handle if OKV is X.Y or X.Y.Z (e.g. 3.0 or 3.0.1) local OKV_ARRAY - IFS="." read -r -a OKV_ARRAY <<<"${OKV}" + local IFS=.; OKV_ARRAY=(${OKV}); unset IFS # if KV_MAJOR >= 3, then we have no more KV_MINOR #if [[ ${KV_MAJOR} -lt 3 ]]; then @@ -792,7 +792,7 @@ universal_unpack() { debug-print "Inside universal_unpack" local OKV_ARRAY - IFS="." read -r -a OKV_ARRAY <<<"${OKV}" + local IFS=.; OKV_ARRAY=(${OKV}); unset IFS cd "${WORKDIR}" || die if [[ ${#OKV_ARRAY[@]} -ge 3 && ${KV_MAJOR} -ge 3 ]]; then @@ -1501,10 +1501,13 @@ kernel-2_src_unpack() { # @FUNCTION: kernel-2_src_prepare # @USAGE: # @DESCRIPTION: -# Apply any user patches +# Apply patches defined in any ebuild inheriting this eclass +# and any user patches from /etc/portage/patches kernel-2_src_prepare() { - debug-print "Applying any user patches" + debug-print "$FUNCNAME: Applying patches defined in ebuild PATCHES=<*>" + [[ -n ${PATCHES[@]} ]] && eapply "${PATCHES[@]}" + debug-print "$FUNCNAME: Applying any user patches from /etc/portage/patches/*" eapply_user } From 43c56091e2befba4e94c064da84a28a4720c8baa Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 3 Aug 2026 08:16:01 +0000 Subject: [PATCH 102/195] eclass/llvm-r1: Sync with Gentoo It's from Gentoo commit 5ddf5862196594f2b14e315ac20ed2bdcd0ce2d9. Signed-off-by: Flatcar Buildbot --- .../src/third_party/portage-stable/eclass/llvm-r1.eclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sdk_container/src/third_party/portage-stable/eclass/llvm-r1.eclass b/sdk_container/src/third_party/portage-stable/eclass/llvm-r1.eclass index 411cab4b094..0c216b979c3 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/llvm-r1.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/llvm-r1.eclass @@ -57,7 +57,7 @@ inherit llvm-utils # @DESCRIPTION: # Oldest supported LLVM slot. This is used to automatically filter out # unsupported LLVM_COMPAT values. -_LLVM_OLDEST_SLOT=16 +_LLVM_OLDEST_SLOT=17 # @ECLASS_VARIABLE: _LLVM_NEWEST_STABLE # @INTERNAL From 1d7d41d8bf626ae9901f9feb0bfbc39a9253ef22 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 3 Aug 2026 08:16:01 +0000 Subject: [PATCH 103/195] eclass/llvm-r2: Sync with Gentoo It's from Gentoo commit edf4c96ca1630d0c5edd4a3bc946ffa2f3f9968c. Signed-off-by: Flatcar Buildbot --- .../src/third_party/portage-stable/eclass/llvm-r2.eclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sdk_container/src/third_party/portage-stable/eclass/llvm-r2.eclass b/sdk_container/src/third_party/portage-stable/eclass/llvm-r2.eclass index cdc74d39639..e8e697224e6 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/llvm-r2.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/llvm-r2.eclass @@ -63,7 +63,7 @@ inherit llvm-utils multilib # @DESCRIPTION: # Oldest supported LLVM slot. This is used to automatically filter out # unsupported LLVM_COMPAT values. -_LLVM_OLDEST_SLOT=16 +_LLVM_OLDEST_SLOT=17 # @ECLASS_VARIABLE: _LLVM_NEWEST_STABLE # @INTERNAL From 1db9dcdf29d47465a926dd7cba9ac590a31296f7 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 3 Aug 2026 08:16:02 +0000 Subject: [PATCH 104/195] eclass/llvm: Sync with Gentoo It's from Gentoo commit 30bedce10c3466d4d569c83b8c4447ed9a4d581e. Signed-off-by: Flatcar Buildbot --- sdk_container/src/third_party/portage-stable/eclass/llvm.eclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sdk_container/src/third_party/portage-stable/eclass/llvm.eclass b/sdk_container/src/third_party/portage-stable/eclass/llvm.eclass index 34ff07b0d97..a6ac325bfef 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/llvm.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/llvm.eclass @@ -82,7 +82,7 @@ DEPEND="!!llvm-core/llvm:0" # @INTERNAL # @DESCRIPTION: # Correct values of LLVM slots, newest first. -declare -g -r _LLVM_KNOWN_SLOTS=( {19..16} ) +declare -g -r _LLVM_KNOWN_SLOTS=( {19..17} ) # @ECLASS_VARIABLE: LLVM_ECLASS_SKIP_PKG_SETUP # @INTERNAL From ec66ead59025cc364c9d94644de9c020e01f79f2 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 3 Aug 2026 08:16:55 +0000 Subject: [PATCH 105/195] eclass/python-utils-r1: Sync with Gentoo It's from Gentoo commit 0a28111b511278307dc382dc2cdcb9790926f429. Signed-off-by: Flatcar Buildbot --- .../portage-stable/eclass/python-utils-r1.eclass | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/sdk_container/src/third_party/portage-stable/eclass/python-utils-r1.eclass b/sdk_container/src/third_party/portage-stable/eclass/python-utils-r1.eclass index 023d951d54d..7c3b3d985f2 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/python-utils-r1.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/python-utils-r1.eclass @@ -1445,9 +1445,11 @@ epytest() { -ra # print local variables in tracebacks, useful for debugging -l - # override filterwarnings=error, we do not really want -Werror - # for end users, as it tends to fail on new warnings from deps - -Wdefault + # override filterwarnings=: + # 1. we do not really want -Werror for end users, as it tends + # to fail on new warnings from deps + # 2. ignore: lines for optional dependencies trigger ImportError + -o filterwarnings= # override color output "--color=${color}" # count is more precise when we're dealing with a large number From 8aa3509173b71d27ea36310223d3b60b15f15ffa Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 3 Aug 2026 08:16:55 +0000 Subject: [PATCH 106/195] eclass/qmake-utils: Sync with Gentoo It's from Gentoo commit fb3500a726c5473b71aa7c22fdb4179d419973fd. Signed-off-by: Flatcar Buildbot --- .../third_party/portage-stable/eclass/qmake-utils.eclass | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/sdk_container/src/third_party/portage-stable/eclass/qmake-utils.eclass b/sdk_container/src/third_party/portage-stable/eclass/qmake-utils.eclass index 024d23a32f2..79c8deaf8c6 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/qmake-utils.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/qmake-utils.eclass @@ -173,7 +173,11 @@ eqmake6() { local -a args mapfile -t args <<<"$(qt6_get_qmake_args)" # NB: we're passing literal quotes in but qmake doesn't seem to mind - "$(qt6_get_bindir)"/qmake -makefile "${args[@]}" "$@" + if [[ ${EAPI} == 8 ]]; then + "$(qt6_get_bindir)"/qmake -makefile "${args[@]}" "$@" + else + "$(qt_get_broot_binary 6 qmake)" -makefile "${args[@]}" "$@" + fi if ! eend $? ; then echo From 8e4d5bd11fdc311cc6aa6a0f57c65504c71e78ad Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 3 Aug 2026 08:16:55 +0000 Subject: [PATCH 107/195] eclass/qt-utils: Sync with Gentoo It's from Gentoo commit dda55cce7621021ac89be94e3b95a4a8e7583c5c. Signed-off-by: Flatcar Buildbot --- .../portage-stable/eclass/qt-utils.eclass | 154 +++++++++++++++++- 1 file changed, 148 insertions(+), 6 deletions(-) diff --git a/sdk_container/src/third_party/portage-stable/eclass/qt-utils.eclass b/sdk_container/src/third_party/portage-stable/eclass/qt-utils.eclass index e340d76329f..5bdd3827394 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/qt-utils.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/qt-utils.eclass @@ -22,47 +22,189 @@ case ${EAPI} in *) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;; esac +# @FUNCTION: _qt_eapi9_banned_deprecated_func +# @INTERNAL +# @DESCRIPTION: +# Banned functions are banned. Deprecated functions are ... +_qt_eapi9_banned_deprecated_func() { + [[ ${EAPI} == 8 ]] && return + + _deprecated_use_instead() { + eqawarn "QA Notice: ${1} is deprecated and will be banned after EAPI 9 -" + eqawarn " use '${2}' instead." + } + + case ${FUNCNAME[1]} in + qt6_get_bindir|qt6_get_libexecdir) + _deprecated_use_instead ${FUNCNAME[1]} "qt_get_broot_binary 6 ' or '${FUNCNAME[1]/qt6/qt} 6" + [[ ${FUNCNAME[1]} == qt6_get_bindir ]] && + eqawarn " IMPORTANT: qt_get_bindir no longer prepends EPREFIX," && + eqawarn " which likely was wrong to begin with." + ;; + qt6_get_libdir) + die "qt6_get_libdir is banned. 'qt_get_archdatadir 6' serves \$(qt6_get_libdir)/qt6" + ;; + qt6_get_*) + _deprecated_use_instead ${FUNCNAME[1]} "${FUNCNAME[1]/qt6/qt} 6" + ;; + esac +} + +# @FUNCTION: _qt_get_check_func_call +# @INTERNAL +# @DESCRIPTION: +# Checks parameters of public, parent qt_get_* functions for validity. +_qt_get_check_func_call() { + [[ ${FUNCNAME[2]} == qt_get_* ]] && return # don't check twice + case ${FUNCNAME[1]} in + qt_get_broot_binary) + [[ $# -ne 2 ]] && die "${FUNCNAME[1]}: must be passed exactly two arguments" ;; + *) + [[ $# -ne 1 ]] && die "${FUNCNAME[1]}: must be passed exactly one argument" ;; + esac + case ${1} in + 6) ;; + *) die "${FUNCNAME[1]}: Qt ${1} is not supported" ;; + esac +} + +# @FUNCTION: _qt_get_archdatadir +# @INTERNAL +# @USAGE: +# @DESCRIPTION: +# Internal base function to retrieve archdatadir part of path. +_qt_get_archdatadir() { + echo "/usr/$(get_libdir)/qt${1}" +} + +# @FUNCTION: qt_get_archdatadir +# @USAGE: +# @DESCRIPTION: +# Echoes the base directory beneath which Qt binaries, modules, plugins, ... +# are installed. +qt_get_archdatadir() { + _qt_get_check_func_call "$@" + _qt_get_archdatadir "$@" +} + +# @FUNCTION: qt_get_bindir +# @USAGE: +# @DESCRIPTION: +# Echoes the directory where Qt binaries are installed. +qt_get_bindir() { + _qt_get_check_func_call "$@" + echo "$(_qt_get_archdatadir "$@")/bin" +} + +# @FUNCTION: qt_get_broot_binary +# @USAGE: +# @DESCRIPTION: +# Echoes the BROOT prefixed path to a specific Qt binary, regardless whether +# located in bindir or libexecdir. +qt_get_broot_binary() { + _qt_get_check_func_call "$@" + PATH=${BROOT}$(qt_get_libexecdir ${1}):${BROOT}$(qt_get_bindir ${1}) \ + type -P "${2}" || die "${FUNCNAME[0]}: failed trying to detect binary: ${2}" +} + +# @FUNCTION: qt_get_headerdir +# @USAGE: +# @DESCRIPTION: +# Echoes the directory where Qt headers are installed. +qt_get_headerdir() { + _qt_get_check_func_call "$@" + echo "/usr/include/qt${1}" +} + +# @FUNCTION: qt_get_libexecdir +# @USAGE: +# @DESCRIPTION: +# Echoes the directory where Qt libexec bins are installed. +qt_get_libexecdir() { + _qt_get_check_func_call "$@" + echo "$(_qt_get_archdatadir "$@")/libexec" +} + +# @FUNCTION: qt_get_mkspecsdir +# @USAGE: +# @DESCRIPTION: +# Echoes the directory where Qt mkspecs are installed. +qt_get_mkspecsdir() { + _qt_get_check_func_call "$@" + echo "$(_qt_get_archdatadir "$@")/mkspecs" +} + +# @FUNCTION: qt_get_plugindir +# @USAGE: +# @DESCRIPTION: +# Echoes the directory where Qt plugins are installed. +qt_get_plugindir() { + _qt_get_check_func_call "$@" + echo "$(_qt_get_archdatadir "$@")/plugins" +} + +# @FUNCTION: qt_get_qmldir +# @USAGE: +# @DESCRIPTION: +# Echoes the directory where Qt Qml imports are installed. +qt_get_qmldir() { + _qt_get_check_func_call "$@" + echo "$(_qt_get_archdatadir "$@")/qml" +} + # @FUNCTION: qt6_get_bindir +# @DEPRECATED: qt_get_broot_binary 6 , qt_get_bindir 6 (no EPREFIX) # @DESCRIPTION: # Echoes the directory where Qt6 binaries are installed. -# EPREFIX is already prepended to the returned path. +# EPREFIX is always prepended to the returned path. qt6_get_bindir() { - echo "${EPREFIX}$(qt6_get_libdir)/qt6/bin" + _qt_eapi9_banned_deprecated_func + echo "${EPREFIX}$(qt_get_bindir 6)" } # @FUNCTION: qt6_get_headerdir +# @DEPRECATED: qt_get_headerdir 6 # @DESCRIPTION: # Echoes the directory where Qt6 headers are installed. qt6_get_headerdir() { - echo "/usr/include/qt6" + _qt_eapi9_banned_deprecated_func + qt_get_headerdir 6 } # @FUNCTION: qt6_get_libdir +# @DEPRECATED: qt_get_archdatadir 6 (serves $(qt6_get_libdir)/qt6) # @DESCRIPTION: # Echoes the directory where Qt6 libraries are installed. qt6_get_libdir() { + _qt_eapi9_banned_deprecated_func echo "/usr/$(get_libdir)" } # @FUNCTION: qt6_get_libexecdir +# @DEPRECATED: qt_get_broot_binary 6 , qt_get_libexecdir 6 # @DESCRIPTION: # Echoes the directory where Qt6 libexec bins are installed. qt6_get_libexecdir() { - echo "$(qt6_get_libdir)/qt6/libexec" + _qt_eapi9_banned_deprecated_func + qt_get_libexecdir 6 } # @FUNCTION: qt6_get_mkspecsdir +# @DEPRECATED: qt_get_mkspecsdir 6 # @DESCRIPTION: # Echoes the directory where Qt6 mkspecs are installed. qt6_get_mkspecsdir() { - echo "$(qt6_get_libdir)/qt6/mkspecs" + _qt_eapi9_banned_deprecated_func + qt_get_mkspecsdir 6 } # @FUNCTION: qt6_get_plugindir +# @DEPRECATED: qt_get_plugindir 6 # @DESCRIPTION: # Echoes the directory where Qt6 plugins are installed. qt6_get_plugindir() { - echo "$(qt6_get_libdir)/qt6/plugins" + _qt_eapi9_banned_deprecated_func + qt_get_plugindir 6 } fi From 4521fb9f30698ad351e84b9d02d6d0ddef325161 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 3 Aug 2026 08:17:03 +0000 Subject: [PATCH 108/195] eclass/rust: Sync with Gentoo It's from Gentoo commit 4fc4aa56fe6e7449d538dca68c01417fa9e07306. Signed-off-by: Flatcar Buildbot --- .../src/third_party/portage-stable/eclass/rust.eclass | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/sdk_container/src/third_party/portage-stable/eclass/rust.eclass b/sdk_container/src/third_party/portage-stable/eclass/rust.eclass index 8e4e3761f7b..6d2a676dec9 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/rust.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/rust.eclass @@ -68,6 +68,8 @@ fi # Definitive list of Rust slots and the associated LLVM slot, newest first. declare -A -g -r _RUST_LLVM_MAP=( ["9999"]=22 + ["1.97.1"]=22 + ["1.96.1"]=22 ["1.95.0"]=22 ["1.94.1"]=21 ["1.94.0"]=21 @@ -104,6 +106,8 @@ declare -A -g -r _RUST_LLVM_MAP=( # this array is used to store the Rust slots in a more convenient order for iteration. declare -a -g -r _RUST_SLOTS_ORDERED=( "9999" + "1.97.1" + "1.96.1" "1.95.0" "1.94.1" "1.94.0" From 780913b979fb92efceb6a7a455bafd5fbee609f3 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 3 Aug 2026 08:17:07 +0000 Subject: [PATCH 109/195] eclass/selinux-policy-2: Sync with Gentoo It's from Gentoo commit 0fb0075d07089e62550054578f1a789ac7c16552. Signed-off-by: Flatcar Buildbot --- .../portage-stable/eclass/selinux-policy-2.eclass | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/sdk_container/src/third_party/portage-stable/eclass/selinux-policy-2.eclass b/sdk_container/src/third_party/portage-stable/eclass/selinux-policy-2.eclass index d434251672f..1999b6ed498 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/selinux-policy-2.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/selinux-policy-2.eclass @@ -194,14 +194,17 @@ selinux-policy-2_src_prepare() { # Patch the sources with the base patchbundle if [[ -n ${BASEPOL} && "${BASEPOL}" != "9999" ]]; then - cd "${S}" || die "Could not enter ${S}" + pushd "${S}" >/dev/null || die "Could not enter ${S}" einfo "Applying SELinux policy updates ... " eapply -p0 -- "${WORKDIR}/0001-full-patch-against-stable-release.patch" + popd >/dev/null || die fi # Call in eapply_user. We do this early on as we start moving # files left and right hereafter. + pushd "${WORKDIR}"/refpolicy >/dev/null || die eapply_user + popd >/dev/null || die # Copy additional files to the 3rd_party/ location if [[ "$(declare -p POLICY_FILES 2>/dev/null 2>&1)" = "declare -a"* || -n ${POLICY_FILES} ]]; then From 26706dc36bbc26701de1c9342fc195c80fbea095 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 3 Aug 2026 08:17:50 +0000 Subject: [PATCH 110/195] eclass/xorg-3: Sync with Gentoo It's from Gentoo commit dee89380725f42a4f0f56d972614cbae27dc961a. Signed-off-by: Flatcar Buildbot --- .../third_party/portage-stable/eclass/xorg-3.eclass | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/sdk_container/src/third_party/portage-stable/eclass/xorg-3.eclass b/sdk_container/src/third_party/portage-stable/eclass/xorg-3.eclass index 4947cb86b8b..6080ebe1727 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/xorg-3.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/xorg-3.eclass @@ -1,4 +1,4 @@ -# Copyright 1999-2025 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 # @ECLASS: xorg-3.eclass @@ -8,7 +8,7 @@ # Author: TomĂĄĆĄ ChvĂĄtal # Author: Donnie Berkholz # Author: Matt Turner -# @SUPPORTED_EAPIS: 8 +# @SUPPORTED_EAPIS: 8 9 # @PROVIDES: multilib-minimal # @BLURB: Reduces code duplication in the modularized X11 ebuilds. # @DESCRIPTION: @@ -23,7 +23,7 @@ # everything else should be automatic. case ${EAPI} in - 8) ;; + 8|9) ;; *) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;; esac @@ -77,7 +77,7 @@ unset FONT_ECLASS GIT_ECLASS # @DESCRIPTION: # Set up SRC_URI for individual modular releases. If set to an empty # string, no SRC_URI will be provided by the eclass. -: "${XORG_BASE_INDIVIDUAL_URI="https://www.x.org/releases/individual"}" +: "${XORG_BASE_INDIVIDUAL_URI="https://xorg.freedesktop.org/archive/individual"}" # @ECLASS_VARIABLE: XORG_MODULE # @PRE_INHERIT @@ -104,9 +104,9 @@ fi # @DESCRIPTION: # For git checkout the git repository might differ from package name. # This variable can be used for proper directory specification -: "${XORG_PACKAGE_NAME:=${PN}}" +: "${XORG_PACKAGE_NAME:=${PN,,}}" -HOMEPAGE="https://www.x.org/wiki/ https://gitlab.freedesktop.org/xorg/${XORG_MODULE}${XORG_PACKAGE_NAME}" +HOMEPAGE="https://www.x.org/ https://gitlab.freedesktop.org/xorg/${XORG_MODULE}${XORG_PACKAGE_NAME}" # @ECLASS_VARIABLE: XORG_TARBALL_SUFFIX # @PRE_INHERIT From 8d580a8819d9e57cc03c053e3233c56b91a280c9 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 3 Aug 2026 08:17:56 +0000 Subject: [PATCH 111/195] net-dns/bind: Sync with Gentoo It's from Gentoo commit 842a7f1cb4f2f53b43136647e4f8bd7358754987. Signed-off-by: Flatcar Buildbot --- .../portage-stable/net-dns/bind/Manifest | 4 + .../net-dns/bind/bind-9.20.23.ebuild | 3 +- .../net-dns/bind/bind-9.20.24.ebuild | 288 ++++++++++++++++++ .../net-dns/bind/bind-9.20.26.ebuild | 288 ++++++++++++++++++ 4 files changed, 581 insertions(+), 2 deletions(-) create mode 100644 sdk_container/src/third_party/portage-stable/net-dns/bind/bind-9.20.24.ebuild create mode 100644 sdk_container/src/third_party/portage-stable/net-dns/bind/bind-9.20.26.ebuild diff --git a/sdk_container/src/third_party/portage-stable/net-dns/bind/Manifest b/sdk_container/src/third_party/portage-stable/net-dns/bind/Manifest index cf55c3682aa..b0ef1904ea9 100644 --- a/sdk_container/src/third_party/portage-stable/net-dns/bind/Manifest +++ b/sdk_container/src/third_party/portage-stable/net-dns/bind/Manifest @@ -10,3 +10,7 @@ DIST bind-9.20.22.tar.xz 5817248 BLAKE2B 74537646d8c08c4874548b064ab62bab3721d22 DIST bind-9.20.22.tar.xz.asc 833 BLAKE2B 1b68a0dc7ba7e3bcb9c222f13daaf113e464cfea792408bc28096ce7961e3121a85104b0bfb468bd6c7a8becdc0fb54ed744aeb96490b4d5792ed7113fb69b02 SHA512 c987629f59f919ce325c70c001e5c3093bd9f36dc589aac94ba9cdfcc4679e892da4d1980cc154801f222a9ec4dbf3112ff627e5abf539a5d3cf20629fda72b3 DIST bind-9.20.23.tar.xz 5837532 BLAKE2B f4f5526fac2832685204ccc93087df3ce2dd3fbb267a5b68d0cf8074365a8f1d6e7b9ff130b41a023ea8dd96499a361a0396188f0a71a08630c54ec13e63c39a SHA512 fce8a69620c15223e54dd197c09c7b00c165e5e3a5b2f62b241f589be5675c581029cf750caa8ed1f1fcb0faf293df04e77c494c205bab89d6d01153395bf4cb DIST bind-9.20.23.tar.xz.asc 833 BLAKE2B dd8f34f1257c7fa153225b0d25780c34549ed8209e88a41ccbd66dca3186817395002989cebe92fecb39bcb5452d998c512daac5143a7fb87baacdcb6a1d5976 SHA512 41c008dd3edc1bff238dbabff74731ffb1ec7213805e354661450a28676212b3937d3be35e7ecaefd3670f609cc40fbd346ebfff77aa82511d28d46c24b88c31 +DIST bind-9.20.24.tar.xz 5854912 BLAKE2B 06fde034ef2d3f4432caf5d9a701f70f32dec94be63e64dfd5484d9e008245ca5707c067c0fa19e1e2c0a3d83d2bbeb465c6ec18aceed48ffaad6973c8a77a54 SHA512 6e163d483a45a71d979c0c4fc9778e22f6fc158ab3dff460d84fa60391689c2f6e62ec179500718bcad27547728910ee17de2d10ef1936018a8958138e9c146c +DIST bind-9.20.24.tar.xz.asc 833 BLAKE2B 8dbbfe712f35929ab3edb2906ce732fe2a2427f64a225df37ea90ec60c7bf23678987c32cb99310c47938b20e561aa8b6205c22c04481a5bb0c6007d65bdcd61 SHA512 3e9bebcc3bf22402e81bb361e955d82973c307b2a3aee25e238e66956fc6e6ffe5fa46d37c2b500ebfadec24e5d6eb3b504d2008741384fddad65442035a8c33 +DIST bind-9.20.26.tar.xz 5918032 BLAKE2B 433d5ed7457367ce5b195a7d1a6f3fef21f929b158b14e3c86d8dc2004240119e4ec3b1d3cab1121be66ec77463fcb462e1207ec3339cf46ca4eec05f8c366ef SHA512 6d90452d86bfbd1cd6c1301f8c2d9c2251402c81a03d45ab30217f5db05ab1ca6ca7e01fac3642bcd7e1866bd535763e9a9526886312eb5eaf4e532431a92931 +DIST bind-9.20.26.tar.xz.asc 833 BLAKE2B 1d5b52adb8e8458d2b3050fbbee650770ad23b2dfbd5d8ca94fef8dd1d8631a1d97f7cb153e8560628cbb9ad35b87bf1cefdf1e4363a9a0ea2f92290f06d6edf SHA512 cca9944521ce45e456e2e04ad271a9df97e8772cb2f2cb8230b875fc39d893be20e3b957207ad11e211b5426b8ee4313131b073f06af8e0271db457b7caffb84 diff --git a/sdk_container/src/third_party/portage-stable/net-dns/bind/bind-9.20.23.ebuild b/sdk_container/src/third_party/portage-stable/net-dns/bind/bind-9.20.23.ebuild index 001514ea5a9..f4d8e3028bc 100644 --- a/sdk_container/src/third_party/portage-stable/net-dns/bind/bind-9.20.23.ebuild +++ b/sdk_container/src/third_party/portage-stable/net-dns/bind/bind-9.20.23.ebuild @@ -4,7 +4,7 @@ EAPI=8 VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/isc.asc -inherit autotools eapi9-ver systemd tmpfiles toolchain-funcs verify-sig +inherit eapi9-ver systemd tmpfiles toolchain-funcs verify-sig MY_PV="${PV/_p/-P}" MY_PV="${MY_PV/_rc/rc}" @@ -62,7 +62,6 @@ BDEPEND=" src_prepare() { default - eautoreconf # Don't clobber our toolchain defaults sed -i -e '/FORTIFY_SOURCE=/d' configure || die diff --git a/sdk_container/src/third_party/portage-stable/net-dns/bind/bind-9.20.24.ebuild b/sdk_container/src/third_party/portage-stable/net-dns/bind/bind-9.20.24.ebuild new file mode 100644 index 00000000000..b6ce44a1852 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/net-dns/bind/bind-9.20.24.ebuild @@ -0,0 +1,288 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/isc.asc +inherit eapi9-ver systemd tmpfiles toolchain-funcs verify-sig + +MY_PV="${PV/_p/-P}" +MY_PV="${MY_PV/_rc/rc}" + +DESCRIPTION="Berkeley Internet Name Domain - Name Server" +HOMEPAGE="https://www.isc.org/bind/" +SRC_URI=" + https://downloads.isc.org/isc/bind9/${PV}/${P}.tar.xz + verify-sig? ( https://downloads.isc.org/isc/bind9/${PV}/${P}.tar.xz.asc ) +" +S="${WORKDIR}/${PN}-${MY_PV}" + +LICENSE="MPL-2.0" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +IUSE="dnstap doc doh fixed-rrset idn jemalloc geoip gssapi lmdb selinux static-libs systemtap test xml" +RESTRICT="!test? ( test )" + +DEPEND=" + acct-group/named + acct-user/named + dev-libs/json-c:= + dev-libs/userspace-rcu:= + >=dev-libs/libuv-1.37.0:= + virtual/zlib:= + dev-libs/openssl:=[-bindist(-)] + >=sys-libs/libcap-2.1.0 + dnstap? ( + dev-libs/fstrm + dev-libs/protobuf-c + ) + doh? ( net-libs/nghttp2:= ) + geoip? ( dev-libs/libmaxminddb ) + gssapi? ( virtual/krb5 ) + idn? ( net-dns/libidn2 ) + jemalloc? ( dev-libs/jemalloc:= ) + lmdb? ( dev-db/lmdb ) + xml? ( dev-libs/libxml2:= ) +" +RDEPEND=" + ${DEPEND} + selinux? ( sec-policy/selinux-bind ) + sys-process/psmisc + !/dev/null; echo ${CHROOT}) + if [[ -n ${CHROOT} ]]; then + elog "NOTE: As of net-dns/bind-9.4.3_p5-r1 the chroot part of the init-script got some major changes!" + elog "To enable the old behaviour (without using mount) uncomment the" + elog "CHROOT_NOMOUNT option in your /etc/conf.d/named config." + elog "If you decide to use the new/default method, ensure to make backup" + elog "first and merge your existing configs/zones to /etc/bind and" + elog "/var/bind because bind will now mount the needed directories into" + elog "the chroot dir." + fi + + # show only when upgrading to 9.18 + if ver_replacing -lt 9.18; then + elog "As this is a major bind version upgrade, please read:" + elog " https://kb.isc.org/docs/changes-to-be-aware-of-when-moving-from-bind-916-to-918" + elog "for differences in functionality." + elog "" + ewarn "In particular, please note that bind-9.18 does not need a root hints file anymore" + ewarn "and we only ship with one as a stop-gap. If your current configuration specifies a" + ewarn "root hints file - usually called named.cache - bind will not start as it will not be able" + ewarn "to find the specified file. Best practice is to delete the offending lines that" + ewarn "reference named.cache file from your configuration." + fi +} + +pkg_config() { + CHROOT=$(source "${EROOT}"/etc/conf.d/named; echo ${CHROOT}) + CHROOT_NOMOUNT=$(source "${EROOT}"/etc/conf.d/named; echo ${CHROOT_NOMOUNT}) + CHROOT_GEOIP=$(source "${EROOT}"/etc/conf.d/named; echo ${CHROOT_GEOIP}) + + if [[ -z "${CHROOT}" ]]; then + eerror "This config script is designed to automate setting up" + eerror "a chrooted bind/named. To do so, please first uncomment" + eerror "and set the CHROOT variable in '/etc/conf.d/named'." + die "Unset CHROOT" + fi + + if [[ -d "${CHROOT}" ]]; then + ewarn "NOTE: As of net-dns/bind-9.4.3_p5-r1 the chroot part of the init-script got some major changes!" + ewarn "To enable the old behaviour (without using mount) uncomment the" + ewarn "CHROOT_NOMOUNT option in your /etc/conf.d/named config." + ewarn + ewarn "${CHROOT} already exists... some things might become overridden" + ewarn "press CTRL+C if you don't want to continue" + sleep 10 + fi + + echo; einfo "Setting up the chroot directory..." + + mkdir -m 0750 -p "${CHROOT}" || die + mkdir -m 0755 -p "${CHROOT}"/{dev,etc,var/log,run} || die + mkdir -m 0750 -p "${CHROOT}"/etc/bind || die + mkdir -m 0770 -p "${CHROOT}"/var/{bind,log/named,run/named} "${CHROOT}"/run/named/ || die + + chown root:named \ + "${CHROOT}" \ + "${CHROOT}"/var/{bind,log/named,run/named} \ + "${CHROOT}"/run/named/ \ + "${CHROOT}"/etc/bind \ + || die + + mknod "${CHROOT}"/dev/null c 1 3 || die + chmod 0666 "${CHROOT}"/dev/null || die + + mknod "${CHROOT}"/dev/zero c 1 5 || die + chmod 0666 "${CHROOT}"/dev/zero || die + + if [[ "${CHROOT_NOMOUNT:-0}" -ne 0 ]]; then + cp -a /etc/bind "${CHROOT}"/etc/ || die + cp -a /var/bind "${CHROOT}"/var/ || die + fi + + if [[ "${CHROOT_GEOIP:-0}" -eq 1 ]]; then + if use geoip; then + mkdir -m 0755 -p "${CHROOT}"/usr/share/GeoIP || die + elif use geoip2; then + mkdir -m 0755 -p "${CHROOT}"/usr/share/GeoIP2 || die + fi + fi + + elog "You may need to add the following line to your syslog-ng.conf:" + elog "source jail { unix-stream(\"${CHROOT}/dev/log\"); };" +} diff --git a/sdk_container/src/third_party/portage-stable/net-dns/bind/bind-9.20.26.ebuild b/sdk_container/src/third_party/portage-stable/net-dns/bind/bind-9.20.26.ebuild new file mode 100644 index 00000000000..b6ce44a1852 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/net-dns/bind/bind-9.20.26.ebuild @@ -0,0 +1,288 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/isc.asc +inherit eapi9-ver systemd tmpfiles toolchain-funcs verify-sig + +MY_PV="${PV/_p/-P}" +MY_PV="${MY_PV/_rc/rc}" + +DESCRIPTION="Berkeley Internet Name Domain - Name Server" +HOMEPAGE="https://www.isc.org/bind/" +SRC_URI=" + https://downloads.isc.org/isc/bind9/${PV}/${P}.tar.xz + verify-sig? ( https://downloads.isc.org/isc/bind9/${PV}/${P}.tar.xz.asc ) +" +S="${WORKDIR}/${PN}-${MY_PV}" + +LICENSE="MPL-2.0" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +IUSE="dnstap doc doh fixed-rrset idn jemalloc geoip gssapi lmdb selinux static-libs systemtap test xml" +RESTRICT="!test? ( test )" + +DEPEND=" + acct-group/named + acct-user/named + dev-libs/json-c:= + dev-libs/userspace-rcu:= + >=dev-libs/libuv-1.37.0:= + virtual/zlib:= + dev-libs/openssl:=[-bindist(-)] + >=sys-libs/libcap-2.1.0 + dnstap? ( + dev-libs/fstrm + dev-libs/protobuf-c + ) + doh? ( net-libs/nghttp2:= ) + geoip? ( dev-libs/libmaxminddb ) + gssapi? ( virtual/krb5 ) + idn? ( net-dns/libidn2 ) + jemalloc? ( dev-libs/jemalloc:= ) + lmdb? ( dev-db/lmdb ) + xml? ( dev-libs/libxml2:= ) +" +RDEPEND=" + ${DEPEND} + selinux? ( sec-policy/selinux-bind ) + sys-process/psmisc + !/dev/null; echo ${CHROOT}) + if [[ -n ${CHROOT} ]]; then + elog "NOTE: As of net-dns/bind-9.4.3_p5-r1 the chroot part of the init-script got some major changes!" + elog "To enable the old behaviour (without using mount) uncomment the" + elog "CHROOT_NOMOUNT option in your /etc/conf.d/named config." + elog "If you decide to use the new/default method, ensure to make backup" + elog "first and merge your existing configs/zones to /etc/bind and" + elog "/var/bind because bind will now mount the needed directories into" + elog "the chroot dir." + fi + + # show only when upgrading to 9.18 + if ver_replacing -lt 9.18; then + elog "As this is a major bind version upgrade, please read:" + elog " https://kb.isc.org/docs/changes-to-be-aware-of-when-moving-from-bind-916-to-918" + elog "for differences in functionality." + elog "" + ewarn "In particular, please note that bind-9.18 does not need a root hints file anymore" + ewarn "and we only ship with one as a stop-gap. If your current configuration specifies a" + ewarn "root hints file - usually called named.cache - bind will not start as it will not be able" + ewarn "to find the specified file. Best practice is to delete the offending lines that" + ewarn "reference named.cache file from your configuration." + fi +} + +pkg_config() { + CHROOT=$(source "${EROOT}"/etc/conf.d/named; echo ${CHROOT}) + CHROOT_NOMOUNT=$(source "${EROOT}"/etc/conf.d/named; echo ${CHROOT_NOMOUNT}) + CHROOT_GEOIP=$(source "${EROOT}"/etc/conf.d/named; echo ${CHROOT_GEOIP}) + + if [[ -z "${CHROOT}" ]]; then + eerror "This config script is designed to automate setting up" + eerror "a chrooted bind/named. To do so, please first uncomment" + eerror "and set the CHROOT variable in '/etc/conf.d/named'." + die "Unset CHROOT" + fi + + if [[ -d "${CHROOT}" ]]; then + ewarn "NOTE: As of net-dns/bind-9.4.3_p5-r1 the chroot part of the init-script got some major changes!" + ewarn "To enable the old behaviour (without using mount) uncomment the" + ewarn "CHROOT_NOMOUNT option in your /etc/conf.d/named config." + ewarn + ewarn "${CHROOT} already exists... some things might become overridden" + ewarn "press CTRL+C if you don't want to continue" + sleep 10 + fi + + echo; einfo "Setting up the chroot directory..." + + mkdir -m 0750 -p "${CHROOT}" || die + mkdir -m 0755 -p "${CHROOT}"/{dev,etc,var/log,run} || die + mkdir -m 0750 -p "${CHROOT}"/etc/bind || die + mkdir -m 0770 -p "${CHROOT}"/var/{bind,log/named,run/named} "${CHROOT}"/run/named/ || die + + chown root:named \ + "${CHROOT}" \ + "${CHROOT}"/var/{bind,log/named,run/named} \ + "${CHROOT}"/run/named/ \ + "${CHROOT}"/etc/bind \ + || die + + mknod "${CHROOT}"/dev/null c 1 3 || die + chmod 0666 "${CHROOT}"/dev/null || die + + mknod "${CHROOT}"/dev/zero c 1 5 || die + chmod 0666 "${CHROOT}"/dev/zero || die + + if [[ "${CHROOT_NOMOUNT:-0}" -ne 0 ]]; then + cp -a /etc/bind "${CHROOT}"/etc/ || die + cp -a /var/bind "${CHROOT}"/var/ || die + fi + + if [[ "${CHROOT_GEOIP:-0}" -eq 1 ]]; then + if use geoip; then + mkdir -m 0755 -p "${CHROOT}"/usr/share/GeoIP || die + elif use geoip2; then + mkdir -m 0755 -p "${CHROOT}"/usr/share/GeoIP2 || die + fi + fi + + elog "You may need to add the following line to your syslog-ng.conf:" + elog "source jail { unix-stream(\"${CHROOT}/dev/log\"); };" +} From f6aa4355d63623b4a72913060453d797b9db988b Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 3 Aug 2026 08:17:57 +0000 Subject: [PATCH 112/195] net-dns/c-ares: Sync with Gentoo It's from Gentoo commit 7841be4789d01e34723d30a1c6334f08b7b89425. Signed-off-by: Flatcar Buildbot --- .../portage-stable/net-dns/c-ares/Manifest | 2 + .../net-dns/c-ares/c-ares-1.34.8.ebuild | 110 ++++++++++++++++++ 2 files changed, 112 insertions(+) create mode 100644 sdk_container/src/third_party/portage-stable/net-dns/c-ares/c-ares-1.34.8.ebuild diff --git a/sdk_container/src/third_party/portage-stable/net-dns/c-ares/Manifest b/sdk_container/src/third_party/portage-stable/net-dns/c-ares/Manifest index 0897ed5a496..d7c992871d5 100644 --- a/sdk_container/src/third_party/portage-stable/net-dns/c-ares/Manifest +++ b/sdk_container/src/third_party/portage-stable/net-dns/c-ares/Manifest @@ -1,2 +1,4 @@ DIST c-ares-1.34.6.tar.gz 1017864 BLAKE2B 3a348cfaf4c992ba1712be73907599fd9d3e7b6d1b5498fa86259bbd8c9e102d530e89eee0f668b5b0b8164034047c187be7f8d40016d012c9e451dbf56bfbde SHA512 826eecdb40942caf75da982b9ca57fbe7c3e7c23af43a908683c7c1523c46b06ebac68405c26db8bf4c8b0774ca415666866249a3bde663a71c278f4ec7b1827 DIST c-ares-1.34.6.tar.gz.asc 228 BLAKE2B 047ed363c58840914ec6fe6f81fe51ce6aca1293b91cf48c9f476a013f2267cd728a97d600e172ef51267f4ade63c4c4ed381ed5c37c83d541df1d4dc41f0e44 SHA512 864e9bb1703729db1554f68e07432de6e1f364f9bf565e1dc51dfbd4a87ae8751d9e4b1a5c607455457dc2c1054ba687f33365909d8a4888644d99c5e518bbce +DIST c-ares-1.34.8.tar.gz 1036098 BLAKE2B b5a88811d8ee6a0c06737746a356bc1fc7c13416b11a0af3a2e6cab092d97adebb93234cf73b97a12b06b764f8562272a793961dc3367024c4322d923ac43f9f SHA512 d5997a57fda9b3a3385b1685e6b2f9292c3a1d39bd27579acaabf3d2d33aa5e91bfec5d41c5e51ca6b50dbc1f4346d75e9bfbccf44a494fbd4bc7613b167143c +DIST c-ares-1.34.8.tar.gz.asc 265 BLAKE2B 5981f7509e6236dc7b3f3c181fbb1f717b880a20ee03730e54ffa51a3660e9b29210699454e4f7f0388ce837826044a6e0a7f722d87ff42954f093ab4514829c SHA512 bef786b9dcf23cdcddf2d07c4aa56564869c44fa34732c49d612184297b48b98d5b591cda13d52060a3b9db396b4348f022222eb13a4283b929ed905c7c5d412 diff --git a/sdk_container/src/third_party/portage-stable/net-dns/c-ares/c-ares-1.34.8.ebuild b/sdk_container/src/third_party/portage-stable/net-dns/c-ares/c-ares-1.34.8.ebuild new file mode 100644 index 00000000000..d2525aacf60 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/net-dns/c-ares/c-ares-1.34.8.ebuild @@ -0,0 +1,110 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# Both Daniel and Brad are listed as possible signers on the homepage +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/bradhouse.asc +inherit edo libtool multilib-minimal verify-sig + +DESCRIPTION="C library that resolves names asynchronously" +HOMEPAGE="https://c-ares.org/" +SRC_URI=" + https://github.com/c-ares/c-ares/releases/download/v${PV}/${P}.tar.gz + verify-sig? ( https://github.com/c-ares/c-ares/releases/download/v${PV}/${P}.tar.gz.asc ) +" + +# ISC for lib/{bitncmp.c,inet_ntop.c,inet_net_pton.c} (bug #912405) +LICENSE="MIT ISC" +# Subslot = SONAME of libcares.so.2 +SLOT="0/2" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" +IUSE="static-libs test" +RESTRICT="!test? ( test )" + +BDEPEND=" + test? ( dev-cpp/gtest ) + verify-sig? ( sec-keys/openpgp-keys-bradhouse ) +" + +DOCS=( AUTHORS README.md RELEASE-NOTES.md ) + +MULTILIB_WRAPPED_HEADERS=( + /usr/include/ares_build.h +) + +A__QA_CONFIG_IMPL_DECL_SKIP=( + # Checking for obsolete headers + malloc + calloc + free + + # Non-existent on Linux + closesocket + CloseSocket + ioctlsocket + bitncmp + ConvertInterfaceIndexToLuid + ConvertInterfaceLuidToNameA +) + +src_prepare() { + default + elibtoolize + + if [[ ${CHOST} == *-darwin* ]] ; then + # warnings are default, but enable -std=c90 which doesn't define + # 'bool' which is a type used/assumed in macOS system headers + sed -i -e 's/-std=c90/& -Dbool=int/' configure{.ac,} || die + # sysconfig integration requires deep framework compatibility + # and is not really desired in Prefix + sed -i -e 's/__APPLE__/__DISABLED__/' \ + src/lib/ares_sysconfig_mac.c || die + sed -i -e '/elif defined(__APPLE__)/s/__APPLE__/__DISABLED__/' \ + src/lib/ares_sysconfig.c || die + fi +} + +multilib_src_configure() { + local myeconfargs=( + --enable-symbol-hiding + $(use_enable static-libs static) + $(use_enable test tests) + ) + + # Needed for running unit tests only + # Violates sandbox and tests pass fine without + export ares_cv_user_namespace=no + export ares_cv_uts_namespace=no + ECONF_SOURCE="${S}" econf "${myeconfargs[@]}" +} + +multilib_src_test() { + cd "${BUILD_DIR}"/test || die + + # We're skipping the "real" network tests with the filter + # see https://github.com/c-ares/c-ares/tree/main/test + local network_tests=( + # Most live tests have Live in the name + *Live* + # These don't but are still in ares-test-live.cc => live + *GetTCPSock* + *TimeoutValue* + *GetSock* + *GetSock_virtualized* + *VerifySocketFunctionCallback* + # Seems flaky, even run manually + # https://github.com/c-ares/c-ares/commit/9e542a8839f81c990bb0dff14beeaf9aa6bcc18d + *MockUDPMaxQueriesTest.GetHostByNameParallelLookups* + ) + + # The format for disabling test1, test2, and test3 looks like: + # -test1:test2:test3 + edo ./arestest --gtest_filter=-$(echo $(IFS=:; echo "${network_tests[*]}")) +} + +multilib_src_install_all() { + einstalldocs + + find "${ED}" -name "*.la" -delete || die +} From 714cabc6593820eb890b66ba90a661f1e5ee9d9e Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 3 Aug 2026 08:17:57 +0000 Subject: [PATCH 113/195] net-dns/dnsmasq: Sync with Gentoo It's from Gentoo commit 177b9ffb05b0ad38a0cf6579c1ffa9cce6abd660. Signed-off-by: Flatcar Buildbot --- .../portage-stable/net-dns/dnsmasq/Manifest | 2 + .../net-dns/dnsmasq/dnsmasq-2.93.ebuild | 237 ++++++++++++++++++ 2 files changed, 239 insertions(+) create mode 100644 sdk_container/src/third_party/portage-stable/net-dns/dnsmasq/dnsmasq-2.93.ebuild diff --git a/sdk_container/src/third_party/portage-stable/net-dns/dnsmasq/Manifest b/sdk_container/src/third_party/portage-stable/net-dns/dnsmasq/Manifest index 96f6c96162d..6017e9a0176 100644 --- a/sdk_container/src/third_party/portage-stable/net-dns/dnsmasq/Manifest +++ b/sdk_container/src/third_party/portage-stable/net-dns/dnsmasq/Manifest @@ -1,2 +1,4 @@ DIST dnsmasq-2.92rel2.tar.xz 638020 BLAKE2B 4dd6b286c1f361673fea32ed3e0c3144fa3f873bfc0ec699c05c47da52371ee0f57abf15a851933c8967015bda3cd1f62e07c8ece875891c3660d02bb55677a5 SHA512 607abf33d6eac24eafdff9cd291d84b065354303d5e1d9514d79085b247fb3861ac57851ca1dfc4a5cddd314f8b970d17e93b987b1576e9f6ba1d6bffd42fff1 DIST dnsmasq-2.92rel2.tar.xz.asc 833 BLAKE2B 0544e86f5c7eb3141a8d19a7b3234fb0e52f308462a0ccc3843d37af644d079e928fa53eb38672b78fd7fc067982c87b74adc848b3fc0055d91e314b5c31a88e SHA512 140161d89287ab46fe15f7b68264a166e1a1f1a019cc781b0013a6345790e3f75186a023b32e526e7b5c05584734dfaff7e3b76b3c01878c0d22d9f6a039fcde +DIST dnsmasq-2.93.tar.xz 642764 BLAKE2B 19b4d434e2d98b9946a59dc8ffb9b67ff97731d8375d093652da59c830b84469c221ba587e479293bdc537175b9688474bda37091b2f075df5d7eea8e091cd9d SHA512 ee442c634c54f103e034ee5259f1802895f9e9d172891f14c644e260519da73f5dd6f28b75cb84c0b1cc5f9ec464ba8f40c87095fa96719cb0df831eae0887ee +DIST dnsmasq-2.93.tar.xz.asc 833 BLAKE2B 880f4004dd41e5f80fa5f3c4b700e7f330d70973ec3b53210153ac64bd2362470d377d3d06ede7498381f7a6a841eee356a56ce1f3da32ebca62ea7172c0a8cb SHA512 13b34102d8593fab8c859ca839ec240478e2382c35251afb3d69b73124a4826031d8945fe33c92f9b5302e49b1789f3db5c0d7ae98118aeba4ee317767c46dd9 diff --git a/sdk_container/src/third_party/portage-stable/net-dns/dnsmasq/dnsmasq-2.93.ebuild b/sdk_container/src/third_party/portage-stable/net-dns/dnsmasq/dnsmasq-2.93.ebuild new file mode 100644 index 00000000000..3fbfdeff328 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/net-dns/dnsmasq/dnsmasq-2.93.ebuild @@ -0,0 +1,237 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LUA_COMPAT=( lua5-{1..4} luajit ) +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/simonkelley.asc +inherit toolchain-funcs lua-single systemd verify-sig + +MY_P="${P/_p/rel}" +DESCRIPTION="Small forwarding DNS server" +HOMEPAGE="https://thekelleys.org.uk/dnsmasq/doc.html" +SRC_URI=" + https://thekelleys.org.uk/dnsmasq/${MY_P}.tar.xz + verify-sig? ( https://thekelleys.org.uk/dnsmasq/${MY_P}.tar.xz.asc ) +" +S="${WORKDIR}"/${MY_P} + +LICENSE="|| ( GPL-2 GPL-3 )" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + +IUSE="auth-dns conntrack dbus +dhcp dhcp-tools dnssec +dumpfile id idn libidn2" +IUSE+=" +loop +inotify ipv6 lua nettlehash nls script selinux static tftp" + +DM_LINGUAS=(de es fi fr id it no pl pt_BR ro) + +BDEPEND=" + app-arch/xz-utils + virtual/pkgconfig + nls? ( sys-devel/gettext ) + verify-sig? ( sec-keys/openpgp-keys-simonkelley ) +" + +COMMON_DEPEND=" + acct-group/dnsmasq + acct-user/dnsmasq + dbus? ( sys-apps/dbus:= ) + idn? ( + !libidn2? ( net-dns/libidn:0= ) + libidn2? ( >=net-dns/libidn2-2.0:= ) + ) + lua? ( ${LUA_DEPS} ) + conntrack? ( net-libs/libnetfilter_conntrack:= ) + nls? ( sys-devel/gettext ) +" + +DEPEND="${COMMON_DEPEND} + dnssec? ( + dev-libs/nettle:=[gmp] + static? ( >=dev-libs/nettle-3.4[static-libs(+)] ) + ) + nettlehash? ( + static? ( >=dev-libs/nettle-3.4[static-libs(+)] ) + ) +" + +RDEPEND="${COMMON_DEPEND} + dnssec? ( + !static? ( >=dev-libs/nettle-3.4:=[gmp] ) + ) + nettlehash? ( + !static? ( dev-libs/nettle:=[gmp] ) + ) + selinux? ( sec-policy/selinux-dnsmasq ) +" + +REQUIRED_USE=" + dhcp-tools? ( dhcp ) + dnssec? ( !nettlehash ) + lua? ( + script + ${LUA_REQUIRED_USE} + ) + libidn2? ( idn ) +" + +use_have() { + local no_only + if [[ ${1} == '-n' ]]; then + no_only=1 + shift + fi + local useflag="${1}" + shift + + local uword="${1:-${useflag}}" + shift + + while [[ ${uword} ]]; do + uword="${uword^^}" + + if ! use "${useflag}"; then + printf -- " -DNO_%s" "${uword}" + elif [[ -z "${no_only}" ]]; then + printf -- " -DHAVE_%s" "${uword}" + fi + uword="${1}" + shift + done +} + +pkg_setup() { + use lua && lua-single_pkg_setup +} + +pkg_pretend() { + if use static; then + einfo "Only sys-libs/gmp and dev-libs/nettle are statically linked." + use dnssec || einfo "Thus, ${P}[!dnssec,static] makes no sense;" \ + "in this case the static USE flag does nothing." + fi +} + +src_prepare() { + default + + sed -i "s:%%PREFIX%%:${EPREFIX}/usr:" \ + dnsmasq.conf.example || die +} + +src_configure() { + COPTS=( + $(use_have -n auth-dns auth) + $(use_have conntrack) + $(use_have dbus) + $(use libidn2 || use_have idn) + $(use_have libidn2) + $(use_have -n inotify) + $(use_have -n dhcp dhcp dhcp6) + $(use_have -n ipv6 ipv6 dhcp6) + $(use_have -n id id) + $(use_have -n loop) + $(use_have lua luascript) + $(use_have -n script) + $(use_have -n tftp) + $(use_have dnssec) + $(use_have nettlehash) + $(use_have static dnssec_static) + $(use_have -n dumpfile) + ) +} + +src_compile() { + emake \ + PREFIX=/usr \ + MANDIR=/usr/share/man \ + CC="$(tc-getCC)" \ + PKG_CONFIG="$(tc-getPKG_CONFIG)" \ + CFLAGS="${CFLAGS}" \ + LDFLAGS="${LDFLAGS}" \ + COPTS="${COPTS[*]}" \ + CONFFILE="/etc/${PN}.conf" \ + all$(use nls && printf -- "-i18n\n") + + use dhcp-tools && emake -C contrib/lease-tools \ + PREFIX=/usr \ + MANDIR=/usr/share/man \ + CC="$(tc-getCC)" \ + PKG_CONFIG="$(tc-getPKG_CONFIG)" \ + CFLAGS="${CFLAGS}" \ + LDFLAGS="${LDFLAGS}" \ + all +} + +src_install() { + local lingua puid + emake \ + PREFIX=/usr \ + MANDIR=/usr/share/man \ + CC="$(tc-getCC)" \ + PKG_CONFIG="$(tc-getPKG_CONFIG)" \ + CFLAGS="${CFLAGS}" \ + LDFLAGS="${LDFLAGS}" \ + COPTS="${COPTS[*]}" \ + CONFFILE="/etc/${PN}.conf" \ + DESTDIR="${ED}" \ + install$(use nls && printf -- "-i18n\n") + + for lingua in "${DM_LINGUAS[@]}"; do + has ${lingua} ${LINGUAS-${lingua}} \ + || rm -rf "${ED}"/usr/share/locale/${lingua} + done + [[ -d "${D}"/usr/share/locale/ ]] && \ + rmdir --ignore-fail-on-non-empty "${ED}"/usr/share/locale/ + + dodoc CHANGELOG CHANGELOG.archive FAQ dnsmasq.conf.example + dodoc -r logo + + docinto html/ + dodoc *.html + + newinitd "${FILESDIR}"/dnsmasq-init-r4 ${PN} + newconfd "${FILESDIR}"/dnsmasq.confd-r1 ${PN} + + insinto /etc/logrotate.d + newins "${FILESDIR}"/dnsmasq.logrotate ${PN} + + insinto /etc + newins dnsmasq.conf.example dnsmasq.conf + + insinto /usr/share/dnsmasq + doins trust-anchors.conf + + if use dhcp; then + keepdir /var/lib/misc + newinitd "${FILESDIR}"/dnsmasq-init-dhcp-r3 ${PN} + fi + if use dbus; then + insinto /etc/dbus-1/system.d + doins dbus/dnsmasq.conf + + docinto + dodoc dbus/DBus-interface + fi + + if use dhcp-tools; then + dosbin contrib/lease-tools/{dhcp_release,dhcp_lease_time} + doman contrib/lease-tools/{dhcp_release,dhcp_lease_time}.1 + if use ipv6; then + dosbin contrib/lease-tools/dhcp_release6 + doman contrib/lease-tools/dhcp_release6.1 + fi + fi + + systemd_newunit "${FILESDIR}"/${PN}.service-r1 ${PN}.service +} + +pkg_preinst() { + [[ -f /var/lib/misc/dnsmasq.leases ]] && \ + cp /var/lib/misc/dnsmasq.leases "${T}" +} + +pkg_postinst() { + [[ -f "${T}"/dnsmasq.leases ]] && \ + cp "${T}"/dnsmasq.leases /var/lib/misc/dnsmasq.leases +} From 76a653b6025ad19e4bdeeb3f7243b9bb2dca5781 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 3 Aug 2026 08:17:59 +0000 Subject: [PATCH 114/195] net-firewall/ipset: Sync with Gentoo It's from Gentoo commit 3018834433e1b02b6b35bd29c36bb0a524820580. Signed-off-by: Flatcar Buildbot --- .../portage-stable/net-firewall/ipset/ipset-7.24.ebuild | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sdk_container/src/third_party/portage-stable/net-firewall/ipset/ipset-7.24.ebuild b/sdk_container/src/third_party/portage-stable/net-firewall/ipset/ipset-7.24.ebuild index 3730a329a4f..01435f36708 100644 --- a/sdk_container/src/third_party/portage-stable/net-firewall/ipset/ipset-7.24.ebuild +++ b/sdk_container/src/third_party/portage-stable/net-firewall/ipset/ipset-7.24.ebuild @@ -4,7 +4,7 @@ EAPI=8 MODULES_OPTIONAL_IUSE=modules -inherit autotools bash-completion-r1 linux-mod-r1 systemd +inherit autotools linux-mod-r1 shell-completion systemd DESCRIPTION="IPset tool for iptables, successor to ippool" HOMEPAGE="https://ipset.netfilter.org/ https://git.netfilter.org/ipset/" From 082daf01a1415deb89a47177f6039050c14656ee Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 3 Aug 2026 08:18:02 +0000 Subject: [PATCH 115/195] net-fs/cifs-utils: Sync with Gentoo It's from Gentoo commit fa9ef33e174b0e5982a9c4a6e6a5c37f5ef609a4. Signed-off-by: Flatcar Buildbot --- .../portage-stable/net-fs/cifs-utils/Manifest | 1 + .../net-fs/cifs-utils/cifs-utils-7.7.ebuild | 144 ++++++++++++++++++ .../files/cifs-utils-6.12-ln_in_destdir.patch | 22 --- .../files/cifs-utils-6.15-musl.patch | 80 ---------- .../files/cifs-utils-7.0-musl.patch | 63 -------- ...-utils-7.0-no-clobber-fortify-source.patch | 11 -- 6 files changed, 145 insertions(+), 176 deletions(-) create mode 100644 sdk_container/src/third_party/portage-stable/net-fs/cifs-utils/cifs-utils-7.7.ebuild delete mode 100644 sdk_container/src/third_party/portage-stable/net-fs/cifs-utils/files/cifs-utils-6.12-ln_in_destdir.patch delete mode 100644 sdk_container/src/third_party/portage-stable/net-fs/cifs-utils/files/cifs-utils-6.15-musl.patch delete mode 100644 sdk_container/src/third_party/portage-stable/net-fs/cifs-utils/files/cifs-utils-7.0-musl.patch delete mode 100644 sdk_container/src/third_party/portage-stable/net-fs/cifs-utils/files/cifs-utils-7.0-no-clobber-fortify-source.patch diff --git a/sdk_container/src/third_party/portage-stable/net-fs/cifs-utils/Manifest b/sdk_container/src/third_party/portage-stable/net-fs/cifs-utils/Manifest index 5517854ea5c..d3bd5c3324d 100644 --- a/sdk_container/src/third_party/portage-stable/net-fs/cifs-utils/Manifest +++ b/sdk_container/src/third_party/portage-stable/net-fs/cifs-utils/Manifest @@ -1,2 +1,3 @@ DIST cifs-utils-7.5.tar.bz2 423849 BLAKE2B ddabbaaa122252640d9e69f7c180b53c33d0d02d14b26d96f1fc52858e3d6a3d491c64cec9bc9e0367dedfbc041fa7098d1de6aa3dc991e655ef45c919e3b1a3 SHA512 d44b26ca3224160bcb4fc712eb6c6d09fcfee196197d46481e95333494eaae1a4851712fba9b922c203e3cd301c481b433ff49ec396428c12ff7db3c628ce9e9 DIST cifs-utils-7.6.tar.bz2 236411 BLAKE2B 8a05d1c31f43ae107d3ea4f4ccd18b3ca95ad669a33fe8dc3991cfe77343ff2ad59c15ccf85740795b3d74c0f5a189d3c5ea5ab2d4eef9f4ebcc3573160587cd SHA512 000bca9eb0242c8c04dc1110244ad26cd39f11541cc038e36a1b36c2e683fde19d61a59234e0e592bf8d83ebebafb4d46a7e6978c745bba5e3e155e05908dcbc +DIST cifs-utils-7.7.tar.bz2 426805 BLAKE2B 4b0934778a803863cdca37375c9273c601494a6656d070ab5ad510616adbce92c68b0c952146257b839a19d15c42216d3c4f0f1b83942b9f0dd8e0d3d06916ea SHA512 cc94105a1ff639d2257a3e644e3b766259ef7a83725c9dddb465e8a8c7126f06a0a036a1c8cfb495943b4d1e370aae8df0bb51f85ff36e54b4894e27d8ddce29 diff --git a/sdk_container/src/third_party/portage-stable/net-fs/cifs-utils/cifs-utils-7.7.ebuild b/sdk_container/src/third_party/portage-stable/net-fs/cifs-utils/cifs-utils-7.7.ebuild new file mode 100644 index 00000000000..71c808984da --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/net-fs/cifs-utils/cifs-utils-7.7.ebuild @@ -0,0 +1,144 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{11..14} ) + +inherit autotools bash-completion-r1 flag-o-matic linux-info pam python-single-r1 + +DESCRIPTION="Tools for Managing Linux CIFS Client Filesystems" +HOMEPAGE="https://wiki.samba.org/index.php/LinuxCIFS_utils https://git.samba.org/cifs-utils.git/?p=cifs-utils.git" +SRC_URI="https://ftp.samba.org/pub/linux-cifs/${PN}/${P}.tar.bz2" + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +IUSE="+acl +ads +caps creds pam +python systemd" + +RDEPEND=" + sys-libs/talloc + ads? ( + sys-apps/keyutils:= + virtual/krb5 + ) + caps? ( sys-libs/libcap-ng ) + creds? ( sys-apps/keyutils:= ) + pam? ( + sys-apps/keyutils:= + sys-libs/pam + ) + python? ( ${PYTHON_DEPS} ) +" +DEPEND="${RDEPEND}" +BDEPEND="dev-python/docutils" +PDEPEND=" + acl? ( >=net-fs/samba-4.0.0_alpha1 ) +" + +REQUIRED_USE=" + python? ( ${PYTHON_REQUIRED_USE} ) +" + +DOCS="doc/linux-cifs-client-guide.odt" + +PATCHES=( + "${FILESDIR}/${PN}-7.3-no-clobber-fortify-source.patch" +) + +pkg_setup() { + linux-info_pkg_setup + + if ! linux_config_exists || ! linux_chkconfig_present CIFS; then + ewarn "You must enable CIFS support in your kernel config, " + ewarn "to be able to mount samba shares. You can find it at" + ewarn + ewarn " File systems" + ewarn " Network File Systems" + ewarn " CIFS support" + ewarn + ewarn "and recompile your kernel ..." + fi + + use python && python-single-r1_pkg_setup +} + +src_prepare() { + default + + if has_version app-crypt/heimdal ; then + # bug #612584 + eapply "${FILESDIR}/${PN}-6.7-heimdal.patch" + fi + + eautoreconf +} + +src_configure() { + # bug #927809 + filter-flags -fno-semantic-interposition + + local myeconfargs=( + --enable-man + --enable-smbinfo + $(use_enable acl cifsacl cifsidmap) + $(use_enable ads cifsupcall) + $(use_with caps libcap) + $(use_with caps libcap-ng) + $(use_enable creds cifscreds) + $(use_enable pam) + $(use_with pam pamdir $(getpam_mod_dir)) + $(use_enable python pythontools) + # mount.cifs can get passwords from systemd + $(use_enable systemd) + ) + + ROOTSBINDIR="${EPREFIX}"/sbin econf "${myeconfargs[@]}" +} + +src_install() { + default + + # remove empty directories + find "${ED}" -type d -empty -delete || die + + if use acl ; then + dodir /etc/cifs-utils + dosym ../../usr/$(get_libdir)/cifs-utils/idmapwb.so \ + /etc/cifs-utils/idmap-plugin + dodir /etc/request-key.d + echo 'create cifs.idmap * * /usr/sbin/cifs.idmap %k' \ + > "${ED}/etc/request-key.d/cifs.idmap.conf" + fi + + if use ads ; then + dodir /etc/request-key.d + echo 'create dns_resolver * * /usr/sbin/cifs.upcall %k' \ + > "${ED}/etc/request-key.d/cifs.upcall.conf" + echo 'create cifs.spnego * * /usr/sbin/cifs.upcall %k' \ + > "${ED}/etc/request-key.d/cifs.spnego.conf" + fi + + dobashcomp bash-completion/smbinfo + use python && python_fix_shebang "${ED}" +} + +pkg_postinst() { + # Inform about set-user-ID bit of mount.cifs + ewarn "setuid use flag was dropped due to multiple security implications" + ewarn "such as CVE-2009-2948, CVE-2011-3585 and CVE-2012-1586" + ewarn "You are free to set setuid flags by yourself" + + # Inform about upcall usage + if use acl ; then + einfo "The cifs.idmap utility has been enabled by creating the" + einfo "configuration file /etc/request-key.d/cifs.idmap.conf" + einfo "This enables you to get and set CIFS acls." + fi + + if use ads ; then + einfo "The cifs.upcall utility has been enabled by creating the" + einfo "configuration file /etc/request-key.d/cifs.upcall.conf" + einfo "This enables you to mount DFS shares." + fi +} diff --git a/sdk_container/src/third_party/portage-stable/net-fs/cifs-utils/files/cifs-utils-6.12-ln_in_destdir.patch b/sdk_container/src/third_party/portage-stable/net-fs/cifs-utils/files/cifs-utils-6.12-ln_in_destdir.patch deleted file mode 100644 index a5f7be668ac..00000000000 --- a/sdk_container/src/third_party/portage-stable/net-fs/cifs-utils/files/cifs-utils-6.12-ln_in_destdir.patch +++ /dev/null @@ -1,22 +0,0 @@ -Fixed an inverted race condition when installing with MAKEOPTS="-j1" - -jer found this: - install-root_sbinPROGRAMS is called from install-data-am but - install-exec-hook is called from install-exec-am - -So moving the failing ln call into install-data-hook for now... - ---- cifs-utils-6.12/Makefile.am -+++ cifs-utils-6.12/Makefile.am -@@ -117,10 +117,8 @@ - - SUBDIRS = contrib - --install-exec-hook: install-sbinPROGRAMS -+install-data-hook: install-sbinPROGRAMS - (cd $(DESTDIR)$(ROOTSBINDIR) && ln -sf mount.cifs mount.smb3) -- --install-data-hook: - if CONFIG_MAN - ( cd $(DESTDIR)$(man8dir) && ln -sf mount.cifs.8 mount.smb3.8) - endif diff --git a/sdk_container/src/third_party/portage-stable/net-fs/cifs-utils/files/cifs-utils-6.15-musl.patch b/sdk_container/src/third_party/portage-stable/net-fs/cifs-utils/files/cifs-utils-6.15-musl.patch deleted file mode 100644 index f17cc68bdac..00000000000 --- a/sdk_container/src/third_party/portage-stable/net-fs/cifs-utils/files/cifs-utils-6.15-musl.patch +++ /dev/null @@ -1,80 +0,0 @@ -https://marc.info/?l=linux-cifs&m=165604639613381&w=2 - -From c267ecf6a1c2152e640897d30cc0e8f637a8ef76 Mon Sep 17 00:00:00 2001 -From: Sam James -Date: Fri, 24 Jun 2022 05:25:23 +0100 -Subject: [PATCH 1/2] getcifsacl, setcifsacl: add missing - include for XATTR_SIZE_MAX - -Needed to build on musl. It only works on glibc because of transitive includes -(which could break in future). - -Example failure: -``` -getcifsacl.c: In function 'getcifsacl': -getcifsacl.c:429:24: error: 'XATTR_SIZE_MAX' undeclared (first use in this function) - 429 | if (bufsize >= XATTR_SIZE_MAX) { - | ^~~~~~~~~~~~~~ -``` - -Bug: https://bugs.gentoo.org/842195 -Signed-off-by: Sam James ---- a/getcifsacl.c -+++ b/getcifsacl.c -@@ -34,6 +34,7 @@ - #include - #include - #include -+#include - #include - #include "cifsacl.h" - #include "idmap_plugin.h" ---- a/setcifsacl.c -+++ b/setcifsacl.c -@@ -48,6 +48,7 @@ - #include - #include - #include -+#include - #include - - #include "cifsacl.h" -From d1a36cc4caa541d1f0f9a3426a5202b680cf7ff8 Mon Sep 17 00:00:00 2001 -From: Sam James -Date: Fri, 24 Jun 2022 05:26:54 +0100 -Subject: [PATCH 2/2] getcifsacl, setcifsacl: add missing include - for le32toh - -Needed to fix build on musl libc. It only works by chance on glibc -because of transitive includes (which could break at any time). - -Example failure: -``` -getcifsacl.c: In function 'print_ace': -getcifsacl.c:284:16: warning: implicit declaration of function 'le16toh' [-Wimplicit-function-declaration] - 284 | size = le16toh(pace->size); - | ^~~~~~~ -``` - -Bug: https://bugs.gentoo.org/842195 -Signed-off-by: Sam James ---- a/getcifsacl.c -+++ b/getcifsacl.c -@@ -23,6 +23,7 @@ - #include "config.h" - #endif /* HAVE_CONFIG_H */ - -+#include - #include - #include - #include ---- a/setcifsacl.c -+++ b/setcifsacl.c -@@ -38,6 +38,7 @@ - #include "config.h" - #endif /* HAVE_CONFIG_H */ - -+#include - #include - #include - #include diff --git a/sdk_container/src/third_party/portage-stable/net-fs/cifs-utils/files/cifs-utils-7.0-musl.patch b/sdk_container/src/third_party/portage-stable/net-fs/cifs-utils/files/cifs-utils-7.0-musl.patch deleted file mode 100644 index cca3a936604..00000000000 --- a/sdk_container/src/third_party/portage-stable/net-fs/cifs-utils/files/cifs-utils-7.0-musl.patch +++ /dev/null @@ -1,63 +0,0 @@ -https://lore.kernel.org/linux-cifs/CALMA0xaVdk3qwkb-92QqF2+6z+=oxbBWDR1hYEoE2WUc7jVGkw@mail.gmail.com/T/#u - -From abd3d9a2d4f8a5dc4d90daddc7cf0c62d954f03a Mon Sep 17 00:00:00 2001 -From: "Z. Liu" -Date: Fri, 2 May 2025 23:08:41 +0800 -Subject: [PATCH] getcifsacl, setcifsacl: use for basename - -basename() is defined in only in musl, while glibc defines it -in too, which is not standard behavior. - -Signed-off-by: Z. Liu - -diff --git a/getcifsacl.c b/getcifsacl.c -index 97471e9..6c6356f 100644 ---- a/getcifsacl.c -+++ b/getcifsacl.c -@@ -33,6 +33,7 @@ - #include - #include - #include -+#include - #include - #include - #include -diff --git a/setcifsacl.c b/setcifsacl.c -index b199118..3cb603c 100644 ---- a/setcifsacl.c -+++ b/setcifsacl.c -@@ -47,6 +47,7 @@ - #include - #include - #include -+#include - #include - #include - #include --- -2.45.2 - -From ae644b56a4446f520a75217f9288775e127ab2c8 Mon Sep 17 00:00:00 2001 -From: "Z. Liu" -Date: Tue, 13 May 2025 07:31:46 +0800 -Subject: [PATCH] cifscreds: use for basename - -fix another implicit declaration of function 'basename' in musl - -Signed-off-by: Z. Liu - -diff --git a/cifscreds.c b/cifscreds.c -index f552bc8..295059f 100644 ---- a/cifscreds.c -+++ b/cifscreds.c -@@ -29,6 +29,7 @@ - #include - #include - #include -+#include - #include "cifskey.h" - #include "mount.h" - #include "resolve_host.h" --- -2.45.2 - diff --git a/sdk_container/src/third_party/portage-stable/net-fs/cifs-utils/files/cifs-utils-7.0-no-clobber-fortify-source.patch b/sdk_container/src/third_party/portage-stable/net-fs/cifs-utils/files/cifs-utils-7.0-no-clobber-fortify-source.patch deleted file mode 100644 index 07661cf9dd0..00000000000 --- a/sdk_container/src/third_party/portage-stable/net-fs/cifs-utils/files/cifs-utils-7.0-no-clobber-fortify-source.patch +++ /dev/null @@ -1,11 +0,0 @@ -Don't clobber toolchain defaults. - -https://bugs.gentoo.org/890278 ---- a/Makefile.am -+++ b/Makefile.am -@@ -1,4 +1,4 @@ --AM_CFLAGS = -Wall -Wextra -D_FORTIFY_SOURCE=2 $(PIE_CFLAGS) $(RELRO_CFLAGS) -+AM_CFLAGS = -Wall -Wextra $(PIE_CFLAGS) $(RELRO_CFLAGS) - ACLOCAL_AMFLAGS = -I aclocal - - root_sbindir = $(ROOTSBINDIR) From 958f24a45f5ceb687dfea1d0d67861971458f76a Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 3 Aug 2026 08:18:03 +0000 Subject: [PATCH 116/195] net-fs/samba: Sync with Gentoo It's from Gentoo commit 360526302aa60224c911dabe695e8e62530fc107. Signed-off-by: Flatcar Buildbot --- .../portage-stable/net-fs/samba/Manifest | 5 +- .../net-fs/samba/samba-4.22.5-r1.ebuild | 393 ------------------ ...mba-4.22.9.ebuild => samba-4.23.10.ebuild} | 15 +- .../net-fs/samba/samba-4.23.9.ebuild | 4 +- .../net-fs/samba/samba-4.24.4.ebuild | 4 +- ...mba-4.22.10.ebuild => samba-4.24.5.ebuild} | 15 +- 6 files changed, 24 insertions(+), 412 deletions(-) delete mode 100644 sdk_container/src/third_party/portage-stable/net-fs/samba/samba-4.22.5-r1.ebuild rename sdk_container/src/third_party/portage-stable/net-fs/samba/{samba-4.22.9.ebuild => samba-4.23.10.ebuild} (96%) rename sdk_container/src/third_party/portage-stable/net-fs/samba/{samba-4.22.10.ebuild => samba-4.24.5.ebuild} (97%) diff --git a/sdk_container/src/third_party/portage-stable/net-fs/samba/Manifest b/sdk_container/src/third_party/portage-stable/net-fs/samba/Manifest index 851401f75b1..f39464ac635 100644 --- a/sdk_container/src/third_party/portage-stable/net-fs/samba/Manifest +++ b/sdk_container/src/third_party/portage-stable/net-fs/samba/Manifest @@ -1,7 +1,6 @@ -DIST samba-4.22.10.tar.gz 42927839 BLAKE2B d75280581c0e22789aa274a957745a211435c78f8762aa5f571700156c03d087fdfa01820c2e4893b1e9e4c678834ed1b06bc8220aacd867fc4240cf1ea83077 SHA512 2f2169c6c2805c12c72069052b7864f6938a850ae20f7916eb63aaae5526df3944b205bb181f097d9e6140144ff565421b57b96ec202cf6c2f3dc4b20d60f245 -DIST samba-4.22.5.tar.gz 42876122 BLAKE2B c6ee4c98c4aced9faa0b5f90c61a3ea9473fc8c90e7c3ceb470aba9354fb4bb21cdd16a7d19bb6b0faee4454259e02546b4bb5093e8e8fe64a67b5635fc1152b SHA512 ee183e664768076f814c252afef0cd2225961d173174e8f4703d8cf59fe2abc2d1a089e293905849201ab2af75e27d8666360072a85bcce2b0dc735324d6b02e -DIST samba-4.22.9.tar.gz 42873956 BLAKE2B 8f238f0d6ca94c729bcb3af7e56399bbc86d20e15d77908de5beb824f10502407f99079f908001200b3b540ba6673037a7580dcd6090ef53aa285ff503729d01 SHA512 e97dc94b22bd05e37c6612ab778da2ca5d58007d9c08ce3ee9a6d595f020fcfd9613831811278e167dc010050da088966190ae9a322154dba4cab7c01b96e565 +DIST samba-4.23.10.tar.gz 43357789 BLAKE2B 7aadcf40bb32352198871677dddeeb5d537e6dc815ec63bc987bc8a51acdede85de718d6a3d969b82b1c936eb039177c216df20b7ebe05e230b71e5c83957639 SHA512 7e0775ded3ac54996d892ba5072aa3a2c89c47c2d56ff29d715ecd09d6ec8e12efa4fd9d87a1f5c3cf9228be46cdec150e6442f8da340bca17585f9cc3a96175 DIST samba-4.23.6.tar.gz 43306831 BLAKE2B c5c567bfc4734429790ec7362150eda231ce7e3e7dbdfaa2ca2dc81bd178c9c15cc9360b21f4c5dd1f1423d46337bc5a7b581efcff8ed647adb69a9b47922320 SHA512 61dc2a80f1ea5a7a04bc45ba7896107fd1c619ec3f841f9f6adb9c166a3ce3a5cee7b0d097cfa2c768ba65e35167c0739099cc76a5478c0d6f41521a621336c9 DIST samba-4.23.9.tar.gz 43340009 BLAKE2B 106fd5170015a1175bdd8221ece532f6b18dd7deb4ccaf22504cfaf6ca1706f5204d5be7d92455f8d7cc49e368c1142d3432fe1d1272c6cf50c57e54d8b37785 SHA512 8d6cd716e36db5f6e96bcd1bc3848f51b55f3c0ed039650fc0f78c15f03ae2f5669cf106166fb7f20feacb539b5296ec47212b72f7baf519c3e20b310bd8b950 DIST samba-4.24.3.tar.gz 43446520 BLAKE2B 7804075e3153ac2252549e33ee421c54aaa355ad53cb06790875f32a802c1b8fc9fc77f70f7a4e231df40f8c32a87651e87ed93218e3e27bf97734204cecad5d SHA512 769445f861bfd978bc8eccc53135c03d94b5e2b402f45df8c3ae202999d6f8e35a2a78bb4bada34f09cf177cfe8be4013ffd6da8d311cf6a7ff2a4a8222c6b4f DIST samba-4.24.4.tar.gz 43431734 BLAKE2B 7d8406ed473f88a009628b64e070611dbac2b70da3d49857f5add1a8066dac93c762d6947fe3f3ed12b316e4041f0af42fa897a842ab1110dd629146848d0f5f SHA512 3f6b8a99491d82fcb90115288e547b330afd452f7ed15f288085644a0ea9ccbd45645c5a75f2d5db6d2d888ff280e87ec252b48e0c064a0ca33cac39f24f123d +DIST samba-4.24.5.tar.gz 43445051 BLAKE2B 4796e3ae5e70c1d11d9326566677f0909423c5aad140309bfd9b3f8a3dedefe49660d0a0d502a681726ed7a961779587c33c9da29ecf69664b00a2ca958e64af SHA512 dadaee50c61cc8076bd5f4e6e3a8be13b6aa6aeff33991277c7f5398ba9dea32e8d966c0206dec9cad240b935768b707f9c9dd6b60c3db433dcf8ddb30134088 diff --git a/sdk_container/src/third_party/portage-stable/net-fs/samba/samba-4.22.5-r1.ebuild b/sdk_container/src/third_party/portage-stable/net-fs/samba/samba-4.22.5-r1.ebuild deleted file mode 100644 index 7578ac5f622..00000000000 --- a/sdk_container/src/third_party/portage-stable/net-fs/samba/samba-4.22.5-r1.ebuild +++ /dev/null @@ -1,393 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -PYTHON_COMPAT=( python3_{11..13} ) -PYTHON_REQ_USE="threads(+),xml(+)" -inherit python-single-r1 flag-o-matic waf-utils multilib-minimal linux-info systemd pam tmpfiles - -DESCRIPTION="Samba Suite Version 4" -HOMEPAGE="https://samba.org/" - -MY_PV="${PV/_rc/rc}" -MY_P="${PN}-${MY_PV}" -if [[ ${PV} == *_rc* ]]; then - SRC_URI="https://download.samba.org/pub/samba/rc/${MY_P}.tar.gz" -else - SRC_URI="https://download.samba.org/pub/samba/stable/${MY_P}.tar.gz" - KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~sparc x86" -fi -S="${WORKDIR}/${MY_P}" - -LICENSE="GPL-3" -SLOT="0/2.10.0" -IUSE="acl addc ads ceph client cluster cups debug fam glusterfs gpg" -IUSE+=" iprint json ldap llvm-libunwind lmdb pam profiling-data python quota" -IUSE+=" +regedit selinux snapper spotlight syslog system-heimdal +system-mitkrb5" -IUSE+=" systemd test unwind winbind zeroconf" - -# ldap needs ads (bug #941578) -REQUIRED_USE="${PYTHON_REQUIRED_USE} - addc? ( json python !system-mitkrb5 winbind ) - ads? ( acl ldap python winbind ) - cluster? ( ads ) - gpg? ( addc ) - ldap? ( ads ) - spotlight? ( json ) - test? ( python ) - !ads? ( !addc ) - ?? ( system-heimdal system-mitkrb5 ) -" - -# the test suite is messed, it uses system-installed samba -# bits instead of what was built, tests things disabled via use -# flags, and generally just fails to work in a way ebuilds could -# rely on in its current state -RESTRICT="test" - -MULTILIB_WRAPPED_HEADERS=( - /usr/include/samba-4.0/policy.h - /usr/include/samba-4.0/dcerpc_server.h - /usr/include/samba-4.0/ctdb.h - /usr/include/samba-4.0/ctdb_client.h - /usr/include/samba-4.0/ctdb_protocol.h - /usr/include/samba-4.0/ctdb_private.h - /usr/include/samba-4.0/ctdb_typesafe_cb.h - /usr/include/samba-4.0/ctdb_version.h -) - -TALLOC_VERSION="2.4.3" -TDB_VERSION="1.4.13" -TEVENT_VERSION="0.16.2" - -COMMON_DEPEND=" - >=app-arch/libarchive-3.1.2:=[${MULTILIB_USEDEP}] - dev-lang/perl:= - dev-libs/icu:=[${MULTILIB_USEDEP}] - dev-libs/libbsd[${MULTILIB_USEDEP}] - dev-libs/libtasn1:=[${MULTILIB_USEDEP}] - dev-libs/popt[${MULTILIB_USEDEP}] - dev-perl/Parse-Yapp - >=net-libs/gnutls-3.4.7:=[${MULTILIB_USEDEP}] - >=sys-fs/e2fsprogs-1.46.4-r51[${MULTILIB_USEDEP}] - !sys-libs/ldb - sys-libs/libcap[${MULTILIB_USEDEP}] - sys-libs/liburing:=[${MULTILIB_USEDEP}] - sys-libs/ncurses:= - sys-libs/readline:= - >=sys-libs/talloc-${TALLOC_VERSION}[${MULTILIB_USEDEP}] - >=sys-libs/tdb-${TDB_VERSION}[${MULTILIB_USEDEP}] - >=sys-libs/tevent-${TEVENT_VERSION}[${MULTILIB_USEDEP}] - virtual/zlib:=[${MULTILIB_USEDEP}] - virtual/libcrypt:=[${MULTILIB_USEDEP}] - virtual/libiconv - $(python_gen_cond_dep ' - addc? ( - dev-python/cryptography[${PYTHON_USEDEP}] - dev-python/dnspython:=[${PYTHON_USEDEP}] - dev-python/markdown[${PYTHON_USEDEP}] - net-dns/bind[gssapi] - ) - ads? ( - dev-python/cryptography[${PYTHON_USEDEP}] - dev-python/dnspython:=[${PYTHON_USEDEP}] - dev-python/markdown[${PYTHON_USEDEP}] - net-dns/bind[gssapi] - ) - ') - acl? ( virtual/acl ) - ceph? ( sys-cluster/ceph ) - cluster? ( net-libs/rpcsvc-proto ) - cups? ( net-print/cups ) - debug? ( dev-util/lttng-ust ) - fam? ( virtual/fam ) - gpg? ( app-crypt/gpgme:= ) - json? ( dev-libs/jansson:= ) - ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] ) - lmdb? ( >=dev-db/lmdb-0.9.16:=[${MULTILIB_USEDEP}] ) - pam? ( sys-libs/pam ) - python? ( - sys-libs/talloc[python,${PYTHON_SINGLE_USEDEP}] - sys-libs/tdb[python,${PYTHON_SINGLE_USEDEP}] - sys-libs/tevent[python,${PYTHON_SINGLE_USEDEP}] - ) - snapper? ( sys-apps/dbus ) - system-heimdal? ( >=app-crypt/heimdal-1.5[-ssl(-),${MULTILIB_USEDEP}] ) - system-mitkrb5? ( >=app-crypt/mit-krb5-1.19[${MULTILIB_USEDEP}] ) - !system-heimdal? ( !system-mitkrb5? ( sys-apps/keyutils[${MULTILIB_USEDEP}] ) ) - systemd? ( sys-apps/systemd:= ) - unwind? ( - llvm-libunwind? ( llvm-runtimes/libunwind:= ) - !llvm-libunwind? ( sys-libs/libunwind:= ) - ) - zeroconf? ( net-dns/avahi[dbus] ) -" -DEPEND="${COMMON_DEPEND} - dev-perl/JSON - net-libs/libtirpc[${MULTILIB_USEDEP}] - net-libs/rpcsvc-proto - spotlight? ( dev-libs/glib ) - test? ( - >=dev-util/cmocka-1.1.3[${MULTILIB_USEDEP}] - $(python_gen_cond_dep "dev-python/python-subunit[\${PYTHON_USEDEP},${MULTILIB_USEDEP}]" ) - !system-mitkrb5? ( - >=net-dns/resolv_wrapper-1.1.4 - >=net-libs/socket_wrapper-1.1.9 - >=sys-libs/nss_wrapper-1.1.3 - >=sys-libs/uid_wrapper-1.2.1 - ) - )" -RDEPEND="${COMMON_DEPEND} - client? ( net-fs/cifs-utils[ads?] ) - python? ( ${PYTHON_DEPS} ) - selinux? ( sec-policy/selinux-samba ) -" -BDEPEND="${PYTHON_DEPS} - app-text/docbook-xsl-stylesheets - dev-libs/libxslt - virtual/pkgconfig -" - -PATCHES=( - "${FILESDIR}"/${PN}-4.18.4-pam.patch - "${FILESDIR}"/ldb-2.5.2-skip-wav-tevent-check.patch -) - -CONFDIR="${FILESDIR}/4.4" -WAF_BINARY="${S}/buildtools/bin/waf" -SHAREDMODS="" - -pkg_setup() { - # Package fails to build with distcc - export DISTCC_DISABLE=1 - export PYTHONHASHSEED=1 - - python-single-r1_pkg_setup - - SHAREDMODS="$(usev !snapper '!')vfs_snapper" - if use cluster ; then - SHAREDMODS+=",idmap_rid,idmap_tdb2,idmap_ad" - elif use ads ; then - SHAREDMODS+=",idmap_ad" - fi -} - -check_samba_dep_versions() { - actual_talloc_version=$(sed -En '/^VERSION =/{s/[^0-9.]//gp}' lib/talloc/wscript || die) - if [[ ${actual_talloc_version} != ${TALLOC_VERSION} ]] ; then - eerror "Source talloc version: ${TALLOC_VERSION}" - eerror "Ebuild talloc version: ${actual_talloc_version}" - die "Ebuild needs to fix TALLOC_VERSION!" - fi - - actual_tdb_version=$(sed -En '/^VERSION =/{s/[^0-9.]//gp}' lib/tdb/wscript || die) - if [[ ${actual_tdb_version} != ${TDB_VERSION} ]] ; then - eerror "Source tdb version: ${TDB_VERSION}" - eerror "Ebuild tdb version: ${actual_tdb_version}" - die "Ebuild needs to fix TDB_VERSION!" - fi - - actual_tevent_version=$(sed -En '/^VERSION =/{s/[^0-9.]//gp}' lib/tevent/wscript || die) - if [[ ${actual_tevent_version} != ${TEVENT_VERSION} ]] ; then - eerror "Source tevent version: ${TEVENT_VERSION}" - eerror "Ebuild tevent version: ${actual_tevent_version}" - die "Ebuild needs to fix TEVENT_VERSION!" - fi -} - -src_prepare() { - default - - check_samba_dep_versions - - # Unbundle dnspython - sed -i -e '/"dns.resolver":/d' "${S}"/third_party/wscript || die - - # Unbundle iso8601 unless tests are enabled - if ! use test ; then - sed -i -e '/"iso8601":/d' "${S}"/third_party/wscript || die - fi - - # Ugly hackaround for bug #592502 - #cp /usr/include/tevent_internal.h "${S}"/lib/tevent/ || die - - # bug #943942 - append-cflags -std=gnu17 - - # WAF - multilib_copy_sources -} - -multilib_src_configure() { - # When specifying libs for samba build you must append NONE to the end to - # stop it automatically including things - local bundled_libs="NONE" - if ! use system-heimdal && ! use system-mitkrb5 ; then - bundled_libs="heimbase,heimntlm,hdb,kdc,krb5,wind,gssapi,hcrypto,hx509,roken,asn1,com_err,NONE" - fi - - # We "use" bundled cmocka when we're not running tests as we're - # not using it anyway. Means we avoid making users install it for - # no reason. bug #802531 - if ! use test ; then - bundled_libs="cmocka,${bundled_libs}" - fi - - # bug #874633 - if use llvm-libunwind ; then - mkdir -p "${T}"/${ABI}/pkgconfig || die - - local -x PKG_CONFIG_PATH="${T}/${ABI}/pkgconfig:${PKG_CONFIG_PATH}" - - cat <<-EOF > "${T}"/${ABI}/pkgconfig/libunwind-generic.pc || die - exec_prefix=\${prefix} - libdir=/usr/$(get_libdir) - includedir=\${prefix}/include - - Name: libunwind-generic - Description: libunwind generic library - Version: 1.70 - Libs: -L\${libdir} -lunwind - Cflags: -I\${includedir} - EOF - fi - - local myconf=( - --enable-fhs - --sysconfdir="${EPREFIX}/etc" - --localstatedir="${EPREFIX}/var" - --with-modulesdir="${EPREFIX}/usr/$(get_libdir)/samba" - --with-piddir="${EPREFIX}/run/${PN}" - --bundled-libraries="${bundled_libs}" - --builtin-libraries=NONE - --disable-rpath - --disable-rpath-install - --nopyc - --nopyo - --without-winexe - $(multilib_native_use_with acl acl-support) - $(multilib_native_usex addc '' '--without-ad-dc') - $(multilib_native_use_enable ceph cephfs) - $(multilib_native_use_with cluster cluster-support) - $(multilib_native_use_enable cups) - --without-dmapi - $(multilib_native_use_with fam) - $(multilib_native_use_enable glusterfs) - $(multilib_native_use_with gpg gpgme) - $(multilib_native_use_with json) - $(multilib_native_use_enable iprint) - $(multilib_native_use_with pam) - $(multilib_native_usex pam "--with-pammodulesdir=${EPREFIX}/$(get_libdir)/security" '') - $(multilib_native_use_with quota quotas) - $(multilib_native_use_with regedit) - $(multilib_native_use_enable spotlight) - $(multilib_native_use_with syslog) - $(multilib_native_use_with systemd) - --systemd-install-services - --with-systemddir="$(systemd_get_systemunitdir)" - $(multilib_native_use_with unwind libunwind) - $(multilib_native_use_with winbind) - $(multilib_native_usex python '' '--disable-python') - $(multilib_native_use_enable zeroconf avahi) - $(multilib_native_usex test '--enable-selftest' '') - $(usev system-mitkrb5 "--with-system-mitkrb5 ${ESYSROOT}/usr $(multilib_native_usex addc --with-experimental-mit-ad-dc '')") - $(use_with ads) - $(use_with debug lttng) - $(use_with ldap) - $(use_with profiling-data) - --private-libraries='!ldb' - $(usex lmdb '' --without-ldb-lmdb) - # bug #683148 - --jobs 1 - ) - - if multilib_is_native_abi ; then - myconf+=( --with-shared-modules=${SHAREDMODS} ) - else - myconf+=( --with-shared-modules=DEFAULT,!vfs_snapper ) - fi - - append-ldflags $(test-flags-CCLD -Wl,--undefined-version) # bug 914898 - - append-cppflags "-I${ESYSROOT}/usr/include/et" - - waf-utils_src_configure ${myconf[@]} -} - -multilib_src_compile() { - waf-utils_src_compile -} - -multilib_src_test() { - if multilib_is_native_abi ; then - "${WAF_BINARY}" test || die "Test failed" - fi -} - -multilib_src_install() { - waf-utils_src_install - - # Make all .so files executable - find "${ED}" -type f -name "*.so" -exec chmod +x {} + || die - # smbspool_krb5_wrapper must only be accessible to root, bug #880739 - find "${ED}" -type f -name "smbspool_krb5_wrapper" -exec chmod go-rwx {} + || die - - # Remove empty runtime dirs created by build system (bug #892341) - find "${ED}"/{run,var} -type d -empty -delete || die - - if multilib_is_native_abi ; then - # Install ldap schema for server (bug #491002) - if use ldap ; then - insinto /etc/openldap/schema - doins examples/LDAP/samba.schema - fi - - # Create symlink for cups (bug #552310) - if use cups ; then - dosym ../../../bin/smbspool \ - /usr/libexec/cups/backend/smb - fi - - # Install example config file - insinto /etc/samba - doins examples/smb.conf.default - - # Fix paths in example file (bug #603964) - sed \ - -e '/log file =/s@/usr/local/samba/var/@/var/log/samba/@' \ - -e '/include =/s@/usr/local/samba/lib/@/etc/samba/@' \ - -e '/path =/s@/usr/local/samba/lib/@/var/lib/samba/@' \ - -e '/path =/s@/usr/local/samba/@/var/lib/samba/@' \ - -e '/path =/s@/usr/spool/samba@/var/spool/samba@' \ - -i "${ED}"/etc/samba/smb.conf.default || die - - # Install init script and conf.d file - newinitd "${CONFDIR}/samba4.initd-r1" samba - newconfd "${CONFDIR}/samba4.confd" samba - - dotmpfiles "${FILESDIR}"/samba.conf - if ! use addc ; then - rm "${D}/$(systemd_get_systemunitdir)/samba.service" \ - || die - fi - - # Preserve functionality for old gentoo-specific unit names - dosym nmb.service "$(systemd_get_systemunitdir)/nmbd.service" - dosym smb.service "$(systemd_get_systemunitdir)/smbd.service" - dosym winbind.service "$(systemd_get_systemunitdir)/winbindd.service" - - use python && python_optimize - fi - - if use pam && use winbind ; then - newpamd "${CONFDIR}/system-auth-winbind.pam" system-auth-winbind - # bugs #376853 and #590374 - insinto /etc/security - doins examples/pam_winbind/pam_winbind.conf - fi -} - -pkg_postinst() { - tmpfiles_process samba.conf -} diff --git a/sdk_container/src/third_party/portage-stable/net-fs/samba/samba-4.22.9.ebuild b/sdk_container/src/third_party/portage-stable/net-fs/samba/samba-4.23.10.ebuild similarity index 96% rename from sdk_container/src/third_party/portage-stable/net-fs/samba/samba-4.22.9.ebuild rename to sdk_container/src/third_party/portage-stable/net-fs/samba/samba-4.23.10.ebuild index 59f7231f761..3a5c53ddabe 100644 --- a/sdk_container/src/third_party/portage-stable/net-fs/samba/samba-4.22.9.ebuild +++ b/sdk_container/src/third_party/portage-stable/net-fs/samba/samba-4.23.10.ebuild @@ -3,7 +3,7 @@ EAPI=8 -PYTHON_COMPAT=( python3_{11..13} ) +PYTHON_COMPAT=( python3_{12..14} ) PYTHON_REQ_USE="threads(+),xml(+)" inherit python-single-r1 flag-o-matic waf-utils multilib-minimal linux-info optfeature systemd pam tmpfiles @@ -16,12 +16,12 @@ if [[ ${PV} == *_rc* ]]; then SRC_URI="https://download.samba.org/pub/samba/rc/${MY_P}.tar.gz" else SRC_URI="https://download.samba.org/pub/samba/stable/${MY_P}.tar.gz" - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86" + KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86" fi S="${WORKDIR}/${MY_P}" LICENSE="GPL-3" -SLOT="0/2.10.0" +SLOT="0/2.11.0" IUSE="acl addc ads ceph client cluster cups debug fam glusterfs gpg" IUSE+=" iprint json ldap llvm-libunwind lmdb pam profiling-data python quota" IUSE+=" +regedit selinux snapper spotlight syslog system-heimdal +system-mitkrb5" @@ -58,8 +58,8 @@ MULTILIB_WRAPPED_HEADERS=( ) TALLOC_VERSION="2.4.3" -TDB_VERSION="1.4.13" -TEVENT_VERSION="0.16.2" +TDB_VERSION="1.4.14" +TEVENT_VERSION="0.17.1" COMMON_DEPEND=" >=app-arch/libarchive-3.1.2:=[${MULTILIB_USEDEP}] @@ -70,6 +70,7 @@ COMMON_DEPEND=" dev-libs/popt[${MULTILIB_USEDEP}] dev-perl/Parse-Yapp >=net-libs/gnutls-3.4.7:=[${MULTILIB_USEDEP}] + >=net-libs/ngtcp2-1.12.0[gnutls,${MULTILIB_USEDEP}] >=sys-fs/e2fsprogs-1.46.4-r51[${MULTILIB_USEDEP}] !sys-libs/ldb sys-libs/libcap[${MULTILIB_USEDEP}] @@ -253,6 +254,8 @@ multilib_src_configure() { EOF fi + bundled_libs="libquic,${bundled_libs}" + local myconf=( --enable-fhs --sysconfdir="${EPREFIX}/etc" @@ -291,7 +294,7 @@ multilib_src_configure() { $(multilib_native_usex python '' '--disable-python') $(multilib_native_use_enable zeroconf avahi) $(multilib_native_usex test '--enable-selftest' '') - $(usev system-mitkrb5 "--with-system-mitkrb5 ${ESYSROOT}/usr $(multilib_native_usex addc --with-experimental-mit-ad-dc '')") + $(usev system-mitkrb5 "--with-system-mitkrb5 $(multilib_native_usex addc --with-experimental-mit-ad-dc '')") $(use_with ads) $(use_with debug lttng) $(use_with ldap) diff --git a/sdk_container/src/third_party/portage-stable/net-fs/samba/samba-4.23.9.ebuild b/sdk_container/src/third_party/portage-stable/net-fs/samba/samba-4.23.9.ebuild index 8ed59ab9e8b..46129de413a 100644 --- a/sdk_container/src/third_party/portage-stable/net-fs/samba/samba-4.23.9.ebuild +++ b/sdk_container/src/third_party/portage-stable/net-fs/samba/samba-4.23.9.ebuild @@ -3,7 +3,7 @@ EAPI=8 -PYTHON_COMPAT=( python3_{11..14} ) +PYTHON_COMPAT=( python3_{12..14} ) PYTHON_REQ_USE="threads(+),xml(+)" inherit python-single-r1 flag-o-matic waf-utils multilib-minimal linux-info optfeature systemd pam tmpfiles @@ -16,7 +16,7 @@ if [[ ${PV} == *_rc* ]]; then SRC_URI="https://download.samba.org/pub/samba/rc/${MY_P}.tar.gz" else SRC_URI="https://download.samba.org/pub/samba/stable/${MY_P}.tar.gz" - KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86" + KEYWORDS="amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~sparc x86" fi S="${WORKDIR}/${MY_P}" diff --git a/sdk_container/src/third_party/portage-stable/net-fs/samba/samba-4.24.4.ebuild b/sdk_container/src/third_party/portage-stable/net-fs/samba/samba-4.24.4.ebuild index a246637f498..488947df2cd 100644 --- a/sdk_container/src/third_party/portage-stable/net-fs/samba/samba-4.24.4.ebuild +++ b/sdk_container/src/third_party/portage-stable/net-fs/samba/samba-4.24.4.ebuild @@ -3,7 +3,7 @@ EAPI=8 -PYTHON_COMPAT=( python3_{11..14} ) +PYTHON_COMPAT=( python3_{12..14} ) PYTHON_REQ_USE="threads(+),xml(+)" inherit python-single-r1 flag-o-matic waf-utils multilib-minimal linux-info optfeature systemd pam tmpfiles @@ -16,7 +16,7 @@ if [[ ${PV} == *_rc* ]]; then SRC_URI="https://download.samba.org/pub/samba/rc/${MY_P}.tar.gz" else SRC_URI="https://download.samba.org/pub/samba/stable/${MY_P}.tar.gz" - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86" + KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~sparc x86" fi S="${WORKDIR}/${MY_P}" diff --git a/sdk_container/src/third_party/portage-stable/net-fs/samba/samba-4.22.10.ebuild b/sdk_container/src/third_party/portage-stable/net-fs/samba/samba-4.24.5.ebuild similarity index 97% rename from sdk_container/src/third_party/portage-stable/net-fs/samba/samba-4.22.10.ebuild rename to sdk_container/src/third_party/portage-stable/net-fs/samba/samba-4.24.5.ebuild index 59f7231f761..301efdce1a1 100644 --- a/sdk_container/src/third_party/portage-stable/net-fs/samba/samba-4.22.10.ebuild +++ b/sdk_container/src/third_party/portage-stable/net-fs/samba/samba-4.24.5.ebuild @@ -3,7 +3,7 @@ EAPI=8 -PYTHON_COMPAT=( python3_{11..13} ) +PYTHON_COMPAT=( python3_{12..14} ) PYTHON_REQ_USE="threads(+),xml(+)" inherit python-single-r1 flag-o-matic waf-utils multilib-minimal linux-info optfeature systemd pam tmpfiles @@ -21,7 +21,7 @@ fi S="${WORKDIR}/${MY_P}" LICENSE="GPL-3" -SLOT="0/2.10.0" +SLOT="0/2.11.0" IUSE="acl addc ads ceph client cluster cups debug fam glusterfs gpg" IUSE+=" iprint json ldap llvm-libunwind lmdb pam profiling-data python quota" IUSE+=" +regedit selinux snapper spotlight syslog system-heimdal +system-mitkrb5" @@ -57,9 +57,9 @@ MULTILIB_WRAPPED_HEADERS=( /usr/include/samba-4.0/ctdb_version.h ) -TALLOC_VERSION="2.4.3" -TDB_VERSION="1.4.13" -TEVENT_VERSION="0.16.2" +TALLOC_VERSION="2.4.4" +TDB_VERSION="1.4.15" +TEVENT_VERSION="0.17.1" COMMON_DEPEND=" >=app-arch/libarchive-3.1.2:=[${MULTILIB_USEDEP}] @@ -70,6 +70,7 @@ COMMON_DEPEND=" dev-libs/popt[${MULTILIB_USEDEP}] dev-perl/Parse-Yapp >=net-libs/gnutls-3.4.7:=[${MULTILIB_USEDEP}] + >=net-libs/ngtcp2-1.12.0[gnutls,${MULTILIB_USEDEP}] >=sys-fs/e2fsprogs-1.46.4-r51[${MULTILIB_USEDEP}] !sys-libs/ldb sys-libs/libcap[${MULTILIB_USEDEP}] @@ -253,6 +254,8 @@ multilib_src_configure() { EOF fi + bundled_libs="libquic,${bundled_libs}" + local myconf=( --enable-fhs --sysconfdir="${EPREFIX}/etc" @@ -291,7 +294,7 @@ multilib_src_configure() { $(multilib_native_usex python '' '--disable-python') $(multilib_native_use_enable zeroconf avahi) $(multilib_native_usex test '--enable-selftest' '') - $(usev system-mitkrb5 "--with-system-mitkrb5 ${ESYSROOT}/usr $(multilib_native_usex addc --with-experimental-mit-ad-dc '')") + $(usev system-mitkrb5 "--with-system-mitkrb5 $(multilib_native_usex addc --with-experimental-mit-ad-dc '')") $(use_with ads) $(use_with debug lttng) $(use_with ldap) From ce0920c91618e1e95288a43a9bbcb49eb2011fa9 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 3 Aug 2026 08:18:22 +0000 Subject: [PATCH 117/195] net-libs/nghttp2: Sync with Gentoo It's from Gentoo commit a1d9c04f6efdd1c6046c872b82431781ae5da5bd. Signed-off-by: Flatcar Buildbot --- .../portage-stable/net-libs/nghttp2/nghttp2-1.69.0.ebuild | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sdk_container/src/third_party/portage-stable/net-libs/nghttp2/nghttp2-1.69.0.ebuild b/sdk_container/src/third_party/portage-stable/net-libs/nghttp2/nghttp2-1.69.0.ebuild index 88a5d2c2263..f2db3ab68b5 100644 --- a/sdk_container/src/third_party/portage-stable/net-libs/nghttp2/nghttp2-1.69.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/net-libs/nghttp2/nghttp2-1.69.0.ebuild @@ -21,7 +21,7 @@ else verify-sig? ( https://github.com/nghttp2/nghttp2/releases/download/v${PV}/${P}.tar.xz.asc ) " - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris" + KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" BDEPEND="verify-sig? ( sec-keys/openpgp-keys-nghttp2 )" fi From da13b9bfa4aebd77b6ca7fb3444dc617293efdcf Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 3 Aug 2026 08:18:23 +0000 Subject: [PATCH 118/195] net-libs/ngtcp2: Sync with Gentoo It's from Gentoo commit 0d76d965790952dbd50e1f4cd71e55beda33360b. Signed-off-by: Flatcar Buildbot --- .../portage-stable/net-libs/ngtcp2/Manifest | 2 + .../net-libs/ngtcp2/ngtcp2-1.12.0.ebuild | 3 +- .../net-libs/ngtcp2/ngtcp2-1.20.0-r1.ebuild | 3 +- .../net-libs/ngtcp2/ngtcp2-1.20.0.ebuild | 3 +- .../net-libs/ngtcp2/ngtcp2-1.21.0.ebuild | 3 +- .../net-libs/ngtcp2/ngtcp2-1.22.0.ebuild | 3 +- .../net-libs/ngtcp2/ngtcp2-1.22.1.ebuild | 3 +- .../net-libs/ngtcp2/ngtcp2-1.23.0.ebuild | 3 +- .../net-libs/ngtcp2/ngtcp2-1.24.0.ebuild | 3 +- .../net-libs/ngtcp2/ngtcp2-1.25.0.ebuild | 74 +++++++++++++++++++ .../net-libs/ngtcp2/ngtcp2-9999.ebuild | 1 + 11 files changed, 93 insertions(+), 8 deletions(-) create mode 100644 sdk_container/src/third_party/portage-stable/net-libs/ngtcp2/ngtcp2-1.25.0.ebuild diff --git a/sdk_container/src/third_party/portage-stable/net-libs/ngtcp2/Manifest b/sdk_container/src/third_party/portage-stable/net-libs/ngtcp2/Manifest index 26f3ec47376..a05ec00f13e 100644 --- a/sdk_container/src/third_party/portage-stable/net-libs/ngtcp2/Manifest +++ b/sdk_container/src/third_party/portage-stable/net-libs/ngtcp2/Manifest @@ -11,3 +11,5 @@ DIST ngtcp2-1.23.0.tar.xz 708136 BLAKE2B c5ca36a1fb172598a0c9226b8b157259e18b861 DIST ngtcp2-1.23.0.tar.xz.asc 833 BLAKE2B 44abc9177667480ba8a7a72378b99fb97ed608a245bc0d9f31564c5739ea80ef0aba39e691269fe6de167956e5c1891349720bc64024a1fadea2c4a33bc4f857 SHA512 e20dd30be8409a9476f6b720c9dae708ec076d6a4324a49d655a99970f24293d8a2aa37aa8490003594016db4a44d0b46ffb835ac42f765a9d1226b6f299a5e8 DIST ngtcp2-1.24.0.tar.xz 702424 BLAKE2B a459d08fa5d55f4de482fafd5c1809fa47c3e3b7703ac15f5b142944667ccb4a525fcc0a07d8d895d42121b8fbe676e832e02f54112ea2bb29ffee795b30b6c2 SHA512 e8c862c4bef6f1b75eec7808a4c6f5e7aba4d38bf06428fa02878d64685ff234528688639d7dd8907e1efa12da04198dd91d05e17a2925f9a785d04bd469d52f DIST ngtcp2-1.24.0.tar.xz.asc 833 BLAKE2B 35dffc8f9557d6b3a6d1a8153abc9beb9d45f54f839588d338bc0a73cbdd81c1c358d39072ee392d5da155d8c6d0f1d59feeb03681858af923c52ff79f134315 SHA512 a776462252aa1fbaa0a922b095e918f947af8a7a2a6dd4662fbc3f5713a98ca652c143a07ec751adc6386b75bd0d73f0e28075d80403bea88e6279de8f3ef641 +DIST ngtcp2-1.25.0.tar.xz 709136 BLAKE2B 3888444283f6bce450ee5ab7961695e47b13ed4858615d3f272ac61614c05ca6fc6332dad60cf844c4dcdc33aa333c1febe3105d263585939a14eb7ccefb9758 SHA512 b5ebf0a4248a13b9231ac0b6353adbf6634a19bb57db3cf39947746c399ebc5085f780a540d246b7226bb994a920ad0cc9b755ebd9fe58c18a6838d50b6bc90e +DIST ngtcp2-1.25.0.tar.xz.asc 833 BLAKE2B e38ba68d3be33965de428231faaf326a5ac2d28ca5950a9046df7a3e2066f00638fc4d675218a1d58dc87e8124daa1cea91838625b9f0e3b36ef91b38c2550f3 SHA512 cf0f325503ccfb65a770980cfd373fa88b9b89c0e56613f0dc058c3edc0a9a1c0324474fb4e58aca68b75831876b1000f7259f77a23db5e51fb07ec3e593e6f7 diff --git a/sdk_container/src/third_party/portage-stable/net-libs/ngtcp2/ngtcp2-1.12.0.ebuild b/sdk_container/src/third_party/portage-stable/net-libs/ngtcp2/ngtcp2-1.12.0.ebuild index 366d9b923ae..91e2dd6057e 100644 --- a/sdk_container/src/third_party/portage-stable/net-libs/ngtcp2/ngtcp2-1.12.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/net-libs/ngtcp2/ngtcp2-1.12.0.ebuild @@ -5,7 +5,7 @@ EAPI=8 # Built with autotools rather than cmake to avoid circular dep (bug #951524 -inherit multilib-minimal +inherit libtool multilib-minimal if [[ ${PV} == 9999 ]] ; then EGIT_REPO_URI="https://github.com/ngtcp2/ngtcp2.git" @@ -35,6 +35,7 @@ BDEPEND="virtual/pkgconfig" src_prepare() { default + elibtoolize # bug #978993 [[ ${PV} == 9999 ]] && eautoreconf } diff --git a/sdk_container/src/third_party/portage-stable/net-libs/ngtcp2/ngtcp2-1.20.0-r1.ebuild b/sdk_container/src/third_party/portage-stable/net-libs/ngtcp2/ngtcp2-1.20.0-r1.ebuild index 81f58ee6eb2..178585f327c 100644 --- a/sdk_container/src/third_party/portage-stable/net-libs/ngtcp2/ngtcp2-1.20.0-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/net-libs/ngtcp2/ngtcp2-1.20.0-r1.ebuild @@ -5,7 +5,7 @@ EAPI=8 # Built with autotools rather than cmake to avoid circular dep (bug #951524 -inherit multilib-minimal +inherit libtool multilib-minimal if [[ ${PV} == 9999 ]] ; then EGIT_REPO_URI="https://github.com/ngtcp2/ngtcp2.git" @@ -49,6 +49,7 @@ QA_CONFIG_IMPL_DECL_SKIP=( src_prepare() { default + elibtoolize # bug #978993 [[ ${PV} == 9999 ]] && eautoreconf } diff --git a/sdk_container/src/third_party/portage-stable/net-libs/ngtcp2/ngtcp2-1.20.0.ebuild b/sdk_container/src/third_party/portage-stable/net-libs/ngtcp2/ngtcp2-1.20.0.ebuild index 42d4a5a65c8..531a38cf77b 100644 --- a/sdk_container/src/third_party/portage-stable/net-libs/ngtcp2/ngtcp2-1.20.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/net-libs/ngtcp2/ngtcp2-1.20.0.ebuild @@ -5,7 +5,7 @@ EAPI=8 # Built with autotools rather than cmake to avoid circular dep (bug #951524 -inherit multilib-minimal +inherit libtool multilib-minimal if [[ ${PV} == 9999 ]] ; then EGIT_REPO_URI="https://github.com/ngtcp2/ngtcp2.git" @@ -41,6 +41,7 @@ BDEPEND+=" virtual/pkgconfig" src_prepare() { default + elibtoolize # bug #978993 [[ ${PV} == 9999 ]] && eautoreconf } diff --git a/sdk_container/src/third_party/portage-stable/net-libs/ngtcp2/ngtcp2-1.21.0.ebuild b/sdk_container/src/third_party/portage-stable/net-libs/ngtcp2/ngtcp2-1.21.0.ebuild index a910ee17d3d..2f062466c96 100644 --- a/sdk_container/src/third_party/portage-stable/net-libs/ngtcp2/ngtcp2-1.21.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/net-libs/ngtcp2/ngtcp2-1.21.0.ebuild @@ -5,7 +5,7 @@ EAPI=8 # Built with autotools rather than cmake to avoid circular dep (bug #951524 -inherit multilib-minimal +inherit libtool multilib-minimal if [[ ${PV} == 9999 ]] ; then EGIT_REPO_URI="https://github.com/ngtcp2/ngtcp2.git" @@ -49,6 +49,7 @@ QA_CONFIG_IMPL_DECL_SKIP=( src_prepare() { default + elibtoolize # bug #978993 [[ ${PV} == 9999 ]] && eautoreconf } diff --git a/sdk_container/src/third_party/portage-stable/net-libs/ngtcp2/ngtcp2-1.22.0.ebuild b/sdk_container/src/third_party/portage-stable/net-libs/ngtcp2/ngtcp2-1.22.0.ebuild index 71a514ea78e..5889b2ddf15 100644 --- a/sdk_container/src/third_party/portage-stable/net-libs/ngtcp2/ngtcp2-1.22.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/net-libs/ngtcp2/ngtcp2-1.22.0.ebuild @@ -5,7 +5,7 @@ EAPI=8 # Built with autotools rather than cmake to avoid circular dep (bug #951524 -inherit multilib-minimal +inherit libtool multilib-minimal if [[ ${PV} == 9999 ]] ; then EGIT_REPO_URI="https://github.com/ngtcp2/ngtcp2.git" @@ -49,6 +49,7 @@ QA_CONFIG_IMPL_DECL_SKIP=( src_prepare() { default + elibtoolize # bug #978993 [[ ${PV} == 9999 ]] && eautoreconf } diff --git a/sdk_container/src/third_party/portage-stable/net-libs/ngtcp2/ngtcp2-1.22.1.ebuild b/sdk_container/src/third_party/portage-stable/net-libs/ngtcp2/ngtcp2-1.22.1.ebuild index a910ee17d3d..2f062466c96 100644 --- a/sdk_container/src/third_party/portage-stable/net-libs/ngtcp2/ngtcp2-1.22.1.ebuild +++ b/sdk_container/src/third_party/portage-stable/net-libs/ngtcp2/ngtcp2-1.22.1.ebuild @@ -5,7 +5,7 @@ EAPI=8 # Built with autotools rather than cmake to avoid circular dep (bug #951524 -inherit multilib-minimal +inherit libtool multilib-minimal if [[ ${PV} == 9999 ]] ; then EGIT_REPO_URI="https://github.com/ngtcp2/ngtcp2.git" @@ -49,6 +49,7 @@ QA_CONFIG_IMPL_DECL_SKIP=( src_prepare() { default + elibtoolize # bug #978993 [[ ${PV} == 9999 ]] && eautoreconf } diff --git a/sdk_container/src/third_party/portage-stable/net-libs/ngtcp2/ngtcp2-1.23.0.ebuild b/sdk_container/src/third_party/portage-stable/net-libs/ngtcp2/ngtcp2-1.23.0.ebuild index a910ee17d3d..2f062466c96 100644 --- a/sdk_container/src/third_party/portage-stable/net-libs/ngtcp2/ngtcp2-1.23.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/net-libs/ngtcp2/ngtcp2-1.23.0.ebuild @@ -5,7 +5,7 @@ EAPI=8 # Built with autotools rather than cmake to avoid circular dep (bug #951524 -inherit multilib-minimal +inherit libtool multilib-minimal if [[ ${PV} == 9999 ]] ; then EGIT_REPO_URI="https://github.com/ngtcp2/ngtcp2.git" @@ -49,6 +49,7 @@ QA_CONFIG_IMPL_DECL_SKIP=( src_prepare() { default + elibtoolize # bug #978993 [[ ${PV} == 9999 ]] && eautoreconf } diff --git a/sdk_container/src/third_party/portage-stable/net-libs/ngtcp2/ngtcp2-1.24.0.ebuild b/sdk_container/src/third_party/portage-stable/net-libs/ngtcp2/ngtcp2-1.24.0.ebuild index ddb0bb95b58..5b9272afd1a 100644 --- a/sdk_container/src/third_party/portage-stable/net-libs/ngtcp2/ngtcp2-1.24.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/net-libs/ngtcp2/ngtcp2-1.24.0.ebuild @@ -18,7 +18,7 @@ else verify-sig? ( https://github.com/ngtcp2/ngtcp2/releases/download/v${PV}/${P}.tar.xz.asc ) " - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86 ~arm64-macos ~x64-macos" + KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~sparc x86 ~arm64-macos ~x64-macos" BDEPEND="verify-sig? ( sec-keys/openpgp-keys-ngtcp2 )" fi @@ -49,6 +49,7 @@ QA_CONFIG_IMPL_DECL_SKIP=( src_prepare() { default + elibtoolize # bug #978993 [[ ${PV} == 9999 ]] && eautoreconf } diff --git a/sdk_container/src/third_party/portage-stable/net-libs/ngtcp2/ngtcp2-1.25.0.ebuild b/sdk_container/src/third_party/portage-stable/net-libs/ngtcp2/ngtcp2-1.25.0.ebuild new file mode 100644 index 00000000000..ddb0bb95b58 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/net-libs/ngtcp2/ngtcp2-1.25.0.ebuild @@ -0,0 +1,74 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# Built with autotools rather than cmake to avoid circular dep (bug #951524 + +inherit multilib-minimal + +if [[ ${PV} == 9999 ]] ; then + EGIT_REPO_URI="https://github.com/ngtcp2/ngtcp2.git" + inherit autotools git-r3 +else + VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/ngtcp2.asc + inherit verify-sig + SRC_URI=" + https://github.com/ngtcp2/ngtcp2/releases/download/v${PV}/${P}.tar.xz + verify-sig? ( https://github.com/ngtcp2/ngtcp2/releases/download/v${PV}/${P}.tar.xz.asc ) + " + + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86 ~arm64-macos ~x64-macos" + BDEPEND="verify-sig? ( sec-keys/openpgp-keys-ngtcp2 )" +fi + +DESCRIPTION="Implementation of the IETF QUIC Protocol" +HOMEPAGE="https://nghttp2.org/ngtcp2/ https://github.com/ngtcp2/ngtcp2" + +LICENSE="MIT" +SLOT="0/0" +IUSE="gnutls +openssl +ssl" +REQUIRED_USE="ssl? ( || ( gnutls openssl ) )" + +# Uses SSL_set_quic_tls_cbs to detect OpenSSL. The function was introduced in +# OpenSSL 3.5: +# https://docs.openssl.org/master/man3/SSL_set_quic_tls_cbs/#history. +RDEPEND=" + ssl? ( + gnutls? ( >=net-libs/gnutls-3.7.2:=[${MULTILIB_USEDEP}] ) + openssl? ( >=dev-libs/openssl-3.5:=[${MULTILIB_USEDEP}] ) + ) +" +DEPEND="${RDEPEND}" +BDEPEND+=" virtual/pkgconfig" + +# QuicTLS function, the OpenSSL support is checked via SSL_set_quic_tls_cbs. +QA_CONFIG_IMPL_DECL_SKIP=( + 'SSL_provide_quic_data' +) + +src_prepare() { + default + [[ ${PV} == 9999 ]] && eautoreconf +} + +multilib_src_configure() { + local myeconfargs=( + --disable-werror + --enable-lib-only + $(use_with openssl) + $(use_with gnutls) + --without-boringssl + --without-picotls + --without-wolfssl + --without-libev + --without-libnghttp3 + --without-jemalloc + ) + ECONF_SOURCE="${S}" econf "${myeconfargs[@]}" +} + +multilib_src_install_all() { + einstalldocs + find "${ED}"/usr -type f -name '*.la' -delete || die +} diff --git a/sdk_container/src/third_party/portage-stable/net-libs/ngtcp2/ngtcp2-9999.ebuild b/sdk_container/src/third_party/portage-stable/net-libs/ngtcp2/ngtcp2-9999.ebuild index ddb0bb95b58..545305a8d4f 100644 --- a/sdk_container/src/third_party/portage-stable/net-libs/ngtcp2/ngtcp2-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/net-libs/ngtcp2/ngtcp2-9999.ebuild @@ -49,6 +49,7 @@ QA_CONFIG_IMPL_DECL_SKIP=( src_prepare() { default + elibtoolize # bug #978993 [[ ${PV} == 9999 ]] && eautoreconf } From 16a7dbf5a11958bf1c32a58ed7d8538d4bc1729e Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 3 Aug 2026 08:18:26 +0000 Subject: [PATCH 119/195] net-misc/curl: Sync with Gentoo It's from Gentoo commit 283d4ce77a8fa13bab26cee0da16fb874d3fc842. Signed-off-by: Flatcar Buildbot --- .../portage-stable/net-misc/curl/Manifest | 1 + .../net-misc/curl/curl-8.21.0-r1.ebuild | 441 ++++++++++++++++++ .../net-misc/curl/curl-8.21.0.ebuild | 2 +- 3 files changed, 443 insertions(+), 1 deletion(-) create mode 100644 sdk_container/src/third_party/portage-stable/net-misc/curl/curl-8.21.0-r1.ebuild diff --git a/sdk_container/src/third_party/portage-stable/net-misc/curl/Manifest b/sdk_container/src/third_party/portage-stable/net-misc/curl/Manifest index 5f1f82ac13e..b2d5740401c 100644 --- a/sdk_container/src/third_party/portage-stable/net-misc/curl/Manifest +++ b/sdk_container/src/third_party/portage-stable/net-misc/curl/Manifest @@ -2,5 +2,6 @@ DIST curl-8.19.0.tar.xz 2787584 BLAKE2B d4a943af9a109893112876784dbe106276317e6c DIST curl-8.19.0.tar.xz.asc 488 BLAKE2B 0031029301586546bf2a50e00fdf16042da14ac26c2294d033274ed9cd9303c81c3997935b17b3b4202356c972eeed2b354cb623c790fa3983481587ed2ecf35 SHA512 ea3d4f2f42ec6571340e982868c5a35836eed2b76109b08b90b98023474293ad33a7218da511f153d01de607b735fc039a0733fa09fddd984fd7e2c61ee0446a DIST curl-8.20.0.tar.xz 2834456 BLAKE2B 5b61a1099212af9b3c18629fd0b6c93881014e7b02ed5171021a2a074a87786ff8f8e94a47c53c3ca83354cfbe74f7d917cae819c97011c0ff9e4ace014e01c2 SHA512 edfa5882aaeefcf2226fe03b19246151c0377c3656f9c8cc385bdaf34565e1354e762005b58780917a6d98039ae34085e4a4bcb44255c77e3b0e1d94090c010b DIST curl-8.20.0.tar.xz.asc 488 BLAKE2B 918959b650c41f7f938e18a71fe24682d94984b74b0726de822ea84b7202734096350eccc69ce1cf624c97c8ec86a5ba753866c572db4ca4d5f9472b591f860b SHA512 188b7f664ed0cd4b1b0a8eb743a9b05e54fca38dbfe56c38a1591942c64c1c79dc29466745d8ec824513809708b13d9c7ced52b15eb71522da32e8a633a66488 +DIST curl-8.21.0-hang.patch.xz 7996 BLAKE2B d14f862bce661b8ff8218ea5504abef9cebaff20be05026c226e50d19e176d8a2633949e39fec2abe006a7a63e94a31318cf37a6e15995a72e12fb352367947b SHA512 6c3c451685d159b79cc42602298a5a0b851019585a8c0ee7f53722b339a3b93abb2ef2aa1693b322a95ea4066d4cb907d80fbeda1ca0fa62a9d9e91d5eb4f39c DIST curl-8.21.0.tar.xz 2882336 BLAKE2B 230989e586a592b2aee768a1a6d48f1c8247e4d26afd0787a94f45faa9fbebcda5c9a8e2b739fb5a2ada151c13b09a8e2319825e9314fcc894377f24e92d338f SHA512 5f7c646e5a3d4d3d8b8a3675adfa29c266a3148599d510d24f91c82d6ff064bfafce420af01522f8be973019619f3eee5e970398fa79be168b77f697c52bf8e5 DIST curl-8.21.0.tar.xz.asc 488 BLAKE2B 6b61b1e55ff198f2c614dd7c099ffde84e0b22f469c6bd688797333af3b7c83f38da1a819d3acdd5b6a8c24c2d6c4175daabbe20c826d5d112d0258aa30b86bc SHA512 bb860d59a7117b0a484c06be80f305897af2b2f6d6c64b763b20e71073d8c36f74c3de85c1e449e65ead832903369b76ee0afc382932e3d9a1cc7253f00afb69 diff --git a/sdk_container/src/third_party/portage-stable/net-misc/curl/curl-8.21.0-r1.ebuild b/sdk_container/src/third_party/portage-stable/net-misc/curl/curl-8.21.0-r1.ebuild new file mode 100644 index 00000000000..b0fa4b9f07c --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/net-misc/curl/curl-8.21.0-r1.ebuild @@ -0,0 +1,441 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# Maintainers should subscribe to the 'curl-distros' ML for backports etc +# https://daniel.haxx.se/blog/2024/03/25/curl-distro-report/ +# https://lists.haxx.se/listinfo/curl-distros + +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/danielstenberg.asc +inherit dot-a autotools multilib-minimal multiprocessing prefix toolchain-funcs verify-sig + +DESCRIPTION="A Client that groks URLs" +HOMEPAGE="https://curl.se/" + +if [[ ${PV} == 9999 ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/curl/curl.git" +else + if [[ ${P} == *rc* ]]; then + CURL_URI="https://curl.se/rc/" + S="${WORKDIR}/${P//_/-}" + else + CURL_URI="https://curl.se/download/" + KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" + fi + SRC_URI=" + ${CURL_URI}${P//_/-}.tar.xz + https://distfiles.gentoo.org/pub/dev/sam@gentoo.org/net-misc/curl/curl-8.21.0-hang.patch.xz + verify-sig? ( ${CURL_URI}${P//_/-}.tar.xz.asc ) + " +fi + +LICENSE="BSD curl ISC test? ( BSD-4 )" +SLOT="0" +IUSE="+adns +alt-svc brotli debug ech +ftp gnutls gopher +hsts +http2 +http3 +httpsrr idn +imap kerberos ldap" +IUSE+=" mbedtls +openssl +pop3 +psl +quic rustls sasl-scram +smtp ssh ssl static-libs test" +IUSE+=" telnet +tftp +websockets zstd" +# These select the default tls implementation / which quic impl to use +IUSE+=" curl_ssl_gnutls curl_ssl_mbedtls +curl_ssl_openssl curl_ssl_rustls" +RESTRICT="!test? ( test )" + +# HTTPS RR is technically usable with the threaded resolver, but it still uses c-ares to +# ask for the HTTPS RR record type; if DoH is in use the HTTPS record will be requested +# in addition to A and AAAA records. + +# To simplify dependency management in the ebuild we'll require c-ares for HTTPS RR (for now?). +# HTTPS RR in cURL is a dependency for: +# - ECH (enabled with rustls, ossl 4.0+) +# - Fetching the ALPN list which should provide a better HTTP/3 experience. +# Only one default ssl / quic provider can be enabled +# The default provider needs its USE satisfied +# HTTP/3 and MultiSSL are mutually exclusive; it's not clear if MultiSSL offers any benefit at all in the modern day. +# https://github.com/curl/curl/commit/65ece771f4602107d9cdd339dff4b420280a2c2e +REQUIRED_USE=" + ech? ( + || ( + openssl + rustls + ) + ) + httpsrr? ( adns ) + quic? ( + ^^ ( + openssl + gnutls + ) + !mbedtls + !rustls + http3 + ssl + ) + ssl? ( + ^^ ( + curl_ssl_gnutls + curl_ssl_mbedtls + curl_ssl_openssl + curl_ssl_rustls + ) + ) + curl_ssl_gnutls? ( gnutls ) + curl_ssl_mbedtls? ( mbedtls ) + curl_ssl_openssl? ( openssl ) + curl_ssl_rustls? ( rustls ) + http3? ( alt-svc httpsrr quic ) +" + +# cURL's docs and CI/CD are great resources for confirming supported versions +# particulary for fast-moving targets like HTTP/2 and TCP/2 e.g.: +# - https://github.com/curl/curl/blob/master/docs/INTERNALS.md (core dependencies + minimum versions) +# - https://github.com/curl/curl/blob/master/docs/HTTP3.md (example of a feature that moves quickly) +# - https://github.com/curl/curl/blob/master/.github/workflows/http3-linux.yml (CI/CD for TCP/2) +# - https://curl.se/dev/deprecate.html - good source of deprecation timelines, e.g. for OpenSSL 1.1.1 +# However 'supported' vs 'works' are two entirely different things; be sane but +# don't be afraid to require a later version. +# ngtcp2 = https://bugs.gentoo.org/912029 - can only build with one tls backend at a time. +RDEPEND=" + >=virtual/zlib-1.2.5:=[${MULTILIB_USEDEP}] + adns? ( >=net-dns/c-ares-1.16.0:=[${MULTILIB_USEDEP}] ) + brotli? ( app-arch/brotli:=[${MULTILIB_USEDEP}] ) + http2? ( >=net-libs/nghttp2-1.15.0:=[${MULTILIB_USEDEP}] ) + http3? ( >=net-libs/nghttp3-1.1.0[${MULTILIB_USEDEP}] ) + idn? ( >=net-dns/libidn2-2.0.0:=[static-libs?,${MULTILIB_USEDEP}] ) + kerberos? ( >=virtual/krb5-0-r1[${MULTILIB_USEDEP}] ) + ldap? ( >=net-nds/openldap-2.0.0:=[static-libs?,${MULTILIB_USEDEP}] ) + psl? ( net-libs/libpsl[${MULTILIB_USEDEP}] ) + quic? ( + gnutls? ( >=net-libs/ngtcp2-1.20.0-r1[gnutls,ssl,${MULTILIB_USEDEP}] ) + openssl? ( >=net-libs/ngtcp2-1.20.0-r1[openssl,ssl,${MULTILIB_USEDEP}] ) + ) + ssh? ( >=net-libs/libssh2-1.2.8[${MULTILIB_USEDEP}] ) + sasl-scram? ( >=net-misc/gsasl-2.2.0[static-libs?,${MULTILIB_USEDEP}] ) + ssl? ( + gnutls? ( + app-misc/ca-certificates + >=net-libs/gnutls-3.1.10:=[static-libs?,${MULTILIB_USEDEP}] + dev-libs/nettle:=[${MULTILIB_USEDEP}] + ) + mbedtls? ( + app-misc/ca-certificates + net-libs/mbedtls:3=[${MULTILIB_USEDEP}] + ) + openssl? ( + ech? ( >=dev-libs/openssl-4.0.0_beta1:=[static-libs?,${MULTILIB_USEDEP}] ) + >=dev-libs/openssl-3.0.0:=[static-libs?,${MULTILIB_USEDEP}] + ) + rustls? ( + >=net-libs/rustls-ffi-0.15.0:=[${MULTILIB_USEDEP}] + ) + ) + zstd? ( app-arch/zstd:=[${MULTILIB_USEDEP}] ) +" + +DEPEND="${RDEPEND}" + +BDEPEND=" + dev-lang/perl + virtual/pkgconfig + test? ( + sys-apps/diffutils + http2? ( >=net-libs/nghttp2-1.15.0:=[utils,${MULTILIB_USEDEP}] ) + http3? ( net-libs/nghttp2:=[utils,${MULTILIB_USEDEP}] ) + ) + verify-sig? ( sec-keys/openpgp-keys-danielstenberg ) +" + +DOCS=( README docs/{FEATURES.md,INTERNALS.md,FAQ.md,BUGS.md,CONTRIBUTE.md} ) + +MULTILIB_WRAPPED_HEADERS=( + /usr/include/curl/curlbuild.h +) + +MULTILIB_CHOST_TOOLS=( + /usr/bin/curl-config +) + +QA_CONFIG_IMPL_DECL_SKIP=( + __builtin_available + closesocket + CloseSocket + getpass_r + ioctlsocket + IoctlSocket + mach_absolute_time + setmode + _fseeki64 + # custom AC_LINK_IFELSE code fails to link even without -Werror + OSSL_QUIC_client_method +) + +PATCHES=( + "${FILESDIR}/${PN}-prefix-6.patch" + "${FILESDIR}/${PN}-respect-cflags-3.patch" + "${WORKDIR}/${P}-hang.patch" +) + +src_unpack() { + use verify-sig && verify-sig_verify_detached "${DISTDIR}"/${P}.tar.xz{,.asc} + default +} + +src_prepare() { + default + + eprefixify curl-config.in + eautoreconf +} + +# Generates TLS-related configure options based on USE flags. +# Outputs options suitable for appending to a configure options array. +_get_curl_tls_configure_opts() { + local tls_opts=() + + local backend flag_name + for backend in gnutls mbedtls openssl rustls; do + if [[ "$backend" == "openssl" ]]; then + flag_name="ssl" + tls_opts+=( "--with-ca-path=${EPREFIX}/etc/ssl/certs") + else + flag_name="$backend" + fi + + if use "$backend"; then + tls_opts+=( "--with-${flag_name}" ) + else + # If a single backend is enabled, 'ssl' is required, openssl is the default / fallback + if ! [[ "$backend" == "openssl" ]]; then + tls_opts+=( "--without-${flag_name}" ) + fi + fi + done + + if use curl_ssl_gnutls; then + multilib_is_native_abi && einfo "Default TLS backend: gnutls" + tls_opts+=( "--with-default-ssl-backend=gnutls" ) + elif use curl_ssl_mbedtls; then + multilib_is_native_abi && einfo "Default TLS backend: mbedtls" + tls_opts+=( "--with-default-ssl-backend=mbedtls" ) + elif use curl_ssl_openssl; then + multilib_is_native_abi && einfo "Default TLS backend: openssl" + tls_opts+=( "--with-default-ssl-backend=openssl" ) + elif use curl_ssl_rustls; then + multilib_is_native_abi && einfo "Default TLS backend: rustls" + tls_opts+=( "--with-default-ssl-backend=rustls" ) + else + eerror "We can't be here because of REQUIRED_USE." + die "Please file a bug, hit impossible condition w/ USE=ssl handling." + fi + + # Explicitly Disable unimplemented backends + tls_opts+=( + --without-amissl + --without-wolfssl + ) + + printf "%s\n" "${tls_opts[@]}" +} + +multilib_src_configure() { + use static-libs && lto-guarantee-fat + # We make use of the fact that later flags override earlier ones + # So start with all ssl providers off until proven otherwise + # TODO: in the future, we may want to add wolfssl (https://www.wolfssl.com/) + local myconf=() + + myconf+=( --without-ca-fallback --with-ca-bundle="${EPREFIX}"/etc/ssl/certs/ca-certificates.crt ) + if use ssl; then + local -a tls_backend_opts + readarray -t tls_backend_opts < <(_get_curl_tls_configure_opts) + myconf+=( + "${tls_backend_opts[@]}" + $(use_with quic ngtcp2) + ) + else + myconf+=( --without-ssl ) + einfo "SSL disabled" + fi + + # These configuration options are organised alphabetically by category/type + + # Protocols + # `grep SUPPORT_PROTOCOLS=\" configure.ac | awk '{ print substr($2, 1, length($2)-1)}' | sort` + # Assume that anything omitted (that is not new!) is enabled by default with no deps + myconf+=( + --enable-file + $(use_enable ftp) + $(use_enable gopher) + --enable-http + $(use_enable imap) # Automatic IMAPS if TLS is enabled + $(use_enable ldap ldaps) + $(use_enable ldap) + $(use_enable pop3) + --disable-smb # Removed upstream in late 2026 + $(use_with ssh libssh2) # enables scp/sftp + --enable-rtsp + $(use_enable smtp) + $(use_enable telnet) + $(use_enable tftp) + $(use_enable websockets) + ) + + # Keep various 'HTTP-flavoured' options together + myconf+=( + $(use_enable alt-svc) + $(use_enable hsts) + $(use_enable httpsrr) + $(use_with http2 nghttp2) + $(use_with http3 nghttp3) + # TODO: --enable-proxy-http3? + --disable-proxy-http3 + ) + + # --enable/disable options + # `grep -- --enable configure | grep Check | awk '{ print $4 }' | sort` + myconf+=( + $(use_enable adns ares) + --enable-aws + --enable-basic-auth + --enable-bearer-auth + --enable-cookies + --enable-dateparse + --enable-dict + --enable-digest-auth + --enable-dnsshuffle + --enable-doh + $(use_enable ech) + --enable-http-auth + --enable-ipv6 + --enable-kerberos-auth + --enable-largefile + --enable-manual + --enable-mime + --enable-negotiate-auth + --enable-netrc + --disable-ntlm # To be removed late 2026 + --enable-progress-meter + --enable-proxy + --enable-rt + --enable-socketpair + --disable-sspi + $(use_enable static-libs static) + --enable-symbol-hiding + --enable-tls-srp + --disable-versioned-symbols + ) + + # --with/without options + # `grep -- --with configure | grep Check | awk '{ print $4 }' | sort` + myconf+=( + $(use_with brotli) + --with-fish-functions-dir="${EPREFIX}"/usr/share/fish/vendor_completions.d + $(use_with idn libidn2) + $(use_with kerberos gssapi "${EPREFIX}"/usr) + $(use_with sasl-scram libgsasl) + $(use_with psl libpsl) + --without-quiche + --without-schannel + --without-winidn + --with-zlib + --with-zsh-functions-dir="${EPREFIX}"/usr/share/zsh/site-functions + $(use_with zstd) + ) + + # Test deps (disabled) + myconf+=( + --without-test-caddy + --without-test-httpd + --without-test-nghttpx + --without-test-h2o + ) + + if use debug; then + myconf+=( + --enable-debug + ) + fi + + if use test && multilib_is_native_abi && ( use http2 || use http3 ); then + myconf+=( + --with-test-nghttpx="${BROOT}/usr/bin/nghttpx" + ) + fi + + # Since 8.12.0 adns/c-ares and the threaded resolver are mutually exclusive + # This is in support of some work to enable `httpsrr` to use adns and the rest + # of curl to use the threaded resolver; for us `httpsrr` is conditional on adns. + if use adns; then + myconf+=( + --disable-threaded-resolver + ) + else + myconf+=( + --enable-threaded-resolver + ) + fi + + ECONF_SOURCE="${S}" econf "${myconf[@]}" + + if ! multilib_is_native_abi; then + # Avoid building the client (we just want libcurl for multilib) + sed -i -e '/SUBDIRS/s:src::' Makefile || die + sed -i -e '/SUBDIRS/s:scripts::' Makefile || die + fi + +} + +multilib_src_compile() { + default + + if multilib_is_native_abi; then + # Shell completions + ! tc-is-cross-compiler && emake -C scripts + fi +} + +# There is also a pytest harness that tests for bugs in some very specific +# situations; we can rely on upstream for this rather than adding additional test deps. +multilib_src_test() { + # See https://github.com/curl/curl/blob/master/tests/runtests.pl#L5721 + # -n: no valgrind (unreliable in sandbox and doesn't work correctly on all arches) + # -v: verbose + # -a: keep going on failure (so we see everything that breaks, not just 1st test) + # -am: automake style TAP output + # -p: print logs if test fails + # --retry: retry any failing tests up to 3 times; this is a band-aid for timing-dependent flakiness. + # Note: if needed, we can skip specific tests. See e.g. Fedora's packaging + # or just read https://github.com/curl/curl/tree/master/tests#run. + # Note: we don't run the testsuite for cross-compilation. + # Upstream recommend 7*nproc as a starting point for parallel tests, but + # this ends up breaking when nproc is huge (like -j80). + # The network sandbox causes tests 241 and 1083 to fail; these are typically skipped + # as most gentoo users don't have an 'ip6-localhost' + multilib_is_native_abi && emake test TFLAGS="-n -v -a -am -p -j$((2*$(get_makeopts_jobs))) --retry=3 !241 !1083" + # TODO: enable python tests (make pytest). +} + +multilib_src_install() { + emake DESTDIR="${D}" install + + if multilib_is_native_abi; then + # Shell completions + ! tc-is-cross-compiler && emake -C scripts DESTDIR="${D}" install + fi +} + +multilib_src_install_all() { + einstalldocs + find "${ED}" -type f -name '*.la' -delete || die + + use static-libs && strip-lto-bytecode + + rm -rf "${ED}"/etc/ || die +} + +pkg_postinst() { + if use debug; then + ewarn "USE=debug has been selected, enabling debug codepaths and making cURL extra verbose." + ewarn "Use this _only_ for testing. Debug builds should _not_ be used in anger." + ewarn "hic sunt dracones; you have been warned." + fi +} diff --git a/sdk_container/src/third_party/portage-stable/net-misc/curl/curl-8.21.0.ebuild b/sdk_container/src/third_party/portage-stable/net-misc/curl/curl-8.21.0.ebuild index efbd86bb755..80eb857a98a 100644 --- a/sdk_container/src/third_party/portage-stable/net-misc/curl/curl-8.21.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/net-misc/curl/curl-8.21.0.ebuild @@ -22,7 +22,7 @@ else S="${WORKDIR}/${P//_/-}" else CURL_URI="https://curl.se/download/" - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris" + KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" fi SRC_URI=" ${CURL_URI}${P//_/-}.tar.xz From 47b1bcac6780e052c88187c30505e8ab4e256293 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 3 Aug 2026 08:18:30 +0000 Subject: [PATCH 120/195] net-misc/passt: Sync with Gentoo It's from Gentoo commit 11365dac5dbff82ca5c0350bad4fa3cf94eea393. Signed-off-by: Flatcar Buildbot --- .../src/third_party/portage-stable/net-misc/passt/Manifest | 4 ++-- .../{passt-2025.04.15.ebuild => passt-2026.07.16.ebuild} | 6 +++--- .../{passt-2025.06.11.ebuild => passt-2026.07.28.ebuild} | 6 +++--- .../portage-stable/net-misc/passt/passt-9999.ebuild | 4 ++-- 4 files changed, 10 insertions(+), 10 deletions(-) rename sdk_container/src/third_party/portage-stable/net-misc/passt/{passt-2025.04.15.ebuild => passt-2026.07.16.ebuild} (88%) rename sdk_container/src/third_party/portage-stable/net-misc/passt/{passt-2025.06.11.ebuild => passt-2026.07.28.ebuild} (88%) diff --git a/sdk_container/src/third_party/portage-stable/net-misc/passt/Manifest b/sdk_container/src/third_party/portage-stable/net-misc/passt/Manifest index 561998a376a..f121ea173db 100644 --- a/sdk_container/src/third_party/portage-stable/net-misc/passt/Manifest +++ b/sdk_container/src/third_party/portage-stable/net-misc/passt/Manifest @@ -1,4 +1,4 @@ -DIST passt-2025.04.15.tar.xz 260720 BLAKE2B 1c67a40f0633663118cafd5988e11594e54d815aeb7c2bc75b744b51666efc6ff8e8190ff3e0fac92f281b26832031d5dcba4aa8d52bc1cc915f80bec2ca70bb SHA512 3aebc7ebdc267c2c86c91703a7f07aea6248ed6a4ab43bf2589e24e5e4fdabcbfb9519f8afcd901a9183d4f2c577d8c1ea50076d0dc5dbb104c0f2793009c516 -DIST passt-2025.06.11.tar.xz 262312 BLAKE2B 76b834c0d1f7aedb5bc166e61ff9de8536f787b6447fb5ae0461ff5479d807e80a9da8fb9302771ca96aaa8799b09b60f88f6816d1aee0604678de9cff5c88ab SHA512 d8cd5668ded94d506a973f4e1e988d29b3eca0ffc26766de86d9dae7d37ace75d84606d1386b18b215371de4b6655b24d0b796433d2827f3f5997a65b0b08cdf DIST passt-2025.12.15.tar.xz 278312 BLAKE2B d681deb9107190b80e697ce813ad2c97c99c39d721e1f459f8687f5c024599bfb0b49d46b261cf8868c43a62f721638a219c236ef7d4c4debedb7728f4a389d6 SHA512 be34c6f88b7bbe1b051cd49b7577e1b9718913600061e01f9d3f623d19044707ece1c72800897dd1e07fbad21d970c2a89496ef99565f2a973a8aa5f75fb9711 DIST passt-2026.05.26.tar.xz 295340 BLAKE2B e35fa2eaec4e2419f957447fda86327987187a741720c606ebad69b3982d82c84144c32efee143bb022719d8e62b3656d30d6078737ce8561f306aabd348b0e1 SHA512 7600fb95eb4227ef86e873c9ae45769e4c0fdeda8553b4e29edb5cd65d8a826bce875118e025b4a27c5d12eb5b82a267ac5dd1ea73e651fbb0c8c0adfecca02f +DIST passt-2026.07.16.tar.xz 298216 BLAKE2B 99884c2df2425029362e12b7738e695c780b3eb351bed2a008f618325204e4776322434897d9a65ed99ad9229bfd8edaca026e573a28d708f43ac18b56400e98 SHA512 548d898484ee7d2b1835c019bef1e3fc1dc77a1debc279759da3ab666ebc111ee5790d66b1821a7671c1dbb7ab307cea258a187c6ea8878112fb1221a0bcb2dc +DIST passt-2026.07.28.tar.xz 295268 BLAKE2B bb4e3cded9d7baa771138c1b6eb41b3cfe73615ad379bca9c1f598657b68c1e3d1c1e1e0d50079ec85534f6a60bbe175e48dd6630f91d97bd973e8fed5680455 SHA512 b37c401f8b83ad57bd150668c5a685477b8d186e605cb5897a50a29e02009b87f0a955fa17bf60ccb94867e325d8ba310b3328d9c31f4f4a106230c6742b3921 diff --git a/sdk_container/src/third_party/portage-stable/net-misc/passt/passt-2025.04.15.ebuild b/sdk_container/src/third_party/portage-stable/net-misc/passt/passt-2026.07.16.ebuild similarity index 88% rename from sdk_container/src/third_party/portage-stable/net-misc/passt/passt-2025.04.15.ebuild rename to sdk_container/src/third_party/portage-stable/net-misc/passt/passt-2026.07.16.ebuild index 8f01e2ff051..291f018286c 100644 --- a/sdk_container/src/third_party/portage-stable/net-misc/passt/passt-2025.04.15.ebuild +++ b/sdk_container/src/third_party/portage-stable/net-misc/passt/passt-2026.07.16.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2025 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -8,7 +8,7 @@ inherit toolchain-funcs DESCRIPTION="User-mode networking daemons for VMs and namespaces, replacement for Slirp" HOMEPAGE="https://passt.top/" -RELEASE_COMMIT="2340bbf" +RELEASE_COMMIT="090d739" if [[ ${PV} == 9999* ]]; then inherit git-r3 @@ -16,7 +16,7 @@ if [[ ${PV} == 9999* ]]; then else SRC_URI="https://passt.top/passt/snapshot/passt-${RELEASE_COMMIT}.tar.xz -> ${P}.tar.xz" S="${WORKDIR}/${PN}-${RELEASE_COMMIT}" - KEYWORDS="amd64 arm64 ~loong ~riscv" + KEYWORDS="~amd64 ~arm64 ~loong ~riscv" fi LICENSE="BSD GPL-2+" diff --git a/sdk_container/src/third_party/portage-stable/net-misc/passt/passt-2025.06.11.ebuild b/sdk_container/src/third_party/portage-stable/net-misc/passt/passt-2026.07.28.ebuild similarity index 88% rename from sdk_container/src/third_party/portage-stable/net-misc/passt/passt-2025.06.11.ebuild rename to sdk_container/src/third_party/portage-stable/net-misc/passt/passt-2026.07.28.ebuild index 278b5c3a347..906cd98145c 100644 --- a/sdk_container/src/third_party/portage-stable/net-misc/passt/passt-2025.06.11.ebuild +++ b/sdk_container/src/third_party/portage-stable/net-misc/passt/passt-2026.07.28.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2025 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -8,7 +8,7 @@ inherit toolchain-funcs DESCRIPTION="User-mode networking daemons for VMs and namespaces, replacement for Slirp" HOMEPAGE="https://passt.top/" -RELEASE_COMMIT="0293c6f" +RELEASE_COMMIT="f8df3f1" if [[ ${PV} == 9999* ]]; then inherit git-r3 @@ -16,7 +16,7 @@ if [[ ${PV} == 9999* ]]; then else SRC_URI="https://passt.top/passt/snapshot/passt-${RELEASE_COMMIT}.tar.xz -> ${P}.tar.xz" S="${WORKDIR}/${PN}-${RELEASE_COMMIT}" - KEYWORDS="amd64 arm64 ~loong ~riscv" + KEYWORDS="~amd64 ~arm64 ~loong ~riscv" fi LICENSE="BSD GPL-2+" diff --git a/sdk_container/src/third_party/portage-stable/net-misc/passt/passt-9999.ebuild b/sdk_container/src/third_party/portage-stable/net-misc/passt/passt-9999.ebuild index a941cda9b26..906cd98145c 100644 --- a/sdk_container/src/third_party/portage-stable/net-misc/passt/passt-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/net-misc/passt/passt-9999.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2025 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -8,7 +8,7 @@ inherit toolchain-funcs DESCRIPTION="User-mode networking daemons for VMs and namespaces, replacement for Slirp" HOMEPAGE="https://passt.top/" -RELEASE_COMMIT="0293c6f" +RELEASE_COMMIT="f8df3f1" if [[ ${PV} == 9999* ]]; then inherit git-r3 From 8bcba181e17d4b151b831599df53a4fbf72e46c9 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 3 Aug 2026 08:18:30 +0000 Subject: [PATCH 121/195] net-misc/socat: Sync with Gentoo It's from Gentoo commit 4dcb0853cb1f174ca73214fa0eacd9cfe0a65129. Signed-off-by: Flatcar Buildbot --- .../portage-stable/net-misc/socat/socat-1.8.1.3.ebuild | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sdk_container/src/third_party/portage-stable/net-misc/socat/socat-1.8.1.3.ebuild b/sdk_container/src/third_party/portage-stable/net-misc/socat/socat-1.8.1.3.ebuild index 9d2e42d82cb..abb836e44ea 100644 --- a/sdk_container/src/third_party/portage-stable/net-misc/socat/socat-1.8.1.3.ebuild +++ b/sdk_container/src/third_party/portage-stable/net-misc/socat/socat-1.8.1.3.ebuild @@ -13,7 +13,7 @@ S="${WORKDIR}/${MY_P}" LICENSE="GPL-2" SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~x64-macos" IUSE="ipv6 readline ssl tcpd" # bug #946404 (and many others), whack-a-mole with timeouts and friends # Try again in the future. From cc1b740f49e007beb5623f2a495c434a256283fe Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 3 Aug 2026 08:18:35 +0000 Subject: [PATCH 122/195] profiles: Sync with Gentoo It's from Gentoo commit b3f332d754cace4cf9d4281ad01b5934228450b2. Signed-off-by: Flatcar Buildbot --- .../profiles/arch/alpha/package.use.mask | 4 + .../profiles/arch/alpha/use.mask | 8 +- .../profiles/arch/amd64/package.use.mask | 6 +- .../arch/amd64/package.use.stable.mask | 1 - .../profiles/arch/arm/package.mask | 4 + .../profiles/arch/arm/package.use.mask | 8 ++ .../profiles/arch/arm64/package.use.mask | 5 + .../profiles/arch/base/package.use.mask | 6 +- .../profiles/arch/hppa/use.mask | 4 + .../profiles/arch/hppa/use.stable.mask | 6 +- .../profiles/arch/loong/use.mask | 6 +- .../profiles/arch/m68k/use.mask | 1 - .../profiles/arch/mips/use.mask | 5 +- .../arch/powerpc/ppc32/package.use.mask | 4 + .../arch/powerpc/ppc64/64le/package.use.mask | 1 - .../ppc64/64le/package.use.stable.mask | 3 +- .../profiles/arch/ppc/package.mask | 6 + .../profiles/arch/ppc/package.use.mask | 12 ++ .../profiles/arch/s390/use.mask | 5 +- .../profiles/arch/sparc/package.use | 4 +- .../profiles/arch/sparc/package.use.mask | 4 + .../profiles/arch/sparc/use.mask | 1 - .../profiles/arch/x86/package.mask | 4 + .../profiles/arch/x86/package.use.mask | 5 + .../profiles/base/make.defaults | 2 +- .../profiles/base/package.use.force | 22 +++- .../profiles/base/package.use.mask | 35 ++--- .../profiles/base/package.use.stable.mask | 3 +- .../portage-stable/profiles/base/use.mask | 1 + .../profiles/default/hurd/package.use.mask | 5 + .../profiles/default/linux/package.use | 6 +- .../profiles/desc/llvm_slot.desc | 1 + .../profiles/embedded/make.defaults | 2 +- .../profiles/features/big-endian/package.mask | 9 ++ .../profiles/features/musl/package.mask | 1 + .../profiles/features/wd40/package.mask | 3 + .../profiles/features/wd40/package.use.mask | 7 + .../portage-stable/profiles/license_groups | 4 +- .../profiles/package.deprecated | 33 ++--- .../portage-stable/profiles/package.mask | 123 ++++++++++-------- .../profiles/targets/desktop/package.use | 8 +- .../targets/desktop/plasma/package.use | 3 - .../portage-stable/profiles/updates/2Q-2026 | 1 + 43 files changed, 253 insertions(+), 129 deletions(-) create mode 100644 sdk_container/src/third_party/portage-stable/profiles/arch/ppc/package.mask diff --git a/sdk_container/src/third_party/portage-stable/profiles/arch/alpha/package.use.mask b/sdk_container/src/third_party/portage-stable/profiles/arch/alpha/package.use.mask index 6270b49fc9a..54141e457fb 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/arch/alpha/package.use.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/arch/alpha/package.use.mask @@ -1,6 +1,10 @@ # Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 +# Nicolas PARLANT (2026-07-30) +# dev-python/qtpy is not keyworded here +media-libs/libffado gui + # Pacho Ramos (2026-07-05) # QT6 is not keyworded here, bug #977775 dev-libs/appstream test diff --git a/sdk_container/src/third_party/portage-stable/profiles/arch/alpha/use.mask b/sdk_container/src/third_party/portage-stable/profiles/arch/alpha/use.mask index a4dd509696d..5f7efffa357 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/arch/alpha/use.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/arch/alpha/use.mask @@ -4,6 +4,10 @@ # Unmask the flag which corresponds to ARCH. -alpha +# Michael Orlitzky (2026-07-14) +# dev-lang/php:8.5 needs new keywords, bug 977138. +php_targets_php8-5 + # Sam James (2025-01-09) # dev-db/mysql not keyworded here mysql @@ -75,10 +79,6 @@ lua_single_target_luajit lua_targets_luajit luajittex -# Tobias Klausmann (2016-06-07) -# We currently do not have the resources to AT qt5 packages. -qt5 - # This file masks out USE flags that are simply NOT allowed in the default # profile for any architecture. This works, for example, if a non-default # profile (such as the selinux profiles) have a USE flag associated with diff --git a/sdk_container/src/third_party/portage-stable/profiles/arch/amd64/package.use.mask b/sdk_container/src/third_party/portage-stable/profiles/arch/amd64/package.use.mask index a7ccd850a3a..1cad01f369c 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/arch/amd64/package.use.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/arch/amd64/package.use.mask @@ -17,6 +17,10 @@ #--- END OF EXAMPLES --- +# Sam James (2026-07-22) +# media-libs/libmysofa is keyworded here +media-video/pipewire -sofa + # Alfredo Tupone (2026-05-18) # Unmask on specific arches where it's available. media-video/obs-studio -mpegts @@ -191,6 +195,7 @@ media-gfx/blender -gnome -renderdoc dev-qt/qtdeclarative:6 -qmlls dev-qt/qttools:6 -qmlls dev-python/pyside -tools +dev-python/pyqtgraph -pyside6 # Nowa Ammerlaan (2024-03-17) # virt-firmware is keyworded here @@ -439,7 +444,6 @@ mail-client/claws-mail -litehtml # Georgy Yakovlev (2019-06-22) # openjfx is keyworded on amd64 -dev-java/openjdk:8 -javafx dev-java/openjdk:11 -javafx # Matt Turner (2019-06-20) diff --git a/sdk_container/src/third_party/portage-stable/profiles/arch/amd64/package.use.stable.mask b/sdk_container/src/third_party/portage-stable/profiles/arch/amd64/package.use.stable.mask index 3e61bee5552..b9b6a090c28 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/arch/amd64/package.use.stable.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/arch/amd64/package.use.stable.mask @@ -101,7 +101,6 @@ dev-util/diffoscope haskell # Georgy Yakovlev (2021-05-07) # openjfx:8 will never be stabilized # openjfx:11 probably will neither -dev-java/openjdk:8 javafx dev-java/openjdk:11 javafx # Thomas Deutschmann (2020-09-07) diff --git a/sdk_container/src/third_party/portage-stable/profiles/arch/arm/package.mask b/sdk_container/src/third_party/portage-stable/profiles/arch/arm/package.mask index 354bd10d41b..6d3dae24437 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/arch/arm/package.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/arch/arm/package.mask @@ -1,6 +1,10 @@ # Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 +# Alexey Sokolov (2026-05-05) +# New versions dropped support for 32 bits. Bug #973312 +dev-cpp/cpp-httplib + # Sam James (2020-06-24) # Valgrind lacks support for < ARMv7 # https://valgrind.org/info/platforms.html diff --git a/sdk_container/src/third_party/portage-stable/profiles/arch/arm/package.use.mask b/sdk_container/src/third_party/portage-stable/profiles/arch/arm/package.use.mask index e63a6361661..c800f9cb5e7 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/arch/arm/package.use.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/arch/arm/package.use.mask @@ -1,10 +1,18 @@ # Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 +# Alfred Wingate (2026-07-26) +# Firefox not keyworded here +dev-util/selenium-manager test + # Rick Farina (2026-06-13) # net-wireless/rtl_433 and deps are not keyworded here net-wireless/kismet rtlsdr +# Alexey Sokolov (2026-06-04) +# New versions of dev-cpp/cpp-httplib dropped support for 32 bits. Bug #973312 +dev-util/ccache http + # Alfred Wingate (2026-05-13) # dev-qt/qtgraphs:6 is not keyworded here dev-python/pyside graphs diff --git a/sdk_container/src/third_party/portage-stable/profiles/arch/arm64/package.use.mask b/sdk_container/src/third_party/portage-stable/profiles/arch/arm64/package.use.mask index f2b8fdde554..afd15fd2441 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/arch/arm64/package.use.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/arch/arm64/package.use.mask @@ -1,6 +1,10 @@ # Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 +# Alfredo Tupone (2026-07-09) +# dependencies not arm64 ready +sci-ml/ggml rocm + # Andreas K. HĂŒttel (2026-07-06) # Dependencies still need keywording and are ISA-sensitive mail-filter/rspamd hyperscan @@ -80,6 +84,7 @@ sci-libs/flexiblas -blis -openblas dev-qt/qtdeclarative:6 -qmlls dev-qt/qttools:6 -qmlls dev-python/pyside -tools +dev-python/pyqtgraph -pyside6 # Alfred Wingate (2025-06-10) # Upstream supports arm64 diff --git a/sdk_container/src/third_party/portage-stable/profiles/arch/base/package.use.mask b/sdk_container/src/third_party/portage-stable/profiles/arch/base/package.use.mask index 7f930349575..621aa956ec8 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/arch/base/package.use.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/arch/base/package.use.mask @@ -1,6 +1,10 @@ # Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 +# Sam James (2026-07-22) +# media-libs/libmysofa not keyworded in most places +media-video/pipewire sofa + # MichaƂ GĂłrny (2026-03-14) # SPIRV target requires dev-libs/level-zero. llvm-runtimes/offload llvm_targets_SPIRV @@ -163,6 +167,7 @@ media-gfx/blender gnome renderdoc dev-qt/qtdeclarative:6 qmlls dev-qt/qttools:6 qmlls dev-python/pyside tools +dev-python/pyqtgraph pyside6 # Mike Gilbert (2024-04-13) # Missing keywords on dev-python/looseversion. @@ -394,7 +399,6 @@ dev-lang/rust-bin doc # Georgy Yakovlev (2019-06-22) # mask here and unmask in profiles for specific arches -dev-java/openjdk:8 javafx dev-java/openjdk:11 javafx # Matt Turner (2019-06-20) diff --git a/sdk_container/src/third_party/portage-stable/profiles/arch/hppa/use.mask b/sdk_container/src/third_party/portage-stable/profiles/arch/hppa/use.mask index f7d17d08557..2c648e15c0c 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/arch/hppa/use.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/arch/hppa/use.mask @@ -7,6 +7,10 @@ # NOTE: When masking a USE flag due to missing keywords, please file a keyword # request bug for the hppa arch. +# Michael Orlitzky (2026-07-14) +# dev-lang/php:8.5 needs new keywords, bug 977138. +php_targets_php8-5 + # Andreas Sturmlechner (2025-06-12) # x11-drivers/xf86-input-wacom is not keyworded here input_devices_wacom diff --git a/sdk_container/src/third_party/portage-stable/profiles/arch/hppa/use.stable.mask b/sdk_container/src/third_party/portage-stable/profiles/arch/hppa/use.stable.mask index a9604f4d14b..c78e6053f16 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/arch/hppa/use.stable.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/arch/hppa/use.stable.mask @@ -1,4 +1,4 @@ -# Copyright 1999-2025 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 # @@ -137,7 +137,3 @@ openal # Matt Turner (2018-04-22) # media-gfx/gimp is ~hppa only gimp - -# Andreas Sturmlechner (2017-10-29) -# Mask qt5 for stabilisation timeout, bug #620334 -qt5 diff --git a/sdk_container/src/third_party/portage-stable/profiles/arch/loong/use.mask b/sdk_container/src/third_party/portage-stable/profiles/arch/loong/use.mask index b616cf25ff8..a91f14c78cc 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/arch/loong/use.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/arch/loong/use.mask @@ -1,6 +1,10 @@ -# Copyright 2022-2025 Gentoo Authors +# Copyright 2022-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 +# Michael Orlitzky (2026-07-14) +# dev-lang/php:8.5 needs new keywords, bug 977138. +php_targets_php8-5 + # WANG Xuerui (2025-01-24) # dev-util/sysprof-capture is keyworded on loong -sysprof diff --git a/sdk_container/src/third_party/portage-stable/profiles/arch/m68k/use.mask b/sdk_container/src/third_party/portage-stable/profiles/arch/m68k/use.mask index cd9b83e68e2..70bacbc36a3 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/arch/m68k/use.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/arch/m68k/use.mask @@ -90,7 +90,6 @@ ruby # James Le Cuirot (2021-08-20) # Qt is not keyworded or tested. -qt5 qt6 # Sergei Trofimovich (2020-04-23) diff --git a/sdk_container/src/third_party/portage-stable/profiles/arch/mips/use.mask b/sdk_container/src/third_party/portage-stable/profiles/arch/mips/use.mask index cc67acc3a1e..d3f738e4bd6 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/arch/mips/use.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/arch/mips/use.mask @@ -1,6 +1,10 @@ # Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 +# Michael Orlitzky (2026-07-14) +# dev-lang/php:8.5 needs new keywords, bug 977138. +php_targets_php8-5 + # Arthur Zamarin (2024-08-26) # media-libs/libheif is not keyworded here heif @@ -263,5 +267,4 @@ opencl # Ben de Groot (2015-02-01) # please remove when keyworded -qt5 qt6 diff --git a/sdk_container/src/third_party/portage-stable/profiles/arch/powerpc/ppc32/package.use.mask b/sdk_container/src/third_party/portage-stable/profiles/arch/powerpc/ppc32/package.use.mask index 008db5e2bd3..858a4126003 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/arch/powerpc/ppc32/package.use.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/arch/powerpc/ppc32/package.use.mask @@ -1,6 +1,10 @@ # Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 +# Alfred Wingate (2026-07-26) +# Firefox not keyworded here +dev-util/selenium-manager test + # Ionen Wolkens (2026-05-31) # dev-qt/qtmultimedia:6 was dekeyworded due to notable test failures # which stalled stabilizations (bug #973096) and there is low interest diff --git a/sdk_container/src/third_party/portage-stable/profiles/arch/powerpc/ppc64/64le/package.use.mask b/sdk_container/src/third_party/portage-stable/profiles/arch/powerpc/ppc64/64le/package.use.mask index 4c156bd55b7..caeeed7de46 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/arch/powerpc/ppc64/64le/package.use.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/arch/powerpc/ppc64/64le/package.use.mask @@ -27,7 +27,6 @@ app-containers/crun -criu # Georgy Yakovlev (2020-09-19) # openjfx is keyworded on ppc64le -dev-java/openjdk:8 -javafx dev-java/openjdk:11 -javafx # Georgy Yakovlev (2020-05-03) diff --git a/sdk_container/src/third_party/portage-stable/profiles/arch/powerpc/ppc64/64le/package.use.stable.mask b/sdk_container/src/third_party/portage-stable/profiles/arch/powerpc/ppc64/64le/package.use.stable.mask index e46a855244d..593e331a500 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/arch/powerpc/ppc64/64le/package.use.stable.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/arch/powerpc/ppc64/64le/package.use.stable.mask @@ -1,4 +1,4 @@ -# Copyright 2019-2021 Gentoo Authors +# Copyright 2019-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 # Ionen Wolkens (2026-04-16) @@ -10,5 +10,4 @@ media-video/ffmpeg opencolorio # Georgy Yakovlev (2021-05-07) # openjfx:8 will never be stabilized # openjfx:11 probably will neither -dev-java/openjdk:8 javafx dev-java/openjdk:11 javafx diff --git a/sdk_container/src/third_party/portage-stable/profiles/arch/ppc/package.mask b/sdk_container/src/third_party/portage-stable/profiles/arch/ppc/package.mask new file mode 100644 index 00000000000..2a58322e09d --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/profiles/arch/ppc/package.mask @@ -0,0 +1,6 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# Alexey Sokolov (2026-05-05) +# New versions dropped support for 32 bits. Bug #973312 +dev-cpp/cpp-httplib diff --git a/sdk_container/src/third_party/portage-stable/profiles/arch/ppc/package.use.mask b/sdk_container/src/third_party/portage-stable/profiles/arch/ppc/package.use.mask index da965664597..5aaf89853a5 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/arch/ppc/package.use.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/arch/ppc/package.use.mask @@ -1,10 +1,18 @@ # Copyright 2023-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 +# Nicolas PARLANT (2026-07-30) +# dev-python/qtpy is not keyworded here +media-libs/libffado gui + # Rick Farina (2026-06-13) # net-wireless/rtl_433 and deps are not keyworded here net-wireless/kismet rtlsdr +# Alexey Sokolov (2026-06-04) +# New versions of dev-cpp/cpp-httplib dropped support for 32 bits. Bug #973312 +dev-util/ccache http + # Brett A C Sheffield (2026-04-22) # virtual/pandoc is not keyworded here >=dev-libs/xmlsec-1.3.11 doc @@ -37,6 +45,10 @@ net-wireless/kismet mqtt # Needs gui-apps/grim, which is not keyworded here x11-misc/xscreensaver wayland +# Dawid Rogowicz (2026-07-16) +# Needs dev-libs/plasma-wayland-protocols, which is not keyworded here +app-i18n/fcitx wayland + # NRK (2025-05-18) # app-arch/plzip is not keyworded app-alternatives/lzip plzip diff --git a/sdk_container/src/third_party/portage-stable/profiles/arch/s390/use.mask b/sdk_container/src/third_party/portage-stable/profiles/arch/s390/use.mask index 8e8567e9c25..b12ac406ab0 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/arch/s390/use.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/arch/s390/use.mask @@ -4,6 +4,10 @@ # Unmask the flag which corresponds to ARCH. -s390 +# Michael Orlitzky (2026-07-14) +# dev-lang/php:8.5 needs new keywords, bug 977138. +php_targets_php8-5 + # Ian Jordan (2025-04-13) # sys-kernel/ugrd is not keyworded here. ugrd @@ -100,7 +104,6 @@ lirc llvm java hardened -qt5 qt6 # Needs java diff --git a/sdk_container/src/third_party/portage-stable/profiles/arch/sparc/package.use b/sdk_container/src/third_party/portage-stable/profiles/arch/sparc/package.use index cf077457aa6..67e015251ca 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/arch/sparc/package.use +++ b/sdk_container/src/third_party/portage-stable/profiles/arch/sparc/package.use @@ -1,8 +1,8 @@ -# Copyright 1999-2025 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 # Andreas Sturmlechner (2025-04-28) -# Sensical or not, both alternatives (qt5, qt6) are masked here. +# Sensical or not, the only alternative (qt6) is masked here. x11-themes/qtcurve gtk X # MichaƂ GĂłrny (2016-09-24) diff --git a/sdk_container/src/third_party/portage-stable/profiles/arch/sparc/package.use.mask b/sdk_container/src/third_party/portage-stable/profiles/arch/sparc/package.use.mask index 3826649d0d2..8338fb89558 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/arch/sparc/package.use.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/arch/sparc/package.use.mask @@ -1,6 +1,10 @@ # Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 +# Alfred Wingate (2026-07-26) +# Firefox not keyworded here +dev-util/selenium-manager test + # Pacho Ramos (2026-07-05) # QT6 is not keyworded here, bug #977775 dev-libs/appstream test diff --git a/sdk_container/src/third_party/portage-stable/profiles/arch/sparc/use.mask b/sdk_container/src/third_party/portage-stable/profiles/arch/sparc/use.mask index 910d3716b86..a3bd8a7fa3b 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/arch/sparc/use.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/arch/sparc/use.mask @@ -20,7 +20,6 @@ memcached # Ionen Wolkens (2024-01-27) # dev-qt/* is not keyworded here, and is mostly known buggy so that is # unlikely to change without real interest (e.g. bug #914033, #916867). -qt5 qt6 # matoro (2023-06-17) diff --git a/sdk_container/src/third_party/portage-stable/profiles/arch/x86/package.mask b/sdk_container/src/third_party/portage-stable/profiles/arch/x86/package.mask index 4f5e9372587..cdcf36411eb 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/arch/x86/package.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/arch/x86/package.mask @@ -1,6 +1,10 @@ # Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 +# Alexey Sokolov (2026-05-05) +# New versions dropped support for 32 bits. Bug #973312 +dev-cpp/cpp-httplib + # Joshua Kinard (2024-02-27) # app-arch/lrzip-next does not support 32-bit arches (#925548) app-arch/lrzip-next diff --git a/sdk_container/src/third_party/portage-stable/profiles/arch/x86/package.use.mask b/sdk_container/src/third_party/portage-stable/profiles/arch/x86/package.use.mask index 73e1ee3104b..5d75f0160cc 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/arch/x86/package.use.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/arch/x86/package.use.mask @@ -1,6 +1,11 @@ # Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 +# Alexey Sokolov (2026-07-07) +# New versions of dev-cpp/cpp-httplib dropped support for 32 bits. Bug #973312 +dev-util/ccache http +sci-astronomy/stellarium telescope + # Brett A C Sheffield (2026-06-23) # virtual/pandoc deps are not keyworded here >=dev-libs/xmlsec-1.3.11 doc diff --git a/sdk_container/src/third_party/portage-stable/profiles/base/make.defaults b/sdk_container/src/third_party/portage-stable/profiles/base/make.defaults index 716424f8e7b..e378a0d5f3d 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/base/make.defaults +++ b/sdk_container/src/third_party/portage-stable/profiles/base/make.defaults @@ -140,7 +140,7 @@ UNINSTALL_IGNORE="/boot/dtbs/* /lib/modules/* /var/run /var/lock" # Andreas K. HĂŒttel (2013-08-23) # Make emerge messages default to English as per Council decision -LC_MESSAGES="C" +LC_MESSAGES="C.UTF-8" # Brian Dolbec (2017-06-16) # disable twisted's plugin cache update to prevent access violations diff --git a/sdk_container/src/third_party/portage-stable/profiles/base/package.use.force b/sdk_container/src/third_party/portage-stable/profiles/base/package.use.force index 8ff0553032d..01dd08c6245 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/base/package.use.force +++ b/sdk_container/src/third_party/portage-stable/profiles/base/package.use.force @@ -1,6 +1,13 @@ # Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 +# Sam James (2026-07-16) +# Fails to build GCC otherwise: +# https://lists.gnu.org/archive/html/bug-gawk/2026-07/msg00026.html +# https://lists.gnu.org/archive/html/bug-gawk/2026-07/msg00013.html +# A fix is available but the git repo isn't synced properly right now. +=sys-apps/gawk-5.4.1 mpfr + # Conrad Kostecki (2026-06-27) # We need to force GCC for older releases, which is needed # for dev-util/intel-graphics-compiler in the end, as long @@ -9,8 +16,8 @@ # Michael Orlitzky (2026-04-15) # The non-jumbo build failures are back in 2.52.x. -=net-libs/webkit-gtk-2.52.3-r410 jumbo-build -=net-libs/webkit-gtk-2.52.3-r600 jumbo-build +>=net-libs/webkit-gtk-2.52.3-r410 jumbo-build +>=net-libs/webkit-gtk-2.52.3-r600 jumbo-build # Andreas Sturmlechner (2026-02-12) # Fails to build without. Bug #968803 @@ -94,6 +101,12 @@ llvm-runtimes/libcxxabi clang # echo "dev-lang/rust:${slot} llvm_slot_${_RUST_LLVM_MAP[${slot}]}" # echo "dev-lang/rust-bin:${slot} llvm_slot_${_RUST_LLVM_MAP[${slot}]}" # done +dev-lang/rust:1.97.1 llvm_slot_22 +dev-lang/rust-bin:1.97.1 llvm_slot_22 +dev-lang/rust:1.96.1 llvm_slot_22 +dev-lang/rust-bin:1.96.1 llvm_slot_22 +dev-lang/rust:1.95.0 llvm_slot_22 +dev-lang/rust-bin:1.95.0 llvm_slot_22 dev-lang/rust:1.94.0 llvm_slot_21 dev-lang/rust-bin:1.94.0 llvm_slot_21 dev-lang/rust:1.93.1 llvm_slot_21 @@ -194,11 +207,6 @@ games-engines/openmw lua_single_target_luajit # [1] https://github.com/mpv-player/mpv/wiki/FAQ#why-does-mpv-not-support-lua-53-or-newer media-video/mpv lua_single_target_luajit -# Andreas K. HĂŒttel (2023-07-08) -# Uses attr even if disabling is requested, bug 910070 -# Workaround that should fix some stage builds ->=sys-devel/gettext-0.22-r1 xattr - # Patrick McLean (2022-06-27) # Doesn't build with boost installed on the system, some deps require boost # so force the flag on until problem fixed upstream diff --git a/sdk_container/src/third_party/portage-stable/profiles/base/package.use.mask b/sdk_container/src/third_party/portage-stable/profiles/base/package.use.mask index 7a82cab69f1..0dd4428ca6b 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/base/package.use.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/base/package.use.mask @@ -6,6 +6,14 @@ # New entries go on top. +# Emi (2026-07-30) +# Turnstile is currently in ::guru +sys-auth/pambase turnstile + +# Michael Orlitzky (2026-07-17) +# Broke upstream, not an easy fix, bug 978718. +>=net-analyzer/monitoring-plugins-3.0.1 snmp + # MichaƂ GĂłrny (2026-07-02) # Unsurpringly upstream doesn't support custom slotted Gentoo install. dev-libs/libevent mbedtls @@ -41,12 +49,11 @@ dev-cpp/eigen:3/3.4 test ~sci-libs/adolc-9999 -mpi # Andreas Sturmlechner (2026-05-15) -# Various integration packages. Preparing Qt5 last-rites. -# Removal some time after 2026-05-30. -app-i18n/fcitx-qt qt5 -app-i18n/uim qt5 -x11-themes/QGnomePlatform qt5 -x11-themes/adwaita-qt qt5 +# Various integration packages. Maintainers, you must drop Qt5 support. +<=app-i18n/fcitx-qt-5.1.14-r0 qt5 +<=app-i18n/uim-1.9.6-r0 qt5 +<=x11-themes/QGnomePlatform-0.9.2-r7 qt5 +<=x11-themes/adwaita-qt-1.4.2-r1 qt5 # MichaƂ GĂłrny (2026-05-07) # Force-enable all PYTHON_TARGETS for python-exec to avoid using private @@ -62,7 +69,7 @@ dev-lang/python-exec -python_targets_python3_15t # Andreas Sturmlechner (2026-04-12) # net-wireless/gnuradio and dependencies. Preparing Qt5 last-rites. # Bugs #948049, #954887. Removal some time after 2026-04-30. -dev-python/pyqtgraph qt5 +<=dev-python/pyqtgraph-0.14.0-r0 qt5 net-wireless/gnuradio qt5 <=net-wireless/gnuradio-3.10.99 channels @@ -103,11 +110,6 @@ sci-physics/bullet test # forcibly resets the compiler to gcc. sys-libs/glibc clang -# Volkmar W. Pogatzki (2026-01-07) -# openjfx for OpenJDK 26 and 27 is not yet available. -dev-java/openjdk:26 javafx -dev-java/openjdk:27 javafx - # Paul Zander (2025-12-27) # breaks with old in-tree sys-cluster/ampi bug #586746 #830093 #815007 sci-libs/adolc mpi @@ -265,10 +267,6 @@ sci-libs/symengine boost # Currently experimental features do not compile. app-emulation/pcem experimental -# Volkmar W. Pogatzki (2024-12-29) -# openjfx for OpenJDK 25 is not yet available. -dev-java/openjdk:25 javafx - # Paul Zander (2024-12-16) # sci-libs/atlas requires you to disable frequency scaling to build. # This barely works on older Intel CPUs on good days. @@ -673,11 +671,6 @@ media-video/mjpg-streamer http-management # updated dev-java/pdfbox-2.0.24, Bug #803488 app-text/texlive pdfannotextractor -# Georgy Yakovlev (2021-10-16) -# openjfx for OpenJDK 17 and 21 is not yet available. -dev-java/openjdk:17 javafx -dev-java/openjdk:21 javafx - # Marek Szuba (2021-10-10) # Legacy interface that depends on dev-libs/libx86 and specific kernel # headers, both of which are only available on certain arches. diff --git a/sdk_container/src/third_party/portage-stable/profiles/base/package.use.stable.mask b/sdk_container/src/third_party/portage-stable/profiles/base/package.use.stable.mask index b385fc8160d..9b44fb36672 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/base/package.use.stable.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/base/package.use.stable.mask @@ -42,7 +42,8 @@ app-arch/mt-st test >=dev-java/protobuf-java-4.28.3 system-protoc # Joonas Niilola (2023-07-14) -# Calendar is broken with some languages on 115.0 release with =icu-74. +# https://unicode-org.atlassian.net/browse/ICU-22132 # Bug #910229, #920713 >=mail-client/thunderbird-115.0 system-icu diff --git a/sdk_container/src/third_party/portage-stable/profiles/base/use.mask b/sdk_container/src/third_party/portage-stable/profiles/base/use.mask index c95e0d57f08..6a8aebaf2d7 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/base/use.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/base/use.mask @@ -13,6 +13,7 @@ python_single_target_python3_15t # MichaƂ GĂłrny (2026-04-18) # LLVM slots with no keyworded releases yet. +llvm_slot_24 llvm_slot_23 # Sam James (2025-12-02) diff --git a/sdk_container/src/third_party/portage-stable/profiles/default/hurd/package.use.mask b/sdk_container/src/third_party/portage-stable/profiles/default/hurd/package.use.mask index cc66e0f881a..f8d5b68f10c 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/default/hurd/package.use.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/default/hurd/package.use.mask @@ -1,6 +1,11 @@ # Copyright 2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 +# Emi (2026-07-30) +# Turnstile is only being tested on Linux +# running it on different kernels is likely to cause issues +sys-auth/pambase turnstile + # Sam James (2026-03-10) # Fails to link net-libs/gnutls post-quantum diff --git a/sdk_container/src/third_party/portage-stable/profiles/default/linux/package.use b/sdk_container/src/third_party/portage-stable/profiles/default/linux/package.use index ac90b1fc568..301ecfdc6dc 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/default/linux/package.use +++ b/sdk_container/src/third_party/portage-stable/profiles/default/linux/package.use @@ -1,6 +1,10 @@ -# Copyright 1999-2023 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 +# Christian Ruppert (2026-07-10) +# Make SLZ default, disable zlib, for better performance, ratio and security +net-proxy/haproxy -zlib + # Mike Gilbert (2017-10-29) # Override default from make.defaults, bug 635822. net-libs/mbedtls -zlib diff --git a/sdk_container/src/third_party/portage-stable/profiles/desc/llvm_slot.desc b/sdk_container/src/third_party/portage-stable/profiles/desc/llvm_slot.desc index 9a8a2a20b35..338c92b8111 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/desc/llvm_slot.desc +++ b/sdk_container/src/third_party/portage-stable/profiles/desc/llvm_slot.desc @@ -9,3 +9,4 @@ 21 - Use LLVM 21. 22 - Use LLVM 22. 23 - Use LLVM 23. +24 - Use LLVM 24. diff --git a/sdk_container/src/third_party/portage-stable/profiles/embedded/make.defaults b/sdk_container/src/third_party/portage-stable/profiles/embedded/make.defaults index 3a93ab4c034..c4403fb78c7 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/embedded/make.defaults +++ b/sdk_container/src/third_party/portage-stable/profiles/embedded/make.defaults @@ -78,7 +78,7 @@ PYTHONDONTWRITEBYTECODE="1" # Andreas K. HĂŒttel (2013-08-23) # Make emerge messages default to English as per Council decision -LC_MESSAGES="C" +LC_MESSAGES="C.UTF-8" # Brian Dolbec (2017-06-16) # disable twisted's plugin cache update to prevent access violations diff --git a/sdk_container/src/third_party/portage-stable/profiles/features/big-endian/package.mask b/sdk_container/src/third_party/portage-stable/profiles/features/big-endian/package.mask index 9f47fed6a11..d4ea5c089f4 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/features/big-endian/package.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/features/big-endian/package.mask @@ -1,6 +1,15 @@ # Copyright 2023-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 +# James Le Cuirot (2026-07-30) +# UT2004 is supported on ppc64le but not ppc64be. I doubt we'll ever see this on +# any other big endian platform. +games-fps/ut2004 +games-fps/ut2004-bonuspack-cbp1 +games-fps/ut2004-bonuspack-cbp2 +games-fps/ut2004-bonuspack-xp +games-fps/ut2004-data + # Eli Schwartz (2026-05-04) # Tests fail on ppc64, pass on ppc64le. Bug #952112. media-libs/libyuv diff --git a/sdk_container/src/third_party/portage-stable/profiles/features/musl/package.mask b/sdk_container/src/third_party/portage-stable/profiles/features/musl/package.mask index 49e5e29ae96..19dbee56284 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/features/musl/package.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/features/musl/package.mask @@ -346,6 +346,7 @@ games-fps/ut2004-bonuspack-cbp1 games-fps/ut2004-bonuspack-cbp2 games-fps/ut2004-bonuspack-ece games-fps/ut2004-bonuspack-mega +games-fps/ut2004-bonuspack-xp games-fps/ut2004-data games-fps/ut2004-demo games-puzzle/world-of-goo-demo diff --git a/sdk_container/src/third_party/portage-stable/profiles/features/wd40/package.mask b/sdk_container/src/third_party/portage-stable/profiles/features/wd40/package.mask index 99364b9f791..cf618a67f27 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/features/wd40/package.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/features/wd40/package.mask @@ -387,9 +387,11 @@ dev-python/aiohttp-oauthlib dev-python/autobahn dev-python/aws-sam-translator >=dev-python/bcrypt-4 +dev-python/cachebox dev-python/cfn-lint >=dev-python/cryptography-36 dev-python/aioquic +dev-python/apispec dev-python/apprise dev-python/bitstring dev-python/cramjam @@ -450,6 +452,7 @@ dev-python/pytest-trio dev-python/python-glanceclient dev-python/python-ironicclient dev-python/python-jose +dev-python/python-manilaclient dev-python/python-neutronclient dev-python/python-openstackclient dev-python/python-snappy diff --git a/sdk_container/src/third_party/portage-stable/profiles/features/wd40/package.use.mask b/sdk_container/src/third_party/portage-stable/profiles/features/wd40/package.use.mask index 400ff160e2c..834746e9c57 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/features/wd40/package.use.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/features/wd40/package.use.mask @@ -1,6 +1,11 @@ # Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 +# Eli Schwartz (2026-07-07) +# Requires >= on gtk/libadwaita, which is masked for librsvg +# reasons. +>=dev-util/sysprof-50.0 gtk + # Andreas Sturmlechner (2026-06-08) # Requires dev-build/corrosion, iow rust/cargo. kde-plasma/kdeplasma-addons led @@ -124,12 +129,14 @@ sys-kernel/installkernel efistub # Need dev-python/jsonschema (or its revdeps). dev-python/botocore test dev-python/ipython nbconvert test +dev-python/opentelemetry-sdk test dev-python/sphinx-autodoc-typehints test >=sci-libs/gdal-3.11.3 python # MichaƂ GĂłrny (2024-02-01) # Need dev-python/trio. >=dev-python/urllib3-2.2.0 test +>=dev-python/websockets-17.0 test # Takuya Wakazono (2023-11-21) # Need app-crypt/rpm-sequoia. diff --git a/sdk_container/src/third_party/portage-stable/profiles/license_groups b/sdk_container/src/third_party/portage-stable/profiles/license_groups index 96027dfc6bd..9b7e9bd7733 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/license_groups +++ b/sdk_container/src/third_party/portage-stable/profiles/license_groups @@ -34,7 +34,7 @@ OSI-APPROVED-FREE 0BSD AFL-3.0 AGPL-3 AGPL-3+ Apache-1.1 Apache-2.0 APL-1.0 APSL # Licenses in this list should NOT appear directly or indirectly in # @FSF-APPROVED or @OSI-APPROVED. # Note: Licenses for fonts should be included in @MISC-FREE-DOCS. -MISC-FREE AIFFWriter.m Allegro alternate AMPAS Base64 BEER-WARE boehm-gc BSD-2-with-patent BSD-with-attribution BSD-with-disclosure buddy bufexplorer.vim BZIP2 CAOSL CDDL-1.1 CDDL-Schily coldspringharbor CPL-0.5 Crypt-IDEA curl DES docbook dom4j DUMB-0.9.3 ElementTree Emacs ErlPL-1.1 FastCGI feh FFT2D File-MMagic Flashpix FLEX flexmock FLTK freetts FSFUL FVWM gd gsm HTML-Tidy iASL icu IDPL imagemagick Info-ZIP inner-net ipadic Ispell JasPer2.0 JDOM JOVE Khronos-CLHPP LambdaMOO LIBGLOSS libmng libpng libpng2 libtiff LLGPL-2.1 LPPL-1.0 LPPL-1.3 lsof matplotlib Mini-XML minpack MIT-with-advertising mm mpich2 NCSA-HDF netcat NEWLIB ngrep NOLIMIT NPSL-0.95 Old-MIT openafs-krb5-a Openwall otter par PCRE perforce photopc PHP-2.02 pngcrush pngnq Princeton psutils rc regexp-UofT repoze RSA RtMidi rwpng sash scanlogd sdlsasteroids Sendmail Sendmail-Open-Source SMAIL Snd Spencer-99 SSLeay SunSoft symlinks Sympow-BSD tcltk tcp_wrappers_license TeX TeX-other-free TextMate-bundle the-Click-license Time-Format Time-modules tm-align torque-2.5 Toyoda trio UCAR-Unidata unicode VTK w3m wm2 xbatt xboing XC Xdebug xtrs ZSH +MISC-FREE AIFFWriter.m Allegro alternate AMPAS Base64 BEER-WARE boehm-gc BSD-2-with-patent BSD-with-attribution BSD-with-disclosure buddy bufexplorer.vim BZIP2 CAOSL CDDL-1.1 CDDL-Schily coldspringharbor CPL-0.5 Crypt-IDEA curl DES docbook dom4j DUMB-0.9.3 ElementTree Emacs ErlPL-1.1 FastCGI feh FFT2D File-MMagic Flashpix FLEX flexmock FLTK freetts FSFUL FVWM gd gsm HTML-Tidy iASL icu IDPL imagemagick Info-ZIP inner-net ipadic Ispell JasPer2.0 JDOM JOVE Khronos-CLHPP LambdaMOO LIBGLOSS libmng libpng libpng2 libtiff LLGPL-2.1 LPPL-1.0 LPPL-1.1 LPPL-1.3 LPPL-1.3b lsof matplotlib Mini-XML minpack MIT-with-advertising mm mpich2 NCSA-HDF netcat NEWLIB ngrep NOLIMIT NPSL-0.95 Old-MIT openafs-krb5-a Openwall otter par PCRE perforce photopc PHP-2.02 pngcrush pngnq Princeton psutils rc regexp-UofT repoze RSA RtMidi rwpng sash scanlogd sdlsasteroids Sendmail Sendmail-Open-Source SMAIL Snd Spencer-99 SSLeay SunSoft symlinks Sympow-BSD tcltk tcp_wrappers_license TeX TeX-other-free TextMate-bundle the-Click-license Time-Format Time-modules tm-align torque-2.5 Toyoda trio UCAR-Unidata unicode VTK w3m wm2 xbatt xboing XC Xdebug xtrs ZSH # Metaset for all free software FREE-SOFTWARE @FSF-APPROVED @OSI-APPROVED-FREE @MISC-FREE @@ -81,7 +81,7 @@ OSI-APPROVED @OSI-APPROVED-FREE @OSI-APPROVED-NONFREE # License agreements that try to take away your rights. These are more # restrictive than "all-rights-reserved" or require explicit approval. -EULA 2dboy-EULA AMD-GPU-PRO-EULA android AnyDesk-TOS Aseprite-EULA baudline bestcrypt Broadcom-tod CAPYBARA-EULA Dell-EULA Digium ETQW f.lux FAH-EULA-2014 Flightradar24 FNMT-RCM Gameplay-Group-EULA geekbench genymotion GIMPS GOG-EULA google-chrome Intel-SDP Introversion JoyPixels LOKI-EULA MakeMKV-EULA Microsemi microsoft-edge microsoft-proprietary Microsoft-vscode MikroTik Mojang MTA-0.5 NVIDIA-CUDA NVIDIA-cuSPARSELt-v2020.10.12 NVIDIA-SDK NVIDIA-SDK-v2017.06.13 NVIDIA-SDK-v2020.10.12 Ookla OPERA-2018 OPERA-2020 PAPERS-PLEASE PassMark-EULA PICO-8 Primate-Plunge PUEL-11 PUEL-12 Q3AEULA-20000111 QUAKE4 RAR sfpg SPS Steam supermicro Synology teamspeak3 teamspeak5 TeamViewer THINKTANKS TIK ubiquiti ut2003 ut2003-demo Vivaldi worklog-assistant WPS-EULA zi-labone +EULA 2dboy-EULA AMD-GPU-PRO-EULA android AnyDesk-TOS Aseprite-EULA baudline bestcrypt Broadcom-tod CAPYBARA-EULA Dell-EULA Digium Epic-TOS ETQW f.lux FAH-EULA-2014 Flightradar24 FNMT-RCM Gameplay-Group-EULA geekbench geekbench-ai genymotion GIMPS GOG-EULA google-chrome Intel-SDP Introversion JoyPixels LOKI-EULA MakeMKV-EULA Microsemi microsoft-edge microsoft-proprietary Microsoft-vscode MikroTik Mojang MTA-0.5 NVIDIA-CUDA NVIDIA-cuSPARSELt-v2020.10.12 NVIDIA-SDK NVIDIA-SDK-v2017.06.13 NVIDIA-SDK-v2020.10.12 Ookla OPERA-2018 OPERA-2020 PAPERS-PLEASE PassMark-EULA PICO-8 Primate-Plunge PUEL-11 PUEL-12 Q3AEULA-20000111 QUAKE4 RAR sfpg SPS Steam supermicro Synology teamspeak3 teamspeak5 TeamViewer THINKTANKS TIK ubiquiti ut2003 ut2003-demo Vivaldi worklog-assistant WPS-EULA zi-labone # Deprecated license labels, used by pkgcheck #DEPRECATED (currently none) diff --git a/sdk_container/src/third_party/portage-stable/profiles/package.deprecated b/sdk_container/src/third_party/portage-stable/profiles/package.deprecated index bc4a45c0452..49acc5dce6c 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/package.deprecated +++ b/sdk_container/src/third_party/portage-stable/profiles/package.deprecated @@ -17,6 +17,24 @@ #--- END OF EXAMPLES --- +# MichaƂ GĂłrny (2026-08-01) +# Used only by old dev-python/feedparser versions. To be last-rited +# once they're gone. +dev-python/sgmllib3k + +# MichaƂ GĂłrny (2026-07-27) +# The project is not actively developed since 2020, when the developer +# switched to Rust. The maintenance currently seems to be limited to +# mass merging slop security fixes. dev-python/dulwich seems to be +# the best available alternative right now. +dev-python/gitpython + +# Alfred Wingate (2026-07-26) +# Discontinued upstream since 2019. +# Replaced by dev-ruby/sassc +# https://sass-lang.com/blog/ruby-sass-is-unsupported/ +dev-ruby/sass + # MichaƂ GĂłrny (2026-06-10) # Part of stdlib since Python 3.11 (as tomllib). dev-python/tomli @@ -77,21 +95,6 @@ dev-python/httpretty # Bug 892854 dev-python/berkeleydb -# MichaƂ GĂłrny (2025-10-01) -# dev-python/libpass is unmaintained upstream (last release in 2020), -# and we keep having to patch breakage out. Packages really need -# to migrate out of it. -dev-python/libpass - -# MichaƂ GĂłrny (2025-07-29) -# dev-python/flaky and dev-python/pytest-rerunfailurse have conflicting -# pytest fixtures, with the latter providing a more powerful fixture -# (and the former breaking packages requiring it). If your package -# uses `@pytest.mark.flaky`, use pytest-rerunfailures instead. -# If it uses `@flaky.flaky`, send a patch upstream to switch -# to `@pytest.mark.flaky`. -dev-python/flaky - # MichaƂ GĂłrny (2025-06-28) # versioningit does not provide any support for building via GitHub # archives, and has rejected the efforts to provide an envvar override diff --git a/sdk_container/src/third_party/portage-stable/profiles/package.mask b/sdk_container/src/third_party/portage-stable/profiles/package.mask index e7dc1a0ef4e..2cc54118ec0 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/package.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/package.mask @@ -36,6 +36,75 @@ #--- END OF EXAMPLES --- +# James Le Cuirot (2026-07-29) +# These packages have been superseded by recent versions of +# games-fps/ut2004-data, which now includes this content regardless of +# installation source. For the XP Bonus Maps that were included in the ECE +# package, install games-fps/ut2004-bonuspack-xp. Removal on 2026-08-29. +games-fps/ut2004-bonuspack-ece +games-fps/ut2004-bonuspack-mega + +# James Le Cuirot (2026-07-29) +# UT2004 now has modern builds and is essentially free to download, so there is +# no need for this ancient package that allowed you to run a server for free. +# Use games-fps/ut2004[dedicated] instead. Removal on 2026-08-29. Bug #979392. +games-server/ut2004-ded + +# James Le Cuirot (2026-07-29) +# UT2004 now has modern builds and is essentially free to download, so there is +# no reason to bother with this old demo. Removal on 2026-08-29. Bug #979271. +games-fps/ut2004-demo + +# James Le Cuirot (2026-07-29) +# UT2004 is basically the same as UT2003, only bigger and better. Unlike UT2003, +# UT2004 now has modern builds and is essentially free to download, so there is +# no reason to choose UT2003 anymore. Removal on 2026-08-29. Bug #790173. +games-fps/ut2003 +games-fps/ut2003-bonuspack-cm +games-fps/ut2003-bonuspack-de +games-fps/ut2003-bonuspack-epic +games-fps/ut2003-data +games-fps/ut2003-demo +games-util/uz2unpack + +# James Le Cuirot (2026-07-28) +# microsoft-identity-broker no longer needs a user. Removal on 2026-09-28. +acct-user/microsoft-identity-broker +acct-group/microsoft-identity-broker + +# Alfred Wingate (2026-07-24) +# Renamed to libgedit-tepl upstream. +# Unbuildable for half a year. Last revdep moved to libgedit-tepl. +# Removal on 2026-07-27. Bug #949068. +gui-libs/tepl + +# Sam James (2026-07-16) +# Stub since Bind 9.18. Maintaining a separate build just for the client +# binaries proved brittle and unsustainable (see discussion in +# bug #832218 for details). Please use net-dns/bind instead. Other options +# include net-dns/cares-tools, net-libs/ldns's drill, and net-dns/doggo. +# Removal on 2026-08-15. Bug #977172. +net-dns/bind-tools + +# Sam James (2026-07-16) +# Outdated and replaced by app-arch/7zip. Many unfixed bugs including +# severe vulnerabilities. +# Removal on 2026-08-15. Bug #942397. +app-arch/p7zip + +# MichaƂ GĂłrny (2026-07-13) +# dev-python/fields is unmaintained for 5 years. Broken with pytest-9, +# we already patch it for earlier pytest versions. It is the only +# revdep of dev-python/characteristic which was archived in 2023. +# No revdeps left. +# Removal on 2026-08-12. Bug #978175. +dev-python/characteristic +dev-python/fields + +# Andreas Sturmlechner (2026-07-07) +# dev-embedded/ponyprog destabilisation mask, bug #978907 +=dev-embedded/ponyprog-3.1.4_p20250501-r0 + # Eray Aslan (2026-07-06) # Introduces backwards breaking change. Mask until downstreams adjust >=dev-db/lmdb-1.0.0 @@ -50,48 +119,11 @@ dev-python/jsonschema-spec # Removal on 2026-07-30. dev-python/roman-numerals-py -# Conrad Kostecki (2026-06-29) -# ICR (Intel Compute Runtime) is currently not compatible. -# Will be unmasked, once a new version is available. ->=dev-libs/level-zero-1.32.0 - # MichaƂ GĂłrny (2026-06-29) # Unmaintained. Requires patching since py3.12. No revdeps. # Removal on 2026-07-29. Bug #978274. dev-python/commentjson -# Andreas K. HĂŒttel (2026-06-23) -# Work in progress -=dev-lang/perl-5.44* -~virtual/perl-Archive-Tar-3.120.0 -~virtual/perl-Compress-Raw-Bzip2-2.218.0 -~virtual/perl-CPAN-Meta-2.150.13 -~virtual/perl-CPAN-Meta-Requirements-2.145.0 -~virtual/perl-DB_File-1.860.0 -~virtual/perl-Encode-3.240.0 -~virtual/perl-ExtUtils-CBuilder-0.280.243 -~virtual/perl-ExtUtils-MakeMaker-7.780.0 -~virtual/perl-ExtUtils-ParseXS-3.630.0 -~virtual/perl-File-Spec-3.950.0 -~virtual/perl-IO-1.560.0 -~virtual/perl-IO-Compress-2.220.0 -~virtual/perl-IO-Socket-IP-0.440.0 -~virtual/perl-Math-BigInt-2.5.3 -~virtual/perl-Module-CoreList-5.202.606.10 -~virtual/perl-Module-Metadata-1.0.39 -~virtual/perl-Pod-Simple-3.480.0 -~virtual/perl-Scalar-List-Utils-1.700.0 -~virtual/perl-Socket-2.41.0 -~virtual/perl-Storable-3.410.0 -~virtual/perl-Term-Table-0.28.0 -~virtual/perl-Test2-Suite-1.302.219 -~virtual/perl-Test-Harness-3.520.0 -~virtual/perl-Test-Simple-1.302.219 -~virtual/perl-Text-Balanced-2.70.0 -~virtual/perl-threads-2.450.0 -~virtual/perl-Time-HiRes-1.978.0 -~virtual/perl-version-0.993.400 - # MichaƂ GĂłrny (2026-06-20) # No py3.14 in compat, tests lost on bump, no revdeps. # Removal on 2026-07-20. Bug #973904. @@ -136,17 +168,6 @@ dev-python/txaio dev-python/vpython dev-python/wsaccel -# Ionen Wolkens (2026-06-11) -# Not used by maintainer anymore and, upon consideration, would rather -# not handle the new rust rewrite using GTK4 and /dev/uinput (notably -# needs permissions for uinput but we do not have global rules to handle -# that yet and having this package arbitrarily set this up is -# questionable and could break current usage). Seems better to last-rite -# rather than leave it outdated as maintainer-needed with this old -# version that is known to occasionally segfault. -# Removal on 2026-07-11. -x11-misc/mygestures - # Ulrich MĂŒller (2026-06-05) # Pretest versions, masked for testing. (2017-10-31) -# There are multiple unresolved upstream issues with >=jabref-bin-4.0 (#636036). -# If you still would like to use this version, please report any issues to -# upstream. ->=app-text/jabref-bin-4.0 - # Andreas K. HĂŒttel (2017-05-21) # (and others, updated later) # These old versions of toolchain packages (binutils, gcc, glibc) are no diff --git a/sdk_container/src/third_party/portage-stable/profiles/targets/desktop/package.use b/sdk_container/src/third_party/portage-stable/profiles/targets/desktop/package.use index 1c3d7f73b5f..016f4a93744 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/targets/desktop/package.use +++ b/sdk_container/src/third_party/portage-stable/profiles/targets/desktop/package.use @@ -1,6 +1,12 @@ # Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 +# Michael Orlitzky (2026-07-14) +# USE=qt6 (the desktop profile default) implies USE=doc, and together +# they pull in dev-qt/qttools:6[assistant]. Disabling both seems like a +# better default than enabling both. Bug 977138. +dev-libs/uriparser -qt6 + # Ian Jordan (2026-06-15) # Circular depend on webp and tiff #972473 # Helps users going from a basic to desktop profile. @@ -33,7 +39,7 @@ dev-qt/qtbase libproxy # Andreas Sturmlechner (2023-11-12) # NSS: Required by kde-apps/okular[pdf] -# Boost: app-text/poppler[qt5] recommended w/ Boost (bug #795888) +# Boost: app-text/poppler[qt6] recommended w/ Boost (bug #795888) app-text/poppler nss boost # Mart Raudsepp (2023-10-01) diff --git a/sdk_container/src/third_party/portage-stable/profiles/targets/desktop/plasma/package.use b/sdk_container/src/third_party/portage-stable/profiles/targets/desktop/plasma/package.use index 85a176f4176..10d4e333834 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/targets/desktop/plasma/package.use +++ b/sdk_container/src/third_party/portage-stable/profiles/targets/desktop/plasma/package.use @@ -26,9 +26,6 @@ dev-python/pyside webchannel # Required by sys-apps/flatpak, a dependency of kde-plasma/discover dev-util/ostree curl -# Required by kde-apps/akonadi:6 -dev-qt/qtbase:6 mysql - # Enable by default, requires kde-frameworks/kwayland kde-apps/yakuake absolute-position diff --git a/sdk_container/src/third_party/portage-stable/profiles/updates/2Q-2026 b/sdk_container/src/third_party/portage-stable/profiles/updates/2Q-2026 index 4b5886c35ba..cdc90059d7c 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/updates/2Q-2026 +++ b/sdk_container/src/third_party/portage-stable/profiles/updates/2Q-2026 @@ -3,3 +3,4 @@ move dev-python/passlib dev-python/libpass slotmove www-servers/nginx mainline 0 slotmove www-servers/nginx stable 0 slotmove www-servers/nginx live 0 +move app-editors/gnome-latex app-editors/enter-tex From 8801a9b45cf04f4fa2989c5fa25cfbeef5a0a55a Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 3 Aug 2026 08:18:38 +0000 Subject: [PATCH 123/195] sec-policy/selinux-base: Sync with Gentoo It's from Gentoo commit 767c7532632743551ec91049764d808139d6b052. Signed-off-by: Flatcar Buildbot --- .../sec-policy/selinux-base/Manifest | 2 + .../selinux-base-2.20260616_p1.ebuild | 162 ++++++++++++++++++ 2 files changed, 164 insertions(+) create mode 100644 sdk_container/src/third_party/portage-stable/sec-policy/selinux-base/selinux-base-2.20260616_p1.ebuild diff --git a/sdk_container/src/third_party/portage-stable/sec-policy/selinux-base/Manifest b/sdk_container/src/third_party/portage-stable/sec-policy/selinux-base/Manifest index 80babad0fc4..b593733d9d7 100644 --- a/sdk_container/src/third_party/portage-stable/sec-policy/selinux-base/Manifest +++ b/sdk_container/src/third_party/portage-stable/sec-policy/selinux-base/Manifest @@ -1,4 +1,6 @@ DIST patchbundle-selinux-base-policy-2.20250618-r1.tar.bz2 306720 BLAKE2B b90de06fd143293d67f244013b9a6d775864e7fdfa54c3b5852e31c7594338dfb927b1ef105f4dd688e68932d1d20f91ad7d5cfb909a93f962a427a0a8708c0c SHA512 124424dc8c8eb0f82735d30b000568a8c4c9969363d55cf4f15a5b82a2ca7619e93e5f908cafa9f1a2c4d35d2dcf76869cac85cff909e3fccf47c8666ec15616 DIST patchbundle-selinux-base-policy-2.20260312_p1.tar.bz2 9408379 BLAKE2B d5cb2ff2de4cf0e00dd1e84046729a69c255627d083a9dad4c750d87222001696043f58ed94e3ab0562314645cb38e41339e36dcf5cec0765749751b42389cc3 SHA512 7b0f87bb0084258a931cbace7c7b6828ed6e592cf348f1c695ec6f6b49030920eeb78cd558b14420951cc5ca6a1c1afa9e74023a7b7dae046eb13561256cd4e1 +DIST patchbundle-selinux-base-policy-2.20260616_p1.tar.bz2 297301 BLAKE2B a0fb3505d10044e02e34b5d72cc88dac7e9d1234a504d2cfb894827573a1cd69020722ef8023f2d37ad33e571ddeb00d377f5f37d9bed1925e0ab750235574c2 SHA512 dcf1becdf8bf75c4cf4f3e9b96a39fecd329d5f9accb2bb39fd6f61df511654fbe6f9c34094dbf0f8ae4e5e24faa59502df0a80af80a0d29adfdfb9b8be10ddd DIST refpolicy-2.20250618.tar.bz2 632711 BLAKE2B f522c16552fbbf66d4549bf082ece4be740018822b9b7da318c12aa3f3108a905b5f71fc6bb5e894468126123d81aa4e309912ec04c2a2e27feda00689a5ecd8 SHA512 3bfd32be63d0928c5be47707ce6d53bc3bb7b3d922fda2441d455b913eb79d33b16ba31320394aa1d9ec7afb6d9c853c3cd4c025962c6f355dbb7194bdb1c1a8 DIST refpolicy-2.20260312.tar.bz2 649774 BLAKE2B 11f6150010a57f9dba6284021cd4c6521cec8e907f1f08fad45191fe9966846265d3c03d00aec9f3210659e864b4d40cac6cb8e4793a686a00f754191bc41079 SHA512 a34b5b08f9cd969fd6c3a2ed07ccdfea359054d0071e25e99b3978fd678e2314975eaf67c3f0931a68a407e675a73a16bb021106dde1dd20c1fff115dd8d3b29 +DIST refpolicy-2.20260616.tar.bz2 655092 BLAKE2B b8dbfce78d68bb771f7f3795b00bee063d84d3eb4025e1ddb97592bfd25d8ae42868e9c03a0e2d86fb981c724f25e2d0dca73e21f978e3dffd1947ae2aa21064 SHA512 14336a518ac074e03ece3a97d61ba2e1e1edac270a80feb605c56a0d871166989043142534511c70c151c78b4ad5748c3aea9d77125538acdebdab8f2e06f21f diff --git a/sdk_container/src/third_party/portage-stable/sec-policy/selinux-base/selinux-base-2.20260616_p1.ebuild b/sdk_container/src/third_party/portage-stable/sec-policy/selinux-base/selinux-base-2.20260616_p1.ebuild new file mode 100644 index 00000000000..e6002b3b903 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sec-policy/selinux-base/selinux-base-2.20260616_p1.ebuild @@ -0,0 +1,162 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{11..14} ) +PYTHON_REQ_USE="xml(+)" + +inherit python-any-r1 + +DESCRIPTION="Gentoo base policy for SELinux" +HOMEPAGE="https://wiki.gentoo.org/wiki/Project:SELinux" + +if [[ "${PV}" = 9999* ]]; then + EGIT_REPO_URI="${SELINUX_GIT_REPO:-https://anongit.gentoo.org/git/proj/hardened-refpolicy.git}" + EGIT_BRANCH="${SELINUX_GIT_BRANCH:-master}" + EGIT_CHECKOUT_DIR="${WORKDIR}/refpolicy" + + inherit git-r3 +else + MY_PV=$(ver_cut 1-2) + SRC_URI="https://github.com/SELinuxProject/refpolicy/releases/download/RELEASE_${MY_PV/./_}/refpolicy-${MY_PV}.tar.bz2 + https://dev.gentoo.org/~perfinion/patches/selinux-base-policy/patchbundle-selinux-base-policy-${PV}.tar.bz2" + KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86" +fi + +S="${WORKDIR}/refpolicy" + +LICENSE="GPL-2" +SLOT="0" +IUSE=" + doc +unknown-perms systemd +ubac +unconfined + +selinux_policy_types_targeted +selinux_policy_types_strict +selinux_policy_types_mcs +selinux_policy_types_mls +" +REQUIRED_USE=" + || ( selinux_policy_types_targeted selinux_policy_types_strict selinux_policy_types_mcs selinux_policy_types_mls ) +" + +RDEPEND=">=sys-apps/policycoreutils-2.8" +DEPEND="${RDEPEND}" +BDEPEND=" + ${PYTHON_DEPS} + >=sys-apps/checkpolicy-2.8 + sys-devel/m4 +" + +src_prepare() { + if [[ "${PV}" != 9999* ]]; then + cd "${WORKDIR}" || die + einfo "Applying SELinux policy updates... " + eapply -p0 "${WORKDIR}/0001-full-patch-against-stable-release.patch" + fi + + cd "${S}" || die + eapply_user + + emake bare +} + +src_configure() { + # Update the SELinux refpolicy capabilities based on the users' USE flags. + if use unknown-perms; then + sed -i -e '/^UNK_PERMS/s/deny/allow/' "${S}/build.conf" \ + || die "Failed to allow Unknown Permissions Handling" + sed -i -e '/^UNK_PERMS/s/deny/allow/' "${S}/Makefile" \ + || die "Failed to allow Unknown Permissions Handling" + fi + + if ! use ubac; then + sed -i -e '/^UBAC/s/y/n/' "${S}/build.conf" \ + || die "Failed to disable User Based Access Control" + fi + + if use systemd; then + sed -i -e '/^SYSTEMD/s/n/y/' "${S}/build.conf" \ + || die "Failed to enable systemd" + fi + + echo "DISTRO = gentoo" >> "${S}/build.conf" || die + + # Prepare initial configuration + emake conf + + # Setup the policies based on the types delivered by the end user. + # These types can be "targeted", "strict", "mcs" and "mls". + for type in targeted strict mcs mls; do + if use "selinux_policy_types_${type}"; then + cp -a "${S}" "${WORKDIR}/${type}" || die + cd "${WORKDIR}/${type}" || die + + sed -i -e "/= module/d" "${WORKDIR}/${type}/policy/modules.conf" || die + + sed -i -e '/^QUIET/s/n/y/' -e "/^NAME/s/refpolicy/${type}/" \ + "${WORKDIR}/${type}/build.conf" || die "build.conf setup failed." + + if [[ "${type}" = "mls" || "${type}" = "mcs" ]]; then + # MCS/MLS require additional settings + sed -i -e "/^TYPE/s/standard/${type}/" "${WORKDIR}/${type}/build.conf" \ + || die "failed to set type to mls" + fi + + if [[ "${type}" = "targeted" ]]; then + sed -i -e '/root/d' -e 's/user_u/unconfined_u/' \ + "${WORKDIR}/${type}/config/appconfig-standard/seusers" \ + || die "targeted seusers setup failed." + fi + + if [[ "${type}" != "targeted" && "${type}" != "strict" ]] && use unconfined; then + sed -i -e '/root/d' -e 's/user_u/unconfined_u/' \ + "${WORKDIR}/${type}/config/appconfig-${type}/seusers" \ + || die "policy seusers setup failed." + fi + fi + done +} + +src_compile() { + for type in targeted strict mcs mls; do + if use "selinux_policy_types_${type}"; then + cd "${WORKDIR}/${type}" || die + emake base + use doc && emake html + fi + done +} + +src_install() { + for type in targeted strict mcs mls; do + if use "selinux_policy_types_${type}"; then + cd "${WORKDIR}/${type}" || die + + emake DESTDIR="${D}" install + emake DESTDIR="${D}" install-headers + + echo "run_init_t" > "${D}/etc/selinux/${type}/contexts/run_init_type" || die + + echo "textrel_shlib_t" >> "${D}/etc/selinux/${type}/contexts/customizable_types" || die + + # libsemanage won't make this on its own + keepdir "/etc/selinux/${type}/policy" + + if use doc; then + docinto "${type}/html" + dodoc -r doc/html/*; + fi + + insinto /usr/share/selinux/devel; + doins doc/policy.xml; + fi + done + + docinto / + dodoc doc/Makefile.example doc/example.{te,fc,if} + + doman man/man8/*.8; + + insinto /etc/selinux + doins "${FILESDIR}/config" + + insinto /usr/share/portage/config/sets + doins "${FILESDIR}/selinux.conf" +} From 851212191aa9b6a4346af33ead8ace88d4326a83 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 3 Aug 2026 08:18:38 +0000 Subject: [PATCH 124/195] sec-policy/selinux-base-policy: Sync with Gentoo It's from Gentoo commit 422a01b2bf375623af10350453c430a40d63d022. Signed-off-by: Flatcar Buildbot --- .../sec-policy/selinux-base-policy/Manifest | 2 + ...low-pam_domain-to-read-usr-share-pam.patch | 53 ++++ .../files/0003-su-use-auth_use_pam.patch | 54 ++++ ...auth_use_pam_systemd-dbus_system_bus.patch | 65 +++++ ...elinux-base-policy-2.20260312_p1-r1.ebuild | 242 ++++++++++++++++++ ... selinux-base-policy-2.20260616_p1.ebuild} | 4 +- .../selinux-base-policy-9999.ebuild | 2 +- 7 files changed, 419 insertions(+), 3 deletions(-) create mode 100644 sdk_container/src/third_party/portage-stable/sec-policy/selinux-base-policy/files/0002-authlogin-allow-pam_domain-to-read-usr-share-pam.patch create mode 100644 sdk_container/src/third_party/portage-stable/sec-policy/selinux-base-policy/files/0003-su-use-auth_use_pam.patch create mode 100644 sdk_container/src/third_party/portage-stable/sec-policy/selinux-base-policy/files/0004-authlogin-guard-auth_use_pam_systemd-dbus_system_bus.patch create mode 100644 sdk_container/src/third_party/portage-stable/sec-policy/selinux-base-policy/selinux-base-policy-2.20260312_p1-r1.ebuild rename sdk_container/src/third_party/portage-stable/sec-policy/selinux-base-policy/{selinux-base-policy-2.20260312_p1.ebuild => selinux-base-policy-2.20260616_p1.ebuild} (99%) diff --git a/sdk_container/src/third_party/portage-stable/sec-policy/selinux-base-policy/Manifest b/sdk_container/src/third_party/portage-stable/sec-policy/selinux-base-policy/Manifest index 80babad0fc4..b593733d9d7 100644 --- a/sdk_container/src/third_party/portage-stable/sec-policy/selinux-base-policy/Manifest +++ b/sdk_container/src/third_party/portage-stable/sec-policy/selinux-base-policy/Manifest @@ -1,4 +1,6 @@ DIST patchbundle-selinux-base-policy-2.20250618-r1.tar.bz2 306720 BLAKE2B b90de06fd143293d67f244013b9a6d775864e7fdfa54c3b5852e31c7594338dfb927b1ef105f4dd688e68932d1d20f91ad7d5cfb909a93f962a427a0a8708c0c SHA512 124424dc8c8eb0f82735d30b000568a8c4c9969363d55cf4f15a5b82a2ca7619e93e5f908cafa9f1a2c4d35d2dcf76869cac85cff909e3fccf47c8666ec15616 DIST patchbundle-selinux-base-policy-2.20260312_p1.tar.bz2 9408379 BLAKE2B d5cb2ff2de4cf0e00dd1e84046729a69c255627d083a9dad4c750d87222001696043f58ed94e3ab0562314645cb38e41339e36dcf5cec0765749751b42389cc3 SHA512 7b0f87bb0084258a931cbace7c7b6828ed6e592cf348f1c695ec6f6b49030920eeb78cd558b14420951cc5ca6a1c1afa9e74023a7b7dae046eb13561256cd4e1 +DIST patchbundle-selinux-base-policy-2.20260616_p1.tar.bz2 297301 BLAKE2B a0fb3505d10044e02e34b5d72cc88dac7e9d1234a504d2cfb894827573a1cd69020722ef8023f2d37ad33e571ddeb00d377f5f37d9bed1925e0ab750235574c2 SHA512 dcf1becdf8bf75c4cf4f3e9b96a39fecd329d5f9accb2bb39fd6f61df511654fbe6f9c34094dbf0f8ae4e5e24faa59502df0a80af80a0d29adfdfb9b8be10ddd DIST refpolicy-2.20250618.tar.bz2 632711 BLAKE2B f522c16552fbbf66d4549bf082ece4be740018822b9b7da318c12aa3f3108a905b5f71fc6bb5e894468126123d81aa4e309912ec04c2a2e27feda00689a5ecd8 SHA512 3bfd32be63d0928c5be47707ce6d53bc3bb7b3d922fda2441d455b913eb79d33b16ba31320394aa1d9ec7afb6d9c853c3cd4c025962c6f355dbb7194bdb1c1a8 DIST refpolicy-2.20260312.tar.bz2 649774 BLAKE2B 11f6150010a57f9dba6284021cd4c6521cec8e907f1f08fad45191fe9966846265d3c03d00aec9f3210659e864b4d40cac6cb8e4793a686a00f754191bc41079 SHA512 a34b5b08f9cd969fd6c3a2ed07ccdfea359054d0071e25e99b3978fd678e2314975eaf67c3f0931a68a407e675a73a16bb021106dde1dd20c1fff115dd8d3b29 +DIST refpolicy-2.20260616.tar.bz2 655092 BLAKE2B b8dbfce78d68bb771f7f3795b00bee063d84d3eb4025e1ddb97592bfd25d8ae42868e9c03a0e2d86fb981c724f25e2d0dca73e21f978e3dffd1947ae2aa21064 SHA512 14336a518ac074e03ece3a97d61ba2e1e1edac270a80feb605c56a0d871166989043142534511c70c151c78b4ad5748c3aea9d77125538acdebdab8f2e06f21f diff --git a/sdk_container/src/third_party/portage-stable/sec-policy/selinux-base-policy/files/0002-authlogin-allow-pam_domain-to-read-usr-share-pam.patch b/sdk_container/src/third_party/portage-stable/sec-policy/selinux-base-policy/files/0002-authlogin-allow-pam_domain-to-read-usr-share-pam.patch new file mode 100644 index 00000000000..78ed04d7c60 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sec-policy/selinux-base-policy/files/0002-authlogin-allow-pam_domain-to-read-usr-share-pam.patch @@ -0,0 +1,53 @@ +From 491cf6b28dfcc581880b02313609ab2338ce6766 Mon Sep 17 00:00:00 2001 +Message-ID: <491cf6b28dfcc581880b02313609ab2338ce6766.1783899089.git.sam@gentoo.org> +In-Reply-To: +References: +From: Sam James +Date: Sun, 17 May 2026 01:50:48 +0100 +Subject: [PATCH 2/4] authlogin: allow pam_domain to read /usr/share/pam + +.. by allowing /usr overall. pam installs these configuration files there +as its `vendordir`. It also does this since aea30822e2fa6f87faf2541da140f69dfdfee728. + +(I think that commit message isn't quite right: it seems to do this regardless +of libeconf support.) + +This comes from auth_use_pam which sudo and su use: +``` +AVC avc: denied { getattr } for pid=239941 comm="su" path="/usr/share/pam/security/faillock.conf" dev="dm-0" ino=3227904748 +scontext=staff_u:sysadm_r:sysadm_su_t:s0-s0:c0.c1023 +tcontext=system_u:object_r:usr_t:s0 +tclass=file + +AVC avc: denied { read } for pid=239938 comm="sudo" name="pam_env.conf" dev="dm-0" ino=3227906195 +scontext=staff_u:staff_r:staff_sudo_t:s0-s0:c0.c1023 +tcontext=system_u:object_r:usr_t:s0 +tclass=file +``` + +This is a followup to 169f725b3ff9988de5ab9b628fc45efb8b29d0b2. + +Bug: https://bugs.gentoo.org/973082 +See-also: https://github.com/SELinuxProject/refpolicy/pull/1125 +Signed-off-by: Sam James +Signed-off-by: Jason Zaman +(cherry picked from commit f8a10502c4d1edf1f9612ae4f543f94dc9fd8454) +--- + policy/modules/system/authlogin.te | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/policy/modules/system/authlogin.te b/policy/modules/system/authlogin.te +index 7587fd4b5..a54fee6e0 100644 +--- a/policy/modules/system/authlogin.te ++++ b/policy/modules/system/authlogin.te +@@ -259,6 +259,7 @@ auth_setattr_faillog_files(pam_domain) + auth_exec_pam(pam_domain) + + files_read_etc_files(pam_domain) ++files_read_usr_files(pam_domain) + + logging_send_audit_msgs(pam_domain) + logging_send_syslog_msg(pam_domain) +-- +2.55.0 + diff --git a/sdk_container/src/third_party/portage-stable/sec-policy/selinux-base-policy/files/0003-su-use-auth_use_pam.patch b/sdk_container/src/third_party/portage-stable/sec-policy/selinux-base-policy/files/0003-su-use-auth_use_pam.patch new file mode 100644 index 00000000000..07af94396c4 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sec-policy/selinux-base-policy/files/0003-su-use-auth_use_pam.patch @@ -0,0 +1,54 @@ +From 81f98b43556366e5c5740efed5839c0c1b7fafbd Mon Sep 17 00:00:00 2001 +Message-ID: <81f98b43556366e5c5740efed5839c0c1b7fafbd.1783899089.git.sam@gentoo.org> +In-Reply-To: +References: +From: Sam James +Date: Mon, 18 May 2026 01:32:05 +0100 +Subject: [PATCH 3/4] su: use auth_use_pam + +su is linked against pam: +``` +$ lddtree /bin/su +/bin/su (interpreter => /lib64/ld-linux-x86-64.so.2) + libpam.so.0 => /usr/lib64/libpam.so.0 + libaudit.so.1 => /usr/lib64/libaudit.so.1 + libcap-ng.so.0 => /usr/lib64/libcap-ng.so.0 + libpam_misc.so.0 => /usr/lib64/libpam_misc.so.0 + libc.so.6 => /usr/lib64/libc.so.6 +``` + +Noticed when looking into the same bug as 169f725b3ff9988de5ab9b628fc45efb8b29d0b2. + +Bug: https://bugs.gentoo.org/973082 +Signed-off-by: Sam James +Signed-off-by: Jason Zaman +(cherry picked from commit 26497fd12d221df3826bb972327144c3e90fc563) +--- + policy/modules/admin/su.if | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/policy/modules/admin/su.if b/policy/modules/admin/su.if +index ebb7ef0e0..4566b522b 100644 +--- a/policy/modules/admin/su.if ++++ b/policy/modules/admin/su.if +@@ -78,7 +78,7 @@ template(`su_restricted_domain_template', ` + + auth_domtrans_chk_passwd($1_su_t) + auth_dontaudit_read_shadow($1_su_t) +- auth_use_nsswitch($1_su_t) ++ auth_use_pam($1_su_t) + auth_create_faillog_files($1_su_t) + auth_rw_faillog($1_su_t) + auth_setattr_faillog_files($1_su_t) +@@ -186,7 +186,7 @@ template(`su_role_template',` + + auth_domtrans_chk_passwd($1_su_t) + auth_dontaudit_read_shadow($1_su_t) +- auth_use_nsswitch($1_su_t) ++ auth_use_pam($1_su_t) + auth_create_faillog_files($1_su_t) + auth_rw_faillog($1_su_t) + auth_setattr_faillog_files($1_su_t) +-- +2.55.0 + diff --git a/sdk_container/src/third_party/portage-stable/sec-policy/selinux-base-policy/files/0004-authlogin-guard-auth_use_pam_systemd-dbus_system_bus.patch b/sdk_container/src/third_party/portage-stable/sec-policy/selinux-base-policy/files/0004-authlogin-guard-auth_use_pam_systemd-dbus_system_bus.patch new file mode 100644 index 00000000000..f554750f3e5 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sec-policy/selinux-base-policy/files/0004-authlogin-guard-auth_use_pam_systemd-dbus_system_bus.patch @@ -0,0 +1,65 @@ +From 55f252fafb899f39f6bca809fc06c12e4e3cf3e0 Mon Sep 17 00:00:00 2001 +Message-ID: <55f252fafb899f39f6bca809fc06c12e4e3cf3e0.1783899089.git.sam@gentoo.org> +In-Reply-To: +References: +From: Sam James +Date: Mon, 25 May 2026 09:43:50 +0100 +Subject: [PATCH 4/4] authlogin: guard + auth_use_pam_systemd->dbus_system_bus_client calls with optional_policy + +The dbus policy may not be installed (yet) when installing the systemd +module (for the first time). + +Note that it is possible I believe to use systemd w/o DBus at all but +it's quite rare. + +Bug: https://bugs.gentoo.org/975996 +Signed-off-by: Sam James +Signed-off-by: Jason Zaman +(cherry picked from commit 8cf8d17f7f51f23ef831da1f0a91a8b99350eca7) +--- + policy/modules/system/authlogin.if | 5 ++++- + policy/modules/system/authlogin.te | 4 +++- + 2 files changed, 7 insertions(+), 2 deletions(-) + +diff --git a/policy/modules/system/authlogin.if b/policy/modules/system/authlogin.if +index bb282024c..82d3f6684 100644 +--- a/policy/modules/system/authlogin.if ++++ b/policy/modules/system/authlogin.if +@@ -87,7 +87,6 @@ interface(`auth_use_pam',` + ## + # + interface(`auth_use_pam_systemd',` +- dbus_system_bus_client($1) + systemd_connect_machined($1) + systemd_dbus_chat_logind($1) + systemd_read_logind_state($1) +@@ -95,6 +94,10 @@ interface(`auth_use_pam_systemd',` + + # to read /etc/machine-id + files_read_etc_runtime_files($1) ++ ++ optional_policy(` ++ dbus_system_bus_client($1) ++ ') + ') + + ######################################## +diff --git a/policy/modules/system/authlogin.te b/policy/modules/system/authlogin.te +index a54fee6e0..42a46c045 100644 +--- a/policy/modules/system/authlogin.te ++++ b/policy/modules/system/authlogin.te +@@ -168,7 +168,9 @@ ifdef(`distro_ubuntu',` + ') + + ifdef(`init_systemd',` +- auth_use_pam_systemd(chkpwd_t) ++ optional_policy(` ++ auth_use_pam_systemd(chkpwd_t) ++ ') + ') + + optional_policy(` +-- +2.55.0 + diff --git a/sdk_container/src/third_party/portage-stable/sec-policy/selinux-base-policy/selinux-base-policy-2.20260312_p1-r1.ebuild b/sdk_container/src/third_party/portage-stable/sec-policy/selinux-base-policy/selinux-base-policy-2.20260312_p1-r1.ebuild new file mode 100644 index 00000000000..9a2ef971056 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sec-policy/selinux-base-policy/selinux-base-policy-2.20260312_p1-r1.ebuild @@ -0,0 +1,242 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DESCRIPTION="SELinux policy for core modules" +HOMEPAGE="https://wiki.gentoo.org/wiki/Project:SELinux" + +if [[ "${PV}" = 9999* ]]; then + EGIT_REPO_URI="${SELINUX_GIT_REPO:-https://anongit.gentoo.org/git/proj/hardened-refpolicy.git}" + EGIT_BRANCH="${SELINUX_GIT_BRANCH:-master}" + EGIT_CHECKOUT_DIR="${WORKDIR}/refpolicy" + + inherit git-r3 +else + MY_PV=$(ver_cut 1-2) + SRC_URI="https://github.com/SELinuxProject/refpolicy/releases/download/RELEASE_${MY_PV/./_}/refpolicy-${MY_PV}.tar.bz2 + https://dev.gentoo.org/~perfinion/patches/${PN}/patchbundle-${P}.tar.bz2" + KEYWORDS="amd64 arm arm64 ~riscv x86" +fi + +S="${WORKDIR}/refpolicy" + +LICENSE="GPL-2" +SLOT="0" +IUSE=" + systemd +unconfined + +selinux_policy_types_targeted +selinux_policy_types_strict +selinux_policy_types_mcs +selinux_policy_types_mls +" +REQUIRED_USE=" + || ( selinux_policy_types_targeted selinux_policy_types_strict selinux_policy_types_mcs selinux_policy_types_mls ) + selinux_policy_types_targeted? ( unconfined ) +" + +PDEPEND="unconfined? ( sec-policy/selinux-unconfined )" +DEPEND=" + ~sec-policy/selinux-base-${PV}[selinux_policy_types_targeted?,selinux_policy_types_strict?,selinux_policy_types_mcs?,selinux_policy_types_mls?,systemd?] +" +RDEPEND="${DEPEND}" +BDEPEND=" + sys-apps/checkpolicy + sys-devel/m4 +" + +PATCHES=( + "${FILESDIR}/0002-authlogin-allow-pam_domain-to-read-usr-share-pam.patch" + "${FILESDIR}/0003-su-use-auth_use_pam.patch" + "${FILESDIR}/0004-authlogin-guard-auth_use_pam_systemd-dbus_system_bus.patch" +) + +MODS="application authlogin bootloader clock consoletype cron dmesg fstools getty hostname init iptables libraries locallogin logging lvm miscfiles modutils mount mta netutils nscd portage raid rsync selinuxutil setrans ssh staff storage su sysadm sysnetwork systemd tmpfiles udev userdomain usermanage unprivuser xdg" +# A previous, old release of refpolicy had the hotplug policy module. However, +# it has since been removed[1]. As such, remove it if we see it installed. +# [1] https://github.com/gentoo/hardened-refpolicy/commit/5618680a2e148db02ae5614a13cc878f1616d8a2 +DEL_MODS="hotplug" + +# Code entirely copied from selinux-eclass (cannot inherit due to dependency on +# itself), when reworked reinclude it. Only postinstall (where -b base.pp is +# added) needs to remain then. + +src_prepare() { + local modfiles + + if [[ "${PV}" != 9999* ]]; then + cd "${WORKDIR}" || die + einfo "Applying SELinux policy updates ... " + eapply -p0 "${WORKDIR}/0001-full-patch-against-stable-release.patch" + fi + + cd "${S}" || die + default + + # Collect only those files needed for this particular module + for mod in ${MODS}; do + modfiles="$(find "${S}/policy/modules" -iname "${mod}.te") $modfiles" + modfiles="$(find "${S}/policy/modules" -iname "${mod}.fc") $modfiles" + modfiles="$(find "${S}/policy/modules" -iname "${mod}.cil") $modfiles" + done + + # TODO: should probably be done earlier? + for i in ${DEL_MODS}; do + [[ "${MODS}" != *${i}* ]] || die "Duplicate module in MODS and DEL_MODS: ${i}" + done + + for type in targeted strict mcs mls; do + if use "selinux_policy_types_${type}"; then + mkdir "${WORKDIR}/${type}" || die "Failed to create directory ${WORKDIR}/${type}" + cp "${S}/doc/Makefile.example" "${WORKDIR}/${type}/Makefile" \ + || die "Failed to copy Makefile.example to ${WORKDIR}/${type}/Makefile" + + cp ${modfiles} "${WORKDIR}/${type}" \ + || die "Failed to copy the module files to ${WORKDIR}/${type}" + fi + done +} + +src_compile() { + local makeuse="" + # We use IUSE instead of USE so that other variables set in the ebuild + # environment, such as architecture ones, are not included. + for useflag in ${IUSE}; do + # Advance past a possible '+' character: that is NOT part of the USE flag, + # but instead indicates whether it is enabled by default. + useflag="${useflag##+}" + + # Only additional USE flags defined in our consumers should be added to + # build options: SELINUX_POLICY_TYPES should NOT be passed to the policy + # build system. + [[ "${useflag}" = selinux_policy_types_* ]] && continue + + use ${useflag} && makeuse="${makeuse} -D use_${useflag}" + done + + for type in targeted strict mcs mls; do + if use "selinux_policy_types_${type}"; then + # Support USE flags in builds + export M4PARAM="${makeuse}" + emake NAME="${type}" SHAREDIR="${ESYSROOT}/usr/share/selinux" -C "${WORKDIR}/${type}" + fi + done +} + +src_install() { + local BASEDIR="/usr/share/selinux" + + for type in targeted strict mcs mls; do + if use "selinux_policy_types_${type}"; then + for mod in ${MODS}; do + einfo "Installing ${type} ${mod} policy package" + insinto "${BASEDIR}/${type}" + if [[ -f "${WORKDIR}/${type}/${mod}.pp" ]]; then + doins "${WORKDIR}/${type}/${mod}.pp" + elif [[ -f "${WORKDIR}/${type}/${mod}.cil" ]]; then + doins "${WORKDIR}/${type}/${mod}.cil" + fi + done + fi + done +} + +pkg_postinst() { + # Set root path and don't load policy into the kernel when cross compiling + local root_opts="" + if [[ -n ${ROOT} ]]; then + root_opts="-p ${ROOT} -n" + fi + + # Override the command from the eclass, we need to load in base as well here + local COMMAND="-i base.pp" + + for type in targeted strict mcs mls; do + if use "selinux_policy_types_${type}"; then + einfo "Inserting the following modules, with base, into the ${type} module store: ${MODS}" + + cd "${ROOT}/usr/share/selinux/${type}" || die "Could not enter /usr/share/selinux/${type}" + for mod in ${MODS}; do + if [[ -f "${mod}.pp" ]]; then + COMMAND="${mod}.pp ${COMMAND}" + elif [[ -f "${mod}.cil" ]]; then + COMMAND="${mod}.cil ${COMMAND}" + fi + done + + semodule ${root_opts} -s ${type} -i ${COMMAND} + if [[ $? -ne 0 ]]; then + ewarn "SELinux module load failed. Trying full reload..." + + semodule ${root_opts} -s ${type} -i ./*.pp + + if [[ $? -ne 0 ]]; then + ewarn "Failed to reload SELinux policies." + ewarn "" + ewarn "If this is *not* the last SELinux module package being installed," + ewarn "then you can safely ignore this as the reloads will be retried" + ewarn "with other, recent modules." + ewarn "" + ewarn "If it is the last SELinux module package being installed however," + ewarn "then it is advised to look at the error above and take appropriate" + ewarn "action since the new SELinux policies are not loaded until the" + ewarn "command finished successfully." + ewarn "" + ewarn "To reload, run the following command:" + ewarn " semodule -i /usr/share/selinux/${type}/*.pp" + else + einfo "SELinux modules reloaded successfully." + fi + else + einfo "SELinux modules loaded successfully." + fi + + # And now, remove any old modules that should no longer be installed. + for mod in ${DEL_MODS}; do + if semodule ${root_opts} -s "${type}" -l | grep -q "\b${mod}\b"; then + einfo "Removing obsolete ${type} ${mod} policy package" + semodule ${root_opts} -s "${type}" -r "${mod}" + if [[ $? -ne 0 ]]; then + ewarn "Failed to remove obsolete ${type} ${mod} policy package" + fi + fi + done + + COMMAND="" + fi + done + + # Don't relabel when cross compiling + if [[ -z ${ROOT} ]]; then + # Relabel depending packages. This entire section is a hack, and a violation of tree policy; + # it relies on PM specific functionality (qdepends and equery, which are portage specific) and + # hence is not PMS compliant. This should be remove and replaced with a more robust, PMS-compliant + # implementation as soon as possible. + local PKGSET=() + local out + local status + local cmd + + if command -v qdepends &>/dev/null; then + out=$(qdepends -CiqqrF '%[CATEGORY]%[PN]%[SLOT]' -Q "${CATEGORY}/${PN}") + status=$? + cmd='qdepends' + elif command -v equery &>/dev/null; then + out=$(equery -Cq depends "${CATEGORY}/${PN}") + status=$? + cmd='equery' + else + ewarn "Unable to calculate reverse dependencies for policy: both qdepends and equery were not found." + ewarn "Skipping package file relabelling..." + return + fi + + if [[ "${status}" -ne 0 ]]; then + ewarn "Failed to calculate reverse dependencies for policy: ${cmd} returned ${status}." + ewarn "Skipping package file relabelling..." + return + fi + + # Policy packages may pull in other policy packages, filter those out. + readarray -t PKGSET <<<"$(echo "${out}" | grep -v 'sec-policy/selinux-')" + + [[ "${#PKGSET[@]}" -ne 0 ]] && rlpkg "${PKGSET[@]}" + fi +} diff --git a/sdk_container/src/third_party/portage-stable/sec-policy/selinux-base-policy/selinux-base-policy-2.20260312_p1.ebuild b/sdk_container/src/third_party/portage-stable/sec-policy/selinux-base-policy/selinux-base-policy-2.20260616_p1.ebuild similarity index 99% rename from sdk_container/src/third_party/portage-stable/sec-policy/selinux-base-policy/selinux-base-policy-2.20260312_p1.ebuild rename to sdk_container/src/third_party/portage-stable/sec-policy/selinux-base-policy/selinux-base-policy-2.20260616_p1.ebuild index 1bbada3a3b8..54489f91013 100644 --- a/sdk_container/src/third_party/portage-stable/sec-policy/selinux-base-policy/selinux-base-policy-2.20260312_p1.ebuild +++ b/sdk_container/src/third_party/portage-stable/sec-policy/selinux-base-policy/selinux-base-policy-2.20260616_p1.ebuild @@ -16,7 +16,7 @@ else MY_PV=$(ver_cut 1-2) SRC_URI="https://github.com/SELinuxProject/refpolicy/releases/download/RELEASE_${MY_PV/./_}/refpolicy-${MY_PV}.tar.bz2 https://dev.gentoo.org/~perfinion/patches/${PN}/patchbundle-${P}.tar.bz2" - KEYWORDS="amd64 arm arm64 ~riscv x86" + KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86" fi S="${WORKDIR}/refpolicy" @@ -62,7 +62,7 @@ src_prepare() { fi cd "${S}" || die - eapply_user + default # Collect only those files needed for this particular module for mod in ${MODS}; do diff --git a/sdk_container/src/third_party/portage-stable/sec-policy/selinux-base-policy/selinux-base-policy-9999.ebuild b/sdk_container/src/third_party/portage-stable/sec-policy/selinux-base-policy/selinux-base-policy-9999.ebuild index 6f573d1783f..54489f91013 100644 --- a/sdk_container/src/third_party/portage-stable/sec-policy/selinux-base-policy/selinux-base-policy-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/sec-policy/selinux-base-policy/selinux-base-policy-9999.ebuild @@ -62,7 +62,7 @@ src_prepare() { fi cd "${S}" || die - eapply_user + default # Collect only those files needed for this particular module for mod in ${MODS}; do From 557b1c0d2c762ecd9b2675ffee052ec4e796b2fb Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 3 Aug 2026 08:18:38 +0000 Subject: [PATCH 125/195] sec-policy/selinux-container: Sync with Gentoo It's from Gentoo commit 767c7532632743551ec91049764d808139d6b052. Signed-off-by: Flatcar Buildbot --- .../sec-policy/selinux-container/Manifest | 2 ++ .../selinux-container-2.20260616_p1.ebuild | 14 ++++++++++++++ 2 files changed, 16 insertions(+) create mode 100644 sdk_container/src/third_party/portage-stable/sec-policy/selinux-container/selinux-container-2.20260616_p1.ebuild diff --git a/sdk_container/src/third_party/portage-stable/sec-policy/selinux-container/Manifest b/sdk_container/src/third_party/portage-stable/sec-policy/selinux-container/Manifest index 80babad0fc4..b593733d9d7 100644 --- a/sdk_container/src/third_party/portage-stable/sec-policy/selinux-container/Manifest +++ b/sdk_container/src/third_party/portage-stable/sec-policy/selinux-container/Manifest @@ -1,4 +1,6 @@ DIST patchbundle-selinux-base-policy-2.20250618-r1.tar.bz2 306720 BLAKE2B b90de06fd143293d67f244013b9a6d775864e7fdfa54c3b5852e31c7594338dfb927b1ef105f4dd688e68932d1d20f91ad7d5cfb909a93f962a427a0a8708c0c SHA512 124424dc8c8eb0f82735d30b000568a8c4c9969363d55cf4f15a5b82a2ca7619e93e5f908cafa9f1a2c4d35d2dcf76869cac85cff909e3fccf47c8666ec15616 DIST patchbundle-selinux-base-policy-2.20260312_p1.tar.bz2 9408379 BLAKE2B d5cb2ff2de4cf0e00dd1e84046729a69c255627d083a9dad4c750d87222001696043f58ed94e3ab0562314645cb38e41339e36dcf5cec0765749751b42389cc3 SHA512 7b0f87bb0084258a931cbace7c7b6828ed6e592cf348f1c695ec6f6b49030920eeb78cd558b14420951cc5ca6a1c1afa9e74023a7b7dae046eb13561256cd4e1 +DIST patchbundle-selinux-base-policy-2.20260616_p1.tar.bz2 297301 BLAKE2B a0fb3505d10044e02e34b5d72cc88dac7e9d1234a504d2cfb894827573a1cd69020722ef8023f2d37ad33e571ddeb00d377f5f37d9bed1925e0ab750235574c2 SHA512 dcf1becdf8bf75c4cf4f3e9b96a39fecd329d5f9accb2bb39fd6f61df511654fbe6f9c34094dbf0f8ae4e5e24faa59502df0a80af80a0d29adfdfb9b8be10ddd DIST refpolicy-2.20250618.tar.bz2 632711 BLAKE2B f522c16552fbbf66d4549bf082ece4be740018822b9b7da318c12aa3f3108a905b5f71fc6bb5e894468126123d81aa4e309912ec04c2a2e27feda00689a5ecd8 SHA512 3bfd32be63d0928c5be47707ce6d53bc3bb7b3d922fda2441d455b913eb79d33b16ba31320394aa1d9ec7afb6d9c853c3cd4c025962c6f355dbb7194bdb1c1a8 DIST refpolicy-2.20260312.tar.bz2 649774 BLAKE2B 11f6150010a57f9dba6284021cd4c6521cec8e907f1f08fad45191fe9966846265d3c03d00aec9f3210659e864b4d40cac6cb8e4793a686a00f754191bc41079 SHA512 a34b5b08f9cd969fd6c3a2ed07ccdfea359054d0071e25e99b3978fd678e2314975eaf67c3f0931a68a407e675a73a16bb021106dde1dd20c1fff115dd8d3b29 +DIST refpolicy-2.20260616.tar.bz2 655092 BLAKE2B b8dbfce78d68bb771f7f3795b00bee063d84d3eb4025e1ddb97592bfd25d8ae42868e9c03a0e2d86fb981c724f25e2d0dca73e21f978e3dffd1947ae2aa21064 SHA512 14336a518ac074e03ece3a97d61ba2e1e1edac270a80feb605c56a0d871166989043142534511c70c151c78b4ad5748c3aea9d77125538acdebdab8f2e06f21f diff --git a/sdk_container/src/third_party/portage-stable/sec-policy/selinux-container/selinux-container-2.20260616_p1.ebuild b/sdk_container/src/third_party/portage-stable/sec-policy/selinux-container/selinux-container-2.20260616_p1.ebuild new file mode 100644 index 00000000000..597fe6a587f --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sec-policy/selinux-container/selinux-container-2.20260616_p1.ebuild @@ -0,0 +1,14 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +MODS="container" + +inherit selinux-policy-2 + +DESCRIPTION="SELinux policy for container" + +if [[ ${PV} != 9999* ]] ; then + KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86" +fi From 96ff34f1a38c755c7286af7de9a12407f31d14b1 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 3 Aug 2026 08:18:38 +0000 Subject: [PATCH 126/195] sec-policy/selinux-dbus: Sync with Gentoo It's from Gentoo commit 767c7532632743551ec91049764d808139d6b052. Signed-off-by: Flatcar Buildbot --- .../sec-policy/selinux-dbus/Manifest | 2 ++ .../selinux-dbus/selinux-dbus-2.20260616_p1.ebuild | 14 ++++++++++++++ 2 files changed, 16 insertions(+) create mode 100644 sdk_container/src/third_party/portage-stable/sec-policy/selinux-dbus/selinux-dbus-2.20260616_p1.ebuild diff --git a/sdk_container/src/third_party/portage-stable/sec-policy/selinux-dbus/Manifest b/sdk_container/src/third_party/portage-stable/sec-policy/selinux-dbus/Manifest index 80babad0fc4..b593733d9d7 100644 --- a/sdk_container/src/third_party/portage-stable/sec-policy/selinux-dbus/Manifest +++ b/sdk_container/src/third_party/portage-stable/sec-policy/selinux-dbus/Manifest @@ -1,4 +1,6 @@ DIST patchbundle-selinux-base-policy-2.20250618-r1.tar.bz2 306720 BLAKE2B b90de06fd143293d67f244013b9a6d775864e7fdfa54c3b5852e31c7594338dfb927b1ef105f4dd688e68932d1d20f91ad7d5cfb909a93f962a427a0a8708c0c SHA512 124424dc8c8eb0f82735d30b000568a8c4c9969363d55cf4f15a5b82a2ca7619e93e5f908cafa9f1a2c4d35d2dcf76869cac85cff909e3fccf47c8666ec15616 DIST patchbundle-selinux-base-policy-2.20260312_p1.tar.bz2 9408379 BLAKE2B d5cb2ff2de4cf0e00dd1e84046729a69c255627d083a9dad4c750d87222001696043f58ed94e3ab0562314645cb38e41339e36dcf5cec0765749751b42389cc3 SHA512 7b0f87bb0084258a931cbace7c7b6828ed6e592cf348f1c695ec6f6b49030920eeb78cd558b14420951cc5ca6a1c1afa9e74023a7b7dae046eb13561256cd4e1 +DIST patchbundle-selinux-base-policy-2.20260616_p1.tar.bz2 297301 BLAKE2B a0fb3505d10044e02e34b5d72cc88dac7e9d1234a504d2cfb894827573a1cd69020722ef8023f2d37ad33e571ddeb00d377f5f37d9bed1925e0ab750235574c2 SHA512 dcf1becdf8bf75c4cf4f3e9b96a39fecd329d5f9accb2bb39fd6f61df511654fbe6f9c34094dbf0f8ae4e5e24faa59502df0a80af80a0d29adfdfb9b8be10ddd DIST refpolicy-2.20250618.tar.bz2 632711 BLAKE2B f522c16552fbbf66d4549bf082ece4be740018822b9b7da318c12aa3f3108a905b5f71fc6bb5e894468126123d81aa4e309912ec04c2a2e27feda00689a5ecd8 SHA512 3bfd32be63d0928c5be47707ce6d53bc3bb7b3d922fda2441d455b913eb79d33b16ba31320394aa1d9ec7afb6d9c853c3cd4c025962c6f355dbb7194bdb1c1a8 DIST refpolicy-2.20260312.tar.bz2 649774 BLAKE2B 11f6150010a57f9dba6284021cd4c6521cec8e907f1f08fad45191fe9966846265d3c03d00aec9f3210659e864b4d40cac6cb8e4793a686a00f754191bc41079 SHA512 a34b5b08f9cd969fd6c3a2ed07ccdfea359054d0071e25e99b3978fd678e2314975eaf67c3f0931a68a407e675a73a16bb021106dde1dd20c1fff115dd8d3b29 +DIST refpolicy-2.20260616.tar.bz2 655092 BLAKE2B b8dbfce78d68bb771f7f3795b00bee063d84d3eb4025e1ddb97592bfd25d8ae42868e9c03a0e2d86fb981c724f25e2d0dca73e21f978e3dffd1947ae2aa21064 SHA512 14336a518ac074e03ece3a97d61ba2e1e1edac270a80feb605c56a0d871166989043142534511c70c151c78b4ad5748c3aea9d77125538acdebdab8f2e06f21f diff --git a/sdk_container/src/third_party/portage-stable/sec-policy/selinux-dbus/selinux-dbus-2.20260616_p1.ebuild b/sdk_container/src/third_party/portage-stable/sec-policy/selinux-dbus/selinux-dbus-2.20260616_p1.ebuild new file mode 100644 index 00000000000..2f021f2fc55 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sec-policy/selinux-dbus/selinux-dbus-2.20260616_p1.ebuild @@ -0,0 +1,14 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +MODS="dbus" + +inherit selinux-policy-2 + +DESCRIPTION="SELinux policy for dbus" + +if [[ ${PV} != 9999* ]] ; then + KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86" +fi From c041ad1af91799e2aaa6878ae4d317de470af0eb Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 3 Aug 2026 08:18:39 +0000 Subject: [PATCH 127/195] sec-policy/selinux-policykit: Sync with Gentoo It's from Gentoo commit 767c7532632743551ec91049764d808139d6b052. Signed-off-by: Flatcar Buildbot --- .../sec-policy/selinux-policykit/Manifest | 2 ++ .../selinux-policykit-2.20260616_p1.ebuild | 14 ++++++++++++++ 2 files changed, 16 insertions(+) create mode 100644 sdk_container/src/third_party/portage-stable/sec-policy/selinux-policykit/selinux-policykit-2.20260616_p1.ebuild diff --git a/sdk_container/src/third_party/portage-stable/sec-policy/selinux-policykit/Manifest b/sdk_container/src/third_party/portage-stable/sec-policy/selinux-policykit/Manifest index 80babad0fc4..b593733d9d7 100644 --- a/sdk_container/src/third_party/portage-stable/sec-policy/selinux-policykit/Manifest +++ b/sdk_container/src/third_party/portage-stable/sec-policy/selinux-policykit/Manifest @@ -1,4 +1,6 @@ DIST patchbundle-selinux-base-policy-2.20250618-r1.tar.bz2 306720 BLAKE2B b90de06fd143293d67f244013b9a6d775864e7fdfa54c3b5852e31c7594338dfb927b1ef105f4dd688e68932d1d20f91ad7d5cfb909a93f962a427a0a8708c0c SHA512 124424dc8c8eb0f82735d30b000568a8c4c9969363d55cf4f15a5b82a2ca7619e93e5f908cafa9f1a2c4d35d2dcf76869cac85cff909e3fccf47c8666ec15616 DIST patchbundle-selinux-base-policy-2.20260312_p1.tar.bz2 9408379 BLAKE2B d5cb2ff2de4cf0e00dd1e84046729a69c255627d083a9dad4c750d87222001696043f58ed94e3ab0562314645cb38e41339e36dcf5cec0765749751b42389cc3 SHA512 7b0f87bb0084258a931cbace7c7b6828ed6e592cf348f1c695ec6f6b49030920eeb78cd558b14420951cc5ca6a1c1afa9e74023a7b7dae046eb13561256cd4e1 +DIST patchbundle-selinux-base-policy-2.20260616_p1.tar.bz2 297301 BLAKE2B a0fb3505d10044e02e34b5d72cc88dac7e9d1234a504d2cfb894827573a1cd69020722ef8023f2d37ad33e571ddeb00d377f5f37d9bed1925e0ab750235574c2 SHA512 dcf1becdf8bf75c4cf4f3e9b96a39fecd329d5f9accb2bb39fd6f61df511654fbe6f9c34094dbf0f8ae4e5e24faa59502df0a80af80a0d29adfdfb9b8be10ddd DIST refpolicy-2.20250618.tar.bz2 632711 BLAKE2B f522c16552fbbf66d4549bf082ece4be740018822b9b7da318c12aa3f3108a905b5f71fc6bb5e894468126123d81aa4e309912ec04c2a2e27feda00689a5ecd8 SHA512 3bfd32be63d0928c5be47707ce6d53bc3bb7b3d922fda2441d455b913eb79d33b16ba31320394aa1d9ec7afb6d9c853c3cd4c025962c6f355dbb7194bdb1c1a8 DIST refpolicy-2.20260312.tar.bz2 649774 BLAKE2B 11f6150010a57f9dba6284021cd4c6521cec8e907f1f08fad45191fe9966846265d3c03d00aec9f3210659e864b4d40cac6cb8e4793a686a00f754191bc41079 SHA512 a34b5b08f9cd969fd6c3a2ed07ccdfea359054d0071e25e99b3978fd678e2314975eaf67c3f0931a68a407e675a73a16bb021106dde1dd20c1fff115dd8d3b29 +DIST refpolicy-2.20260616.tar.bz2 655092 BLAKE2B b8dbfce78d68bb771f7f3795b00bee063d84d3eb4025e1ddb97592bfd25d8ae42868e9c03a0e2d86fb981c724f25e2d0dca73e21f978e3dffd1947ae2aa21064 SHA512 14336a518ac074e03ece3a97d61ba2e1e1edac270a80feb605c56a0d871166989043142534511c70c151c78b4ad5748c3aea9d77125538acdebdab8f2e06f21f diff --git a/sdk_container/src/third_party/portage-stable/sec-policy/selinux-policykit/selinux-policykit-2.20260616_p1.ebuild b/sdk_container/src/third_party/portage-stable/sec-policy/selinux-policykit/selinux-policykit-2.20260616_p1.ebuild new file mode 100644 index 00000000000..616b3d55b31 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sec-policy/selinux-policykit/selinux-policykit-2.20260616_p1.ebuild @@ -0,0 +1,14 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +MODS="policykit" + +inherit selinux-policy-2 + +DESCRIPTION="SELinux policy for policykit" + +if [[ ${PV} != 9999* ]] ; then + KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86" +fi From 71021776c1213eec220f7e2ab80236dad22655f7 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 3 Aug 2026 08:18:39 +0000 Subject: [PATCH 128/195] sec-policy/selinux-sssd: Sync with Gentoo It's from Gentoo commit 767c7532632743551ec91049764d808139d6b052. Signed-off-by: Flatcar Buildbot --- .../sec-policy/selinux-sssd/Manifest | 2 ++ .../selinux-sssd/selinux-sssd-2.20260616_p1.ebuild | 14 ++++++++++++++ 2 files changed, 16 insertions(+) create mode 100644 sdk_container/src/third_party/portage-stable/sec-policy/selinux-sssd/selinux-sssd-2.20260616_p1.ebuild diff --git a/sdk_container/src/third_party/portage-stable/sec-policy/selinux-sssd/Manifest b/sdk_container/src/third_party/portage-stable/sec-policy/selinux-sssd/Manifest index 80babad0fc4..b593733d9d7 100644 --- a/sdk_container/src/third_party/portage-stable/sec-policy/selinux-sssd/Manifest +++ b/sdk_container/src/third_party/portage-stable/sec-policy/selinux-sssd/Manifest @@ -1,4 +1,6 @@ DIST patchbundle-selinux-base-policy-2.20250618-r1.tar.bz2 306720 BLAKE2B b90de06fd143293d67f244013b9a6d775864e7fdfa54c3b5852e31c7594338dfb927b1ef105f4dd688e68932d1d20f91ad7d5cfb909a93f962a427a0a8708c0c SHA512 124424dc8c8eb0f82735d30b000568a8c4c9969363d55cf4f15a5b82a2ca7619e93e5f908cafa9f1a2c4d35d2dcf76869cac85cff909e3fccf47c8666ec15616 DIST patchbundle-selinux-base-policy-2.20260312_p1.tar.bz2 9408379 BLAKE2B d5cb2ff2de4cf0e00dd1e84046729a69c255627d083a9dad4c750d87222001696043f58ed94e3ab0562314645cb38e41339e36dcf5cec0765749751b42389cc3 SHA512 7b0f87bb0084258a931cbace7c7b6828ed6e592cf348f1c695ec6f6b49030920eeb78cd558b14420951cc5ca6a1c1afa9e74023a7b7dae046eb13561256cd4e1 +DIST patchbundle-selinux-base-policy-2.20260616_p1.tar.bz2 297301 BLAKE2B a0fb3505d10044e02e34b5d72cc88dac7e9d1234a504d2cfb894827573a1cd69020722ef8023f2d37ad33e571ddeb00d377f5f37d9bed1925e0ab750235574c2 SHA512 dcf1becdf8bf75c4cf4f3e9b96a39fecd329d5f9accb2bb39fd6f61df511654fbe6f9c34094dbf0f8ae4e5e24faa59502df0a80af80a0d29adfdfb9b8be10ddd DIST refpolicy-2.20250618.tar.bz2 632711 BLAKE2B f522c16552fbbf66d4549bf082ece4be740018822b9b7da318c12aa3f3108a905b5f71fc6bb5e894468126123d81aa4e309912ec04c2a2e27feda00689a5ecd8 SHA512 3bfd32be63d0928c5be47707ce6d53bc3bb7b3d922fda2441d455b913eb79d33b16ba31320394aa1d9ec7afb6d9c853c3cd4c025962c6f355dbb7194bdb1c1a8 DIST refpolicy-2.20260312.tar.bz2 649774 BLAKE2B 11f6150010a57f9dba6284021cd4c6521cec8e907f1f08fad45191fe9966846265d3c03d00aec9f3210659e864b4d40cac6cb8e4793a686a00f754191bc41079 SHA512 a34b5b08f9cd969fd6c3a2ed07ccdfea359054d0071e25e99b3978fd678e2314975eaf67c3f0931a68a407e675a73a16bb021106dde1dd20c1fff115dd8d3b29 +DIST refpolicy-2.20260616.tar.bz2 655092 BLAKE2B b8dbfce78d68bb771f7f3795b00bee063d84d3eb4025e1ddb97592bfd25d8ae42868e9c03a0e2d86fb981c724f25e2d0dca73e21f978e3dffd1947ae2aa21064 SHA512 14336a518ac074e03ece3a97d61ba2e1e1edac270a80feb605c56a0d871166989043142534511c70c151c78b4ad5748c3aea9d77125538acdebdab8f2e06f21f diff --git a/sdk_container/src/third_party/portage-stable/sec-policy/selinux-sssd/selinux-sssd-2.20260616_p1.ebuild b/sdk_container/src/third_party/portage-stable/sec-policy/selinux-sssd/selinux-sssd-2.20260616_p1.ebuild new file mode 100644 index 00000000000..1489826b6aa --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sec-policy/selinux-sssd/selinux-sssd-2.20260616_p1.ebuild @@ -0,0 +1,14 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +MODS="sssd" + +inherit selinux-policy-2 + +DESCRIPTION="SELinux policy for sssd" + +if [[ ${PV} != 9999* ]] ; then + KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86" +fi From c8ff3be5d9c655072b99d3d343fcd89be56f7292 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 3 Aug 2026 08:18:39 +0000 Subject: [PATCH 129/195] sec-policy/selinux-unconfined: Sync with Gentoo It's from Gentoo commit 767c7532632743551ec91049764d808139d6b052. Signed-off-by: Flatcar Buildbot --- .../sec-policy/selinux-unconfined/Manifest | 2 ++ .../selinux-unconfined-2.20260616_p1.ebuild | 14 ++++++++++++++ 2 files changed, 16 insertions(+) create mode 100644 sdk_container/src/third_party/portage-stable/sec-policy/selinux-unconfined/selinux-unconfined-2.20260616_p1.ebuild diff --git a/sdk_container/src/third_party/portage-stable/sec-policy/selinux-unconfined/Manifest b/sdk_container/src/third_party/portage-stable/sec-policy/selinux-unconfined/Manifest index 80babad0fc4..b593733d9d7 100644 --- a/sdk_container/src/third_party/portage-stable/sec-policy/selinux-unconfined/Manifest +++ b/sdk_container/src/third_party/portage-stable/sec-policy/selinux-unconfined/Manifest @@ -1,4 +1,6 @@ DIST patchbundle-selinux-base-policy-2.20250618-r1.tar.bz2 306720 BLAKE2B b90de06fd143293d67f244013b9a6d775864e7fdfa54c3b5852e31c7594338dfb927b1ef105f4dd688e68932d1d20f91ad7d5cfb909a93f962a427a0a8708c0c SHA512 124424dc8c8eb0f82735d30b000568a8c4c9969363d55cf4f15a5b82a2ca7619e93e5f908cafa9f1a2c4d35d2dcf76869cac85cff909e3fccf47c8666ec15616 DIST patchbundle-selinux-base-policy-2.20260312_p1.tar.bz2 9408379 BLAKE2B d5cb2ff2de4cf0e00dd1e84046729a69c255627d083a9dad4c750d87222001696043f58ed94e3ab0562314645cb38e41339e36dcf5cec0765749751b42389cc3 SHA512 7b0f87bb0084258a931cbace7c7b6828ed6e592cf348f1c695ec6f6b49030920eeb78cd558b14420951cc5ca6a1c1afa9e74023a7b7dae046eb13561256cd4e1 +DIST patchbundle-selinux-base-policy-2.20260616_p1.tar.bz2 297301 BLAKE2B a0fb3505d10044e02e34b5d72cc88dac7e9d1234a504d2cfb894827573a1cd69020722ef8023f2d37ad33e571ddeb00d377f5f37d9bed1925e0ab750235574c2 SHA512 dcf1becdf8bf75c4cf4f3e9b96a39fecd329d5f9accb2bb39fd6f61df511654fbe6f9c34094dbf0f8ae4e5e24faa59502df0a80af80a0d29adfdfb9b8be10ddd DIST refpolicy-2.20250618.tar.bz2 632711 BLAKE2B f522c16552fbbf66d4549bf082ece4be740018822b9b7da318c12aa3f3108a905b5f71fc6bb5e894468126123d81aa4e309912ec04c2a2e27feda00689a5ecd8 SHA512 3bfd32be63d0928c5be47707ce6d53bc3bb7b3d922fda2441d455b913eb79d33b16ba31320394aa1d9ec7afb6d9c853c3cd4c025962c6f355dbb7194bdb1c1a8 DIST refpolicy-2.20260312.tar.bz2 649774 BLAKE2B 11f6150010a57f9dba6284021cd4c6521cec8e907f1f08fad45191fe9966846265d3c03d00aec9f3210659e864b4d40cac6cb8e4793a686a00f754191bc41079 SHA512 a34b5b08f9cd969fd6c3a2ed07ccdfea359054d0071e25e99b3978fd678e2314975eaf67c3f0931a68a407e675a73a16bb021106dde1dd20c1fff115dd8d3b29 +DIST refpolicy-2.20260616.tar.bz2 655092 BLAKE2B b8dbfce78d68bb771f7f3795b00bee063d84d3eb4025e1ddb97592bfd25d8ae42868e9c03a0e2d86fb981c724f25e2d0dca73e21f978e3dffd1947ae2aa21064 SHA512 14336a518ac074e03ece3a97d61ba2e1e1edac270a80feb605c56a0d871166989043142534511c70c151c78b4ad5748c3aea9d77125538acdebdab8f2e06f21f diff --git a/sdk_container/src/third_party/portage-stable/sec-policy/selinux-unconfined/selinux-unconfined-2.20260616_p1.ebuild b/sdk_container/src/third_party/portage-stable/sec-policy/selinux-unconfined/selinux-unconfined-2.20260616_p1.ebuild new file mode 100644 index 00000000000..581d624a16b --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sec-policy/selinux-unconfined/selinux-unconfined-2.20260616_p1.ebuild @@ -0,0 +1,14 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +MODS="unconfined" + +inherit selinux-policy-2 + +DESCRIPTION="SELinux policy for unconfined" + +if [[ ${PV} != 9999* ]] ; then + KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86" +fi From b97e7c2de233662c68654cba6d6138ae3d02f8bb Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 3 Aug 2026 08:18:39 +0000 Subject: [PATCH 130/195] sys-apps/acl: Sync with Gentoo It's from Gentoo commit 97bb3a60925c871e441f75aa35922c3cc5c41c4b. Signed-off-by: Flatcar Buildbot --- .../sys-apps/acl/{acl-2.4.0.ebuild => acl-2.4.0-r2.ebuild} | 4 ++++ .../third_party/portage-stable/sys-apps/acl/acl-9999.ebuild | 4 ++++ 2 files changed, 8 insertions(+) rename sdk_container/src/third_party/portage-stable/sys-apps/acl/{acl-2.4.0.ebuild => acl-2.4.0-r2.ebuild} (85%) diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/acl/acl-2.4.0.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/acl/acl-2.4.0-r2.ebuild similarity index 85% rename from sdk_container/src/third_party/portage-stable/sys-apps/acl/acl-2.4.0.ebuild rename to sdk_container/src/third_party/portage-stable/sys-apps/acl/acl-2.4.0-r2.ebuild index c215e1806aa..fa298648e33 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/acl/acl-2.4.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-apps/acl/acl-2.4.0-r2.ebuild @@ -28,6 +28,10 @@ LICENSE="LGPL-2.1+ GPL-2" SLOT="0" IUSE="nls static-libs" +# attr dep should be obsolete with >=2.4.0 but there's a configure check +# left, and also some header use in libacl/ still (bug #978746, reported on acl-devel at +# https://lists.nongnu.org/archive/html/acl-devel/2026-07/msg00000.html). +DEPEND="sys-apps/attr" BDEPEND+=" nls? ( sys-devel/gettext )" src_prepare() { diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/acl/acl-9999.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/acl/acl-9999.ebuild index c215e1806aa..fa298648e33 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/acl/acl-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-apps/acl/acl-9999.ebuild @@ -28,6 +28,10 @@ LICENSE="LGPL-2.1+ GPL-2" SLOT="0" IUSE="nls static-libs" +# attr dep should be obsolete with >=2.4.0 but there's a configure check +# left, and also some header use in libacl/ still (bug #978746, reported on acl-devel at +# https://lists.nongnu.org/archive/html/acl-devel/2026-07/msg00000.html). +DEPEND="sys-apps/attr" BDEPEND+=" nls? ( sys-devel/gettext )" src_prepare() { From bbbb0c72af298093664c77b86554c6745f9e3391 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 3 Aug 2026 08:18:49 +0000 Subject: [PATCH 131/195] sys-apps/file: Sync with Gentoo It's from Gentoo commit fb69d7e3a2a44acaad48c1d759e19218504ff795. Signed-off-by: Flatcar Buildbot --- .../third_party/portage-stable/sys-apps/file/file-5.48.ebuild | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/file/file-5.48.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/file/file-5.48.ebuild index 95e3022d87a..c133c5da049 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/file/file-5.48.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-apps/file/file-5.48.ebuild @@ -18,7 +18,7 @@ else SRC_URI="https://astron.com/pub/file/${P}.tar.gz" SRC_URI+=" verify-sig? ( https://astron.com/pub/file/${P}.tar.gz.asc )" - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris" + KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" BDEPEND="verify-sig? ( sec-keys/openpgp-keys-file )" fi From 53b4e36386a8845d568b662a75e3a2b0a1f3a83a Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 3 Aug 2026 08:18:50 +0000 Subject: [PATCH 132/195] sys-apps/findutils: Sync with Gentoo It's from Gentoo commit 5a6a64620a79dfda3b0dc0d83308a0328e8d3f95. Signed-off-by: Flatcar Buildbot --- .../sys-apps/findutils/Manifest | 2 + .../findutils/findutils-4.11.0.ebuild | 109 ++++++++++++++++++ 2 files changed, 111 insertions(+) create mode 100644 sdk_container/src/third_party/portage-stable/sys-apps/findutils/findutils-4.11.0.ebuild diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/findutils/Manifest b/sdk_container/src/third_party/portage-stable/sys-apps/findutils/Manifest index de22610004b..742cb3055ff 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/findutils/Manifest +++ b/sdk_container/src/third_party/portage-stable/sys-apps/findutils/Manifest @@ -1,2 +1,4 @@ DIST findutils-4.10.0.tar.xz 2240712 BLAKE2B 2eebdcb425c04170d17afb80e7270ba095bd691660d961dcfa731141633d3bb597d0b47d69ed17e891ef884a36d4c232885097e45b41d3d3ac79dbeae6ee2282 SHA512 b8b683d21cd26c6da4f41c56e83cadbda4780f8610a2bbd4b4e34bb1f339c3209721974b03e076d5eef0331fd876d947b398197aad37c29bbcc2e0405c641b34 DIST findutils-4.10.0.tar.xz.sig 488 BLAKE2B fadd7dbf80a52965d6da641bda21ce00790623cf2c959ed03c1193a22c19f30417733511a739edcb1a0a97892a1257e0e88e32d872f94e71e3ade04776337d3c SHA512 a835153a0671309021be187bf78afee58d9682acb40545aaa9dd187f0ebdea0cfa5583bd03f363243633ea056ddb0a7a6603987ab5e34a608426cb4265ac6d8f +DIST findutils-4.11.0.tar.xz 2451424 BLAKE2B d3d881c60efb01eacf14a6bad95513b0186b694d0857a708bb28864fdf949fa99cbb80d2c8bf70e4bac65ebfba852bfa8435bf637fa7716e80e55a8b06ea1313 SHA512 1b667c5363b599135ceabab6b4b5388dbee6de4e7fa301f5dfefc854473e442fbfe7dda93a28a70505c026987acd375d13169f76d18da49d29c1fb2e09c83fef +DIST findutils-4.11.0.tar.xz.sig 833 BLAKE2B 5f16452a599d293029fd7de26a35a656ae48566df94c6ffdc10f7a64701c6186d6218ece8726f514abf578e6285ffbce67016b8c88999c5f1095a7cdbbc15619 SHA512 00847206d4656ce6aed297b675493d9cc7c052656aaca27feaccea432dc8274de1a39bb306b031209427c59e62497e7201f464df8fe32191f4cb711c929e46f4 diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/findutils/findutils-4.11.0.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/findutils/findutils-4.11.0.ebuild new file mode 100644 index 00000000000..3f3f8dd0d37 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-apps/findutils/findutils-4.11.0.ebuild @@ -0,0 +1,109 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{12..15} ) +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/findutils.asc +inherit branding flag-o-matic python-any-r1 verify-sig + +DESCRIPTION="GNU utilities for finding files" +HOMEPAGE="https://www.gnu.org/software/findutils/" +SRC_URI=" + mirror://gnu/${PN}/${P}.tar.xz + verify-sig? ( mirror://gnu/${PN}/${P}.tar.xz.sig ) +" + +LICENSE="GPL-3+" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris" +IUSE="nls selinux static test test-full" +RESTRICT="!test? ( test )" + +RDEPEND=" + selinux? ( sys-libs/libselinux ) + nls? ( virtual/libintl ) +" +DEPEND="${RDEPEND}" +BDEPEND=" + nls? ( sys-devel/gettext ) + test? ( + ${PYTHON_DEPS} + dev-util/dejagnu + ) + verify-sig? ( sec-keys/openpgp-keys-findutils ) +" + +pkg_setup() { + use test && python-any-r1_pkg_setup +} + +src_prepare() { + # Don't build or install locate because it conflicts with mlocate, + # which is a secure version of locate. See bug #18729. + sed \ + -e '/^SUBDIRS/s@locate@@' \ + -e '/^built_programs/s@ frcode locate updatedb@@' \ + -i Makefile.in || die + + default +} + +src_configure() { + if use static; then + append-flags -pthread + append-ldflags -static + fi + + append-lfs-flags + + if [[ ${CHOST} == *-darwin* ]] ; then + # https://lists.gnu.org/archive/html/bug-findutils/2021-01/msg00050.html + # https://lists.gnu.org/archive/html/bug-findutils/2021-01/msg00051.html + append-cppflags '-D__nonnull\(X\)=' + fi + + if [[ ${CHOST} == *-solaris* ]] ; then + # https://bugs.gentoo.org/975237 needs gnulib update, should be + # in next release + sed -i -e 's/HAVE_GETLOCALENAME_L/DISABLED/' configure || die + fi + + local myeconfargs=( + $(use_enable nls) + $(use_with selinux) + --libexecdir='$(libdir)'/find + # rename to gfind, gxargs for better BSD compatibility + --program-prefix=g + ) + + # https://savannah.gnu.org/support/?111394 + # This can be removed when we patch dev-build/autoconf, though + # packages w/o eautoreconf will still need it. + [[ ${enable_year2038} == "no" ]] && myeconfargs+=( --disable-year2038 ) + + econf "${myeconfargs[@]}" +} + +src_compile() { + # We don't build locate, but the docs want a file in there. + emake -C locate dblocation.texi + default +} + +src_test() { + local -x SANDBOX_PREDICT=${SANDBOX_PREDICT} + local -x RUN_{VERY_,}EXPENSIVE_TESTS=$(usex test-full yes no) + addpredict / + default +} + +src_install() { + default + + # symlink to the standard names + dosym gfind /usr/bin/find + dosym gxargs /usr/bin/xargs + dosym gfind.1 /usr/share/man/man1/find.1 + dosym gxargs.1 /usr/share/man/man1/xargs.1 +} From 406d024a12a3bb7baf7315a9bf9a502d88e0540a Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 3 Aug 2026 08:18:50 +0000 Subject: [PATCH 133/195] sys-apps/gawk: Sync with Gentoo It's from Gentoo commit 684c6ba211be5d358344285b221a8a461672df60. Signed-off-by: Flatcar Buildbot --- .../src/third_party/portage-stable/sys-apps/gawk/Manifest | 3 ++- .../sys-apps/gawk/{gawk-5.4.0e.ebuild => gawk-5.4.1.ebuild} | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) rename sdk_container/src/third_party/portage-stable/sys-apps/gawk/{gawk-5.4.0e.ebuild => gawk-5.4.1.ebuild} (99%) diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/gawk/Manifest b/sdk_container/src/third_party/portage-stable/sys-apps/gawk/Manifest index 90bf9f674e8..47d2f0dbaaf 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/gawk/Manifest +++ b/sdk_container/src/third_party/portage-stable/sys-apps/gawk/Manifest @@ -2,4 +2,5 @@ DIST gawk-5.3.2.tar.xz 3749260 BLAKE2B 8536777bb45c63d737ef08b3f1b98285cb29ec544 DIST gawk-5.3.2.tar.xz.sig 488 BLAKE2B ea843fce8ca2b93a8006260e8022f3426daccc18b93bd75ef1fb18e391ce110a10682e75509d771ba9c419d1e22a584f66ff9a436512b76b039a85afed6c7596 SHA512 490f29271d06f374e25e13724f5944215734d0c6da465da5b2a723e83fa31a03c7a16e5c8853465561bc0676139588b1046c598554ccde4ae24563455ee28b65 DIST gawk-5.4.0.tar.xz 3803276 BLAKE2B ce326dc386e62d288c4fe1268ba493f9c3a1e8af7dec90f95b2942588370f5a3538837d71dc4208534ace2aa84fce46ab6d5d681451b560fdf884aaf1b89fb11 SHA512 b212c6ffd235d5e7f98f0cae5a4fbe9a7139c420400710a747dc2c33dcbda445adc2f6f8ebab330c52c432da67b92be1806c628d261db826a72c89011b2d9d77 DIST gawk-5.4.0.tar.xz.sig 488 BLAKE2B 7e2c6e6fadba3fdd758563221c2f45b45512262f5f7ca49b6bf60993fc59825c7be7d526e8f014e0bc0304b74a07182d0701817db6726bafc5106c27f5687d3b SHA512 428a35d7183032fa58eb6edcc8b352c956218086476d42b1f1064cdec58c1e233ec421559e859f4a5df235709c932e88b54303081b549e9ced3a82c4abaaf030 -DIST gawk-5.4.0e.tar.gz 6706796 BLAKE2B 3495a9f41322ba168c21dd46257161cdc339daca761e5cd6be5640cbd25c6541ada610a844e5245ad623943c323293c4ffac92977e1b4c664a6e3b4a38da2946 SHA512 2d1bf41d8b544505e31b0e5878e4d79184d11e21cfd10add731a64aeed697fbf5794cdb63be4132142eee600c0f11066a34bb48c839924c4c766bc90a03aae10 +DIST gawk-5.4.1.tar.xz 3838416 BLAKE2B 8bd7913c268a66e3f9eca6bed8d7b8fe23c75148c932d186c5e35429dc12f331f960e0fbb5d62d4675ff47f369f63c92db5b3214303edab3a868f0071dd0c4c1 SHA512 a1e79b71e13ce7d5487f89fb62125ec873dc89e0a3ff37ebdff017fdd6dfd38b1eaa95fedcf773c037ae84c95f0ea0817d53bc1c14b4284568f87606da6aa152 +DIST gawk-5.4.1.tar.xz.sig 488 BLAKE2B dd9b14c95b414a1e360f71bed5c419d930a61eed6367c53cf4b8c2a8cdba8470453d30a3821df2bef6ab469ec351a008a059558d6fd52a25fa6f9882017397df SHA512 4aded49d65bb671e56689cf29a4b5478ee88ba127e949699a5432e3d23f2c6d3b56d64af1e14c3b55de5b6a95da520a81e4dad540a973bdcb9f8298eb230e4eb diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/gawk/gawk-5.4.0e.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/gawk/gawk-5.4.1.ebuild similarity index 99% rename from sdk_container/src/third_party/portage-stable/sys-apps/gawk/gawk-5.4.0e.ebuild rename to sdk_container/src/third_party/portage-stable/sys-apps/gawk/gawk-5.4.1.ebuild index e40971abaf6..d1aa57e09c2 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/gawk/gawk-5.4.0e.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-apps/gawk/gawk-5.4.1.ebuild @@ -3,7 +3,7 @@ EAPI=8 -GAWK_IS_BETA=yes +GAWK_IS_BETA=no DESCRIPTION="GNU awk pattern-matching language" HOMEPAGE="https://www.gnu.org/software/gawk/gawk.html" From 1c0372bbfb0b89f990b9f81a416f4f40b8fb3a57 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 3 Aug 2026 08:19:02 +0000 Subject: [PATCH 134/195] sys-apps/less: Sync with Gentoo It's from Gentoo commit 2d5f8204a4b0a049fe1229130b1f92d1c208d9ac. Signed-off-by: Flatcar Buildbot --- .../third_party/portage-stable/sys-apps/less/less-704.ebuild | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/less/less-704.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/less/less-704.ebuild index cdf5c5aba78..c38feb33ed1 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/less/less-704.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-apps/less/less-704.ebuild @@ -35,7 +35,7 @@ else BDEPEND="verify-sig? ( sec-keys/openpgp-keys-less )" if [[ ${PV} != *_beta* ]] ; then - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris" + KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" fi fi From d407d7f06d7857df6dc5696b54bac22418d51e3a Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 3 Aug 2026 08:19:11 +0000 Subject: [PATCH 135/195] sys-apps/pkgcore: Sync with Gentoo It's from Gentoo commit 581b46ae819dfd429b0d43969e65227e32e23cbb. Signed-off-by: Flatcar Buildbot --- .../portage-stable/sys-apps/pkgcore/Manifest | 2 + .../sys-apps/pkgcore/pkgcore-0.12.35.ebuild | 2 +- .../sys-apps/pkgcore/pkgcore-0.12.36.ebuild | 49 +++++++++++++++++++ .../sys-apps/pkgcore/pkgcore-0.12.37.ebuild | 49 +++++++++++++++++++ .../sys-apps/pkgcore/pkgcore-9999.ebuild | 3 +- 5 files changed, 103 insertions(+), 2 deletions(-) create mode 100644 sdk_container/src/third_party/portage-stable/sys-apps/pkgcore/pkgcore-0.12.36.ebuild create mode 100644 sdk_container/src/third_party/portage-stable/sys-apps/pkgcore/pkgcore-0.12.37.ebuild diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/pkgcore/Manifest b/sdk_container/src/third_party/portage-stable/sys-apps/pkgcore/Manifest index c44cb35bf59..ac79fe6ceb9 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/pkgcore/Manifest +++ b/sdk_container/src/third_party/portage-stable/sys-apps/pkgcore/Manifest @@ -1,2 +1,4 @@ DIST pkgcore-0.12.32.tar.gz 585834 BLAKE2B 005864930c21604097ba6b663753e8827fad7d956017d55f41f1861b4bf8b2ea7abae557ae5af69b20af756638924325a91916939d05b49967c8e82544b52296 SHA512 7342790d29652e98efd6bd0925450a5355ba4716489ab6d5452574519586dccc57898313802e7da09e8f914f8e29e1b6e872664185072ef71b96aec884dea71b DIST pkgcore-0.12.35.tar.gz 597676 BLAKE2B dd28c6a51544b5ddc5de0494e6c70d9d58a19d34904cea3004304dfd32183af97163dd1bed2ec6846015785894e2d55cfec63b5bb69057ff0619add653bb649f SHA512 c0912375c162b136b337808bf1391f6a637919dafac6a31dfcb3c70b4360b150e5c6edd2c85b72870d7809e7560fb9914ca76d9f1224df6acc220a87514f27a3 +DIST pkgcore-0.12.36.tar.gz 598774 BLAKE2B 0de5bc813128f467d2e76bd95a7015f34e39988c1e3938002f851151a0008b942a260e6962fad220dfd906b303a3dc36e239b6ce489706a2b7e8920e2807e64a SHA512 b1e832152f62683f25b27118327c67f3c2505ebd2d05d7a5b9c8ac67ef7d7ff84f0c063833d8ae3863eb49401c92f885b4929bc6886e202e70181ea5dd4b5f06 +DIST pkgcore-0.12.37.tar.gz 601731 BLAKE2B b4320a9e6e4bf6e7e3185f0e7f906fe53846e0d6d4a97ede3c53fdf26493b27a4f42c10c6ced438e381b7cedc4289c2bbf87e5f2905b829f331f6f3be681dc64 SHA512 30d6f6600cf68aede6963fd0c170842fb834b183b4225e5357b3d2e79a2d49957f67b667798e7dfb08b0d73a34380bd2a34a76ad52810849cc8b748731fb58e2 diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/pkgcore/pkgcore-0.12.35.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/pkgcore/pkgcore-0.12.35.ebuild index 623f872aea6..abbe7cb25d5 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/pkgcore/pkgcore-0.12.35.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-apps/pkgcore/pkgcore-0.12.35.ebuild @@ -12,7 +12,7 @@ if [[ ${PV} == *9999 ]] ; then https://github.com/pkgcore/pkgcore.git" inherit git-r3 else - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos" + KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~x64-macos" inherit pypi fi diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/pkgcore/pkgcore-0.12.36.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/pkgcore/pkgcore-0.12.36.ebuild new file mode 100644 index 00000000000..f720fa30cd6 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-apps/pkgcore/pkgcore-0.12.36.ebuild @@ -0,0 +1,49 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=standalone +PYTHON_COMPAT=( python3_{12..15} ) +inherit distutils-r1 + +if [[ ${PV} == *9999 ]] ; then + EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/pkgcore/pkgcore.git + https://github.com/pkgcore/pkgcore.git" + inherit git-r3 +else + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos" + inherit pypi +fi + +DESCRIPTION="a framework for package management" +HOMEPAGE="https://github.com/pkgcore/pkgcore" + +LICENSE="BSD MIT" +SLOT="0" + +if [[ ${PV} == *9999 ]]; then + RDEPEND="~dev-python/snakeoil-9999[${PYTHON_USEDEP}]" +else + RDEPEND=">=dev-python/snakeoil-0.11.2[${PYTHON_USEDEP}]" +fi + +RDEPEND+=" + >=app-shells/bash-5.3[readline] + dev-python/lxml[${PYTHON_USEDEP}] +" +BDEPEND="${RDEPEND} + >=dev-python/flit-core-3.8[${PYTHON_USEDEP}] + test? ( + dev-vcs/git + ) +" + +EPYTEST_PLUGINS=( pkgcore ) +distutils_enable_tests pytest + +python_install_all() { + local DOCS=( NEWS.rst ) + [[ ${PV} == *9999 ]] || doman build/sphinx/man/* + distutils-r1_python_install_all +} diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/pkgcore/pkgcore-0.12.37.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/pkgcore/pkgcore-0.12.37.ebuild new file mode 100644 index 00000000000..f0ba93257d1 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-apps/pkgcore/pkgcore-0.12.37.ebuild @@ -0,0 +1,49 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=standalone +PYTHON_COMPAT=( python3_{12..15} ) +inherit distutils-r1 + +if [[ ${PV} == *9999 ]] ; then + EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/pkgcore/pkgcore.git + https://github.com/pkgcore/pkgcore.git" + inherit git-r3 +else + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos" + inherit pypi +fi + +DESCRIPTION="a framework for package management" +HOMEPAGE="https://github.com/pkgcore/pkgcore" + +LICENSE="BSD MIT" +SLOT="0" + +if [[ ${PV} == *9999 ]]; then + RDEPEND="~dev-python/snakeoil-9999[${PYTHON_USEDEP}]" +else + RDEPEND=">=dev-python/snakeoil-0.11.3[${PYTHON_USEDEP}]" +fi + +RDEPEND+=" + >=app-shells/bash-5.3[readline] + dev-python/lxml[${PYTHON_USEDEP}] +" +BDEPEND="${RDEPEND} + >=dev-python/flit-core-3.8[${PYTHON_USEDEP}] + test? ( + dev-vcs/git + ) +" + +EPYTEST_PLUGINS=( pkgcore ) +distutils_enable_tests pytest + +python_install_all() { + local DOCS=( NEWS.rst ) + [[ ${PV} == *9999 ]] || doman build/sphinx/man/* + distutils-r1_python_install_all +} diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/pkgcore/pkgcore-9999.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/pkgcore/pkgcore-9999.ebuild index 8eea3b6984e..f720fa30cd6 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/pkgcore/pkgcore-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-apps/pkgcore/pkgcore-9999.ebuild @@ -25,7 +25,7 @@ SLOT="0" if [[ ${PV} == *9999 ]]; then RDEPEND="~dev-python/snakeoil-9999[${PYTHON_USEDEP}]" else - RDEPEND=">=dev-python/snakeoil-0.11.1[${PYTHON_USEDEP}]" + RDEPEND=">=dev-python/snakeoil-0.11.2[${PYTHON_USEDEP}]" fi RDEPEND+=" @@ -39,6 +39,7 @@ BDEPEND="${RDEPEND} ) " +EPYTEST_PLUGINS=( pkgcore ) distutils_enable_tests pytest python_install_all() { From 8aac3b03c4a9387e5d63b4324c2998481b3eb99c Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 3 Aug 2026 08:19:11 +0000 Subject: [PATCH 136/195] sys-apps/portage: Sync with Gentoo It's from Gentoo commit 094f21e3a017b86ab73e92b6471da143c7d651a8. Signed-off-by: Flatcar Buildbot --- .../portage-stable/sys-apps/portage/Manifest | 1 + ...oise-from-objcopy-if-build-ID-sectio.patch | 66 ----- ...h-earlier-slot-operator-backtracking.patch | 259 ------------------ ...ak-the-debuglink-CRC-with-the-salted.patch | 58 ---- .../sys-apps/portage/portage-3.0.81.2.ebuild | 234 ++++++++++++++++ 5 files changed, 235 insertions(+), 383 deletions(-) delete mode 100644 sdk_container/src/third_party/portage-stable/sys-apps/portage/files/0001-estrip-silence-noise-from-objcopy-if-build-ID-sectio.patch delete mode 100644 sdk_container/src/third_party/portage-stable/sys-apps/portage/files/0002-Revert-depgraph-earlier-slot-operator-backtracking.patch delete mode 100644 sdk_container/src/third_party/portage-stable/sys-apps/portage/files/0003-estrip-Don-t-break-the-debuglink-CRC-with-the-salted.patch create mode 100644 sdk_container/src/third_party/portage-stable/sys-apps/portage/portage-3.0.81.2.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 553494ce2a3..08c97f43ac2 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,4 +1,5 @@ DIST portage-3.0.79.tar.bz2 1235108 BLAKE2B 279b874be40f3ba610d8dc439683a388dc926cabe236dc4426a64fcd1267484312e84b15fb44c80ecb0ddce50cace4c9fc3f29886b6911d4199ed611fbecf28d SHA512 63df73d0fb2fd5ff7e6f0cacd8999aca0c99b91fbe2a2be0204a597e8230ecc1e60dcad0f24d9200b5948dec2c7e1e417853805d19beaf748c1f16490e64036c DIST portage-3.0.80.tar.bz2 1237591 BLAKE2B 58b5a54629f9be4f768a94e16acf73e07c47622fa488450e22e36be8e0b006e05c1ed22aab2ba5787c88f8ddbaadcec6b3dde02bb9e2967994723fcb3b97f6dc SHA512 91a98ab1e8ff75a4207f0b2ec664c023928278e99f5c758704dd6ce06073d4544d7785584adeb80ab7853218373ea1f16af1c11fcb5bdde659f730dbfa632cae DIST portage-3.0.81.1.tar.bz2 1239127 BLAKE2B 1331a396e888f904d1b68dc9bc76dc6930bd31fd3d956a3543069f162ffd144603c5aac76876882adb3a46aafbfb8d6840bb4a6462f2d61f6617fbb2646ee4e0 SHA512 41e4897d76e25dd754d130ffcd978797d83cc1212432401f89c9b0a6e1830993663a6ee6fbbf5e3ee293e6add1669c719ef8c3f845637d63027652a038f47232 +DIST portage-3.0.81.2.tar.bz2 1240200 BLAKE2B 80a97e7c5c679db6122a6f656d56c6a758cdb004b6f331792930050572205ae3c7d410cdcfad914250eb3b5aec6abfc1d20ba63079023731be4478f59134355a SHA512 0f4426d6de6dbf70851f8c94a5f553a71b1f8786c5da12f15bb6f8bc109be3ebe6156f52b6ccc3e1f9b722e2052eafab87a9f03da0e6a916dc54a97fd2a54cef DIST portage-3.0.81.tar.bz2 1239236 BLAKE2B 8f94a276ba5e2602701dbf876ab46408a644831862cd040b589d7568cef1b3ed4e7735eab82076bcb5113c022ae6e2858b9279c8b9c3b76ff8b0bce6cef8c597 SHA512 59a0fe9d6cfb4cf3cf03ac87d6da0e63c776004c805f1fe8834ff7aedda75efafa608cdbc0458a70b9e4d039c290352e7c47d925e773f68e1934d1b77b0920b6 diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/portage/files/0001-estrip-silence-noise-from-objcopy-if-build-ID-sectio.patch b/sdk_container/src/third_party/portage-stable/sys-apps/portage/files/0001-estrip-silence-noise-from-objcopy-if-build-ID-sectio.patch deleted file mode 100644 index 5afac81af8f..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-apps/portage/files/0001-estrip-silence-noise-from-objcopy-if-build-ID-sectio.patch +++ /dev/null @@ -1,66 +0,0 @@ -From 71dd5e89eaa5868418e13da6605fe3873939c60b Mon Sep 17 00:00:00 2001 -Message-ID: <71dd5e89eaa5868418e13da6605fe3873939c60b.1771041192.git.sam@gentoo.org> -From: Sam James -Date: Sat, 14 Feb 2026 03:44:08 +0000 -Subject: [PATCH] estrip: silence noise from objcopy if build ID section - doesn't exist - -This is a tiny fix suitable for backporting into the ebuild until -the refactoring for estrip lands. - -It avoids noise when there's no build ID section to update w/ a salted -replacement. - -Bug: https://bugs.gentoo.org/968220 -Signed-off-by: Sam James ---- - bin/estrip | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/bin/estrip b/bin/estrip -index 6e2a5b623..54c5a6e33 100755 ---- a/bin/estrip -+++ b/bin/estrip -@@ -171,7 +171,7 @@ save_elf_debug() { - - # We need to process the splitdebug file too - # if we're doing it at this late juncture (bug #968220) -- "${name_of[objcopy]}" --dump-section .note.gnu.build-id="${inode_link}_buildid" "${src}" \ -+ "${name_of[objcopy]}" --dump-section .note.gnu.build-id="${inode_link}_buildid" "${src}" 2>/dev/null \ - && "${name_of[objcopy]}" --update-section .note.gnu.build-id="${inode_link}_buildid" "${dst}" - rm -f "${inode_link}_buildid" - elif ! contains_word buildid "${warned_for[debugedit]}"; then --- -2.53.0 - -From e87494699b30eb9458cb0fb9e05479389904dcb3 Mon Sep 17 00:00:00 2001 -Message-ID: -From: Sam James -Date: Sun, 15 Feb 2026 14:46:34 +0000 -Subject: [PATCH] estrip: silence (further) noise from objcopy if build ID - section doesn't exist - -Followup to 71dd5e89eaa5868418e13da6605fe3873939c60b. - -Bug: https://bugs.gentoo.org/968220 -Signed-off-by: Sam James ---- - bin/estrip | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/bin/estrip b/bin/estrip -index 54c5a6e33..526a1f203 100755 ---- a/bin/estrip -+++ b/bin/estrip -@@ -172,7 +172,7 @@ save_elf_debug() { - # We need to process the splitdebug file too - # if we're doing it at this late juncture (bug #968220) - "${name_of[objcopy]}" --dump-section .note.gnu.build-id="${inode_link}_buildid" "${src}" 2>/dev/null \ -- && "${name_of[objcopy]}" --update-section .note.gnu.build-id="${inode_link}_buildid" "${dst}" -+ && "${name_of[objcopy]}" --update-section .note.gnu.build-id="${inode_link}_buildid" "${dst}" 2>/dev/null - rm -f "${inode_link}_buildid" - elif ! contains_word buildid "${warned_for[debugedit]}"; then - warned_for[debugedit]+=" buildid" --- -2.53.0 - diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/portage/files/0002-Revert-depgraph-earlier-slot-operator-backtracking.patch b/sdk_container/src/third_party/portage-stable/sys-apps/portage/files/0002-Revert-depgraph-earlier-slot-operator-backtracking.patch deleted file mode 100644 index 9e6a9fcfcfc..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-apps/portage/files/0002-Revert-depgraph-earlier-slot-operator-backtracking.patch +++ /dev/null @@ -1,259 +0,0 @@ -From e1322d74de41e989f709e0129ac41e5469b9cc4c Mon Sep 17 00:00:00 2001 -Message-ID: -From: Zac Medico -Date: Fri, 20 Feb 2026 19:05:12 -0800 -Subject: [PATCH] Revert "depgraph: earlier slot operator backtracking" - -This reverts commit 8ddd35e04bb4c50a85d7cc61edb85d91dd10ce4b. - -Bug: https://bugs.gentoo.org/969654 -Bug: https://bugs.gentoo.org/964705 -Bug: https://bugs.gentoo.org/968228 -Signed-off-by: Zac Medico ---- - lib/_emerge/depgraph.py | 152 +++++++++--------- - .../test_binpackage_downgrades_slot_dep.py | 3 + - .../tests/resolver/test_missed_update.py | 3 + - 3 files changed, 86 insertions(+), 72 deletions(-) - -diff --git a/lib/_emerge/depgraph.py b/lib/_emerge/depgraph.py -index 7ac07ad5e..5d9888229 100644 ---- a/lib/_emerge/depgraph.py -+++ b/lib/_emerge/depgraph.py -@@ -1937,9 +1937,16 @@ class depgraph: - # conflicts (or by blind luck). - raise self._unknown_internal_error() - -+ # Both _process_slot_conflict and _slot_operator_trigger_reinstalls -+ # can call _slot_operator_update_probe, which requires that -+ # self._dynamic_config._blocked_pkgs has been initialized by a -+ # call to the _validate_blockers method. - for conflict in self._dynamic_config._package_tracker.slot_conflicts(): - self._process_slot_conflict(conflict) - -+ if self._dynamic_config._allow_backtracking: -+ self._slot_operator_trigger_reinstalls() -+ - def _process_slot_conflict(self, conflict): - """ - Process slot conflict data to identify specific atoms which -@@ -2895,50 +2902,50 @@ class depgraph: - - return None - -- def _slot_operator_trigger_backtracking(self, dep: Dependency) -> bool: -+ def _slot_operator_trigger_reinstalls(self): - """ -- Trigger backtracking for slot operator issues if needed. -- Return True if this triggers backtracking, and False otherwise. -+ Search for packages with slot-operator deps on older slots, and schedule -+ rebuilds if they can link to a newer slot that's in the graph. - """ -- if not self._dynamic_config._allow_backtracking: -- return False -- -- atom = dep.atom -- -- if not (atom.soname or atom.slot_operator_built): -- new_child_slot = self._slot_change_probe(dep) -- if new_child_slot is not None: -- self._slot_change_backtrack(dep, new_child_slot) -- return True -- -- if not (dep.parent and isinstance(dep.parent, Package) and dep.parent.built): -- return False - - rebuild_if_new_slot = ( - self._dynamic_config.myparams.get("rebuild_if_new_slot", "y") == "y" - ) - -- # If the parent is not installed, check if it needs to be -- # rebuilt against an installed instance, since otherwise -- # it could trigger downgrade of an installed instance as -- # in bug #652938. -- want_update_probe = dep.want_update or not dep.parent.installed -- -- # Check for slot update first, since we don't want to -- # trigger reinstall of the child package when a newer -- # slot will be used instead. -- if rebuild_if_new_slot and want_update_probe: -- new_dep = self._slot_operator_update_probe(dep, new_child_slot=True) -- if new_dep is not None: -- self._slot_operator_update_backtrack(dep, new_child_slot=new_dep.child) -- return True -+ for slot_key, slot_info in self._dynamic_config._slot_operator_deps.items(): -+ for dep in slot_info: -+ atom = dep.atom - -- if want_update_probe: -- if self._slot_operator_update_probe(dep): -- self._slot_operator_update_backtrack(dep) -- return True -+ if not (atom.soname or atom.slot_operator_built): -+ new_child_slot = self._slot_change_probe(dep) -+ if new_child_slot is not None: -+ self._slot_change_backtrack(dep, new_child_slot) -+ continue - -- return False -+ if not ( -+ dep.parent and isinstance(dep.parent, Package) and dep.parent.built -+ ): -+ continue -+ -+ # If the parent is not installed, check if it needs to be -+ # rebuilt against an installed instance, since otherwise -+ # it could trigger downgrade of an installed instance as -+ # in bug #652938. -+ want_update_probe = dep.want_update or not dep.parent.installed -+ -+ # Check for slot update first, since we don't want to -+ # trigger reinstall of the child package when a newer -+ # slot will be used instead. -+ if rebuild_if_new_slot and want_update_probe: -+ new_dep = self._slot_operator_update_probe(dep, new_child_slot=True) -+ if new_dep is not None: -+ self._slot_operator_update_backtrack( -+ dep, new_child_slot=new_dep.child -+ ) -+ -+ if want_update_probe: -+ if self._slot_operator_update_probe(dep): -+ self._slot_operator_update_backtrack(dep) - - def _reinstall_for_flags( - self, pkg, forced_flags, orig_use, orig_iuse, cur_use, cur_iuse -@@ -3429,6 +3436,44 @@ class depgraph: - raise - del e - -+ # NOTE: REQUIRED_USE checks are delayed until after -+ # package selection, since we want to prompt the user -+ # for USE adjustment rather than have REQUIRED_USE -+ # affect package selection and || dep choices. -+ if ( -+ not pkg.built -+ and pkg._metadata.get("REQUIRED_USE") -+ and eapi_has_required_use(pkg.eapi) -+ ): -+ required_use_is_sat = check_required_use( -+ pkg._metadata["REQUIRED_USE"], -+ self._pkg_use_enabled(pkg), -+ pkg.iuse.is_valid_flag, -+ eapi=pkg.eapi, -+ ) -+ if not required_use_is_sat: -+ if dep.atom is not None and dep.parent is not None: -+ self._add_parent_atom(pkg, (dep.parent, dep.atom)) -+ -+ if arg_atoms: -+ for parent_atom in arg_atoms: -+ parent, atom = parent_atom -+ self._add_parent_atom(pkg, parent_atom) -+ -+ atom = dep.atom -+ if atom is None: -+ atom = Atom("=" + pkg.cpv) -+ self._dynamic_config._unsatisfied_deps_for_display.append( -+ ((pkg.root, atom), {"myparent": dep.parent, "show_req_use": pkg}) -+ ) -+ self._dynamic_config._required_use_unsatisfied = True -+ self._dynamic_config._skip_restart = True -+ # Add pkg to digraph in order to enable autounmask messages -+ # for this package, which is useful when autounmask USE -+ # changes have violated REQUIRED_USE. -+ self._dynamic_config.digraph.add(pkg, dep.parent, priority=priority) -+ return 0 -+ - if not pkg.onlydeps: - existing_node, existing_node_matches = self._check_slot_conflict( - pkg, dep.atom -@@ -3587,43 +3632,6 @@ class depgraph: - and (dep.atom.soname or dep.atom.slot_operator == "=") - ): - self._add_slot_operator_dep(dep) -- if self._slot_operator_trigger_backtracking(dep): -- # Drop slot operator deps that trigger backtracking, since -- # they may be irrelevant and therefore we don't want to -- # enforce the REQUIRED_USE check that comes below (bug 964705). -- # Since backtracking has been triggered, the _need_restart flag -- # is set and this depgraph is only useful for collecting -- # backtracking parameters at this point, so it is acceptable to -- # drop dependencies as needed. It would not be acceptable to -- # abort depgraph creation here, since that would not scale well -- # for large numbers of slot operator rebuilds. -- return 1 -- -- # NOTE: REQUIRED_USE checks are delayed until after -- # package selection, since we want to prompt the user -- # for USE adjustment rather than have REQUIRED_USE -- # affect package selection and || dep choices. -- if ( -- not pkg.built -- and pkg._metadata.get("REQUIRED_USE") -- and eapi_has_required_use(pkg.eapi) -- ): -- required_use_is_sat = check_required_use( -- pkg._metadata["REQUIRED_USE"], -- self._pkg_use_enabled(pkg), -- pkg.iuse.is_valid_flag, -- eapi=pkg.eapi, -- ) -- if not required_use_is_sat: -- atom = dep.atom -- if atom is None: -- atom = Atom("=" + pkg.cpv) -- self._dynamic_config._unsatisfied_deps_for_display.append( -- ((pkg.root, atom), {"myparent": dep.parent, "show_req_use": pkg}) -- ) -- self._dynamic_config._required_use_unsatisfied = True -- self._dynamic_config._skip_restart = True -- return 0 - - recurse = deep is True or not self._too_deep(self._depth_increment(depth, n=1)) - dep_stack = self._dynamic_config._dep_stack -diff --git a/lib/portage/tests/resolver/test_binpackage_downgrades_slot_dep.py b/lib/portage/tests/resolver/test_binpackage_downgrades_slot_dep.py -index b47f73dcb..699cd1c46 100644 ---- a/lib/portage/tests/resolver/test_binpackage_downgrades_slot_dep.py -+++ b/lib/portage/tests/resolver/test_binpackage_downgrades_slot_dep.py -@@ -1,6 +1,8 @@ - # Copyright 2025 Gentoo Authors - # Distributed under the terms of the GNU General Public License v2 - -+import pytest -+ - from portage.tests import TestCase - from portage.tests.resolver.ResolverPlayground import ( - ResolverPlayground, -@@ -9,6 +11,7 @@ from portage.tests.resolver.ResolverPlayground import ( - - - class BinpackageDowngradesSlotDepTestCase(TestCase): -+ @pytest.mark.xfail() - def testBinpackageDowngradesSlotDep(self): - python_use = "python_targets_python3_12 +python_targets_python3_13" - python_usedep = "python_targets_python3_12(-)?,python_targets_python3_13(-)?" -diff --git a/lib/portage/tests/resolver/test_missed_update.py b/lib/portage/tests/resolver/test_missed_update.py -index 6813a9172..2c15a16c8 100644 ---- a/lib/portage/tests/resolver/test_missed_update.py -+++ b/lib/portage/tests/resolver/test_missed_update.py -@@ -1,6 +1,8 @@ - # Copyright 2026 Gentoo Authors - # Distributed under the terms of the GNU General Public License v2 - -+import pytest -+ - from portage.tests import TestCase - from portage.tests.resolver.ResolverPlayground import ( - ResolverPlayground, -@@ -9,6 +11,7 @@ from portage.tests.resolver.ResolverPlayground import ( - - - class MissedQtUpdateTestCase(TestCase): -+ @pytest.mark.xfail() - def testMissedQtUpdate(self): - """ - Testcase where Portage was unable to upgrade from --- -2.53.0 - diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/portage/files/0003-estrip-Don-t-break-the-debuglink-CRC-with-the-salted.patch b/sdk_container/src/third_party/portage-stable/sys-apps/portage/files/0003-estrip-Don-t-break-the-debuglink-CRC-with-the-salted.patch deleted file mode 100644 index 2ee28b9b49e..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-apps/portage/files/0003-estrip-Don-t-break-the-debuglink-CRC-with-the-salted.patch +++ /dev/null @@ -1,58 +0,0 @@ -From c568ef909922c307dd99acfebc1214e6ea88e075 Mon Sep 17 00:00:00 2001 -Message-ID: -From: James Le Cuirot -Date: Fri, 27 Mar 2026 18:34:43 +0000 -Subject: [PATCH] estrip: Don't break the debuglink CRC with the salted build - ID - -Closes: https://bugs.gentoo.org/971641 -Signed-off-by: James Le Cuirot -Part-of: https://github.com/gentoo/portage/pull/1568 -Closes: https://github.com/gentoo/portage/pull/1568 ---- - NEWS | 2 ++ - bin/estrip | 8 ++++++-- - 2 files changed, 8 insertions(+), 2 deletions(-) - -diff --git a/NEWS b/NEWS -index 923c99a74..94b2f8b98 100644 ---- a/NEWS -+++ b/NEWS -@@ -70,6 +70,8 @@ Bug fixes: - - * estrip: Silence noise from objcopy when no build ID section exists (bug #968220). - -+* estrip: Don't break the debuglink CRC with the salted build ID (bug #971641). -+ - portage-3.0.77 (2026-01-23) - -------------- - -diff --git a/bin/estrip b/bin/estrip -index 526a1f203..166f68087 100755 ---- a/bin/estrip -+++ b/bin/estrip -@@ -143,8 +143,7 @@ save_elf_debug() { - if (( has_feature[compressdebug] )); then - objcopy_flags+=( --compress-debug-sections ) - fi -- "${name_of[objcopy]}" "${objcopy_flags[@]}" "${src}" "${dst}" \ -- && "${name_of[objcopy]}" --add-gnu-debuglink="${dst}" "${src}" -+ "${name_of[objcopy]}" "${objcopy_flags[@]}" "${src}" "${dst}" - fi - - # Only do the following if the debug file was -@@ -199,6 +198,11 @@ save_elf_debug() { - __try_symlink "${src_buildid_rel}" "${buildid_file}" - fi - fi -+ -+ if [[ -z ${splitdebug} ]] ; then -+ # Add debuglink last to avoid the salted build ID breaking the CRC. -+ "${name_of[objcopy]}" --add-gnu-debuglink="${dst}" "${src}" -+ fi - fi - } - --- -2.53.0 - diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/portage/portage-3.0.81.2.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/portage/portage-3.0.81.2.ebuild new file mode 100644 index 00000000000..0ce98dc18bc --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-apps/portage/portage-3.0.81.2.ebuild @@ -0,0 +1,234 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{12..15} ) +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 ~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 )" + +BDEPEND=" + ${PYTHON_DEPS} + >=app-arch/tar-1.27 + >=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-0-r4 + >=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.3:0 + dev-util/debugedit + >=sec-keys/openpgp-keys-gentoo-release-20240703 + >=sys-apps/sed-4.0.5 + rsync-verify? ( + app-alternatives/gpg[ssl(-)] + >=app-portage/gemato-14.5[${PYTHON_USEDEP}] + ) + ) + kernel_linux? ( + sys-apps/util-linux + elibc_glibc? ( >=sys-apps/sandbox-2.2 ) + elibc_musl? ( >=sys-apps/sandbox-2.2 ) + ) + selinux? ( >=sys-libs/libselinux-2.0.94[python,${PYTHON_USEDEP}] ) + xattr? ( kernel_linux? ( + >=sys-apps/install-xattr-0.3 + ) ) +" +# coreutils-6.4 rdep is for date format in emerge-webrsync #164532 +# NOTE: FEATURES=installsources requires debugedit and rsync +PDEPEND=" + !build? ( + >=net-misc/rsync-2.6.4 + >=sys-apps/coreutils-6.4 + >=sys-apps/file-5.44-r3 + ) +" + +pkg_pretend() { + local CONFIG_CHECK="~IPC_NS ~PID_NS ~NET_NS ~UTS_NS" + + check_extra_config +} + +src_prepare() { + default + + 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 +} + +src_configure() { + local code_only=false + python_foreach_impl my_src_configure +} + +my_src_configure() { + local emesonargs=( + -Dcode-only=${code_only} + -Deprefix="${EPREFIX}" + -Dportage-bindir="${EPREFIX}/usr/lib/portage/${EPYTHON}" + -Ddocdir="${EPREFIX}/usr/share/doc/${PF}" + $(meson_use doc) + $(meson_use apidoc) + $(meson_use gentoo-dev) + $(meson_use ipc) + $(meson_use xattr) + ) + + if use native-extensions && [[ "${EPYTHON}" != pypy3* ]] ; then + emesonargs+=( -Dnative-extensions=true ) + else + emesonargs+=( -Dnative-extensions=false ) + fi + + if use build; then + emesonargs+=( -Drsync-verify=false ) + else + emesonargs+=( $(meson_use rsync-verify) ) + fi + + meson_src_configure + code_only=true +} + +src_compile() { + python_foreach_impl meson_src_compile +} + +src_test() { + local EPYTEST_XDIST=1 + local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 + python_foreach_impl epytest +} + +src_install() { + python_foreach_impl my_src_install + dotmpfiles "${FILESDIR}"/portage-{ccache,tmpdir}.conf + + local scripts + mapfile -t scripts < <(awk '/^#!.*python/ {print FILENAME} {nextfile}' "${ED}"/usr/{bin,sbin}/* || die) + python_replicate_script "${scripts[@]}" +} + +my_src_install() { + local pydirs=( + "${D}$(python_get_sitedir)" + "${ED}/usr/lib/portage/${EPYTHON}" + ) + + meson_src_install + python_fix_shebang "${pydirs[@]}" + python_optimize "${pydirs[@]}" +} + +pkg_preinst() { + if ! use build && [[ -z ${ROOT} ]]; then + 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}}" \ + ED="${ED}" \ + "${PYTHON}" -m portage._compat_upgrade.default_locations || die + + env -u BINPKG_COMPRESS -u PORTAGE_REPOSITORIES \ + PYTHONPATH="${D}${sitedir}${PYTHONPATH:+:${PYTHONPATH}}" \ + ED="${ED}" \ + "${PYTHON}" -m portage._compat_upgrade.binpkg_compression || die + + env -u FEATURES -u PORTAGE_REPOSITORIES \ + PYTHONPATH="${D}${sitedir}${PYTHONPATH:+:${PYTHONPATH}}" \ + ED="${ED}" \ + "${PYTHON}" -m portage._compat_upgrade.binpkg_multi_instance || die + + env -u BINPKG_FORMAT \ + PYTHONPATH="${D}${sitedir}${PYTHONPATH:+:${PYTHONPATH}}" \ + ED="${ED}" \ + "${PYTHON}" -m portage._compat_upgrade.binpkg_format || die + fi + + # 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 +} + +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 +} From 98c1705d08534d6f87fa990b78f23b6b1e528361 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 3 Aug 2026 08:19:12 +0000 Subject: [PATCH 137/195] sys-apps/sandbox: Sync with Gentoo It's from Gentoo commit b9aced5bb3e19ca2588474a136e36b0dac298804. Signed-off-by: Flatcar Buildbot --- .../portage-stable/sys-apps/sandbox/sandbox-2.49.ebuild | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/sandbox/sandbox-2.49.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/sandbox/sandbox-2.49.ebuild index 0a87bd26d8a..42c5896d1b5 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/sandbox/sandbox-2.49.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-apps/sandbox/sandbox-2.49.ebuild @@ -11,7 +11,7 @@ if [[ ${PV} == *9999 ]]; then https://github.com/gentoo/sandbox.git" else SRC_URI="https://distfiles.gentoo.org/pub/proj/sandbox/${P}.tar.xz" - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" fi DESCRIPTION="sandbox'd LD_PRELOAD hack" From c7d59718e5fecd3d3d56c5cd2b56a8eca8fac341 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 3 Aug 2026 08:19:13 +0000 Subject: [PATCH 138/195] sys-apps/sed: Sync with Gentoo It's from Gentoo commit 26b59d894e569f78a7129a7b5275094e0d19c5df. Signed-off-by: Flatcar Buildbot --- .../portage-stable/sys-apps/sed/Manifest | 2 - .../{sed-4.10.ebuild => sed-4.10-r1.ebuild} | 8 +- .../sys-apps/sed/sed-4.9-r1.ebuild | 75 ------------------- 3 files changed, 6 insertions(+), 79 deletions(-) rename sdk_container/src/third_party/portage-stable/sys-apps/sed/{sed-4.10.ebuild => sed-4.10-r1.ebuild} (92%) delete mode 100644 sdk_container/src/third_party/portage-stable/sys-apps/sed/sed-4.9-r1.ebuild diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/sed/Manifest b/sdk_container/src/third_party/portage-stable/sys-apps/sed/Manifest index 83f027d1712..d19440ac84f 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/sed/Manifest +++ b/sdk_container/src/third_party/portage-stable/sys-apps/sed/Manifest @@ -1,4 +1,2 @@ DIST sed-4.10.tar.xz 1732800 BLAKE2B 6decea38a3e6eb3b672af2380ec3f32759b60350dba528d28a57b74806db33208baed69a8497d423bc7626105930e3e9c9ea68f68b8bcd4a3270f2d8922a2487 SHA512 20224df834b363ca1357024234bb93df3929c252c40c7ef3d23e78fc05177c7986e3145a5049d63db746a4dc2c97befb0324a87ea081507292ff6cd5383ee9db DIST sed-4.10.tar.xz.sig 833 BLAKE2B 8c4af8f8d8c9d1dac9f1808aafa8e5cdda5af1a77af5f5c4bea599c64a3b1df8d6417ade8a819c2cb405191d83660e8144473d1d6a977cac8532803658418a85 SHA512 7a4fef4601f9c9c7bb45426eb5505f1ba2a4caa875e933b2a476623691a93671de36470bc51bda8f8a7467e7d1f2f382c6e43a1b98e9bb958556039ec43ba17c -DIST sed-4.9.tar.xz 1397092 BLAKE2B 6c7c7dc782b87c3bd0b5e826ba46c2f1dc7bd8c1159945fcf14b394711742964628774cf9f27d844b672721d7849e6c31992d82fafb9ed4118b7feb60406d1e1 SHA512 36157a4b4a2430cf421b7bd07f1675d680d9f1616be96cf6ad6ee74a9ec0fe695f8d0b1e1f0b008bbb33cc7fcde5e1c456359bbbc63f8aebdd4fedc3982cf6dc -DIST sed-4.9.tar.xz.sig 833 BLAKE2B 256bb112aa3aec1a8d40544ef1b0a7570f35d66369047ed3d261c57f938042dcb4a169137eaed6639bcfb472e4a6fc6ebec2de243b2c4d4c0ba0e9081f92556d SHA512 ceb235850184b99017783486e182ade9db38313d20b2b34d23f54d8affe180f7a191139b993e8ec7718ca33eff732f547ca4b3b59aaf865feaae611dfeae5c46 diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/sed/sed-4.10.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/sed/sed-4.10-r1.ebuild similarity index 92% rename from sdk_container/src/third_party/portage-stable/sys-apps/sed/sed-4.10.ebuild rename to sdk_container/src/third_party/portage-stable/sys-apps/sed/sed-4.10-r1.ebuild index 0f8ba3d69ff..863908e58ba 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/sed/sed-4.10.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-apps/sed/sed-4.10-r1.ebuild @@ -29,20 +29,23 @@ fi LICENSE="GPL-3+" SLOT="0" -IUSE="acl nls selinux static test-full" +IUSE="acl nls selinux static test-full xattr" RDEPEND=" !static? ( acl? ( virtual/acl ) nls? ( virtual/libintl ) selinux? ( sys-libs/libselinux ) + xattr? ( sys-apps/attr ) ) " -DEPEND="${RDEPEND} +DEPEND=" + ${RDEPEND} static? ( acl? ( virtual/acl[static-libs(+)] ) nls? ( virtual/libintl[static-libs(+)] ) selinux? ( sys-libs/libselinux[static-libs(+)] ) + xattr? ( sys-apps/attr[static-libs(+)] ) ) " BDEPEND=" @@ -57,6 +60,7 @@ src_configure() { --exec-prefix="${EPREFIX}" $(use_enable acl) $(use_enable nls) + $(use_enable xattr) $(use_with selinux) # rename to gsed for better BSD compatibility --program-prefix=g diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/sed/sed-4.9-r1.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/sed/sed-4.9-r1.ebuild deleted file mode 100644 index 091e033326a..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-apps/sed/sed-4.9-r1.ebuild +++ /dev/null @@ -1,75 +0,0 @@ -# Copyright 1999-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/sed.asc -inherit autotools branding flag-o-matic verify-sig - -DESCRIPTION="Super-useful stream editor" -HOMEPAGE="https://www.gnu.org/software/sed/" -SRC_URI="mirror://gnu/sed/${P}.tar.xz" -SRC_URI+=" verify-sig? ( mirror://gnu/sed/${P}.tar.xz.sig )" - -LICENSE="GPL-3+" -SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos" -IUSE="acl nls selinux static test-full" - -RDEPEND=" - !static? ( - acl? ( virtual/acl ) - nls? ( virtual/libintl ) - selinux? ( sys-libs/libselinux ) - ) -" -DEPEND="${RDEPEND} - static? ( - acl? ( virtual/acl[static-libs(+)] ) - nls? ( virtual/libintl[static-libs(+)] ) - selinux? ( sys-libs/libselinux[static-libs(+)] ) - ) -" -BDEPEND="nls? ( sys-devel/gettext ) - verify-sig? ( sec-keys/openpgp-keys-sed )" - -src_prepare() { - default - - # Ignore prefix as a workaround for bug #934329 - if ! use prefix ; then - # Modern C fixes from latest autotools. bug #900382 - eautoreconf - fi -} - -src_configure() { - use static && append-ldflags -static - - local myconf=( - --exec-prefix="${EPREFIX}" - $(use_enable acl) - $(use_enable nls) - $(use_with selinux) - # rename to gsed for better BSD compatibility - --program-prefix=g - ) - econf "${myconf[@]}" -} - -src_test() { - local -x RUN_{VERY_,}EXPENSIVE_TESTS=$(usex test-full yes no) - - # We don't want to automagically use Valgrind for tests. - sed -i -e 's:valgrind --error-exitcode=1:false:' init.cfg || die - - emake VERBOSE=yes check -} - -src_install() { - default - - # symlink to the standard name - dosym gsed /bin/sed - dosym gsed.1 /usr/share/man/man1/sed.1 -} From 410269fa08b4c6c624b72c60013069caecd0278e Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 3 Aug 2026 08:19:13 +0000 Subject: [PATCH 139/195] sys-apps/shadow: Sync with Gentoo It's from Gentoo commit 463ff9ff616fea07be0b6d5779b422361c23bab4. Signed-off-by: Flatcar Buildbot --- .../portage-stable/sys-apps/shadow/Manifest | 2 + .../files/shadow-4.20.0-subid-stdint.patch | 42 +++ .../sys-apps/shadow/shadow-4.20.0.ebuild | 261 ++++++++++++++++++ 3 files changed, 305 insertions(+) create mode 100644 sdk_container/src/third_party/portage-stable/sys-apps/shadow/files/shadow-4.20.0-subid-stdint.patch create mode 100644 sdk_container/src/third_party/portage-stable/sys-apps/shadow/shadow-4.20.0.ebuild diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/shadow/Manifest b/sdk_container/src/third_party/portage-stable/sys-apps/shadow/Manifest index 1e620f80fbb..fd03d0336bf 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/shadow/Manifest +++ b/sdk_container/src/third_party/portage-stable/sys-apps/shadow/Manifest @@ -1,2 +1,4 @@ DIST shadow-4.19.4.tar.xz 2332684 BLAKE2B 4acebcf93be2b6700b33f466e8ada8799ae479a9db0892c2c3d9279acda539ecbce7d0f0c940fc22ae44f6ae9ee9aa91a3bf6e5f22ce2132a464fb13f3c61987 SHA512 6be382087e85566c5c14023decd6edd3b9f0c768a6b00c8389b31cb73fecaaa1b8b9b105374d582c8054e60e158fa3e34acf616a64dca04613bdf06cb08ab664 DIST shadow-4.19.4.tar.xz.asc 833 BLAKE2B 4daf863f4187819adb9bb9c7c6c6939451c0a341c9aa4d63161d8090120b58d3a094939be7788c1c362a2b74ec411b1cc7dd2a208cf9cb49e0dbea529f2ddd84 SHA512 accd3755d15f8b37f0140b6c09a06368570ec88bd1bf590c9a01bd7e9497c52af4d71ff93717208aedb24229667d72cf65a5ba4f924e1b1fd65783904601fbdb +DIST shadow-4.20.0.tar.xz 2290288 BLAKE2B 8224edc692d6016da26e54aa43405029b4bebcbc7a73a9a56f1ee3bdcf7c7a3af6b90d8fc134182fc26c6b7b8f2afc4f54c2f6e6748760b8928284aa77374a15 SHA512 0b8afded372e4d37a78f38cb972c0ab877870ef6356cdd1c45be3c708af3d1496c6f87de6bf6a5b1d217d4d52d7e2d15c28b26530949cc6de0231a4028930406 +DIST shadow-4.20.0.tar.xz.asc 833 BLAKE2B fff1be3214eb271f6d75a36c0647e4f7183a0d65ad20169ed889fd44446f7f64b1b20e43f9978d063bc6ca2a5fbbe66f79b48bde25c63a54db2cc68d7cb74a39 SHA512 e4b134543768f323df30a1e450c22086d013020928d62bd3207db7f633beea3587b67802da5b575d5a794e8c2bebd7a0abeba6ed69d44bf08adc37df3bf352ac diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/shadow/files/shadow-4.20.0-subid-stdint.patch b/sdk_container/src/third_party/portage-stable/sys-apps/shadow/files/shadow-4.20.0-subid-stdint.patch new file mode 100644 index 00000000000..f52df8a55fc --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-apps/shadow/files/shadow-4.20.0-subid-stdint.patch @@ -0,0 +1,42 @@ +https://github.com/shadow-maint/shadow/pull/1699 + +From ba4419c57b222b0d34a2b933e7ee92914a51b596 Mon Sep 17 00:00:00 2001 +From: ojab +Date: Wed, 29 Jul 2026 15:07:43 +0000 +Subject: [PATCH] subid: Add `` for `uintmax_t` + +``` +find_new_sub_uids.c:80:27: error: 'uintmax_t' undeclared (first use in this function) +find_new_sub_gids.c:80:27: error: 'uintmax_t' undeclared (first use in this function) +``` + +Fixes: 4d800cf2eb9e (2026-04-09; "subid: Add deterministic subid ranges") +--- + lib/find_new_sub_gids.c | 1 + + lib/find_new_sub_uids.c | 1 + + 2 files changed, 2 insertions(+) + +diff --git a/lib/find_new_sub_gids.c b/lib/find_new_sub_gids.c +index 3971ce922e..de514d6b09 100644 +--- a/lib/find_new_sub_gids.c ++++ b/lib/find_new_sub_gids.c +@@ -8,6 +8,7 @@ + + #ifdef ENABLE_SUBIDS + ++#include + #include + #include + +diff --git a/lib/find_new_sub_uids.c b/lib/find_new_sub_uids.c +index 65f6815467..f0b4328387 100644 +--- a/lib/find_new_sub_uids.c ++++ b/lib/find_new_sub_uids.c +@@ -8,6 +8,7 @@ + + #ifdef ENABLE_SUBIDS + ++#include + #include + #include + diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/shadow/shadow-4.20.0.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/shadow/shadow-4.20.0.ebuild new file mode 100644 index 00000000000..e890c1134f6 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-apps/shadow/shadow-4.20.0.ebuild @@ -0,0 +1,261 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# Upstream sometimes pushes releases as pre-releases before marking them +# official. Don't keyword the pre-releases! +# Check https://github.com/shadow-maint/shadow/releases. + +inherit libtool pam user-info verify-sig + +DESCRIPTION="Utilities to deal with user accounts" +HOMEPAGE="https://github.com/shadow-maint/shadow" +MY_PV="${PV/_/-}" +MY_P="${PN}-${MY_PV}" +SRC_URI="https://github.com/shadow-maint/shadow/releases/download/${MY_PV}/${MY_P}.tar.xz" +SRC_URI+=" verify-sig? ( https://github.com/shadow-maint/shadow/releases/download/${MY_PV}/${MY_P}.tar.xz.asc )" +S="${WORKDIR}/${MY_P}" + +LICENSE="BSD GPL-2" +# Subslot is for libsubid's SONAME. +SLOT="0/6" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +IUSE="acl audit nls pam selinux skey split-usr su systemd test" +RESTRICT="!test? ( test )" + +COMMON_DEPEND=" + acct-group/shadow + virtual/libcrypt:= + acl? ( sys-apps/acl:= ) + audit? ( >=sys-process/audit-2.6:= ) + nls? ( virtual/libintl ) + pam? ( sys-libs/pam:= ) + skey? ( sys-auth/skey:= ) + selinux? ( + >=sys-libs/libselinux-1.28:= + sys-libs/libsemanage:= + ) + systemd? ( sys-apps/systemd:= ) + !/s:^:#:" \ + etc/login.defs || die + else + sed -i -r \ + -e "/^#?${opt}\>/s:.*:${opt} ${val}:" \ + etc/login.defs || die + fi + local res=$(grep "^${comment}${opt}\>" etc/login.defs) + einfo "${res:-Unable to find ${opt} in etc/login.defs}" +} + +src_configure() { + local myeconfargs=( + # Negate new upstream default of disabling for now + --enable-lastlog + --disable-static + $(use_with kernel_linux btrfs) + # Use bundled replacements for readpassphrase and freezero + --without-libbsd + --without-group-name-max-length + --without-tcb + --with-bcrypt + --with-yescrypt + $(use_enable nls) + # TODO: wire up upstream for elogind too (bug #931119) + $(use_enable systemd logind) + $(use_with acl) + $(use_with audit) + $(use_with elibc_glibc nscd) + $(use_with pam libpam) + $(use_with selinux) + $(use_with skey) + $(use_with su) + ) + + econf "${myeconfargs[@]}" + + set_login_opt CREATE_HOME yes + if use pam; then + # Comment out login.defs options that pam hates + local opts=( + CHFN_AUTH + CONSOLE + ENV_HZ + ENVIRON_FILE + FAILLOG_ENAB + FTMP_FILE + LASTLOG_ENAB + MAIL_CHECK_ENAB + MOTD_FILE + NOLOGINS_FILE + OBSCURE_CHECKS_ENAB + PASS_ALWAYS_WARN + PASS_CHANGE_TRIES + PASS_MIN_LEN + PORTTIME_CHECKS_ENAB + QUOTAS_ENAB + SU_WHEEL_ONLY + ) + local opt sed_args=() + for opt in "${opts[@]}"; do + set_login_opt ${opt} + sed_args+=( -e "/^#${opt}\>/b pamnote" ) + done + sed_args+=( + -e 'b exit' + -e ': pamnote; i# NOTE: This setting should be configured via /etc/pam.d/ and not in this file.' + -e ': exit' + ) + sed -i "${sed_args[@]}" etc/login.defs || die + else + set_login_opt MAIL_CHECK_ENAB no + set_login_opt SU_WHEEL_ONLY yes + set_login_opt LOGIN_RETRIES 3 + set_login_opt ENCRYPT_METHOD YESCRYPT + set_login_opt CONSOLE + fi +} + +src_install() { + emake DESTDIR="${D}" suidperms=4755 install + + fowners :shadow /usr/bin/chage + fperms u-s,g+s /usr/bin/chage + + # 4.9 regression: https://github.com/shadow-maint/shadow/issues/389 + emake DESTDIR="${D}" -C man install + + find "${ED}" -name '*.la' -type f -delete || die + + insinto /etc + doins etc/login.defs + + # needed for 'useradd -D' + insopts -m0600 + insinto /etc/default + doins "${FILESDIR}"/default/useradd + + if ! use pam ; then + doins etc/login.access etc/limits + fi + + if use split-usr ; then + # move passwd to / to help recover broke systems #64441 + # We cannot simply remove this or else net-misc/scponly + # and other tools will break because of hardcoded passwd + # location + dodir /bin + mv "${ED}"/usr/bin/passwd "${ED}"/bin/ || die + dosym ../../bin/passwd /usr/bin/passwd + fi + + if use pam; then + local x + for x in chsh chfn ; do + newpamd "${FILESDIR}"/pam.d-include/passwd ${x} + done + + # Remove manpages that pam will install for us + # and/or don't apply when using pam + find "${ED}"/usr/share/man -type f \ + '(' -name 'limits.5*' -o -name 'suauth.5*' ')' \ + -delete + + # Remove pam.d files provided by pambase. + rm "${ED}"/etc/pam.d/{login,passwd} || die + if use su ; then + rm "${ED}"/etc/pam.d/su || die + fi + fi + + # Remove manpages that are handled by other packages + find "${ED}"/usr/share/man -type f -name getspnam.3 -delete || die + + if ! use su ; then + find "${ED}"/usr/share/man -type f -name su.1 -delete || die + fi + + dodoc README doc/HOWTO doc/README.limits + + if use elibc_musl; then + QA_CONFIG_IMPL_DECL_SKIP+=( sgetsgent ) + fi + + if use kernel_Hurd ; then + # sys-kernel/hurd provides this instead + mv "${ED}"/bin/login "${ED}"/bin/login.shadow || die + fi +} + +pkg_postinst() { + # Missing entries from /etc/passwd can cause odd system blips. + # See bug #829872. + if ! pwck -r -q -R "${EROOT:-/}" &>/dev/null ; then + ewarn "Running 'pwck' returned errors. Please run it manually to fix any errors." + fi + + local group=shadow + + if [[ -n ${ROOT} ]]; then + # Resolve to a group id using ${ROOT}/etc/passwd + group=$(egetent group shadow | cut -d: -f3) + if [[ -n ${group} ]]; then + chgrp "${group}" "${EROOT}"/usr/bin/{chage,expiry} && + chmod g+s "${EROOT}"/usr/bin/{chage,expiry} + fi + fi + + # Enable shadow groups. + if [[ ! -f "${EROOT}"/etc/gshadow ]] ; then + if grpck -r -R "${EROOT:-/}" 2>/dev/null ; then + grpconv -R "${EROOT:-/}" + if [[ -n ${group} ]]; then + chgrp "${group}" "${EROOT}"/etc/gshadow && + chmod g+r "${EROOT}"/etc/gshadow + fi + else + ewarn "Running 'grpck' returned errors. Please run it by hand, and then" + ewarn "run 'grpconv' afterwards!" + fi + fi + + [[ ! -f "${EROOT}"/etc/subgid ]] && + touch "${EROOT}"/etc/subgid + [[ ! -f "${EROOT}"/etc/subuid ]] && + touch "${EROOT}"/etc/subuid +} From 3d723ee6b234f1a18f5e47406646a2b5c233a139 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 3 Aug 2026 08:19:16 +0000 Subject: [PATCH 140/195] sys-apps/util-linux: Sync with Gentoo It's from Gentoo commit 7895c738ae5edc50459e1279b5c5f232ab0a98c8. Signed-off-by: Flatcar Buildbot --- .../portage-stable/sys-apps/util-linux/files/runuser.pamd | 1 - .../portage-stable/sys-apps/util-linux/util-linux-2.41.5.ebuild | 2 +- .../portage-stable/sys-apps/util-linux/util-linux-2.42.2.ebuild | 2 +- 3 files changed, 2 insertions(+), 3 deletions(-) diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/util-linux/files/runuser.pamd b/sdk_container/src/third_party/portage-stable/sys-apps/util-linux/files/runuser.pamd index 30c2834eac8..f6950aa253e 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/util-linux/files/runuser.pamd +++ b/sdk_container/src/third_party/portage-stable/sys-apps/util-linux/files/runuser.pamd @@ -4,5 +4,4 @@ auth include system-auth account include system-auth password include system-auth session include system-auth -session required pam_env.so session optional pam_xauth.so diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/util-linux/util-linux-2.41.5.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/util-linux/util-linux-2.41.5.ebuild index e7af404c9b4..ca91c9909ad 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/util-linux/util-linux-2.41.5.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-apps/util-linux/util-linux-2.41.5.ebuild @@ -23,7 +23,7 @@ else inherit verify-sig if [[ ${PV} != *_rc* ]] ; then - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos" + KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos" fi SRC_URI="https://www.kernel.org/pub/linux/utils/util-linux/v${PV:0:4}/${MY_P}.tar.xz" diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/util-linux/util-linux-2.42.2.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/util-linux/util-linux-2.42.2.ebuild index 5d7e0f91c35..b995a672454 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/util-linux/util-linux-2.42.2.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-apps/util-linux/util-linux-2.42.2.ebuild @@ -23,7 +23,7 @@ else inherit verify-sig if [[ ${PV} != *_rc* ]] ; then - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos" + KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos" fi SRC_URI="https://www.kernel.org/pub/linux/utils/util-linux/v${PV:0:4}/${MY_P}.tar.xz" From 9ba1d2893943f014f7c707c0eb7144c085558a4d Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 3 Aug 2026 08:19:21 +0000 Subject: [PATCH 141/195] sys-auth/pambase: Sync with Gentoo It's from Gentoo commit 50cd609f8af4472f5e02999e3b77625c01f9e68c. Signed-off-by: Flatcar Buildbot --- .../portage-stable/sys-auth/pambase/Manifest | 1 + .../sys-auth/pambase/metadata.xml | 3 + .../sys-auth/pambase/pambase-20260730.ebuild | 135 ++++++++++++++++++ .../sys-auth/pambase/pambase-999999999.ebuild | 14 +- 4 files changed, 149 insertions(+), 4 deletions(-) create mode 100644 sdk_container/src/third_party/portage-stable/sys-auth/pambase/pambase-20260730.ebuild diff --git a/sdk_container/src/third_party/portage-stable/sys-auth/pambase/Manifest b/sdk_container/src/third_party/portage-stable/sys-auth/pambase/Manifest index 4f8c8c5eded..80c8c82429d 100644 --- a/sdk_container/src/third_party/portage-stable/sys-auth/pambase/Manifest +++ b/sdk_container/src/third_party/portage-stable/sys-auth/pambase/Manifest @@ -1 +1,2 @@ DIST pambase-20251104.tar.bz2 4986 BLAKE2B fe5deb57d1b346071d67ac6720e3a8930c23a5aee6b64beeea2238e60b7a8a3070603bf4665936d082a8469f72058787a11243722b3fbd9edb888dab59c3dedc SHA512 037e3fbf4b63a1944220e73b2c8f15b3aea1f7f7691cdcf50c38c7a5702b6620fdaa4464c5183d26058f1a2d081cd1557690028fefbd649d0083cf22fbf9e1ae +DIST pambase-20260730.tar.bz2 5014 BLAKE2B fb52e3b8709341ff56b4b7f67ce1b39c947e967958aa64443b18ecff3762ba9dae96959fba74e57095a18ff7df028c383cd36e7cd854e2577b34bb403dc04cd6 SHA512 8db23db9127638fc4445af890afcb3b025df9a7f37a580fcf14c0115ce8fab0999227e2767958a30aa8f2e4fb1f306fb886d0d2016be720f943a7a7e1753397f diff --git a/sdk_container/src/third_party/portage-stable/sys-auth/pambase/metadata.xml b/sdk_container/src/third_party/portage-stable/sys-auth/pambase/metadata.xml index 86b87e20052..68bdb914fcb 100644 --- a/sdk_container/src/third_party/portage-stable/sys-auth/pambase/metadata.xml +++ b/sdk_container/src/third_party/portage-stable/sys-auth/pambase/metadata.xml @@ -100,6 +100,9 @@ relevant anymore as the login stack only refers to local logins and local terminals imply secure access in the first place. + + Use pam_turnstile module to register user sessions with turnstile. + proj/pambase diff --git a/sdk_container/src/third_party/portage-stable/sys-auth/pambase/pambase-20260730.ebuild b/sdk_container/src/third_party/portage-stable/sys-auth/pambase/pambase-20260730.ebuild new file mode 100644 index 00000000000..a20a4968cf7 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-auth/pambase/pambase-20260730.ebuild @@ -0,0 +1,135 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{12..14} ) + +inherit edo pam python-any-r1 readme.gentoo-r1 + +DESCRIPTION="PAM base configuration files" +HOMEPAGE="https://github.com/gentoo/pambase" + +if [[ ${PV} == *9999 ]]; then + inherit git-r3 + EGIT_REPO_URI=" + https://anongit.gentoo.org/git/proj/pambase.git + https://github.com/gentoo/pambase.git + " +else + SRC_URI="https://gitweb.gentoo.org/proj/pambase.git/snapshot/${P}.tar.bz2" + + KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86" +fi + +LICENSE="MIT" +SLOT="0" +IUSE="caps debug elogind gnome-keyring homed minimal mktemp +nullok pam_krb5 pam_ssh +passwdqc pwhistory pwquality securetty selinux sha512 sssd systemd +yescrypt turnstile" + +RESTRICT="binchecks" + +REQUIRED_USE=" + ?? ( elogind systemd ) + ?? ( passwdqc pwquality ) + ?? ( sha512 yescrypt ) + pwhistory? ( || ( passwdqc pwquality ) ) + homed? ( !pam_krb5 ) + pam_krb5? ( !homed ) +" + +MIN_PAM_REQ=1.4.0 + +RDEPEND=" + >=sys-libs/pam-${MIN_PAM_REQ} + elogind? ( sys-auth/elogind[pam] ) + gnome-keyring? ( gnome-base/gnome-keyring[pam] ) + mktemp? ( sys-auth/pam_mktemp ) + pam_krb5? ( + >=sys-libs/pam-${MIN_PAM_REQ} + sys-auth/pam_krb5 + ) + caps? ( sys-libs/libcap[pam] ) + pam_ssh? ( sys-auth/pam_ssh ) + passwdqc? ( >=sys-auth/passwdqc-1.4.0-r1 ) + pwquality? ( dev-libs/libpwquality[pam] ) + selinux? ( sys-libs/pam[selinux] ) + sha512? ( >=sys-libs/pam-${MIN_PAM_REQ} ) + homed? ( sys-apps/systemd[homed] ) + systemd? ( sys-apps/systemd[pam] ) + !systemd? ( + sys-apps/openrc[pam] + !elogind? ( sys-auth/pam_xdg ) + ) + yescrypt? ( sys-libs/libxcrypt[system] ) + sssd? ( sys-auth/sssd ) + turnstile? ( sys-apps/turnstile ) +" +BDEPEND=" + $(python_gen_any_dep ' + dev-python/jinja2[${PYTHON_USEDEP}] + ') +" + +python_check_deps() { + python_has_version "dev-python/jinja2[${PYTHON_USEDEP}]" +} + +src_configure() { + local crypt=md5 + # TODO: sha256, blowfish, gost_yescrypt + use sha512 && crypt=sha512 + use yescrypt && crypt=yescrypt + + local pamargs=( + # Not all 'upstream' options are (currently) wired up + # in the ebuild. + # + # TODO: pam_shells + $(usev caps '--caps') + $(usev debug '--debug') + $(usev elogind '--elogind') + $(usev gnome-keyring '--gnome-keyring') + $(usev homed '--homed') + $(usev minimal '--minimal') + $(usev mktemp '--mktemp') + $(usev nullok '--nullok') + $(usev pam_krb5 '--krb5') + $(usev pam_ssh '--pam-ssh') + $(usev passwdqc '--passwdqc') + $(usev pwhistory '--pwhistory') + $(usev pwquality '--pwquality') + $(usev securetty '--securetty') + $(usev selinux '--selinux') + $(usex systemd '--systemd' '--openrc') + $(usev sssd '--sssd') + $(usev turnstile '--turnstile') + + --encrypt=${crypt} + ) + + edo ${EPYTHON} ./${PN}.py "${pamargs[@]}" +} + +src_test() { :; } + +src_install() { + local DOC_CONTENTS + + if use passwdqc; then + DOC_CONTENTS="To amend the existing password policy please see the man 5 passwdqc.conf + page and then edit the /etc/security/passwdqc.conf file" + fi + + if use pwquality; then + DOC_CONTENTS="To amend the existing password policy please see the man 5 pwquality.conf + page and then edit the /etc/security/pwquality.conf file" + fi + + { use passwdqc || use pwquality; } && readme.gentoo_create_doc + + dopamd -r stack/. +} + +pkg_postinst() { + { use passwdqc || use pwquality; } && readme.gentoo_print_elog +} diff --git a/sdk_container/src/third_party/portage-stable/sys-auth/pambase/pambase-999999999.ebuild b/sdk_container/src/third_party/portage-stable/sys-auth/pambase/pambase-999999999.ebuild index d76d283901b..afcf5d72cbf 100644 --- a/sdk_container/src/third_party/portage-stable/sys-auth/pambase/pambase-999999999.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-auth/pambase/pambase-999999999.ebuild @@ -1,9 +1,9 @@ -# Copyright 1999-2025 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 -PYTHON_COMPAT=( python3_{11..14} ) +PYTHON_COMPAT=( python3_{12..14} ) inherit edo pam python-any-r1 readme.gentoo-r1 @@ -19,12 +19,12 @@ if [[ ${PV} == *9999 ]]; then else SRC_URI="https://gitweb.gentoo.org/proj/pambase.git/snapshot/${P}.tar.bz2" - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + KEYWORDS="~amd64" fi LICENSE="MIT" SLOT="0" -IUSE="caps debug elogind gnome-keyring homed minimal mktemp +nullok pam_krb5 pam_ssh +passwdqc pwhistory pwquality securetty selinux sha512 sssd systemd +yescrypt" +IUSE="caps debug elogind gnome-keyring homed minimal mktemp +nullok pam_krb5 pam_ssh +passwdqc pwhistory pwquality securetty selinux sha512 sssd systemd +yescrypt turnstile" RESTRICT="binchecks" @@ -56,8 +56,13 @@ RDEPEND=" sha512? ( >=sys-libs/pam-${MIN_PAM_REQ} ) homed? ( sys-apps/systemd[homed] ) systemd? ( sys-apps/systemd[pam] ) + !systemd? ( + sys-apps/openrc[pam] + !elogind? ( sys-auth/pam_xdg ) + ) yescrypt? ( sys-libs/libxcrypt[system] ) sssd? ( sys-auth/sssd ) + turnstile? ( sys-apps/turnstile ) " BDEPEND=" $(python_gen_any_dep ' @@ -97,6 +102,7 @@ src_configure() { $(usev selinux '--selinux') $(usex systemd '--systemd' '--openrc') $(usev sssd '--sssd') + $(usev turnstile '--turnstile') --encrypt=${crypt} ) From 4ed9bb7b8f11376f0b3fc8b4d2b930050a71f327 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 3 Aug 2026 08:19:22 +0000 Subject: [PATCH 142/195] sys-auth/sssd: Sync with Gentoo It's from Gentoo commit a833acd2c1cacdc054397b86118a46e4bade88cb. Signed-off-by: Flatcar Buildbot --- .../third_party/portage-stable/sys-auth/sssd/sssd-2.13.1.ebuild | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sdk_container/src/third_party/portage-stable/sys-auth/sssd/sssd-2.13.1.ebuild b/sdk_container/src/third_party/portage-stable/sys-auth/sssd/sssd-2.13.1.ebuild index 89a4b7d3dee..33bffc1828b 100644 --- a/sdk_container/src/third_party/portage-stable/sys-auth/sssd/sssd-2.13.1.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-auth/sssd/sssd-2.13.1.ebuild @@ -16,7 +16,7 @@ HOMEPAGE="https://github.com/SSSD/sssd" if [[ ${PV} != 9999 ]]; then SRC_URI="https://github.com/SSSD/sssd/releases/download/${PV}/${P}.tar.gz https://github.com/SSSD/sssd/releases/download/${PV}/${P}.tar.gz.asc" - KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~sparc ~x86" + KEYWORDS="amd64 ~arm ~arm64 ~ppc64 ~sparc x86" else inherit git-r3 EGIT_REPO_URI="https://github.com/SSSD/sssd.git" From 0daaaffe3109104105e392959da66172a73fe6cd Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 3 Aug 2026 08:19:24 +0000 Subject: [PATCH 143/195] sys-block/thin-provisioning-tools: Sync with Gentoo It's from Gentoo commit d11722b72e9b85e268fa6c2817e4201a64ea6a0b. Signed-off-by: Flatcar Buildbot --- .../thin-provisioning-tools-1.3.1.ebuild | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sdk_container/src/third_party/portage-stable/sys-block/thin-provisioning-tools/thin-provisioning-tools-1.3.1.ebuild b/sdk_container/src/third_party/portage-stable/sys-block/thin-provisioning-tools/thin-provisioning-tools-1.3.1.ebuild index 6660db0ae4e..debf527bd70 100644 --- a/sdk_container/src/third_party/portage-stable/sys-block/thin-provisioning-tools/thin-provisioning-tools-1.3.1.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-block/thin-provisioning-tools/thin-provisioning-tools-1.3.1.ebuild @@ -194,7 +194,7 @@ CRATES=" zerocopy@0.8.27 " -LLVM_COMPAT=( 22 ) +LLVM_COMPAT=( {19..21} ) RUST_MIN_VER="1.82.0" RUST_NEEDS_LLVM=1 From c9eb745a6ad6b38445b34f13bf2a34b0ff0d2b99 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 3 Aug 2026 08:19:35 +0000 Subject: [PATCH 144/195] sys-devel/dwz: Sync with Gentoo It's from Gentoo commit ecc8ec250158188e6bf5d49e78ca888786e8a49f. Signed-off-by: Flatcar Buildbot --- .../portage-stable/sys-devel/dwz/Manifest | 2 + .../sys-devel/dwz/dwz-0.17.ebuild | 78 +++++++++++++++++++ 2 files changed, 80 insertions(+) create mode 100644 sdk_container/src/third_party/portage-stable/sys-devel/dwz/dwz-0.17.ebuild diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/dwz/Manifest b/sdk_container/src/third_party/portage-stable/sys-devel/dwz/Manifest index 1139826d8b9..736c27a48e7 100644 --- a/sdk_container/src/third_party/portage-stable/sys-devel/dwz/Manifest +++ b/sdk_container/src/third_party/portage-stable/sys-devel/dwz/Manifest @@ -1,2 +1,4 @@ DIST dwz-0.16.tar.xz 151304 BLAKE2B 16c4fdae44734c8cac60635ae24b24d0d23e384b310c2331c018623ceeba2c3108cc31ade392bcad9910fbc77a7230ac56facdb94bcda125250b5fe19bf9cb18 SHA512 1d6584ad8a0558b8a1351472c968c7b86849267872a50f11ab7b2a0866403dfb2dcf5e14c7c1a97a7c014c7b9fe8ce56c37aaa28b04bd6ddb0fd04bfbc8b97fe DIST dwz-0.16.tar.xz.asc 488 BLAKE2B fe7bc5919c873d61801b60d06c2793b8b888f43794ff6655637908745db6306c6c1ab97bb7ddec6827886dbf76d48aa045780c265f6c8e07dd2f87b79978de26 SHA512 2003de1de923b3844c7d441de5e6055c679a82dafd2895578b49af5c7ceac41bcdbb284bfe43b9d86419b479d701f02f10c92552a1296e69e8f11451f7b8ebd4 +DIST dwz-0.17.tar.xz 154644 BLAKE2B ddd73f7e09ef2f9bd9631d67da122c19ed02c7d5608f3e01f9b3df9f843ca60dc094d83ccbc55b1ec9e15e04b307e3f9c4c68d53d99dd479951abe3f46546223 SHA512 e1bc7ef7e943ef192e2b1c31033c8f1fe9cf90fcb90bdde13d8a2e38c0255bb0158569a854ef818b44c889df46be7e1adc1ae9e346c1cb80e8a26b842c8ec03e +DIST dwz-0.17.tar.xz.asc 228 BLAKE2B b043e2ee3cd1c8bbee9dfbc73388ba993070eca7542bf18c065f190304926a75fb835a13a81726cfafa5eafaf314926f2157cdf56da7245e34f1f55f8145e756 SHA512 5e26783cb6c62451fad2262117b01530d8ea13e7bcdcab9855e397dacb964818a969ede6448efc76d41a3425d920869aa4fe68a3da63018f7d44287b8822abb0 diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/dwz/dwz-0.17.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/dwz/dwz-0.17.ebuild new file mode 100644 index 00000000000..2d1a4408ffe --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-devel/dwz/dwz-0.17.ebuild @@ -0,0 +1,78 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit toolchain-funcs + +DESCRIPTION="DWARF optimization and duplicate removal tool" +HOMEPAGE="https://sourceware.org/dwz" +if [[ ${PV} == 9999 ]] ; then + EGIT_REPO_URI="https://sourceware.org/git/dwz.git" + inherit git-r3 +else + VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/dwz.asc + inherit verify-sig + + SRC_URI=" + https://sourceware.org/ftp/dwz/releases/${P}.tar.xz + verify-sig? ( https://sourceware.org/ftp/dwz/releases/${P}.tar.xz.asc ) + " + S="${WORKDIR}/${PN}" + + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + BDEPEND="verify-sig? ( sec-keys/openpgp-keys-dwz )" +fi + +LICENSE="GPL-2+ GPL-3+" +SLOT="0" +IUSE="test" +RESTRICT="!test? ( test )" + +RDEPEND=" + dev-libs/elfutils + dev-libs/xxhash + elibc_musl? ( + >=sys-libs/error-standalone-2.0 + sys-libs/obstack-standalone + ) +" +DEPEND="${RDEPEND}" +BDEPEND+=" + test? ( + dev-debug/gdb + dev-libs/elfutils[utils] + dev-util/dejagnu + ) + virtual/pkgconfig +" + +src_prepare() { + default + tc-export CC +} + +src_compile() { + export LANG=C LC_ALL=C # grep find nothing for non-ascii locales + + local current_binutils_path=$(binutils-config -B) + export READELF="${current_binutils_path}/readelf" + + tc-export PKG_CONFIG READELF + + export LIBS="-lelf" + if use elibc_musl; then + export CFLAGS="${CFLAGS} $(${PKG_CONFIG} --cflags obstack-standalone error-standalone)" + export LIBS="${LIBS} $(${PKG_CONFIG} --libs obstack-standalone error-standalone)" + fi + + emake CFLAGS="${CFLAGS}" LIBS="${LIBS}" srcdir="${S}" prefix="${EPREFIX}/usr" +} + +src_test() { + emake CFLAGS="${CFLAGS}" LIBS="${LIBS}" srcdir="${S}" prefix="${EPREFIX}/usr" check +} + +src_install() { + emake DESTDIR="${D}" CFLAGS="${CFLAGS}" LIBS="${LIBS}" srcdir="${S}" prefix="${EPREFIX}/usr" install +} From e1eb06f1abf3d3c5d38132914088f853e1898917 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 3 Aug 2026 08:19:37 +0000 Subject: [PATCH 145/195] sys-devel/gcc: Sync with Gentoo It's from Gentoo commit eb5de32e270faf03ed6d86eadacadb616b81dda9. Signed-off-by: Flatcar Buildbot --- .../portage-stable/sys-devel/gcc/Manifest | 20 ++++++ .../sys-devel/gcc/gcc-13.4.1_p20260708.ebuild | 68 +++++++++++++++++++ .../sys-devel/gcc/gcc-13.4.1_p20260715.ebuild | 68 +++++++++++++++++++ .../sys-devel/gcc/gcc-13.4.1_p20260722.ebuild | 68 +++++++++++++++++++ .../sys-devel/gcc/gcc-13.4.1_p20260729.ebuild | 68 +++++++++++++++++++ .../sys-devel/gcc/gcc-14.4.1_p20260716.ebuild | 56 +++++++++++++++ .../sys-devel/gcc/gcc-14.4.1_p20260723.ebuild | 56 +++++++++++++++ .../sys-devel/gcc/gcc-14.4.1_p20260730.ebuild | 56 +++++++++++++++ .../sys-devel/gcc/gcc-15.3.1_p20260710.ebuild | 56 +++++++++++++++ .../sys-devel/gcc/gcc-15.3.1_p20260717.ebuild | 56 +++++++++++++++ .../sys-devel/gcc/gcc-15.3.1_p20260724.ebuild | 56 +++++++++++++++ .../sys-devel/gcc/gcc-15.3.1_p20260731.ebuild | 56 +++++++++++++++ .../sys-devel/gcc/gcc-16.1.1_p20260711.ebuild | 56 +++++++++++++++ .../sys-devel/gcc/gcc-16.1.1_p20260718.ebuild | 56 +++++++++++++++ .../sys-devel/gcc/gcc-16.1.1_p20260725.ebuild | 56 +++++++++++++++ .../sys-devel/gcc/gcc-16.1.1_p20260731.ebuild | 57 ++++++++++++++++ .../sys-devel/gcc/gcc-17.0.0_p20260712.ebuild | 56 +++++++++++++++ .../sys-devel/gcc/gcc-17.0.0_p20260719.ebuild | 56 +++++++++++++++ .../sys-devel/gcc/gcc-17.0.0_p20260726.ebuild | 56 +++++++++++++++ .../sys-devel/gcc/gcc-17.0.0_p20260802.ebuild | 56 +++++++++++++++ 20 files changed, 1133 insertions(+) create mode 100644 sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.4.1_p20260708.ebuild create mode 100644 sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.4.1_p20260715.ebuild create mode 100644 sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.4.1_p20260722.ebuild create mode 100644 sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.4.1_p20260729.ebuild create mode 100644 sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.4.1_p20260716.ebuild create mode 100644 sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.4.1_p20260723.ebuild create mode 100644 sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.4.1_p20260730.ebuild create mode 100644 sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.3.1_p20260710.ebuild create mode 100644 sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.3.1_p20260717.ebuild create mode 100644 sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.3.1_p20260724.ebuild create mode 100644 sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.3.1_p20260731.ebuild create mode 100644 sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-16.1.1_p20260711.ebuild create mode 100644 sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-16.1.1_p20260718.ebuild create mode 100644 sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-16.1.1_p20260725.ebuild create mode 100644 sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-16.1.1_p20260731.ebuild create mode 100644 sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-17.0.0_p20260712.ebuild create mode 100644 sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-17.0.0_p20260719.ebuild create mode 100644 sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-17.0.0_p20260726.ebuild create mode 100644 sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-17.0.0_p20260802.ebuild diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/Manifest b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/Manifest index 9cc9955cf26..3e4747788d8 100644 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/Manifest +++ b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/Manifest @@ -21,6 +21,10 @@ DIST gcc-13-20260610.tar.xz 84609268 BLAKE2B 7d40c50f42419a778e64abfccc71d532bf6 DIST gcc-13-20260617.tar.xz 84606784 BLAKE2B 7f8b88839a714a16cfaa2796ae9601151bd87d4ca7c2fa4eadf2b76c019b1abd6339886e789310b0d17360299bcc92edc1f3853236338382ed91d6cc18865e95 SHA512 8b36b10bcb8dd0c556de7f4a25004f045a190033bcc5c5cd782723a5705524859cdc9dca3c4c01d561e09656e75c2d9d7b800ff41e936f1f55ae9479e041465f DIST gcc-13-20260624.tar.xz 84614412 BLAKE2B 84395636773b8d14ac7908e7f9ae64c55ed369c7bef51de788ac8f95cbf17eb925e72f573241e835a44ec2fd39c3299348506042edab78c4b4f82fe32a042c4a SHA512 3509ad10d3c355831964785057ec1a50d5d36fc58cc21b9203ef16bbf0eafa31b7e487dfdb6aa00c750d82420c1a57aacde7424f72855a57cd07840892f0df62 DIST gcc-13-20260701.tar.xz 84614044 BLAKE2B b5c6a5ec54cd1bce45bad201892d59d9f672403f1b40c580da1cbb32fead817d09bdb674d9fc6ae664e97a8f1480fc635de3174f39608e09cde6e4d7def21d68 SHA512 4fa6cbfad37950f6f9cdecfc2782a570a5f59774adb2a24120049c4a2007730988a1eef80f36f1b0bfee2ebeef754fb30029140c3364089f3d2cd055e74f6462 +DIST gcc-13-20260708.tar.xz 84617648 BLAKE2B 841a0f9806c74d01547c8d8f0e716f9991d81398a7f70279a654bf0079b6d79384974d173cdf927a7d1eeaaa7d3f0665d963ee1c95135bd16b92a4cf98719215 SHA512 b28615b77bdc4839b88775842a7763ba779fc1246adf2afedd6472ebdaed98f15819a7b746d8fbf028e564b8c596418e8593e9d42993ce18d92f15f55d50e4cf +DIST gcc-13-20260715.tar.xz 84621548 BLAKE2B 476965a264994adc359c7340fec5470013d33debea7b2a8b56ebfa01e61967a24a6d950ce9dbca68b558046a676ecb05751b37f7fec42841e1a9ba2fd3032409 SHA512 1979288927926526ef85712b1a4d4172e03204d89ef2f217f12ed69f9fdecd622d248ac68beb7c13392ee1c51857905fa8c56c75c1ca0c3af1802600d22c0e4e +DIST gcc-13-20260722.tar.xz 84613400 BLAKE2B fbef224dffa582641e2b88689be148fd1b471325a7a74979866952f6eac12e8fbe4642b9f2e1a33f95bfc09a5890fead3f61200be69400f524009b622a06c285 SHA512 eefa873d0596c13befaccde28d44dbb6b5ef8c890b6fb7e3a82709307e752d341f6a8d47d9ac25587bd2fefcf12b861823c3c1f50cbffb7dbf5c62a12f8c58dc +DIST gcc-13-20260729.tar.xz 84616896 BLAKE2B 4f93761893446df118b333ebc74a875a8f186be0cc918ccc0b5d939edf370feebb16fc99b5d2ab86ea0ed7122007bf1e28593375ab18154d159dd3cf8afb6b1a SHA512 4ab7853f8132cbe5a099c2589a8eee2b8180ad2edac35d3cccb2ee0cda1d6ff0ae11dc8d0c08fd5a41b6ef2f7c57c6c7325e971a5768274f62ccf623678cfe7a DIST gcc-13.2.0-musl-patches-2.tar.xz 5292 BLAKE2B c057d6574d03c05854edaa9f3fd40e9149662b04f3ac7a7db3eb078d73a7b535726d1bf52e5b12736dedb2f9898ad731f2e48a6421fcfbf7b90f929dee072fcb SHA512 a691da0c87c443a5e9d23731f4005f27871c5b12bc9102873ffa24d374aa7b9fbd187c4f5635d23fa9ffb17e351e76173c2d3fdf40646e355c4cb314b538de69 DIST gcc-13.2.0-patches-3.tar.xz 30956 BLAKE2B 29ce043b46645640ca1e983397af3e158588ad87575f0bc59451ea4a7dd5e3bb5b190ed031de6a22cd790d423ba111e95d222187dd09985dceb12db9f0a2d907 SHA512 4ffecae7be320124ad0c4e71e39e142b7aa8db0e70b5f486f491d7a33ea31efc6464c6abeea77df02a8bd5cf81f08225d625c8af5c27f9afa32c0d7d989f7a3c DIST gcc-13.2.0.tar.xz 87858592 BLAKE2B 0034b29d3d6cc05821f0c4253ce077805943aff7b370729dd203bda57d89c107edd657eeddc2fb1e69ea15c7b0323b961f46516c7f4af89a3ccf7fea84701be2 SHA512 d99e4826a70db04504467e349e9fbaedaa5870766cda7c5cab50cdebedc4be755ebca5b789e1232a34a20be1a0b60097de9280efe47bdb71c73251e30b0862a2 @@ -39,6 +43,9 @@ DIST gcc-14-20260528.tar.xz 88521668 BLAKE2B 57465c22db8f3ed5660e8ea74ce5fce2465 DIST gcc-14-20260604.tar.xz 88473776 BLAKE2B 0d022d76185b04d314b05ee0e7906b030df6ca13efa254e5c64e625286af6e361659a359406bc90658b3d3e5379f0408500dda86a0af0aad3df88193ebe736dc SHA512 654e5484fe25986f51a55b12a959fa6c36d3640cbb8f62c63adda3e7222224048ddfd3cb87cac081759e1a2cd3732cdf17af9e6a3948aba227ddd3a4c0c2e72f DIST gcc-14-20260611.tar.xz 88470760 BLAKE2B b4c70945e290ce5a6eff36161ca0d3678dc809910e02785b9e3ac52664a6cf1ed8a824d3f4820572b77feafdd247d19f3b5aecd82d324bf29f2eb968a6b5e8fd SHA512 a66030357aaf596263386d3d91d686a739e77b6200a3fcbba40accc70049282efbd42a16323dd5c539a21239645c01ad625fd1ab537d8c9fa5b573e38ee59d3d DIST gcc-14-20260618.tar.xz 88486332 BLAKE2B 51717d015582d4b6e8690abb731681029354c53b8fdf6d8c4ff06d10aaae70ba8d89029c52d10c4e6792e09357378e8691ee96bbc77cdba28f5a12a5b2adefbb SHA512 1edaefad5cb9d76c364208e0b4fae5f3a7ba0583866551b1f48b41893ef4f902746812b8ab53c050e5c429db21c24693d48882b37b3df2881dbb9988e25846fa +DIST gcc-14-20260716.tar.xz 88509636 BLAKE2B 1e31c1c969a3ee7184d6e466dc9bf627e67e98f2c61fc4d34a74b02d7128718f7e8d0eb3a178b4e9734665fe93eeccf42e9bf5ba80e62b583044dab93b7939b1 SHA512 c587f5568ae6e8b9089dcb5e4753ad3ef5d807c3c30d329407e6be093e0a0ef26906c8dbc33a5aef20168371c10ded69c067e05acf42696eee45ade981ade321 +DIST gcc-14-20260723.tar.xz 88515920 BLAKE2B 256ee68d45b9bff530ae6d7d19ab5b2419a339a0a7a6deacc7a889c0a0fa0ae3b80a9de8ea4160b47376b1bd088d77c2348206b5781a1759201d9bf539dea927 SHA512 ee56897d9693e4d15574648cb6bec61c48fc9cf3aaf343228e9f9c988e8264b71da471b13591ea4e12092aa32216ce951e6f066226483d51b081048cf6832991 +DIST gcc-14-20260730.tar.xz 88513568 BLAKE2B ac9c12f2d9ebc91c6741cccd0ae4f9844477d16399d67047eb9b2b0ad36b39b4b33ddae321352776dcd76e4d1f7036dc32299ace4c5c7f79ecc7f6011a89b521 SHA512 2f331a7ec8b5facca0b3fd3b833b91db5482c6b0376f3f5f1c76c3afecc731019d354138ee8a94b9fabdb462484467dd044b15e65d7f37c2b4c5d660fed2e69b DIST gcc-14.3.0-musl-patches-2.tar.xz 6888 BLAKE2B e2f9ce6d445b7ced8f78c18585887422ffdd32356368a456a7cfde5a1854515b32546c1d25a2ab8637ee62d04a2c0bda1afc8d53c44e5c80c12499918c3c18fc SHA512 0b59d228213024cd93d9ffbd4ae5947021db2dc71bd320cc0e4ccf523d39f72e61be25c1a49a343729fe7b9abf7181503de3e650b255d80ab6d969d0de317d19 DIST gcc-14.3.0-patches-4.tar.xz 28116 BLAKE2B 5804f10b40befad1cb9eab4e536377c08aed8c54d3de27f188ae2d52fa7c082a529ad9cb64f9574087afe74e64138c9fc918d653bd2c1d062b8b68d5c7ab640d SHA512 75ee4895efea0131107cf664a0f9fd10f38da0d0f93704e1920778e07f1a860d872a97e1e528f8e1ab754cca25948bb09c444b80cc04f5ae3a516336290bb99c DIST gcc-14.3.0-patches-5.tar.xz 53952 BLAKE2B 3e5f63d760caf3c18c0f683c00170bb71998b4f0e15552103359d5c0954144676f6ca60e3e367a94cbdff0ab9bec21f3e04e30c38aae8f7e79911da30e6aeb76 SHA512 1702b7f6ee791468d02fcb9d418d2dd48e10cd6dc6eab0cf455aaf848bb78d953b00690fd78cab1ddd5af02acc237072c99ee43f0e512ae3e2e5f922f40f0dfe @@ -58,6 +65,10 @@ DIST gcc-15-20260612.tar.xz 92460676 BLAKE2B 15f4f30a1e208c3dec8c10e8dca415d2488 DIST gcc-15-20260619.tar.xz 92462900 BLAKE2B 629e2958c836acb163e3d394c236e5d1323b8a4e4829a58bfec8e66775332c3505e8b45e5af67be4f5ee47d3280628c5fd96613bb21f61a686e12e26db0804bf SHA512 0a5423e9617561519b550e6d6a704ad22b6a6fd0f2654c53765803146b9e853a7767e63dfd937cdc2a36629721931054f5b311108d80e0a59ec8c57d3348f40a DIST gcc-15-20260626.tar.xz 92467392 BLAKE2B 550f3c27ca29390f25930bd457457062bbcc9566371626a0bc80b0ed0d53db0d8d54abc70b53fc825e18e0175588b6b5cdc76607a13ab761aeab663a24a1c6a4 SHA512 b65845148f94a8667bf13bf9a2df471fd5e821dc11b78fc9020e541b63f891f18c782fdd2f933b7006621c76de58e60cb86077bea72bf02f660353ec5565210a DIST gcc-15-20260703.tar.xz 92460800 BLAKE2B 861549f8c17d79f9613e85ae455989e1ec96aa7d8da872e88254c70193fa2ab26918918ae8a290a5aa8986a55f1d91b3854fee308c5a8c86b960204ff750fbd5 SHA512 0a6889326713c1bac4486512f0d34ac6576293810ab5dd6678766185889e8f55c1af841dca5b3240e89c7aa3421be1fdccfcaf3f20ca58fbbfcf1bd25c958d9c +DIST gcc-15-20260710.tar.xz 92477556 BLAKE2B 2517f39cc25e43ef36ed6de251ecdadf93a604f1de3f95f4fbf26eee8d52f13581e8065890a86a851227dac0709ea5250b4fd1830b64e8ca4110f13ba055c3a2 SHA512 45609630f6207327d7dc5a7e076b6105afb67a4bfa03ee17e392ae14fecb674cb530fe5068f8023f8a5569110fa4ca734d14d7490c11b28e838ba66be33053ae +DIST gcc-15-20260717.tar.xz 92482140 BLAKE2B ae84ad42a0f5a35a36c362340298c94c8e8a64c7695102bb3a29b394527033186bf3599323ae8b1a478e215806cee702bfa48740421c504eefbafacbe74d2086 SHA512 91aaf673637458ebf73df2b1d87c21c9cbf432211b98e6dff965ae0f073f2ea8be8921a9828711fb6c10b9b3ec2e20213d118a05c08f31b8192ab291b448375d +DIST gcc-15-20260724.tar.xz 92484484 BLAKE2B 5d4803dbf9123408e941f923318b1d9a3a398194113556f87bac9a7b417cba2dec16307b5448bdea91b447000ee860fcb90ac9323465512494ce8c72d179af7b SHA512 4119a5b2eb8312f666dc31946c57f51e308f573f39860ac5db950cc4886920212519f1b4cc9beef588a29d6f6842b60b29f529925fe2014bdd92d8593187ae0c +DIST gcc-15-20260731.tar.xz 92483472 BLAKE2B f4ed7d848417e02c22386209998048f1b89a6278af04546e217febb31199cde2f6df976942f9fc5bbe0999eff887c704a9187e55526c530be1b2d074fffe3ee9 SHA512 67c857097a52ff4654f21e0affeb075d22cca23702a12083b82850983bf7218c6e05b89ec53345dd104f85bed5dd5aa4a535b2d3f21cb07749ea2bd4f8bfb153 DIST gcc-15.2.0-musl-patches-1.tar.xz 7168 BLAKE2B 6b7cfb123c3a691693240db815e6852a1e6c3820baa499368c463e0a0c1490c701053cfea10bf1d33f89dd2ba7bbddf63c4e6e0976590e3aaf1fee78b9282079 SHA512 ab80ffd69b9ead1fe06a9433faaa97ae53947d214999e77ea363fa6435de080d031a1aa6869e1dc088e800317952f2dc249a9e872113db56fb76f0a432240871 DIST gcc-15.2.0-patches-2.tar.xz 18708 BLAKE2B 09c54bd1b8436e12a3da1c3ee41017cd3e960268a5d4637252152b44a4cc93934d4dc93eff842d7dcee4d1688b7f2d98be48114ef5c864793242177f7549c933 SHA512 f11cfafe00f7d18e05a316bd1dc522477cc4118fdd65019cf85bca674ff0180951506fef84ce0b5b13190ccfe44c777a64afdc602a4580595005b43b79ae7411 DIST gcc-15.2.0-patches-4.tar.xz 19912 BLAKE2B 255d6435fe5b205d23d04eb885c55b421b1e6ffc30623fad5fe8a4cee5582f210e9851165b0976629d7e49288366a14635acdf1ad70f6d2fe288bdf88a9416a5 SHA512 f36c0a1e8abbb25cebfd93965950c072f33d8dbbc0be285e8e374a3602fe7e7cae3dfe44f24856d2231bcbfb40fe0c1de3b629e2f573d97f82212a7acf52ccc8 @@ -77,11 +88,15 @@ DIST gcc-16-20260613.tar.xz 98960356 BLAKE2B a22c685da2cf7a2cfd1ff268d5368d03de8 DIST gcc-16-20260620.tar.xz 98961572 BLAKE2B 304dd54ac6e89cb6bf45a24b2f94b95d94c04fb0ed63b412a52006f3c8640708624b29a74d44762182101d450ca74bb06859c40c5ddcb23c6d030390e08e6ecc SHA512 b619ffdc646d2398b81b53cd471bac7e933432d481eb4e238e84884e76fc195c6615591df425d85565a3159e5229a882743616d4051762cdc2e33d616ee436c5 DIST gcc-16-20260627.tar.xz 98980236 BLAKE2B 48c1a93aa5bc19b8253a434e5d618cc90c8d43792ad1c5389b8594fa8510a1d328f82d94d3ebe75d18c4affeee39747c99ab5793a1cfb94b0c6c5f5ebece3e52 SHA512 2ce38e78a78fd9cd5d136c1013cf6b91d06a5572521145824442abe3ff0a738f46f9944a520f67fc9b6d7e5ab9c6a5c6c0660a9861c8fd8386b8f65ac1fa994c DIST gcc-16-20260704.tar.xz 98986144 BLAKE2B b076e3ead68d27af90c9154c3b0e56fbb6fa07cf7d6d951ae56bec32071487a156c7cbf26bf56a0c29cd3292dbda51b338bcd58f80438d39e08f252effe9afac SHA512 c3501b4a21c4de8dd6cb28b03cb42e9f6d167491ef39f8957d8995e14c4608fa7de9fe3c4ed9fbc0ad169fb24e2d40fdec1e6689c2abf0bc1e57126e1025ec26 +DIST gcc-16-20260711.tar.xz 98998588 BLAKE2B 43a6fc591a66a240ec31f301eb5f38bf851e53750a720360f413fdb626ba74c56d5f9c949341d5320b6524003cfae6a712f063664a61da55f1bd968653a56fad SHA512 20b287bf06e263675c8f9bea7ae65432d375ab2005ebcdd7373d60b22ba87b3dfb7808f19167e251ad2c0fbf4d9d21ee1c8cb3736b3b349cbb2f98a25bf921b0 +DIST gcc-16-20260718.tar.xz 99011700 BLAKE2B 727ad34ae3f964ad86edd072c159cbb5201efd0cb5996cd515895e1f024a44572090e6595a1082509244b5a7fc4faf3bd75eee07883246905fbb66b9d6effa02 SHA512 b621bd5a602468576cbd563fec4a1a2f1b71e89a9f248403d3dd92d8d1c3d7e6439e93eed912d78f71b9ca0e3acff7f786ecb62d9560ba837dcaaddc6b38d946 +DIST gcc-16-20260725.tar.xz 99059320 BLAKE2B a7573939ff5e0f57cebfd3a570622a9c4f0c55834b1d7be2d6d85b0afe94a5431a51aaae041016464252b03dac04dbae3089968571b51567133da00aac136fbe SHA512 16d82c8f3d4d644d63c34120d101b54f6dc421efd2111deacd25b08252f1154b29bf8a0b52c4d57d816a05f9ab1d7293aab54bf5e8840fd2b49ccb009fad9974 DIST gcc-16.1.0-musl-patches-1.tar.xz 3036 BLAKE2B 348d0233c92e6b269011342a170989bb6375ff267b6ecfc00aafab2f793b925f1cccd654f438a4f88168a7999cab965aadfb6dfc9957a9b1a5bca62c326e0b84 SHA512 dc9c2d4a6e9088ad245039a962333ecba8476288844c686e7df9c867c8018451fccbd645a5690d554ee39809e6467285b3c619553edfed379c5f84c003bcb7e5 DIST gcc-16.1.0-patches-1.tar.xz 25128 BLAKE2B 487f8e1f204b8218ae54ef093fd3b99dd94a24e0fdc22ac37182b28e382e5601edc85e9af5c8374e76a576c8e8280cb84603e6f60bfb645a2adff5ee8e2e0070 SHA512 f5b4aefa101cef70c6bd78c689e90b0a30db14718ae2ff01827fe13af793f812616f16cc705fa333676f31025f3e840e243ef52851d32278b86d8b515589a2d9 DIST gcc-16.1.0-patches-2.tar.xz 26584 BLAKE2B 3597414aa1bedace5444834778bb666fc3372f3703975d5bc4656a792dbe498a76be582254bb3400f157cfcce2925c117d19595380fa2ffb6dab1e6f0d36ad57 SHA512 480a457b8944df5dd189c912d76457d650c348bce161465fd6031dd7c2803f8f9b26ef31b4ae8a8770c88eaa9c59a42c06ee1be3e1c8ec718974dda8b38a84ad DIST gcc-16.1.0-patches-3.tar.xz 25156 BLAKE2B 874afd3239c0794082568738c837786fff71ad48c24677c11110630fc6e0c0baf17720aec53dc7cd6580102a3a3b7daa2b78c82488f758af8afcb6cd5621ee25 SHA512 dbead66ac0899e2833e88cd7a95b12d2f2dd1379ec3cc085701efd7f8e446feff4d6c00f1481026bb9c699487a143f6a429a8f95ad7228f8bbef5faf2d1b5a5e DIST gcc-16.1.0.tar.xz 102456900 BLAKE2B ceb07866b6b17eb4c69a6b51241b275bc5ec506603a7c1a4c1e2585091a09fc647be945beeff76700bffd9018bda81b072d84f909fd7998baa0cfe3f0eb550b4 SHA512 b3454958891ab47e1e5b6cb9396c0ad3b04f32fe2a7bf1153a143f21013fdb6b295ca94c98964698a688e4c1d7555ffd8ffbc20187507cce6b1c32cbcc09897a +DIST gcc-16.2.0-RC-20260731.tar.xz 102640936 BLAKE2B f737ebd3e6a1991a1346ebaabde753bdb7e27d467a4749874139e704495a2fbc090db9cb0a5bbb0a53f13d82fc9e4ed26e8087549c9e643717d2a057a0aac903 SHA512 c87a7ce2bceeafc351f9c9158c02782babc78afd42d122d0c51fe397000a04a2a15f7ddec10ca8f68368828330684844322cb1347ab22ce79db862e01f1e56c2 DIST gcc-17-20260426.tar.xz 98950460 BLAKE2B 05e078c2e71ae5877172d1940ca150e4bfccda156acab2594f8794cef99e25d161965c32827c7f720ffd193d25e41d31632dc36920f4fcece8a66b01eb136184 SHA512 a51cdd6ab718c545aa6a85594f4d92defdf87eee914f37c5556cbdbaae52c1683b8a106c0d22eb3ba4b5f1a1ebddcf5c9d9a3182f6c71b796b95276cf7c7cf41 DIST gcc-17-20260503.tar.xz 98970580 BLAKE2B 5b2046d78d8519fa0e29e61731bfba80c1a3108e8b981afa2c98362bcb5a525113c3fa3b168c8244e3dc65f99c5f445b675fc2de1c51039ed994667f88e73449 SHA512 18c1257fe9012c43a3d6121a9cc1244fb0b42b3951a136e34a58741e4aa71a9ed0c11014ca3e5ccc1cc81c22eb07bf134b25c072a7da470238306d3d36d6dcb2 DIST gcc-17-20260510.tar.xz 98978656 BLAKE2B e5b26081251772e47819c7848c834a2b1e3ad3421bac0e407b7abe6d30635c394c49a04f845b53622b2833e5941b853e2985a395c50152b9aa076aacbf0da278 SHA512 79748b2df412adfe5578a24d4698a17cd505d532b520b2bad0fde1cf8d21b7593958f565de289d301fa322002edc1a506b19076c84c65e3f1afd65d1d3c96f2b @@ -93,8 +108,13 @@ DIST gcc-17-20260614.tar.xz 99351908 BLAKE2B 6a18901b48fd8f6343ee80c329514a0d248 DIST gcc-17-20260621.tar.xz 99395408 BLAKE2B 3e42539dd691e10a1f58309aadcc676e8260fd37b1d4145c80d00e132a05739014db8a199f437b915d78b66ec670644e3ce18e4ef3cbec6a1e170bd72e0f8fa7 SHA512 d90233846b8bf6710124ff386f83f3432a82dfb1dd2d5b5afcf04491a5610b98fa15d57360dc7efdf083fe5a365f8307f16af86fd966a62b6d4605fb3d9640e8 DIST gcc-17-20260628.tar.xz 99479040 BLAKE2B 0cc20cccf6acd0efbabc0e7a2282bb694af39d1c9c5747d1fd129f06fb0a334789e7f8819473fed2da953303aad877212633d98d3ce031e3979be357b883246d SHA512 eb728e8bba41e7dec2eb833657e1a69da484a3db03043dbee50fa4730a8aa6b1b1c41d1b204d05135b249b4b84e8c4482fdc4aa0f09897cbb5df5bb918792a51 DIST gcc-17-20260705.tar.xz 99562960 BLAKE2B 940a4601a98682bf268e8f992991866629749bb6ec3613c708c2cbb48829b0315ee7f8bdcb0de34398ba7d3a4a89ea5a538641c145523bda444e36ceed55d673 SHA512 2b76d0549aa6184d75e0cb9ab58210141ed920804eaad28642c8e5423063c1a0295115ee3df9488352b1051e0c01775ac021c8d85d2669b8c2653de598334dd1 +DIST gcc-17-20260712.tar.xz 99644004 BLAKE2B 44ec1406c4a244680784f5b0b58680fa46e15c4f6d91b5222d38a24a45c8e8e26df8cec431183a42b94b2b775ac5e680219dfe8e8ff70d56bab9446582bdc9e7 SHA512 805fdb8def2362c9cc87087c86d2a144076371cf3f2da0bfe9ccb2cfcd7b04f40db36869972476bf936213e6eb4aa1a45a2248175a3d717308490f74941171cd +DIST gcc-17-20260719.tar.xz 99705072 BLAKE2B 1b1df12903d2764a55bbaf84e124049102ede274669af17092614670aa1dc74646e60521b1c6dcf13fd4d2979605d02e26b1ff711048cd3727e45d22dfdc694a SHA512 2c102293aeaaa13b046d0f68e6b6ba98b6e1fcf2540437e2dfbb3d07b2b44ab3d7f2b6cfea2a96fbed5cfd28b2aa285bfcb202dc996cbb524255bcf84b098fbc +DIST gcc-17-20260726.tar.xz 99770080 BLAKE2B 2c3f137cf3a01c57f879a0e84d45815e271cce13d6f043ad5ae12281d4b30d4c5ab6a86a42133683ed2a4ff09250b16846d0f6484880f78fd1b7b9d902231c70 SHA512 6a503ca0cdd5fd6eedfd28ef408581dabefeb603b1e5ec472c99e4b6152af1cb5c23524b27f2503369554f127578f0119d38cb7095ba375ab26ac86be6397dd9 +DIST gcc-17-20260802.tar.xz 99815476 BLAKE2B dd1d418beb491129a6ffcdfadd719596cee93508132469daacb8648716d2a96ba4bf40de4bd7b8858ccad039004c7b19562a498845a57192a0e10b8878f6c0ee SHA512 432d2a371b0be75fe6f10473d8d85544dc997ec74b70bba01a7351bee82fd42d68d5818b6b9f5e83cb26782a9873da0e3d0a75d31f1b907bd9efbb728b989e7c DIST gcc-17.0.0-musl-patches-1.tar.xz 3040 BLAKE2B cc39906facd9c395bae9f87c67124066b8081521df39857d752f1e398dca5113240d24a836ca0f793313f954d6c38ff39961bf71a8036a1d5bc62751e71eb7c9 SHA512 4e330ee1c87229ba30644ad7a6841683aba368ce00585b5a7af433f215e248534a8d81f6f95fcf7b348c7d9aeaf1eeae015d76601e3d918a0ca39d94ed7e521c DIST gcc-17.0.0-patches-1.tar.xz 25196 BLAKE2B 7db76cfcc56556489c5c0698bad9d8f8f41d57f81ee439c7dc57add47858226fc37e8818e1644be69eff7322d4823b28571784dc0166624c866868b92c9f6e42 SHA512 9349836f0578d121b2b824c91f6ec18e5df3c4fc811f9b5e118e0ee957f9983cb2ff3b8b254b5dd912b5b1113259a3e2ac5e7b06c7c121ba9ca964c89a73bfa0 +DIST gcc-17.0.0-patches-10.tar.xz 23180 BLAKE2B d0a6bcd57675fbd6090341896f0b8427f04ae1a19c1eba37109de08d474cc857283ea9a64e751710d8266e976c07e07f534b55a6c8b683fa7afb3810b2551f9f SHA512 5e7fb665b2468cd8bc68e573a3e883ed70d4f5688d416fd1c471e2441bad95b6117ebdd433b49c8fbc34c937bc291dc1bcc5f99e1913b611d8833445b2d816d1 DIST gcc-17.0.0-patches-2.tar.xz 25148 BLAKE2B 0d1358c7cca8ed3779d0b618160fa31105dd1a84f0b84f351edaf0095e5e72cc59e204b70f843a7c327c4ea8a243c2ddfddfefc61ce1b1bc6275855cf84f4abc SHA512 80bc3b6369a602b4705f8ae658962c5ab23e3e93bcb91fa551ca9e180e3a8cdea534190d21702313a4bf8bbdbf26c6984eee53ee3c5a346ce4cee549b376f1ca DIST gcc-17.0.0-patches-3.tar.xz 27364 BLAKE2B e7c039dbfb942f5f61b7faed8cd0fd31d52ae27ba256da98722eea8af5d692702faf1419e79d7c34e6d462cb7f4b3dd64ca47e4cd2527209ebbbbc4be819e1fa SHA512 e1ec00b76407aaf640f8b06d626ee85074fed1e936c14ee48f177796f4fd0100aa2e372e31181c84d7feea0c5b1e5a08e9619d572090196e5d1462bdba619450 DIST gcc-17.0.0-patches-4.tar.xz 26632 BLAKE2B 69b491f3b1be38c9d0c72510b9f31a12cc8149f3d7125897095ebeafadc2a99596287a38fd8206af85b49831b336bab7e96920a56a44071d4834dd9aa4297975 SHA512 3c983d9df9a308fdc442b5453c3dd66f27fa731afd4dedc906e0841c23cd8e6f9b8c1ae5de5ac3466e5e0ea923cc6df0af46893ea7dce78135b74c494a0fecca diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.4.1_p20260708.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.4.1_p20260708.ebuild new file mode 100644 index 00000000000..fea647d1997 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.4.1_p20260708.ebuild @@ -0,0 +1,68 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# Maintenance notes and explanations of GCC handling are on the wiki: +# https://wiki.gentoo.org/wiki/Project:Toolchain/sys-devel/gcc + +TOOLCHAIN_HAS_TESTS=1 +PATCH_GCC_VER="13.3.0" +MUSL_GCC_VER="13.3.0" +PATCH_VER="9" +MUSL_VER="3" +PYTHON_COMPAT=( python3_{11..14} ) + +if [[ ${PV} == *.9999 ]] ; then + MY_PV_2=$(ver_cut 2) + MY_PV_3=1 + if [[ ${MY_PV_2} == 0 ]] ; then + MY_PV_2=0 + MY_PV_3=0 + else + MY_PV_2=$((${MY_PV_2} - 1)) + fi + + # e.g. 12.2.9999 -> 12.1.1 + TOOLCHAIN_GCC_PV=$(ver_cut 1).${MY_PV_2}.${MY_PV_3} +elif [[ -n ${TOOLCHAIN_GCC_RC} ]] ; then + # Cheesy hack for RCs + MY_PV=$(ver_cut 1).$((($(ver_cut 2) + 1))).$((($(ver_cut 3) - 1)))-RC-$(ver_cut 5) + MY_P=${PN}-${MY_PV} + GCC_TARBALL_SRC_URI="mirror://gcc/snapshots/${MY_PV}/${MY_P}.tar.xz" + TOOLCHAIN_SET_S=no + S="${WORKDIR}"/${MY_P} +fi + +inherit toolchain + +if tc_is_live ; then + # Needs to be after inherit (for now?), bug #830908 + EGIT_BRANCH=releases/gcc-$(ver_cut 1) +elif [[ -z ${TOOLCHAIN_USE_GIT_PATCHES} ]] ; then + # Don't keyword live ebuilds + #KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + :; +fi + +if [[ ${CATEGORY} != cross-* ]] ; then + # Technically only if USE=hardened *too* right now, but no point in complicating it further. + # If GCC is enabling CET by default, we need glibc to be built with support for it. + # bug #830454 + RDEPEND="elibc_glibc? ( sys-libs/glibc[cet(-)?] )" + DEPEND="${RDEPEND}" +fi + +src_prepare() { + local p upstreamed_patches=( + # add them here + ) + for p in "${upstreamed_patches[@]}"; do + rm -v "${WORKDIR}/patch/${p}" || die + done + + toolchain_src_prepare + + eapply "${FILESDIR}"/${PN}-13-fix-cross-fixincludes.patch + eapply_user +} diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.4.1_p20260715.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.4.1_p20260715.ebuild new file mode 100644 index 00000000000..fea647d1997 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.4.1_p20260715.ebuild @@ -0,0 +1,68 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# Maintenance notes and explanations of GCC handling are on the wiki: +# https://wiki.gentoo.org/wiki/Project:Toolchain/sys-devel/gcc + +TOOLCHAIN_HAS_TESTS=1 +PATCH_GCC_VER="13.3.0" +MUSL_GCC_VER="13.3.0" +PATCH_VER="9" +MUSL_VER="3" +PYTHON_COMPAT=( python3_{11..14} ) + +if [[ ${PV} == *.9999 ]] ; then + MY_PV_2=$(ver_cut 2) + MY_PV_3=1 + if [[ ${MY_PV_2} == 0 ]] ; then + MY_PV_2=0 + MY_PV_3=0 + else + MY_PV_2=$((${MY_PV_2} - 1)) + fi + + # e.g. 12.2.9999 -> 12.1.1 + TOOLCHAIN_GCC_PV=$(ver_cut 1).${MY_PV_2}.${MY_PV_3} +elif [[ -n ${TOOLCHAIN_GCC_RC} ]] ; then + # Cheesy hack for RCs + MY_PV=$(ver_cut 1).$((($(ver_cut 2) + 1))).$((($(ver_cut 3) - 1)))-RC-$(ver_cut 5) + MY_P=${PN}-${MY_PV} + GCC_TARBALL_SRC_URI="mirror://gcc/snapshots/${MY_PV}/${MY_P}.tar.xz" + TOOLCHAIN_SET_S=no + S="${WORKDIR}"/${MY_P} +fi + +inherit toolchain + +if tc_is_live ; then + # Needs to be after inherit (for now?), bug #830908 + EGIT_BRANCH=releases/gcc-$(ver_cut 1) +elif [[ -z ${TOOLCHAIN_USE_GIT_PATCHES} ]] ; then + # Don't keyword live ebuilds + #KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + :; +fi + +if [[ ${CATEGORY} != cross-* ]] ; then + # Technically only if USE=hardened *too* right now, but no point in complicating it further. + # If GCC is enabling CET by default, we need glibc to be built with support for it. + # bug #830454 + RDEPEND="elibc_glibc? ( sys-libs/glibc[cet(-)?] )" + DEPEND="${RDEPEND}" +fi + +src_prepare() { + local p upstreamed_patches=( + # add them here + ) + for p in "${upstreamed_patches[@]}"; do + rm -v "${WORKDIR}/patch/${p}" || die + done + + toolchain_src_prepare + + eapply "${FILESDIR}"/${PN}-13-fix-cross-fixincludes.patch + eapply_user +} diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.4.1_p20260722.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.4.1_p20260722.ebuild new file mode 100644 index 00000000000..fea647d1997 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.4.1_p20260722.ebuild @@ -0,0 +1,68 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# Maintenance notes and explanations of GCC handling are on the wiki: +# https://wiki.gentoo.org/wiki/Project:Toolchain/sys-devel/gcc + +TOOLCHAIN_HAS_TESTS=1 +PATCH_GCC_VER="13.3.0" +MUSL_GCC_VER="13.3.0" +PATCH_VER="9" +MUSL_VER="3" +PYTHON_COMPAT=( python3_{11..14} ) + +if [[ ${PV} == *.9999 ]] ; then + MY_PV_2=$(ver_cut 2) + MY_PV_3=1 + if [[ ${MY_PV_2} == 0 ]] ; then + MY_PV_2=0 + MY_PV_3=0 + else + MY_PV_2=$((${MY_PV_2} - 1)) + fi + + # e.g. 12.2.9999 -> 12.1.1 + TOOLCHAIN_GCC_PV=$(ver_cut 1).${MY_PV_2}.${MY_PV_3} +elif [[ -n ${TOOLCHAIN_GCC_RC} ]] ; then + # Cheesy hack for RCs + MY_PV=$(ver_cut 1).$((($(ver_cut 2) + 1))).$((($(ver_cut 3) - 1)))-RC-$(ver_cut 5) + MY_P=${PN}-${MY_PV} + GCC_TARBALL_SRC_URI="mirror://gcc/snapshots/${MY_PV}/${MY_P}.tar.xz" + TOOLCHAIN_SET_S=no + S="${WORKDIR}"/${MY_P} +fi + +inherit toolchain + +if tc_is_live ; then + # Needs to be after inherit (for now?), bug #830908 + EGIT_BRANCH=releases/gcc-$(ver_cut 1) +elif [[ -z ${TOOLCHAIN_USE_GIT_PATCHES} ]] ; then + # Don't keyword live ebuilds + #KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + :; +fi + +if [[ ${CATEGORY} != cross-* ]] ; then + # Technically only if USE=hardened *too* right now, but no point in complicating it further. + # If GCC is enabling CET by default, we need glibc to be built with support for it. + # bug #830454 + RDEPEND="elibc_glibc? ( sys-libs/glibc[cet(-)?] )" + DEPEND="${RDEPEND}" +fi + +src_prepare() { + local p upstreamed_patches=( + # add them here + ) + for p in "${upstreamed_patches[@]}"; do + rm -v "${WORKDIR}/patch/${p}" || die + done + + toolchain_src_prepare + + eapply "${FILESDIR}"/${PN}-13-fix-cross-fixincludes.patch + eapply_user +} diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.4.1_p20260729.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.4.1_p20260729.ebuild new file mode 100644 index 00000000000..fea647d1997 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.4.1_p20260729.ebuild @@ -0,0 +1,68 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# Maintenance notes and explanations of GCC handling are on the wiki: +# https://wiki.gentoo.org/wiki/Project:Toolchain/sys-devel/gcc + +TOOLCHAIN_HAS_TESTS=1 +PATCH_GCC_VER="13.3.0" +MUSL_GCC_VER="13.3.0" +PATCH_VER="9" +MUSL_VER="3" +PYTHON_COMPAT=( python3_{11..14} ) + +if [[ ${PV} == *.9999 ]] ; then + MY_PV_2=$(ver_cut 2) + MY_PV_3=1 + if [[ ${MY_PV_2} == 0 ]] ; then + MY_PV_2=0 + MY_PV_3=0 + else + MY_PV_2=$((${MY_PV_2} - 1)) + fi + + # e.g. 12.2.9999 -> 12.1.1 + TOOLCHAIN_GCC_PV=$(ver_cut 1).${MY_PV_2}.${MY_PV_3} +elif [[ -n ${TOOLCHAIN_GCC_RC} ]] ; then + # Cheesy hack for RCs + MY_PV=$(ver_cut 1).$((($(ver_cut 2) + 1))).$((($(ver_cut 3) - 1)))-RC-$(ver_cut 5) + MY_P=${PN}-${MY_PV} + GCC_TARBALL_SRC_URI="mirror://gcc/snapshots/${MY_PV}/${MY_P}.tar.xz" + TOOLCHAIN_SET_S=no + S="${WORKDIR}"/${MY_P} +fi + +inherit toolchain + +if tc_is_live ; then + # Needs to be after inherit (for now?), bug #830908 + EGIT_BRANCH=releases/gcc-$(ver_cut 1) +elif [[ -z ${TOOLCHAIN_USE_GIT_PATCHES} ]] ; then + # Don't keyword live ebuilds + #KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + :; +fi + +if [[ ${CATEGORY} != cross-* ]] ; then + # Technically only if USE=hardened *too* right now, but no point in complicating it further. + # If GCC is enabling CET by default, we need glibc to be built with support for it. + # bug #830454 + RDEPEND="elibc_glibc? ( sys-libs/glibc[cet(-)?] )" + DEPEND="${RDEPEND}" +fi + +src_prepare() { + local p upstreamed_patches=( + # add them here + ) + for p in "${upstreamed_patches[@]}"; do + rm -v "${WORKDIR}/patch/${p}" || die + done + + toolchain_src_prepare + + eapply "${FILESDIR}"/${PN}-13-fix-cross-fixincludes.patch + eapply_user +} diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.4.1_p20260716.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.4.1_p20260716.ebuild new file mode 100644 index 00000000000..3af2dfd2521 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.4.1_p20260716.ebuild @@ -0,0 +1,56 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# Maintenance notes and explanations of GCC handling are on the wiki: +# https://wiki.gentoo.org/wiki/Project:Toolchain/sys-devel/gcc + +TOOLCHAIN_HAS_TESTS=1 +PATCH_GCC_VER="14.3.0" +PATCH_VER="6" +MUSL_VER="2" +MUSL_GCC_VER="14.3.0" +PYTHON_COMPAT=( python3_{11..14} ) + +if [[ -n ${TOOLCHAIN_GCC_RC} ]] ; then + # Cheesy hack for RCs + MY_PV=$(ver_cut 1).$((($(ver_cut 2) + 1))).$((($(ver_cut 3) - 1)))-RC-$(ver_cut 5) + MY_P=${PN}-${MY_PV} + GCC_TARBALL_SRC_URI="mirror://gcc/snapshots/${MY_PV}/${MY_P}.tar.xz" + TOOLCHAIN_SET_S=no + S="${WORKDIR}"/${MY_P} +fi + +inherit toolchain + +if tc_is_live ; then + # Needs to be after inherit (for now?), bug #830908 + EGIT_BRANCH=releases/gcc-$(ver_cut 1) +elif [[ -z ${TOOLCHAIN_USE_GIT_PATCHES} ]] ; then + # m68k doesnt build (ICE, bug 932733) + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + :; +fi + +if [[ ${CATEGORY} != cross-* ]] ; then + # Technically only if USE=hardened *too* right now, but no point in complicating it further. + # If GCC is enabling CET by default, we need glibc to be built with support for it. + # bug #830454 + RDEPEND="elibc_glibc? ( sys-libs/glibc[cet(-)?] )" + DEPEND="${RDEPEND}" +fi + +src_prepare() { + local p upstreamed_patches=( + # add them here + ) + for p in "${upstreamed_patches[@]}"; do + rm -v "${WORKDIR}/patch/${p}" || die + done + + toolchain_src_prepare + + eapply "${FILESDIR}"/${PN}-13-fix-cross-fixincludes.patch + eapply_user +} diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.4.1_p20260723.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.4.1_p20260723.ebuild new file mode 100644 index 00000000000..4eb953d1246 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.4.1_p20260723.ebuild @@ -0,0 +1,56 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# Maintenance notes and explanations of GCC handling are on the wiki: +# https://wiki.gentoo.org/wiki/Project:Toolchain/sys-devel/gcc + +TOOLCHAIN_HAS_TESTS=1 +PATCH_GCC_VER="14.3.0" +PATCH_VER="6" +MUSL_VER="2" +MUSL_GCC_VER="14.3.0" +PYTHON_COMPAT=( python3_{11..14} ) + +if [[ -n ${TOOLCHAIN_GCC_RC} ]] ; then + # Cheesy hack for RCs + MY_PV=$(ver_cut 1).$((($(ver_cut 2) + 1))).$((($(ver_cut 3) - 1)))-RC-$(ver_cut 5) + MY_P=${PN}-${MY_PV} + GCC_TARBALL_SRC_URI="mirror://gcc/snapshots/${MY_PV}/${MY_P}.tar.xz" + TOOLCHAIN_SET_S=no + S="${WORKDIR}"/${MY_P} +fi + +inherit toolchain + +if tc_is_live ; then + # Needs to be after inherit (for now?), bug #830908 + EGIT_BRANCH=releases/gcc-$(ver_cut 1) +elif [[ -z ${TOOLCHAIN_USE_GIT_PATCHES} ]] ; then + # m68k doesnt build (ICE, bug 932733) + #KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + :; +fi + +if [[ ${CATEGORY} != cross-* ]] ; then + # Technically only if USE=hardened *too* right now, but no point in complicating it further. + # If GCC is enabling CET by default, we need glibc to be built with support for it. + # bug #830454 + RDEPEND="elibc_glibc? ( sys-libs/glibc[cet(-)?] )" + DEPEND="${RDEPEND}" +fi + +src_prepare() { + local p upstreamed_patches=( + # add them here + ) + for p in "${upstreamed_patches[@]}"; do + rm -v "${WORKDIR}/patch/${p}" || die + done + + toolchain_src_prepare + + eapply "${FILESDIR}"/${PN}-13-fix-cross-fixincludes.patch + eapply_user +} diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.4.1_p20260730.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.4.1_p20260730.ebuild new file mode 100644 index 00000000000..4eb953d1246 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.4.1_p20260730.ebuild @@ -0,0 +1,56 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# Maintenance notes and explanations of GCC handling are on the wiki: +# https://wiki.gentoo.org/wiki/Project:Toolchain/sys-devel/gcc + +TOOLCHAIN_HAS_TESTS=1 +PATCH_GCC_VER="14.3.0" +PATCH_VER="6" +MUSL_VER="2" +MUSL_GCC_VER="14.3.0" +PYTHON_COMPAT=( python3_{11..14} ) + +if [[ -n ${TOOLCHAIN_GCC_RC} ]] ; then + # Cheesy hack for RCs + MY_PV=$(ver_cut 1).$((($(ver_cut 2) + 1))).$((($(ver_cut 3) - 1)))-RC-$(ver_cut 5) + MY_P=${PN}-${MY_PV} + GCC_TARBALL_SRC_URI="mirror://gcc/snapshots/${MY_PV}/${MY_P}.tar.xz" + TOOLCHAIN_SET_S=no + S="${WORKDIR}"/${MY_P} +fi + +inherit toolchain + +if tc_is_live ; then + # Needs to be after inherit (for now?), bug #830908 + EGIT_BRANCH=releases/gcc-$(ver_cut 1) +elif [[ -z ${TOOLCHAIN_USE_GIT_PATCHES} ]] ; then + # m68k doesnt build (ICE, bug 932733) + #KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + :; +fi + +if [[ ${CATEGORY} != cross-* ]] ; then + # Technically only if USE=hardened *too* right now, but no point in complicating it further. + # If GCC is enabling CET by default, we need glibc to be built with support for it. + # bug #830454 + RDEPEND="elibc_glibc? ( sys-libs/glibc[cet(-)?] )" + DEPEND="${RDEPEND}" +fi + +src_prepare() { + local p upstreamed_patches=( + # add them here + ) + for p in "${upstreamed_patches[@]}"; do + rm -v "${WORKDIR}/patch/${p}" || die + done + + toolchain_src_prepare + + eapply "${FILESDIR}"/${PN}-13-fix-cross-fixincludes.patch + eapply_user +} diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.3.1_p20260710.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.3.1_p20260710.ebuild new file mode 100644 index 00000000000..76e691e7f5a --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.3.1_p20260710.ebuild @@ -0,0 +1,56 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# Maintenance notes and explanations of GCC handling are on the wiki: +# https://wiki.gentoo.org/wiki/Project:Toolchain/sys-devel/gcc + +TOOLCHAIN_HAS_TESTS=1 +PATCH_GCC_VER="15.2.0" +PATCH_VER="8" +MUSL_VER="1" +MUSL_GCC_VER="15.2.0" +PYTHON_COMPAT=( python3_{11..14} ) + +if [[ -n ${TOOLCHAIN_GCC_RC} ]] ; then + # Cheesy hack for RCs + MY_PV=$(ver_cut 1).$((($(ver_cut 2) + 1))).$((($(ver_cut 3) - 1)))-RC-$(ver_cut 5) + MY_P=${PN}-${MY_PV} + GCC_TARBALL_SRC_URI="mirror://gcc/snapshots/${MY_PV}/${MY_P}.tar.xz" + TOOLCHAIN_SET_S=no + S="${WORKDIR}"/${MY_P} +fi + +inherit toolchain + +if tc_is_live ; then + # Needs to be after inherit (for now?), bug #830908 + EGIT_BRANCH=master +elif [[ -z ${TOOLCHAIN_USE_GIT_PATCHES} ]] ; then + # Don't keyword live ebuilds + #KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + :; +fi + +if [[ ${CATEGORY} != cross-* ]] ; then + # Technically only if USE=hardened *too* right now, but no point in complicating it further. + # If GCC is enabling CET by default, we need glibc to be built with support for it. + # bug #830454 + RDEPEND="elibc_glibc? ( sys-libs/glibc[cet(-)?] )" + DEPEND="${RDEPEND}" +fi + +src_prepare() { + local p upstreamed_patches=( + # add them here + ) + for p in "${upstreamed_patches[@]}"; do + rm -v "${WORKDIR}/patch/${p}" || die + done + + toolchain_src_prepare + eapply "${FILESDIR}"/${PN}-13-fix-cross-fixincludes.patch + [[ ${CHOST} == m68k-* ]] && eapply "${FILESDIR}"/${PN}-15-m68k-workaround.patch + eapply_user +} diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.3.1_p20260717.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.3.1_p20260717.ebuild new file mode 100644 index 00000000000..2cfcd5e7f80 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.3.1_p20260717.ebuild @@ -0,0 +1,56 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# Maintenance notes and explanations of GCC handling are on the wiki: +# https://wiki.gentoo.org/wiki/Project:Toolchain/sys-devel/gcc + +TOOLCHAIN_HAS_TESTS=1 +PATCH_GCC_VER="15.2.0" +PATCH_VER="8" +MUSL_VER="1" +MUSL_GCC_VER="15.2.0" +PYTHON_COMPAT=( python3_{11..14} ) + +if [[ -n ${TOOLCHAIN_GCC_RC} ]] ; then + # Cheesy hack for RCs + MY_PV=$(ver_cut 1).$((($(ver_cut 2) + 1))).$((($(ver_cut 3) - 1)))-RC-$(ver_cut 5) + MY_P=${PN}-${MY_PV} + GCC_TARBALL_SRC_URI="mirror://gcc/snapshots/${MY_PV}/${MY_P}.tar.xz" + TOOLCHAIN_SET_S=no + S="${WORKDIR}"/${MY_P} +fi + +inherit toolchain + +if tc_is_live ; then + # Needs to be after inherit (for now?), bug #830908 + EGIT_BRANCH=master +elif [[ -z ${TOOLCHAIN_USE_GIT_PATCHES} ]] ; then + # Don't keyword live ebuilds + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + :; +fi + +if [[ ${CATEGORY} != cross-* ]] ; then + # Technically only if USE=hardened *too* right now, but no point in complicating it further. + # If GCC is enabling CET by default, we need glibc to be built with support for it. + # bug #830454 + RDEPEND="elibc_glibc? ( sys-libs/glibc[cet(-)?] )" + DEPEND="${RDEPEND}" +fi + +src_prepare() { + local p upstreamed_patches=( + # add them here + ) + for p in "${upstreamed_patches[@]}"; do + rm -v "${WORKDIR}/patch/${p}" || die + done + + toolchain_src_prepare + eapply "${FILESDIR}"/${PN}-13-fix-cross-fixincludes.patch + [[ ${CHOST} == m68k-* ]] && eapply "${FILESDIR}"/${PN}-15-m68k-workaround.patch + eapply_user +} diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.3.1_p20260724.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.3.1_p20260724.ebuild new file mode 100644 index 00000000000..76e691e7f5a --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.3.1_p20260724.ebuild @@ -0,0 +1,56 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# Maintenance notes and explanations of GCC handling are on the wiki: +# https://wiki.gentoo.org/wiki/Project:Toolchain/sys-devel/gcc + +TOOLCHAIN_HAS_TESTS=1 +PATCH_GCC_VER="15.2.0" +PATCH_VER="8" +MUSL_VER="1" +MUSL_GCC_VER="15.2.0" +PYTHON_COMPAT=( python3_{11..14} ) + +if [[ -n ${TOOLCHAIN_GCC_RC} ]] ; then + # Cheesy hack for RCs + MY_PV=$(ver_cut 1).$((($(ver_cut 2) + 1))).$((($(ver_cut 3) - 1)))-RC-$(ver_cut 5) + MY_P=${PN}-${MY_PV} + GCC_TARBALL_SRC_URI="mirror://gcc/snapshots/${MY_PV}/${MY_P}.tar.xz" + TOOLCHAIN_SET_S=no + S="${WORKDIR}"/${MY_P} +fi + +inherit toolchain + +if tc_is_live ; then + # Needs to be after inherit (for now?), bug #830908 + EGIT_BRANCH=master +elif [[ -z ${TOOLCHAIN_USE_GIT_PATCHES} ]] ; then + # Don't keyword live ebuilds + #KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + :; +fi + +if [[ ${CATEGORY} != cross-* ]] ; then + # Technically only if USE=hardened *too* right now, but no point in complicating it further. + # If GCC is enabling CET by default, we need glibc to be built with support for it. + # bug #830454 + RDEPEND="elibc_glibc? ( sys-libs/glibc[cet(-)?] )" + DEPEND="${RDEPEND}" +fi + +src_prepare() { + local p upstreamed_patches=( + # add them here + ) + for p in "${upstreamed_patches[@]}"; do + rm -v "${WORKDIR}/patch/${p}" || die + done + + toolchain_src_prepare + eapply "${FILESDIR}"/${PN}-13-fix-cross-fixincludes.patch + [[ ${CHOST} == m68k-* ]] && eapply "${FILESDIR}"/${PN}-15-m68k-workaround.patch + eapply_user +} diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.3.1_p20260731.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.3.1_p20260731.ebuild new file mode 100644 index 00000000000..76e691e7f5a --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.3.1_p20260731.ebuild @@ -0,0 +1,56 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# Maintenance notes and explanations of GCC handling are on the wiki: +# https://wiki.gentoo.org/wiki/Project:Toolchain/sys-devel/gcc + +TOOLCHAIN_HAS_TESTS=1 +PATCH_GCC_VER="15.2.0" +PATCH_VER="8" +MUSL_VER="1" +MUSL_GCC_VER="15.2.0" +PYTHON_COMPAT=( python3_{11..14} ) + +if [[ -n ${TOOLCHAIN_GCC_RC} ]] ; then + # Cheesy hack for RCs + MY_PV=$(ver_cut 1).$((($(ver_cut 2) + 1))).$((($(ver_cut 3) - 1)))-RC-$(ver_cut 5) + MY_P=${PN}-${MY_PV} + GCC_TARBALL_SRC_URI="mirror://gcc/snapshots/${MY_PV}/${MY_P}.tar.xz" + TOOLCHAIN_SET_S=no + S="${WORKDIR}"/${MY_P} +fi + +inherit toolchain + +if tc_is_live ; then + # Needs to be after inherit (for now?), bug #830908 + EGIT_BRANCH=master +elif [[ -z ${TOOLCHAIN_USE_GIT_PATCHES} ]] ; then + # Don't keyword live ebuilds + #KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + :; +fi + +if [[ ${CATEGORY} != cross-* ]] ; then + # Technically only if USE=hardened *too* right now, but no point in complicating it further. + # If GCC is enabling CET by default, we need glibc to be built with support for it. + # bug #830454 + RDEPEND="elibc_glibc? ( sys-libs/glibc[cet(-)?] )" + DEPEND="${RDEPEND}" +fi + +src_prepare() { + local p upstreamed_patches=( + # add them here + ) + for p in "${upstreamed_patches[@]}"; do + rm -v "${WORKDIR}/patch/${p}" || die + done + + toolchain_src_prepare + eapply "${FILESDIR}"/${PN}-13-fix-cross-fixincludes.patch + [[ ${CHOST} == m68k-* ]] && eapply "${FILESDIR}"/${PN}-15-m68k-workaround.patch + eapply_user +} diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-16.1.1_p20260711.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-16.1.1_p20260711.ebuild new file mode 100644 index 00000000000..3c65dcacdd6 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-16.1.1_p20260711.ebuild @@ -0,0 +1,56 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# Maintenance notes and explanations of GCC handling are on the wiki: +# https://wiki.gentoo.org/wiki/Project:Toolchain/sys-devel/gcc + +TOOLCHAIN_HAS_TESTS=1 +PATCH_GCC_VER="16.1.0" +PATCH_VER="3" +MUSL_VER="1" +MUSL_GCC_VER="16.1.0" +PYTHON_COMPAT=( python3_{11..14} ) + +if [[ -n ${TOOLCHAIN_GCC_RC} ]] ; then + # Cheesy hack for RCs + MY_PV=$(ver_cut 1).$((($(ver_cut 2) + 1))).$((($(ver_cut 3) - 1)))-RC-$(ver_cut 5) + MY_P=${PN}-${MY_PV} + GCC_TARBALL_SRC_URI="mirror://gcc/snapshots/${MY_PV}/${MY_P}.tar.xz" + TOOLCHAIN_SET_S=no + S="${WORKDIR}"/${MY_P} +fi + +inherit toolchain + +if tc_is_live ; then + # Needs to be after inherit (for now?), bug #830908 + EGIT_BRANCH=master +elif [[ -z ${TOOLCHAIN_USE_GIT_PATCHES} ]] ; then + # Don't keyword live ebuilds + #KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + :; +fi + +if [[ ${CATEGORY} != cross-* ]] ; then + # Technically only if USE=hardened *too* right now, but no point in complicating it further. + # If GCC is enabling CET by default, we need glibc to be built with support for it. + # bug #830454 + RDEPEND="elibc_glibc? ( sys-libs/glibc[cet(-)?] )" + DEPEND="${RDEPEND}" +fi + +src_prepare() { + local p upstreamed_patches=( + # add them here + ) + for p in "${upstreamed_patches[@]}"; do + rm -v "${WORKDIR}/patch/${p}" || die + done + + toolchain_src_prepare + eapply "${FILESDIR}"/${PN}-13-fix-cross-fixincludes.patch + [[ ${CHOST} == m68k-* ]] && eapply "${FILESDIR}"/${PN}-15-m68k-workaround.patch + eapply_user +} diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-16.1.1_p20260718.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-16.1.1_p20260718.ebuild new file mode 100644 index 00000000000..76a702516e8 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-16.1.1_p20260718.ebuild @@ -0,0 +1,56 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# Maintenance notes and explanations of GCC handling are on the wiki: +# https://wiki.gentoo.org/wiki/Project:Toolchain/sys-devel/gcc + +TOOLCHAIN_HAS_TESTS=1 +PATCH_GCC_VER="16.1.0" +PATCH_VER="3" +MUSL_VER="1" +MUSL_GCC_VER="16.1.0" +PYTHON_COMPAT=( python3_{11..14} ) + +if [[ -n ${TOOLCHAIN_GCC_RC} ]] ; then + # Cheesy hack for RCs + MY_PV=$(ver_cut 1).$((($(ver_cut 2) + 1))).$((($(ver_cut 3) - 1)))-RC-$(ver_cut 5) + MY_P=${PN}-${MY_PV} + GCC_TARBALL_SRC_URI="mirror://gcc/snapshots/${MY_PV}/${MY_P}.tar.xz" + TOOLCHAIN_SET_S=no + S="${WORKDIR}"/${MY_P} +fi + +inherit toolchain + +if tc_is_live ; then + # Needs to be after inherit (for now?), bug #830908 + EGIT_BRANCH=master +elif [[ -z ${TOOLCHAIN_USE_GIT_PATCHES} ]] ; then + # Don't keyword live ebuilds + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + :; +fi + +if [[ ${CATEGORY} != cross-* ]] ; then + # Technically only if USE=hardened *too* right now, but no point in complicating it further. + # If GCC is enabling CET by default, we need glibc to be built with support for it. + # bug #830454 + RDEPEND="elibc_glibc? ( sys-libs/glibc[cet(-)?] )" + DEPEND="${RDEPEND}" +fi + +src_prepare() { + local p upstreamed_patches=( + # add them here + ) + for p in "${upstreamed_patches[@]}"; do + rm -v "${WORKDIR}/patch/${p}" || die + done + + toolchain_src_prepare + eapply "${FILESDIR}"/${PN}-13-fix-cross-fixincludes.patch + [[ ${CHOST} == m68k-* ]] && eapply "${FILESDIR}"/${PN}-15-m68k-workaround.patch + eapply_user +} diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-16.1.1_p20260725.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-16.1.1_p20260725.ebuild new file mode 100644 index 00000000000..3c65dcacdd6 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-16.1.1_p20260725.ebuild @@ -0,0 +1,56 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# Maintenance notes and explanations of GCC handling are on the wiki: +# https://wiki.gentoo.org/wiki/Project:Toolchain/sys-devel/gcc + +TOOLCHAIN_HAS_TESTS=1 +PATCH_GCC_VER="16.1.0" +PATCH_VER="3" +MUSL_VER="1" +MUSL_GCC_VER="16.1.0" +PYTHON_COMPAT=( python3_{11..14} ) + +if [[ -n ${TOOLCHAIN_GCC_RC} ]] ; then + # Cheesy hack for RCs + MY_PV=$(ver_cut 1).$((($(ver_cut 2) + 1))).$((($(ver_cut 3) - 1)))-RC-$(ver_cut 5) + MY_P=${PN}-${MY_PV} + GCC_TARBALL_SRC_URI="mirror://gcc/snapshots/${MY_PV}/${MY_P}.tar.xz" + TOOLCHAIN_SET_S=no + S="${WORKDIR}"/${MY_P} +fi + +inherit toolchain + +if tc_is_live ; then + # Needs to be after inherit (for now?), bug #830908 + EGIT_BRANCH=master +elif [[ -z ${TOOLCHAIN_USE_GIT_PATCHES} ]] ; then + # Don't keyword live ebuilds + #KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + :; +fi + +if [[ ${CATEGORY} != cross-* ]] ; then + # Technically only if USE=hardened *too* right now, but no point in complicating it further. + # If GCC is enabling CET by default, we need glibc to be built with support for it. + # bug #830454 + RDEPEND="elibc_glibc? ( sys-libs/glibc[cet(-)?] )" + DEPEND="${RDEPEND}" +fi + +src_prepare() { + local p upstreamed_patches=( + # add them here + ) + for p in "${upstreamed_patches[@]}"; do + rm -v "${WORKDIR}/patch/${p}" || die + done + + toolchain_src_prepare + eapply "${FILESDIR}"/${PN}-13-fix-cross-fixincludes.patch + [[ ${CHOST} == m68k-* ]] && eapply "${FILESDIR}"/${PN}-15-m68k-workaround.patch + eapply_user +} diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-16.1.1_p20260731.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-16.1.1_p20260731.ebuild new file mode 100644 index 00000000000..f0ea5fce67d --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-16.1.1_p20260731.ebuild @@ -0,0 +1,57 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# Maintenance notes and explanations of GCC handling are on the wiki: +# https://wiki.gentoo.org/wiki/Project:Toolchain/sys-devel/gcc + +TOOLCHAIN_GCC_RC=1 +TOOLCHAIN_HAS_TESTS=1 +PATCH_GCC_VER="16.1.0" +PATCH_VER="3" +MUSL_VER="1" +MUSL_GCC_VER="16.1.0" +PYTHON_COMPAT=( python3_{11..14} ) + +if [[ -n ${TOOLCHAIN_GCC_RC} ]] ; then + # Cheesy hack for RCs + MY_PV=$(ver_cut 1).$((($(ver_cut 2) + 1))).$((($(ver_cut 3) - 1)))-RC-$(ver_cut 5) + MY_P=${PN}-${MY_PV} + GCC_TARBALL_SRC_URI="mirror://gcc/snapshots/${MY_PV}/${MY_P}.tar.xz" + TOOLCHAIN_SET_S=no + S="${WORKDIR}"/${MY_P} +fi + +inherit toolchain + +if tc_is_live ; then + # Needs to be after inherit (for now?), bug #830908 + EGIT_BRANCH=master +elif [[ -z ${TOOLCHAIN_USE_GIT_PATCHES} ]] ; then + # Don't keyword live ebuilds + #KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + :; +fi + +if [[ ${CATEGORY} != cross-* ]] ; then + # Technically only if USE=hardened *too* right now, but no point in complicating it further. + # If GCC is enabling CET by default, we need glibc to be built with support for it. + # bug #830454 + RDEPEND="elibc_glibc? ( sys-libs/glibc[cet(-)?] )" + DEPEND="${RDEPEND}" +fi + +src_prepare() { + local p upstreamed_patches=( + # add them here + ) + for p in "${upstreamed_patches[@]}"; do + rm -v "${WORKDIR}/patch/${p}" || die + done + + toolchain_src_prepare + eapply "${FILESDIR}"/${PN}-13-fix-cross-fixincludes.patch + [[ ${CHOST} == m68k-* ]] && eapply "${FILESDIR}"/${PN}-15-m68k-workaround.patch + eapply_user +} diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-17.0.0_p20260712.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-17.0.0_p20260712.ebuild new file mode 100644 index 00000000000..eb217aa4410 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-17.0.0_p20260712.ebuild @@ -0,0 +1,56 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# Maintenance notes and explanations of GCC handling are on the wiki: +# https://wiki.gentoo.org/wiki/Project:Toolchain/sys-devel/gcc + +TOOLCHAIN_HAS_TESTS=1 +PATCH_GCC_VER="17.0.0" +PATCH_VER="9" +MUSL_GCC_VER="17.0.0" +MUSL_VER="1" +PYTHON_COMPAT=( python3_{11..14} ) + +if [[ -n ${TOOLCHAIN_GCC_RC} ]] ; then + # Cheesy hack for RCs + MY_PV=$(ver_cut 1).$((($(ver_cut 2) + 1))).$((($(ver_cut 3) - 1)))-RC-$(ver_cut 5) + MY_P=${PN}-${MY_PV} + GCC_TARBALL_SRC_URI="mirror://gcc/snapshots/${MY_PV}/${MY_P}.tar.xz" + TOOLCHAIN_SET_S=no + S="${WORKDIR}"/${MY_P} +fi + +inherit toolchain + +if tc_is_live ; then + # Needs to be after inherit (for now?), bug #830908 + EGIT_BRANCH=master +elif [[ -z ${TOOLCHAIN_USE_GIT_PATCHES} ]] ; then + # Don't keyword live ebuilds + #KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + :; +fi + +if [[ ${CATEGORY} != cross-* ]] ; then + # Technically only if USE=hardened *too* right now, but no point in complicating it further. + # If GCC is enabling CET by default, we need glibc to be built with support for it. + # bug #830454 + RDEPEND="elibc_glibc? ( sys-libs/glibc[cet(-)?] )" + DEPEND="${RDEPEND}" +fi + +src_prepare() { + local p upstreamed_patches=( + # add them here + ) + for p in "${upstreamed_patches[@]}"; do + rm -v "${WORKDIR}/patch/${p}" || die + done + + toolchain_src_prepare + eapply "${FILESDIR}"/${PN}-13-fix-cross-fixincludes.patch + [[ ${CHOST} == m68k-* ]] && eapply "${FILESDIR}"/${PN}-15-m68k-workaround.patch + eapply_user +} diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-17.0.0_p20260719.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-17.0.0_p20260719.ebuild new file mode 100644 index 00000000000..eb217aa4410 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-17.0.0_p20260719.ebuild @@ -0,0 +1,56 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# Maintenance notes and explanations of GCC handling are on the wiki: +# https://wiki.gentoo.org/wiki/Project:Toolchain/sys-devel/gcc + +TOOLCHAIN_HAS_TESTS=1 +PATCH_GCC_VER="17.0.0" +PATCH_VER="9" +MUSL_GCC_VER="17.0.0" +MUSL_VER="1" +PYTHON_COMPAT=( python3_{11..14} ) + +if [[ -n ${TOOLCHAIN_GCC_RC} ]] ; then + # Cheesy hack for RCs + MY_PV=$(ver_cut 1).$((($(ver_cut 2) + 1))).$((($(ver_cut 3) - 1)))-RC-$(ver_cut 5) + MY_P=${PN}-${MY_PV} + GCC_TARBALL_SRC_URI="mirror://gcc/snapshots/${MY_PV}/${MY_P}.tar.xz" + TOOLCHAIN_SET_S=no + S="${WORKDIR}"/${MY_P} +fi + +inherit toolchain + +if tc_is_live ; then + # Needs to be after inherit (for now?), bug #830908 + EGIT_BRANCH=master +elif [[ -z ${TOOLCHAIN_USE_GIT_PATCHES} ]] ; then + # Don't keyword live ebuilds + #KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + :; +fi + +if [[ ${CATEGORY} != cross-* ]] ; then + # Technically only if USE=hardened *too* right now, but no point in complicating it further. + # If GCC is enabling CET by default, we need glibc to be built with support for it. + # bug #830454 + RDEPEND="elibc_glibc? ( sys-libs/glibc[cet(-)?] )" + DEPEND="${RDEPEND}" +fi + +src_prepare() { + local p upstreamed_patches=( + # add them here + ) + for p in "${upstreamed_patches[@]}"; do + rm -v "${WORKDIR}/patch/${p}" || die + done + + toolchain_src_prepare + eapply "${FILESDIR}"/${PN}-13-fix-cross-fixincludes.patch + [[ ${CHOST} == m68k-* ]] && eapply "${FILESDIR}"/${PN}-15-m68k-workaround.patch + eapply_user +} diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-17.0.0_p20260726.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-17.0.0_p20260726.ebuild new file mode 100644 index 00000000000..d8d5655c2de --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-17.0.0_p20260726.ebuild @@ -0,0 +1,56 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# Maintenance notes and explanations of GCC handling are on the wiki: +# https://wiki.gentoo.org/wiki/Project:Toolchain/sys-devel/gcc + +TOOLCHAIN_HAS_TESTS=1 +PATCH_GCC_VER="17.0.0" +PATCH_VER="10" +MUSL_GCC_VER="17.0.0" +MUSL_VER="1" +PYTHON_COMPAT=( python3_{11..14} ) + +if [[ -n ${TOOLCHAIN_GCC_RC} ]] ; then + # Cheesy hack for RCs + MY_PV=$(ver_cut 1).$((($(ver_cut 2) + 1))).$((($(ver_cut 3) - 1)))-RC-$(ver_cut 5) + MY_P=${PN}-${MY_PV} + GCC_TARBALL_SRC_URI="mirror://gcc/snapshots/${MY_PV}/${MY_P}.tar.xz" + TOOLCHAIN_SET_S=no + S="${WORKDIR}"/${MY_P} +fi + +inherit toolchain + +if tc_is_live ; then + # Needs to be after inherit (for now?), bug #830908 + EGIT_BRANCH=master +elif [[ -z ${TOOLCHAIN_USE_GIT_PATCHES} ]] ; then + # Don't keyword live ebuilds + #KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + :; +fi + +if [[ ${CATEGORY} != cross-* ]] ; then + # Technically only if USE=hardened *too* right now, but no point in complicating it further. + # If GCC is enabling CET by default, we need glibc to be built with support for it. + # bug #830454 + RDEPEND="elibc_glibc? ( sys-libs/glibc[cet(-)?] )" + DEPEND="${RDEPEND}" +fi + +src_prepare() { + local p upstreamed_patches=( + # add them here + ) + for p in "${upstreamed_patches[@]}"; do + rm -v "${WORKDIR}/patch/${p}" || die + done + + toolchain_src_prepare + eapply "${FILESDIR}"/${PN}-13-fix-cross-fixincludes.patch + [[ ${CHOST} == m68k-* ]] && eapply "${FILESDIR}"/${PN}-15-m68k-workaround.patch + eapply_user +} diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-17.0.0_p20260802.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-17.0.0_p20260802.ebuild new file mode 100644 index 00000000000..d8d5655c2de --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-17.0.0_p20260802.ebuild @@ -0,0 +1,56 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# Maintenance notes and explanations of GCC handling are on the wiki: +# https://wiki.gentoo.org/wiki/Project:Toolchain/sys-devel/gcc + +TOOLCHAIN_HAS_TESTS=1 +PATCH_GCC_VER="17.0.0" +PATCH_VER="10" +MUSL_GCC_VER="17.0.0" +MUSL_VER="1" +PYTHON_COMPAT=( python3_{11..14} ) + +if [[ -n ${TOOLCHAIN_GCC_RC} ]] ; then + # Cheesy hack for RCs + MY_PV=$(ver_cut 1).$((($(ver_cut 2) + 1))).$((($(ver_cut 3) - 1)))-RC-$(ver_cut 5) + MY_P=${PN}-${MY_PV} + GCC_TARBALL_SRC_URI="mirror://gcc/snapshots/${MY_PV}/${MY_P}.tar.xz" + TOOLCHAIN_SET_S=no + S="${WORKDIR}"/${MY_P} +fi + +inherit toolchain + +if tc_is_live ; then + # Needs to be after inherit (for now?), bug #830908 + EGIT_BRANCH=master +elif [[ -z ${TOOLCHAIN_USE_GIT_PATCHES} ]] ; then + # Don't keyword live ebuilds + #KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + :; +fi + +if [[ ${CATEGORY} != cross-* ]] ; then + # Technically only if USE=hardened *too* right now, but no point in complicating it further. + # If GCC is enabling CET by default, we need glibc to be built with support for it. + # bug #830454 + RDEPEND="elibc_glibc? ( sys-libs/glibc[cet(-)?] )" + DEPEND="${RDEPEND}" +fi + +src_prepare() { + local p upstreamed_patches=( + # add them here + ) + for p in "${upstreamed_patches[@]}"; do + rm -v "${WORKDIR}/patch/${p}" || die + done + + toolchain_src_prepare + eapply "${FILESDIR}"/${PN}-13-fix-cross-fixincludes.patch + [[ ${CHOST} == m68k-* ]] && eapply "${FILESDIR}"/${PN}-15-m68k-workaround.patch + eapply_user +} From 76ea28d0ef3654ee588b5415d8689164ae7164ff Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 3 Aug 2026 08:19:38 +0000 Subject: [PATCH 146/195] sys-devel/gettext: Sync with Gentoo It's from Gentoo commit ad78494152ffc682c7db109be3fe4e50fe90bca8. Signed-off-by: Flatcar Buildbot --- .../portage-stable/sys-devel/gettext/gettext-0.22.5-r2.ebuild | 4 ++-- .../portage-stable/sys-devel/gettext/gettext-0.23.1-r1.ebuild | 4 ++-- .../portage-stable/sys-devel/gettext/gettext-0.23.2.ebuild | 4 ++-- .../portage-stable/sys-devel/gettext/gettext-0.25.1.ebuild | 4 ++-- .../portage-stable/sys-devel/gettext/gettext-0.26.ebuild | 4 ++-- .../portage-stable/sys-devel/gettext/gettext-1.0.ebuild | 2 +- 6 files changed, 11 insertions(+), 11 deletions(-) diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gettext/gettext-0.22.5-r2.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gettext/gettext-0.22.5-r2.ebuild index fe06327b5d2..b3af4d9425b 100644 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gettext/gettext-0.22.5-r2.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-devel/gettext/gettext-0.22.5-r2.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2025 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 # Note: Keep version bumps in sync with dev-libs/libintl. @@ -135,7 +135,7 @@ multilib_src_configure() { $(use_enable nls) $(use_enable openmp) $(use_enable static-libs static) - $(use_enable xattr attr) + $(use_enable xattr) ) local ECONF_SOURCE="${S}" diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gettext/gettext-0.23.1-r1.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gettext/gettext-0.23.1-r1.ebuild index 968daaad081..01bd6563c5d 100644 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gettext/gettext-0.23.1-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-devel/gettext/gettext-0.23.1-r1.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2025 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 # Note: Keep version bumps in sync with dev-libs/libintl. @@ -137,7 +137,7 @@ multilib_src_configure() { $(use_enable nls) $(use_enable openmp) $(use_enable static-libs static) - $(use_enable xattr attr) + $(use_enable xattr) ) local ECONF_SOURCE="${S}" diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gettext/gettext-0.23.2.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gettext/gettext-0.23.2.ebuild index f93795f0991..b5614336a2a 100644 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gettext/gettext-0.23.2.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-devel/gettext/gettext-0.23.2.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2025 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 # Note: Keep version bumps in sync with dev-libs/libintl. @@ -137,7 +137,7 @@ multilib_src_configure() { $(use_enable nls) $(use_enable openmp) $(use_enable static-libs static) - $(use_enable xattr attr) + $(use_enable xattr) ) local ECONF_SOURCE="${S}" diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gettext/gettext-0.25.1.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gettext/gettext-0.25.1.ebuild index 82211b73d7b..b09ce1cd770 100644 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gettext/gettext-0.25.1.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-devel/gettext/gettext-0.25.1.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2025 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 # Note: Keep version bumps in sync with dev-libs/libintl. @@ -149,7 +149,7 @@ multilib_src_configure() { $(use_enable nls) $(use_enable openmp) $(use_enable static-libs static) - $(use_enable xattr attr) + $(use_enable xattr) ) local ECONF_SOURCE="${S}" diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gettext/gettext-0.26.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gettext/gettext-0.26.ebuild index 82211b73d7b..b09ce1cd770 100644 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gettext/gettext-0.26.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-devel/gettext/gettext-0.26.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2025 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 # Note: Keep version bumps in sync with dev-libs/libintl. @@ -149,7 +149,7 @@ multilib_src_configure() { $(use_enable nls) $(use_enable openmp) $(use_enable static-libs static) - $(use_enable xattr attr) + $(use_enable xattr) ) local ECONF_SOURCE="${S}" diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gettext/gettext-1.0.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gettext/gettext-1.0.ebuild index 5194846322b..551446063e1 100644 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gettext/gettext-1.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-devel/gettext/gettext-1.0.ebuild @@ -150,7 +150,7 @@ multilib_src_configure() { $(use_enable nls) $(use_enable openmp) $(use_enable static-libs static) - $(use_enable xattr attr) + $(use_enable xattr) ) local ECONF_SOURCE="${S}" From 510f34c9fece87ec433c062efae8fcba99d5ccf1 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 3 Aug 2026 08:19:54 +0000 Subject: [PATCH 147/195] sys-fs/btrfs-progs: Sync with Gentoo It's from Gentoo commit 890fc49607af786ba93c66eb689ca33c0f187171. Signed-off-by: Flatcar Buildbot --- .../sys-fs/btrfs-progs/Manifest | 2 + .../sys-fs/btrfs-progs/btrfs-progs-7.1.ebuild | 184 ++++++++++++++++++ .../btrfs-progs/btrfs-progs-9999.ebuild | 4 +- 3 files changed, 188 insertions(+), 2 deletions(-) create mode 100644 sdk_container/src/third_party/portage-stable/sys-fs/btrfs-progs/btrfs-progs-7.1.ebuild diff --git a/sdk_container/src/third_party/portage-stable/sys-fs/btrfs-progs/Manifest b/sdk_container/src/third_party/portage-stable/sys-fs/btrfs-progs/Manifest index 643d96ea2d2..6d9368482d4 100644 --- a/sdk_container/src/third_party/portage-stable/sys-fs/btrfs-progs/Manifest +++ b/sdk_container/src/third_party/portage-stable/sys-fs/btrfs-progs/Manifest @@ -2,3 +2,5 @@ DIST btrfs-progs-v6.19.1.tar.sign 566 BLAKE2B f743d46a80b03ae63dfe0eea262577228d DIST btrfs-progs-v6.19.1.tar.xz 4977432 BLAKE2B 555bf1c0625afd30dae3cc38f293de195450133cea701096010cadde3d8be405681ed2c4b5e43db777df146e1d2d90697746bc9eea253211df216bd4456e04a1 SHA512 ece500bf512a7970bd6a611c4f74aa3f7285eb55b86987fb8a21bc82cb7d0b1e6b683d02efc34ec8c4ff7f6d620b5ec12ef277af0d6d831586f9f70087355ca9 DIST btrfs-progs-v7.0.tar.sign 594 BLAKE2B 3b31dc3b529600d65721994742786a65ebec3e296a26f1510c34ceac9f5309ca72068af6322a46925d9b80b0f0492e0624ebb7ddd3904c610a161bb28ad45834 SHA512 78a358f5ba7b4e8ee3477bbcd8eab623c05dd8d157ac3858a7ea7e0ceda8c296363b6bf50a8bdf3f3a590580e4ea8e885d596f0fc3e2d6263337f9847b014813 DIST btrfs-progs-v7.0.tar.xz 4989268 BLAKE2B a0e8ef7a5bca5c4f4deb5487215a3543ae99759ffec191cd23b776d21621fb9aba173115a47ae34ebd0e6e38d720d430e5092151e938b0b65cff4aabffd9c607 SHA512 f6fc13f16a1f170eacbcb53efb2e5a86e89c73fd797fc8d9a419b7024f5a13a788cd92e0caa41964e7716d8bccc24ce4b8a5e3b3861d85c793642021c5b03791 +DIST btrfs-progs-v7.1.tar.sign 594 BLAKE2B 719dc0851b9daa043c0f152f9e8bd44a81b645fa5122c87ec1498245e81812004a29c049d662492e2ae8e01ac5c403bc72516e7ac5c88ce0242a581b7219ede7 SHA512 37567f05e1a48eed22fb70199172bea31baff626c083b013e542a1272bee370ce039a9ec4bab10b0b1bd832ea16be3977e84931819de78174ba66d72d8f3f20e +DIST btrfs-progs-v7.1.tar.xz 4997528 BLAKE2B b72e5a027261953fba7915a1f5242a1804c6d4335c4261391a938e1aca6314c193051a52a8c6e315cd8714fe7763a0b20564c67fc654492e4df6ac42daff04a4 SHA512 7e8652b95da866494cd3cc9a874c02f4b613f0775b24c112bb267fdc8f71d1e5cd231d0fcd0a42e42ccf5f9be50b1dd377a3dd7ccc8ae148027bca8b64284ff6 diff --git a/sdk_container/src/third_party/portage-stable/sys-fs/btrfs-progs/btrfs-progs-7.1.ebuild b/sdk_container/src/third_party/portage-stable/sys-fs/btrfs-progs/btrfs-progs-7.1.ebuild new file mode 100644 index 00000000000..1f2cee7e2dc --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-fs/btrfs-progs/btrfs-progs-7.1.ebuild @@ -0,0 +1,184 @@ +# Copyright 2008-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# Please bump with dev-python/btrfsutil + +PYTHON_COMPAT=( python3_{12..15} ) +inherit python-any-r1 shell-completion udev + +if [[ ${PV} == 9999 ]]; then + EGIT_REPO_URI="https://github.com/kdave/btrfs-progs.git" + EGIT_BRANCH="devel" + WANT_LIBTOOL="none" + inherit autotools git-r3 +else + VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/dsterba.asc + inherit verify-sig + + MY_PV="v${PV/_/-}" + MY_P="${PN}-${MY_PV}" + SRC_URI=" + https://mirrors.edge.kernel.org/pub/linux/kernel/people/kdave/${PN}/${MY_P}.tar.xz + verify-sig? ( https://mirrors.edge.kernel.org/pub/linux/kernel/people/kdave/${PN}/${MY_P}.tar.sign ) + " + S="${WORKDIR}"/${PN}-${MY_PV} + + if [[ ${PV} != *_rc* ]] ; then + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + fi +fi + +DESCRIPTION="Btrfs filesystem utilities" +HOMEPAGE="https://btrfs.readthedocs.io/en/latest/" + +LICENSE="GPL-2" +SLOT="0/0" # libbtrfs soname +IUSE="+convert +man experimental reiserfs static static-libs udev +zstd" +# Could support it with just !systemd => eudev, see mdadm, but let's +# see if someone asks for it first. +REQUIRED_USE="static? ( !udev )" + +# Tries to mount repaired filesystems +RESTRICT="test" + +RDEPEND=" + dev-libs/lzo:2= + sys-apps/util-linux:=[static-libs(+)?] + virtual/zlib:= + convert? ( + sys-fs/e2fsprogs:= + reiserfs? ( + >=sys-fs/reiserfsprogs-3.6.27 + ) + ) + udev? ( virtual/libudev:= ) + zstd? ( app-arch/zstd:= ) +" +DEPEND=" + ${RDEPEND} + >=sys-kernel/linux-headers-5.10 + convert? ( sys-apps/acl ) + static? ( + dev-libs/lzo:2[static-libs(+)] + sys-apps/util-linux:0[static-libs(+)] + virtual/zlib:=[static-libs(+)] + convert? ( + sys-fs/e2fsprogs[static-libs(+)] + reiserfs? ( + >=sys-fs/reiserfsprogs-3.6.27[static-libs(+)] + ) + ) + zstd? ( app-arch/zstd[static-libs(+)] ) + ) +" +BDEPEND=" + virtual/pkgconfig + man? ( + $(python_gen_any_dep 'dev-python/sphinx[${PYTHON_USEDEP}] + dev-python/sphinx-rtd-theme[${PYTHON_USEDEP}]') + ) +" + +python_check_deps() { + python_has_version "dev-python/sphinx[${PYTHON_USEDEP}]" && + python_has_version "dev-python/sphinx-rtd-theme[${PYTHON_USEDEP}]" +} + +if [[ ${PV} == 9999 ]]; then + BDEPEND+=" sys-devel/gnuconfig" +else + BDEPEND+=" verify-sig? ( sec-keys/openpgp-keys-dsterba )" +fi + +pkg_setup() { + : # Prevent python-any-r1_python_setup +} + +if [[ ${PV} != 9999 ]]; then + src_unpack() { + if use verify-sig; then + verify-sig_uncompress_verify_unpack "${DISTDIR}"/${MY_P}.tar.xz \ + "${DISTDIR}"/${MY_P}.tar.sign + else + default + fi + } +fi + +src_prepare() { + default + + if [[ ${PV} == 9999 ]]; then + local AT_M4DIR=config + eautoreconf + + local automakedir="$(autotools_run_tool --at-output automake --print-libdir)" + [[ -e ${automakedir} ]] || die "Could not locate automake directory" + + ln -s "${automakedir}"/install-sh config/install-sh || die + ln -s "${BROOT}"/usr/share/gnuconfig/config.guess config/config.guess || die + ln -s "${BROOT}"/usr/share/gnuconfig/config.sub config/config.sub || die + fi +} + +src_configure() { + local myeconfargs=( + --bindir="${EPREFIX}"/sbin + + --enable-lzo + $(use_enable experimental) + --disable-python + $(use_enable convert) + $(use_enable man documentation) + $(use_enable elibc_glibc backtrace) + $(use_enable static-libs static) + $(use_enable udev libudev) + $(use_enable zstd) + + # Could support libgcrypt, libsodium, libkcapi, openssl, botan + --with-crypto=builtin + --with-convert=ext2$(usev reiserfs ',reiserfs') + ) + + export EXTRA_PYTHON_CFLAGS="${CFLAGS}" + export EXTRA_PYTHON_LDFLAGS="${LDFLAGS}" + + if use man; then + python_setup + fi + + econf "${myeconfargs[@]}" +} + +src_compile() { + emake V=1 all $(usev static) +} + +src_test() { + emake V=1 -j1 -C tests test +} + +src_install() { + local makeargs=( + $(usev static install-static) + ) + + emake V=1 DESTDIR="${D}" install "${makeargs[@]}" + + if use experimental; then + exeinto /sbin + doexe btrfs-corrupt-block + fi + + newbashcomp btrfs-completion btrfs +} + +pkg_postinst() { + udev_reload +} + +pkg_postrm() { + udev_reload +} diff --git a/sdk_container/src/third_party/portage-stable/sys-fs/btrfs-progs/btrfs-progs-9999.ebuild b/sdk_container/src/third_party/portage-stable/sys-fs/btrfs-progs/btrfs-progs-9999.ebuild index c9ec39cb839..1f2cee7e2dc 100644 --- a/sdk_container/src/third_party/portage-stable/sys-fs/btrfs-progs/btrfs-progs-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-fs/btrfs-progs/btrfs-progs-9999.ebuild @@ -5,8 +5,8 @@ EAPI=8 # Please bump with dev-python/btrfsutil -PYTHON_COMPAT=( python3_{11..14} ) -inherit bash-completion-r1 python-any-r1 udev +PYTHON_COMPAT=( python3_{12..15} ) +inherit python-any-r1 shell-completion udev if [[ ${PV} == 9999 ]]; then EGIT_REPO_URI="https://github.com/kdave/btrfs-progs.git" From 6b9560c77afe8876d59550f7bb9907cc04a162af Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 3 Aug 2026 08:19:54 +0000 Subject: [PATCH 148/195] sys-fs/cryptsetup: Sync with Gentoo It's from Gentoo commit d741801d3708b276a7edef32af714f18207e90ef. Signed-off-by: Flatcar Buildbot --- .../portage-stable/sys-fs/cryptsetup/Manifest | 2 + .../cryptsetup/cryptsetup-2.8.6-r2.ebuild | 2 +- .../sys-fs/cryptsetup/cryptsetup-2.8.7.ebuild | 163 ++++++++++++++++++ 3 files changed, 166 insertions(+), 1 deletion(-) create mode 100644 sdk_container/src/third_party/portage-stable/sys-fs/cryptsetup/cryptsetup-2.8.7.ebuild diff --git a/sdk_container/src/third_party/portage-stable/sys-fs/cryptsetup/Manifest b/sdk_container/src/third_party/portage-stable/sys-fs/cryptsetup/Manifest index d9ea56db498..990b75d4dc6 100644 --- a/sdk_container/src/third_party/portage-stable/sys-fs/cryptsetup/Manifest +++ b/sdk_container/src/third_party/portage-stable/sys-fs/cryptsetup/Manifest @@ -5,3 +5,5 @@ DIST cryptsetup-2.8.4.tar.xz 11880632 BLAKE2B 135721fe1daca13bf5c1116dfe9888d50e DIST cryptsetup-2.8.6-patches.tar.xz 7064 BLAKE2B 6c30237e8850e36bce8bf594d7fb6dc346dda7d1e919424d9ab58818ef65db2f0a6de8fe3cd806410e1272cda75e753e23640a605441a39542fcb45ac3b1300d SHA512 59af464ed8b7e49ede4de78171b8fa49f03e0db2a9ade98f8aaef40ddcd3c2d099ea5cd7e98e2888ae47370e652f6de35a5f9c43211970561ca97861a4370df9 DIST cryptsetup-2.8.6.tar.sign 833 BLAKE2B 399d3ec4b5bce2abd4d4a3f81f4ca79867ecd12e5e1b3128cb610629ed716877cf23b42bc7c9579f977187aa62541c13df7fa371f89a962e453e3f087e1b5239 SHA512 5299d18b55c119bc80654be8868b9d111aedbe33654ccc64cb0e627d39c5265e960b406884347d4ed4129c39cc3fcd990c1861a80d7958059a17e945df769548 DIST cryptsetup-2.8.6.tar.xz 11887880 BLAKE2B 1d5ac80bbd2349f727fbb4ff1c7b85e48dbf7bc5a2cb985f23f3c4a482d44043900c0ab4b5190c2cd2d8e6037346d8ed9e1eabb19123c627498fb723776cb677 SHA512 b580e0b384a590447cf21a9d50142e7f799c3dae0fc13999886db45716f95523fa47c795335a27a7282ff1ee67eedd69989c56e6a429016aa957171fe2646d5e +DIST cryptsetup-2.8.7.tar.sign 833 BLAKE2B 5b2a305d3dff5117fee7fd7405ec3ed22ac0829985e24f9ceea65a35da3793b8e8c7319e30a66fe917a4c9060488a78df9bb1d0d035b0aa354c6e533c4105415 SHA512 541699ddb68175efb5fc083f4610d9a9e1129c92ae40d1d53516d8fe07cb8cd19d785e7cb739320a1c96be59a88344e71861fc913b820b25891376568157abfe +DIST cryptsetup-2.8.7.tar.xz 11922004 BLAKE2B 558d0d6c1001542127210bbb748893076b32981066bd46f583973aaf8f89795c84fb86ddcb5291017084fca6f5b55e2477c85473d81cef5b2f5ed5139521ce6e SHA512 24a29d80d6cd5606e0e6535bdffb3fe652f5f67ded38e1dcc0780134f2396777123f267ef8ada76ee837848e8b503907bf38c58589cdafbc6a1515f0c665ca0f diff --git a/sdk_container/src/third_party/portage-stable/sys-fs/cryptsetup/cryptsetup-2.8.6-r2.ebuild b/sdk_container/src/third_party/portage-stable/sys-fs/cryptsetup/cryptsetup-2.8.6-r2.ebuild index a676d6aa9b9..5f97a12f8a9 100644 --- a/sdk_container/src/third_party/portage-stable/sys-fs/cryptsetup/cryptsetup-2.8.6-r2.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-fs/cryptsetup/cryptsetup-2.8.6-r2.ebuild @@ -19,7 +19,7 @@ S="${WORKDIR}"/${P/_/-} LICENSE="GPL-2+" SLOT="0/12" # libcryptsetup.so version if [[ ${PV} != *_rc* ]] ; then - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + KEYWORDS="~alpha amd64 arm arm64 ~loong ppc ppc64 ~riscv ~s390 ~sparc x86" fi CRYPTO_BACKENDS="gcrypt kernel nettle +openssl" diff --git a/sdk_container/src/third_party/portage-stable/sys-fs/cryptsetup/cryptsetup-2.8.7.ebuild b/sdk_container/src/third_party/portage-stable/sys-fs/cryptsetup/cryptsetup-2.8.7.ebuild new file mode 100644 index 00000000000..2c8f76df918 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-fs/cryptsetup/cryptsetup-2.8.7.ebuild @@ -0,0 +1,163 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# TODO: meson (not just yet as of 2.8.0, see https://gitlab.com/cryptsetup/cryptsetup/-/issues/949#note_2585304492) +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/milanbroz.asc +inherit linux-info tmpfiles verify-sig + +DESCRIPTION="Tool to setup encrypted devices with dm-crypt" +HOMEPAGE="https://gitlab.com/cryptsetup/cryptsetup" +SRC_URI=" + https://www.kernel.org/pub/linux/utils/${PN}/v$(ver_cut 1-2)/${P/_/-}.tar.xz + verify-sig? ( https://www.kernel.org/pub/linux/utils/${PN}/v$(ver_cut 1-2)/${P/_/-}.tar.sign ) +" +S="${WORKDIR}"/${P/_/-} + +LICENSE="GPL-2+" +SLOT="0/12" # libcryptsetup.so version +if [[ ${PV} != *_rc* ]] ; then + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +fi + +CRYPTO_BACKENDS="gcrypt kernel nettle +openssl" +# We don't support nss since it doesn't allow cryptsetup to be built statically +# and it's missing ripemd160 support so it can't provide full backward compatibility +IUSE="${CRYPTO_BACKENDS} +argon2 fips nls pwquality passwdqc ssh static static-libs test +udev urandom" +RESTRICT="!test? ( test )" +# bug #496612, bug #832711, bug #843863 +REQUIRED_USE=" + ?? ( pwquality passwdqc ) + ^^ ( ${CRYPTO_BACKENDS//+/} ) + static? ( !ssh !udev !fips ) + static-libs? ( !passwdqc ) + fips? ( !kernel !nettle ) +" + +LIB_DEPEND=" + dev-libs/json-c:=[static-libs(+)] + dev-libs/popt[static-libs(+)] + >=sys-apps/util-linux-2.31-r1[static-libs(+)] + argon2? ( app-crypt/argon2:=[static-libs(+)] ) + gcrypt? ( + dev-libs/libgcrypt:0=[static-libs(+)] + dev-libs/libgpg-error[static-libs(+)] + ) + nettle? ( >=dev-libs/nettle-2.4[static-libs(+)] ) + openssl? ( dev-libs/openssl:0=[static-libs(+)] ) + pwquality? ( dev-libs/libpwquality[static-libs(+)] ) + passwdqc? ( sys-auth/passwdqc ) + ssh? ( net-libs/libssh[static-libs(+)] net-libs/libssh[sftp(+)] ) + sys-fs/lvm2[static-libs(+)] +" +# We have to always depend on ${LIB_DEPEND} rather than put behind +# !static? () because we provide a shared library which links against +# these other packages. bug #414665 +RDEPEND=" + static-libs? ( ${LIB_DEPEND} ) + ${LIB_DEPEND//\[static-libs\([+-]\)\]} + udev? ( virtual/libudev:= ) +" +DEPEND=" + ${RDEPEND} + static? ( ${LIB_DEPEND} ) +" +BDEPEND=" + virtual/pkgconfig + test? ( + app-misc/jq + dev-tcltk/expect + dev-util/xxd + ) + verify-sig? ( sec-keys/openpgp-keys-milanbroz ) +" + +pkg_setup() { + local CONFIG_CHECK="~DM_CRYPT ~CRYPTO ~CRYPTO_CBC ~CRYPTO_SHA256" + local WARNING_DM_CRYPT="CONFIG_DM_CRYPT:\tis not set (required for cryptsetup)\n" + local WARNING_CRYPTO_SHA256="CONFIG_CRYPTO_SHA256:\tis not set (required for cryptsetup)\n" + local WARNING_CRYPTO_CBC="CONFIG_CRYPTO_CBC:\tis not set (required for kernel 2.6.19)\n" + local WARNING_CRYPTO="CONFIG_CRYPTO:\tis not set (required for cryptsetup)\n" + + # The kernel crypto backend talks to the in-kernel crypto API via AF_ALG + if use kernel ; then + ewarn "AF_ALG support (controlled by USE=kernel) is deprecated and to-be-removed from the Linux kernel." + ewarn "Please test your usecases with USE=-kernel in preparation for removal." + + CONFIG_CHECK+=" ~CRYPTO_USER_API ~CRYPTO_USER_API_HASH ~CRYPTO_USER_API_SKCIPHER" + local WARNING_CRYPTO_USER_API="CONFIG_CRYPTO_USER_API:\tis not set (required for the kernel crypto backend)\n" + local WARNING_CRYPTO_USER_API_HASH="CONFIG_CRYPTO_USER_API_HASH:\tis not set (required for the kernel crypto backend)\n" + local WARNING_CRYPTO_USER_API_SKCIPHER="CONFIG_CRYPTO_USER_API_SKCIPHER:\tis not set (required for the kernel crypto backend)\n" + fi + check_extra_config +} + +src_unpack() { + if use verify-sig; then + verify-sig_uncompress_verify_unpack "${DISTDIR}"/${P/_/-}.tar.xz \ + "${DISTDIR}"/${P/_/-}.tar.sign + else + default + fi +} + +src_configure() { + # configure may search for libselinux but it seems to only be for + # statically linking lvm2 + local myeconfargs=( + --disable-internal-argon2 + --disable-asciidoc + --enable-shared + --sbindir="${EPREFIX}"/sbin + # for later use + --with-default-luks-format=LUKS2 + --with-tmpfilesdir="${EPREFIX}/usr/lib/tmpfiles.d" + --with-crypto_backend=$(for x in ${CRYPTO_BACKENDS//+/} ; do usev ${x} ; done) + $(use_enable argon2 libargon2) + $(use_enable nls) + $(use_enable pwquality) + $(use_enable passwdqc) + $(use_enable !static external-tokens) + $(use_enable static static-cryptsetup) + $(use_enable static-libs static) + $(use_enable udev) + $(use_enable !urandom dev-random) + $(use_enable ssh ssh-token) + $(usev !argon2 '--with-luks2-pbkdf=pbkdf2') + $(use_enable fips) + ) + + econf "${myeconfargs[@]}" +} + +src_install() { + default + + if use static ; then + mv "${ED}"/sbin/cryptsetup{.static,} || die + mv "${ED}"/sbin/veritysetup{.static,} || die + mv "${ED}"/sbin/integritysetup{.static,} || die + + if use ssh ; then + mv "${ED}"/sbin/cryptsetup-ssh{.static,} || die + fi + fi + + find "${ED}" -type f -name "*.la" -delete || die + + dodoc docs/v*ReleaseNotes + + newconfd "${FILESDIR}"/2.4.3-dmcrypt.confd dmcrypt + newinitd "${FILESDIR}"/2.4.3-dmcrypt.rc dmcrypt +} + +pkg_postinst() { + tmpfiles_process cryptsetup.conf + + if use kernel ; then + ewarn "Note that kernel backend is very slow for this type of operation" + ewarn "and is provided mainly for embedded systems wanting to avoid" + ewarn "userspace crypto libraries." + fi +} From 7f18591c5c18384da44b381240759122b74356b8 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 3 Aug 2026 08:19:59 +0000 Subject: [PATCH 149/195] sys-fs/fuse-overlayfs: Sync with Gentoo It's from Gentoo commit c5b321c788e5999510c781a7810b215453d5ba0b. Signed-off-by: Flatcar Buildbot --- .../sys-fs/fuse-overlayfs/Manifest | 1 + .../fuse-overlayfs/fuse-overlayfs-1.17.ebuild | 27 +++++++++++++++++++ 2 files changed, 28 insertions(+) create mode 100644 sdk_container/src/third_party/portage-stable/sys-fs/fuse-overlayfs/fuse-overlayfs-1.17.ebuild diff --git a/sdk_container/src/third_party/portage-stable/sys-fs/fuse-overlayfs/Manifest b/sdk_container/src/third_party/portage-stable/sys-fs/fuse-overlayfs/Manifest index 5d12a8abe1c..6b2e18ef1a9 100644 --- a/sdk_container/src/third_party/portage-stable/sys-fs/fuse-overlayfs/Manifest +++ b/sdk_container/src/third_party/portage-stable/sys-fs/fuse-overlayfs/Manifest @@ -1,3 +1,4 @@ DIST fuse-overlayfs-1.14.tar.gz 102564 BLAKE2B 9c4960bb82be68d545989adffda3c95d06a809692827ad2cf6e0eaa646860bb49ba2e91af88f634740714acb75f2f154b3781cfdd154003d4976e8cc123ed797 SHA512 e0c50abffb7b71248ed4d7b8663f21bab4bf358682dece3a0c9f1480f142532471e139f041759dd8bd24807c7369537a5d86efc01617a17172463bd1c3870623 DIST fuse-overlayfs-1.15.tar.gz 117336 BLAKE2B b21a1fc9bfdf7655782fed6e4fb36f9851d8c78b18e2fa87e30ccb9dc041d98030a1ceffe4360f1b9f4e66e2de74c069c45684b0b264f2d40f3671270b746001 SHA512 6da1094216e4f6ddbc8e1cf1b1a0ebb6a8902920c73c7fb0dfc4c23f5a3ff6f14430156f5914ac021e6b84c3d8425e006e45734dac3dcc26fce414155f3db370 DIST fuse-overlayfs-1.16.tar.gz 117752 BLAKE2B d3ce03fdaac3fb296918a8b0c6270cebe226be18b303fc4d69a8ea8d113f69d421885a32b06d250d1b95e08a25110d64793b853c6bceb475edcf78249462bba0 SHA512 d72ef0881b788c8f907e0e83bbb5aaa93f37068670781443401234ae04b7347f216bf88fced429d8f6ad76790fa2de6267fd6f6da8327b0d1bb5902b1a5ec468 +DIST fuse-overlayfs-1.17.tar.gz 134736 BLAKE2B 3f180574d6b56481ccca5dbfd0cbc746464e4cfb5ab13564ce31f6d0146e2153a2e227f9ab5b5ffb966f33ae2ebb494b9b6b885b02c082643e56c0fd63e8fe5e SHA512 2741d4d1addec3959c5d73d21811219bd17f966f04f678420719613af922f43e83ef85bc5a481d8498dd3aafb270492d03014445ada44df9b759f1bf31ccfc48 diff --git a/sdk_container/src/third_party/portage-stable/sys-fs/fuse-overlayfs/fuse-overlayfs-1.17.ebuild b/sdk_container/src/third_party/portage-stable/sys-fs/fuse-overlayfs/fuse-overlayfs-1.17.ebuild new file mode 100644 index 00000000000..f185daacab2 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-fs/fuse-overlayfs/fuse-overlayfs-1.17.ebuild @@ -0,0 +1,27 @@ +# Copyright 2019-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools linux-info + +DESCRIPTION="FUSE implementation for overlayfs" +HOMEPAGE="https://github.com/containers/fuse-overlayfs" +SRC_URI="https://github.com/containers/fuse-overlayfs/archive/v${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~loong ~ppc64 ~riscv" + +DEPEND="sys-fs/fuse:3=" +RDEPEND="${DEPEND}" +BDEPEND="virtual/pkgconfig" + +pkg_pretend() { + kernel_is -lt 4 18 && eerror "Linux Kernel > v4.18.0 is required" && die +} + +src_prepare() { + default + eautoreconf +} From d489bff54d376fc56d66e22545b40b73787ac181 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 3 Aug 2026 08:20:04 +0000 Subject: [PATCH 150/195] sys-fs/lxcfs: Sync with Gentoo It's from Gentoo commit 4ab350e9527302aa13ac74fae81aa064f1530ca1. Signed-off-by: Flatcar Buildbot --- .../portage-stable/sys-fs/lxcfs/Manifest | 6 -- ...-fix-incompatible-pointer-conversion.patch | 19 ----- .../sys-fs/lxcfs/lxcfs-5.0.4-r2.ebuild | 84 ------------------- .../sys-fs/lxcfs/lxcfs-6.0.5.ebuild | 81 ------------------ .../sys-fs/lxcfs/lxcfs-6.0.6.ebuild | 82 ------------------ 5 files changed, 272 deletions(-) delete mode 100644 sdk_container/src/third_party/portage-stable/sys-fs/lxcfs/files/lxcfs-5.0.4-fix-incompatible-pointer-conversion.patch delete mode 100644 sdk_container/src/third_party/portage-stable/sys-fs/lxcfs/lxcfs-5.0.4-r2.ebuild delete mode 100644 sdk_container/src/third_party/portage-stable/sys-fs/lxcfs/lxcfs-6.0.5.ebuild delete mode 100644 sdk_container/src/third_party/portage-stable/sys-fs/lxcfs/lxcfs-6.0.6.ebuild diff --git a/sdk_container/src/third_party/portage-stable/sys-fs/lxcfs/Manifest b/sdk_container/src/third_party/portage-stable/sys-fs/lxcfs/Manifest index 4cb507ef57e..705196db696 100644 --- a/sdk_container/src/third_party/portage-stable/sys-fs/lxcfs/Manifest +++ b/sdk_container/src/third_party/portage-stable/sys-fs/lxcfs/Manifest @@ -1,8 +1,2 @@ -DIST lxcfs-5.0.4.tar.gz 104249 BLAKE2B 83a7b861136c34da8a24dd525fd0767193f2bbd92b40e3b9fd5e42d7645465411792e65e95797ab13b33330299d12b19bdd5786352875ed88ac0097b72b711a9 SHA512 b404045dbabe23e1d1f1d74c1648d2596bb70aaa9f9e46f9f5635b0a02d0c451f68b2559920bbefc5b889e908cf1da0a33c148b26bdce3e45c3d0cbdff710604 -DIST lxcfs-5.0.4.tar.gz.asc 833 BLAKE2B aff883d24b374b296ea3678670e5e82c723fd0e35cfd7fed555aabbd811a104becc0b741331b4aa4a5129c9fff4dc88c6a86e7d64a89fe86aea81718f5d432dd SHA512 56b639597dbaf3008fe030147ea37192bd465c467a79e11ce139bcaa6bca1625b4bb9c4eda6ea1877446769f0fad9b4c5a3513d4f4415b841db96d5da8325ddc -DIST lxcfs-6.0.5.tar.gz 106565 BLAKE2B 1a726165be6670c7da4cab3e401e81229ba34f0852885de7d96e3099715c67aa5f49b48f7cfead1659cce1d0b3e191b6206df0b214a2487cac35170ea0ba104e SHA512 729c75bca4da79af9c38c6a42dbebf876d861e0b2c4b825c46edc3a39d27bae1a6a4faeff000d8a1e1a887437184a0413f763512c789cf9ce3ddbaab02de4ece -DIST lxcfs-6.0.5.tar.gz.asc 833 BLAKE2B 58a12c083bf4b1d5138aec172223eed1d79284c6d48cc7262f9e9dac479894f094d6a8f2051aee9352c99947a638bb891cd48690d194e3d4b4392231ff8ebaef SHA512 c50289168d1a6c970dcffe61dcf2ee5296420c91cd8638b0f285e53e07b0e0d3704a199c8eceee2d282b2906e430165e86315271a9bd9335a91252727c2c921c -DIST lxcfs-6.0.6.tar.gz 107250 BLAKE2B 450c82293cc02477261e7b1b00e89e4ce293d2c991525b42ebf10de8ed88b221680ab05c1b41b763b02d7a53cbce7beb05e84d6218c8add46e564723c9b1004f SHA512 cf8801c3b990e0630983cb42e2093e8f66ef5ae185b206b1ba1429edf199cefe1cd36dc6024453ecf2917c16b83e4ea1516a58dcbf61a5df0a4afbecb0cfff82 -DIST lxcfs-6.0.6.tar.gz.asc 833 BLAKE2B 69d03a0089c2b9141816bf1b1c778cd8563afdac12f83546ee16ec8497ae17d16a2ae335dc3fa29bae3fe827b8ba7dd161568156cd6231cb85731dc9993bdccb SHA512 e5b76c82577689f26d4d44808d37af5530f7dfdeed8a104a0c7eddc541902bf4cfdabbdae681c7917418f8461a527baf2b70d07f03b396e808537bb327c7864c DIST lxcfs-7.0.0.tar.gz 100168 BLAKE2B feefc31c1f544fa7d261cd9c9faa13bfd8da876185b40955359bb20e4e3304b476e8a60f9b8463467aa483708a58007dc8314bad693268208050fd957ce883cc SHA512 115c712178047d1450f4f12ec97177f886a036f767172d028b8bb054df0250cd9e7c74d73d73b841b13631e07302dd4cda537a7504d2ab06c359d16909098b48 DIST lxcfs-7.0.0.tar.gz.asc 833 BLAKE2B 5ac2f8c74bd8bc26f1d4a469ccaa598052c537bb286c8e8fb5cf423318234ce08902094b087c1f58845e1f63bc97fd0f3470cd03ae3e2d855f3150ef6328d43b SHA512 e88c78802023954e8da01d8b77defdb62566c84666ef72e12328406a2c74469bc0212998a5c9cb75afec50a290e723a6715d5543323884591c997f8794c2814a diff --git a/sdk_container/src/third_party/portage-stable/sys-fs/lxcfs/files/lxcfs-5.0.4-fix-incompatible-pointer-conversion.patch b/sdk_container/src/third_party/portage-stable/sys-fs/lxcfs/files/lxcfs-5.0.4-fix-incompatible-pointer-conversion.patch deleted file mode 100644 index bead63bd52d..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-fs/lxcfs/files/lxcfs-5.0.4-fix-incompatible-pointer-conversion.patch +++ /dev/null @@ -1,19 +0,0 @@ -Bug: https://bugs.gentoo.org/894348 -Upstream PR: https://github.com/lxc/lxcfs/pull/610 ---- a/src/proc_loadavg.c -+++ b/src/proc_loadavg.c -@@ -603,12 +603,12 @@ pthread_t load_daemon(int load_use) - - ret = init_load(); - if (ret == -1) -- return log_error(0, "Initialize hash_table fails in load_daemon!"); -+ return (pthread_t) log_error(0, "Initialize hash_table fails in load_daemon!"); - - ret = pthread_create(&pid, NULL, load_begin, NULL); - if (ret != 0) { - load_free(); -- return log_error(0, "Create pthread fails in load_daemon!"); -+ return (pthread_t) log_error(0, "Create pthread fails in load_daemon!"); - } - - /* use loadavg, here loadavg = 1*/ diff --git a/sdk_container/src/third_party/portage-stable/sys-fs/lxcfs/lxcfs-5.0.4-r2.ebuild b/sdk_container/src/third_party/portage-stable/sys-fs/lxcfs/lxcfs-5.0.4-r2.ebuild deleted file mode 100644 index 899801e6b9b..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-fs/lxcfs/lxcfs-5.0.4-r2.ebuild +++ /dev/null @@ -1,84 +0,0 @@ -# Copyright 2022-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -PYTHON_COMPAT=( python3_{10..12} ) - -inherit cmake meson python-any-r1 systemd verify-sig - -DESCRIPTION="FUSE filesystem for LXC" -HOMEPAGE="https://linuxcontainers.org/lxcfs/introduction/ https://github.com/lxc/lxcfs/" -SRC_URI="https://linuxcontainers.org/downloads/lxcfs/${P}.tar.gz - verify-sig? ( https://linuxcontainers.org/downloads/lxcfs/${P}.tar.gz.asc )" - -LICENSE="Apache-2.0 LGPL-2+" -SLOT="0" -KEYWORDS="amd64 ~arm64 ~riscv ~x86" -IUSE="doc test" - -DEPEND="sys-fs/fuse:3=" -RDEPEND="${DEPEND}" -BDEPEND="${PYTHON_DEPS} - virtual/pkgconfig - $(python_gen_any_dep ' - dev-python/jinja2[${PYTHON_USEDEP}] - ') - doc? ( sys-apps/help2man ) - verify-sig? ( sec-keys/openpgp-keys-linuxcontainers )" - -# Needs some black magic to work inside container/chroot. -RESTRICT="test" - -VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/linuxcontainers.asc - -PATCHES=( - "${FILESDIR}"/${PN}-5.0.4-fix-incompatible-pointer-conversion.patch -) - -python_check_deps() { - python_has_version -b "dev-python/jinja2[${PYTHON_USEDEP}]" -} - -pkg_setup() { - python-any-r1_pkg_setup -} - -src_prepare() { - default - - # Fix python shebangs for python-exec[-native-symlinks], #851480 - local shebangs=($(grep -rl "#!/usr/bin/env python3" || die)) - python_fix_shebang -q ${shebangs[*]} -} - -src_configure() { - local emesonargs=( - --localstatedir "${EPREFIX}/var" - - $(meson_use doc docs) - $(meson_use test tests) - - -Dfuse-version=3 - -Dinit-script="" - -Dwith-init-script="" - ) - - meson_src_configure -} - -src_test() { - cd "${BUILD_DIR}"/tests || die "failed to change into tests/ directory." - ./main.sh || die -} - -src_install() { - meson_src_install - - newconfd "${FILESDIR}"/lxcfs-5.0.2.confd lxcfs - newinitd "${FILESDIR}"/lxcfs-5.0.2.initd lxcfs - - # Provide our own service file (copy of upstream) due to paths being different from upstream, - # #728470 - systemd_newunit "${FILESDIR}"/lxcfs-5.0.2.service lxcfs.service -} diff --git a/sdk_container/src/third_party/portage-stable/sys-fs/lxcfs/lxcfs-6.0.5.ebuild b/sdk_container/src/third_party/portage-stable/sys-fs/lxcfs/lxcfs-6.0.5.ebuild deleted file mode 100644 index 689cbffefb5..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-fs/lxcfs/lxcfs-6.0.5.ebuild +++ /dev/null @@ -1,81 +0,0 @@ -# Copyright 2022-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -PYTHON_COMPAT=( python3_{11..14} ) - -inherit cmake meson python-any-r1 systemd verify-sig - -DESCRIPTION="FUSE filesystem for LXC" -HOMEPAGE="https://linuxcontainers.org/lxcfs/introduction/ https://github.com/lxc/lxcfs/" -SRC_URI="https://linuxcontainers.org/downloads/lxcfs/${P}.tar.gz - verify-sig? ( https://linuxcontainers.org/downloads/lxcfs/${P}.tar.gz.asc )" - -LICENSE="Apache-2.0 LGPL-2+" -SLOT="0" -KEYWORDS="amd64 ~arm64 ~riscv ~x86" -IUSE="doc test" - -DEPEND="sys-fs/fuse:3=" -RDEPEND="${DEPEND}" -BDEPEND="${PYTHON_DEPS} - virtual/pkgconfig - $(python_gen_any_dep ' - dev-python/jinja2[${PYTHON_USEDEP}] - ') - doc? ( sys-apps/help2man ) - verify-sig? ( sec-keys/openpgp-keys-linuxcontainers )" - -# Needs some black magic to work inside container/chroot. -RESTRICT="test" - -VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/linuxcontainers.asc - -python_check_deps() { - python_has_version -b "dev-python/jinja2[${PYTHON_USEDEP}]" -} - -pkg_setup() { - python-any-r1_pkg_setup -} - -src_prepare() { - default - - # Fix python shebangs for python-exec[-native-symlinks], #851480 - local shebangs=($(grep -rl "#!/usr/bin/env python3" || die)) - python_fix_shebang -q ${shebangs[*]} -} - -src_configure() { - local emesonargs=( - --localstatedir "${EPREFIX}/var" - - $(meson_use doc docs) - $(meson_use test tests) - - -Dfuse-version=3 - -Dinit-script="" - -Dwith-init-script="" - ) - - meson_src_configure -} - -src_test() { - cd "${BUILD_DIR}"/tests || die "failed to change into tests/ directory." - ./main.sh || die -} - -src_install() { - meson_src_install - - newconfd "${FILESDIR}"/lxcfs-5.0.2.confd lxcfs - newinitd "${FILESDIR}"/lxcfs-5.0.2.initd lxcfs - - # Provide our own service file (copy of upstream) due to paths being different from upstream, - # #728470 - # https://github.com/lxc/lxcfs/tree/main/config/init - systemd_newunit "${FILESDIR}"/lxcfs-5.0.2.service lxcfs.service -} diff --git a/sdk_container/src/third_party/portage-stable/sys-fs/lxcfs/lxcfs-6.0.6.ebuild b/sdk_container/src/third_party/portage-stable/sys-fs/lxcfs/lxcfs-6.0.6.ebuild deleted file mode 100644 index 62a73249020..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-fs/lxcfs/lxcfs-6.0.6.ebuild +++ /dev/null @@ -1,82 +0,0 @@ -# Copyright 2022-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -PYTHON_COMPAT=( python3_{11..14} ) - -inherit cmake meson python-any-r1 systemd verify-sig - -DESCRIPTION="FUSE filesystem for LXC" -HOMEPAGE="https://linuxcontainers.org/lxcfs/introduction/ https://github.com/lxc/lxcfs/" -SRC_URI="https://linuxcontainers.org/downloads/lxcfs/${P}.tar.gz - verify-sig? ( https://linuxcontainers.org/downloads/lxcfs/${P}.tar.gz.asc )" - -LICENSE="Apache-2.0 LGPL-2+" -SLOT="0" -KEYWORDS="~amd64 ~arm64 ~riscv ~x86" -IUSE="doc test" - -DEPEND="sys-fs/fuse:3=" -RDEPEND="${DEPEND}" -BDEPEND="${PYTHON_DEPS} - virtual/pkgconfig - $(python_gen_any_dep ' - dev-python/jinja2[${PYTHON_USEDEP}] - ') - doc? ( sys-apps/help2man ) - verify-sig? ( sec-keys/openpgp-keys-linuxcontainers )" - -# Needs some black magic to work inside container/chroot. -RESTRICT="test" - -VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/linuxcontainers.asc - -python_check_deps() { - python_has_version -b "dev-python/jinja2[${PYTHON_USEDEP}]" -} - -pkg_setup() { - python-any-r1_pkg_setup -} - -src_prepare() { - default - - # Fix python shebangs for python-exec[-native-symlinks], #851480 - local shebangs=($(grep -rl "#!/usr/bin/env python3" || die)) - python_fix_shebang -q ${shebangs[*]} -} - -src_configure() { - local emesonargs=( - --localstatedir "${EPREFIX}/var" - - $(meson_use doc docs) - $(meson_use test tests) - - -Dfuse-version=3 - -Dinit-script="" - -Dmocks=false - -Dwith-init-script="" - ) - - meson_src_configure -} - -src_test() { - cd "${BUILD_DIR}"/tests || die "failed to change into tests/ directory." - ./main.sh || die -} - -src_install() { - meson_src_install - - newconfd "${FILESDIR}"/lxcfs-5.0.2.confd lxcfs - newinitd "${FILESDIR}"/lxcfs-5.0.2.initd lxcfs - - # Provide our own service file (copy of upstream) due to paths being different from upstream, - # #728470 - # https://github.com/lxc/lxcfs/tree/main/config/init - systemd_newunit "${FILESDIR}"/lxcfs-5.0.2.service lxcfs.service -} From 7c66a7ab6977a326e955317fa35861f162912976 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 3 Aug 2026 08:20:10 +0000 Subject: [PATCH 151/195] sys-fs/zfs: Sync with Gentoo It's from Gentoo commit cdb8ae421558e070742d63de6ab487cd4706e495. Signed-off-by: Flatcar Buildbot --- .../src/third_party/portage-stable/sys-fs/zfs/zfs-2.4.3.ebuild | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sdk_container/src/third_party/portage-stable/sys-fs/zfs/zfs-2.4.3.ebuild b/sdk_container/src/third_party/portage-stable/sys-fs/zfs/zfs-2.4.3.ebuild index 274e57f560d..dc33317864a 100644 --- a/sdk_container/src/third_party/portage-stable/sys-fs/zfs/zfs-2.4.3.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-fs/zfs/zfs-2.4.3.ebuild @@ -42,7 +42,7 @@ else ZFS_KERNEL_DEP="${ZFS_KERNEL_DEP%%.*}.$(( ${ZFS_KERNEL_DEP##*.} + 1))" if [[ ${PV} != *_rc* ]]; then - KEYWORDS="~amd64 ~arm64 ~loong ~ppc64 ~riscv ~sparc" + KEYWORDS="amd64 arm64 ~loong ppc64 ~riscv ~sparc" fi fi From 84bf03afe7a23b3593523be0baf4c9f9b689fa2a Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 3 Aug 2026 08:20:11 +0000 Subject: [PATCH 152/195] sys-kernel/dracut: Sync with Gentoo It's from Gentoo commit 314bc3b49f805a5442fe390e423c7543d4c60865. Signed-off-by: Flatcar Buildbot --- ...cut-111-r1.ebuild => dracut-111-r2.ebuild} | 1 + .../sys-kernel/dracut/dracut-9999.ebuild | 1 + .../dracut-108-acct-user-group-gentoo.patch | 13 - .../dracut-108-disable-ukify-magic.patch | 13 - .../files/dracut-108-elf-parsing-fixes.patch | 332 ------------------ ...cut-108-hostonly_cmdline-default-yes.patch | 23 -- ...acut-108-respect-objcopy-and-objdump.patch | 89 ----- 7 files changed, 2 insertions(+), 470 deletions(-) rename sdk_container/src/third_party/portage-stable/sys-kernel/dracut/{dracut-111-r1.ebuild => dracut-111-r2.ebuild} (99%) delete mode 100644 sdk_container/src/third_party/portage-stable/sys-kernel/dracut/files/dracut-108-acct-user-group-gentoo.patch delete mode 100644 sdk_container/src/third_party/portage-stable/sys-kernel/dracut/files/dracut-108-disable-ukify-magic.patch delete mode 100644 sdk_container/src/third_party/portage-stable/sys-kernel/dracut/files/dracut-108-elf-parsing-fixes.patch delete mode 100644 sdk_container/src/third_party/portage-stable/sys-kernel/dracut/files/dracut-108-hostonly_cmdline-default-yes.patch delete mode 100644 sdk_container/src/third_party/portage-stable/sys-kernel/dracut/files/dracut-108-respect-objcopy-and-objdump.patch diff --git a/sdk_container/src/third_party/portage-stable/sys-kernel/dracut/dracut-111-r1.ebuild b/sdk_container/src/third_party/portage-stable/sys-kernel/dracut/dracut-111-r2.ebuild similarity index 99% rename from sdk_container/src/third_party/portage-stable/sys-kernel/dracut/dracut-111-r1.ebuild rename to sdk_container/src/third_party/portage-stable/sys-kernel/dracut/dracut-111-r2.ebuild index 3660b3e2e34..c0cd3b8ed0d 100644 --- a/sdk_container/src/third_party/portage-stable/sys-kernel/dracut/dracut-111-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-kernel/dracut/dracut-111-r2.ebuild @@ -39,6 +39,7 @@ RDEPEND="${COMMON_DEPEND} sys-apps/openrc[sysv-utils(-),selinux?] sys-apps/systemd[sysv-utils(+)] sys-apps/s6-linux-init[sysv-utils(-)] + sys-apps/dinit[sysv-utils(-)] ) >=sys-apps/util-linux-2.21 virtual/pkgconfig[native-symlinks(+)] diff --git a/sdk_container/src/third_party/portage-stable/sys-kernel/dracut/dracut-9999.ebuild b/sdk_container/src/third_party/portage-stable/sys-kernel/dracut/dracut-9999.ebuild index a5c18279a98..64a73dd65bb 100644 --- a/sdk_container/src/third_party/portage-stable/sys-kernel/dracut/dracut-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-kernel/dracut/dracut-9999.ebuild @@ -39,6 +39,7 @@ RDEPEND="${COMMON_DEPEND} sys-apps/openrc[sysv-utils(-),selinux?] sys-apps/systemd[sysv-utils(+)] sys-apps/s6-linux-init[sysv-utils(-)] + sys-apps/dinit[sysv-utils(-)] ) >=sys-apps/util-linux-2.21 virtual/pkgconfig[native-symlinks(+)] diff --git a/sdk_container/src/third_party/portage-stable/sys-kernel/dracut/files/dracut-108-acct-user-group-gentoo.patch b/sdk_container/src/third_party/portage-stable/sys-kernel/dracut/files/dracut-108-acct-user-group-gentoo.patch deleted file mode 100644 index 52c15205c63..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-kernel/dracut/files/dracut-108-acct-user-group-gentoo.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/modules.d/73tpm2-tss/module-setup.sh b/modules.d/73tpm2-tss/module-setup.sh -index 4441f5528..4b5654d56 100755 ---- a/modules.d/73tpm2-tss/module-setup.sh -+++ b/modules.d/73tpm2-tss/module-setup.sh -@@ -30,7 +30,7 @@ installkernel() { - - # Install the required file(s) and directories for the module in the initramfs. - install() { -- inst_sysusers tpm2-tss.conf -+ inst_sysusers tss.conf - - inst_multiple -o \ - "$tmpfilesdir"/tpm2-tss-fapi.conf \ diff --git a/sdk_container/src/third_party/portage-stable/sys-kernel/dracut/files/dracut-108-disable-ukify-magic.patch b/sdk_container/src/third_party/portage-stable/sys-kernel/dracut/files/dracut-108-disable-ukify-magic.patch deleted file mode 100644 index 05268206de0..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-kernel/dracut/files/dracut-108-disable-ukify-magic.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/dracut.sh b/dracut.sh -index e6d2d9f25..792ab3d34 100755 ---- a/dracut.sh -+++ b/dracut.sh -@@ -2732,7 +2732,7 @@ if [[ $uefi == yes ]]; then - cp "$uefi_stub" "$tmp_uefi_stub" - "${OBJCOPY:-objcopy}" --remove-section .sbat "$tmp_uefi_stub" &> /dev/null - -- if command -v ukify &> /dev/null; then -+ if false; then - dinfo "*** Using ukify to create UKI ***" - if ukify build \ - --linux "$kernel_image" \ diff --git a/sdk_container/src/third_party/portage-stable/sys-kernel/dracut/files/dracut-108-elf-parsing-fixes.patch b/sdk_container/src/third_party/portage-stable/sys-kernel/dracut/files/dracut-108-elf-parsing-fixes.patch deleted file mode 100644 index 1beb9c13c0a..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-kernel/dracut/files/dracut-108-elf-parsing-fixes.patch +++ /dev/null @@ -1,332 +0,0 @@ -From 88e375f89c11c989737f6d00b0cfe6309f7447d7 Mon Sep 17 00:00:00 2001 -From: James Le Cuirot -Date: Fri, 8 Aug 2025 12:50:12 +0100 -Subject: [PATCH 1/3] fix(dracut-install): the -n short option for --dry-run - -I forgot to update the getopt call. - -Signed-off-by: James Le Cuirot ---- a/src/install/dracut-install.c -+++ b/src/install/dracut-install.c -@@ -1638,7 +1638,7 @@ static int parse_argv(int argc, char *argv[]) - {NULL, 0, NULL, 0} - }; - -- while ((c = getopt_long(argc, argv, "madfhlL:oD:Hr:Rp:P:s:S:N:v", options, NULL)) != -1) { -+ while ((c = getopt_long(argc, argv, "madfhlL:oD:Hr:Rp:P:s:S:N:vn", options, NULL)) != -1) { - switch (c) { - case ARG_VERSION: - puts(PROGRAM_VERSION_STRING); --- -2.50.1 - - -From 06e95cc602d0c6df99f4a54b2ade7deb59343a40 Mon Sep 17 00:00:00 2001 -From: James Le Cuirot -Date: Fri, 8 Aug 2025 12:52:23 +0100 -Subject: [PATCH 2/3] fix(dracut-install): the RUNPATH expansion returning - empty strings - -The input was not initially copied into the result, so the result would -start with a null pointer and be treated as an empty string. Expansion -will not occur in most cases, leading to a straight copy of input being -returned, so just do that in the first place. - -Signed-off-by: James Le Cuirot ---- a/src/install/dracut-install.c -+++ b/src/install/dracut-install.c -@@ -770,7 +770,7 @@ static char *search_via_ldconf(const char *conf_pattern, const char *soname, con - expands to the directory of the given src path. $LIB expands to lib if - match64 is NULL or lib64 otherwise. Returns a newly allocated string even if - no expansion was necessary. */ --static char *expand_runpath(char *input, const char *src, const Elf64_Ehdr *match64) -+static char *expand_runpath(const char *input, const char *src, const Elf64_Ehdr *match64) - { - regex_t regex; - regmatch_t rmatch[3]; /* 0: full match, 1: without brackets, 2: with brackets */ -@@ -780,11 +780,15 @@ static char *expand_runpath(char *input, const char *src, const Elf64_Ehdr *matc - return NULL; - } - -- char *result = NULL, *current = input; -+ char *result = strdup(input); -+ if (!result) -+ goto oom; -+ -+ const char *current = input; - int offset = 0; - - while (regexec(®ex, current + offset, 3, rmatch, 0) == 0) { -- char *varname = NULL; -+ const char *varname = NULL; - _cleanup_free_ char *varval = NULL; - size_t varname_len, varval_len; - -@@ -823,7 +827,7 @@ static char *expand_runpath(char *input, const char *src, const Elf64_Ehdr *matc - } - - regfree(®ex); -- return result ?: strdup(current); -+ return result; - - oom: - log_error("Out of memory"); --- -2.50.1 - - -From 9f2f306fa971ee00cee0ae307479bc8a8dbc5263 Mon Sep 17 00:00:00 2001 -From: James Le Cuirot -Date: Fri, 8 Aug 2025 13:18:07 +0100 -Subject: [PATCH 3/3] fix(dracut-install): the handling of absolute paths in - sonames - -If the soname is an absolute path, expand it like the RUNPATH, and -return it (with the sysroot) without further checks like glibc and musl -do. - -They also support relative paths, but we cannot feasibly support them. -Such paths are relative to the current directory of the calling process -at runtime, which we cannot know in this context. - -This was observed with Neovim. - -Bug: https://bugs.gentoo.org/961101 -Signed-off-by: James Le Cuirot ---- a/src/install/dracut-install.c -+++ b/src/install/dracut-install.c -@@ -894,6 +894,21 @@ oom: - static char *find_library(const char *soname, const char *src, size_t src_len, const Elf64_Ehdr *match64, - const Elf32_Ehdr *match32) - { -+ /* If the soname is an absolute path, expand it like the RUNPATH, and -+ return it (with the sysroot) without further checks like glibc and -+ musl do. They also support relative paths, but we cannot feasibly -+ support them. Such paths are relative to the current directory of the -+ calling process at runtime, which we cannot know in this context. */ -+ if (soname[0] == '/') { -+ _cleanup_free_ char *expanded = expand_runpath(soname, src, match64); -+ if (!expanded) -+ return NULL; -+ -+ char *sysroot_expanded = NULL; -+ _asprintf(&sysroot_expanded, "%s%s", sysrootdir ?: "", expanded); -+ return sysroot_expanded; -+ } -+ - if (match64) - FIND_LIBRARY_RUNPATH_FOR_BITS(64, match64); - else if (match32) --- -2.50.1 - - -From 7186fa47fee7060a70fa6698748c4f4793edadf8 Mon Sep 17 00:00:00 2001 -From: James Le Cuirot -Date: Mon, 11 Aug 2025 10:12:59 +0100 -Subject: [PATCH 4/6] fix(dracut-install): handling of multiple sonames in - dlopen JSON - -We should not try to install every library referenced in the soname -array, only the first one present. The array is intended to be an -ordered preference list. - -Closes: https://github.com/dracut-ng/dracut-ng/issues/1552 -Signed-off-by: James Le Cuirot ---- a/src/install/dracut-install.c -+++ b/src/install/dracut-install.c -@@ -951,9 +951,10 @@ static void resolve_deps_dlopen_parse_json(Hashmap *pdeps, Hashmap *deps, const - for (size_t entry_idx = 0; entry_idx < sd_json_variant_elements(dlopen_json); entry_idx++) { - sd_json_variant *entry = sd_json_variant_by_index(dlopen_json, entry_idx); - sd_json_variant *feature_json = sd_json_variant_by_key(entry, "feature"); -+ const char *feature = NULL; - - if (feature_json && sd_json_variant_is_string(feature_json)) { -- const char *feature = sd_json_variant_string(feature_json); -+ feature = sd_json_variant_string(feature_json); - const char *name = src_soname ?: basename(fullsrcpath); - - Iterator i; -@@ -988,12 +989,15 @@ static void resolve_deps_dlopen_parse_json(Hashmap *pdeps, Hashmap *deps, const - - const char *soname = sd_json_variant_string(soname_json); - if (hashmap_get(pdeps, soname)) -- continue; -+ goto skip; - - char *library = find_library(soname, fullsrcpath, src_len, match64, match32); -- if (!library || hashmap_put_strdup_key(deps, soname, library) < 0) -- log_warning("WARNING: could not locate dlopen dependency %s requested by '%s'", soname, fullsrcpath); -+ if (library && hashmap_put_strdup_key(deps, soname, library) == 0) -+ goto skip; - } -+ -+ log_warning("WARNING: could not locate dlopen dependency for %s feature requested by '%s'", feature ?: "unnamed", -+ fullsrcpath); - skip: - } - } --- -2.50.1 - - -From 5c69be7d20af599cc6dd94d451a16d8639139bce Mon Sep 17 00:00:00 2001 -From: James Le Cuirot -Date: Mon, 11 Aug 2025 10:51:51 +0100 -Subject: [PATCH 5/6] fix(dracut-install): cache resolve_deps calls for speed - and less noise - -The dlopen dependency failure warning was particularly noisy and likely -to trigger. We were already caching the processed items in resolve_lazy, -but resolve_deps recurses many times, so it was necessary to move the -cache down a level. I didn't reuse "items" here because it would have -clashed with its usage elsewhere. - -I had to think about whether the cache would function correctly with -changing values of pdeps. If a dependency is not found on the first -attempt, it does not prevent its consumer from being installed, so it -does not matter that it might be found via a RUNPATH on a subsequent -attempt. - -Closes: https://github.com/dracut-ng/dracut-ng/issues/1552 -Signed-off-by: James Le Cuirot ---- a/src/install/dracut-install.c -+++ b/src/install/dracut-install.c -@@ -93,6 +93,7 @@ static Hashmap *items_failed = NULL; - static Hashmap *modules_loaded = NULL; - static Hashmap *modules_suppliers = NULL; - static Hashmap *processed_suppliers = NULL; -+static Hashmap *processed_deps = NULL; - static Hashmap *modalias_to_kmod = NULL; - static Hashmap *add_dlopen_features = NULL; - static Hashmap *omit_dlopen_features = NULL; -@@ -1132,13 +1133,21 @@ skip: - Both ELF binaries and scripts with shebangs are handled. */ - static int resolve_deps(const char *src, Hashmap *pdeps) - { -- _cleanup_free_ char *fullsrcpath = NULL; -- -- fullsrcpath = get_real_file(src, true); -+ char *fullsrcpath = get_real_file(src, true); - log_debug("resolve_deps('%s') -> get_real_file('%s', true) = '%s'", src, src, fullsrcpath); - if (!fullsrcpath) - return 0; - -+ switch (hashmap_put(processed_deps, fullsrcpath, fullsrcpath)) { -+ case -EEXIST: -+ free(fullsrcpath); -+ return 0; -+ case -ENOMEM: -+ log_error("Out of memory"); -+ free(fullsrcpath); -+ return -ENOMEM; -+ } -+ - _cleanup_close_ int fd = open(fullsrcpath, O_RDONLY | O_CLOEXEC); - if (fd < 0) { - log_error("ERROR: cannot open '%s': %m", fullsrcpath); -@@ -1838,27 +1847,10 @@ static int parse_argv(int argc, char *argv[]) - static int resolve_lazy(int argc, char **argv) - { - int i; -- size_t destrootdirlen = strlen(destrootdir); - int ret = 0; -- char *item; - for (i = 0; i < argc; i++) { -- const char *src = argv[i]; -- char *p = argv[i]; -- -- log_debug("resolve_deps('%s')", src); -- -- if (strstr(src, destrootdir)) { -- p = &argv[i][destrootdirlen]; -- } -- -- if (check_hashmap(items, p)) { -- continue; -- } -- -- item = strdup(p); -- hashmap_put(items, item, item); -- -- ret += resolve_deps(src, NULL); -+ log_debug("resolve_deps('%s')", argv[i]); -+ ret += resolve_deps(argv[i], NULL); - } - return ret; - } -@@ -3008,13 +3000,14 @@ int main(int argc, char **argv) - items = hashmap_new(string_hash_func, string_compare_func); - items_failed = hashmap_new(string_hash_func, string_compare_func); - processed_suppliers = hashmap_new(string_hash_func, string_compare_func); -+ processed_deps = hashmap_new(string_hash_func, string_compare_func); - modalias_to_kmod = hashmap_new(string_hash_func, string_compare_func); - - dlopen_features[0] = add_dlopen_features = hashmap_new(string_hash_func, string_compare_func); - dlopen_features[1] = omit_dlopen_features = hashmap_new(string_hash_func, string_compare_func); - - if (!items || !items_failed || !processed_suppliers || !modules_loaded || -- !add_dlopen_features || !omit_dlopen_features) { -+ !processed_deps || !add_dlopen_features || !omit_dlopen_features) { - log_error("Out of memory"); - r = EXIT_FAILURE; - goto finish1; -@@ -3093,6 +3086,9 @@ finish2: - while ((i = hashmap_steal_first(processed_suppliers))) - item_free(i); - -+ while ((i = hashmap_steal_first(processed_deps))) -+ item_free(i); -+ - for (size_t j = 0; j < 2; j++) { - char ***array; - Iterator it; -@@ -3118,6 +3114,7 @@ finish2: - hashmap_free(modules_loaded); - hashmap_free(modules_suppliers); - hashmap_free(processed_suppliers); -+ hashmap_free(processed_deps); - hashmap_free(modalias_to_kmod); - - if (arg_mod_filter_path) --- -2.50.1 - - -From edb94a1b2c7d11a29eb055a28fa598e8fd317fe4 Mon Sep 17 00:00:00 2001 -From: James Le Cuirot -Date: Tue, 12 Aug 2025 10:15:58 +0100 -Subject: [PATCH 6/6] fix(dracut-install): broken calls to mmap with 0 length - -This results in an invalid argument error, so check for 0 length first. - -Fixes: https://bugs.gentoo.org/961340 -Signed-off-by: James Le Cuirot ---- a/src/install/dracut-install.c -+++ b/src/install/dracut-install.c -@@ -632,7 +632,11 @@ static char *check_lib_match(const char *dirname, const char *basename, const ch - if (fstat(fd, &sb) < 0) - goto finish2; - -- void *map = mmap(NULL, sb.st_size, PROT_READ, MAP_PRIVATE, fd, 0); -+ size_t lib_len = sb.st_size; -+ if (lib_len == 0) -+ goto finish2; -+ -+ void *map = mmap(NULL, lib_len, PROT_READ, MAP_PRIVATE, fd, 0); - if (map == MAP_FAILED) - goto finish2; - -@@ -1161,6 +1165,9 @@ static int resolve_deps(const char *src, Hashmap *pdeps) - } - - size_t src_len = sb.st_size; -+ if (src_len == 0) -+ return 0; -+ - void *map = mmap(NULL, src_len, PROT_READ, MAP_PRIVATE, fd, 0); - if (map == MAP_FAILED) { - log_error("ERROR: cannot mmap '%s': %m", fullsrcpath); --- -2.50.1 - diff --git a/sdk_container/src/third_party/portage-stable/sys-kernel/dracut/files/dracut-108-hostonly_cmdline-default-yes.patch b/sdk_container/src/third_party/portage-stable/sys-kernel/dracut/files/dracut-108-hostonly_cmdline-default-yes.patch deleted file mode 100644 index 2af85e918c9..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-kernel/dracut/files/dracut-108-hostonly_cmdline-default-yes.patch +++ /dev/null @@ -1,23 +0,0 @@ -From f0086c2f629365bdca8df76364747f7eb9799b59 Mon Sep 17 00:00:00 2001 -From: Jo Zzsi -Date: Tue, 12 Aug 2025 07:17:52 -0400 -Subject: [PATCH] revert(efaee44): hostonly_cmdline should continue to default - to yes - -Despite the Fedora setting, let's keep the default to yes -for distributions that do not whish to overwrite the default. ---- - dracut.conf.d/hostonly/10-hostonly.conf | 1 - - 1 file changed, 1 deletion(-) - -diff --git a/dracut.conf.d/hostonly/10-hostonly.conf b/dracut.conf.d/hostonly/10-hostonly.conf -index c5bd9b22..72fc9299 100644 ---- a/dracut.conf.d/hostonly/10-hostonly.conf -+++ b/dracut.conf.d/hostonly/10-hostonly.conf -@@ -1,3 +1,2 @@ - # optimize initrd to be as small as possible for faster boot performance, tailored to the current host - hostonly="yes" --hostonly_cmdline=no --- -2.49.1 - diff --git a/sdk_container/src/third_party/portage-stable/sys-kernel/dracut/files/dracut-108-respect-objcopy-and-objdump.patch b/sdk_container/src/third_party/portage-stable/sys-kernel/dracut/files/dracut-108-respect-objcopy-and-objdump.patch deleted file mode 100644 index 5ab73d1a8e8..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-kernel/dracut/files/dracut-108-respect-objcopy-and-objdump.patch +++ /dev/null @@ -1,89 +0,0 @@ -diff --git a/dracut-functions.sh b/dracut-functions.sh -index 84a34fafd..617ccf91c 100755 ---- a/dracut-functions.sh -+++ b/dracut-functions.sh -@@ -1042,7 +1042,7 @@ get_dev_module() { - pe_file_format() { - if [[ $# -eq 1 ]]; then - local magic -- magic=$(objdump -p "$1" \ -+ magic=$("${OBJDUMP:-objdump}" -p "$1" \ - | awk '{if ($1 == "Magic"){print $2}}') - # 010b (PE32), 020b (PE32+) - [[ $magic == "020b" || $magic == "010b" ]] && return 0 -@@ -1055,7 +1055,7 @@ pe_get_header_data() { - local data_header - [[ $# -ne "2" ]] && return 1 - [[ $(pe_file_format "$1") -eq 1 ]] && return 1 -- data_header=$(objdump -p "$1" \ -+ data_header=$("${OBJDUMP:-objdump}" -p "$1" \ - | awk -v data="$2" '{if ($1 == data){print $2}}') - echo "$data_header" - } -diff --git a/dracut.sh b/dracut.sh -index 45373efb7..b53d72924 100755 ---- a/dracut.sh -+++ b/dracut.sh -@@ -1649,7 +1649,7 @@ if [[ ! $print_cmdline ]]; then - fi - - if [[ $uefi == yes ]]; then -- if ! command -v objcopy &> /dev/null; then -+ if ! command -v "${OBJCOPY:-objcopy}" &> /dev/null; then - dfatal "Need 'objcopy' to create a UEFI executable" - exit 1 - fi -@@ -2638,7 +2638,7 @@ clean_sbat_string() { - get_sbat_string() { - local inp=$1 - local out=$uefi_outdir/$2 -- objcopy -O binary --only-section=.sbat "$inp" "$out" -+ "${OBJCOPY:-objcopy}" -O binary --only-section=.sbat "$inp" "$out" - clean_sbat_string "$out" - } - -@@ -2656,7 +2656,7 @@ if [[ $uefi == yes ]]; then - fi - fi - -- offs=$(($(objdump -h "$uefi_stub" 2> /dev/null | awk 'NF==7 {size=$3; -+ offs=$(($("${OBJDUMP:-objdump}" -h "$uefi_stub" 2> /dev/null | awk 'NF==7 {size=$3; - offset=$4} END {print "16#"size" + 16#"offset}'))) - if [[ $offs -eq 0 ]]; then - dfatal "Failed to get the size of $uefi_stub to create UEFI image file" -@@ -2719,7 +2719,7 @@ if [[ $uefi == yes ]]; then - - tmp_uefi_stub=$uefi_outdir/elf.stub - cp "$uefi_stub" "$tmp_uefi_stub" -- objcopy --remove-section .sbat "$tmp_uefi_stub" &> /dev/null -+ "${OBJCOPY:-objcopy}" --remove-section .sbat "$tmp_uefi_stub" &> /dev/null - - if command -v ukify &> /dev/null; then - dinfo "*** Using ukify to create UKI ***" -@@ -2749,7 +2749,7 @@ if [[ $uefi == yes ]]; then - exit 1 - fi - else -- if objcopy \ -+ if "${OBJCOPY:-objcopy}" \ - ${SOURCE_DATE_EPOCH:+--enable-deterministic-archives --preserve-dates} \ - ${uefi_osrelease:+--add-section .osrel="$uefi_osrelease" --change-section-vma .osrel=$(printf 0x%x "$uefi_osrelease_offs")} \ - ${uefi_cmdline:+--add-section .cmdline="$uefi_cmdline" --change-section-vma .cmdline=$(printf 0x%x "$uefi_cmdline_offs")} \ -diff --git a/lsinitrd.sh b/lsinitrd.sh -index 86b2c5a67..fd0633dfa 100755 ---- a/lsinitrd.sh -+++ b/lsinitrd.sh -@@ -358,11 +358,11 @@ unpack_files() { - - read -r -N 2 bin < "$image" - if [ "$bin" = "MZ" ]; then -- command -v objcopy > /dev/null || { -+ command -v "${OBJCOPY:-objcopy}" > /dev/null || { - echo "Need 'objcopy' to unpack an UEFI executable." - exit 1 - } -- objcopy \ -+ "${OBJCOPY:-objcopy}" \ - --dump-section .linux="$TMPDIR/vmlinuz" \ - --dump-section .initrd="$TMPDIR/initrd.img" \ - --dump-section .cmdline="$TMPDIR/cmdline.txt" \ From c775846463a6e40e3ce4fc3ad9a3d4170615518c Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 3 Aug 2026 08:20:18 +0000 Subject: [PATCH 153/195] sys-libs/glibc: Sync with Gentoo It's from Gentoo commit 1ff9a270d37847ba13b2e3925c1b2ad001c9095f. Signed-off-by: Flatcar Buildbot --- .../portage-stable/sys-libs/glibc/Manifest | 3 + .../sys-libs/glibc/glibc-2.44.9999.ebuild | 1934 +++++++++++++++++ .../sys-libs/glibc/glibc-2.44.ebuild | 1934 +++++++++++++++++ .../sys-libs/glibc/glibc-9999.ebuild | 22 +- .../sys-libs/glibc/metadata.xml | 1 + 5 files changed, 3890 insertions(+), 4 deletions(-) create mode 100644 sdk_container/src/third_party/portage-stable/sys-libs/glibc/glibc-2.44.9999.ebuild create mode 100644 sdk_container/src/third_party/portage-stable/sys-libs/glibc/glibc-2.44.ebuild diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/glibc/Manifest b/sdk_container/src/third_party/portage-stable/sys-libs/glibc/Manifest index 4153cd4d662..90f80b44900 100644 --- a/sdk_container/src/third_party/portage-stable/sys-libs/glibc/Manifest +++ b/sdk_container/src/third_party/portage-stable/sys-libs/glibc/Manifest @@ -37,6 +37,9 @@ DIST glibc-2.43-patches-2.tar.xz 90172 BLAKE2B 9927b0bfc836597047e2c268a1d5c7b59 DIST glibc-2.43-patches-3.tar.xz 99856 BLAKE2B 4bc4b2fc9b23e7e2d295b8f87919ed676147d3520b27e773db48200768c3f6647a4383fcf8962881611d622ddbc71fe1bc3732fbb7df5c1968ea78ab047226a6 SHA512 0070d0b8552f8385e3133f522dfb563b9fa5f5663e1cce3c4b99a4e1d9da57a4c0305e3908f1c739f4e17113f4775b253af83fc8ee3885a0305aebc970314edf DIST glibc-2.43.tar.xz 20297012 BLAKE2B a764edf3d0d52809aa94cf1a8f73341159d226ecc2a595aa3c9e1d1fd4b2d4eb9a599d70bda8812b73d8ef58b39746efdd34026772e38c0f091fe071d461ea98 SHA512 25765f86bf54a22fc69dd13023ec9be59bd7e1f9d6ea1630cf21851898df2043bb8a01538c4b5fdd06495d0163289362b0768b391b0617f709b89a777168291c DIST glibc-2.43.tar.xz.sig 1018 BLAKE2B 99fb3f296795498f6de8090d537e32d8af0bfa75c7d8145ba4c35ca1b54c281fd2b9cb121886aef1800c0a6e508244914a2de67339d113561a9fc2c515110924 SHA512 6e26f0edee146710bcb73c3890c455e8b479009f99d284c43ea695b73bfe45e4ba47d1460300ce8c7496689b0c21a1c77e6359e005957973648b86755160c8f5 +DIST glibc-2.44-patches-1.tar.xz 29216 BLAKE2B ba7ef5f516353b87bbb399f3e4eecd8bfb3779c572552a900eb9de7340044b9f943ebd040e0e817f1318631bdfe1843695607897597fe07dc72651eee5ffc5c0 SHA512 2d8765ecd7f37d489252ae8de7b64e6677e4d80a463ca59f6b5b0914305bcb704468781d4cbed85b6ccec2762c662cd0db60553e32cb5b55cbdace951037c391 +DIST glibc-2.44.tar.xz 20620544 BLAKE2B f943e302ad4e44a204e4c5d85460653bec030717c2a502f16764d74bd6d87c280e126f37820b96ec726aff611a8c4e0dba95a7b4d72907adcb0aa88d304e4823 SHA512 963dc0275f7738653379909b64ee32e28f13cca77440f2cf9bd0ab82cb183f6cd1f7376d25cc5442de69b972713bd81bf0e38dbcca9b2a4d6649843e76fd50a5 +DIST glibc-2.44.tar.xz.sig 870 BLAKE2B 0ecb4965c61714a49f871b3ac24cafe8d6b79ce039c5364082fd8e61f6ac4102f0fab8b26f130707daf9ec6dad5a9b29198e56533ea3d7d3351538ada3f52f02 SHA512 e2034e369d2c233c9f9e155d6bc4b5e7472cace8a000253514a08b4dac3be6ed59cafe9aa6ceea2bdd07678291528c7937b358f43ab02a6f09422e7498837494 DIST glibc-systemd-20210729.tar.gz 1480 BLAKE2B 37722c7579df782d890e44dbab99c3de52ab466eb9de80d82405e9bb5620bf39ffc8c5f466a435bdb86ef6d36dd7019c0736573916bda6c67d02a2581e0ec979 SHA512 efd75af58b50522c28cdac7abd1fc56555bc1bb042512c90d8340c1ec09c5791b3872a305bf83723252bbde5855b75d958c041083457765c4cfd170732d09238 DIST glibc-systemd-20210814.tar.gz 1469 BLAKE2B 10fa7bcb46d4fdce9c0ab353cbd30871e9b09a347a13a9c9a3b5777f931aa3c826c158d2e49532c604d4a834f2fab4089b67495fb88d0398945dc50d45ad9ef1 SHA512 5346a9ea459a1e6ccf665389f2a294de1e16f1e3e05cdf07e3dd99ed0e4f6f8b52cc333d4bff3c75ac90ab6ce70cd4ab2b3e126f920ce7979abd6dda56315efc DIST locale-gen-2.00.tar.gz 7738 BLAKE2B cde6de5ba3400aea24d0d5f1b79471f89f09fb747c8e371e38316c7ada92f967e0865f573f23cb353d82419c234724143c0aeca9eb70eb945dfc581cc7491eb1 SHA512 b609fddb9ec5e567c008841fef3390eddb5d6e7699a8271b3b8c0ade1b44b0ac2e5d1daa8b9acabf3432e3b88110b538a96f209b1ad0f9e988b7efce66606dff diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/glibc/glibc-2.44.9999.ebuild b/sdk_container/src/third_party/portage-stable/sys-libs/glibc/glibc-2.44.9999.ebuild new file mode 100644 index 00000000000..5f5dcfee385 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-libs/glibc/glibc-2.44.9999.ebuild @@ -0,0 +1,1934 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# Bumping notes: https://wiki.gentoo.org/wiki/Project:Toolchain/sys-libs/glibc +# Please read & adapt the page as necessary if obsolete. + +PYTHON_COMPAT=( python3_{11..14} ) +TMPFILES_OPTIONAL=1 + +EMULTILIB_PKG="true" + +# Gentoo patchset (ignored for live ebuilds) +PATCH_VER=1 + +# gcc mulitilib bootstrap files version +GCC_BOOTSTRAP_VER=20201208 + +# systemd integration version +GLIBC_SYSTEMD_VER=20210729 + +# Minimum kernel version that glibc requires (used with USE=old-kernel) +MIN_KERN_VER_UPSTREAM="3.2.0" + +# Minimum kernel version that Gentoo recommends (oldest in the tree) +MIN_KERN_VER_GENTOO="6.1.0" + +# Minimum pax-utils version needed (which contains any new syscall changes for +# its seccomp filter!). Please double check this! +MIN_PAX_UTILS_VER="1.3.3" + +# Minimum systemd version needed (which contains any new syscall changes for +# its seccomp filter!). Please double check this! +MIN_SYSTEMD_VER="254.9-r1" + +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/glibc.asc + +inherit python-any-r1 prefix preserve-libs toolchain-funcs flag-o-matic gnuconfig \ + multilib systemd multiprocessing tmpfiles eapi9-ver verify-sig + +DESCRIPTION="GNU libc C library" +HOMEPAGE="https://www.gnu.org/software/libc/" + +if [[ ${PV} == *9999 ]]; then + inherit git-r3 +else + #KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + SRC_URI="mirror://gnu/glibc/${P}.tar.xz" + SRC_URI+=" https://distfiles.gentoo.org/pub/proj/toolchain/glibc/patches/${P}-patches-${PATCH_VER}.tar.xz" + SRC_URI+=" verify-sig? ( mirror://gnu/glibc/${P}.tar.xz.sig )" +fi + +SRC_URI+=" multilib-bootstrap? ( https://dev.gentoo.org/~dilfridge/distfiles/gcc-multilib-bootstrap-${GCC_BOOTSTRAP_VER}.tar.xz )" +SRC_URI+=" systemd? ( https://gitweb.gentoo.org/proj/toolchain/glibc-systemd.git/snapshot/glibc-systemd-${GLIBC_SYSTEMD_VER}.tar.gz )" + +LICENSE="LGPL-2.1+ BSD HPND ISC inner-net rc PCRE" +SLOT="2.2" +IUSE="audit caps cet clang compile-locales custom-cflags doc gd hash-sysv-compat headers-only +multiarch multilib multilib-bootstrap nscd old-kernel perl profile selinux sframe +ssp stack-realign +static-libs suid systemd systemtap test vanilla" + +# Here's how the cross-compile logic breaks down ... +# CTARGET - machine that will target the binaries +# CHOST - machine that will host the binaries +# CBUILD - machine that will build the binaries +# If CTARGET != CHOST, it means you want a libc for cross-compiling. +# If CHOST != CBUILD, it means you want to cross-compile the libc. +# CBUILD = CHOST = CTARGET - native build/install +# CBUILD != (CHOST = CTARGET) - cross-compile a native build +# (CBUILD = CHOST) != CTARGET - libc for cross-compiler +# CBUILD != CHOST != CTARGET - cross-compile a libc for a cross-compiler +# For install paths: +# CHOST = CTARGET - install into / +# CHOST != CTARGET - install into /usr/CTARGET/ +# +export CBUILD=${CBUILD:-${CHOST}} +export CTARGET=${CTARGET:-${CHOST}} +if [[ ${CTARGET} == ${CHOST} ]] ; then + if [[ ${CATEGORY} == cross-* ]] ; then + export CTARGET=${CATEGORY#cross-} + fi +fi + +# Note [Disable automatic stripping] +# Disabling automatic stripping for a few reasons: +# - portage's attempt to strip breaks non-native binaries at least on +# arm: bug #697428 +# - portage's attempt to strip libpthread.so.0 breaks gdb thread +# enumeration: bug #697910. This is quite subtle: +# * gdb uses glibc's libthread_db-1.0.so to enumerate threads. +# * libthread_db-1.0.so needs access to libpthread.so.0 local symbols +# via 'ps_pglobal_lookup' symbol defined in gdb. +# * 'ps_pglobal_lookup' uses '.symtab' section table to resolve all +# known symbols in 'libpthread.so.0'. Specifically 'nptl_version' +# (unexported) is used to sanity check compatibility before enabling +# debugging. +# Also see https://sourceware.org/gdb/wiki/FAQ#GDB_does_not_see_any_threads_besides_the_one_in_which_crash_occurred.3B_or_SIGTRAP_kills_my_program_when_I_set_a_breakpoint +# * normal 'strip' command trims '.symtab' +# Thus our main goal here is to prevent 'libpthread.so.0' from +# losing it's '.symtab' entries. +# - similarly, valgrind requires knowledge about symbols in ld.so: +# bug #920753 +# As Gentoo's strip does not allow us to pass less aggressive stripping +# options and does not check the machine target we strip selectively. + +# We need a new-enough binutils/gcc to match upstream baseline. +# Also we need to make sure our binutils/gcc supports TLS, +# and that gcc already contains the hardened patches. +# Lastly, let's avoid some openssh nastiness, bug 708224, as +# convenience to our users. + +IDEPEND=" + !compile-locales? ( sys-apps/locale-gen ) +" +BDEPEND=" + ${PYTHON_DEPS} + >=app-misc/pax-utils-${MIN_PAX_UTILS_VER} + sys-devel/bison + compile-locales? ( sys-apps/locale-gen ) + doc? ( + dev-lang/perl + sys-apps/texinfo + ) + sframe? ( >=sys-devel/binutils-2.45 ) + test? ( + dev-lang/perl + >=net-dns/libidn2-2.3.0 + sys-apps/gawk[mpfr] + ) + verify-sig? ( sec-keys/openpgp-keys-glibc ) +" +COMMON_DEPEND=" + gd? ( media-libs/gd:2= ) + nscd? ( selinux? ( + audit? ( sys-process/audit ) + caps? ( sys-libs/libcap ) + ) ) + suid? ( caps? ( sys-libs/libcap ) ) + selinux? ( sys-libs/libselinux ) + systemtap? ( dev-debug/systemtap ) +" +DEPEND="${COMMON_DEPEND} +" +RDEPEND="${COMMON_DEPEND} + !/dev/null + + rm -f glibc-test* + printf '%b' "$*" > glibc-test.c + + # We assume CC is already set up. + nonfatal emake glibc-test + ret=$? + + popd >/dev/null + + CFLAGS=${save_cflags} + return ${ret} +} + +do_run_test() { + local ret + + if [[ ${MERGE_TYPE} == "binary" ]] ; then + # ignore build failures when installing a binary package #324685 + CC="${glibc__ORIG_CC}" CXX="${glibc__ORIG_CXX}" CPP="${glibc__ORIG_CPP}" \ + CFLAGS="-O2" LDFLAGS="" do_compile_test "" "$@" 2>/dev/null || return 0 + else + ebegin "Performing simple compile test for ABI=${ABI}" + if ! do_compile_test "" "$@" ; then + ewarn "Simple build failed ... assuming this is desired #324685" + eend 1 + return 0 + else + eend 0 + fi + fi + + pushd "${T}" >/dev/null + + ./glibc-test + ret=$? + rm -f glibc-test* + + popd >/dev/null + + return ${ret} +} + +setup_target_flags() { + # This largely mucks with compiler flags. None of which should matter + # when building up just the headers. + just_headers && return 0 + + case $(tc-arch) in + alpha) + # glibc selects its hand-written assembly mem*/str* routines by the + # host triplet's machine prefix (sysdeps/alpha/preconfigure does + # machine=alpha/$machine), NOT by the -mcpu codegen flag. With the + # bare alpha-*-* CHOST only the generic C is built. Map -mcpu to the + # most specific sysdeps/alpha/alphaev* dir that exists (Implies chain + # alphaev67 -> alphaev6 -> alphaev5) so the tuned asm is selected. + local cpu + case $(get-flag mcpu) in + 21264a|ev67) cpu="alphaev67" ;; + 21264|ev6) cpu="alphaev6" ;; + 21164*|ev5|ev56|pca56) cpu="alphaev5" ;; + esac + [[ -n ${cpu} ]] && CTARGET_OPT="${cpu}-${CTARGET#*-}" + ;; + x86) + # -march needed for #185404 #199334 + # TODO: When creating the first glibc cross-compile, this test will + # always fail as it does a full link which in turn requires glibc. + # Probably also applies when changing multilib profile settings (e.g. + # enabling x86 when the profile was amd64-only previously). + # We could change main to _start and pass -nostdlib here so that we + # only test the gcc code compilation. Or we could do a compile and + # then look for the symbol via scanelf. + if ! do_compile_test "" 'void f(int i, void *p) {if (__sync_fetch_and_add(&i, 1)) f(i, p);}\nint main(){return 0;}\n'; then + local t=${CTARGET_OPT:-${CTARGET}} + t=${t%%-*} + filter-flags '-march=*' + export CFLAGS="-march=${t} ${CFLAGS}" + einfo "Auto adding -march=${t} to CFLAGS #185404" + fi + # For compatibility with older binaries at slight performance cost. + use stack-realign && export CFLAGS+=" -mstackrealign" + ;; + amd64) + # -march needed for #185404 #199334 + # TODO: See cross-compile issues listed above for x86. + if [[ ${ABI} == x86 ]]; then + if ! do_compile_test "${CFLAGS_x86}" 'void f(int i, void *p) {if (__sync_fetch_and_add(&i, 1)) f(i, p);}\nint main(){return 0;}\n'; then + local t=${CTARGET_OPT:-${CTARGET}} + t=${t%%-*} + # Normally the target is x86_64-xxx, so turn that into the -march that + # gcc actually accepts. #528708 + [[ ${t} == "x86_64" ]] && t="x86-64" + filter-flags '-march=*' + # ugly, ugly, ugly. ugly. + CFLAGS_x86=$( + CFLAGS=${CFLAGS_x86} + filter-flags '-march=*' + is-flagq '-mfpmath=sse' && append-cflags -msse + echo "${CFLAGS}" + ) + export CFLAGS_x86="${CFLAGS_x86} -march=${t}" + einfo "Auto adding -march=${t} to CFLAGS_x86 #185404 (ABI=${ABI})" + fi + # For compatibility with older binaries at slight performance cost. + use stack-realign && export CFLAGS_x86+=" -mstackrealign" + fi + + if is_hurd ; then + # doesnt build with -march=native and probably other values, debugging required + filter-flags '-march=*' + fi + ;; + mips) + # The mips abi cannot support the GNU style hashes. #233233 + filter-ldflags -Wl,--hash-style=gnu -Wl,--hash-style=both + ;; + ppc|ppc64) + # Many arch-specific implementations do not work on ppc with + # cache-block not equal to 128 bytes. This breaks memset: + # https://sourceware.org/PR26522 + # https://bugs.gentoo.org/737996 + # Use default -mcpu=. For ppc it means non-multiarch setup. + filter-flags '-mcpu=*' + ;; + sparc) + # Both sparc and sparc64 can use -fcall-used-g6. -g7 is bad, though. + filter-flags "-fcall-used-g7" + append-flags "-fcall-used-g6" + + local cpu + case ${CTARGET} in + sparc64-*) + cpu="sparc64" + case $(get-flag mcpu) in + v9) + # We need to force at least v9a because the base build doesn't + # work with just v9. + # https://sourceware.org/bugzilla/show_bug.cgi?id=19477 + append-flags "-Wa,-xarch=v9a" + ;; + esac + ;; + sparc-*) + case $(get-flag mcpu) in + v8|supersparc|hypersparc|leon|leon3) + cpu="sparcv8" + ;; + *) + cpu="sparcv9" + ;; + esac + ;; + esac + [[ -n ${cpu} ]] && CTARGET_OPT="${cpu}-${CTARGET#*-}" + ;; + esac +} + +setup_flags() { + # Make sure host make.conf doesn't pollute us + if is_crosscompile || tc-is-cross-compiler ; then + CHOST=${CTARGET} strip-unsupported-flags + fi + + # Store our CFLAGS because it's changed depending on which CTARGET + # we are building when pulling glibc on a multilib profile + CFLAGS_BASE=${CFLAGS_BASE-${CFLAGS}} + CFLAGS=${CFLAGS_BASE} + CXXFLAGS_BASE=${CXXFLAGS_BASE-${CXXFLAGS}} + CXXFLAGS=${CXXFLAGS_BASE} + ASFLAGS_BASE=${ASFLAGS_BASE-${ASFLAGS}} + ASFLAGS=${ASFLAGS_BASE} + + # Allow users to explicitly avoid flag sanitization via + # USE=custom-cflags. + if ! use custom-cflags; then + # Over-zealous CFLAGS can often cause problems. What may work for one + # person may not work for another. To avoid a large influx of bugs + # relating to failed builds, we strip most CFLAGS out to ensure as few + # problems as possible. + strip-flags + + # Allow -O2 and -O3, but nothing else for now. + # TODO: Test -Os, -Oz. + if ! is-flagq '-O@(2|3)' ; then + # Lock glibc at -O2. We want to be conservative here. + filter-flags '-O?' + append-flags -O2 + fi + fi + + strip-unsupported-flags + filter-lto + filter-flags -m32 -m64 '-mabi=*' + + # glibc aborts if rpath is set by LDFLAGS + filter-ldflags '-Wl,-rpath=*' + + # ld can't use -r & --relax at the same time, bug #788901 + # https://sourceware.org/PR27837 + filter-ldflags '-Wl,--relax' + + # Flag added for cross-prefix, but causes ldconfig to segfault. Not needed + # anyway because glibc already handles this by itself. + filter-ldflags '-Wl,--dynamic-linker=*' + + # Fails to link (bug #940709) in some cases but even if it manages to, + # subtle runtime breakage will occur because the linker scripts need + # adaptation. Mentioned in PR21557#c0. + filter-ldflags '-Wl,--gc-sections' + + # some weird software relies on sysv hashes in glibc, bug 863863, bug 864100 + # we have to do that here already so mips can filter it out again :P + if use hash-sysv-compat ; then + append-ldflags '-Wl,--hash-style=both' + fi + + # clang warns about linker flags unused during compilation, but we don't + # want that to turn into errors! + # Let's turn the warning off entirely since it spams. + append-flags -Wno-unused-command-line-argument + + # #492892 + filter-flags -frecord-gcc-switches + + # #898098 + filter-flags -fno-builtin + + # #798774 + filter-flags -fno-semantic-interposition + + # #829583 + filter-lfs-flags + + case ${CTARGET} in + *-linux*) + ;; + *-gnu) + # -g3 confuses MIG which relies on preprocessed input + replace-flags -ggdb[3-9] -ggdb2 + replace-flags -g3 -g + ;; + esac + + unset CBUILD_OPT CTARGET_OPT + if use multilib ; then + CTARGET_OPT=$(get_abi_CTARGET) + [[ -z ${CTARGET_OPT} ]] && CTARGET_OPT=$(get_abi_CHOST) + fi + + setup_target_flags + + if [[ -n ${CTARGET_OPT} && ${CBUILD} == ${CHOST} ]] && ! is_crosscompile; then + CBUILD_OPT=${CTARGET_OPT} + fi + + # glibc's headers disallow -O0 and fail at build time: + # include/libc-symbols.h:75:3: #error "glibc cannot be compiled without optimization" + # https://sourceware.org/glibc/wiki/FAQ#Why_do_I_get:.60.23error_.22glibc_cannot_be_compiled_without_optimization.22.27.2C_when_trying_to_compile_GNU_libc_with_GNU_CC.3F + replace-flags -O0 -O1 + + # Similar issues as with SSP. Can't inject yourself that early. + filter-flags '-fsanitize=*' + + # See end of bug #830454; we handle this via USE=cet + filter-flags '-fcf-protection=*' + + # When bootstrapping, we may have a situation where + # CET-enabled gcc from seed is used to build CET-disabled + # glibc. As such, gcc implicitly enables CET if no + # -fcf-protection flag is passed. For a typical package it + # should not be a problem, but for glibc it matters as it is + # dealing with CET in ld.so. So if CET is supposed to be + # disabled for glibc, be explicit about it. + if ! use cet; then + case ${ABI}-${CTARGET} in + amd64-x86_64-*|x32-x86_64-*-*-gnux32) + append-flags '-fcf-protection=none' + ;; + arm64-aarch64*) + append-flags '-mbranch-protection=none' + ;; + esac + fi +} + +use_multiarch() { + # Allow user to disable runtime arch detection in multilib. + use multiarch || return 1 + # Make sure binutils is new enough to support indirect functions, + # #336792. This funky sed supports gold and bfd linkers. + local bver nver + bver=$($(tc-getLD ${CTARGET}) -v | sed -n -r '1{s:[^0-9]*::;s:^([0-9.]*).*:\1:;p}') + case $(tc-arch ${CTARGET}) in + amd64|x86) nver="2.20" ;; + arm) nver="2.22" ;; + hppa) nver="2.23" ;; + ppc|ppc64) nver="2.20" ;; + # ifunc support was added in 2.23, but glibc also needs + # machinemode which is in 2.24. + s390) nver="2.24" ;; + sparc) nver="2.21" ;; + *) return 1 ;; + esac + ver_test ${bver} -ge ${nver} +} + +# Setup toolchain variables that had historically been defined in the +# profiles for these archs. +setup_env() { + # silly users + unset LD_RUN_PATH + unset LD_ASSUME_KERNEL + + if is_crosscompile || tc-is-cross-compiler ; then + multilib_env ${CTARGET_OPT:-${CTARGET}} + + if ! use multilib ; then + MULTILIB_ABIS=${DEFAULT_ABI} + else + MULTILIB_ABIS=${MULTILIB_ABIS:-${DEFAULT_ABI}} + fi + + # If the user has CFLAGS_ in their make.conf, use that, + # and fall back on CFLAGS. + local VAR=CFLAGS_${CTARGET//[-.]/_} + CFLAGS=${!VAR-${CFLAGS}} + einfo " $(printf '%15s' 'Manual CFLAGS:') ${CFLAGS}" + fi + + setup_flags + + export ABI=${ABI:-${DEFAULT_ABI:-default}} + + if just_headers ; then + # Avoid mixing host's CC and target's CFLAGS_${ABI}: + # At this bootstrap stage we have only binutils for + # target but not compiler yet. + einfo "Skip CC ABI injection. We can't use (cross-)compiler yet." + return 0 + fi + + # glibc does not work with non-bfd (for various reasons): + # * gold (bug #269274) + # * mold (bug #860900) + tc-ld-force-bfd + + if use doc ; then + export MAKEINFO=makeinfo + else + export MAKEINFO=/dev/null + fi + + # Reset CC and CXX to the value at start of emerge + export CC=${glibc__ORIG_CC:-${CC:-$(tc-getCC ${CTARGET})}} + export CXX=${glibc__ORIG_CXX:-${CXX:-$(tc-getCXX ${CTARGET})}} + export CPP=${glibc__ORIG_CPP:-${CPP:-$(tc-getCPP ${CTARGET})}} + + # and make sure glibc__ORIG_CC and glibc__ORIG_CXX is defined now. + export glibc__ORIG_CC=${CC} + export glibc__ORIG_CXX=${CXX} + export glibc__ORIG_CPP=${CPP} + + if tc-is-clang && ! ( use clang || use custom-cflags ) && ! is_crosscompile ; then + export glibc__force_gcc=yes + # once this is toggled on, it needs to stay on, since with CPP manipulated + # tc-is-clang does not work correctly anymore... + fi + + if [[ ${glibc__force_gcc} == "yes" ]] ; then + # If we are running in an otherwise clang/llvm environment, we need to + # recover the proper gcc and binutils settings here, at least until glibc + # is finally building with clang. So let's override everything that is + # set in the clang profiles. + # Want to shoot yourself into the foot? Set USE="clang" or USE="custom-cflags". + # Also, if you are crosscompiling, let's assume you know what you are doing. + # Hopefully. + # Last, we need the settings of the *build* environment, not of the + # target environment... + + local current_binutils_path=$(env CHOST="${CBUILD}" ROOT="${BROOT}" binutils-config -B "${CTARGET}") + local current_gcc_path=$(env ROOT="${BROOT}" gcc-config -B) + einfo "Overriding clang configuration, since it won't work here" + + export CC="${current_gcc_path}/${CTARGET}-gcc" + export CPP="${current_gcc_path}/${CTARGET}-cpp" + export CXX="${current_gcc_path}/${CTARGET}-g++" + export LD="${current_binutils_path}/ld.bfd" + export AR="${current_binutils_path}/ar" + export AS="${current_binutils_path}/as" + export NM="${current_binutils_path}/nm" + export STRIP="${current_binutils_path}/strip" + export RANLIB="${current_binutils_path}/ranlib" + export OBJCOPY="${current_binutils_path}/objcopy" + export STRINGS="${current_binutils_path}/strings" + export OBJDUMP="${current_binutils_path}/objdump" + export READELF="${current_binutils_path}/readelf" + export ADDR2LINE="${current_binutils_path}/addr2line" + + # do we need to also do flags munging here? yes! at least... + filter-flags '-fuse-ld=*' + filter-flags '-D_FORTIFY_SOURCE=*' + + else + # this is the "normal" case + + # Always use tuple-prefixed toolchain. For non-native ABI glibc's configure + # can't detect them automatically due to ${CHOST} mismatch and fallbacks + # to unprefixed tools. Similar to multilib.eclass:multilib_toolchain_setup(). + export CC="$(tc-getCC ${CTARGET})" + export CXX="$(tc-getCXX ${CTARGET})" + export CPP="$(tc-getCPP ${CTARGET})" + export NM="$(tc-getNM ${CTARGET})" + export READELF="$(tc-getREADELF ${CTARGET})" + + fi + + # We need to move CFLAGS with abi information into CC etc per glibc upstream + # requirement. Keep around the original clean value to avoid appending + # multiple ABIs on top of each other. + export glibc__GLIBC_CC=${CC} + export glibc__GLIBC_CXX=${CXX} + export glibc__GLIBC_CPP=${CPP} + + export glibc__abi_CFLAGS="$(get_abi_CFLAGS)" + + # CFLAGS can contain ABI-specific flags like -mfpu=neon, see bug #657760 + # To build .S (assembly) files with the same ABI-specific flags + # upstream currently recommends adding CFLAGS to CC/CXX: + # https://sourceware.org/PR23273 + # Note: Passing CFLAGS via CPPFLAGS overrides glibc's arch-specific CFLAGS + # and breaks multiarch support. See 659030#c3 for an example. + # The glibc configure script doesn't properly use LDFLAGS all the time. + export CC="${glibc__GLIBC_CC} ${glibc__abi_CFLAGS} ${CFLAGS} ${LDFLAGS}" + + # Some of the tests are written in C++, so we need to force our multlib abis in, bug 623548 + export CXX="${glibc__GLIBC_CXX} ${glibc__abi_CFLAGS} ${CFLAGS}" + + export CPP="${glibc__GLIBC_CPP} ${glibc__abi_CFLAGS} ${CFLAGS}" + + if is_crosscompile; then + # Assume worst-case bootstrap: glibc is built for the first time + # with ${CTARGET}-g++ not available yet. We avoid + # building auxiliary programs that require C++: bug #683074 + # It should not affect final result. + export libc_cv_cxx_link_ok=no + # The line above has the same effect. We set CXX explicitly + # to make build logs less confusing. + export CXX= + fi +} + +foreach_abi() { + setup_env + + local ret=0 + local abilist="" + if use multilib ; then + abilist=$(get_install_abis) + else + abilist=${DEFAULT_ABI} + fi + local -x ABI + for ABI in ${abilist:-default} ; do + setup_env + einfo "Running $1 for ABI ${ABI}" + $1 + : $(( ret |= $? )) + done + return ${ret} +} + +glibc_banner() { + local b="Gentoo ${PVR}" + [[ -n ${PATCH_VER} ]] && ! use vanilla && b+=" (patchset ${PATCH_VER})" + echo "${b}" +} + +# The following Kernel version handling functions are mostly copied from portage +# source. It's better not to use linux-info.eclass here since a) it adds too +# much magic, see bug 326693 for some of the arguments, and b) some of the +# functions are just not provided. + +g_get_running_KV() { + uname -r + return $? +} + +g_KV_major() { + [[ -z $1 ]] && return 1 + local KV=$@ + echo "${KV%%.*}" +} + +g_KV_minor() { + [[ -z $1 ]] && return 1 + local KV=$@ + KV=${KV#*.} + echo "${KV%%.*}" +} + +g_KV_micro() { + [[ -z $1 ]] && return 1 + local KV=$@ + KV=${KV#*.*.} + echo "${KV%%[^[:digit:]]*}" +} + +g_KV_to_int() { + [[ -z $1 ]] && return 1 + local KV_MAJOR=$(g_KV_major "$1") + local KV_MINOR=$(g_KV_minor "$1") + local KV_MICRO=$(g_KV_micro "$1") + local KV_int=$(( KV_MAJOR * 65536 + KV_MINOR * 256 + KV_MICRO )) + + # We make version 2.2.0 the minimum version we will handle as + # a sanity check ... if its less, we fail ... + if [[ ${KV_int} -ge 131584 ]] ; then + echo "${KV_int}" + return 0 + fi + return 1 +} + +g_int_to_KV() { + local version=$1 major minor micro + major=$((version / 65536)) + minor=$(((version % 65536) / 256)) + micro=$((version % 256)) + echo ${major}.${minor}.${micro} +} + +get_kheader_version() { + printf '#include \nLINUX_VERSION_CODE\n' | \ + $(tc-getCPP ${CTARGET}) -I "${ESYSROOT}$(alt_headers)" - | \ + tail -n 1 +} + +# We collect all sanity checks here. Consistency is not guranteed between +# pkg_ and src_ phases, so we call this function both in pkg_pretend and in +# src_unpack. +sanity_prechecks() { + # Prevent native builds from downgrading + if [[ ${MERGE_TYPE} != "buildonly" ]] && \ + [[ -z ${ROOT} ]] && \ + [[ ${CBUILD} == ${CHOST} ]] && \ + [[ ${CHOST} == ${CTARGET} ]] ; then + + # The high rev # is to allow people to downgrade between -r# + # versions. We want to block 2.20->2.19, but 2.20-r3->2.20-r2 + # should be fine. Hopefully we never actually use a r# this + # high. + if has_version ">${CATEGORY}/${P}-r10000" ; then + eerror "Sanity check to keep you from breaking your system:" + eerror " Downgrading glibc is not supported and a sure way to destruction." + [[ ${I_ALLOW_TO_BREAK_MY_SYSTEM} = yes ]] || die "Aborting to save your system." + fi + + if is_linux && ! do_run_test '#include \n#include \nint main(){return syscall(1000)!=-1;}\n' ; then + eerror "Your old kernel is broken. You need to update it to a newer" + eerror "version as syscall() will break. See bug 279260." + [[ ${I_ALLOW_TO_BREAK_MY_SYSTEM} = yes ]] || die "Old and broken kernel." + fi + fi + + if [[ ${CTARGET} == i386-* ]] ; then + eerror "i386 CHOSTs are no longer supported." + eerror "Chances are you don't actually want/need i386." + eerror "Please read https://www.gentoo.org/doc/en/change-chost.xml" + die "Please fix your CHOST" + fi + + if [[ -e /proc/xen ]] && [[ $(tc-arch) == "x86" ]] && ! is-flag -mno-tls-direct-seg-refs ; then + ewarn "You are using Xen but don't have -mno-tls-direct-seg-refs in your CFLAGS." + ewarn "This will result in a 50% performance penalty when running with a 32bit" + ewarn "hypervisor, which is probably not what you want." + fi + + # ABI-specific checks follow here. Hey, we have a lot more specific conditions that + # we test for... + if ! is_crosscompile && ! tc-is-cross-compiler ; then + if use amd64 && use multilib && [[ ${MERGE_TYPE} != "binary" ]] ; then + ebegin "Checking if the system can execute 32-bit binaries" + echo 'int main(){return 0;}' > "${T}/check-ia32-emulation.c" + local STAT + if ${CC-${CHOST}-gcc} ${CFLAGS_x86} "${T}/check-ia32-emulation.c" -o "${T}/check-ia32-emulation.elf32"; then + "${T}/check-ia32-emulation.elf32" + STAT=$? + else + # Don't fail here to allow single->multi ABI switch + # or recover from breakage like bug #646424 + ewarn "Failed to compile the ABI test. Broken host glibc?" + STAT=0 + fi + rm -f "${T}/check-ia32-emulation.elf32" + eend $STAT + if [[ $STAT -ne 0 ]]; then + eerror "Ensure that CONFIG_IA32_EMULATION is enabled in the kernel." + eerror "Seek support otherwise." + die "Unable to execute 32-bit binaries" + fi + fi + + fi + + # When we actually have to compile something... + if ! just_headers && [[ ${MERGE_TYPE} != "binary" ]] ; then + if [[ -d "${ESYSROOT}"/usr/lib/include ]] ; then + # bug #833620, bug #643302 + eerror "Found ${ESYSROOT}/usr/lib/include directory!" + eerror "This is known to break glibc's build." + eerror "Please backup its contents then remove the directory." + die "Found directory (${ESYSROOT}/usr/lib/include) which will break build (bug #833620)!" + fi + + if is_linux ; then + if use old-kernel ; then + MIN_KERN_VER=${MIN_KERN_VER_UPSTREAM} + else + MIN_KERN_VER=${MIN_KERN_VER_GENTOO} + fi + + local run_kv build_kv want_kv + + run_kv=$(g_get_running_KV) + build_kv=$(g_int_to_KV $(get_kheader_version)) + want_kv=${MIN_KERN_VER} + + if ! is_crosscompile && ! tc-is-cross-compiler ; then + # Building fails on an non-supporting kernel + ebegin "Checking running kernel version (${run_kv} >= ${want_kv})" + if ! [[ $(g_KV_to_int ${run_kv}) -ge $(g_KV_to_int ${want_kv}) ]] ; then + eend 1 + echo + eerror "You need a kernel of at least ${want_kv}!" + die "Kernel version too low! Maybe setting USE=old-kernel helps." + fi + eend 0 + fi + + # Do not run this check for pkg_pretend, just pkg_setup and friends (if we ever get used there). + # It's plausible (seen it in the wild) that Portage will (correctly) schedule a linux-headers + # upgrade before glibc, but because pkg_pretend gets run before any packages are merged at all (not + # just glibc), the whole emerge gets aborted without a good reason. We probably don't + # need to run this check at all given we have a dependency on the right headers, + # but let's leave it as-is for now. + if [[ ${EBUILD_PHASE_FUNC} != pkg_pretend ]] ; then + ebegin "Checking linux-headers version (${build_kv} >= ${want_kv})" + if ! [[ $(g_KV_to_int ${build_kv}) -ge $(g_KV_to_int ${want_kv}) ]] ; then + eend 1 + echo + eerror "You need linux-headers of at least ${want_kv}!" + die "linux-headers version too low!" + fi + eend 0 + fi + fi + fi +} + +upgrade_warning() { + is_crosscompile && return + + if [[ ${MERGE_TYPE} != buildonly && -n ${REPLACING_VERSIONS} && -z ${ROOT} ]]; then + if ver_replacing -lt $(ver_cut 1-2 ${PV}); then + ewarn "After upgrading glibc, please restart all running processes." + ewarn "Be sure to include init (telinit u) or systemd (systemctl daemon-reexec)." + ewarn "Alternatively, reboot your system." + ewarn "(See bug #660556, bug #741116, bug #823756, etc)" + fi + fi +} + +# +# the phases +# + +# pkg_pretend + +pkg_pretend() { + upgrade_warning +} + +# pkg_setup + +pkg_setup() { + # see bug 682570 + [[ -z ${BOOTSTRAP_RAP} ]] && python-any-r1_pkg_setup +} + +# src_unpack + +src_unpack() { + setup_env + + einfo "Checking general environment sanity." + sanity_prechecks + + use multilib-bootstrap && unpack gcc-multilib-bootstrap-${GCC_BOOTSTRAP_VER}.tar.xz + + if [[ ${PV} == *9999 ]] ; then + EGIT_REPO_URI=" + https://anongit.gentoo.org/git/proj/toolchain/glibc-patches.git + https://github.com/gentoo/glibc-patches.git + " + EGIT_CHECKOUT_DIR=${WORKDIR}/patches-git + git-r3_src_unpack + mv patches-git/9999 patches || die + EGIT_REPO_URI=" + https://sourceware.org/git/glibc.git + https://git.sr.ht/~sourceware/glibc + https://gitlab.com/x86-glibc/glibc.git + " + EGIT_CHECKOUT_DIR=${S} + [[ ${PV} == *.*.9999 ]] && EGIT_BRANCH=release/${PV%.*}/master + git-r3_src_unpack + else + if use verify-sig; then + verify-sig_verify_detached "${DISTDIR}/${P}.tar.xz" "${DISTDIR}/${P}.tar.xz.sig" + fi + unpack ${P}.tar.xz + + cd "${WORKDIR}" || die + unpack ${P}-patches-${PATCH_VER}.tar.xz + fi + + cd "${WORKDIR}" || die + use systemd && unpack glibc-systemd-${GLIBC_SYSTEMD_VER}.tar.gz +} + +# src_prepare + +src_prepare() { + local patchsetname + if ! use vanilla ; then + if [[ ${PV} == 9999* ]] ; then + patchsetname="from git master" + else + patchsetname="${PV}-${PATCH_VER}" + fi + einfo "Applying Gentoo Glibc patchset ${patchsetname}" + eapply "${WORKDIR}"/patches + einfo "Done." + + # Patches we should apply only for Hurd to be conservative + if is_hurd ; then + eapply "${FILESDIR}"/glibc-2.43-hurd-CLOCK_MONOTONIC.patch + fi + fi + + case ${CTARGET} in + m68*-aligned-*) + einfo "Applying utmp format fix for m68k with -maligned-int" + eapply "${FILESDIR}/glibc-2.41-m68k-malign.patch" + ;; + *) + ;; + esac + + default + + gnuconfig_update + + cd "${WORKDIR}" || die + find . -name configure -exec touch {} + + + # Fix permissions on some of the scripts. + chmod u+x "${S}"/scripts/*.sh + + cd "${S}" || die +} + +# src_configure + +glibc_do_configure() { + dump_build_environment + + local myconf=() + + # Use '=strong' instead of '=all' to protect only functions + # worth protecting from stack smashes. + myconf+=( --enable-stack-protector=$(usex ssp strong no) ) + + # Keep a whitelist of targets supporting IFUNC. glibc's ./configure + # is not robust enough to detect proper support: + # https://bugs.gentoo.org/641216 + # https://sourceware.org/PR22634#c0 + case $(tc-arch ${CTARGET}) in + # Keep whitelist of targets where autodetection mostly works. + amd64|x86|sparc|ppc|ppc64|arm|arm64|s390|riscv|loong) ;; + # Blacklist everywhere else + *) myconf+=( libc_cv_ld_gnu_indirect_function=no ) ;; + esac + + case ${ABI}-${CTARGET} in + amd64-x86_64-*|x32-x86_64-*-*-gnux32) myconf+=( $(use_enable cet) ) ;; + *) ;; + esac + + case ${ABI}-${CTARGET} in + amd64-x86_64-*|arm64-aarch64-*) myconf+=( $(use_enable sframe) ) ;; + *) ;; + esac + + [[ $(tc-is-softfloat) == "yes" ]] && myconf+=( --without-fp ) + + if use old-kernel ; then + MIN_KERN_VER=${MIN_KERN_VER_UPSTREAM} + else + MIN_KERN_VER=${MIN_KERN_VER_GENTOO} + fi + myconf+=( --enable-kernel=${MIN_KERN_VER} ) + + # Since SELinux support is only required for nscd, only enable it if: + # 1. USE selinux + # 2. only for the primary ABI on multilib systems + # 3. Not a crosscompile + if ! is_crosscompile && use selinux ; then + if use multilib ; then + if is_final_abi ; then + myconf+=( --with-selinux ) + else + myconf+=( --without-selinux ) + fi + else + myconf+=( --with-selinux ) + fi + else + myconf+=( --without-selinux ) + fi + + # Force a few tests where we always know the answer but + # configure is incapable of finding it. + if is_crosscompile ; then + export \ + libc_cv_c_cleanup=yes \ + libc_cv_forced_unwind=yes + fi + + myconf+=( + --disable-werror + --enable-bind-now + --enable-fortify-source + --build=${CBUILD_OPT:-${CBUILD}} + --host=${CTARGET_OPT:-${CTARGET}} + $(use_enable profile) + $(use_with gd) + --with-headers="${ESYSROOT}$(alt_headers)" + --prefix="$(host_eprefix)/usr" + --sysconfdir="$(host_eprefix)/etc" + --localstatedir="$(host_eprefix)/var" + --libdir='$(prefix)'/$(get_libdir) + --mandir='$(prefix)'/share/man + --infodir='$(prefix)'/share/info + --libexecdir='$(libdir)'/misc/glibc + --with-bugurl=https://bugs.gentoo.org/ + --with-pkgversion="$(glibc_banner)" + $(use_multiarch || echo --disable-multi-arch) + $(use_enable nscd) + + # /usr/bin/mtrace has a Perl shebang. Gentoo Prefix QA checks fail if + # Perl hasn't been installed inside the prefix yet and configure picks + # up a Perl from outside the prefix instead. configure will fail to + # execute Perl during configure if we're cross-compiling a prefix, but + # it will just disable mtrace in that case. + # Note: mtrace is needed by the test suite. + ac_cv_path_PERL="$(usex perl "${EPREFIX}"/usr/bin/perl $(usex test "${EPREFIX}"/usr/bin/perl $(usex doc "${EPREFIX}"/usr/bin/perl no)))" + + # locale data is arch-independent + # https://bugs.gentoo.org/753740 + libc_cv_complocaledir='${exec_prefix}/lib/locale' + + # On aarch64 there is no way to override -mcpu=native, and if + # the current cpu does not support SVE configure fails. + # Let's boldly assume our toolchain can always build SVE instructions. + libc_cv_aarch64_sve_asm=yes + + ${EXTRA_ECONF} + ) + + # We rely on sys-libs/timezone-data for timezone tools normally. + myconf+=( $(use_enable vanilla timezone-tools) ) + + if is_crosscompile ; then + myconf+=( --disable-systemtap ) + else + myconf+=( $(use_enable systemtap) ) + fi + + # These libs don't have configure flags. + ac_cv_lib_audit_audit_log_user_avc_message=$(usex audit || echo no) + ac_cv_lib_cap_cap_init=$(usex caps || echo no) + + # There is no configure option for this and we need to export it + # since the glibc build will re-run configure on itself + export libc_cv_rootsbindir="$(host_eprefix)/sbin" + export libc_cv_slibdir="$(host_eprefix)/$(get_libdir)" + + local builddir=$(builddir nptl) + mkdir -p "${builddir}" + cd "${builddir}" + set -- "${S}"/configure "${myconf[@]}" + echo "$@" + "$@" || die "failed to configure glibc" + + # If we're trying to migrate between ABI sets, we need + # to lie and use a local copy of gcc. Like if the system + # is built with MULTILIB_ABIS="amd64 x86" but we want to + # add x32 to it, gcc/glibc don't yet support x32. + # + if [[ -n ${GCC_BOOTSTRAP_VER} ]] && use multilib-bootstrap ; then + echo 'int main(void){}' > "${T}"/test.c || die + if ! $(tc-getCC ${CTARGET}) ${CFLAGS} ${LDFLAGS} "${T}"/test.c -Wl,-emain -lgcc 2>/dev/null ; then + sed -i -e '/^CC = /s:$: -B$(objdir)/../'"gcc-multilib-bootstrap-${GCC_BOOTSTRAP_VER}/${ABI}:" config.make || die + fi + fi +} + +glibc_headers_configure() { + export ABI=default + + local builddir=$(builddir "headers") + mkdir -p "${builddir}" + cd "${builddir}" + + # if we don't have a compiler yet, we can't really test it now ... + # hopefully they don't affect header generation, so let's hope for + # the best here ... + local v vars=( + ac_cv_header_cpuid_h=yes + libc_cv_{386,390,alpha,arm,hppa,mips,{powerpc,sparc}{,32,64},sh,x86_64}_tls=yes + libc_cv_asm_cfi_directives=yes + libc_cv_broken_visibility_attribute=no + libc_cv_c_cleanup=yes + libc_cv_compiler_powerpc64le_binary128_ok=yes + libc_cv_forced_unwind=yes + libc_cv_gcc___thread=yes + libc_cv_mlong_double_128=yes + libc_cv_mlong_double_128ibm=yes + libc_cv_ppc_machine=yes + libc_cv_ppc_rel16=yes + libc_cv_predef_fortify_source=no + libc_cv_target_power8_ok=yes + libc_cv_visibility_attribute=yes + libc_cv_z_combreloc=yes + libc_cv_z_execstack=yes + libc_cv_z_initfirst=yes + libc_cv_z_nodelete=yes + libc_cv_z_nodlopen=yes + libc_cv_z_relro=yes + libc_mips_abi=${ABI} + libc_mips_float=$([[ $(tc-is-softfloat) == "yes" ]] && echo soft || echo hard) + # These libs don't have configure flags. + ac_cv_lib_audit_audit_log_user_avc_message=no + ac_cv_lib_cap_cap_init=no + ) + + einfo "Forcing cached settings:" + for v in "${vars[@]}" ; do + einfo " ${v}" + export ${v} + done + + local headers_only_arch_CPPFLAGS=() + + # Blow away some random CC settings that screw things up. #550192 + if [[ -d ${S}/sysdeps/mips ]]; then + pushd "${S}"/sysdeps/mips >/dev/null + sed -i -e '/^CC +=/s:=.*:= -D_MIPS_SZPTR=32:' mips32/Makefile mips64/n32/Makefile || die + sed -i -e '/^CC +=/s:=.*:= -D_MIPS_SZPTR=64:' mips64/n64/Makefile || die + + # Force the mips ABI to the default. This is OK because the set of + # installed headers in this phase is the same between the 3 ABIs. + # If this ever changes, this hack will break, but that's unlikely + # as glibc discourages that behavior. + # https://crbug.com/647033 + sed -i -e 's:abiflag=.*:abiflag=_ABIO32:' preconfigure || die + + popd >/dev/null + fi + + local myconf=() + + case ${CTARGET} in + aarch64*) + # The configure checks fail during cross-build, so disable here + # for headers-only + myconf+=( + --disable-mathvec + ) ;; + riscv*) + # RISC-V interrogates the compiler to determine which target to + # build. If building the headers then we don't strictly need a + # RISC-V compiler, so the built-in definitions that are provided + # along with all RISC-V compiler might not exist. This causes + # glibc's RISC-V preconfigure script to blow up. Since we're just + # building the headers any value will actually work here, so just + # pick the standard one (rv64g/lp64d) to make the build scripts + # happy for now -- the headers are all the same anyway so it + # doesn't matter. + headers_only_arch_CPPFLAGS+=( + -D__riscv_xlen=64 + -D__riscv_flen=64 + -D__riscv_float_abi_double=1 + -D__riscv_atomic=1 + ) ;; + esac + + myconf+=( + --disable-sanity-checks + --enable-hacker-mode + --disable-werror + --enable-bind-now + --build=${CBUILD_OPT:-${CBUILD}} + --host=${CTARGET_OPT:-${CTARGET}} + --with-headers="${ESYSROOT}$(alt_headers)" + --prefix="$(host_eprefix)/usr" + ${EXTRA_ECONF} + ) + + # Nothing is compiled here which would affect the headers for the target. + # So forcing CC/CFLAGS is sane. + local headers_only_CC=$(tc-getBUILD_CC) + local headers_only_CFLAGS="-O1 -pipe" + local headers_only_CPPFLAGS="-U_FORTIFY_SOURCE ${headers_only_arch_CPPFLAGS[*]}" + local headers_only_LDFLAGS="" + set -- "${S}"/configure "${myconf[@]}" + echo \ + "CC=${headers_only_CC}" \ + "CFLAGS=${headers_only_CFLAGS}" \ + "CPPFLAGS=${headers_only_CPPFLAGS}" \ + "LDFLAGS=${headers_only_LDFLAGS}" \ + "$@" + CC=${headers_only_CC} \ + CFLAGS=${headers_only_CFLAGS} \ + CPPFLAGS=${headers_only_CPPFLAGS} \ + LDFLAGS="" \ + "$@" || die "failed to configure glibc" +} + +do_src_configure() { + if just_headers ; then + glibc_headers_configure + else + glibc_do_configure nptl + fi +} + +src_configure() { + foreach_abi do_src_configure +} + +# src_compile + +do_src_compile() { + emake -C "$(builddir nptl)" +} + +src_compile() { + if just_headers ; then + return + fi + + foreach_abi do_src_compile +} + +# src_test + +glibc_src_test() { + cd "$(builddir nptl)" + + local myxfailparams="" + if [[ "${GENTOO_GLIBC_XFAIL_TESTS}" == "yes" ]] ; then + local virt=$(systemd-detect-virt 2>/dev/null) + if [[ ${virt} == systemd-nspawn ]] ; then + ewarn "Skipping extra tests because in systemd-nspawn container" + XFAIL_TEST_LIST+=( "${XFAIL_NSPAWN_TEST_LIST[@]}" ) + fi + if [[ "$(nice)" == "19" ]] ; then + # Expects to be able to increase niceness, which it can't do if + # already at the highest nice value + XFAIL_TEST_LIST+=( "tst-nice" ) + fi + + for myt in ${XFAIL_TEST_LIST[@]} ; do + myxfailparams+="test-xfail-${myt}=yes " + done + fi + + # https://inbox.sourceware.org/libc-alpha/lhuikb5ibey.fsf@oldenburg.str.redhat.com/ + local -x GAWK_GNU_MATCHERS=1 + + # sandbox does not understand unshare() and prevents + # writes to /proc/, which makes many tests fail + + # we give the tests a bit more time to avoid spurious + # bug reports on slow arches + + SANDBOX_ON=0 LD_PRELOAD= TIMEOUTFACTOR=16 nonfatal emake ${myxfailparams} check +} + +src_test() { + if just_headers ; then + return + fi + + # glibc_src_test uses nonfatal so that we can run tests for all ABIs + # and fail at the end instead. + foreach_abi glibc_src_test || die "tests failed" +} + +# src_install + +run_locale_gen() { + local fatal=$1 prefix=$2 + local user_config action config stderr noun ret + local -a hasversion_opts localegen_args + + if [[ ${EBUILD_PHASE_FUNC} == src_install ]]; then + hasversion_opts=( -b ) + fi + + if has_version "${hasversion_opts[@]}" '>=sys-apps/locale-gen-3'; then + localegen_args=( --prefix "${prefix}" ) + else + config="${prefix}/usr/share/i18n/SUPPORTED" + user_config="${prefix}/etc/locale.gen" + if [[ ${EBUILD_PHASE_FUNC} == src_install ]]; then + # For USE=compile-locales, all locales should be built. + mkdir -p -- "${prefix}/usr/lib/locale" || die + elif locale-gen --list --config "${user_config}" | read -r; then + config=${user_config} + fi + localegen_args=( --config "${config}" --destdir "${prefix}" ) + fi + + # bug 736794: we need to be careful with the parallelization... the + # number of processors saved in the environment of a binary package may + # differ strongly from the number of processes available during postinst + if [[ ${EMERGE_FROM} != binary ]]; then + localegen_args+=( --jobs "$(get_makeopts_jobs)" ) + fi + + printf 'Executing: locale-gen %s\n' "${localegen_args[*]@Q}" >&2 + { stderr=$(locale-gen "${localegen_args[@]}" 2>&1 >&3); } 3>&1 + ret=$? + action="ewarn" + if (( ret == 0 )); then + noun="warning" + else + noun="error" + if (( fatal )); then + action="die" + fi + fi + # Convey warnings/errors so that they can be reseen upon emerge exiting. + if [[ ${stderr} ]]; then + ewarn "locale-gen(8) issued the following ${noun}s:" + while read -r; do + ewarn "$REPLY" + done <<<"${stderr}" + fi + if (( ret != 0 )); then + "${action}" "locale-gen(8) unexpectedly failed during the ${EBUILD_PHASE_FUNC} phase" + fi +} + +glibc_do_src_install() { + local builddir=$(builddir nptl) + cd "${builddir}" + + emake install_root="${D}/$(build_eprefix)$(alt_prefix)" install + + # This version (2.26) provides some compatibility libraries for the NIS/NIS+ support + # which come without headers etc. Only needed for binary packages since the + # external net-libs/libnsl has increased soversion. Keep only versioned libraries. + find "${D}" -name "libnsl.a" -delete + find "${D}" -name "libnsl.so" -delete + + # Normally upstream_pv is ${PV}. Live ebuilds are exception, there we need + # to infer upstream version: + # '#define VERSION "2.26.90"' -> '2.26.90' + local upstream_pv=$(sed -n -r 's/#define VERSION "(.*)"/\1/p' "${S}"/version.h) + + # Avoid stripping binaries not targeted by ${CHOST}. Or else + # ${CHOST}-strip would break binaries build for ${CTARGET}. + is_crosscompile && dostrip -x / + + # gdb thread introspection relies on local libpthreads symbols. stripping breaks it + # See Note [Disable automatic stripping] + dostrip -x $(alt_libdir)/libpthread-${upstream_pv}.so + # valgrind requires knowledge about ld.so symbols. + dostrip -x $(alt_libdir)/ld-*.so* + + if [[ -e ${ED}/$(alt_usrlibdir)/libm-${upstream_pv}.a ]] ; then + # Move versioned .a file out of libdir to evade portage QA checks + # instead of using gen_usr_ldscript(). We fix ldscript as: + # "GROUP ( /usr/lib64/libm-.a ..." -> "GROUP ( /usr/lib64/glibc-/libm-.a ..." + sed -i "s@\(libm-${upstream_pv}.a\)@${P}/\1@" \ + "${ED}"/$(alt_usrlibdir)/libm.a || die + dodir $(alt_usrlibdir)/${P} + mv "${ED}"/$(alt_usrlibdir)/libm-${upstream_pv}.a \ + "${ED}"/$(alt_usrlibdir)/${P}/libm-${upstream_pv}.a || die + fi + + # We configure toolchains for standalone prefix systems with a sysroot, + # which is prepended to paths in ld scripts, so strip the prefix from these. + # Before: GROUP ( /foo/lib64/libc.so.6 /foo/usr/lib64/libc_nonshared.a AS_NEEDED ( /foo/lib64/ld-linux-x86-64.so.2 ) ) + # After: GROUP ( /lib64/libc.so.6 /usr/lib64/libc_nonshared.a AS_NEEDED ( /lib64/ld-linux-x86-64.so.2 ) ) + if [[ -n $(host_eprefix) ]] ; then + local file + grep -lZIF "ld script" "${ED}/$(alt_usrlibdir)"/lib*.{a,so} 2>/dev/null | while read -rd '' file ; do + sed -i "s|$(host_eprefix)/|/|g" "${file}" || die + done + fi + + # We'll take care of the cache ourselves + rm -f "${ED}"/etc/ld.so.cache + + # Everything past this point just needs to be done once ... + is_final_abi || return 0 + + # Make sure the non-native interp can be found on multilib systems even + # if the main library set isn't installed into the right place. Maybe + # we should query the active gcc for info instead of hardcoding it ? + local i ldso_abi ldso_name + if is_linux ; then + local ldso_abi_list=( + # x86 + amd64 /lib64/ld-linux-x86-64.so.2 + x32 /libx32/ld-linux-x32.so.2 + x86 /lib/ld-linux.so.2 + # mips + o32 /lib/ld.so.1 + n32 /lib32/ld.so.1 + n64 /lib64/ld.so.1 + # powerpc + ppc /lib/ld.so.1 + # riscv + ilp32d /lib/ld-linux-riscv32-ilp32d.so.1 + ilp32 /lib/ld-linux-riscv32-ilp32.so.1 + lp64d /lib/ld-linux-riscv64-lp64d.so.1 + lp64 /lib/ld-linux-riscv64-lp64.so.1 + # s390 + s390 /lib/ld.so.1 + s390x /lib/ld64.so.1 + # sparc + sparc32 /lib/ld-linux.so.2 + sparc64 /lib64/ld-linux.so.2 + ) + case $(tc-endian) in + little) + ldso_abi_list+=( + # arm + arm64 /lib/ld-linux-aarch64.so.1 + # ELFv2 (glibc does not support ELFv1 on LE) + ppc64 /lib64/ld64.so.2 + ) + ;; + big) + ldso_abi_list+=( + # arm + arm64 /lib/ld-linux-aarch64_be.so.1 + # ELFv1 (glibc does not support ELFv2 on BE) + ppc64 /lib64/ld64.so.1 + ) + ;; + esac + else + # we must be using hurd then + local ldso_abi_list=( + # x86 + amd64 /lib64/ld-x86-64.so.1 + x86 /lib/ld.so.1 + ) + fi + if [[ ${SYMLINK_LIB} == "yes" ]] && [[ ! -e ${ED}/$(alt_prefix)/lib ]] ; then + dosym $(get_abi_LIBDIR ${DEFAULT_ABI}) $(alt_prefix)/lib + fi + for (( i = 0; i < ${#ldso_abi_list[@]}; i += 2 )) ; do + ldso_abi=${ldso_abi_list[i]} + has ${ldso_abi} $(get_install_abis) || continue + + ldso_name="$(alt_prefix)${ldso_abi_list[i+1]}" + if [[ ! -L ${ED}/${ldso_name} && ! -e ${ED}/${ldso_name} ]] ; then + dosym ../$(get_abi_LIBDIR ${ldso_abi})/${ldso_name##*/} ${ldso_name} + fi + done + + if is_linux ; then + # In the LSB 5.0 definition, someone had the excellent idea to "standardize" + # the runtime loader name, see also https://xkcd.com/927/ + # Normally, in Gentoo one should never come across executables that require this. + # However, binary commercial packages are known to adhere to weird practices. + # https://refspecs.linuxfoundation.org/LSB_5.0.0/LSB-Core-AMD64/LSB-Core-AMD64.html#BASELIB + local lsb_ldso_name native_ldso_name lsb_ldso_abi + local lsb_ldso_abi_list=( + # x86 + amd64 ld-linux-x86-64.so.2 ld-lsb-x86-64.so.3 + ) + for (( i = 0; i < ${#lsb_ldso_abi_list[@]}; i += 3 )) ; do + lsb_ldso_abi=${lsb_ldso_abi_list[i]} + native_ldso_name=${lsb_ldso_abi_list[i+1]} + lsb_ldso_name=${lsb_ldso_abi_list[i+2]} + has ${lsb_ldso_abi} $(get_install_abis) || continue + + if [[ ! -L ${ED}/$(get_abi_LIBDIR ${lsb_ldso_abi})/${lsb_ldso_name} && ! -e ${ED}/$(get_abi_LIBDIR ${lsb_ldso_abi})/${lsb_ldso_name} ]] ; then + dosym ${native_ldso_name} "$(alt_prefix)/$(get_abi_LIBDIR ${lsb_ldso_abi})/${lsb_ldso_name}" + fi + done + fi + + # On Hurd, glibc and (unpatched) gcc tend to disagree about the proper location for + # the dynamic loader. Which is maximally stupid since this one information is hardcoded + # into every single binary, and even if we were to fix *our* gcc it could still prevent + # us from running binaries prepared anywhere else... + + if is_hurd && has amd64 $(get_install_abis) ; then + # First, let's check for sanity + if [[ -f "${D}/$(alt_prefix)/lib/ld-x86-64.so.1" ]] ; then + die "Somehow your amd64 hurd glibc installed /lib/ld-x86-64.so.1 ... this should not happen." + fi + + # Then make a compatibility symlink. + dosym ../lib64/ld-x86-64.so.1 "$(alt_prefix)/lib/ld-x86-64.so.1" + fi + + if is_hurd && has x86 $(get_install_abis) ; then + # First, let's check for sanity + if [[ -f "${D}/$(alt_prefix)/$(get_abi_LIBDIR x86)/ld.so" ]] ; then + die "Somehow your x86 hurd glibc installed ld.so ... this should not happen." + fi + + # Then make a compatibility symlink. + dosym ld.so.1 "$(alt_prefix)/$(get_abi_LIBDIR x86)/ld.so" + fi + + # With devpts under Linux mounted properly, we do not need the pt_chown + # binary to be setuid. This is because the default owners/perms will be + # exactly what we want. + if ! use suid ; then + find "${ED}" -name pt_chown -exec chmod -s {} + + fi + + ################################################################# + # EVERYTHING AFTER THIS POINT IS FOR NATIVE GLIBC INSTALLS ONLY # + ################################################################# + + # Make sure we install some symlink hacks so that when we build + # a 2nd stage cross-compiler, gcc finds the target system + # headers correctly. See gcc/doc/gccinstall.info + if is_crosscompile ; then + # We need to make sure that /lib and /usr/lib always exists. + # gcc likes to use relative paths to get to its multilibs like + # /usr/lib/../lib64/. So while we don't install any files into + # /usr/lib/, we do need it to exist. + keepdir $(alt_prefix)/lib + keepdir $(alt_prefix)/usr/lib + + dosym usr/include $(alt_prefix)/sys-include + return 0 + fi + + # Files for Debian-style locale updating + dodir /usr/share/i18n + sed \ + -e "/^#/d" \ + -e "/SUPPORTED-LOCALES=/d" \ + -e "s: \\\\::g" -e "s:/: :g" \ + "${S}"/localedata/SUPPORTED > "${ED}"/usr/share/i18n/SUPPORTED \ + || die "generating /usr/share/i18n/SUPPORTED failed" + + cd "${S}" || die + + # Install misc network config files + insinto /etc + doins posix/gai.conf + + if use systemd ; then + doins "${WORKDIR}/glibc-systemd-${GLIBC_SYSTEMD_VER}/gentoo-config/nsswitch.conf" + else + doins nss/nsswitch.conf + fi + + # Gentoo-specific + newins "${FILESDIR}"/host.conf-1 host.conf + + if use nscd ; then + doins nscd/nscd.conf + + newinitd "$(prefixify_ro "${FILESDIR}"/nscd-1)" nscd + + local nscd_args=( + -e "s:@PIDFILE@:$(strings "${ED}"/usr/sbin/nscd | grep nscd.pid):" + ) + + sed -i "${nscd_args[@]}" "${ED}"/etc/init.d/nscd + + use systemd && systemd_dounit nscd/nscd.service + newtmpfiles nscd/nscd.tmpfiles nscd.conf + fi + + echo 'LDPATH="include ld.so.conf.d/*.conf"' > "${T}"/00glibc + doenvd "${T}"/00glibc + + for d in BUGS ChangeLog CONFORMANCE FAQ NEWS NOTES PROJECTS README* ; do + [[ -s ${d} ]] && dodoc ${d} + done + dodoc -r ChangeLog.old + + # Prevent overwriting of the /etc/localtime symlink. We'll handle the + # creation of the "factory" symlink in pkg_postinst(). + rm -f "${ED}"/etc/localtime + + # Generate all locales if this is a native build as locale generation + if use compile-locales && ! is_crosscompile; then + run_locale_gen 1 "${ED}" + fi +} + +glibc_headers_install() { + local builddir=$(builddir "headers") + cd "${builddir}" + emake install_root="${D}/$(build_eprefix)$(alt_prefix)" install-headers + + insinto $(alt_headers)/gnu + doins "${S}"/include/gnu/stubs.h + + # Make sure we install the sys-include symlink so that when + # we build a 2nd stage cross-compiler, gcc finds the target + # system headers correctly. See gcc/doc/gccinstall.info + dosym usr/include $(alt_prefix)/sys-include +} + +src_install() { + if just_headers ; then + export ABI=default + glibc_headers_install + return + fi + + foreach_abi glibc_do_src_install + + if ! use static-libs ; then + einfo "Not installing static glibc libraries" + find "${ED}" -name "*.a" -and -not -name "*_nonshared.a" -delete + fi +} + +# Simple test to make sure our new glibc isn't completely broken. +# Make sure we don't test with statically built binaries since +# they will fail. Also, skip if this glibc is a cross compiler. +# +# If coreutils is built with USE=multicall, some of these files +# will just be wrapper scripts, not actual ELFs we can test. +glibc_sanity_check() { + cd / #228809 + + # We enter ${ED} so to avoid trouble if the path contains + # special characters; for instance if the path contains the + # colon character (:), then the linker will try to split it + # and look for the libraries in an unexpected place. This can + # lead to unsafe code execution if the generated prefix is + # within a world-writable directory. + # (e.g. /var/tmp/portage:${HOSTNAME}) + pushd "${ED}"/$(get_libdir) >/dev/null + + # first let's find the actual dynamic linker here + # symlinks may point to the wrong abi + local newldso=$(find . -maxdepth 1 -name 'ld*so.?' -type f -print -quit) + + einfo Last-minute run tests with ${newldso} in /$(get_libdir) ... + + local x striptest + for x in cal date env free ls true uname uptime ; do + x=$(type -p ${x}) + [[ -z ${x} || ${x} != ${EPREFIX}/* ]] && continue + striptest=$(LC_ALL="C" file -L ${x} 2>/dev/null) || continue + case ${striptest} in + *"statically linked"*) continue;; + *"ASCII text"*) continue;; + esac + # We need to clear the locale settings as the upgrade might want + # incompatible locale data. This test is not for verifying that. + LC_ALL=C \ + ${newldso} --library-path . ${x} > /dev/null \ + || die "simple run test (${x}) failed" + done + + popd >/dev/null +} + +pkg_preinst() { + # nothing to do if just installing headers + just_headers && return + + einfo "Checking general environment sanity." + sanity_prechecks + + # prepare /etc/ld.so.conf.d/ for files + mkdir -p "${EROOT}"/etc/ld.so.conf.d + + # Default /etc/hosts.conf:multi to on for systems with small dbs. + if [[ $(wc -l < "${EROOT}"/etc/hosts) -lt 1000 ]] ; then + sed -i '/^multi off/s:off:on:' "${ED}"/etc/host.conf + einfo "Defaulting /etc/host.conf:multi to on" + fi + + [[ -n ${ROOT} ]] && return 0 + [[ -d ${ED}/$(get_libdir) ]] || return 0 + [[ -z ${BOOTSTRAP_RAP} ]] && glibc_sanity_check + + if [[ -L ${EROOT}/usr/lib/locale ]]; then + # Help portage migrate this to a directory + # https://bugs.gentoo.org/753740 + rm "${EROOT}"/usr/lib/locale || die + fi + + # Keep around libcrypt so that Perl doesn't break when merging libxcrypt + # (libxcrypt is the new provider for now of libcrypt.so.{1,2}). + # bug #802207 + if has_version "${CATEGORY}/${PN}[crypt]" && ! has preserve-libs ${FEATURES}; then + PRESERVED_OLD_LIBCRYPT=1 + cp -p "${EROOT}/$(get_libdir)/libcrypt$(get_libname 1)" \ + "${T}/libcrypt$(get_libname 1)" || die + else + PRESERVED_OLD_LIBCRYPT=0 + fi +} + +glibc_refresh_ldconfig() { + if [[ ${MERGE_TYPE} == buildonly ]]; then + return + fi + + # Version check could be added to avoid unnecessary work, but ldconfig + # should finish quickly enough to not matter. + ebegin "Refreshing ld.so.cache" + ldconfig -i + if ! eend $?; then + ewarn "Failed to refresh the ld.so.cache for you. Some programs may be broken" + ewarn "before you manually do so (ldconfig -i)." + fi +} + +pkg_postinst() { + # nothing to do if just installing headers + just_headers && return + + if ! tc-is-cross-compiler && [[ -x ${EROOT}/usr/sbin/iconvconfig ]] ; then + # Generate fastloading iconv module configuration file. + "${EROOT}"/usr/sbin/iconvconfig --prefix="${ROOT}/" + fi + + if ! is_crosscompile && [[ -z ${ROOT} ]] ; then + # glibc-2.38+ on loong has ldconfig support added, but the ELF e_flags + # handling has changed as well, which means stale ldconfig auxiliary + # cache entries and failure to lookup libgcc_s / libstdc++ (breaking + # every C++ application) / libgomp etc., among other breakages. + # + # To fix this, simply refresh the ld.so.cache without using the + # auxiliary cache if we're natively installing on loong. This should + # be done relatively soon because we want to minimize the breakage + # window for the affected programs. + use loong && glibc_refresh_ldconfig + + if ! use compile-locales; then + run_locale_gen 0 "${EROOT}" + fi + + # If fixincludes was/is active for a particular GCC slot, we + # must refresh it. See bug #933282 and GCC's documentation: + # https://gcc.gnu.org/onlinedocs/gcc/Fixed-Headers.html + # + # TODO: Could this be done for cross? Some care would be needed + # to pass the right arguments. + while IFS= read -r -d $'\0' slot ; do + local mkheaders_path="${BROOT}"/usr/libexec/gcc/${CBUILD}/${slot##*/}/install-tools/mkheaders + local pthread_h="${BROOT}"/usr/lib/gcc/${CBUILD}/${slot##*/}/include-fixed/pthread.h + if [[ -x ${mkheaders_path} ]] ; then + ebegin "Refreshing fixincludes for ${CBUILD} with gcc-${slot##*/}" + ${mkheaders_path} -v + eend $? + elif [[ -f ${pthread_h} ]] ; then + # fixincludes might have been enabled in the past for this + # GCC slot but not since we fixed toolchain.eclass to install + # mkheaders, so we need to manually delete pthread.h at least. + ebegin "Deleting stale fixincludes'd pthread.h for ${CBUILD} with gcc-${slot##*/}" + mv -v "${pthread_h}" "${pthread_h}.bak" + eend $? + fi + done < <(find "${BROOT}"/usr/libexec/gcc/${CBUILD}/ -mindepth 1 -maxdepth 1 -type d -print0) + fi + + upgrade_warning + + # Check for sanity of /etc/nsswitch.conf, take 2 + if [[ -e ${EROOT}/etc/nsswitch.conf ]] && ! has_version sys-auth/libnss-nis ; then + local entry + for entry in passwd group shadow; do + if grep -E -q "^[ \t]*${entry}:.*nis" "${EROOT}"/etc/nsswitch.conf; then + ewarn "" + ewarn "Your ${EROOT}/etc/nsswitch.conf uses NIS. Support for that has been" + ewarn "removed from glibc and is now provided by the package" + ewarn " sys-auth/libnss-nis" + ewarn "Install it now to keep your NIS setup working." + ewarn "" + fi + done + fi + + if [[ ${PRESERVED_OLD_LIBCRYPT} -eq 1 ]] ; then + cp -p "${T}/libcrypt$(get_libname 1)" "${EROOT}/$(get_libdir)/libcrypt$(get_libname 1)" || die + preserve_old_lib_notify /$(get_libdir)/libcrypt$(get_libname 1) + + elog "Please ignore a possible later error message about a file collision involving" + elog "${EROOT}/$(get_libdir)/libcrypt$(get_libname 1). We need to preserve this file for the moment to keep" + elog "the upgrade working, but it also needs to be overwritten when" + elog "sys-libs/libxcrypt is installed. See bug 802210 for more details." + fi +} diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/glibc/glibc-2.44.ebuild b/sdk_container/src/third_party/portage-stable/sys-libs/glibc/glibc-2.44.ebuild new file mode 100644 index 00000000000..5f5dcfee385 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-libs/glibc/glibc-2.44.ebuild @@ -0,0 +1,1934 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# Bumping notes: https://wiki.gentoo.org/wiki/Project:Toolchain/sys-libs/glibc +# Please read & adapt the page as necessary if obsolete. + +PYTHON_COMPAT=( python3_{11..14} ) +TMPFILES_OPTIONAL=1 + +EMULTILIB_PKG="true" + +# Gentoo patchset (ignored for live ebuilds) +PATCH_VER=1 + +# gcc mulitilib bootstrap files version +GCC_BOOTSTRAP_VER=20201208 + +# systemd integration version +GLIBC_SYSTEMD_VER=20210729 + +# Minimum kernel version that glibc requires (used with USE=old-kernel) +MIN_KERN_VER_UPSTREAM="3.2.0" + +# Minimum kernel version that Gentoo recommends (oldest in the tree) +MIN_KERN_VER_GENTOO="6.1.0" + +# Minimum pax-utils version needed (which contains any new syscall changes for +# its seccomp filter!). Please double check this! +MIN_PAX_UTILS_VER="1.3.3" + +# Minimum systemd version needed (which contains any new syscall changes for +# its seccomp filter!). Please double check this! +MIN_SYSTEMD_VER="254.9-r1" + +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/glibc.asc + +inherit python-any-r1 prefix preserve-libs toolchain-funcs flag-o-matic gnuconfig \ + multilib systemd multiprocessing tmpfiles eapi9-ver verify-sig + +DESCRIPTION="GNU libc C library" +HOMEPAGE="https://www.gnu.org/software/libc/" + +if [[ ${PV} == *9999 ]]; then + inherit git-r3 +else + #KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + SRC_URI="mirror://gnu/glibc/${P}.tar.xz" + SRC_URI+=" https://distfiles.gentoo.org/pub/proj/toolchain/glibc/patches/${P}-patches-${PATCH_VER}.tar.xz" + SRC_URI+=" verify-sig? ( mirror://gnu/glibc/${P}.tar.xz.sig )" +fi + +SRC_URI+=" multilib-bootstrap? ( https://dev.gentoo.org/~dilfridge/distfiles/gcc-multilib-bootstrap-${GCC_BOOTSTRAP_VER}.tar.xz )" +SRC_URI+=" systemd? ( https://gitweb.gentoo.org/proj/toolchain/glibc-systemd.git/snapshot/glibc-systemd-${GLIBC_SYSTEMD_VER}.tar.gz )" + +LICENSE="LGPL-2.1+ BSD HPND ISC inner-net rc PCRE" +SLOT="2.2" +IUSE="audit caps cet clang compile-locales custom-cflags doc gd hash-sysv-compat headers-only +multiarch multilib multilib-bootstrap nscd old-kernel perl profile selinux sframe +ssp stack-realign +static-libs suid systemd systemtap test vanilla" + +# Here's how the cross-compile logic breaks down ... +# CTARGET - machine that will target the binaries +# CHOST - machine that will host the binaries +# CBUILD - machine that will build the binaries +# If CTARGET != CHOST, it means you want a libc for cross-compiling. +# If CHOST != CBUILD, it means you want to cross-compile the libc. +# CBUILD = CHOST = CTARGET - native build/install +# CBUILD != (CHOST = CTARGET) - cross-compile a native build +# (CBUILD = CHOST) != CTARGET - libc for cross-compiler +# CBUILD != CHOST != CTARGET - cross-compile a libc for a cross-compiler +# For install paths: +# CHOST = CTARGET - install into / +# CHOST != CTARGET - install into /usr/CTARGET/ +# +export CBUILD=${CBUILD:-${CHOST}} +export CTARGET=${CTARGET:-${CHOST}} +if [[ ${CTARGET} == ${CHOST} ]] ; then + if [[ ${CATEGORY} == cross-* ]] ; then + export CTARGET=${CATEGORY#cross-} + fi +fi + +# Note [Disable automatic stripping] +# Disabling automatic stripping for a few reasons: +# - portage's attempt to strip breaks non-native binaries at least on +# arm: bug #697428 +# - portage's attempt to strip libpthread.so.0 breaks gdb thread +# enumeration: bug #697910. This is quite subtle: +# * gdb uses glibc's libthread_db-1.0.so to enumerate threads. +# * libthread_db-1.0.so needs access to libpthread.so.0 local symbols +# via 'ps_pglobal_lookup' symbol defined in gdb. +# * 'ps_pglobal_lookup' uses '.symtab' section table to resolve all +# known symbols in 'libpthread.so.0'. Specifically 'nptl_version' +# (unexported) is used to sanity check compatibility before enabling +# debugging. +# Also see https://sourceware.org/gdb/wiki/FAQ#GDB_does_not_see_any_threads_besides_the_one_in_which_crash_occurred.3B_or_SIGTRAP_kills_my_program_when_I_set_a_breakpoint +# * normal 'strip' command trims '.symtab' +# Thus our main goal here is to prevent 'libpthread.so.0' from +# losing it's '.symtab' entries. +# - similarly, valgrind requires knowledge about symbols in ld.so: +# bug #920753 +# As Gentoo's strip does not allow us to pass less aggressive stripping +# options and does not check the machine target we strip selectively. + +# We need a new-enough binutils/gcc to match upstream baseline. +# Also we need to make sure our binutils/gcc supports TLS, +# and that gcc already contains the hardened patches. +# Lastly, let's avoid some openssh nastiness, bug 708224, as +# convenience to our users. + +IDEPEND=" + !compile-locales? ( sys-apps/locale-gen ) +" +BDEPEND=" + ${PYTHON_DEPS} + >=app-misc/pax-utils-${MIN_PAX_UTILS_VER} + sys-devel/bison + compile-locales? ( sys-apps/locale-gen ) + doc? ( + dev-lang/perl + sys-apps/texinfo + ) + sframe? ( >=sys-devel/binutils-2.45 ) + test? ( + dev-lang/perl + >=net-dns/libidn2-2.3.0 + sys-apps/gawk[mpfr] + ) + verify-sig? ( sec-keys/openpgp-keys-glibc ) +" +COMMON_DEPEND=" + gd? ( media-libs/gd:2= ) + nscd? ( selinux? ( + audit? ( sys-process/audit ) + caps? ( sys-libs/libcap ) + ) ) + suid? ( caps? ( sys-libs/libcap ) ) + selinux? ( sys-libs/libselinux ) + systemtap? ( dev-debug/systemtap ) +" +DEPEND="${COMMON_DEPEND} +" +RDEPEND="${COMMON_DEPEND} + !/dev/null + + rm -f glibc-test* + printf '%b' "$*" > glibc-test.c + + # We assume CC is already set up. + nonfatal emake glibc-test + ret=$? + + popd >/dev/null + + CFLAGS=${save_cflags} + return ${ret} +} + +do_run_test() { + local ret + + if [[ ${MERGE_TYPE} == "binary" ]] ; then + # ignore build failures when installing a binary package #324685 + CC="${glibc__ORIG_CC}" CXX="${glibc__ORIG_CXX}" CPP="${glibc__ORIG_CPP}" \ + CFLAGS="-O2" LDFLAGS="" do_compile_test "" "$@" 2>/dev/null || return 0 + else + ebegin "Performing simple compile test for ABI=${ABI}" + if ! do_compile_test "" "$@" ; then + ewarn "Simple build failed ... assuming this is desired #324685" + eend 1 + return 0 + else + eend 0 + fi + fi + + pushd "${T}" >/dev/null + + ./glibc-test + ret=$? + rm -f glibc-test* + + popd >/dev/null + + return ${ret} +} + +setup_target_flags() { + # This largely mucks with compiler flags. None of which should matter + # when building up just the headers. + just_headers && return 0 + + case $(tc-arch) in + alpha) + # glibc selects its hand-written assembly mem*/str* routines by the + # host triplet's machine prefix (sysdeps/alpha/preconfigure does + # machine=alpha/$machine), NOT by the -mcpu codegen flag. With the + # bare alpha-*-* CHOST only the generic C is built. Map -mcpu to the + # most specific sysdeps/alpha/alphaev* dir that exists (Implies chain + # alphaev67 -> alphaev6 -> alphaev5) so the tuned asm is selected. + local cpu + case $(get-flag mcpu) in + 21264a|ev67) cpu="alphaev67" ;; + 21264|ev6) cpu="alphaev6" ;; + 21164*|ev5|ev56|pca56) cpu="alphaev5" ;; + esac + [[ -n ${cpu} ]] && CTARGET_OPT="${cpu}-${CTARGET#*-}" + ;; + x86) + # -march needed for #185404 #199334 + # TODO: When creating the first glibc cross-compile, this test will + # always fail as it does a full link which in turn requires glibc. + # Probably also applies when changing multilib profile settings (e.g. + # enabling x86 when the profile was amd64-only previously). + # We could change main to _start and pass -nostdlib here so that we + # only test the gcc code compilation. Or we could do a compile and + # then look for the symbol via scanelf. + if ! do_compile_test "" 'void f(int i, void *p) {if (__sync_fetch_and_add(&i, 1)) f(i, p);}\nint main(){return 0;}\n'; then + local t=${CTARGET_OPT:-${CTARGET}} + t=${t%%-*} + filter-flags '-march=*' + export CFLAGS="-march=${t} ${CFLAGS}" + einfo "Auto adding -march=${t} to CFLAGS #185404" + fi + # For compatibility with older binaries at slight performance cost. + use stack-realign && export CFLAGS+=" -mstackrealign" + ;; + amd64) + # -march needed for #185404 #199334 + # TODO: See cross-compile issues listed above for x86. + if [[ ${ABI} == x86 ]]; then + if ! do_compile_test "${CFLAGS_x86}" 'void f(int i, void *p) {if (__sync_fetch_and_add(&i, 1)) f(i, p);}\nint main(){return 0;}\n'; then + local t=${CTARGET_OPT:-${CTARGET}} + t=${t%%-*} + # Normally the target is x86_64-xxx, so turn that into the -march that + # gcc actually accepts. #528708 + [[ ${t} == "x86_64" ]] && t="x86-64" + filter-flags '-march=*' + # ugly, ugly, ugly. ugly. + CFLAGS_x86=$( + CFLAGS=${CFLAGS_x86} + filter-flags '-march=*' + is-flagq '-mfpmath=sse' && append-cflags -msse + echo "${CFLAGS}" + ) + export CFLAGS_x86="${CFLAGS_x86} -march=${t}" + einfo "Auto adding -march=${t} to CFLAGS_x86 #185404 (ABI=${ABI})" + fi + # For compatibility with older binaries at slight performance cost. + use stack-realign && export CFLAGS_x86+=" -mstackrealign" + fi + + if is_hurd ; then + # doesnt build with -march=native and probably other values, debugging required + filter-flags '-march=*' + fi + ;; + mips) + # The mips abi cannot support the GNU style hashes. #233233 + filter-ldflags -Wl,--hash-style=gnu -Wl,--hash-style=both + ;; + ppc|ppc64) + # Many arch-specific implementations do not work on ppc with + # cache-block not equal to 128 bytes. This breaks memset: + # https://sourceware.org/PR26522 + # https://bugs.gentoo.org/737996 + # Use default -mcpu=. For ppc it means non-multiarch setup. + filter-flags '-mcpu=*' + ;; + sparc) + # Both sparc and sparc64 can use -fcall-used-g6. -g7 is bad, though. + filter-flags "-fcall-used-g7" + append-flags "-fcall-used-g6" + + local cpu + case ${CTARGET} in + sparc64-*) + cpu="sparc64" + case $(get-flag mcpu) in + v9) + # We need to force at least v9a because the base build doesn't + # work with just v9. + # https://sourceware.org/bugzilla/show_bug.cgi?id=19477 + append-flags "-Wa,-xarch=v9a" + ;; + esac + ;; + sparc-*) + case $(get-flag mcpu) in + v8|supersparc|hypersparc|leon|leon3) + cpu="sparcv8" + ;; + *) + cpu="sparcv9" + ;; + esac + ;; + esac + [[ -n ${cpu} ]] && CTARGET_OPT="${cpu}-${CTARGET#*-}" + ;; + esac +} + +setup_flags() { + # Make sure host make.conf doesn't pollute us + if is_crosscompile || tc-is-cross-compiler ; then + CHOST=${CTARGET} strip-unsupported-flags + fi + + # Store our CFLAGS because it's changed depending on which CTARGET + # we are building when pulling glibc on a multilib profile + CFLAGS_BASE=${CFLAGS_BASE-${CFLAGS}} + CFLAGS=${CFLAGS_BASE} + CXXFLAGS_BASE=${CXXFLAGS_BASE-${CXXFLAGS}} + CXXFLAGS=${CXXFLAGS_BASE} + ASFLAGS_BASE=${ASFLAGS_BASE-${ASFLAGS}} + ASFLAGS=${ASFLAGS_BASE} + + # Allow users to explicitly avoid flag sanitization via + # USE=custom-cflags. + if ! use custom-cflags; then + # Over-zealous CFLAGS can often cause problems. What may work for one + # person may not work for another. To avoid a large influx of bugs + # relating to failed builds, we strip most CFLAGS out to ensure as few + # problems as possible. + strip-flags + + # Allow -O2 and -O3, but nothing else for now. + # TODO: Test -Os, -Oz. + if ! is-flagq '-O@(2|3)' ; then + # Lock glibc at -O2. We want to be conservative here. + filter-flags '-O?' + append-flags -O2 + fi + fi + + strip-unsupported-flags + filter-lto + filter-flags -m32 -m64 '-mabi=*' + + # glibc aborts if rpath is set by LDFLAGS + filter-ldflags '-Wl,-rpath=*' + + # ld can't use -r & --relax at the same time, bug #788901 + # https://sourceware.org/PR27837 + filter-ldflags '-Wl,--relax' + + # Flag added for cross-prefix, but causes ldconfig to segfault. Not needed + # anyway because glibc already handles this by itself. + filter-ldflags '-Wl,--dynamic-linker=*' + + # Fails to link (bug #940709) in some cases but even if it manages to, + # subtle runtime breakage will occur because the linker scripts need + # adaptation. Mentioned in PR21557#c0. + filter-ldflags '-Wl,--gc-sections' + + # some weird software relies on sysv hashes in glibc, bug 863863, bug 864100 + # we have to do that here already so mips can filter it out again :P + if use hash-sysv-compat ; then + append-ldflags '-Wl,--hash-style=both' + fi + + # clang warns about linker flags unused during compilation, but we don't + # want that to turn into errors! + # Let's turn the warning off entirely since it spams. + append-flags -Wno-unused-command-line-argument + + # #492892 + filter-flags -frecord-gcc-switches + + # #898098 + filter-flags -fno-builtin + + # #798774 + filter-flags -fno-semantic-interposition + + # #829583 + filter-lfs-flags + + case ${CTARGET} in + *-linux*) + ;; + *-gnu) + # -g3 confuses MIG which relies on preprocessed input + replace-flags -ggdb[3-9] -ggdb2 + replace-flags -g3 -g + ;; + esac + + unset CBUILD_OPT CTARGET_OPT + if use multilib ; then + CTARGET_OPT=$(get_abi_CTARGET) + [[ -z ${CTARGET_OPT} ]] && CTARGET_OPT=$(get_abi_CHOST) + fi + + setup_target_flags + + if [[ -n ${CTARGET_OPT} && ${CBUILD} == ${CHOST} ]] && ! is_crosscompile; then + CBUILD_OPT=${CTARGET_OPT} + fi + + # glibc's headers disallow -O0 and fail at build time: + # include/libc-symbols.h:75:3: #error "glibc cannot be compiled without optimization" + # https://sourceware.org/glibc/wiki/FAQ#Why_do_I_get:.60.23error_.22glibc_cannot_be_compiled_without_optimization.22.27.2C_when_trying_to_compile_GNU_libc_with_GNU_CC.3F + replace-flags -O0 -O1 + + # Similar issues as with SSP. Can't inject yourself that early. + filter-flags '-fsanitize=*' + + # See end of bug #830454; we handle this via USE=cet + filter-flags '-fcf-protection=*' + + # When bootstrapping, we may have a situation where + # CET-enabled gcc from seed is used to build CET-disabled + # glibc. As such, gcc implicitly enables CET if no + # -fcf-protection flag is passed. For a typical package it + # should not be a problem, but for glibc it matters as it is + # dealing with CET in ld.so. So if CET is supposed to be + # disabled for glibc, be explicit about it. + if ! use cet; then + case ${ABI}-${CTARGET} in + amd64-x86_64-*|x32-x86_64-*-*-gnux32) + append-flags '-fcf-protection=none' + ;; + arm64-aarch64*) + append-flags '-mbranch-protection=none' + ;; + esac + fi +} + +use_multiarch() { + # Allow user to disable runtime arch detection in multilib. + use multiarch || return 1 + # Make sure binutils is new enough to support indirect functions, + # #336792. This funky sed supports gold and bfd linkers. + local bver nver + bver=$($(tc-getLD ${CTARGET}) -v | sed -n -r '1{s:[^0-9]*::;s:^([0-9.]*).*:\1:;p}') + case $(tc-arch ${CTARGET}) in + amd64|x86) nver="2.20" ;; + arm) nver="2.22" ;; + hppa) nver="2.23" ;; + ppc|ppc64) nver="2.20" ;; + # ifunc support was added in 2.23, but glibc also needs + # machinemode which is in 2.24. + s390) nver="2.24" ;; + sparc) nver="2.21" ;; + *) return 1 ;; + esac + ver_test ${bver} -ge ${nver} +} + +# Setup toolchain variables that had historically been defined in the +# profiles for these archs. +setup_env() { + # silly users + unset LD_RUN_PATH + unset LD_ASSUME_KERNEL + + if is_crosscompile || tc-is-cross-compiler ; then + multilib_env ${CTARGET_OPT:-${CTARGET}} + + if ! use multilib ; then + MULTILIB_ABIS=${DEFAULT_ABI} + else + MULTILIB_ABIS=${MULTILIB_ABIS:-${DEFAULT_ABI}} + fi + + # If the user has CFLAGS_ in their make.conf, use that, + # and fall back on CFLAGS. + local VAR=CFLAGS_${CTARGET//[-.]/_} + CFLAGS=${!VAR-${CFLAGS}} + einfo " $(printf '%15s' 'Manual CFLAGS:') ${CFLAGS}" + fi + + setup_flags + + export ABI=${ABI:-${DEFAULT_ABI:-default}} + + if just_headers ; then + # Avoid mixing host's CC and target's CFLAGS_${ABI}: + # At this bootstrap stage we have only binutils for + # target but not compiler yet. + einfo "Skip CC ABI injection. We can't use (cross-)compiler yet." + return 0 + fi + + # glibc does not work with non-bfd (for various reasons): + # * gold (bug #269274) + # * mold (bug #860900) + tc-ld-force-bfd + + if use doc ; then + export MAKEINFO=makeinfo + else + export MAKEINFO=/dev/null + fi + + # Reset CC and CXX to the value at start of emerge + export CC=${glibc__ORIG_CC:-${CC:-$(tc-getCC ${CTARGET})}} + export CXX=${glibc__ORIG_CXX:-${CXX:-$(tc-getCXX ${CTARGET})}} + export CPP=${glibc__ORIG_CPP:-${CPP:-$(tc-getCPP ${CTARGET})}} + + # and make sure glibc__ORIG_CC and glibc__ORIG_CXX is defined now. + export glibc__ORIG_CC=${CC} + export glibc__ORIG_CXX=${CXX} + export glibc__ORIG_CPP=${CPP} + + if tc-is-clang && ! ( use clang || use custom-cflags ) && ! is_crosscompile ; then + export glibc__force_gcc=yes + # once this is toggled on, it needs to stay on, since with CPP manipulated + # tc-is-clang does not work correctly anymore... + fi + + if [[ ${glibc__force_gcc} == "yes" ]] ; then + # If we are running in an otherwise clang/llvm environment, we need to + # recover the proper gcc and binutils settings here, at least until glibc + # is finally building with clang. So let's override everything that is + # set in the clang profiles. + # Want to shoot yourself into the foot? Set USE="clang" or USE="custom-cflags". + # Also, if you are crosscompiling, let's assume you know what you are doing. + # Hopefully. + # Last, we need the settings of the *build* environment, not of the + # target environment... + + local current_binutils_path=$(env CHOST="${CBUILD}" ROOT="${BROOT}" binutils-config -B "${CTARGET}") + local current_gcc_path=$(env ROOT="${BROOT}" gcc-config -B) + einfo "Overriding clang configuration, since it won't work here" + + export CC="${current_gcc_path}/${CTARGET}-gcc" + export CPP="${current_gcc_path}/${CTARGET}-cpp" + export CXX="${current_gcc_path}/${CTARGET}-g++" + export LD="${current_binutils_path}/ld.bfd" + export AR="${current_binutils_path}/ar" + export AS="${current_binutils_path}/as" + export NM="${current_binutils_path}/nm" + export STRIP="${current_binutils_path}/strip" + export RANLIB="${current_binutils_path}/ranlib" + export OBJCOPY="${current_binutils_path}/objcopy" + export STRINGS="${current_binutils_path}/strings" + export OBJDUMP="${current_binutils_path}/objdump" + export READELF="${current_binutils_path}/readelf" + export ADDR2LINE="${current_binutils_path}/addr2line" + + # do we need to also do flags munging here? yes! at least... + filter-flags '-fuse-ld=*' + filter-flags '-D_FORTIFY_SOURCE=*' + + else + # this is the "normal" case + + # Always use tuple-prefixed toolchain. For non-native ABI glibc's configure + # can't detect them automatically due to ${CHOST} mismatch and fallbacks + # to unprefixed tools. Similar to multilib.eclass:multilib_toolchain_setup(). + export CC="$(tc-getCC ${CTARGET})" + export CXX="$(tc-getCXX ${CTARGET})" + export CPP="$(tc-getCPP ${CTARGET})" + export NM="$(tc-getNM ${CTARGET})" + export READELF="$(tc-getREADELF ${CTARGET})" + + fi + + # We need to move CFLAGS with abi information into CC etc per glibc upstream + # requirement. Keep around the original clean value to avoid appending + # multiple ABIs on top of each other. + export glibc__GLIBC_CC=${CC} + export glibc__GLIBC_CXX=${CXX} + export glibc__GLIBC_CPP=${CPP} + + export glibc__abi_CFLAGS="$(get_abi_CFLAGS)" + + # CFLAGS can contain ABI-specific flags like -mfpu=neon, see bug #657760 + # To build .S (assembly) files with the same ABI-specific flags + # upstream currently recommends adding CFLAGS to CC/CXX: + # https://sourceware.org/PR23273 + # Note: Passing CFLAGS via CPPFLAGS overrides glibc's arch-specific CFLAGS + # and breaks multiarch support. See 659030#c3 for an example. + # The glibc configure script doesn't properly use LDFLAGS all the time. + export CC="${glibc__GLIBC_CC} ${glibc__abi_CFLAGS} ${CFLAGS} ${LDFLAGS}" + + # Some of the tests are written in C++, so we need to force our multlib abis in, bug 623548 + export CXX="${glibc__GLIBC_CXX} ${glibc__abi_CFLAGS} ${CFLAGS}" + + export CPP="${glibc__GLIBC_CPP} ${glibc__abi_CFLAGS} ${CFLAGS}" + + if is_crosscompile; then + # Assume worst-case bootstrap: glibc is built for the first time + # with ${CTARGET}-g++ not available yet. We avoid + # building auxiliary programs that require C++: bug #683074 + # It should not affect final result. + export libc_cv_cxx_link_ok=no + # The line above has the same effect. We set CXX explicitly + # to make build logs less confusing. + export CXX= + fi +} + +foreach_abi() { + setup_env + + local ret=0 + local abilist="" + if use multilib ; then + abilist=$(get_install_abis) + else + abilist=${DEFAULT_ABI} + fi + local -x ABI + for ABI in ${abilist:-default} ; do + setup_env + einfo "Running $1 for ABI ${ABI}" + $1 + : $(( ret |= $? )) + done + return ${ret} +} + +glibc_banner() { + local b="Gentoo ${PVR}" + [[ -n ${PATCH_VER} ]] && ! use vanilla && b+=" (patchset ${PATCH_VER})" + echo "${b}" +} + +# The following Kernel version handling functions are mostly copied from portage +# source. It's better not to use linux-info.eclass here since a) it adds too +# much magic, see bug 326693 for some of the arguments, and b) some of the +# functions are just not provided. + +g_get_running_KV() { + uname -r + return $? +} + +g_KV_major() { + [[ -z $1 ]] && return 1 + local KV=$@ + echo "${KV%%.*}" +} + +g_KV_minor() { + [[ -z $1 ]] && return 1 + local KV=$@ + KV=${KV#*.} + echo "${KV%%.*}" +} + +g_KV_micro() { + [[ -z $1 ]] && return 1 + local KV=$@ + KV=${KV#*.*.} + echo "${KV%%[^[:digit:]]*}" +} + +g_KV_to_int() { + [[ -z $1 ]] && return 1 + local KV_MAJOR=$(g_KV_major "$1") + local KV_MINOR=$(g_KV_minor "$1") + local KV_MICRO=$(g_KV_micro "$1") + local KV_int=$(( KV_MAJOR * 65536 + KV_MINOR * 256 + KV_MICRO )) + + # We make version 2.2.0 the minimum version we will handle as + # a sanity check ... if its less, we fail ... + if [[ ${KV_int} -ge 131584 ]] ; then + echo "${KV_int}" + return 0 + fi + return 1 +} + +g_int_to_KV() { + local version=$1 major minor micro + major=$((version / 65536)) + minor=$(((version % 65536) / 256)) + micro=$((version % 256)) + echo ${major}.${minor}.${micro} +} + +get_kheader_version() { + printf '#include \nLINUX_VERSION_CODE\n' | \ + $(tc-getCPP ${CTARGET}) -I "${ESYSROOT}$(alt_headers)" - | \ + tail -n 1 +} + +# We collect all sanity checks here. Consistency is not guranteed between +# pkg_ and src_ phases, so we call this function both in pkg_pretend and in +# src_unpack. +sanity_prechecks() { + # Prevent native builds from downgrading + if [[ ${MERGE_TYPE} != "buildonly" ]] && \ + [[ -z ${ROOT} ]] && \ + [[ ${CBUILD} == ${CHOST} ]] && \ + [[ ${CHOST} == ${CTARGET} ]] ; then + + # The high rev # is to allow people to downgrade between -r# + # versions. We want to block 2.20->2.19, but 2.20-r3->2.20-r2 + # should be fine. Hopefully we never actually use a r# this + # high. + if has_version ">${CATEGORY}/${P}-r10000" ; then + eerror "Sanity check to keep you from breaking your system:" + eerror " Downgrading glibc is not supported and a sure way to destruction." + [[ ${I_ALLOW_TO_BREAK_MY_SYSTEM} = yes ]] || die "Aborting to save your system." + fi + + if is_linux && ! do_run_test '#include \n#include \nint main(){return syscall(1000)!=-1;}\n' ; then + eerror "Your old kernel is broken. You need to update it to a newer" + eerror "version as syscall() will break. See bug 279260." + [[ ${I_ALLOW_TO_BREAK_MY_SYSTEM} = yes ]] || die "Old and broken kernel." + fi + fi + + if [[ ${CTARGET} == i386-* ]] ; then + eerror "i386 CHOSTs are no longer supported." + eerror "Chances are you don't actually want/need i386." + eerror "Please read https://www.gentoo.org/doc/en/change-chost.xml" + die "Please fix your CHOST" + fi + + if [[ -e /proc/xen ]] && [[ $(tc-arch) == "x86" ]] && ! is-flag -mno-tls-direct-seg-refs ; then + ewarn "You are using Xen but don't have -mno-tls-direct-seg-refs in your CFLAGS." + ewarn "This will result in a 50% performance penalty when running with a 32bit" + ewarn "hypervisor, which is probably not what you want." + fi + + # ABI-specific checks follow here. Hey, we have a lot more specific conditions that + # we test for... + if ! is_crosscompile && ! tc-is-cross-compiler ; then + if use amd64 && use multilib && [[ ${MERGE_TYPE} != "binary" ]] ; then + ebegin "Checking if the system can execute 32-bit binaries" + echo 'int main(){return 0;}' > "${T}/check-ia32-emulation.c" + local STAT + if ${CC-${CHOST}-gcc} ${CFLAGS_x86} "${T}/check-ia32-emulation.c" -o "${T}/check-ia32-emulation.elf32"; then + "${T}/check-ia32-emulation.elf32" + STAT=$? + else + # Don't fail here to allow single->multi ABI switch + # or recover from breakage like bug #646424 + ewarn "Failed to compile the ABI test. Broken host glibc?" + STAT=0 + fi + rm -f "${T}/check-ia32-emulation.elf32" + eend $STAT + if [[ $STAT -ne 0 ]]; then + eerror "Ensure that CONFIG_IA32_EMULATION is enabled in the kernel." + eerror "Seek support otherwise." + die "Unable to execute 32-bit binaries" + fi + fi + + fi + + # When we actually have to compile something... + if ! just_headers && [[ ${MERGE_TYPE} != "binary" ]] ; then + if [[ -d "${ESYSROOT}"/usr/lib/include ]] ; then + # bug #833620, bug #643302 + eerror "Found ${ESYSROOT}/usr/lib/include directory!" + eerror "This is known to break glibc's build." + eerror "Please backup its contents then remove the directory." + die "Found directory (${ESYSROOT}/usr/lib/include) which will break build (bug #833620)!" + fi + + if is_linux ; then + if use old-kernel ; then + MIN_KERN_VER=${MIN_KERN_VER_UPSTREAM} + else + MIN_KERN_VER=${MIN_KERN_VER_GENTOO} + fi + + local run_kv build_kv want_kv + + run_kv=$(g_get_running_KV) + build_kv=$(g_int_to_KV $(get_kheader_version)) + want_kv=${MIN_KERN_VER} + + if ! is_crosscompile && ! tc-is-cross-compiler ; then + # Building fails on an non-supporting kernel + ebegin "Checking running kernel version (${run_kv} >= ${want_kv})" + if ! [[ $(g_KV_to_int ${run_kv}) -ge $(g_KV_to_int ${want_kv}) ]] ; then + eend 1 + echo + eerror "You need a kernel of at least ${want_kv}!" + die "Kernel version too low! Maybe setting USE=old-kernel helps." + fi + eend 0 + fi + + # Do not run this check for pkg_pretend, just pkg_setup and friends (if we ever get used there). + # It's plausible (seen it in the wild) that Portage will (correctly) schedule a linux-headers + # upgrade before glibc, but because pkg_pretend gets run before any packages are merged at all (not + # just glibc), the whole emerge gets aborted without a good reason. We probably don't + # need to run this check at all given we have a dependency on the right headers, + # but let's leave it as-is for now. + if [[ ${EBUILD_PHASE_FUNC} != pkg_pretend ]] ; then + ebegin "Checking linux-headers version (${build_kv} >= ${want_kv})" + if ! [[ $(g_KV_to_int ${build_kv}) -ge $(g_KV_to_int ${want_kv}) ]] ; then + eend 1 + echo + eerror "You need linux-headers of at least ${want_kv}!" + die "linux-headers version too low!" + fi + eend 0 + fi + fi + fi +} + +upgrade_warning() { + is_crosscompile && return + + if [[ ${MERGE_TYPE} != buildonly && -n ${REPLACING_VERSIONS} && -z ${ROOT} ]]; then + if ver_replacing -lt $(ver_cut 1-2 ${PV}); then + ewarn "After upgrading glibc, please restart all running processes." + ewarn "Be sure to include init (telinit u) or systemd (systemctl daemon-reexec)." + ewarn "Alternatively, reboot your system." + ewarn "(See bug #660556, bug #741116, bug #823756, etc)" + fi + fi +} + +# +# the phases +# + +# pkg_pretend + +pkg_pretend() { + upgrade_warning +} + +# pkg_setup + +pkg_setup() { + # see bug 682570 + [[ -z ${BOOTSTRAP_RAP} ]] && python-any-r1_pkg_setup +} + +# src_unpack + +src_unpack() { + setup_env + + einfo "Checking general environment sanity." + sanity_prechecks + + use multilib-bootstrap && unpack gcc-multilib-bootstrap-${GCC_BOOTSTRAP_VER}.tar.xz + + if [[ ${PV} == *9999 ]] ; then + EGIT_REPO_URI=" + https://anongit.gentoo.org/git/proj/toolchain/glibc-patches.git + https://github.com/gentoo/glibc-patches.git + " + EGIT_CHECKOUT_DIR=${WORKDIR}/patches-git + git-r3_src_unpack + mv patches-git/9999 patches || die + EGIT_REPO_URI=" + https://sourceware.org/git/glibc.git + https://git.sr.ht/~sourceware/glibc + https://gitlab.com/x86-glibc/glibc.git + " + EGIT_CHECKOUT_DIR=${S} + [[ ${PV} == *.*.9999 ]] && EGIT_BRANCH=release/${PV%.*}/master + git-r3_src_unpack + else + if use verify-sig; then + verify-sig_verify_detached "${DISTDIR}/${P}.tar.xz" "${DISTDIR}/${P}.tar.xz.sig" + fi + unpack ${P}.tar.xz + + cd "${WORKDIR}" || die + unpack ${P}-patches-${PATCH_VER}.tar.xz + fi + + cd "${WORKDIR}" || die + use systemd && unpack glibc-systemd-${GLIBC_SYSTEMD_VER}.tar.gz +} + +# src_prepare + +src_prepare() { + local patchsetname + if ! use vanilla ; then + if [[ ${PV} == 9999* ]] ; then + patchsetname="from git master" + else + patchsetname="${PV}-${PATCH_VER}" + fi + einfo "Applying Gentoo Glibc patchset ${patchsetname}" + eapply "${WORKDIR}"/patches + einfo "Done." + + # Patches we should apply only for Hurd to be conservative + if is_hurd ; then + eapply "${FILESDIR}"/glibc-2.43-hurd-CLOCK_MONOTONIC.patch + fi + fi + + case ${CTARGET} in + m68*-aligned-*) + einfo "Applying utmp format fix for m68k with -maligned-int" + eapply "${FILESDIR}/glibc-2.41-m68k-malign.patch" + ;; + *) + ;; + esac + + default + + gnuconfig_update + + cd "${WORKDIR}" || die + find . -name configure -exec touch {} + + + # Fix permissions on some of the scripts. + chmod u+x "${S}"/scripts/*.sh + + cd "${S}" || die +} + +# src_configure + +glibc_do_configure() { + dump_build_environment + + local myconf=() + + # Use '=strong' instead of '=all' to protect only functions + # worth protecting from stack smashes. + myconf+=( --enable-stack-protector=$(usex ssp strong no) ) + + # Keep a whitelist of targets supporting IFUNC. glibc's ./configure + # is not robust enough to detect proper support: + # https://bugs.gentoo.org/641216 + # https://sourceware.org/PR22634#c0 + case $(tc-arch ${CTARGET}) in + # Keep whitelist of targets where autodetection mostly works. + amd64|x86|sparc|ppc|ppc64|arm|arm64|s390|riscv|loong) ;; + # Blacklist everywhere else + *) myconf+=( libc_cv_ld_gnu_indirect_function=no ) ;; + esac + + case ${ABI}-${CTARGET} in + amd64-x86_64-*|x32-x86_64-*-*-gnux32) myconf+=( $(use_enable cet) ) ;; + *) ;; + esac + + case ${ABI}-${CTARGET} in + amd64-x86_64-*|arm64-aarch64-*) myconf+=( $(use_enable sframe) ) ;; + *) ;; + esac + + [[ $(tc-is-softfloat) == "yes" ]] && myconf+=( --without-fp ) + + if use old-kernel ; then + MIN_KERN_VER=${MIN_KERN_VER_UPSTREAM} + else + MIN_KERN_VER=${MIN_KERN_VER_GENTOO} + fi + myconf+=( --enable-kernel=${MIN_KERN_VER} ) + + # Since SELinux support is only required for nscd, only enable it if: + # 1. USE selinux + # 2. only for the primary ABI on multilib systems + # 3. Not a crosscompile + if ! is_crosscompile && use selinux ; then + if use multilib ; then + if is_final_abi ; then + myconf+=( --with-selinux ) + else + myconf+=( --without-selinux ) + fi + else + myconf+=( --with-selinux ) + fi + else + myconf+=( --without-selinux ) + fi + + # Force a few tests where we always know the answer but + # configure is incapable of finding it. + if is_crosscompile ; then + export \ + libc_cv_c_cleanup=yes \ + libc_cv_forced_unwind=yes + fi + + myconf+=( + --disable-werror + --enable-bind-now + --enable-fortify-source + --build=${CBUILD_OPT:-${CBUILD}} + --host=${CTARGET_OPT:-${CTARGET}} + $(use_enable profile) + $(use_with gd) + --with-headers="${ESYSROOT}$(alt_headers)" + --prefix="$(host_eprefix)/usr" + --sysconfdir="$(host_eprefix)/etc" + --localstatedir="$(host_eprefix)/var" + --libdir='$(prefix)'/$(get_libdir) + --mandir='$(prefix)'/share/man + --infodir='$(prefix)'/share/info + --libexecdir='$(libdir)'/misc/glibc + --with-bugurl=https://bugs.gentoo.org/ + --with-pkgversion="$(glibc_banner)" + $(use_multiarch || echo --disable-multi-arch) + $(use_enable nscd) + + # /usr/bin/mtrace has a Perl shebang. Gentoo Prefix QA checks fail if + # Perl hasn't been installed inside the prefix yet and configure picks + # up a Perl from outside the prefix instead. configure will fail to + # execute Perl during configure if we're cross-compiling a prefix, but + # it will just disable mtrace in that case. + # Note: mtrace is needed by the test suite. + ac_cv_path_PERL="$(usex perl "${EPREFIX}"/usr/bin/perl $(usex test "${EPREFIX}"/usr/bin/perl $(usex doc "${EPREFIX}"/usr/bin/perl no)))" + + # locale data is arch-independent + # https://bugs.gentoo.org/753740 + libc_cv_complocaledir='${exec_prefix}/lib/locale' + + # On aarch64 there is no way to override -mcpu=native, and if + # the current cpu does not support SVE configure fails. + # Let's boldly assume our toolchain can always build SVE instructions. + libc_cv_aarch64_sve_asm=yes + + ${EXTRA_ECONF} + ) + + # We rely on sys-libs/timezone-data for timezone tools normally. + myconf+=( $(use_enable vanilla timezone-tools) ) + + if is_crosscompile ; then + myconf+=( --disable-systemtap ) + else + myconf+=( $(use_enable systemtap) ) + fi + + # These libs don't have configure flags. + ac_cv_lib_audit_audit_log_user_avc_message=$(usex audit || echo no) + ac_cv_lib_cap_cap_init=$(usex caps || echo no) + + # There is no configure option for this and we need to export it + # since the glibc build will re-run configure on itself + export libc_cv_rootsbindir="$(host_eprefix)/sbin" + export libc_cv_slibdir="$(host_eprefix)/$(get_libdir)" + + local builddir=$(builddir nptl) + mkdir -p "${builddir}" + cd "${builddir}" + set -- "${S}"/configure "${myconf[@]}" + echo "$@" + "$@" || die "failed to configure glibc" + + # If we're trying to migrate between ABI sets, we need + # to lie and use a local copy of gcc. Like if the system + # is built with MULTILIB_ABIS="amd64 x86" but we want to + # add x32 to it, gcc/glibc don't yet support x32. + # + if [[ -n ${GCC_BOOTSTRAP_VER} ]] && use multilib-bootstrap ; then + echo 'int main(void){}' > "${T}"/test.c || die + if ! $(tc-getCC ${CTARGET}) ${CFLAGS} ${LDFLAGS} "${T}"/test.c -Wl,-emain -lgcc 2>/dev/null ; then + sed -i -e '/^CC = /s:$: -B$(objdir)/../'"gcc-multilib-bootstrap-${GCC_BOOTSTRAP_VER}/${ABI}:" config.make || die + fi + fi +} + +glibc_headers_configure() { + export ABI=default + + local builddir=$(builddir "headers") + mkdir -p "${builddir}" + cd "${builddir}" + + # if we don't have a compiler yet, we can't really test it now ... + # hopefully they don't affect header generation, so let's hope for + # the best here ... + local v vars=( + ac_cv_header_cpuid_h=yes + libc_cv_{386,390,alpha,arm,hppa,mips,{powerpc,sparc}{,32,64},sh,x86_64}_tls=yes + libc_cv_asm_cfi_directives=yes + libc_cv_broken_visibility_attribute=no + libc_cv_c_cleanup=yes + libc_cv_compiler_powerpc64le_binary128_ok=yes + libc_cv_forced_unwind=yes + libc_cv_gcc___thread=yes + libc_cv_mlong_double_128=yes + libc_cv_mlong_double_128ibm=yes + libc_cv_ppc_machine=yes + libc_cv_ppc_rel16=yes + libc_cv_predef_fortify_source=no + libc_cv_target_power8_ok=yes + libc_cv_visibility_attribute=yes + libc_cv_z_combreloc=yes + libc_cv_z_execstack=yes + libc_cv_z_initfirst=yes + libc_cv_z_nodelete=yes + libc_cv_z_nodlopen=yes + libc_cv_z_relro=yes + libc_mips_abi=${ABI} + libc_mips_float=$([[ $(tc-is-softfloat) == "yes" ]] && echo soft || echo hard) + # These libs don't have configure flags. + ac_cv_lib_audit_audit_log_user_avc_message=no + ac_cv_lib_cap_cap_init=no + ) + + einfo "Forcing cached settings:" + for v in "${vars[@]}" ; do + einfo " ${v}" + export ${v} + done + + local headers_only_arch_CPPFLAGS=() + + # Blow away some random CC settings that screw things up. #550192 + if [[ -d ${S}/sysdeps/mips ]]; then + pushd "${S}"/sysdeps/mips >/dev/null + sed -i -e '/^CC +=/s:=.*:= -D_MIPS_SZPTR=32:' mips32/Makefile mips64/n32/Makefile || die + sed -i -e '/^CC +=/s:=.*:= -D_MIPS_SZPTR=64:' mips64/n64/Makefile || die + + # Force the mips ABI to the default. This is OK because the set of + # installed headers in this phase is the same between the 3 ABIs. + # If this ever changes, this hack will break, but that's unlikely + # as glibc discourages that behavior. + # https://crbug.com/647033 + sed -i -e 's:abiflag=.*:abiflag=_ABIO32:' preconfigure || die + + popd >/dev/null + fi + + local myconf=() + + case ${CTARGET} in + aarch64*) + # The configure checks fail during cross-build, so disable here + # for headers-only + myconf+=( + --disable-mathvec + ) ;; + riscv*) + # RISC-V interrogates the compiler to determine which target to + # build. If building the headers then we don't strictly need a + # RISC-V compiler, so the built-in definitions that are provided + # along with all RISC-V compiler might not exist. This causes + # glibc's RISC-V preconfigure script to blow up. Since we're just + # building the headers any value will actually work here, so just + # pick the standard one (rv64g/lp64d) to make the build scripts + # happy for now -- the headers are all the same anyway so it + # doesn't matter. + headers_only_arch_CPPFLAGS+=( + -D__riscv_xlen=64 + -D__riscv_flen=64 + -D__riscv_float_abi_double=1 + -D__riscv_atomic=1 + ) ;; + esac + + myconf+=( + --disable-sanity-checks + --enable-hacker-mode + --disable-werror + --enable-bind-now + --build=${CBUILD_OPT:-${CBUILD}} + --host=${CTARGET_OPT:-${CTARGET}} + --with-headers="${ESYSROOT}$(alt_headers)" + --prefix="$(host_eprefix)/usr" + ${EXTRA_ECONF} + ) + + # Nothing is compiled here which would affect the headers for the target. + # So forcing CC/CFLAGS is sane. + local headers_only_CC=$(tc-getBUILD_CC) + local headers_only_CFLAGS="-O1 -pipe" + local headers_only_CPPFLAGS="-U_FORTIFY_SOURCE ${headers_only_arch_CPPFLAGS[*]}" + local headers_only_LDFLAGS="" + set -- "${S}"/configure "${myconf[@]}" + echo \ + "CC=${headers_only_CC}" \ + "CFLAGS=${headers_only_CFLAGS}" \ + "CPPFLAGS=${headers_only_CPPFLAGS}" \ + "LDFLAGS=${headers_only_LDFLAGS}" \ + "$@" + CC=${headers_only_CC} \ + CFLAGS=${headers_only_CFLAGS} \ + CPPFLAGS=${headers_only_CPPFLAGS} \ + LDFLAGS="" \ + "$@" || die "failed to configure glibc" +} + +do_src_configure() { + if just_headers ; then + glibc_headers_configure + else + glibc_do_configure nptl + fi +} + +src_configure() { + foreach_abi do_src_configure +} + +# src_compile + +do_src_compile() { + emake -C "$(builddir nptl)" +} + +src_compile() { + if just_headers ; then + return + fi + + foreach_abi do_src_compile +} + +# src_test + +glibc_src_test() { + cd "$(builddir nptl)" + + local myxfailparams="" + if [[ "${GENTOO_GLIBC_XFAIL_TESTS}" == "yes" ]] ; then + local virt=$(systemd-detect-virt 2>/dev/null) + if [[ ${virt} == systemd-nspawn ]] ; then + ewarn "Skipping extra tests because in systemd-nspawn container" + XFAIL_TEST_LIST+=( "${XFAIL_NSPAWN_TEST_LIST[@]}" ) + fi + if [[ "$(nice)" == "19" ]] ; then + # Expects to be able to increase niceness, which it can't do if + # already at the highest nice value + XFAIL_TEST_LIST+=( "tst-nice" ) + fi + + for myt in ${XFAIL_TEST_LIST[@]} ; do + myxfailparams+="test-xfail-${myt}=yes " + done + fi + + # https://inbox.sourceware.org/libc-alpha/lhuikb5ibey.fsf@oldenburg.str.redhat.com/ + local -x GAWK_GNU_MATCHERS=1 + + # sandbox does not understand unshare() and prevents + # writes to /proc/, which makes many tests fail + + # we give the tests a bit more time to avoid spurious + # bug reports on slow arches + + SANDBOX_ON=0 LD_PRELOAD= TIMEOUTFACTOR=16 nonfatal emake ${myxfailparams} check +} + +src_test() { + if just_headers ; then + return + fi + + # glibc_src_test uses nonfatal so that we can run tests for all ABIs + # and fail at the end instead. + foreach_abi glibc_src_test || die "tests failed" +} + +# src_install + +run_locale_gen() { + local fatal=$1 prefix=$2 + local user_config action config stderr noun ret + local -a hasversion_opts localegen_args + + if [[ ${EBUILD_PHASE_FUNC} == src_install ]]; then + hasversion_opts=( -b ) + fi + + if has_version "${hasversion_opts[@]}" '>=sys-apps/locale-gen-3'; then + localegen_args=( --prefix "${prefix}" ) + else + config="${prefix}/usr/share/i18n/SUPPORTED" + user_config="${prefix}/etc/locale.gen" + if [[ ${EBUILD_PHASE_FUNC} == src_install ]]; then + # For USE=compile-locales, all locales should be built. + mkdir -p -- "${prefix}/usr/lib/locale" || die + elif locale-gen --list --config "${user_config}" | read -r; then + config=${user_config} + fi + localegen_args=( --config "${config}" --destdir "${prefix}" ) + fi + + # bug 736794: we need to be careful with the parallelization... the + # number of processors saved in the environment of a binary package may + # differ strongly from the number of processes available during postinst + if [[ ${EMERGE_FROM} != binary ]]; then + localegen_args+=( --jobs "$(get_makeopts_jobs)" ) + fi + + printf 'Executing: locale-gen %s\n' "${localegen_args[*]@Q}" >&2 + { stderr=$(locale-gen "${localegen_args[@]}" 2>&1 >&3); } 3>&1 + ret=$? + action="ewarn" + if (( ret == 0 )); then + noun="warning" + else + noun="error" + if (( fatal )); then + action="die" + fi + fi + # Convey warnings/errors so that they can be reseen upon emerge exiting. + if [[ ${stderr} ]]; then + ewarn "locale-gen(8) issued the following ${noun}s:" + while read -r; do + ewarn "$REPLY" + done <<<"${stderr}" + fi + if (( ret != 0 )); then + "${action}" "locale-gen(8) unexpectedly failed during the ${EBUILD_PHASE_FUNC} phase" + fi +} + +glibc_do_src_install() { + local builddir=$(builddir nptl) + cd "${builddir}" + + emake install_root="${D}/$(build_eprefix)$(alt_prefix)" install + + # This version (2.26) provides some compatibility libraries for the NIS/NIS+ support + # which come without headers etc. Only needed for binary packages since the + # external net-libs/libnsl has increased soversion. Keep only versioned libraries. + find "${D}" -name "libnsl.a" -delete + find "${D}" -name "libnsl.so" -delete + + # Normally upstream_pv is ${PV}. Live ebuilds are exception, there we need + # to infer upstream version: + # '#define VERSION "2.26.90"' -> '2.26.90' + local upstream_pv=$(sed -n -r 's/#define VERSION "(.*)"/\1/p' "${S}"/version.h) + + # Avoid stripping binaries not targeted by ${CHOST}. Or else + # ${CHOST}-strip would break binaries build for ${CTARGET}. + is_crosscompile && dostrip -x / + + # gdb thread introspection relies on local libpthreads symbols. stripping breaks it + # See Note [Disable automatic stripping] + dostrip -x $(alt_libdir)/libpthread-${upstream_pv}.so + # valgrind requires knowledge about ld.so symbols. + dostrip -x $(alt_libdir)/ld-*.so* + + if [[ -e ${ED}/$(alt_usrlibdir)/libm-${upstream_pv}.a ]] ; then + # Move versioned .a file out of libdir to evade portage QA checks + # instead of using gen_usr_ldscript(). We fix ldscript as: + # "GROUP ( /usr/lib64/libm-.a ..." -> "GROUP ( /usr/lib64/glibc-/libm-.a ..." + sed -i "s@\(libm-${upstream_pv}.a\)@${P}/\1@" \ + "${ED}"/$(alt_usrlibdir)/libm.a || die + dodir $(alt_usrlibdir)/${P} + mv "${ED}"/$(alt_usrlibdir)/libm-${upstream_pv}.a \ + "${ED}"/$(alt_usrlibdir)/${P}/libm-${upstream_pv}.a || die + fi + + # We configure toolchains for standalone prefix systems with a sysroot, + # which is prepended to paths in ld scripts, so strip the prefix from these. + # Before: GROUP ( /foo/lib64/libc.so.6 /foo/usr/lib64/libc_nonshared.a AS_NEEDED ( /foo/lib64/ld-linux-x86-64.so.2 ) ) + # After: GROUP ( /lib64/libc.so.6 /usr/lib64/libc_nonshared.a AS_NEEDED ( /lib64/ld-linux-x86-64.so.2 ) ) + if [[ -n $(host_eprefix) ]] ; then + local file + grep -lZIF "ld script" "${ED}/$(alt_usrlibdir)"/lib*.{a,so} 2>/dev/null | while read -rd '' file ; do + sed -i "s|$(host_eprefix)/|/|g" "${file}" || die + done + fi + + # We'll take care of the cache ourselves + rm -f "${ED}"/etc/ld.so.cache + + # Everything past this point just needs to be done once ... + is_final_abi || return 0 + + # Make sure the non-native interp can be found on multilib systems even + # if the main library set isn't installed into the right place. Maybe + # we should query the active gcc for info instead of hardcoding it ? + local i ldso_abi ldso_name + if is_linux ; then + local ldso_abi_list=( + # x86 + amd64 /lib64/ld-linux-x86-64.so.2 + x32 /libx32/ld-linux-x32.so.2 + x86 /lib/ld-linux.so.2 + # mips + o32 /lib/ld.so.1 + n32 /lib32/ld.so.1 + n64 /lib64/ld.so.1 + # powerpc + ppc /lib/ld.so.1 + # riscv + ilp32d /lib/ld-linux-riscv32-ilp32d.so.1 + ilp32 /lib/ld-linux-riscv32-ilp32.so.1 + lp64d /lib/ld-linux-riscv64-lp64d.so.1 + lp64 /lib/ld-linux-riscv64-lp64.so.1 + # s390 + s390 /lib/ld.so.1 + s390x /lib/ld64.so.1 + # sparc + sparc32 /lib/ld-linux.so.2 + sparc64 /lib64/ld-linux.so.2 + ) + case $(tc-endian) in + little) + ldso_abi_list+=( + # arm + arm64 /lib/ld-linux-aarch64.so.1 + # ELFv2 (glibc does not support ELFv1 on LE) + ppc64 /lib64/ld64.so.2 + ) + ;; + big) + ldso_abi_list+=( + # arm + arm64 /lib/ld-linux-aarch64_be.so.1 + # ELFv1 (glibc does not support ELFv2 on BE) + ppc64 /lib64/ld64.so.1 + ) + ;; + esac + else + # we must be using hurd then + local ldso_abi_list=( + # x86 + amd64 /lib64/ld-x86-64.so.1 + x86 /lib/ld.so.1 + ) + fi + if [[ ${SYMLINK_LIB} == "yes" ]] && [[ ! -e ${ED}/$(alt_prefix)/lib ]] ; then + dosym $(get_abi_LIBDIR ${DEFAULT_ABI}) $(alt_prefix)/lib + fi + for (( i = 0; i < ${#ldso_abi_list[@]}; i += 2 )) ; do + ldso_abi=${ldso_abi_list[i]} + has ${ldso_abi} $(get_install_abis) || continue + + ldso_name="$(alt_prefix)${ldso_abi_list[i+1]}" + if [[ ! -L ${ED}/${ldso_name} && ! -e ${ED}/${ldso_name} ]] ; then + dosym ../$(get_abi_LIBDIR ${ldso_abi})/${ldso_name##*/} ${ldso_name} + fi + done + + if is_linux ; then + # In the LSB 5.0 definition, someone had the excellent idea to "standardize" + # the runtime loader name, see also https://xkcd.com/927/ + # Normally, in Gentoo one should never come across executables that require this. + # However, binary commercial packages are known to adhere to weird practices. + # https://refspecs.linuxfoundation.org/LSB_5.0.0/LSB-Core-AMD64/LSB-Core-AMD64.html#BASELIB + local lsb_ldso_name native_ldso_name lsb_ldso_abi + local lsb_ldso_abi_list=( + # x86 + amd64 ld-linux-x86-64.so.2 ld-lsb-x86-64.so.3 + ) + for (( i = 0; i < ${#lsb_ldso_abi_list[@]}; i += 3 )) ; do + lsb_ldso_abi=${lsb_ldso_abi_list[i]} + native_ldso_name=${lsb_ldso_abi_list[i+1]} + lsb_ldso_name=${lsb_ldso_abi_list[i+2]} + has ${lsb_ldso_abi} $(get_install_abis) || continue + + if [[ ! -L ${ED}/$(get_abi_LIBDIR ${lsb_ldso_abi})/${lsb_ldso_name} && ! -e ${ED}/$(get_abi_LIBDIR ${lsb_ldso_abi})/${lsb_ldso_name} ]] ; then + dosym ${native_ldso_name} "$(alt_prefix)/$(get_abi_LIBDIR ${lsb_ldso_abi})/${lsb_ldso_name}" + fi + done + fi + + # On Hurd, glibc and (unpatched) gcc tend to disagree about the proper location for + # the dynamic loader. Which is maximally stupid since this one information is hardcoded + # into every single binary, and even if we were to fix *our* gcc it could still prevent + # us from running binaries prepared anywhere else... + + if is_hurd && has amd64 $(get_install_abis) ; then + # First, let's check for sanity + if [[ -f "${D}/$(alt_prefix)/lib/ld-x86-64.so.1" ]] ; then + die "Somehow your amd64 hurd glibc installed /lib/ld-x86-64.so.1 ... this should not happen." + fi + + # Then make a compatibility symlink. + dosym ../lib64/ld-x86-64.so.1 "$(alt_prefix)/lib/ld-x86-64.so.1" + fi + + if is_hurd && has x86 $(get_install_abis) ; then + # First, let's check for sanity + if [[ -f "${D}/$(alt_prefix)/$(get_abi_LIBDIR x86)/ld.so" ]] ; then + die "Somehow your x86 hurd glibc installed ld.so ... this should not happen." + fi + + # Then make a compatibility symlink. + dosym ld.so.1 "$(alt_prefix)/$(get_abi_LIBDIR x86)/ld.so" + fi + + # With devpts under Linux mounted properly, we do not need the pt_chown + # binary to be setuid. This is because the default owners/perms will be + # exactly what we want. + if ! use suid ; then + find "${ED}" -name pt_chown -exec chmod -s {} + + fi + + ################################################################# + # EVERYTHING AFTER THIS POINT IS FOR NATIVE GLIBC INSTALLS ONLY # + ################################################################# + + # Make sure we install some symlink hacks so that when we build + # a 2nd stage cross-compiler, gcc finds the target system + # headers correctly. See gcc/doc/gccinstall.info + if is_crosscompile ; then + # We need to make sure that /lib and /usr/lib always exists. + # gcc likes to use relative paths to get to its multilibs like + # /usr/lib/../lib64/. So while we don't install any files into + # /usr/lib/, we do need it to exist. + keepdir $(alt_prefix)/lib + keepdir $(alt_prefix)/usr/lib + + dosym usr/include $(alt_prefix)/sys-include + return 0 + fi + + # Files for Debian-style locale updating + dodir /usr/share/i18n + sed \ + -e "/^#/d" \ + -e "/SUPPORTED-LOCALES=/d" \ + -e "s: \\\\::g" -e "s:/: :g" \ + "${S}"/localedata/SUPPORTED > "${ED}"/usr/share/i18n/SUPPORTED \ + || die "generating /usr/share/i18n/SUPPORTED failed" + + cd "${S}" || die + + # Install misc network config files + insinto /etc + doins posix/gai.conf + + if use systemd ; then + doins "${WORKDIR}/glibc-systemd-${GLIBC_SYSTEMD_VER}/gentoo-config/nsswitch.conf" + else + doins nss/nsswitch.conf + fi + + # Gentoo-specific + newins "${FILESDIR}"/host.conf-1 host.conf + + if use nscd ; then + doins nscd/nscd.conf + + newinitd "$(prefixify_ro "${FILESDIR}"/nscd-1)" nscd + + local nscd_args=( + -e "s:@PIDFILE@:$(strings "${ED}"/usr/sbin/nscd | grep nscd.pid):" + ) + + sed -i "${nscd_args[@]}" "${ED}"/etc/init.d/nscd + + use systemd && systemd_dounit nscd/nscd.service + newtmpfiles nscd/nscd.tmpfiles nscd.conf + fi + + echo 'LDPATH="include ld.so.conf.d/*.conf"' > "${T}"/00glibc + doenvd "${T}"/00glibc + + for d in BUGS ChangeLog CONFORMANCE FAQ NEWS NOTES PROJECTS README* ; do + [[ -s ${d} ]] && dodoc ${d} + done + dodoc -r ChangeLog.old + + # Prevent overwriting of the /etc/localtime symlink. We'll handle the + # creation of the "factory" symlink in pkg_postinst(). + rm -f "${ED}"/etc/localtime + + # Generate all locales if this is a native build as locale generation + if use compile-locales && ! is_crosscompile; then + run_locale_gen 1 "${ED}" + fi +} + +glibc_headers_install() { + local builddir=$(builddir "headers") + cd "${builddir}" + emake install_root="${D}/$(build_eprefix)$(alt_prefix)" install-headers + + insinto $(alt_headers)/gnu + doins "${S}"/include/gnu/stubs.h + + # Make sure we install the sys-include symlink so that when + # we build a 2nd stage cross-compiler, gcc finds the target + # system headers correctly. See gcc/doc/gccinstall.info + dosym usr/include $(alt_prefix)/sys-include +} + +src_install() { + if just_headers ; then + export ABI=default + glibc_headers_install + return + fi + + foreach_abi glibc_do_src_install + + if ! use static-libs ; then + einfo "Not installing static glibc libraries" + find "${ED}" -name "*.a" -and -not -name "*_nonshared.a" -delete + fi +} + +# Simple test to make sure our new glibc isn't completely broken. +# Make sure we don't test with statically built binaries since +# they will fail. Also, skip if this glibc is a cross compiler. +# +# If coreutils is built with USE=multicall, some of these files +# will just be wrapper scripts, not actual ELFs we can test. +glibc_sanity_check() { + cd / #228809 + + # We enter ${ED} so to avoid trouble if the path contains + # special characters; for instance if the path contains the + # colon character (:), then the linker will try to split it + # and look for the libraries in an unexpected place. This can + # lead to unsafe code execution if the generated prefix is + # within a world-writable directory. + # (e.g. /var/tmp/portage:${HOSTNAME}) + pushd "${ED}"/$(get_libdir) >/dev/null + + # first let's find the actual dynamic linker here + # symlinks may point to the wrong abi + local newldso=$(find . -maxdepth 1 -name 'ld*so.?' -type f -print -quit) + + einfo Last-minute run tests with ${newldso} in /$(get_libdir) ... + + local x striptest + for x in cal date env free ls true uname uptime ; do + x=$(type -p ${x}) + [[ -z ${x} || ${x} != ${EPREFIX}/* ]] && continue + striptest=$(LC_ALL="C" file -L ${x} 2>/dev/null) || continue + case ${striptest} in + *"statically linked"*) continue;; + *"ASCII text"*) continue;; + esac + # We need to clear the locale settings as the upgrade might want + # incompatible locale data. This test is not for verifying that. + LC_ALL=C \ + ${newldso} --library-path . ${x} > /dev/null \ + || die "simple run test (${x}) failed" + done + + popd >/dev/null +} + +pkg_preinst() { + # nothing to do if just installing headers + just_headers && return + + einfo "Checking general environment sanity." + sanity_prechecks + + # prepare /etc/ld.so.conf.d/ for files + mkdir -p "${EROOT}"/etc/ld.so.conf.d + + # Default /etc/hosts.conf:multi to on for systems with small dbs. + if [[ $(wc -l < "${EROOT}"/etc/hosts) -lt 1000 ]] ; then + sed -i '/^multi off/s:off:on:' "${ED}"/etc/host.conf + einfo "Defaulting /etc/host.conf:multi to on" + fi + + [[ -n ${ROOT} ]] && return 0 + [[ -d ${ED}/$(get_libdir) ]] || return 0 + [[ -z ${BOOTSTRAP_RAP} ]] && glibc_sanity_check + + if [[ -L ${EROOT}/usr/lib/locale ]]; then + # Help portage migrate this to a directory + # https://bugs.gentoo.org/753740 + rm "${EROOT}"/usr/lib/locale || die + fi + + # Keep around libcrypt so that Perl doesn't break when merging libxcrypt + # (libxcrypt is the new provider for now of libcrypt.so.{1,2}). + # bug #802207 + if has_version "${CATEGORY}/${PN}[crypt]" && ! has preserve-libs ${FEATURES}; then + PRESERVED_OLD_LIBCRYPT=1 + cp -p "${EROOT}/$(get_libdir)/libcrypt$(get_libname 1)" \ + "${T}/libcrypt$(get_libname 1)" || die + else + PRESERVED_OLD_LIBCRYPT=0 + fi +} + +glibc_refresh_ldconfig() { + if [[ ${MERGE_TYPE} == buildonly ]]; then + return + fi + + # Version check could be added to avoid unnecessary work, but ldconfig + # should finish quickly enough to not matter. + ebegin "Refreshing ld.so.cache" + ldconfig -i + if ! eend $?; then + ewarn "Failed to refresh the ld.so.cache for you. Some programs may be broken" + ewarn "before you manually do so (ldconfig -i)." + fi +} + +pkg_postinst() { + # nothing to do if just installing headers + just_headers && return + + if ! tc-is-cross-compiler && [[ -x ${EROOT}/usr/sbin/iconvconfig ]] ; then + # Generate fastloading iconv module configuration file. + "${EROOT}"/usr/sbin/iconvconfig --prefix="${ROOT}/" + fi + + if ! is_crosscompile && [[ -z ${ROOT} ]] ; then + # glibc-2.38+ on loong has ldconfig support added, but the ELF e_flags + # handling has changed as well, which means stale ldconfig auxiliary + # cache entries and failure to lookup libgcc_s / libstdc++ (breaking + # every C++ application) / libgomp etc., among other breakages. + # + # To fix this, simply refresh the ld.so.cache without using the + # auxiliary cache if we're natively installing on loong. This should + # be done relatively soon because we want to minimize the breakage + # window for the affected programs. + use loong && glibc_refresh_ldconfig + + if ! use compile-locales; then + run_locale_gen 0 "${EROOT}" + fi + + # If fixincludes was/is active for a particular GCC slot, we + # must refresh it. See bug #933282 and GCC's documentation: + # https://gcc.gnu.org/onlinedocs/gcc/Fixed-Headers.html + # + # TODO: Could this be done for cross? Some care would be needed + # to pass the right arguments. + while IFS= read -r -d $'\0' slot ; do + local mkheaders_path="${BROOT}"/usr/libexec/gcc/${CBUILD}/${slot##*/}/install-tools/mkheaders + local pthread_h="${BROOT}"/usr/lib/gcc/${CBUILD}/${slot##*/}/include-fixed/pthread.h + if [[ -x ${mkheaders_path} ]] ; then + ebegin "Refreshing fixincludes for ${CBUILD} with gcc-${slot##*/}" + ${mkheaders_path} -v + eend $? + elif [[ -f ${pthread_h} ]] ; then + # fixincludes might have been enabled in the past for this + # GCC slot but not since we fixed toolchain.eclass to install + # mkheaders, so we need to manually delete pthread.h at least. + ebegin "Deleting stale fixincludes'd pthread.h for ${CBUILD} with gcc-${slot##*/}" + mv -v "${pthread_h}" "${pthread_h}.bak" + eend $? + fi + done < <(find "${BROOT}"/usr/libexec/gcc/${CBUILD}/ -mindepth 1 -maxdepth 1 -type d -print0) + fi + + upgrade_warning + + # Check for sanity of /etc/nsswitch.conf, take 2 + if [[ -e ${EROOT}/etc/nsswitch.conf ]] && ! has_version sys-auth/libnss-nis ; then + local entry + for entry in passwd group shadow; do + if grep -E -q "^[ \t]*${entry}:.*nis" "${EROOT}"/etc/nsswitch.conf; then + ewarn "" + ewarn "Your ${EROOT}/etc/nsswitch.conf uses NIS. Support for that has been" + ewarn "removed from glibc and is now provided by the package" + ewarn " sys-auth/libnss-nis" + ewarn "Install it now to keep your NIS setup working." + ewarn "" + fi + done + fi + + if [[ ${PRESERVED_OLD_LIBCRYPT} -eq 1 ]] ; then + cp -p "${T}/libcrypt$(get_libname 1)" "${EROOT}/$(get_libdir)/libcrypt$(get_libname 1)" || die + preserve_old_lib_notify /$(get_libdir)/libcrypt$(get_libname 1) + + elog "Please ignore a possible later error message about a file collision involving" + elog "${EROOT}/$(get_libdir)/libcrypt$(get_libname 1). We need to preserve this file for the moment to keep" + elog "the upgrade working, but it also needs to be overwritten when" + elog "sys-libs/libxcrypt is installed. See bug 802210 for more details." + fi +} diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/glibc/glibc-9999.ebuild b/sdk_container/src/third_party/portage-stable/sys-libs/glibc/glibc-9999.ebuild index c7ecedbebdc..5f5dcfee385 100644 --- a/sdk_container/src/third_party/portage-stable/sys-libs/glibc/glibc-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-libs/glibc/glibc-9999.ebuild @@ -20,8 +20,11 @@ GCC_BOOTSTRAP_VER=20201208 # systemd integration version GLIBC_SYSTEMD_VER=20210729 -# Minimum kernel version that glibc requires -MIN_KERN_VER="3.2.0" +# Minimum kernel version that glibc requires (used with USE=old-kernel) +MIN_KERN_VER_UPSTREAM="3.2.0" + +# Minimum kernel version that Gentoo recommends (oldest in the tree) +MIN_KERN_VER_GENTOO="6.1.0" # Minimum pax-utils version needed (which contains any new syscall changes for # its seccomp filter!). Please double check this! @@ -53,7 +56,7 @@ SRC_URI+=" systemd? ( https://gitweb.gentoo.org/proj/toolchain/glibc-systemd.git LICENSE="LGPL-2.1+ BSD HPND ISC inner-net rc PCRE" SLOT="2.2" -IUSE="audit caps cet clang compile-locales custom-cflags doc gd hash-sysv-compat headers-only +multiarch multilib multilib-bootstrap nscd perl profile selinux sframe +ssp stack-realign +static-libs suid systemd systemtap test vanilla" +IUSE="audit caps cet clang compile-locales custom-cflags doc gd hash-sysv-compat headers-only +multiarch multilib multilib-bootstrap nscd old-kernel perl profile selinux sframe +ssp stack-realign +static-libs suid systemd systemtap test vanilla" # Here's how the cross-compile logic breaks down ... # CTARGET - machine that will target the binaries @@ -924,6 +927,12 @@ sanity_prechecks() { fi if is_linux ; then + if use old-kernel ; then + MIN_KERN_VER=${MIN_KERN_VER_UPSTREAM} + else + MIN_KERN_VER=${MIN_KERN_VER_GENTOO} + fi + local run_kv build_kv want_kv run_kv=$(g_get_running_KV) @@ -937,7 +946,7 @@ sanity_prechecks() { eend 1 echo eerror "You need a kernel of at least ${want_kv}!" - die "Kernel version too low!" + die "Kernel version too low! Maybe setting USE=old-kernel helps." fi eend 0 fi @@ -1108,6 +1117,11 @@ glibc_do_configure() { [[ $(tc-is-softfloat) == "yes" ]] && myconf+=( --without-fp ) + if use old-kernel ; then + MIN_KERN_VER=${MIN_KERN_VER_UPSTREAM} + else + MIN_KERN_VER=${MIN_KERN_VER_GENTOO} + fi myconf+=( --enable-kernel=${MIN_KERN_VER} ) # Since SELinux support is only required for nscd, only enable it if: diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/glibc/metadata.xml b/sdk_container/src/third_party/portage-stable/sys-libs/glibc/metadata.xml index 36b6c957322..f15742e323e 100644 --- a/sdk_container/src/third_party/portage-stable/sys-libs/glibc/metadata.xml +++ b/sdk_container/src/third_party/portage-stable/sys-libs/glibc/metadata.xml @@ -18,6 +18,7 @@ enable optimizations for multiple CPU architectures (detected at runtime) Provide prebuilt libgcc.a and crt files if missing. Only needed for ABI switch. Build, and enable support for, the Name Service Cache Daemon + Support the oldest kernel also supported by upstream glibc, otherwise the oldest in the Gentoo tree Install additional scripts written in Perl enable building with sframe backtrace support protect stack of glibc internals From f033c52a4be0abc6758fbeb00f3bf0ac01ec210f Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 3 Aug 2026 08:20:19 +0000 Subject: [PATCH 154/195] sys-libs/libnvme: Sync with Gentoo It's from Gentoo commit 9341854e1beaad9552657084e928aa9f571e4e81. Signed-off-by: Flatcar Buildbot --- .../portage-stable/sys-libs/libnvme/libnvme-1.16.2.ebuild | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/libnvme/libnvme-1.16.2.ebuild b/sdk_container/src/third_party/portage-stable/sys-libs/libnvme/libnvme-1.16.2.ebuild index e06ee0e8982..c0aa3e96497 100644 --- a/sdk_container/src/third_party/portage-stable/sys-libs/libnvme/libnvme-1.16.2.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-libs/libnvme/libnvme-1.16.2.ebuild @@ -15,7 +15,7 @@ SRC_URI="https://github.com/linux-nvme/libnvme/archive/refs/tags/v${PV}.tar.gz - LICENSE="LGPL-2.1+" SLOT="0/1" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86" +KEYWORDS="~alpha amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv ~sparc x86" IUSE="dbus examples io-uring +json keyutils python ssl test" RESTRICT="!test? ( test )" From 9f79bac792be11ee49b1f58979a6663c4f251808 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 3 Aug 2026 08:20:19 +0000 Subject: [PATCH 155/195] sys-libs/libseccomp: Sync with Gentoo It's from Gentoo commit 5bea6b09419b64c50dd10041925324e4439ccc57. Signed-off-by: Flatcar Buildbot --- .../sys-libs/libseccomp/Manifest | 2 + .../libseccomp/libseccomp-2.6.1.ebuild | 143 ++++++++++++++++++ .../libseccomp/libseccomp-9999.ebuild | 2 +- 3 files changed, 146 insertions(+), 1 deletion(-) create mode 100644 sdk_container/src/third_party/portage-stable/sys-libs/libseccomp/libseccomp-2.6.1.ebuild diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/libseccomp/Manifest b/sdk_container/src/third_party/portage-stable/sys-libs/libseccomp/Manifest index cb80334dbe3..22cf81e8df7 100644 --- a/sdk_container/src/third_party/portage-stable/sys-libs/libseccomp/Manifest +++ b/sdk_container/src/third_party/portage-stable/sys-libs/libseccomp/Manifest @@ -1,2 +1,4 @@ DIST libseccomp-2.6.0.tar.gz 685655 BLAKE2B 45c4f4dd67db5848bb536613e8929633f95cfbeb8738525381a76631187e7b0fc2c02f1a103579cd0f4135e9c175250fe2d784b85cc85424ec3125b4dafcf11c SHA512 9039478656d9b670af2ff4cb67b6b1fa315821e59d2f82ba6247e988859ddc7e3d15fea159eccca161bf2890828bb62aa6ab4d6b7ff55f27a9d6bd9532eeee1b DIST libseccomp-2.6.0.tar.gz.asc 833 BLAKE2B 3bec3fc850bcd631018f152ee8a81d89ad3e7b15d91a559048400a07efe1b1787d1cdc1b056dca62bbf8134ad81ad1b4bf53f3230e24bf94a39296b2b1562e64 SHA512 973b69c58085a1567f860e621e3a197be02c0ca71dad664234418cf5c00c39767efd37a7c4016f1be5bd588262617b6603855262db2ee6f31bc16061bc130e0f +DIST libseccomp-2.6.1.tar.gz 656231 BLAKE2B 05d9d1b584afa399f1f3cb8d27b659aabbbe66b639743ee48b186d44ee506a6399c84acb08ec216e0f26d15b94f6e37464dd4568327ac879e30a8a12615bc1f5 SHA512 468404874ee013177f048611a4fefef87f4ee01b83d991f8bf9026c8fdb8506badd613e0355ad8222c5a7f51162b6829de6d72fc53222a56e0e123d5e85f73c4 +DIST libseccomp-2.6.1.tar.gz.asc 833 BLAKE2B 911fd256dcbf00e6644c124a3f5a8613157ef64adc4d854be8ad555d6a1e0ceb881d634ab6d3dd29fbe01fbd168ba9e7119687c700653bff59af0e8bb350f32a SHA512 2ca5e1d4dac4d1394bd8518504ee9fa4febb269e3105270b7fe4091d4ae16b4a0003c8a64ef9b373d85728c2335ed826415cca1f55821a394fe6a7a7863ea60d diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/libseccomp/libseccomp-2.6.1.ebuild b/sdk_container/src/third_party/portage-stable/sys-libs/libseccomp/libseccomp-2.6.1.ebuild new file mode 100644 index 00000000000..0f5bcd19bab --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-libs/libseccomp/libseccomp-2.6.1.ebuild @@ -0,0 +1,143 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_EXT=1 +DISTUTILS_OPTIONAL=1 +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{12..15} ) + +inherit distutils-r1 multilib-minimal multiprocessing + +DESCRIPTION="High level interface to Linux seccomp filter" +HOMEPAGE="https://github.com/seccomp/libseccomp" + +if [[ ${PV} == *9999 ]] ; then + EGIT_REPO_URI="https://github.com/seccomp/libseccomp.git" + PRERELEASE="2.6.0" + inherit autotools git-r3 +else + VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/libseccomp.asc + inherit verify-sig + + SRC_URI=" + https://github.com/seccomp/libseccomp/releases/download/v${PV}/${P}.tar.gz + verify-sig? ( https://github.com/seccomp/libseccomp/releases/download/v${PV}/${P}.tar.gz.asc ) + " + KEYWORDS="-* ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~x86" + + BDEPEND="verify-sig? ( sec-keys/openpgp-keys-libseccomp )" +fi + +LICENSE="LGPL-2.1" +SLOT="0" +IUSE="python static-libs test" +RESTRICT="!test? ( test )" +REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" + +RDEPEND=" + python? ( ${PYTHON_DEPS} ) +" +# We need newer kernel headers; we don't keep strict control of the exact +# version here, just be safe and pull in the latest stable ones. bug #551248 +DEPEND=" + ${RDEPEND} + >=sys-kernel/linux-headers-5.15 +" +BDEPEND+=" + ${DEPEND} + dev-util/gperf + python? ( + ${DISTUTILS_DEPS} + dev-python/cython[${PYTHON_USEDEP}] + ) +" + +PATCHES=( + "${FILESDIR}"/libseccomp-2.6.0-python-shared.patch + "${FILESDIR}"/libseccomp-2.5.3-skip-valgrind.patch +) + +src_unpack() { + if [[ ${PV} == 9999 ]] ; then + git-r3_src_unpack + return + fi + + if use verify-sig; then + verify-sig_verify_detached "${DISTDIR}"/${P}.tar.gz{,.asc} + fi + + default +} + +src_prepare() { + default + + if [[ ${PV} == *9999 ]] ; then + sed -i -e "s/0.0.0/${PRERELEASE}/" configure.ac || die + + eautoreconf + fi + + # Silence noise when running Python tests + sed -i -e 's:$(pwd)/../src/python/build/lib\.\*:$(pwd):' tests/regression || die +} + +multilib_src_configure() { + local myeconfargs=( + $(use_enable static-libs static) + --disable-python + ) + + ECONF_SOURCE="${S}" econf "${myeconfargs[@]}" +} + +multilib_src_compile() { + emake + + if multilib_is_native_abi && use python ; then + # setup.py expects libseccomp.so to live in "../.libs" + # Copy the python files to the right place for this. + rm -r "${BUILD_DIR}"/src/python || die + cp -r "${S}"/src/python "${BUILD_DIR}"/src/python || die + local -x CPPFLAGS="-I\"${BUILD_DIR}/include\" -I\"${S}/include\" ${CPPFLAGS}" + + # setup.py reads VERSION_RELEASE from the environment + local -x VERSION_RELEASE=${PRERELEASE-${PV}} + + pushd "${BUILD_DIR}/src/python" >/dev/null || die + distutils-r1_src_compile + popd >/dev/null || die + fi +} + +multilib_src_test() { + local -x LIBSECCOMP_TSTCFG_JOBS="$(get_makeopts_jobs)" + emake -Onone check + + if multilib_is_native_abi && use python ; then + distutils-r1_src_test + fi +} + +python_test() { + local -x LIBSECCOMP_TSTCFG_MODE_LIST="python" + + emake -Onone check +} + +multilib_src_install() { + emake DESTDIR="${D}" install + + if multilib_is_native_abi && use python ; then + distutils-r1_src_install + fi +} + +multilib_src_install_all() { + find "${ED}" -type f -name "${PN}.la" -delete || die + + einstalldocs +} diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/libseccomp/libseccomp-9999.ebuild b/sdk_container/src/third_party/portage-stable/sys-libs/libseccomp/libseccomp-9999.ebuild index 18774689a01..0f5bcd19bab 100644 --- a/sdk_container/src/third_party/portage-stable/sys-libs/libseccomp/libseccomp-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-libs/libseccomp/libseccomp-9999.ebuild @@ -6,7 +6,7 @@ EAPI=8 DISTUTILS_EXT=1 DISTUTILS_OPTIONAL=1 DISTUTILS_USE_PEP517=setuptools -PYTHON_COMPAT=( python3_{11..14} ) +PYTHON_COMPAT=( python3_{12..15} ) inherit distutils-r1 multilib-minimal multiprocessing From 93f083ddf085a7d20c27f158eadda617d9149869 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 3 Aug 2026 08:20:21 +0000 Subject: [PATCH 156/195] sys-libs/libxcrypt: Sync with Gentoo It's from Gentoo commit f727cbf1b29be92f357eda7a093adff7c4a74c7d. Signed-off-by: Flatcar Buildbot --- .../sys-libs/libxcrypt/Manifest | 1 + .../files/libxcrypt-4.5.2-const.patch | 41 +++ .../files/libxcrypt-4.5.2-getrandom.patch | 96 +++++++ .../sys-libs/libxcrypt/libxcrypt-4.5.2.ebuild | 261 ++++++++++++++++++ .../sys-libs/libxcrypt/metadata.xml | 2 +- 5 files changed, 400 insertions(+), 1 deletion(-) create mode 100644 sdk_container/src/third_party/portage-stable/sys-libs/libxcrypt/files/libxcrypt-4.5.2-const.patch create mode 100644 sdk_container/src/third_party/portage-stable/sys-libs/libxcrypt/files/libxcrypt-4.5.2-getrandom.patch create mode 100644 sdk_container/src/third_party/portage-stable/sys-libs/libxcrypt/libxcrypt-4.5.2.ebuild diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/libxcrypt/Manifest b/sdk_container/src/third_party/portage-stable/sys-libs/libxcrypt/Manifest index 259a3cce265..836304e2047 100644 --- a/sdk_container/src/third_party/portage-stable/sys-libs/libxcrypt/Manifest +++ b/sdk_container/src/third_party/portage-stable/sys-libs/libxcrypt/Manifest @@ -1 +1,2 @@ DIST libxcrypt-4.4.38-autotools.tar.xz 630696 BLAKE2B 471066e83495fbaf3ef8dee066b4a7bff36dbc36d6ae1c09f2510d79b041b8517d6cc345e678d92508f5d044dc25fd7b1d36e0243aa46314bbbe7e3201838a5c SHA512 9b1d53119e0d808f6bc30e39cbe85710e3abb774109df28e05b90adebb828f47db3f7126de4ffdea2e63073905648ad941985d1a2167ba7282c01e132ef4e2b2 +DIST libxcrypt-4.5.2-autotools.tar.xz 671272 BLAKE2B 029617ef745cffd6ef871414262509e6cae346cb1608c54bf62b5a2cebd63b7113dcdfb62b241c9ad2f15746b53293f3f355b950985f1ba8b9ff2a04a673a80e SHA512 8de4a3be418abe61676634518fceaec4a08235f7736124959a727c57ae001c0a246c63277d78cabe4826ed0a42990b1315565691daf2abf377546e7e3c16b596 diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/libxcrypt/files/libxcrypt-4.5.2-const.patch b/sdk_container/src/third_party/portage-stable/sys-libs/libxcrypt/files/libxcrypt-4.5.2-const.patch new file mode 100644 index 00000000000..634fa584ad6 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-libs/libxcrypt/files/libxcrypt-4.5.2-const.patch @@ -0,0 +1,41 @@ +https://github.com/besser82/libxcrypt/commit/174c24d6e87aeae631bc0a7bb1ba983cf8def4de + +From 174c24d6e87aeae631bc0a7bb1ba983cf8def4de Mon Sep 17 00:00:00 2001 +From: Stanislav Zidek +Date: Wed, 10 Dec 2025 14:03:54 +0100 +Subject: [PATCH] fix -Werror=discarded-qualifiers + +On Fedora rawhide (to be Fedora 44), gcc became more strict +wrt. const-ness. +--- + lib/crypt-gost-yescrypt.c | 2 +- + lib/crypt-sm3-yescrypt.c | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/lib/crypt-gost-yescrypt.c b/lib/crypt-gost-yescrypt.c +index 190ae94b..e9dc7e80 100644 +--- a/lib/crypt-gost-yescrypt.c ++++ b/lib/crypt-gost-yescrypt.c +@@ -131,7 +131,7 @@ crypt_gost_yescrypt_rn (const char *phrase, size_t phr_size, + intbuf->outbuf[1] = 'g'; + + /* extract yescrypt output from "$y$param$salt$output" */ +- char *hptr = strchr ((const char *) intbuf->retval + 3, '$'); ++ char *hptr = strchr ((char *) intbuf->retval + 3, '$'); + if (!hptr) + { + errno = EINVAL; +diff --git a/lib/crypt-sm3-yescrypt.c b/lib/crypt-sm3-yescrypt.c +index 4f42aa66..17da83e1 100644 +--- a/lib/crypt-sm3-yescrypt.c ++++ b/lib/crypt-sm3-yescrypt.c +@@ -136,7 +136,7 @@ crypt_sm3_yescrypt_rn (const char *phrase, size_t phr_size, + intbuf->outbuf[3] = '3'; + + /* extract yescrypt output from "$y$param$salt$output" */ +- char *hptr = strchr ((const char *) intbuf->retval + 3, '$'); ++ char *hptr = strchr ((char *) intbuf->retval + 3, '$'); + if (!hptr) + { + errno = EINVAL; + diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/libxcrypt/files/libxcrypt-4.5.2-getrandom.patch b/sdk_container/src/third_party/portage-stable/sys-libs/libxcrypt/files/libxcrypt-4.5.2-getrandom.patch new file mode 100644 index 00000000000..3532a5a47b2 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-libs/libxcrypt/files/libxcrypt-4.5.2-getrandom.patch @@ -0,0 +1,96 @@ +https://github.com/besser82/libxcrypt/commit/d6faad7de2bdbff18da4c5379e97871ec3839e7f + +From d6faad7de2bdbff18da4c5379e97871ec3839e7f Mon Sep 17 00:00:00 2001 +From: Nathaniel Wesley Filardo +Date: Sat, 22 Nov 2025 15:32:08 +0000 +Subject: [PATCH] test/getrandom-fallbacks: fix open shim types +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +In C, functions taking a variable number of arguments are not guaranteed to have +the same calling convention as functions taking a fixed number of arguments +[^0]. Since `open()` and `open64()` are defined as taking a variable number of +arguments, the `__wrap_open()` and `__wrap_open64()` mocks must be as well. + +[^0]: C23 §6.7.7.4¶14 says: "For two function types to be compatible, both shall +specify compatible return types. Moreover, the parameter type lists shall agree +in the number of parameters and in use of the final ellipsis; corresponding +parameters shall have compatible types." + +This fixes the test on my powerpc64el machine building nixpkgs a8d610af3f1. +--- + test/getrandom-fallbacks.c | 46 +++++++++++++++++++++++++++++++++----- + 1 file changed, 40 insertions(+), 6 deletions(-) + +diff --git a/test/getrandom-fallbacks.c b/test/getrandom-fallbacks.c +index b124c181..4048ae29 100644 +--- a/test/getrandom-fallbacks.c ++++ b/test/getrandom-fallbacks.c +@@ -151,13 +151,38 @@ __wrap_syscall(long number, ...) + there's no way to _clear_ that flag again. This test chooses to + exercise the read-failure path, not the open-failure path. */ + #if defined HAVE_SYS_STAT_H && defined HAVE_FCNTL_H && defined HAVE_UNISTD_H ++ ++static bool open_needs_mode(int flags) ++{ ++ if (flags & O_CREAT) ++ { ++ return true; ++ } ++#if defined(O_TMPFILE) ++ if ((flags & O_TMPFILE) == O_TMPFILE) ++ { ++ return true; ++ } ++#endif ++ return false; ++} ++ + static bool urandom_should_fail = false; + static int urandom_fd = -1; +-extern int __wrap_open (const char *, int, mode_t); +-extern int __real_open (const char *, int, mode_t); ++extern int __wrap_open (const char *, int, ...); ++extern int __real_open (const char *, int, ...); + int +-__wrap_open (const char *path, int flags, mode_t mode) ++__wrap_open (const char *path, int flags, ...) + { ++ int mode = 0; ++ if (open_needs_mode(flags)) ++ { ++ va_list args; ++ va_start(args, flags); ++ mode = va_arg(args, int); ++ va_end(args); ++ } ++ + int ret = __real_open (path, flags, mode); + if (ret == -1) + return ret; +@@ -167,11 +192,20 @@ __wrap_open (const char *path, int flags, mode_t mode) + } + + #ifdef HAVE_OPEN64 +-extern int __wrap_open64 (const char *, int, mode_t); +-extern int __real_open64 (const char *, int, mode_t); ++extern int __wrap_open64 (const char *, int, ...); ++extern int __real_open64 (const char *, int, ...); + int +-__wrap_open64 (const char *path, int flags, mode_t mode) ++__wrap_open64 (const char *path, int flags, ...) + { ++ int mode = 0; ++ if (open_needs_mode(flags)) ++ { ++ va_list args; ++ va_start(args, flags); ++ mode = va_arg(args, int); ++ va_end(args); ++ } ++ + int ret = __real_open64 (path, flags, mode); + if (ret == -1) + return ret; + diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/libxcrypt/libxcrypt-4.5.2.ebuild b/sdk_container/src/third_party/portage-stable/sys-libs/libxcrypt/libxcrypt-4.5.2.ebuild new file mode 100644 index 00000000000..b43a96c2677 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-libs/libxcrypt/libxcrypt-4.5.2.ebuild @@ -0,0 +1,261 @@ +# Copyright 2004-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{12..14} ) +# NEED_BOOTSTRAP is for developers to quickly generate a tarball +# for publishing to the tree. +NEED_BOOTSTRAP="no" +inherit crossdev multibuild multilib python-any-r1 flag-o-matic +inherit toolchain-funcs multilib-minimal + +DESCRIPTION="Extended crypt library for descrypt, md5crypt, bcrypt, and others" +HOMEPAGE="https://github.com/besser82/libxcrypt" +if [[ ${NEED_BOOTSTRAP} == "yes" ]] ; then + inherit autotools + SRC_URI="https://github.com/besser82/libxcrypt/releases/download/v${PV}/${P}.tar.xz" +else + SRC_URI="https://distfiles.gentoo.org/pub/proj/toolchain/libxcrypt/${P}-autotools.tar.xz" +fi + +LICENSE="LGPL-2.1+ public-domain BSD BSD-2" +SLOT="0/1" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +IUSE="+compat static-libs +system test headers-only" +RESTRICT="!test? ( test )" + +DEPEND=" + system? ( + elibc_glibc? ( + ${CATEGORY}/glibc[-crypt(-)] + !${CATEGORY}/glibc[crypt(-)] + ) + elibc_musl? ( + ${CATEGORY}/musl[-crypt(+)] + !${CATEGORY}/musl[crypt(+)] + ) + ) +" +RDEPEND=" + ${DEPEND} + != 10) and Binutils!" + ewarn "Older/mismatched versions of GCC may lead to a misbehaving library: bug #823179." + + if [[ ${BUILD_TYPE} != "binary" ]] && tc-is-gcc && [[ $(gcc-major-version) -lt 10 ]] ; then + die "libxcrypt is known to fail to build or be broken at runtime with < GCC 10 (bug #823179)!" + fi + fi +} + +pkg_setup() { + : +} + +src_prepare() { + default + + # WARNING: Please read on bumping or applying patches! + # + # There are two circular dependencies to be aware of: + # 1) + # if we're bootstrapping configure and makefiles: + # libxcrypt -> automake -> perl -> libxcrypt + # + # mitigation: + # toolchain@ manually runs `make dist` after running autoconf + `./configure` + # and the ebuild uses that. + # (Don't include the pre-generated Perl artefacts.) + # + # solution for future: + # Upstream are working on producing `make dist` tarballs. + # https://github.com/besser82/libxcrypt/issues/134#issuecomment-871833573 + # + # 2) + # configure *unconditionally* needs Perl at build time to generate + # a list of enabled algorithms based on the set passed to `configure`: + # libxcrypt -> perl -> libxcrypt + # + # mitigation: + # None at the moment. + # + # solution for future: + # Not possible right now. Upstream intend on depending on Perl for further + # configuration options. + # https://github.com/besser82/libxcrypt/issues/134#issuecomment-871833573 + # + # Therefore, on changes (inc. bumps): + # * You must check whether upstream have started providing tarballs with bootstrapped + # auto{conf,make}; + # + # * diff the build system changes! + # + if [[ ${NEED_BOOTSTRAP} == "yes" ]] ; then + # Facilitate our split variant build for compat + non-compat + eapply "${FILESDIR}"/${PN}-4.4.19-multibuild.patch + eautoreconf + fi +} + +src_configure() { + MULTIBUILD_VARIANTS=( + $(usev compat 'xcrypt_compat') + xcrypt_nocompat + ) + + MYPREFIX=${EPREFIX} + MYSYSROOT=${ESYSROOT} + + if target_is_not_host; then + # Hack to work around missing TARGET_CC support. + # See bug 949976. + if tc-is-clang; then + export CC="${CTARGET}-clang" + else + export CC="${CTARGET}-gcc" + fi + + local CHOST=${CTARGET} + + MYPREFIX= + MYSYSROOT=${ESYSROOT}/usr/${CTARGET} + + # Ensure we get compatible libdir + unset DEFAULT_ABI MULTILIB_ABIS + multilib_env + ABI=${DEFAULT_ABI} + + strip-unsupported-flags + fi + + if use headers-only; then + # Nothing is compiled which would affect the headers, so we set + # CC and PKG_CONFIG to ensure configure passes without defaulting + # to the unprefixed host variants e.g. "pkg-config" + local -x CC="$(tc-getBUILD_CC)" + local -x PKG_CONFIG="false" + fi + + # Doesn't work with LTO: bug #852917. + # https://github.com/besser82/libxcrypt/issues/24 + filter-lto + + append-ldflags $(test-flags-CCLD -Wl,--undefined-version) + + if use test; then + python_setup + fi + + multibuild_foreach_variant multilib-minimal_src_configure +} + +multilib_src_configure() { + local myconf=( + --disable-werror + --prefix="${MYPREFIX}/usr" + --libdir="${MYPREFIX}/usr/$(get_libdir)$(usev !system /xcrypt)" + --includedir="${MYPREFIX}/usr/include$(usev !system /xcrypt)" + --with-pkgconfigdir="${MYPREFIX}/usr/$(get_libdir)/pkgconfig" + --with-sysroot="${MYSYSROOT}" + ) + + tc-export PKG_CONFIG + + case "${MULTIBUILD_ID}" in + xcrypt_compat-*) + myconf+=( + --disable-static + --disable-xcrypt-compat-files + --enable-obsolete-api=yes + ) + ;; + xcrypt_nocompat-*) + myconf+=( + --enable-obsolete-api=no + $(use_enable static-libs static) + ) + ;; + *) die "Unexpected MULTIBUILD_ID: ${MULTIBUILD_ID}";; + esac + + ECONF_SOURCE="${S}" econf "${myconf[@]}" +} + +src_compile() { + use headers-only && return + + multibuild_foreach_variant multilib-minimal_src_compile +} + +multilib_src_test() { + emake check +} + +src_test() { + multibuild_foreach_variant multilib-minimal_src_test +} + +src_install() { + local DESTDIR=${D} + if target_is_not_host; then + DESTDIR=${ED}/usr/${CTARGET} + fi + + multibuild_foreach_variant multilib-minimal_src_install + + find "${ED}" -name '*.la' -delete || die + + if target_is_not_host; then + insinto /usr/${CTARGET}/usr/share + doins -r "${ED}/usr/share/doc" + rm -r "${ED}/usr/share/doc" || die + rmdir "${ED}/usr/share" || die + fi +} + +multilib_src_install() { + if use headers-only; then + emake DESTDIR="${DESTDIR}" install-nodist_includeHEADERS + else + emake DESTDIR="${DESTDIR}" install + fi +} + +pkg_preinst() { + # Verify we're not in a bad case like bug #843209 with broken symlinks. + # This can be dropped when, if ever, the split-usr && system && compat case + # is cleaned up in *_src_install. + local broken_symlinks=() + mapfile -d '' broken_symlinks < <( + find "${ED}" -xtype l -print0 + ) + + if [[ ${#broken_symlinks[@]} -gt 0 ]]; then + eerror "Broken symlinks found before merging!" + local symlink target resolved + for symlink in "${broken_symlinks[@]}" ; do + target="$(readlink "${symlink}")" + resolved="$(readlink -f "${symlink}")" + eerror " '${symlink}' -> '${target}' (${resolved})" + done + die "Broken symlinks found! Aborting to avoid damaging system. Please report a bug." + fi +} diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/libxcrypt/metadata.xml b/sdk_container/src/third_party/portage-stable/sys-libs/libxcrypt/metadata.xml index ff23f0d0be0..01eb178cd38 100644 --- a/sdk_container/src/third_party/portage-stable/sys-libs/libxcrypt/metadata.xml +++ b/sdk_container/src/third_party/portage-stable/sys-libs/libxcrypt/metadata.xml @@ -12,8 +12,8 @@ Build with compatibility interfaces for other crypt implementations - Install as system libcrypt.so rather than to an alternate directory (will collide with sys-libs/glibc's version) Build and install only the headers. This is mostly useful for toolchain bootstrapping, to avoid circular deps. + Install as system libcrypt.so rather than to an alternate directory (will collide with sys-libs/glibc's version) besser82/libxcrypt From bec26613284b6592d161eaa9d76b39f8d4a7b51b Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 3 Aug 2026 08:20:26 +0000 Subject: [PATCH 157/195] sys-libs/timezone-data: Sync with Gentoo It's from Gentoo commit 84abe23682557bf7f213ad417f4c3fd2b58858ba. Signed-off-by: Flatcar Buildbot --- .../sys-libs/timezone-data/Manifest | 1 + .../timezone-data/timezone-data-2026c.ebuild | 169 ++++++++++++++++++ 2 files changed, 170 insertions(+) create mode 100644 sdk_container/src/third_party/portage-stable/sys-libs/timezone-data/timezone-data-2026c.ebuild diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/timezone-data/Manifest b/sdk_container/src/third_party/portage-stable/sys-libs/timezone-data/Manifest index c44605ec910..2dbe2d511d9 100644 --- a/sdk_container/src/third_party/portage-stable/sys-libs/timezone-data/Manifest +++ b/sdk_container/src/third_party/portage-stable/sys-libs/timezone-data/Manifest @@ -1,2 +1,3 @@ DIST tzdb-2026a.tar.lz 559308 BLAKE2B aaa57fb5301dc661d39d3614493d156f9da2066bb6544c0c58e3e267d21658fdcb70412fe10bf14c3d92bdf01deee490fb2a86b6aaf902f7fec9690f863e0860 SHA512 1824fc2e198a449ebaa41e6c679a494c486b848f13fe8f18f948fde0533e99f5f01e7e7298e257c565838d24ec743e824f402887abdf525d1ce578a714c71414 DIST tzdb-2026b.tar.lz 561562 BLAKE2B d349cf4978a4b027556e6061c51f2120c2e08d31c68418b675bc973ad86a4c6b1ff885784aad6067bbc22b676f489d620f24e6abf8daf68ffa553be271bf6e85 SHA512 5ec7f74f14cd2c70a0730e3690e82bd0ba889ac26c96397c16aa08005473c2c86feb47958b52e0301810c8eb908e6d8faf998ffae75b2337a912cc9e52c0f9e9 +DIST tzdb-2026c.tar.lz 563235 BLAKE2B 38ac0db314e37619139ef859415bc3fe07eaf192924fe6179b37af76e1d0c818ff944b900b12b3969f647e8eef0dea54948f0c54c67b25ea0ab15102e5d04b0c SHA512 3e5aec7d93522efc875fc8af553f78029677aaa9be8db396c862d687bdedb930379ba6246b33a15c5fb3a76d24e937dac4f4f66d6f9edf69a668bb21e9eeada7 diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/timezone-data/timezone-data-2026c.ebuild b/sdk_container/src/third_party/portage-stable/sys-libs/timezone-data/timezone-data-2026c.ebuild new file mode 100644 index 00000000000..782a7c56448 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-libs/timezone-data/timezone-data-2026c.ebuild @@ -0,0 +1,169 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit toolchain-funcs flag-o-matic unpacker + +DESCRIPTION="Timezone data (/usr/share/zoneinfo) and utilities (tzselect/zic/zdump)" +HOMEPAGE="https://www.iana.org/time-zones" +SRC_URI=" + https://data.iana.org/time-zones/releases/tzdb-${PV}.tar.lz +" +S="${WORKDIR}"/tzdb-${PV} + +LICENSE="BSD public-domain" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris" +IUSE="nls leaps-timezone zic-slim" + +DEPEND="nls? ( virtual/libintl )" +RDEPEND=" + ${DEPEND} + !sys-libs/glibc[vanilla(+)] +" +BDEPEND="$(unpacker_src_uri_depends)" + +src_prepare() { + default + + if tc-is-cross-compiler ; then + cp -pR "${S}" "${S}"-native || die + fi +} + +src_configure() { + tc-export CC + + # bug #471102 + append-lfs-flags + + if use elibc_Darwin ; then + # bug #138251 + append-cppflags -DSTD_INSPIRED + fi + + append-cppflags -DHAVE_GETTEXT=$(usex nls 1 0) -DTZ_DOMAIN='\"libc\"' + + # Upstream default is 'slim', but it breaks quite a few programs, + # that parse /etc/localtime directly: bug #747538. + append-cppflags -DZIC_BLOAT_DEFAULT='\"'$(usex zic-slim slim fat)'\"' + + LDLIBS="" + if use nls ; then + # See if an external libintl is available. bug #154181, bug #578424 + local c="${T}/test" + echo 'int main(){}' > "${c}.c" || die + if $(tc-getCC) ${CPPFLAGS} ${CFLAGS} ${LDFLAGS} "${c}.c" -o "${c}" -lintl 2>/dev/null ; then + LDLIBS+=" -lintl" + fi + fi +} + +_emake() { + emake \ + REDO=$(usex leaps-timezone posix_right posix_only) \ + TOPDIR="${EPREFIX}" \ + ZICDIR='$(TOPDIR)/usr/bin' \ + "$@" +} + +src_compile() { + tc-export AR CC RANLIB + + _emake \ + CFLAGS="${CFLAGS} -std=gnu99 ${CPPFLAGS}" \ + LDFLAGS="${LDFLAGS}" \ + LDLIBS="${LDLIBS}" + + if tc-is-cross-compiler ; then + _emake -C "${S}"-native \ + AR="$(tc-getBUILD_AR)" \ + CC="$(tc-getBUILD_CC)" \ + RANLIB="$(tc-getBUILD_RANLIB)" \ + CFLAGS="${BUILD_CFLAGS} ${BUILD_CPPFLAGS}" \ + LDFLAGS="${BUILD_LDFLAGS}" \ + LDLIBS="${LDLIBS}" \ + zic + fi +} + +src_test() { + # CURL is used for extended/web based tests. Punt on them. + emake check CURL=: +} + +src_install() { + local zic="" + tc-is-cross-compiler && zic="zic=${S}-native/zic" + _emake install ${zic} DESTDIR="${D}" LIBDIR="/nukeit" + rm -rf "${D}/nukeit" "${ED}/etc" || die + + insinto /usr/share/zoneinfo + doins "${S}"/leap-seconds.list + + # Delete man pages installed by man-pages package. + rm "${ED}"/usr/share/man/man5/tzfile.5* "${ED}"/usr/share/man/man8/{tzselect,zdump,zic}.8 || die + dodoc CONTRIBUTING README NEWS *.html +} + +configure_tz_data() { + # Make sure the /etc/localtime file does not get stale, bug #127899 + local tz src="${EROOT}/etc/timezone" etc_lt="${EROOT}/etc/localtime" + + # If it's a symlink, assume the user knows what they're doing and + # they're managing it themselves, bug #511474 + if [[ -L "${etc_lt}" ]] ; then + einfo "Skipping update: ${etc_lt} is a symlink." + if [[ -e ${src} ]]; then + einfo "Removing ${src}." + rm "${src}" + fi + return 0 + fi + + if [[ ! -e ${src} ]] ; then + einfo "Skipping update: ${src} does not exist." + return 0 + fi + + tz=$(sed -e 's:#.*::' -e 's:[[:space:]]*::g' -e '/^$/d' "${src}") + + if [[ -z ${tz} ]]; then + einfo "Skipping update: ${src} is empty." + return 0 + fi + + local tzpath="${EROOT}/usr/share/zoneinfo/${tz}" + + if [[ ! -e ${tzpath} ]]; then + ewarn "The timezone specified in ${src} is not valid!" + return 1 + fi + + if [[ -f ${etc_lt} ]]; then + # If a regular file already exists, copy over it. + ewarn "Found a regular file at ${etc_lt}." + ewarn "Some software may expect a symlink instead." + ewarn "Convert it to a symlink by removing the file and running:" + ewarn " emerge --config sys-libs/timezone-data" + einfo "Copying ${tzpath} to ${etc_lt}." + cp -f "${tzpath}" "${etc_lt}" + else + # Otherwise, create a symlink and remove the timezone file. + tzpath="../usr/share/zoneinfo/${tz}" + einfo "Linking ${tzpath} at ${etc_lt}." + if ln -snf "${tzpath}" "${etc_lt}"; then + einfo "Removing ${src}." + rm -f "${src}" + fi + fi +} + +pkg_config() { + configure_tz_data +} + +pkg_postinst() { + configure_tz_data +} From d4c460f77cd9e6969c4fff97cac44f142321d14a Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 3 Aug 2026 08:20:32 +0000 Subject: [PATCH 158/195] sys-process/lsof: Sync with Gentoo It's from Gentoo commit e34c27b0a9d0c66a8fcefc2c2417a8939a02f5b6. Signed-off-by: Flatcar Buildbot --- .../src/third_party/portage-stable/sys-process/lsof/Manifest | 2 +- .../lsof/{lsof-4.99.5.ebuild => lsof-4.99.7.ebuild} | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) rename sdk_container/src/third_party/portage-stable/sys-process/lsof/{lsof-4.99.5.ebuild => lsof-4.99.7.ebuild} (88%) diff --git a/sdk_container/src/third_party/portage-stable/sys-process/lsof/Manifest b/sdk_container/src/third_party/portage-stable/sys-process/lsof/Manifest index 04b3fee5447..ef205266a06 100644 --- a/sdk_container/src/third_party/portage-stable/sys-process/lsof/Manifest +++ b/sdk_container/src/third_party/portage-stable/sys-process/lsof/Manifest @@ -1,2 +1,2 @@ -DIST lsof-4.99.5.tar.gz 1139280 BLAKE2B 2f11990956b64b5777721f669b231e8f2a520f4535cd3d6023a3d8563c65c83598a4b52c887a2c1c742d12b2f92f724a33873bf460a5fb52255d1622436b1d44 SHA512 1584804fd98f6d416dd1b334832a306abb8e557185523ba255032c3e33fdc472ce4912c50ef70a0ed5e33194ebc4d4853ed7a9baa40c327223614de209c60f13 DIST lsof-4.99.6.tar.gz 1145434 BLAKE2B 42fbf8ed7dfed8c8570cf830ce8778d9cbbecbd3c0f33800dd7ebfc36e07c7f86075b97bc25c33b70d73b6dde248969bcd7814a792d54cff77f10124f00afd35 SHA512 025317f98b585f266e8cbd02cf7e17dcbd5c630bf927fd710e1700f393464eeebd54de8277955ad6e2d849ebc67ebd7e0ed9bbbc53d4b3754e13cecb29a1f28e +DIST lsof-4.99.7.tar.gz 1155622 BLAKE2B 3c0ba62b2b668f9e6e796024d7bf6ae1b16d861760c61dde4e487e8aa7748a5d475d5d91cfb216da2742fd68a631cee3a4c59cd80c59be6195b7d8cf9d5aca22 SHA512 1a305e2d80a590fcb02ebd4a2008c263980879bfd4f9118af4da148d45766950b2bb1503cb78a0027ac63ef4f534abd8fc1bd5d367f9f13ee64694a9c08015fa diff --git a/sdk_container/src/third_party/portage-stable/sys-process/lsof/lsof-4.99.5.ebuild b/sdk_container/src/third_party/portage-stable/sys-process/lsof/lsof-4.99.7.ebuild similarity index 88% rename from sdk_container/src/third_party/portage-stable/sys-process/lsof/lsof-4.99.5.ebuild rename to sdk_container/src/third_party/portage-stable/sys-process/lsof/lsof-4.99.7.ebuild index 99fef8bc185..c850d19f81d 100644 --- a/sdk_container/src/third_party/portage-stable/sys-process/lsof/lsof-4.99.5.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-process/lsof/lsof-4.99.7.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2025 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -12,7 +12,7 @@ SRC_URI="https://github.com/lsof-org/lsof/releases/download/${PV}/${P}.tar.gz" LICENSE="lsof" SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" IUSE="rpc selinux" RDEPEND=" From 3ec5f3f8986cb9efcc4c12c3ce2c01b9448e9bc0 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 3 Aug 2026 08:20:34 +0000 Subject: [PATCH 159/195] sys-process/time: Sync with Gentoo It's from Gentoo commit 4d48c268a730606a6df4d25252a93d9360f6247e. Signed-off-by: Flatcar Buildbot --- .../portage-stable/sys-process/time/time-1.10.ebuild | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sdk_container/src/third_party/portage-stable/sys-process/time/time-1.10.ebuild b/sdk_container/src/third_party/portage-stable/sys-process/time/time-1.10.ebuild index 9a85030c7be..3e4335bd25b 100644 --- a/sdk_container/src/third_party/portage-stable/sys-process/time/time-1.10.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-process/time/time-1.10.ebuild @@ -9,6 +9,6 @@ SRC_URI="mirror://gnu/${PN}/${P}.tar.gz" LICENSE="GPL-3+" SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" BDEPEND="sys-apps/texinfo" From 6e4392378b3154f8f4e66559a08d3c5ff8fd90f4 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 3 Aug 2026 08:21:05 +0000 Subject: [PATCH 160/195] virtual/service-manager: Sync with Gentoo It's from Gentoo commit 972b5c2146b4c938f11e2f974e72633f9426bfd6. Signed-off-by: Flatcar Buildbot --- .../service-manager/service-manager-3.ebuild | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 sdk_container/src/third_party/portage-stable/virtual/service-manager/service-manager-3.ebuild diff --git a/sdk_container/src/third_party/portage-stable/virtual/service-manager/service-manager-3.ebuild b/sdk_container/src/third_party/portage-stable/virtual/service-manager/service-manager-3.ebuild new file mode 100644 index 00000000000..a8a89172e6a --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/virtual/service-manager/service-manager-3.ebuild @@ -0,0 +1,25 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DESCRIPTION="Virtual for various service managers" + +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris" +IUSE="systemd" + +RDEPEND=" + !prefix-guest? ( + systemd? ( sys-apps/systemd ) + !systemd? ( || ( + sys-apps/openrc + kernel_linux? ( || ( + sys-apps/s6-rc[system-init(-)] + sys-process/runit[system-init(-)] + sys-apps/dinit[sysv-utils(-)] + ) ) + ) + ) + ) +" From c892a184dd5ecced7bb030032697836fab15dee5 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 3 Aug 2026 08:21:12 +0000 Subject: [PATCH 161/195] x11-drivers/nvidia-drivers: Sync with Gentoo It's from Gentoo commit 9edb681b6d454d2ee014261496905899eadcd8f1. Signed-off-by: Flatcar Buildbot --- .../x11-drivers/nvidia-drivers/Manifest | 16 ++++++++-------- .../nvidia-drivers-580.173.02.ebuild | 2 +- ...80.ebuild => nvidia-drivers-610.43.03.ebuild} | 3 ++- 3 files changed, 11 insertions(+), 10 deletions(-) rename sdk_container/src/third_party/portage-stable/x11-drivers/nvidia-drivers/{nvidia-drivers-595.80.ebuild => nvidia-drivers-610.43.03.ebuild} (99%) diff --git a/sdk_container/src/third_party/portage-stable/x11-drivers/nvidia-drivers/Manifest b/sdk_container/src/third_party/portage-stable/x11-drivers/nvidia-drivers/Manifest index 22b0d5ff489..8ac6ccd20d4 100644 --- a/sdk_container/src/third_party/portage-stable/x11-drivers/nvidia-drivers/Manifest +++ b/sdk_container/src/third_party/portage-stable/x11-drivers/nvidia-drivers/Manifest @@ -2,9 +2,9 @@ DIST NVIDIA-Linux-aarch64-535.309.01.run 270033799 BLAKE2B 3f5ce5f024d0bb3570703 DIST NVIDIA-Linux-aarch64-580.159.04.run 313659746 BLAKE2B be22824e065d565301435cdb8d22139ae1a52654830c1350cf9bb43d1bb14294cf3e37e05fb4cc2c8e121cfd860b0221943b85ae4a96cff293803c0ec4c6b214 SHA512 2c23269305b59563924dfae85d4eb49a88bf391b77d5edf05026d33f4ff1b504b51847cae0404c6885dc543303889ae665e1c08258fc52737b7b610ec5135521 DIST NVIDIA-Linux-aarch64-580.173.02.run 315169067 BLAKE2B 18864723e8f75cb84ee8edcb69213d03f9720760c5a89843abe78c43d1aae5923c9d7986573aae8d3fbc7a6d579f72d683fb78f90f87e62dd8ab24eac6ee04b5 SHA512 4bf8b21898c83fe31d1588c8f57d322584efb995b4d2706f8fd5029fe0f451b888046c439569c0d76b48fb279c11b3c4d20b57d37e9ee6da3b2ef4b050c0b40b DIST NVIDIA-Linux-aarch64-595.71.05.run 316744636 BLAKE2B 8a3c0179701342ef649cc9d247688cd6ae3a6be88920830ca8f81dd7b2e1862e497164698acf484bb145b04002e3903b1aa8116abd4530c7200f0d9ae525159c SHA512 a2d4ee2c260e34c16b7e04e9dbbe3a8ca486279e7743fb2b95ffa02cedb5e42ad7c5dc4c26fead86cd3a7d7ccf7467439d93691e0e0ce66e8425e622a07bf050 -DIST NVIDIA-Linux-aarch64-595.80.run 317098210 BLAKE2B b7857052b4d03b7e041f2dc364c3a257bef711f2e6c094be441236449f1b0f9a099002024437521ecf0b4299997ed816b096f22ee78ec25f8a60222a2255ba08 SHA512 2d5a7b21199223f7b5f41a64c05155586cda9e54e9444c2602c742442bfb278653db8f282e705dddd5f5774e25b5e4e3ff4b24acd5137d9e28ce4f569a1d63dc DIST NVIDIA-Linux-aarch64-595.84.run 317751308 BLAKE2B b8682656e2fd75878b8990acf1d056d52bd4cd81e70d90928575e26e3fb93b21cbdc18aeed3b75eb0d2d40fe87584c29f93ea32087045ce532b188334c021085 SHA512 089eebe32cf97108514948edbbf2bc6e3bb73afb5e8ce9a8300b1d1c0a85f5b014f9910874be24fe41f58d7b232538668204eef0aecef222d0739b4011b1b043 DIST NVIDIA-Linux-aarch64-610.43.02.run 354603118 BLAKE2B 2db0cb1fb486d3919edccf0047d1db4f0feb8258103016995aac8314dcb1408807cd029bcdb33570ac729c9c23a984f94ad17fa894ef48554a7e6f273011de02 SHA512 fe44af192ec259793b2f05e53da25481fae5a9fe01131b3b4f7893858c9f788b5d031cd83b7439bf3f1ee1be48c629548d61d8f611153324ba5b46583846a1a4 +DIST NVIDIA-Linux-aarch64-610.43.03.run 354547269 BLAKE2B 81c2b03d55509b889d1c9d723e5b02e64eb6935b02785b82babda6e814b05b749d823a05fefcb06419c62be0068be7264ad903f745226f9fcc1b0cf6180ccb36 SHA512 b070e06ebb5cced56466f07efade96ef73201141e4dcf061cd87ec7e6d94357b62057ce04f8a4f3a4c3e8b006a4cce9d8db21da4cafbd8e8e6bba8d0212e12ec DIST NVIDIA-Linux-x86-390.157.run 49417041 BLAKE2B 435b5e0e60468cc74b41cc5d9b5bb0105d29c11a2d408457835212a96519c9334ecf19278b36749d3ff7f498f5b0ae45a2efae2d428703dac21245c62f1efebe SHA512 dae9ac2c12f9ad90f7441e00e01a984147c577892421911d7f67f6a31e616ac1cb7d434bc9c7f58fbd9b8ae909521b5bece607a63c79588c0bb9d99c6bad5fb0 DIST NVIDIA-Linux-x86_64-390.157.run 85835541 BLAKE2B 44b855cd11f3b2f231f9fb90492ae2e67a67ea3ea83c413e7c90956d38c9730a8bd0321281ae03c6afce633d102f5b499aed25622b9bfd31bdd2c98f0717e95b SHA512 4780503a4cff0180b1b1f37d20a6ba3438dd78b51fa7f69b98d35521835e5d61099129746929d51d63afa2d47b672b3e145e1e1897584dc3799e7f822c5b3a0a DIST NVIDIA-Linux-x86_64-470.256.02.run 272850014 BLAKE2B 0fdc867f92b82b2a60810c3b43751cad7ac2c39928c92c6c343c0c6044f4d7d923d93b8599db3f7c999c0ee7d16940e65d991a61cbb30e1d9e49c5639ac6bdc8 SHA512 a837946dd24d7945c1962a695f1f31965f3ceb6927f52cd08fd51b8db138b7a888bbeab69243f5c8468a7bd7ccd47f5dbdb48a1ca81264866c1ebb7d88628f88 @@ -13,59 +13,59 @@ DIST NVIDIA-Linux-x86_64-580.159.04.run 397162548 BLAKE2B ee0dd051341955d8eab23a DIST NVIDIA-Linux-x86_64-580.173.02.run 398312209 BLAKE2B 8d5c322fc8267fabf4096d649bf2e98b0e844ec74430dd8a4a2c0bf08e4e5fd209524639a0f1578a953216ae5b16a34dd6a349fa5a83059fb608a69e2bdd0125 SHA512 ca394b1e3f6c3403dc7ffe5d5fd7301bb06607fdbf75c9ffd338d7641c06d1878790c629108162adf4289ae829568973a48b7557183dbf7588e668f6d8edf3b3 DIST NVIDIA-Linux-x86_64-595.44.09.run 423549686 BLAKE2B eb3f959b4103895db808743f6986036a275689fabadeb16be5f9e496ccc7a963447568c8d8b248ca9bd2e8843e32c676a4e63d360dcfbde5df7a32405284b59b SHA512 835f22e562d0ac362473cd6425a9065a05a360d6c9d85e4973d34e2005468b75e177283cac8140c725f5146db3e748065eb9b93787936692fd54a8ab80939f9b DIST NVIDIA-Linux-x86_64-595.71.05.run 423133031 BLAKE2B 770af0e6228c300de069b2e87467d030d199dcd9f9c6e32c583291eaac7196974f72f1e25902b8e38056897cff99f845adf73e3eab6dedfce8339b21b76b1042 SHA512 75d22994ba963223300d3c57fdc05803ddf7d8630fb5aee3ba92017d6f614e4a7019dc09f0f02b02ec28d6d5607e284d4e6de2cd506eeda604f75a2d4177028a -DIST NVIDIA-Linux-x86_64-595.80.run 423049323 BLAKE2B 8713689690a3e8144f82e83bfb1df0db7b4a4276b5580ddf47c970590b2a211dfd7171f3fdb3eaa66e16b56e87667ceb48a8549d832518874a99d9ab45425879 SHA512 2294c8e1f2d6a3bbc116bf6b2a4c84b26c23c4c1f413ff86259c2aff1ac2f0f66a44350b0c796dd66438b0013b3e8f3a8f15d3513f4876c104a6d570b68b649a DIST NVIDIA-Linux-x86_64-595.84.run 423524924 BLAKE2B 0ec68935d5e79097aaee1a85b6d69a4cfa6d8186fae2a449380c5c24497849b2940e525084db9bb74f12392d2da92ee1ac624098d3618277f4fcef51994cdfa4 SHA512 37df09d4cb711e6c46e03dfdd549c07e2d3f88aef23e89db468e92200e57895083bbed86491f4c519da61ba9b21f82d8cf74c8c95bba066812c253111ae39614 DIST NVIDIA-Linux-x86_64-610.43.02.run 461616501 BLAKE2B 9b55b3e7fd756c1979ce86901654bab5cb05680b7ea525c7fc3c22f2d200cd3fdbec1eaac435cfb9cbe036e6659a97e4edcac79275de8b3803dcd673f20f0110 SHA512 aa626828964bd9b68dffd07865d2fb05de09b0fe944d6ff8af20412601fc72459186eee580e290c379e1a2b74f8e88c6ee406016814850952cf9330e64ab3032 +DIST NVIDIA-Linux-x86_64-610.43.03.run 461538429 BLAKE2B 493c42d857ff89da94d590aee146b5f3fc0eaeef2fa7f7f876e96b29256a9b958847ba65e1ed6981f61ef1a174034f3e44411f266f4580cc40e39c0471893f88 SHA512 6844ae73d1b1fa0a3ed830d4531747298fc9c817b3cccfd87afd285221ba7d7c0f68c279c1a8a92adf6dee2616a4e9479e30724d4182c801f720d8841a7f820e DIST NVIDIA-kernel-module-source-535.309.01.tar.xz 12537052 BLAKE2B 2bff6a129c7c407de95d140fefefd50c266c7c8dcf938a71690545cff65b3502872645e79d47f9091deac54b7e140bd93a321b18af0b9cb24ca958f033461c53 SHA512 5bd08038823f3f9c39307b441cadc6231d71195adf1835f33e5af794df24be8abed83d3b246edbf5cbaae2379b52ecdd5c975c722001e19fc96054528bada773 DIST NVIDIA-kernel-module-source-580.159.04.tar.xz 22255440 BLAKE2B b293f941ead331674b235a6d75961b13eb488c306e22a2afb50cfaa965e65fc0768cb9642fc82a16ce1b6383ccf7c252b729ec305a39db3dec38284e4fb7191b SHA512 f0ef07705510aad25344b51129c2a62d6a36a0eac02e5a60b36dc47c88cfb91d875e0298369c3bca97208deccd3f2f0d1a595abf9e01b6433bf194c778f134e9 DIST NVIDIA-kernel-module-source-580.173.02.tar.xz 22260432 BLAKE2B 523f7cdbbc3819897358b120cd92f2f07499f5a72d0a82222aa4a9f788681223a28e895df8fb332edd4b556f79cb73ff16485eef8eebf9ea0a5254563095b55c SHA512 8af3226a43eda8c03e8773d6efe080e0cf85aecbab121d7b29cd82ab0cb13bdbb3b9b239827faef27b1e12c92b6b7bc77129b17537c715ddc020574c5fa4c45e DIST NVIDIA-kernel-module-source-595.71.05.tar.xz 23778996 BLAKE2B 45361ac9830c16c748688545501124647859c247c5cf7dc6ab4508fe614425715c7299cf88728a3da4111c7fbf6f9eab8a1c77b039ebd868dc7a6367b5e97ff8 SHA512 dc417fd79ac6fa388e8c66ecb55e8207ddf19f4f98b5a04a574aad9a100753e9930e29cae08c4d36721cf56863b107ace4695207c6c91f4a831ebc3f0108e1cf -DIST NVIDIA-kernel-module-source-595.80.tar.xz 23777372 BLAKE2B 1bfd80d07a12f5224b232e2cfcbc4b5ae04cbf1cbd6411d1e5c67ea71dca2c90b615355c9fd664ba94c11fd120b84340baf7ea68357c3faaec40f73e0d3f6668 SHA512 2ca3461e120af359abc1943ab5c64a71333586d45702db195697329834c6da9e11dd908a180f6bab4905b5492acdea42fb77cdd4126d25e67e0947c8e154fd60 DIST NVIDIA-kernel-module-source-595.84.tar.xz 23771064 BLAKE2B ab49047db5a5f0d8ce9387a1c963d929cf77b28b9ba0348401d54dbd85b0747593efb860bb81edcd51807bd2075d7b887b9f5992a81cbecaaac99bccc5c9f238 SHA512 fcd7f3e0bcfef8f661e092e3b64a8c2f0635b1262819ed0502a84c6749714a77eaf5b14a137be877428c9053aea4ea497a3ffecba1692ee562ff6b888404eb86 DIST NVIDIA-kernel-module-source-610.43.02.tar.xz 26167288 BLAKE2B e87b46ff8f33cbe1262cd230012d0f2694194a7c16824a671817d212e1b93c8b3a31d35db75f9b0399693c1f2b6030b99f2f0af70d9c83c3ab9cd1c24e7d90f8 SHA512 a7bead484b396ffb34468d3d94dd87c9d9133a084b0219a275516d9c726a47550b66eb5f80ab71b04db27614c411f102402f66714d8a933fe234c2b3a2776b5e +DIST NVIDIA-kernel-module-source-610.43.03.tar.xz 26172192 BLAKE2B cb4efc7ef551a2eeae445d9e75a2b0b08fb52fa19b96270cde6dbb0ec2c4c0a3a1a5188bc622555e414656a359e446f29a61ce9ce5e7f57e2878de0e018e0cc8 SHA512 8a950074005924b338873f3cbbefb698a6d8f9d0d609e65d3395a33063f9405f5beb42309f4d0ea4b4892853b52f45ffe8a8a8557fc9d5b4c5dd397bb34226d2 DIST nvidia-installer-390.157.tar.bz2 150323 BLAKE2B 8058ca87a6dea956d564af9f7eab9b1fc82b1f2382bd5cb2f6d97cbe2e19292533522d5f8f2eacbeb16520372715fcb72f8f9b0998962af5d4e75522c8d74524 SHA512 93a7ece648602157496c8e27a88864ede341a100f5328a4c1a25faf8f0b94d252060e5e2f71d0c302fd0566c10773c30b76b3b5f431d8039b71c90a7969f7d7e DIST nvidia-installer-470.256.02.tar.bz2 146269 BLAKE2B 4402e725c8fd0157eb84d4ec140a33f97e873014577487ef1e32fb8921cabe79c60ff46532e5bfaabb2b6ac894f7c80086dbab19e61906e2e27346fb85f98829 SHA512 c962dc17d9696256d1ebedcaeb3010994f2ce3895aedc47987599ebfec132a9b9a249d2ece6502b15bd4a93f9b0106aa13487a7da5f64199c274ce11eba27cfd DIST nvidia-installer-535.309.01.tar.bz2 149086 BLAKE2B 14ed4eed4d3f998bf3c93d7cdcca8748bad9fa4751b81d193ce00dbd9694b9ae38fa865a2e82c5ec78ba58f10a73c0d5120b5aa2069cd418b9d423c3da592aab SHA512 e4a362fc0980e34c984be811570fac7b2b0ace3a7105643f8b3d15122cbc6fb9988d017e22a72659dba40588638b60eaf243bd228a386e8d2d12db0f50f42f0a DIST nvidia-installer-580.159.04.tar.bz2 169644 BLAKE2B f01f9da4e7e3ed6524f586706a7167746c88e7033d61d7ee459408748c0eaf75b236667e7177baae282c1e4ac0896abe9ab2e6796ba2638b2db6ad074646eff0 SHA512 00d11f80b8f410d8110a8450ea56a653a5a223bb1e728382e63312121d3926985c815019dc9cd0659ed97ce824f0c29d67d1188b41f1a3120e25881f1403ddce DIST nvidia-installer-580.173.02.tar.bz2 170003 BLAKE2B 05229520744fd6ab0b57632f7e62aad39737fd8239a32900a19a3844fabf1c3d511a74fc8b9ef702a06fcabb1cad8f8c1f0c1bc739ea7058504338da22536e8e SHA512 262595d41c02a2129d90c077b96b43eaf81d2f6257a00cfd61d6cebab3d645f34de08086a3a6dc897273498a33289f2fa5b552759e1963e25cef85fa2b2c2b90 DIST nvidia-installer-595.71.05.tar.bz2 172399 BLAKE2B fda7ec136805aa7e481162af171206c3e6dd8c641fc60910f1336895b87ec1e4ab7469456d3fe96ec18f763df3ab158e7c707edb89833a628fe24e69ad97080a SHA512 08ebd56a639cad608db8a82cccfc386cad4f2dadb7a01a7318f5cd70b0428e0d62fc51cf6c8fef16d567c226f5cc83c8905fb3bc36404abbc5a6bf36c0b26403 -DIST nvidia-installer-595.80.tar.bz2 172439 BLAKE2B 10b59538c6645a7a6c2ced03bf38f2fabec1cbbf8c6e915240551fcf3217333da0260fc4d50b9ba817a721c49dcf5902a3e32a1de261c1a9d20d2a2afe443bd1 SHA512 17ea2123805458470e463ceef2bc37cab5e22e55e43040ca6d6862acd036ae23c647c2c05fa9eab4eac5a8462fe38a9502648d6720bc3065f75a826fd5208ea5 DIST nvidia-installer-595.84.tar.bz2 172347 BLAKE2B 4fa015bc1807b6b8379cfc03a34daeba74c8a0a942822546aede7199d486ba2a78bd74976f2d67b4a893025321fb063956ea61df51dc4d59ab28ce71ba0723b8 SHA512 517361cf25ed0640cb8715b3c523004b0ca6539e2e8c54253198c4890c7268324386d1f0f1ebe321c6062052493e8306167ffe80da075d25cc52b039ef4c39e1 DIST nvidia-installer-610.43.02.tar.bz2 171883 BLAKE2B 7de020021d83b8283c1603bd7351113ff11444db7922593d956589473bef46a0b408208b3aabdb08314880310637c3b0149d30b7547c9973d2fd806fa3d7b946 SHA512 26e43710517192883f41586fbd3806e71e5648bd3f9a531d27d3a4ffb114ee803940d6e1e05d86eb853f69217c4a158d00dc4b7b410828e25856c4ade5ef5bad +DIST nvidia-installer-610.43.03.tar.bz2 171921 BLAKE2B 54772b0ba8528971266a566b09655110a3e637632ff124da8f3655ea15e0481cffab76c498be0b51da34d14c87849400a2ebc0e0dbabef0789b25ee1c3b85d30 SHA512 c78d266f677ea5713744bc151da009898ee732eac7cc8ee71b38c33d7cdf950163c332607fb4b5efda6533d57ba524f38c5f52c6b48daa8a46d483e2cef3329c DIST nvidia-modprobe-390.157.tar.bz2 35306 BLAKE2B 80d202b39c2f95ec0f909712c2e101483af50124092c32efb33bd98ff58ddfb97b737ff07f1ddc941f688c1b4c26a15f392566d522e18506771f10422fcd571c SHA512 109bbe24a3758b568ea65fe1e9d78f69fae6108ec0497b796c885a3912825fe04ffd7389a3e22987f1a10a2926bf6eaa384faabc59478aa3ee244dd3ac91c6d3 DIST nvidia-modprobe-470.256.02.tar.bz2 38769 BLAKE2B 0db444b09b0b6d24c04877fae95249e781d82b3141f90eb05d869b64d2b6e65ad00bf44c4e427c64dbd4765fa99a8699f80a1d95b00c66137a54dc878d7ea298 SHA512 c1cbfa6c8e188e5a5eb5d390b9a903406cbff103d212fc30e611e4023be3fde896ad84e8bb45b030beb5d1bcd8155c9e55a8f9636c45ce1e2a5c03f672989a31 DIST nvidia-modprobe-535.309.01.tar.bz2 40756 BLAKE2B 4c8d41c3f8d811155aad952e7120bed92e44d50e6af3551396f4be73f733f64b72d76d670676adc957efcf4c0e05df6473ca50a7cd378e56a0da52f8dfb2246e SHA512 b39f282034320836cc4424901d0230b5bdeb72050f18e0d024715a89b0085fe5a420ca82425ded4218a25ee3f7e8f6fa1abb37ac37843eb1b9e35aa8a2657a66 DIST nvidia-modprobe-580.159.04.tar.bz2 41688 BLAKE2B 4600a5ec3428d0340e4268c7b191c5cc872680e3b7cfb2d3886c05b3d9706295b276cea6a957bc5263a21d7e9a60a18f8986efa1f88a9b13d9f22c3b2534bcff SHA512 9577d291a23e8044a1d8caedd5c9a7d900698b7d53f9a2373c9e38a313be0846d7e4965fdecb081d18144f01216159c4bcae7c0741d3210c7e9d8b0f42d91099 DIST nvidia-modprobe-580.173.02.tar.bz2 41711 BLAKE2B 4524b0a7c8928c3c9a76b3190adc7e1886fa769a55ba824a6970776b1c28d603bd42125d190e8b0aae603f5d2e5786813c58b538d564894e4c4012de0f0ec348 SHA512 54848c4d7c95f66d6c892716615e6ff4a4ac9c94ae822d8124030d82a792aacfb3a32e9b84dce6297cb95efd66de94dfb967f34769476d0b50f91aa83aa3aa9d DIST nvidia-modprobe-595.71.05.tar.bz2 41724 BLAKE2B 23a0fd55e50106341a4196af7bca568c96555c6b0583ae41b860ac73ed4cd6d5222709a88768662fd18a2e4f7686ff092e5603497af71ea7dcbebaf50235c54e SHA512 97fa81a96884f4c2fa6ecdb86d513121b00e8bc955b9bea0947c8ab34271a016458e405df451fb6340e4b8243572980b5e7a4f24af2775310d3cae35a1bcee0b -DIST nvidia-modprobe-595.80.tar.bz2 41701 BLAKE2B 68c12da5284a27a0c5bcdf96e7b791a16fd80e0c425ac51bb42c9b2172f215adc311844f7eec534af928bb25265a480c591d077aa8c2a5352739c8f27335814b SHA512 779c1dc3b4505c197cd6e667225c60445938c9fe6fc1f4914e50755c58c6e9ac7fef51be8b59c7b66d17fdf463b7d87379b48b40a5002604cab6a88e963369c7 DIST nvidia-modprobe-595.84.tar.bz2 41672 BLAKE2B 0a19de7d2ff1ed81a5bc1ccdf1dc54d2baf192a18bb998ccc9f5aaae2979282a6dd58dac044536bcbd0335036e65fbdfab452a8781c72c2fb0891390037f543b SHA512 96e77e20515121aeac85b1bbcdfcdf12a9dace2335e63ae6a85e6a687e102324c2740e8a6af7fd727a5eee169a26e457eb0b727dcead99a45efbd1b981375753 DIST nvidia-modprobe-610.43.02.tar.bz2 41751 BLAKE2B 2fc6e0077633acba025ad9728f002f283dcaa4b3ff2802e63e53073f3fd54f4e955d62bea5e0677e9f8a4eef771f0bb35bc4d728e96eb0356eb335ecb9e0c9e5 SHA512 c94f4c820744c183b8584e1b74e2e6f50c752fde52ab133055999c1eedc5096e0d2788ee1bd7476b959c243df1ff6ebb5fae5c56e92f87b99573f2e52ec75ed5 +DIST nvidia-modprobe-610.43.03.tar.bz2 41748 BLAKE2B 057e1bf62a818651a60713a48103841acfa6e008217f45734a9d4d832d1c89dd62ae8838916753941b3f779da5716882b0bf631f3d679f6d483a31c34ea08d6a SHA512 a3875982dcd00bc8f4f1f853e56cbb10893ecbac099ae07f9043a64cf4da76b8246aff75eba7cdba3b8c12c57e62974d48230336325c189bd54ae28f2a7c3d91 DIST nvidia-persistenced-390.157.tar.bz2 48654 BLAKE2B 2cf6c92da90acff55e8c180a06b0c6a29d48be9fd8ca3c541202fd14f0697220fba6b66452942aa7ae7cc8821f5c5eb9fa8f7a31d2248624e5f9141d83a176b8 SHA512 70f0707ed6f2b877e69ef90cf782f66cbc9d2071db53ca09ceb7b89427b0fe176708517340621fa251539b7d481b238adeeb60261674eed74de1f62db6dbb72e DIST nvidia-persistenced-470.256.02.tar.bz2 46567 BLAKE2B 8f837322a3b88412fd2f6acf38721b49a6cb444fbd842d652519e5596f2e545d8f06bbdf017f46a22301ce87455f96147fab2829ca5fbf26131ec3e4a772e282 SHA512 4fd19258649b7d39945fb5c8578bf11ab118617dd14f3d11cdf15cb3fe77daf7b4719e4ae57af59031b1b809d02f4e8e8afed0ec60b9d0aed4d2488bd3013cd9 DIST nvidia-persistenced-535.309.01.tar.bz2 48569 BLAKE2B 5756b1335d6a1932529babcc401de4f544ea18dd6da271fde258ba046c98584fc736f211e4c5ac485eab70a6d1717b5aac3cb15f818cbf9eda29a64151fbcdf1 SHA512 e49631fbbc1466820c87fe9a7538b7dfaed512690d1b14e4482bfb471c4e144c62d0f2df5bc8dd3aae443475278b0aa1ab9cbe27059a38fce9b82212477b87b1 DIST nvidia-persistenced-580.159.04.tar.bz2 62225 BLAKE2B 2d3b4585c9fa0a9b367c73c204f5350088971690fe98019840405645fc90020c6c1a6e985049b191df796f07784604e97337ef9c39311554cfb05353c1429204 SHA512 057537c1641ef3a4d9f594371ee01c4a0fe821561969cd5c1557bdd8c6b4319aaee02cf6bc583f20e47102ecb8fed99666269c5398e31d17024aa0a299505830 DIST nvidia-persistenced-580.173.02.tar.bz2 62225 BLAKE2B e8f1111175e0447910aebbfce1309c1df1c92c655a957e06ff18fb932b75bbaf42f1b23d5d5507cf87c84e750f8402564daa0400d9203483e493b8c7067221c9 SHA512 9b007c430a92137a914b7b977bc142ad8367e26880102ecf51acc153ecf061c369c94b8dbb87bb23cde5b870aeb31139702a544e7547e00e75bacec4b4a39876 DIST nvidia-persistenced-595.71.05.tar.bz2 62538 BLAKE2B ebf86357c81689d553d0f1f8a602932ec466781f81402a9bcfd1d4155de6ceaa795dec0ae0b9937b3e02ba2605cc11849bad36847df30aae673fbccb52bc2e3a SHA512 a3fa79468d7b3e8eccfab4f52a6e9240e3d65dec9454a10d350f45e5c27781922bc7ceffcbe6d40d9cf63694d84b4a7678c1f1268b72b821f08d22bbd05f7a78 -DIST nvidia-persistenced-595.80.tar.bz2 62512 BLAKE2B 854263b23e7445993eacfaffee7ffd40ab8681dabfb32706a8adb70d6fd66a2b2cdb8ce4947693617397b1e5347017d27bfb4c6ea059ad4ac3abd08d185407ce SHA512 aaad09d17534017a521120673f556a32b492884c8ba49cd5d6229be5e043e8a412699125692ba9d99a2e7a8fad44af4053a2b3bceca3af04c098bb7fec1a08f3 DIST nvidia-persistenced-595.84.tar.bz2 62533 BLAKE2B 8cd22cb3365987059831b4f319301ee09ec61d78d4ebea9b68719902df95d30aad75a903c0c67048cb9a6b62b8160f3b8448ee1e16b2c80d0c4d200f1c949fb1 SHA512 cf418360022e1ff350c31ff2464e3af43a1ce4b2162da61b56ab0a097cfdd0257f5f7214d6b456d622bbe76c0ad13a3c3a9d50d4f782b08bd675424b3d1e360c DIST nvidia-persistenced-610.43.02.tar.bz2 63333 BLAKE2B 5b844724f4eb06b23b4844915541f1ee9564d7a377801fdfcbec56b5fb2411b93a526f89a62057fb645d9cb9a45d0ad62fe72353dea818fc2259fec6fbcfed92 SHA512 63075e7ad5f7bd99ccbdc5f83044e977a5856a2a0e27c8342f15a2163c47d70378ddcca7a97641ac6cc43a13595a6a7c0cbb8bc610b4ca99e1c4592520482d19 +DIST nvidia-persistenced-610.43.03.tar.bz2 63321 BLAKE2B 20a35e6706b3a3cd3af7b805c5126fe3be82c4a068a25c0c3d17315febfdd483c714c94b681329b1a844dd5790b86f8db66bdf711fb9690dfba93b20880e46a7 SHA512 abd18c85229ccfe3da07bee9f894d035601ecc7aef63db87329d970715608d6787201bfdf33c849528659831840b4384b4b05560f17f5c643219f1330cd5d78f DIST nvidia-settings-390.157.tar.bz2 1108938 BLAKE2B d9ec1ab5d7f157d74627272adf752a671dd17e2ede02069437b6180b927fe315b15cc6416d584ab2f038b76fe01e5b64514a834f24d88ac16676e55205fdecdd SHA512 b16699009bf56a1ff3b623a528c58061c4f5a2c5c4a373756a07bcd667743a1df7c733a572d2d0baa835a904ac2fda8a5c85890dcc00c3a0f223e0467aea902d DIST nvidia-settings-470.256.02.tar.bz2 1062273 BLAKE2B 8e66201e7861469b12932595ef8f9fd29d4cfd570c2576ae7fbb7383f61c55ac71fe721cc431e79d6d69f86d998b5b4c3cafe531b573f439e6b499b0fc047a19 SHA512 626e66118ae2e62eacfdf44e37529c409b945a6f33637b9690d74abd87a2afb581aaca5f90328d280da99ceb659959d0e5dc5c22ef8013b2205b2b1c72e08007 DIST nvidia-settings-535.309.01.tar.bz2 1094768 BLAKE2B 6a951e7e8e1ccd968a0727d2c8aa5008044d789dac5002f148930ba7ceb07cd3caa59f265c818392a7fd996bf0418729be349bbc1ea0b8870b1a38f5fa9470f1 SHA512 d0d62c3abffe52ad65585f6e88b894efa07cfb9918d2cb628b771d4d8a40149d9097ad7cb66b01a9bc0b4067e63540f2bd67412fe52105348bcca60955f228c8 DIST nvidia-settings-580.159.04.tar.bz2 1133196 BLAKE2B ebe947f523301a612f3bc87c9d38659052158d6e421339e12a879b6e854f0778a6166b91e71d0e4638961d63eb983e0bd899b9cecc45433b51bd04d010c38319 SHA512 edb4def04272bc663a47ad117e67a91f0b6719bb3a8b6d0c85758275767b945bf430ea025828c9fd121550546f65d253b5c54792c2151090b6ad0e7ae9d02c75 DIST nvidia-settings-580.173.02.tar.bz2 1133131 BLAKE2B 393e2be8551db1b8c509c446f76086681a89d7dcec3670552cda8b5e84af78a9e091600727a5f0950c78866b282d8f9dc4ba51b85bcc7707288eee9d46c89404 SHA512 4ccb991fa522d5e2833480722bc741905d0abe1226f96f8a2e2a51c99ab1137cf7f5564b50cc55115b3fd535345b11b7bd07fe74c7e356f93b0082b04e880211 DIST nvidia-settings-595.71.05.tar.bz2 1136100 BLAKE2B 8b0af1e7a81b63042c762794c2f8f3094b40c4a9fc845dae9c39b63c02c613ce6893cb2451806ba775df8128b498259435ad49dd4ea27dafccf0c6c7bfcfda6c SHA512 8f7286863e1306cb50860f83aca046bf4743d3c8c72ddb9e6461e240bb741aa7c03e795081d821808832923ba0e736a4676cf137c84adc8ea770c6d0a28d8dc5 -DIST nvidia-settings-595.80.tar.bz2 1136230 BLAKE2B de34d8594c1f5e888e7c941aab1a3222233b56f565559c7a3e96fd8c605390ffd4bba05f319ae9d584b216d7f032d63c86fffa320ebfe52756a986fe5a69ab28 SHA512 46529e60f24ee97f20eba30d242070bbb57599daa7b440c41d7477c8ec2047702367d1e771a722cb69d240185837e9f6b93171ad7013c6c55b691d9c411b8dbb DIST nvidia-settings-595.84.tar.bz2 1136429 BLAKE2B 2faf98fb0bf6f0f5a07935ecd07dae44c15826f0f41e3221192811e2271d772879577dcc0d547d0aad7960574b999d8f977a22382484ba8df646499a212f3c62 SHA512 ebb79d0bc79d284711e388dbf9c818eaddf18ad9d7e41eecb4e5087a43fc2636b62922960547668274fa3832961f1f7030647bc9c3280a9f3e1e73d8175c8b1c DIST nvidia-settings-610.43.02.tar.bz2 1138293 BLAKE2B 4d0931334d14b60ed8cf113d1a74d321c12edd1fb2f62c23683f392931f7b65779c9539148e20a9e259d4e2f9d6a6fd2249265e93edf81e49bec25291e174d4b SHA512 e4a5a5ba6f5858f786c98d6bca4f416f0fb160beb0a5329b80d5d03378d68d623e69ed0fea29de81a16b7d819c9e57007d2e690b7dc890cccc04b6298c86f9b7 +DIST nvidia-settings-610.43.03.tar.bz2 1138062 BLAKE2B 1f820257ecaed293189252d7ba70e943891497a96046be516cd756e8129360c9be325194abe86551e8dd27f66113ce82d81727e813c886c3838ea1b214a91e9c SHA512 918944acfdfd11f799ba30eea10f3de93c6298030e8c86f10270ff6f2f3b7b1c4814d7e595ce008a1fd41f14c8c958210d4f78b3a5db75c116abc8c0827f4952 DIST nvidia-xconfig-390.157.tar.bz2 107399 BLAKE2B 0cbb3b1ba508ddc3ba4a161c290b31bf7a67f67880bdbd01171a962c5fa97ca945b1ef17932403f8589309380743f1da632c728d8accb6d4e56dbd895e7486bb SHA512 50b390811c9bf091b14add41f886925b17496b41006b7d3981d2398caa65cf5db8a579c8cebed78278384bf3acc629befb07b54339c61abcc75852c0dcb8b8ca DIST nvidia-xconfig-470.256.02.tar.bz2 108698 BLAKE2B e468574e4bc57e7279d4120e2b08a201671b50d408be0c530eabe5da7d45daaf21cbf5c7fa31410d0d732fe8ea1551cbfb21d1ae193c1b3f5b5c50c764c9e236 SHA512 9dcec1e0c2b56b4d38a5f2c76086302f8bc0860cc15012cce29c3a5062f801a48b6a2bb78344361b07a2717b58502783441a2daf402d9973a17526175b1f15ca DIST nvidia-xconfig-535.309.01.tar.bz2 111085 BLAKE2B 7a2f55989f93bbfecef0ae0c76113b42cc79c3fefce12f3becb2c3722978115b2408efefa63845ef2f9ef7563f9ce79c5a9cafcc3de4f70605f34aae44d485f5 SHA512 710f279b6e4ac143c39344c44cda5950777c613f193170a76fa948def5a13b5b9177b44651e3b46a2630e7f420a9189671042f76b88c14a31ba6f6dcd78fdb7d DIST nvidia-xconfig-580.159.04.tar.bz2 111540 BLAKE2B 95cfd0c4af5e2d171e39c1e53e225ec92cf5ac9ce3c9953c9e558f08a67e314030f5a2b4618706ffd6e598f314eab45b4d3087a8896222dcbf6c1a4b73a2debb SHA512 878a37240de42baf2f9a453cb3f5aaf0a6029cb1f00b3b1567c9e25175a2e1118b5266965163296eba0b39a9e01137b9d815ed29d4dd67f1ee43d5905b373d98 DIST nvidia-xconfig-580.173.02.tar.bz2 111531 BLAKE2B f0825338455d511bd2a273e7094c9ed7f1f9e21d7fa24c761d241d2db45e8179cc43d2d6888713aaecc866cc1a0c37e2c35e5f7d9b62af5771db1109f35008f7 SHA512 54a1962fa3ba710ca67e38829f12fa6f6128f45d17e5a0a7a1cca47ca6190caf9c9460459a21549d4ccfe71bc0062769818fb824a218d46e284d2b5011f5abfc DIST nvidia-xconfig-595.71.05.tar.bz2 111096 BLAKE2B 8b6f7e043319577f0b21780cc88ce189b99123ee079a4e5188e7c12d7d2859776f5d47efc1625ba70542df300ba88bf555e8d4638816322966d04c9a316b5a56 SHA512 bf705b1916633d8dfd4742d94358607901bc843f1280954391d9ee7be98da36f0f895811057b8666f59ab3b850bc6e5bb2bf80a88923827497cf0b5a852db6fa -DIST nvidia-xconfig-595.80.tar.bz2 110917 BLAKE2B 93b78ac4de45b63ccc7fe16008631abbdaea30cc3e7b5958a2ae54e0a95ab1f492edd00c53af3d543895b3fb9a5f329013b6cb1abb091d778346ad0c1dd4bc0c SHA512 eb2a9221face01763807ee4ee6198f549e89b3f1c8faf37711c7c424503d0e4c8ff70bbf7d487264b9d745d75ed3e55af5d41001b783dedb3cafd8328b76d851 DIST nvidia-xconfig-595.84.tar.bz2 111532 BLAKE2B c76bb3b2bbbfdb2b9b670c395a721bc546a66619b127d943ff2ba568f2243cdf048ab271cea53e25cfedcbd303106252ade8267e6aac8116a754a4776dbfb206 SHA512 75ab16185ad00f627a2309694fda95d7319b9547d44c21e79b63cfa4504a6b84294f372b0aa2af36a53fa6001e55200e4cb3724cb99b56864cbb1479cab7bba3 DIST nvidia-xconfig-610.43.02.tar.bz2 111123 BLAKE2B 5ade2f6525b4fc847a28c6d853dd5d829c434ed892cda9060ddb6f66566e440bc11d0f01a2930016000b8f1861bcd5be5c9ca168d4d7ecb91fdfb46e61b2c98f SHA512 c8975ea34bcff52fd19973c28b3c215e847567e0d153ca2dc3b867b55c3bb9325a52a7802e77986f65a0472cd0ac501b872bf2ed05ca9543413ef8dc26af2b2c +DIST nvidia-xconfig-610.43.03.tar.bz2 111077 BLAKE2B a165db53d12a512a6bb0dc86a49899cdcf2b7fd58883a4000637b92e6b9e5d58c6fa5f25b42d7cc28ee1357fb40c45767a670ee0409827baf8e2b75c43e4a9a6 SHA512 81edf463055eb595a6211ce3692c0eb80badb78aefd64151203faf30c753ff5060f2ec19b972531d43dee65f93072fba3906eb081d388f86ccd2223b6db40f15 DIST open-gpu-kernel-modules-595.44.09.tar.gz 24805417 BLAKE2B 0281e825fb55982971499bc4a5284115fd0fdd24eb033bbff17010d1e7ace7c041dac56f98123cfbd5009f1f75b25332e3dfa68acc684c3f59ff740769cd291c SHA512 57a43e94740d31b84671cddb061825d954d1039fbdf82572875f8ca3f94309d7480ac19718e96cf062c9a78e8b2ef3598766928f03e9420fed90ab6f3ab65b7a diff --git a/sdk_container/src/third_party/portage-stable/x11-drivers/nvidia-drivers/nvidia-drivers-580.173.02.ebuild b/sdk_container/src/third_party/portage-stable/x11-drivers/nvidia-drivers/nvidia-drivers-580.173.02.ebuild index aa8031fdae5..78865e013bc 100644 --- a/sdk_container/src/third_party/portage-stable/x11-drivers/nvidia-drivers/nvidia-drivers-580.173.02.ebuild +++ b/sdk_container/src/third_party/portage-stable/x11-drivers/nvidia-drivers/nvidia-drivers-580.173.02.ebuild @@ -27,7 +27,7 @@ LICENSE=" curl openssl public-domain " SLOT="0/${PV%%.*}" -KEYWORDS="-* ~amd64 ~arm64" +KEYWORDS="-* amd64 ~arm64" IUSE=" +X abi_x86_32 abi_x86_64 kernel-open persistenced powerd +static-libs +tools wayland diff --git a/sdk_container/src/third_party/portage-stable/x11-drivers/nvidia-drivers/nvidia-drivers-595.80.ebuild b/sdk_container/src/third_party/portage-stable/x11-drivers/nvidia-drivers/nvidia-drivers-610.43.03.ebuild similarity index 99% rename from sdk_container/src/third_party/portage-stable/x11-drivers/nvidia-drivers/nvidia-drivers-595.80.ebuild rename to sdk_container/src/third_party/portage-stable/x11-drivers/nvidia-drivers/nvidia-drivers-610.43.03.ebuild index 935a898367f..be9933e14e3 100644 --- a/sdk_container/src/third_party/portage-stable/x11-drivers/nvidia-drivers/nvidia-drivers-595.80.ebuild +++ b/sdk_container/src/third_party/portage-stable/x11-drivers/nvidia-drivers/nvidia-drivers-610.43.03.ebuild @@ -60,6 +60,7 @@ RDEPEND=" dev-libs/openssl-compat:3 dev-libs/openssl:0/3 ) + sys-devel/gcc:* sys-libs/glibc X? ( media-libs/libglvnd[X,abi_x86_32(-)?] @@ -333,7 +334,7 @@ documentation that is installed alongside this README." linux-mod-r1_src_install insinto /etc/modprobe.d - newins "${FILESDIR}"/nvidia-595.conf nvidia.conf + newins "${FILESDIR}"/nvidia-610.conf nvidia.conf # used for gpu verification with binpkgs (not kept, see pkg_preinst) insinto /usr/share/nvidia From fbf43d4bf8b1bf9d096046e58447d0e480634d8c Mon Sep 17 00:00:00 2001 From: Krzesimir Nowak Date: Mon, 3 Aug 2026 17:19:07 +0200 Subject: [PATCH 162/195] overlay profiles: Add some accept keywords Signed-off-by: Krzesimir Nowak --- .../profiles/coreos/base/package.accept_keywords | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/sdk_container/src/third_party/coreos-overlay/profiles/coreos/base/package.accept_keywords b/sdk_container/src/third_party/coreos-overlay/profiles/coreos/base/package.accept_keywords index 9f16ad6df3f..fd792013283 100644 --- a/sdk_container/src/third_party/coreos-overlay/profiles/coreos/base/package.accept_keywords +++ b/sdk_container/src/third_party/coreos-overlay/profiles/coreos/base/package.accept_keywords @@ -10,6 +10,9 @@ # Chewi maintains edk2 in Gentoo, and we generally want the latest. sys-firmware/edk2-bin +# Keep versions on both arches in sync. +=app-admin/logrotate-3.22.0-r1 + # Needed to address CVE-2026-14164. =app-arch/libarchive-3.8.8 @@ -128,7 +131,7 @@ sys-apps/azure-vm-utils # Keep versions on both arches in sync. =sys-apps/zram-generator-1.2.1 ~arm64 -=sys-auth/sssd-2.13.0 +=sys-auth/sssd-2.13.1 =sys-boot/mokutil-0.7.2 ** # Enable ipvsadm for arm64. From 90f4013203c926ab4c6297a26eb23a1fddd5357a Mon Sep 17 00:00:00 2001 From: Krzesimir Nowak Date: Mon, 3 Aug 2026 17:33:54 +0200 Subject: [PATCH 163/195] dev-libs/blake3: Add from Gentoo It's from Gentoo commit ccff9a1c708d256a4298309961861b982f95d37b. Signed-off-by: Krzesimir Nowak --- .../portage-stable/dev-libs/blake3/Manifest | 3 + .../dev-libs/blake3/blake3-1.8.3.ebuild | 38 ++ .../dev-libs/blake3/blake3-1.8.4.ebuild | 38 ++ .../dev-libs/blake3/blake3-1.8.5.ebuild | 38 ++ .../files/blake3-1.5.3-backport-pr405.patch | 57 ++ .../blake3/files/blake3-1.8.2-x32.patch | 538 ++++++++++++++++++ .../files/blake3-1.8.3-fix-non-x86-test.patch | 20 + .../dev-libs/blake3/metadata.xml | 15 + 8 files changed, 747 insertions(+) create mode 100644 sdk_container/src/third_party/portage-stable/dev-libs/blake3/Manifest create mode 100644 sdk_container/src/third_party/portage-stable/dev-libs/blake3/blake3-1.8.3.ebuild create mode 100644 sdk_container/src/third_party/portage-stable/dev-libs/blake3/blake3-1.8.4.ebuild create mode 100644 sdk_container/src/third_party/portage-stable/dev-libs/blake3/blake3-1.8.5.ebuild create mode 100644 sdk_container/src/third_party/portage-stable/dev-libs/blake3/files/blake3-1.5.3-backport-pr405.patch create mode 100644 sdk_container/src/third_party/portage-stable/dev-libs/blake3/files/blake3-1.8.2-x32.patch create mode 100644 sdk_container/src/third_party/portage-stable/dev-libs/blake3/files/blake3-1.8.3-fix-non-x86-test.patch create mode 100644 sdk_container/src/third_party/portage-stable/dev-libs/blake3/metadata.xml diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/blake3/Manifest b/sdk_container/src/third_party/portage-stable/dev-libs/blake3/Manifest new file mode 100644 index 00000000000..6412843fbe7 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-libs/blake3/Manifest @@ -0,0 +1,3 @@ +DIST blake3-1.8.3.tar.gz 266132 BLAKE2B d455def42ef3ec6946d9928da3c00cb0207c281bbefb35c3992d56e430e41e9a1c5a178df332271596b3986051028804682233711ca00c178a814fb2869eb875 SHA512 d0861c3c0294d84a46a3760e5e51734f4040036aa74d72d32242adb9311c0f85f580c17fbee9ca17dc2b3818ff68048b3156a19b8d11fe5c459c5e9266709fb9 +DIST blake3-1.8.4.tar.gz 268793 BLAKE2B b4514dc02a2f4ecf759a81bb33434244d8fa133f2b17d6fde9ffaa3d0f5a3ffd084d85f5532c988160c00a78d5b58b3673aeed9ddc55f90aa387cafaeb2ef48e SHA512 a4309ee063ff019cc5da2e9f2d15709de1dbf5d6324380c4668ea2e09d0df72edf5a3f9b035d466b957c0d876d6202ac9ad33cbfade2c9a3b20fb72e4366c9d9 +DIST blake3-1.8.5.tar.gz 269145 BLAKE2B cd31e56bffc0d580275829ebb6f3e42cf67bf63246fa413b5b8c6340dab9a132a9a4bea61695bd9ae73e6eb332e910dfd5245160c72ab292e73e0cda7fce1317 SHA512 53344e5fa3d3058f9190f159991652a11951ce960236793d2ef2328b1c7f9310f11a7f84c6a2487aed253bc6d8269dbf4d7fbd30d765480849b2ef82e22c418e diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/blake3/blake3-1.8.3.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/blake3/blake3-1.8.3.ebuild new file mode 100644 index 00000000000..0478bfa7c9d --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-libs/blake3/blake3-1.8.3.ebuild @@ -0,0 +1,38 @@ +# Copyright 2023-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{11..14} ) +inherit cmake python-any-r1 + +DESCRIPTION="a fast cryptographic hash function" +HOMEPAGE="https://github.com/BLAKE3-team/BLAKE3" +SRC_URI="https://github.com/BLAKE3-team/BLAKE3/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz" +S="${WORKDIR}/BLAKE3-${PV}/c" + +LICENSE="|| ( CC0-1.0 Apache-2.0 )" +SLOT="0/0" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos" +IUSE="test" +RESTRICT="!test? ( test )" + +BDEPEND="test? ( ${PYTHON_DEPS} )" + +PATCHES=( + "${FILESDIR}/${PN}-1.5.3-backport-pr405.patch" + "${FILESDIR}/${PN}-1.8.2-x32.patch" + "${FILESDIR}/${PN}-1.8.3-fix-non-x86-test.patch" # 970424 +) + +pkg_setup() { + use test && python-any-r1_pkg_setup +} + +src_configure() { + local mycmakeargs=( + -DBLAKE3_BUILD_TESTING="$(usex test)" + -DBLAKE3_USE_TBB=OFF # TODO + ) + cmake_src_configure +} diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/blake3/blake3-1.8.4.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/blake3/blake3-1.8.4.ebuild new file mode 100644 index 00000000000..0478bfa7c9d --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-libs/blake3/blake3-1.8.4.ebuild @@ -0,0 +1,38 @@ +# Copyright 2023-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{11..14} ) +inherit cmake python-any-r1 + +DESCRIPTION="a fast cryptographic hash function" +HOMEPAGE="https://github.com/BLAKE3-team/BLAKE3" +SRC_URI="https://github.com/BLAKE3-team/BLAKE3/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz" +S="${WORKDIR}/BLAKE3-${PV}/c" + +LICENSE="|| ( CC0-1.0 Apache-2.0 )" +SLOT="0/0" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos" +IUSE="test" +RESTRICT="!test? ( test )" + +BDEPEND="test? ( ${PYTHON_DEPS} )" + +PATCHES=( + "${FILESDIR}/${PN}-1.5.3-backport-pr405.patch" + "${FILESDIR}/${PN}-1.8.2-x32.patch" + "${FILESDIR}/${PN}-1.8.3-fix-non-x86-test.patch" # 970424 +) + +pkg_setup() { + use test && python-any-r1_pkg_setup +} + +src_configure() { + local mycmakeargs=( + -DBLAKE3_BUILD_TESTING="$(usex test)" + -DBLAKE3_USE_TBB=OFF # TODO + ) + cmake_src_configure +} diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/blake3/blake3-1.8.5.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/blake3/blake3-1.8.5.ebuild new file mode 100644 index 00000000000..0478bfa7c9d --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-libs/blake3/blake3-1.8.5.ebuild @@ -0,0 +1,38 @@ +# Copyright 2023-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{11..14} ) +inherit cmake python-any-r1 + +DESCRIPTION="a fast cryptographic hash function" +HOMEPAGE="https://github.com/BLAKE3-team/BLAKE3" +SRC_URI="https://github.com/BLAKE3-team/BLAKE3/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz" +S="${WORKDIR}/BLAKE3-${PV}/c" + +LICENSE="|| ( CC0-1.0 Apache-2.0 )" +SLOT="0/0" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos" +IUSE="test" +RESTRICT="!test? ( test )" + +BDEPEND="test? ( ${PYTHON_DEPS} )" + +PATCHES=( + "${FILESDIR}/${PN}-1.5.3-backport-pr405.patch" + "${FILESDIR}/${PN}-1.8.2-x32.patch" + "${FILESDIR}/${PN}-1.8.3-fix-non-x86-test.patch" # 970424 +) + +pkg_setup() { + use test && python-any-r1_pkg_setup +} + +src_configure() { + local mycmakeargs=( + -DBLAKE3_BUILD_TESTING="$(usex test)" + -DBLAKE3_USE_TBB=OFF # TODO + ) + cmake_src_configure +} diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/blake3/files/blake3-1.5.3-backport-pr405.patch b/sdk_container/src/third_party/portage-stable/dev-libs/blake3/files/blake3-1.5.3-backport-pr405.patch new file mode 100644 index 00000000000..53db4816a85 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-libs/blake3/files/blake3-1.5.3-backport-pr405.patch @@ -0,0 +1,57 @@ +https://bugs.gentoo.org/935370 +https://github.com/BLAKE3-team/BLAKE3/pull/405 + +From aad68f7f009b7e0607b3eee3b8b8e3021fa38bd7 Mon Sep 17 00:00:00 2001 +From: matoro +Date: Tue, 2 Jul 2024 19:36:45 -0400 +Subject: [PATCH] build(CMake): support running tests with ctest + +--- + CMakeLists.txt | 11 +++++++++++ + test.py | 4 ++-- + 2 files changed, 13 insertions(+), 2 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 3a3b232d..e778e3d7 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -168,6 +168,17 @@ else() + BLAKE3_DISABLE_SIMD() + endif() + ++# cmake test support ++if (BLAKE3_BUILD_TESTING) ++ find_package(Python3 REQUIRED) ++ get_target_property(BLAKE3_SOURCES blake3 SOURCES) ++ add_executable(blake3-testing ${BLAKE3_SOURCES} main.c) ++ set_property(TARGET blake3-testing PROPERTY OUTPUT_NAME blake3) ++ target_compile_definitions(blake3-testing PRIVATE BLAKE3_TESTING=1) ++ enable_testing() ++ add_test(test_vectors "${Python3_EXECUTABLE}" "${CMAKE_CURRENT_SOURCE_DIR}/test.py" WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}") ++endif() ++ + # cmake install support + install(FILES blake3.h DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}") + install(TARGETS blake3 EXPORT blake3-targets) +diff --git a/test.py b/test.py +index 98b1c3df..2eb1f07e 100755 +--- a/test.py ++++ b/test.py +@@ -2,7 +2,7 @@ + + from binascii import hexlify + import json +-from os import path ++from os import getcwd, path + import subprocess + + HERE = path.dirname(__file__) +@@ -11,7 +11,7 @@ + + + def run_blake3(args, input): +- output = subprocess.run([path.join(HERE, "blake3")] + args, ++ output = subprocess.run([path.join(getcwd(), "blake3")] + args, + input=input, + stdout=subprocess.PIPE, + check=True) diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/blake3/files/blake3-1.8.2-x32.patch b/sdk_container/src/third_party/portage-stable/dev-libs/blake3/files/blake3-1.8.2-x32.patch new file mode 100644 index 00000000000..2246b787ce8 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-libs/blake3/files/blake3-1.8.2-x32.patch @@ -0,0 +1,538 @@ +https://bugs.gentoo.org/942562 +https://github.com/BLAKE3-team/BLAKE3/issues/499 +https://github.com/BLAKE3-team/BLAKE3/pull/500 + +From 93958a2775a8453f0549ed3560c82c3d487b24d8 Mon Sep 17 00:00:00 2001 +From: Harald van Dijk +Date: Sat, 19 Jul 2025 11:43:32 +0100 +Subject: [PATCH] [x32] Fix assembly + +The x86-64 assembly implementations of BLAKE3 are used both in 64-bit +and in 32-bit pointer mode, but only worked in 64-bit pointer mode. This +PR adds support to also allow them to work in 32-bit pointer mode. +--- + c/blake3_avx2_x86-64_unix.S | 43 +++++++++++++++++ + c/blake3_avx512_x86-64_unix.S | 91 +++++++++++++++++++++++++++++++++++ + c/blake3_sse2_x86-64_unix.S | 28 +++++++++++ + c/blake3_sse41_x86-64_unix.S | 28 +++++++++++ + 4 files changed, 190 insertions(+) + +diff --git a/blake3_avx2_x86-64_unix.S b/blake3_avx2_x86-64_unix.S +index 812bb856..e977627c 100644 +--- a/blake3_avx2_x86-64_unix.S ++++ b/blake3_avx2_x86-64_unix.S +@@ -33,6 +33,10 @@ blake3_hash_many_avx2: + mov rbp, rsp + sub rsp, 680 + and rsp, 0xFFFFFFFFFFFFFFC0 ++#ifdef _ILP32 ++ mov esi, esi ++ mov edx, edx ++#endif + neg r9d + vmovd xmm0, r9d + vpbroadcastd ymm0, xmm0 +@@ -65,6 +69,7 @@ blake3_hash_many_avx2: + vpbroadcastd ymm5, dword ptr [rcx+0x14] + vpbroadcastd ymm6, dword ptr [rcx+0x18] + vpbroadcastd ymm7, dword ptr [rcx+0x1C] ++#ifndef _ILP32 + mov r8, qword ptr [rdi] + mov r9, qword ptr [rdi+0x8] + mov r10, qword ptr [rdi+0x10] +@@ -73,6 +78,16 @@ blake3_hash_many_avx2: + mov r13, qword ptr [rdi+0x28] + mov r14, qword ptr [rdi+0x30] + mov r15, qword ptr [rdi+0x38] ++#else ++ mov r8d, dword ptr [rdi] ++ mov r9d, dword ptr [rdi+0x4] ++ mov r10d, dword ptr [rdi+0x8] ++ mov r11d, dword ptr [rdi+0xc] ++ mov r12d, dword ptr [rdi+0x10] ++ mov r13d, dword ptr [rdi+0x14] ++ mov r14d, dword ptr [rdi+0x18] ++ mov r15d, dword ptr [rdi+0x1c] ++#endif + movzx eax, byte ptr [rbp+0x38] + movzx ebx, byte ptr [rbp+0x40] + or eax, ebx +@@ -1293,7 +1308,11 @@ blake3_hash_many_avx2: + vmovdqa ymm0, ymmword ptr [rsp+0x260] + vpsubd ymm2, ymm0, ymm2 + vmovdqa ymmword ptr [rsp+0x260], ymm2 ++#ifndef _ILP32 + add rdi, 64 ++#else ++ add rdi, 32 ++#endif + add rbx, 256 + mov qword ptr [rbp+0x50], rbx + sub rsi, 8 +@@ -1334,10 +1353,17 @@ blake3_hash_many_avx2: + vpblendd ymm15, ymm15, ymm12, 0x44 + vmovdqa ymmword ptr [rsp], ymm14 + vmovdqa ymmword ptr [rsp+0x20], ymm15 ++#ifndef _ILP32 + mov r8, qword ptr [rdi] + mov r9, qword ptr [rdi+0x8] + mov r10, qword ptr [rdi+0x10] + mov r11, qword ptr [rdi+0x18] ++#else ++ mov r8d, dword ptr [rdi] ++ mov r9d, dword ptr [rdi+0x4] ++ mov r10d, dword ptr [rdi+0x8] ++ mov r11d, dword ptr [rdi+0xc] ++#endif + movzx eax, byte ptr [rbp+0x40] + or eax, r13d + xor edx, edx +@@ -1545,7 +1571,11 @@ blake3_hash_many_avx2: + vmovaps xmmword ptr [rsp+0x240], xmm0 + vmovaps xmmword ptr [rsp+0x260], xmm2 + add rbx, 128 ++#ifndef _ILP32 + add rdi, 32 ++#else ++ add rdi, 16 ++#endif + sub rsi, 4 + 3: + test rsi, 0x2 +@@ -1561,8 +1591,13 @@ blake3_hash_many_avx2: + vinserti128 ymm13, ymm13, xmm14, 0x01 + vbroadcasti128 ymm14, xmmword ptr [ROT16+rip] + vbroadcasti128 ymm15, xmmword ptr [ROT8+rip] ++#ifndef _ILP32 + mov r8, qword ptr [rdi] + mov r9, qword ptr [rdi+0x8] ++#else ++ mov r8d, dword ptr [rdi] ++ mov r9d, dword ptr [rdi+0x4] ++#endif + movzx eax, byte ptr [rbp+0x40] + or eax, r13d + xor edx, edx +@@ -1671,7 +1706,11 @@ blake3_hash_many_avx2: + vmovaps ymmword ptr [rsp+0x240], ymm0 + vmovaps ymmword ptr [rsp+0x260], ymm2 + add rbx, 64 ++#ifndef _ILP32 + add rdi, 16 ++#else ++ add rdi, 8 ++#endif + sub rsi, 2 + 3: + test rsi, 0x1 +@@ -1683,7 +1722,11 @@ blake3_hash_many_avx2: + vpinsrd xmm13, xmm3, dword ptr [BLAKE3_BLOCK_LEN+rip], 2 + vmovdqa xmm14, xmmword ptr [ROT16+rip] + vmovdqa xmm15, xmmword ptr [ROT8+rip] ++#ifndef _ILP32 + mov r8, qword ptr [rdi] ++#else ++ mov r8d, dword ptr [rdi] ++#endif + movzx eax, byte ptr [rbp+0x40] + or eax, r13d + xor edx, edx +diff --git a/blake3_avx512_x86-64_unix.S b/blake3_avx512_x86-64_unix.S +index 9642e413..7c09704e 100644 +--- a/blake3_avx512_x86-64_unix.S ++++ b/blake3_avx512_x86-64_unix.S +@@ -41,6 +41,10 @@ blake3_hash_many_avx512: + sub rsp, 144 + and rsp, 0xFFFFFFFFFFFFFFC0 + neg r9 ++#ifdef _ILP32 ++ mov esi, esi ++ mov edx, edx ++#endif + kmovw k1, r9d + vmovd xmm0, r8d + vpbroadcastd ymm0, xmm0 +@@ -89,6 +93,7 @@ blake3_hash_many_avx512: + cmp rdx, qword ptr [rsp+0x80] + cmove eax, ebx + mov dword ptr [rsp+0x88], eax ++#ifndef _ILP32 + mov r8, qword ptr [rdi] + mov r9, qword ptr [rdi+0x8] + mov r10, qword ptr [rdi+0x10] +@@ -97,6 +102,16 @@ blake3_hash_many_avx512: + mov r13, qword ptr [rdi+0x48] + mov r14, qword ptr [rdi+0x50] + mov r15, qword ptr [rdi+0x58] ++#else ++ mov r8d, dword ptr [rdi] ++ mov r9d, dword ptr [rdi+0x4] ++ mov r10d, dword ptr [rdi+0x8] ++ mov r11d, dword ptr [rdi+0xc] ++ mov r12d, dword ptr [rdi+0x20] ++ mov r13d, dword ptr [rdi+0x24] ++ mov r14d, dword ptr [rdi+0x28] ++ mov r15d, dword ptr [rdi+0x2c] ++#endif + vmovdqu32 ymm16, ymmword ptr [rdx+r8-0x2*0x20] + vinserti64x4 zmm16, zmm16, ymmword ptr [rdx+r12-0x2*0x20], 0x01 + vmovdqu32 ymm17, ymmword ptr [rdx+r9-0x2*0x20] +@@ -109,6 +124,7 @@ blake3_hash_many_avx512: + vinserti64x4 zmm19, zmm19, ymmword ptr [rdx+r15-0x2*0x20], 0x01 + vpunpcklqdq zmm10, zmm18, zmm19 + vpunpckhqdq zmm11, zmm18, zmm19 ++#ifndef _ILP32 + mov r8, qword ptr [rdi+0x20] + mov r9, qword ptr [rdi+0x28] + mov r10, qword ptr [rdi+0x30] +@@ -117,6 +133,16 @@ blake3_hash_many_avx512: + mov r13, qword ptr [rdi+0x68] + mov r14, qword ptr [rdi+0x70] + mov r15, qword ptr [rdi+0x78] ++#else ++ mov r8d, dword ptr [rdi+0x10] ++ mov r9d, dword ptr [rdi+0x14] ++ mov r10d, dword ptr [rdi+0x18] ++ mov r11d, dword ptr [rdi+0x1c] ++ mov r12d, dword ptr [rdi+0x30] ++ mov r13d, dword ptr [rdi+0x34] ++ mov r14d, dword ptr [rdi+0x38] ++ mov r15d, dword ptr [rdi+0x3c] ++#endif + vmovdqu32 ymm16, ymmword ptr [rdx+r8-0x2*0x20] + vinserti64x4 zmm16, zmm16, ymmword ptr [rdx+r12-0x2*0x20], 0x01 + vmovdqu32 ymm17, ymmword ptr [rdx+r9-0x2*0x20] +@@ -151,6 +177,7 @@ blake3_hash_many_avx512: + vmovdqa32 zmm23, zmm19 + vpermt2d zmm19, zmm27, zmm8 + vpermt2d zmm23, zmm31, zmm8 ++#ifndef _ILP32 + mov r8, qword ptr [rdi] + mov r9, qword ptr [rdi+0x8] + mov r10, qword ptr [rdi+0x10] +@@ -159,6 +186,16 @@ blake3_hash_many_avx512: + mov r13, qword ptr [rdi+0x48] + mov r14, qword ptr [rdi+0x50] + mov r15, qword ptr [rdi+0x58] ++#else ++ mov r8d, dword ptr [rdi] ++ mov r9d, dword ptr [rdi+0x4] ++ mov r10d, dword ptr [rdi+0x8] ++ mov r11d, dword ptr [rdi+0xc] ++ mov r12d, dword ptr [rdi+0x20] ++ mov r13d, dword ptr [rdi+0x24] ++ mov r14d, dword ptr [rdi+0x28] ++ mov r15d, dword ptr [rdi+0x2c] ++#endif + vmovdqu32 ymm24, ymmword ptr [r8+rdx-0x1*0x20] + vinserti64x4 zmm24, zmm24, ymmword ptr [r12+rdx-0x1*0x20], 0x01 + vmovdqu32 ymm25, ymmword ptr [r9+rdx-0x1*0x20] +@@ -179,6 +216,7 @@ blake3_hash_many_avx512: + prefetcht0 [r14+rdx+0x80] + prefetcht0 [r11+rdx+0x80] + prefetcht0 [r15+rdx+0x80] ++#ifndef _ILP32 + mov r8, qword ptr [rdi+0x20] + mov r9, qword ptr [rdi+0x28] + mov r10, qword ptr [rdi+0x30] +@@ -187,6 +225,16 @@ blake3_hash_many_avx512: + mov r13, qword ptr [rdi+0x68] + mov r14, qword ptr [rdi+0x70] + mov r15, qword ptr [rdi+0x78] ++#else ++ mov r8d, dword ptr [rdi+0x10] ++ mov r9d, dword ptr [rdi+0x14] ++ mov r10d, dword ptr [rdi+0x18] ++ mov r11d, dword ptr [rdi+0x1c] ++ mov r12d, dword ptr [rdi+0x30] ++ mov r13d, dword ptr [rdi+0x34] ++ mov r14d, dword ptr [rdi+0x38] ++ mov r15d, dword ptr [rdi+0x3c] ++#endif + vmovdqu32 ymm24, ymmword ptr [r8+rdx-0x1*0x20] + vinserti64x4 zmm24, zmm24, ymmword ptr [r12+rdx-0x1*0x20], 0x01 + vmovdqu32 ymm25, ymmword ptr [r9+rdx-0x1*0x20] +@@ -1077,7 +1125,11 @@ blake3_hash_many_avx512: + vpaddd zmm1 {k2}, zmm1, dword ptr [ADD1+rip] {1to16} + vmovdqa32 zmmword ptr [rsp], zmm2 + vmovdqa32 zmmword ptr [rsp+0x1*0x40], zmm1 ++#ifndef _ILP32 + add rdi, 128 ++#else ++ add rdi, 64 ++#endif + add rbx, 512 + mov qword ptr [rbp+0x50], rbx + sub rsi, 16 +@@ -1107,6 +1159,7 @@ blake3_hash_many_avx512: + vpbroadcastd ymm5, dword ptr [rcx+0x14] + vpbroadcastd ymm6, dword ptr [rcx+0x18] + vpbroadcastd ymm7, dword ptr [rcx+0x1C] ++#ifndef _ILP32 + mov r8, qword ptr [rdi] + mov r9, qword ptr [rdi+0x8] + mov r10, qword ptr [rdi+0x10] +@@ -1115,6 +1168,16 @@ blake3_hash_many_avx512: + mov r13, qword ptr [rdi+0x28] + mov r14, qword ptr [rdi+0x30] + mov r15, qword ptr [rdi+0x38] ++#else ++ mov r8d, dword ptr [rdi] ++ mov r9d, dword ptr [rdi+0x4] ++ mov r10d, dword ptr [rdi+0x8] ++ mov r11d, dword ptr [rdi+0xc] ++ mov r12d, dword ptr [rdi+0x10] ++ mov r13d, dword ptr [rdi+0x14] ++ mov r14d, dword ptr [rdi+0x18] ++ mov r15d, dword ptr [rdi+0x1c] ++#endif + movzx eax, byte ptr [rbp+0x38] + movzx ebx, byte ptr [rbp+0x40] + or eax, ebx +@@ -2037,7 +2100,11 @@ blake3_hash_many_avx512: + vmovdqa ymmword ptr [rsp+0x2*0x20], ymm2 + add rbx, 256 + mov qword ptr [rbp+0x50], rbx ++#ifndef _ILP32 + add rdi, 64 ++#else ++ add rdi, 32 ++#endif + sub rsi, 8 + 3: + mov rbx, qword ptr [rbp+0x50] +@@ -2060,10 +2127,17 @@ blake3_hash_many_avx512: + kmovw k2, eax + vpblendmd zmm13 {k2}, zmm13, zmm12 + vbroadcasti32x4 zmm15, xmmword ptr [BLAKE3_IV+rip] ++#ifndef _ILP32 + mov r8, qword ptr [rdi] + mov r9, qword ptr [rdi+0x8] + mov r10, qword ptr [rdi+0x10] + mov r11, qword ptr [rdi+0x18] ++#else ++ mov r8d, dword ptr [rdi] ++ mov r9d, dword ptr [rdi+0x4] ++ mov r10d, dword ptr [rdi+0x8] ++ mov r11d, dword ptr [rdi+0xc] ++#endif + mov eax, 43690 + kmovw k3, eax + mov eax, 34952 +@@ -2177,7 +2251,11 @@ blake3_hash_many_avx512: + vmovdqa xmmword ptr [rsp], xmm0 + vmovdqa xmmword ptr [rsp+0x40], xmm2 + add rbx, 128 ++#ifndef _ILP32 + add rdi, 32 ++#else ++ add rdi, 16 ++#endif + sub rsi, 4 + 3: + test esi, 0x2 +@@ -2191,8 +2269,13 @@ blake3_hash_many_avx512: + vpinsrd xmm14, xmm14, dword ptr [rsp+0x44], 1 + vpinsrd xmm14, xmm14, dword ptr [BLAKE3_BLOCK_LEN+rip], 2 + vinserti128 ymm13, ymm13, xmm14, 0x01 ++#ifndef _ILP32 + mov r8, qword ptr [rdi] + mov r9, qword ptr [rdi+0x8] ++#else ++ mov r8d, dword ptr [rdi] ++ mov r9d, dword ptr [rdi+0x4] ++#endif + movzx eax, byte ptr [rbp+0x40] + or eax, r13d + xor edx, edx +@@ -2290,7 +2373,11 @@ blake3_hash_many_avx512: + vmovdqa xmmword ptr [rsp], xmm0 + vmovdqa xmmword ptr [rsp+0x4*0x10], xmm2 + add rbx, 64 ++#ifndef _ILP32 + add rdi, 16 ++#else ++ add rdi, 8 ++#endif + sub rsi, 2 + 3: + test esi, 0x1 +@@ -2301,7 +2388,11 @@ blake3_hash_many_avx512: + vpinsrd xmm14, xmm14, dword ptr [rsp+0x40], 1 + vpinsrd xmm14, xmm14, dword ptr [BLAKE3_BLOCK_LEN+rip], 2 + vmovdqa xmm15, xmmword ptr [BLAKE3_IV+rip] ++#ifndef _ILP32 + mov r8, qword ptr [rdi] ++#else ++ mov r8d, dword ptr [rdi] ++#endif + movzx eax, byte ptr [rbp+0x40] + or eax, r13d + xor edx, edx +diff --git a/blake3_sse2_x86-64_unix.S b/blake3_sse2_x86-64_unix.S +index 99f033fe..b3d368c4 100644 +--- a/blake3_sse2_x86-64_unix.S ++++ b/blake3_sse2_x86-64_unix.S +@@ -38,6 +38,10 @@ blake3_hash_many_sse2: + sub rsp, 360 + and rsp, 0xFFFFFFFFFFFFFFC0 + neg r9d ++#ifdef _ILP32 ++ mov esi, esi ++ mov edx, edx ++#endif + movd xmm0, r9d + pshufd xmm0, xmm0, 0x00 + movdqa xmmword ptr [rsp+0x130], xmm0 +@@ -75,10 +79,17 @@ blake3_hash_many_sse2: + pshufd xmm5, xmm7, 0x55 + pshufd xmm6, xmm7, 0xAA + pshufd xmm7, xmm7, 0xFF ++#ifndef _ILP32 + mov r8, qword ptr [rdi] + mov r9, qword ptr [rdi+0x8] + mov r10, qword ptr [rdi+0x10] + mov r11, qword ptr [rdi+0x18] ++#else ++ mov r8d, dword ptr [rdi] ++ mov r9d, dword ptr [rdi+0x4] ++ mov r10d, dword ptr [rdi+0x8] ++ mov r11d, dword ptr [rdi+0xc] ++#endif + movzx eax, byte ptr [rbp+0x40] + or eax, r13d + xor edx, edx +@@ -1632,7 +1643,11 @@ blake3_hash_many_sse2: + psubd xmm1, xmm0 + movdqa xmmword ptr [rsp+0x120], xmm1 + add rbx, 128 ++#ifndef _ILP32 + add rdi, 32 ++#else ++ add rdi, 16 ++#endif + sub rsi, 4 + cmp rsi, 4 + jnc 2b +@@ -1663,8 +1678,13 @@ blake3_hash_many_sse2: + movd xmm13, dword ptr [rsp+0x124] + punpckldq xmm14, xmm13 + movaps xmmword ptr [rsp+0x10], xmm14 ++#ifndef _ILP32 + mov r8, qword ptr [rdi] + mov r9, qword ptr [rdi+0x8] ++#else ++ mov r8d, dword ptr [rdi] ++ mov r9d, dword ptr [rdi+0x4] ++#endif + movzx eax, byte ptr [rbp+0x40] + or eax, r13d + xor edx, edx +@@ -1893,7 +1913,11 @@ blake3_hash_many_sse2: + mov r11d, dword ptr [rsp+0x120+8*rax] + mov dword ptr [rsp+0x110], r10d + mov dword ptr [rsp+0x120], r11d ++#ifndef _ILP32 + add rdi, 16 ++#else ++ add rdi, 8 ++#endif + add rbx, 64 + sub rsi, 2 + 3: +@@ -1904,7 +1928,11 @@ blake3_hash_many_sse2: + movd xmm13, dword ptr [rsp+0x110] + movd xmm14, dword ptr [rsp+0x120] + punpckldq xmm13, xmm14 ++#ifndef _ILP32 + mov r8, qword ptr [rdi] ++#else ++ mov r8d, dword ptr [rdi] ++#endif + movzx eax, byte ptr [rbp+0x40] + or eax, r13d + xor edx, edx +diff --git a/blake3_sse41_x86-64_unix.S b/blake3_sse41_x86-64_unix.S +index a3ff6426..9f797299 100644 +--- a/blake3_sse41_x86-64_unix.S ++++ b/blake3_sse41_x86-64_unix.S +@@ -38,6 +38,10 @@ blake3_hash_many_sse41: + sub rsp, 360 + and rsp, 0xFFFFFFFFFFFFFFC0 + neg r9d ++#ifdef _ILP32 ++ mov esi, esi ++ mov edx, edx ++#endif + movd xmm0, r9d + pshufd xmm0, xmm0, 0x00 + movdqa xmmword ptr [rsp+0x130], xmm0 +@@ -75,10 +79,17 @@ blake3_hash_many_sse41: + pshufd xmm5, xmm7, 0x55 + pshufd xmm6, xmm7, 0xAA + pshufd xmm7, xmm7, 0xFF ++#ifndef _ILP32 + mov r8, qword ptr [rdi] + mov r9, qword ptr [rdi+0x8] + mov r10, qword ptr [rdi+0x10] + mov r11, qword ptr [rdi+0x18] ++#else ++ mov r8d, dword ptr [rdi] ++ mov r9d, dword ptr [rdi+0x4] ++ mov r10d, dword ptr [rdi+0x8] ++ mov r11d, dword ptr [rdi+0xc] ++#endif + movzx eax, byte ptr [rbp+0x40] + or eax, r13d + xor edx, edx +@@ -1436,7 +1447,11 @@ blake3_hash_many_sse41: + psubd xmm1, xmm0 + movdqa xmmword ptr [rsp+0x120], xmm1 + add rbx, 128 ++#ifndef _ILP32 + add rdi, 32 ++#else ++ add rdi, 16 ++#endif + sub rsi, 4 + cmp rsi, 4 + jnc 2b +@@ -1467,8 +1482,13 @@ blake3_hash_many_sse41: + pinsrd xmm14, dword ptr [rsp+0x124], 1 + pinsrd xmm14, dword ptr [BLAKE3_BLOCK_LEN+rip], 2 + movaps xmmword ptr [rsp+0x10], xmm14 ++#ifndef _ILP32 + mov r8, qword ptr [rdi] + mov r9, qword ptr [rdi+0x8] ++#else ++ mov r8d, dword ptr [rdi] ++ mov r9d, dword ptr [rdi+0x4] ++#endif + movzx eax, byte ptr [rbp+0x40] + or eax, r13d + xor edx, edx +@@ -1670,7 +1690,11 @@ blake3_hash_many_sse41: + blendvps xmm2, xmm4, xmm0 + movdqa xmmword ptr [rsp+0x110], xmm1 + movdqa xmmword ptr [rsp+0x120], xmm2 ++#ifndef _ILP32 + add rdi, 16 ++#else ++ add rdi, 8 ++#endif + add rbx, 64 + sub rsi, 2 + 3: +@@ -1683,7 +1707,11 @@ blake3_hash_many_sse41: + pinsrd xmm13, dword ptr [BLAKE3_BLOCK_LEN+rip], 2 + movaps xmm14, xmmword ptr [ROT8+rip] + movaps xmm15, xmmword ptr [ROT16+rip] ++#ifndef _ILP32 + mov r8, qword ptr [rdi] ++#else ++ mov r8d, dword ptr [rdi] ++#endif + movzx eax, byte ptr [rbp+0x40] + or eax, r13d + xor edx, edx + diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/blake3/files/blake3-1.8.3-fix-non-x86-test.patch b/sdk_container/src/third_party/portage-stable/dev-libs/blake3/files/blake3-1.8.3-fix-non-x86-test.patch new file mode 100644 index 00000000000..2119275e075 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-libs/blake3/files/blake3-1.8.3-fix-non-x86-test.patch @@ -0,0 +1,20 @@ +Adapted from upstream patch by Christoph Erhardt +https://github.com/BLAKE3-team/BLAKE3/pull/539 +--- + c/blake3_dispatch.c | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/blake3_dispatch.c b/blake3_dispatch.c +index 14dfbbe..de993ed 100644 +--- a/blake3_dispatch.c ++++ b/blake3_dispatch.c +@@ -89,6 +89,9 @@ static void cpuidex(uint32_t out[4], uint32_t id, uint32_t sid) { + #endif + } + ++#endif ++ ++#if defined(IS_X86) || defined(BLAKE3_TESTING) + + enum cpu_feature { + SSE2 = 1 << 0, diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/blake3/metadata.xml b/sdk_container/src/third_party/portage-stable/dev-libs/blake3/metadata.xml new file mode 100644 index 00000000000..7a5e98c53ee --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-libs/blake3/metadata.xml @@ -0,0 +1,15 @@ + + + + + bacs@librecast.net + Brett A C Sheffield + + + proxy-maint@gentoo.org + Proxy Maintainers + + + BLAKE3-team/BLAKE3 + + From 824339942fe80eaf0ff2d7b033d14494afc86232 Mon Sep 17 00:00:00 2001 From: Krzesimir Nowak Date: Mon, 3 Aug 2026 17:38:32 +0200 Subject: [PATCH 164/195] .github: Add packages to automation Signed-off-by: Krzesimir Nowak --- .github/workflows/portage-stable-packages-list | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/portage-stable-packages-list b/.github/workflows/portage-stable-packages-list index 8d3fd56db94..59b6be1639c 100644 --- a/.github/workflows/portage-stable-packages-list +++ b/.github/workflows/portage-stable-packages-list @@ -117,6 +117,7 @@ app-cdr/cdrtools app-containers/aardvark-dns app-containers/catatonit app-containers/conmon +app-containers/container-libs app-containers/containerd app-containers/cri-tools app-containers/crun @@ -239,6 +240,7 @@ dev-lang/swig dev-lang/tcl dev-lang/yasm +dev-libs/blake3 dev-libs/cJSON dev-libs/cowsql dev-libs/cyrus-sasl From 4687b347531525bbf2f7cf524c0cd5d258e9bc3a Mon Sep 17 00:00:00 2001 From: Krzesimir Nowak Date: Mon, 3 Aug 2026 17:39:28 +0200 Subject: [PATCH 165/195] overlay profiles: Disable USE=initramfs for sys-fs/zfs sys-fs/zfs-kmod was merged into sys-fs/zfs, so there is one package that installs both userspace utils and kernel modules. Signed-off-by: Krzesimir Nowak --- .../third_party/coreos-overlay/profiles/coreos/base/package.use | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sdk_container/src/third_party/coreos-overlay/profiles/coreos/base/package.use b/sdk_container/src/third_party/coreos-overlay/profiles/coreos/base/package.use index 7b14e55847e..4b635e738cc 100644 --- a/sdk_container/src/third_party/coreos-overlay/profiles/coreos/base/package.use +++ b/sdk_container/src/third_party/coreos-overlay/profiles/coreos/base/package.use @@ -152,7 +152,7 @@ app-containers/docker btrfs overlay seccomp sys-apps/policycoreutils vanilla -python sys-libs/libsemanage -python -sys-fs/zfs minimal -rootfs +sys-fs/zfs minimal -rootfs -initramfs # Do not tinker with /boot partition at installation time. sys-firmware/intel-microcode -initramfs From 705276db261e1dc66473f62327a79dc9bd7c1364 Mon Sep 17 00:00:00 2001 From: Krzesimir Nowak Date: Mon, 3 Aug 2026 17:40:11 +0200 Subject: [PATCH 166/195] app-containers/container-libs: Sync with Gentoo It's from Gentoo commit 5c3bc1abc51f92f19709b818f8d6c82ebfa615dc. Signed-off-by: Krzesimir Nowak --- .../app-containers/container-libs/Manifest | 1 + .../container-libs-0.68.0-r1.ebuild | 81 +++++++++++++++++++ .../container-libs-0.69.0.ebuild | 80 ++++++++++++++++++ .../files/c-libs-0.68.0-registries.conf | 4 + .../files/c-libs-0.68.0-remove-go-cc.patch | 35 ++++++++ ...libs-pr989-correct-CONTAINERSCONFDIR.patch | 32 ++++++++ .../container-libs/metadata.xml | 9 +++ 7 files changed, 242 insertions(+) create mode 100644 sdk_container/src/third_party/portage-stable/app-containers/container-libs/container-libs-0.68.0-r1.ebuild create mode 100644 sdk_container/src/third_party/portage-stable/app-containers/container-libs/container-libs-0.69.0.ebuild create mode 100644 sdk_container/src/third_party/portage-stable/app-containers/container-libs/files/c-libs-0.68.0-registries.conf create mode 100644 sdk_container/src/third_party/portage-stable/app-containers/container-libs/files/c-libs-0.68.0-remove-go-cc.patch create mode 100644 sdk_container/src/third_party/portage-stable/app-containers/container-libs/files/c-libs-pr989-correct-CONTAINERSCONFDIR.patch diff --git a/sdk_container/src/third_party/portage-stable/app-containers/container-libs/Manifest b/sdk_container/src/third_party/portage-stable/app-containers/container-libs/Manifest index 8679803973c..f2f0d154bde 100644 --- a/sdk_container/src/third_party/portage-stable/app-containers/container-libs/Manifest +++ b/sdk_container/src/third_party/portage-stable/app-containers/container-libs/Manifest @@ -1 +1,2 @@ DIST container-libs-0.68.0.tar.gz 13304245 BLAKE2B 73a578c45cd2fcf5d1481a17406c2b15472d2ae51d34154e847750fc32a5a8b6631404ef2bd261dec1d35a65fbe8b38d0d0053c6d1b0ecf31197025955d16173 SHA512 2725689c41904886c22de3d70a0fdcc93f36e588f2a49970d5ad94dfbcc2029581c3ef824ca7f9f01a52935a9703e41fa184132c61e1daac3f221966326bea40 +DIST container-libs-0.69.0.tar.gz 13694913 BLAKE2B 85c79693473d67f1d6fddb2f9aa1c4b8e10863f28e4cf83d9d467cf69c306fcac3b444d4aaabb312ce694dd71581ff2ce17c4d2ff9c9c133932826f69eb00a39 SHA512 db2a199a702291b035826c0a27eacdfe2aa6d8a75de52d1c4c76718b1843b5960980ad9735d5d9e18f7f5ca0a5159a54316e8c74f0f17395ef94fd59f43dcaa6 diff --git a/sdk_container/src/third_party/portage-stable/app-containers/container-libs/container-libs-0.68.0-r1.ebuild b/sdk_container/src/third_party/portage-stable/app-containers/container-libs/container-libs-0.68.0-r1.ebuild new file mode 100644 index 00000000000..a614fe24e17 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/app-containers/container-libs/container-libs-0.68.0-r1.ebuild @@ -0,0 +1,81 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=9 + +inherit readme.gentoo-r1 + +DESCRIPTION="Several utilities from the containers project" +HOMEPAGE="https://github.com/podman-container-tools/container-libs" +SRC_URI="https://github.com/podman-container-tools/container-libs/archive/common/v${PV}.tar.gz -> ${P}.tar.gz" +S=${WORKDIR}/${PN}-common-v${PV} + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~loong ~riscv" +IUSE="+extra" +RESTRICT="test" + +RDEPEND=" + app-containers/containers-shortnames + >=sys-fs/fuse-overlayfs-1.16 + extra? ( + >=app-containers/crun-1.25.1 + >=app-containers/netavark-2.0.0 + >=net-misc/passt-2026.05.26 + ) + !app-containers/containers-image + !app-containers/containers-common + !app-containers/containers-storage + !&1 > /dev/null && echo -race) + + default all: local-binary docs local-cross ## build and cross-build\nbinaries and docs diff --git a/sdk_container/src/third_party/portage-stable/app-containers/container-libs/files/c-libs-pr989-correct-CONTAINERSCONFDIR.patch b/sdk_container/src/third_party/portage-stable/app-containers/container-libs/files/c-libs-pr989-correct-CONTAINERSCONFDIR.patch new file mode 100644 index 00000000000..66c49f6c118 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/app-containers/container-libs/files/c-libs-pr989-correct-CONTAINERSCONFDIR.patch @@ -0,0 +1,32 @@ +From 351075048df0403b7570e01871750b970a8dd459 Mon Sep 17 00:00:00 2001 +From: Rahil Bhimjiani +Date: Wed, 15 Jul 2026 14:57:07 +0530 +Subject: [PATCH] Install policy.json & default.yaml in /usr/share/ instead of + /etc/ + +Due to changes in podman 6.0 config file parsing changed[1]. So +these files should be installed in /usr/share/containers by packagers +and let /etc/containers should be system admins. + +This is also followed in common/rpm/containers-common.spec + +[1] https://github.com/podman-container-tools/podman/blob/main/contrib/design-docs/config-file-parsing.md + +Signed-off-by: Rahil Bhimjiani +--- + image/Makefile | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/image/Makefile b/image/Makefile +index d47d43aeb6..b51b473612 100644 +--- a/image/Makefile ++++ b/image/Makefile +@@ -30,7 +30,7 @@ MANPAGES ?= $(MANPAGES_MD:%.md=%) + ifeq ($(shell uname -s),FreeBSD) + CONTAINERSCONFDIR ?= /usr/local/etc/containers + else +-CONTAINERSCONFDIR ?= /etc/containers ++CONTAINERSCONFDIR ?= /usr/share/containers + endif + REGISTRIESDDIR ?= ${CONTAINERSCONFDIR}/registries.d + diff --git a/sdk_container/src/third_party/portage-stable/app-containers/container-libs/metadata.xml b/sdk_container/src/third_party/portage-stable/app-containers/container-libs/metadata.xml index dd3c32898a2..03f8cec6868 100644 --- a/sdk_container/src/third_party/portage-stable/app-containers/container-libs/metadata.xml +++ b/sdk_container/src/third_party/portage-stable/app-containers/container-libs/metadata.xml @@ -5,8 +5,17 @@ arthurzam@gentoo.org Arthur Zamarin + + me@rahil.rocks + Rahil Bhimjiani + + + Pulls extra dependencies required for Podman and Buildah + podman-container-tools/container-libs + https://github.com/podman-container-tools/container-libs/issues + https://github.com/podman-container-tools/container-libs/blob/main/README.md From 97d819a125d94f4fd4438856569a0c9d3582b4a2 Mon Sep 17 00:00:00 2001 From: Krzesimir Nowak Date: Tue, 4 Aug 2026 09:35:57 +0200 Subject: [PATCH 167/195] app-containers/containers-shortnames: Add from Gentoo It's from Gentoo commit 5c1942efa446ed15b1d1eeb7f5a3b3d4d8a453a8. Signed-off-by: Krzesimir Nowak --- .../containers-shortnames/Manifest | 3 ++ .../containers-shortnames-2023.02.20.ebuild | 36 +++++++++++++++++++ .../containers-shortnames-2025.03.19.ebuild | 36 +++++++++++++++++++ ...ers-shortnames-2025.03.19_p20260615.ebuild | 28 +++++++++++++++ .../containers-shortnames-9999.ebuild | 28 +++++++++++++++ .../containers-shortnames/metadata.xml | 22 ++++++++++++ 6 files changed, 153 insertions(+) create mode 100644 sdk_container/src/third_party/portage-stable/app-containers/containers-shortnames/Manifest create mode 100644 sdk_container/src/third_party/portage-stable/app-containers/containers-shortnames/containers-shortnames-2023.02.20.ebuild create mode 100644 sdk_container/src/third_party/portage-stable/app-containers/containers-shortnames/containers-shortnames-2025.03.19.ebuild create mode 100644 sdk_container/src/third_party/portage-stable/app-containers/containers-shortnames/containers-shortnames-2025.03.19_p20260615.ebuild create mode 100644 sdk_container/src/third_party/portage-stable/app-containers/containers-shortnames/containers-shortnames-9999.ebuild create mode 100644 sdk_container/src/third_party/portage-stable/app-containers/containers-shortnames/metadata.xml diff --git a/sdk_container/src/third_party/portage-stable/app-containers/containers-shortnames/Manifest b/sdk_container/src/third_party/portage-stable/app-containers/containers-shortnames/Manifest new file mode 100644 index 00000000000..9ebfe90efdb --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/app-containers/containers-shortnames/Manifest @@ -0,0 +1,3 @@ +DIST containers-shortnames-2023.02.20.tar.gz 13527 BLAKE2B 165a4c51bd284078990c94059145bb6b4bd5de4d8595eb2ccd2acc6fe8561e7edc300b7edadc684675ee281d7ada1c3a6d5aa0117c640ec22c2d2ef7e46486b5 SHA512 856dbbeb2acda276e9605bd1ecec0f8d65952c597ee2af61dd8909d7d3c04e5ef06c40b69ec4a98f79e623c536850f614c1b0af3a19637e300e7d3a285933193 +DIST containers-shortnames-2025.03.19.tar.gz 13672 BLAKE2B a72160f65aa13316c33b984173e151f0519720ec9617395980f0d7c5f25dc14b400aafbcb2fa8769eace9c1e51d4f1ddbe783e68fc0e40280743f90fbce30aa9 SHA512 edadadda8920ac4880f2c44f396e5d4c844bf15c964d7ef5d14c68637ac43e0df91f4efd2be747bca74bd0da959ea21cc3200ab14b2b57aba5975cff8f2fbefa +DIST containers-shortnames-2025.03.19_p20260615.tar.gz 13778 BLAKE2B 4c05fa5276b0389c1fddd40d225749a42edd0a7ead0c98956752c7e77c1679b1a2fada9b50fb97a1e02e04aa8c87533f149b3b8fb9cfb9067c30acc277337ac7 SHA512 b86f4e1db82a1261683f9379b46c998b4b30e6a77a2893837ae4c3bd315186bc5b5d1d4687b58191abb4f60a5e4ff291e85881174820546648b5c3ff042163f1 diff --git a/sdk_container/src/third_party/portage-stable/app-containers/containers-shortnames/containers-shortnames-2023.02.20.ebuild b/sdk_container/src/third_party/portage-stable/app-containers/containers-shortnames/containers-shortnames-2023.02.20.ebuild new file mode 100644 index 00000000000..2baab9c7d15 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/app-containers/containers-shortnames/containers-shortnames-2023.02.20.ebuild @@ -0,0 +1,36 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DESCRIPTION="Configures default shortnames (aliases) for Containers" +HOMEPAGE="https://github.com/containers/shortnames" + +if [[ ${PV} == *9999* ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/containers/shortnames.git" +else + SRC_URI="https://github.com/containers/shortnames/archive/v${PV}.tar.gz -> ${P}.tar.gz" + S="${WORKDIR}/${P#containers-}" + KEYWORDS="amd64 arm64 ~loong ~riscv" +fi + +LICENSE="Apache-2.0" +SLOT="0" + +src_configure() { + return +} + +src_compile() { + return +} + +src_test() { + return +} + +src_install() { + insinto /etc/containers/registries.conf.d + newins shortnames.conf 000-shortnames.conf +} diff --git a/sdk_container/src/third_party/portage-stable/app-containers/containers-shortnames/containers-shortnames-2025.03.19.ebuild b/sdk_container/src/third_party/portage-stable/app-containers/containers-shortnames/containers-shortnames-2025.03.19.ebuild new file mode 100644 index 00000000000..ba60f2eb93a --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/app-containers/containers-shortnames/containers-shortnames-2025.03.19.ebuild @@ -0,0 +1,36 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DESCRIPTION="Configures default shortnames (aliases) for Containers" +HOMEPAGE="https://github.com/containers/shortnames" + +if [[ ${PV} == 9999* ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/containers/shortnames.git" +else + SRC_URI="https://github.com/containers/shortnames/archive/v${PV}.tar.gz -> ${P}.tar.gz" + S="${WORKDIR}/${P#containers-}" + KEYWORDS="amd64 arm64 ~loong ~riscv" +fi + +LICENSE="Apache-2.0" +SLOT="0" + +src_configure() { + return +} + +src_compile() { + return +} + +src_test() { + return +} + +src_install() { + insinto /etc/containers/registries.conf.d + newins shortnames.conf 000-shortnames.conf +} diff --git a/sdk_container/src/third_party/portage-stable/app-containers/containers-shortnames/containers-shortnames-2025.03.19_p20260615.ebuild b/sdk_container/src/third_party/portage-stable/app-containers/containers-shortnames/containers-shortnames-2025.03.19_p20260615.ebuild new file mode 100644 index 00000000000..c2c412a2ce5 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/app-containers/containers-shortnames/containers-shortnames-2025.03.19_p20260615.ebuild @@ -0,0 +1,28 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DESCRIPTION="Configures default shortnames (aliases) for Containers" +HOMEPAGE="https://github.com/containers/shortnames" +GIT_COMMIT="e893043ee00c29ac1083b2151d4fb287d939a9fc" + +if [[ ${PV} == 9999* ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/containers/shortnames.git" +else + SRC_URI="https://github.com/containers/shortnames/archive/${GIT_COMMIT}.tar.gz -> ${P}.tar.gz" + S="${WORKDIR}/${PN#containers-}-${GIT_COMMIT}" + KEYWORDS="~amd64 ~arm64 ~loong ~riscv" +fi + +LICENSE="Apache-2.0" +SLOT="0" +RDEPEND="! + + + + me@rahil.rocks + Rahil Bhimjiani + + + zmedico@gentoo.org + Zac Medico + + + proxy-maint@gentoo.org + Proxy Maintainers + + + + containers/shortnames + https://github.com/containers/shortnames/issues + https://github.com/containers/shortnames/blob/main/README.md + + From a1e51987da4a5a20752dc29fcf9a52e9449d6f03 Mon Sep 17 00:00:00 2001 From: Krzesimir Nowak Date: Tue, 4 Aug 2026 09:36:43 +0200 Subject: [PATCH 168/195] .github: Add app-containers/containers-shortnames to automation Signed-off-by: Krzesimir Nowak --- .github/workflows/portage-stable-packages-list | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/portage-stable-packages-list b/.github/workflows/portage-stable-packages-list index 59b6be1639c..990412d0193 100644 --- a/.github/workflows/portage-stable-packages-list +++ b/.github/workflows/portage-stable-packages-list @@ -119,6 +119,7 @@ app-containers/catatonit app-containers/conmon app-containers/container-libs app-containers/containerd +app-containers/containers-shortnames app-containers/cri-tools app-containers/crun app-containers/docker From 561340354817edd8f1e01484f7914cebd354d920 Mon Sep 17 00:00:00 2001 From: Krzesimir Nowak Date: Tue, 4 Aug 2026 09:37:41 +0200 Subject: [PATCH 169/195] overlay profiles: Update accept keywords for app-containers/container-libs Signed-off-by: Krzesimir Nowak --- .../coreos-overlay/profiles/coreos/base/package.accept_keywords | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sdk_container/src/third_party/coreos-overlay/profiles/coreos/base/package.accept_keywords b/sdk_container/src/third_party/coreos-overlay/profiles/coreos/base/package.accept_keywords index fd792013283..3c79483cd03 100644 --- a/sdk_container/src/third_party/coreos-overlay/profiles/coreos/base/package.accept_keywords +++ b/sdk_container/src/third_party/coreos-overlay/profiles/coreos/base/package.accept_keywords @@ -19,7 +19,7 @@ sys-firmware/edk2-bin # For podman 6.0.0 =app-containers/aardvark-dns-2.0.0 =app-containers/conmon-2.2.1 -=app-containers/container-libs-0.68.0 +=app-containers/container-libs-0.69.0 # We always want the latest version available. =app-containers/containerd-2.2* ~amd64 ~arm64 From ca52b4dc11d6557c5882e0cc1ca67d2b028516e4 Mon Sep 17 00:00:00 2001 From: Krzesimir Nowak Date: Tue, 4 Aug 2026 16:43:27 +0200 Subject: [PATCH 170/195] overlay profiles: Add accept keywords to address CVEs Signed-off-by: Krzesimir Nowak --- .../profiles/coreos/base/package.accept_keywords | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/sdk_container/src/third_party/coreos-overlay/profiles/coreos/base/package.accept_keywords b/sdk_container/src/third_party/coreos-overlay/profiles/coreos/base/package.accept_keywords index 3c79483cd03..6c15f390971 100644 --- a/sdk_container/src/third_party/coreos-overlay/profiles/coreos/base/package.accept_keywords +++ b/sdk_container/src/third_party/coreos-overlay/profiles/coreos/base/package.accept_keywords @@ -13,6 +13,9 @@ sys-firmware/edk2-bin # Keep versions on both arches in sync. =app-admin/logrotate-3.22.0-r1 +# To address CVE-2026-41991 +=app-arch/gzip-1.14_p20260502 + # Needed to address CVE-2026-14164. =app-arch/libarchive-3.8.8 @@ -62,6 +65,9 @@ app-crypt/azure-keyvault-pkcs11 # No stable keywords yet because it's new. =app-emulation/open-vmdk-0.3.12 ~amd64 +# To address CVE-2026-3886. +=app-emulation/qemu-10.2.3 + # Keep versions on both arches in sync. =app-emulation/qemu-guest-agent-10.2.2 From 455e3472e6c54459d1c3219392f31838dc7465e2 Mon Sep 17 00:00:00 2001 From: Krzesimir Nowak Date: Tue, 4 Aug 2026 16:45:31 +0200 Subject: [PATCH 171/195] overlay coreos/user-patches: Add patches for net-misc/wget Signed-off-by: Krzesimir Nowak --- ...ml_quote_string-Fix-integer-buffer-o.patch | 71 +++++++++++ ...e_content_range-Fix-integer-overflow.patch | 76 +++++++++++ ...lean_metalink_string-Fix-buffer-unde.patch | 50 ++++++++ ...size-handling-in-filename-conversion.patch | 68 ++++++++++ ...V-LPSV-response-address-against-cont.patch | 120 ++++++++++++++++++ .../user-patches/net-misc/wget/README.md | 2 + 6 files changed, 387 insertions(+) create mode 100644 sdk_container/src/third_party/coreos-overlay/coreos/user-patches/net-misc/wget/0001-src-convert.c-html_quote_string-Fix-integer-buffer-o.patch create mode 100644 sdk_container/src/third_party/coreos-overlay/coreos/user-patches/net-misc/wget/0002-src-http.c-parse_content_range-Fix-integer-overflow.patch create mode 100644 sdk_container/src/third_party/coreos-overlay/coreos/user-patches/net-misc/wget/0003-src-metalink.c-clean_metalink_string-Fix-buffer-unde.patch create mode 100644 sdk_container/src/third_party/coreos-overlay/coreos/user-patches/net-misc/wget/0004-Fix-buffer-size-handling-in-filename-conversion.patch create mode 100644 sdk_container/src/third_party/coreos-overlay/coreos/user-patches/net-misc/wget/0005-ftp-validate-PASV-LPSV-response-address-against-cont.patch create mode 100644 sdk_container/src/third_party/coreos-overlay/coreos/user-patches/net-misc/wget/README.md diff --git a/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/net-misc/wget/0001-src-convert.c-html_quote_string-Fix-integer-buffer-o.patch b/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/net-misc/wget/0001-src-convert.c-html_quote_string-Fix-integer-buffer-o.patch new file mode 100644 index 00000000000..28c68c69710 --- /dev/null +++ b/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/net-misc/wget/0001-src-convert.c-html_quote_string-Fix-integer-buffer-o.patch @@ -0,0 +1,71 @@ +From dd692d9cea5335b181d877ae917fe6e75587a812 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Tim=20R=C3=BChsen?= +Date: Mon, 29 Jun 2026 19:13:15 +0200 +Subject: [PATCH] * src/convert.c (html_quote_string): Fix integer+buffer + overflow + +Reported-by: TristanInSec@gmail.com +--- + src/convert.c | 31 ++++++++++++++++++++++++------- + 1 file changed, 24 insertions(+), 7 deletions(-) + +diff --git a/src/convert.c b/src/convert.c +index feb90a35..3baec850 100644 +--- a/src/convert.c ++++ b/src/convert.c +@@ -36,6 +36,7 @@ as that of the covered work. */ + #include + #include + #include ++#include + #include "convert.h" + #include "url.h" + #include "recur.h" +@@ -1178,21 +1179,37 @@ html_quote_string (const char *s) + { + const char *b = s; + char *p, *res; +- int i; ++ size_t i; ++ int ok; + + /* Pass through the string, and count the new size. */ +- for (i = 0; *s; s++, i++) ++ for (i = 0; *s; s++) + { + if (*s == '&') +- i += 4; /* `amp;' */ ++ ok = INT_ADD_OK (i, 4, &i); /* `amp;' */ + else if (*s == '<' || *s == '>') +- i += 3; /* `lt;' and `gt;' */ ++ ok = INT_ADD_OK (i, 3, &i); /* `lt;' and `gt;' */ + else if (*s == '\"') +- i += 5; /* `quot;' */ ++ ok = INT_ADD_OK (i, 5, &i); /* `quot;' */ + else if (*s == ' ') +- i += 4; /* #32; */ ++ ok = INT_ADD_OK (i, 4, &i); /* #32; */ ++ else ++ ok = INT_ADD_OK (i, 1, &i); ++ ++ if (!ok) ++ { ++ DEBUGP (("Overflow detected in html_quote_string().\n")); ++ abort(); ++ } + } +- res = xmalloc (i + 1); ++ ++ if (!INT_ADD_OK (i, 1, &i)) ++ { ++ DEBUGP (("Overflow detected in html_quote_string().\n")); ++ abort(); ++ } ++ ++ res = xmalloc (i); + s = b; + for (p = res; *s; s++) + { +-- +2.54.0 + diff --git a/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/net-misc/wget/0002-src-http.c-parse_content_range-Fix-integer-overflow.patch b/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/net-misc/wget/0002-src-http.c-parse_content_range-Fix-integer-overflow.patch new file mode 100644 index 00000000000..ad4142b0443 --- /dev/null +++ b/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/net-misc/wget/0002-src-http.c-parse_content_range-Fix-integer-overflow.patch @@ -0,0 +1,76 @@ +From 43d3ba9336bc94937e6fae2365c6ffd30c34ffcf Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Tim=20R=C3=BChsen?= +Date: Mon, 29 Jun 2026 18:57:54 +0200 +Subject: [PATCH] * src/http.c (parse_content_range): Fix integer overflow + +Reported-by: TristanInSec@gmail.com +--- + src/http.c | 35 ++++++++++++++++++++++++----------- + 1 file changed, 24 insertions(+), 11 deletions(-) + +diff --git a/src/http.c b/src/http.c +index 61d83df1..f447c7f7 100644 +--- a/src/http.c ++++ b/src/http.c +@@ -914,6 +914,7 @@ parse_content_range (const char *hdr, wgint *first_byte_ptr, + wgint *last_byte_ptr, wgint *entity_length_ptr) + { + wgint num; ++ char *end; + + /* Ancient versions of Netscape proxy server, presumably predating + rfc2068, sent out `Content-Range' without the "bytes" +@@ -932,27 +933,39 @@ parse_content_range (const char *hdr, wgint *first_byte_ptr, + } + if (!c_isdigit (*hdr)) + return false; +- for (num = 0; c_isdigit (*hdr); hdr++) +- num = 10 * num + (*hdr - '0'); +- if (*hdr != '-' || !c_isdigit (*(hdr + 1))) ++ ++ errno = 0; ++ num = strtol(hdr, &end, 10); ++ if (errno == ERANGE) ++ return false; ++ hdr = end; ++ ++ if (*hdr++ != '-' || !c_isdigit (*hdr)) + return false; + *first_byte_ptr = num; +- ++hdr; +- for (num = 0; c_isdigit (*hdr); hdr++) +- num = 10 * num + (*hdr - '0'); +- if (*hdr != '/') ++ ++ errno = 0; ++ num = strtol(hdr, &end, 10); ++ if (errno == ERANGE) ++ return false; ++ hdr = end; ++ ++ if (*hdr++ != '/') + return false; + *last_byte_ptr = num; +- if (!(c_isdigit (*(hdr + 1)) || *(hdr + 1) == '*')) ++ if (!(c_isdigit (*hdr) || *hdr == '*')) + return false; + if (*last_byte_ptr < *first_byte_ptr) + return false; +- ++hdr; + if (*hdr == '*') + num = -1; + else +- for (num = 0; c_isdigit (*hdr); hdr++) +- num = 10 * num + (*hdr - '0'); ++ { ++ errno = 0; ++ num = strtol(hdr, NULL, 10); ++ if (errno == ERANGE) ++ return false; ++ } + *entity_length_ptr = num; + if ((*entity_length_ptr <= *last_byte_ptr) && *entity_length_ptr != -1) + return false; +-- +2.54.0 + diff --git a/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/net-misc/wget/0003-src-metalink.c-clean_metalink_string-Fix-buffer-unde.patch b/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/net-misc/wget/0003-src-metalink.c-clean_metalink_string-Fix-buffer-unde.patch new file mode 100644 index 00000000000..7a13ce8c65f --- /dev/null +++ b/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/net-misc/wget/0003-src-metalink.c-clean_metalink_string-Fix-buffer-unde.patch @@ -0,0 +1,50 @@ +From 37a40fcb450153f69537c7cbc2a7a4fb0b6f7826 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Tim=20R=C3=BChsen?= +Date: Mon, 29 Jun 2026 18:32:02 +0200 +Subject: [PATCH] * src/metalink.c (clean_metalink_string): Fix buffer + underflow + +Reported-by: TristanInSec@gmail.com +--- + src/metalink.c | 9 +++------ + 1 file changed, 3 insertions(+), 6 deletions(-) + +diff --git a/src/metalink.c b/src/metalink.c +index 9e355fd0..3acdc3a2 100644 +--- a/src/metalink.c ++++ b/src/metalink.c +@@ -1041,7 +1041,6 @@ void + clean_metalink_string (char **str) + { + int c; +- size_t len; + char *new, *beg, *end; + + if (!str || !*str) +@@ -1049,7 +1048,7 @@ clean_metalink_string (char **str) + + beg = *str; + +- while ((c = *beg) && (c == '\n' || c == '\r' || c == '\t' || c == ' ')) ++ while (isspace(*beg)) + beg++; + + end = beg; +@@ -1062,12 +1061,10 @@ clean_metalink_string (char **str) + /* If we are at the end of the string, search the first legit + character going backward. */ + if (*end == '\0') +- while ((c = *(end - 1)) && (c == '\n' || c == '\r' || c == '\t' || c == ' ')) ++ while (end > beg && !isspace(*(end - 1))) + end--; + +- len = end - beg; +- +- new = xmemdup0 (beg, len); ++ new = xmemdup0 (beg, end - beg); + xfree (*str); + *str = new; + } +-- +2.54.0 + diff --git a/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/net-misc/wget/0004-Fix-buffer-size-handling-in-filename-conversion.patch b/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/net-misc/wget/0004-Fix-buffer-size-handling-in-filename-conversion.patch new file mode 100644 index 00000000000..2232c8a1ac6 --- /dev/null +++ b/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/net-misc/wget/0004-Fix-buffer-size-handling-in-filename-conversion.patch @@ -0,0 +1,68 @@ +From c2640fe5171c59f87c58dc9fcb195b2d18b010ee Mon Sep 17 00:00:00 2001 +From: Arkadi Vainbrand +Date: Tue, 13 Jan 2026 12:22:04 +0200 +Subject: [PATCH] Fix buffer size handling in filename conversion + +* src/url.c (convert_fname): Fix buffer overflow. + +Copyright-paperwork-exempt: Yes +Signed-off-by: Arkadi Vainbrand +--- + src/url.c | 20 +++++++++++++------- + 1 file changed, 13 insertions(+), 7 deletions(-) + +diff --git a/src/url.c b/src/url.c +index 7540e90f..f334456c 100644 +--- a/src/url.c ++++ b/src/url.c +@@ -1614,7 +1614,7 @@ convert_fname (char *fname) + const char *from_encoding = opt.encoding_remote; + const char *to_encoding = opt.locale; + iconv_t cd; +- size_t len, done, inlen, outlen; ++ size_t len, inlen, outlen; + char *s; + const char *orig_fname; + +@@ -1636,7 +1636,6 @@ convert_fname (char *fname) + inlen = strlen (fname); + len = outlen = inlen * 2; + converted_fname = s = xmalloc (outlen + 1); +- done = 0; + + for (;;) + { +@@ -1644,7 +1643,7 @@ convert_fname (char *fname) + if (iconv (cd, (ICONV_CONST char **) &fname, &inlen, &s, &outlen) == 0 + && iconv (cd, NULL, NULL, &s, &outlen) == 0) + { +- *(converted_fname + len - outlen - done) = '\0'; ++ *s = '\0'; + iconv_close (cd); + DEBUGP (("Converted file name '%s' (%s) -> '%s' (%s)\n", + orig_fname, from_encoding, converted_fname, to_encoding)); +@@ -1667,10 +1666,17 @@ convert_fname (char *fname) + } + else if (errno == E2BIG) /* Output buffer full */ + { +- done = len; +- len = outlen = done + inlen * 2; +- converted_fname = xrealloc (converted_fname, outlen + 1); +- s = converted_fname + done; ++ size_t used = s - converted_fname; ++ size_t newlen = used + inlen * 2 + 1; ++ ++ /* Ensure we actually grow the buffer */ ++ if (newlen <= len) ++ newlen = len * 2; ++ ++ converted_fname = xrealloc (converted_fname, newlen + 1); ++ len = newlen; ++ s = converted_fname + used; ++ outlen = len - used; + } + else /* Weird, we got an unspecified error */ + { +-- +2.54.0 + diff --git a/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/net-misc/wget/0005-ftp-validate-PASV-LPSV-response-address-against-cont.patch b/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/net-misc/wget/0005-ftp-validate-PASV-LPSV-response-address-against-cont.patch new file mode 100644 index 00000000000..6af07b7d9a9 --- /dev/null +++ b/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/net-misc/wget/0005-ftp-validate-PASV-LPSV-response-address-against-cont.patch @@ -0,0 +1,120 @@ +From 4f85853f641863d5915786a8413e1a213726a62b Mon Sep 17 00:00:00 2001 +From: Acts1631 +Date: Sun, 5 Jul 2026 17:22:55 -0400 +Subject: [PATCH] ftp: validate PASV/LPSV response address against control + connection peer + +* src/ftp-basic.c (ftp_pasv): Reject if peer address doesn't match advertised + address, + (ftp_lpsv): Likewise. + +ftp_pasv() and ftp_lpsv() copied the IP address and port advertised in +the server's 227 response without checking that it matched the peer +of the control connection. A malicious or compromised FTP server +could therefore direct wget's data connection to an arbitrary host and +port of its choosing (e.g. an internal service unreachable from the +attacker directly), which is a server-side request forgery. + +ftp_epsv() was already safe since it only extracts a port and reuses +the pre-filled control-connection address. + +Fix ftp_pasv() and ftp_lpsv() the same way: capture the control +connection's peer address via socket_ip_address() before parsing the +response, and reject the response (FTPINVPASV) if the parsed address +does not match. + +Verified with a fake FTP server that returns a PASV response pointing +at a different loopback address (127.0.0.2 instead of the real peer +127.0.0.1): before the fix wget connects to the spoofed address, after +the fix it rejects the response with "Cannot parse PASV response." +Legitimate transfers using a correctly-addressed PASV response +continue to work. + +Copyright-paperwork-exempt: Yes +--- + src/ftp-basic.c | 40 ++++++++++++++++++++++++++++++++++++++++ + 1 file changed, 40 insertions(+) + +diff --git a/src/ftp-basic.c b/src/ftp-basic.c +index 4870256a..0f4bb821 100644 +--- a/src/ftp-basic.c ++++ b/src/ftp-basic.c +@@ -623,10 +623,19 @@ ftp_pasv (int csock, ip_address *addr, int *port) + int nwritten, i; + uerr_t err; + unsigned char tmp[6]; ++ ip_address peer_addr; + + assert (addr != NULL); + assert (port != NULL); + ++ /* Remember who we are talking to on the control connection, so that ++ the address returned in the PASV response can be checked below. ++ Accepting an arbitrary server-supplied address would let a ++ malicious FTP server redirect our data connection to any host of ++ its choosing (SSRF). */ ++ if (!socket_ip_address (csock, &peer_addr, ENDPOINT_PEER)) ++ return FTPINVPASV; ++ + xzero (*addr); + + /* Form the request. */ +@@ -677,6 +686,16 @@ ftp_pasv (int csock, ip_address *addr, int *port) + memcpy (IP_INADDR_DATA (addr), tmp, 4); + *port = ((tmp[4] << 8) & 0xff00) + tmp[5]; + ++ /* Reject the response if the advertised address does not match the ++ control connection's peer. */ ++ if (peer_addr.family != AF_INET ++ || memcmp (IP_INADDR_DATA (addr), IP_INADDR_DATA (&peer_addr), 4) != 0) ++ { ++ xzero (*addr); ++ *port = 0; ++ return FTPINVPASV; ++ } ++ + return FTPOK; + } + +@@ -692,10 +711,19 @@ ftp_lpsv (int csock, ip_address *addr, int *port) + uerr_t err; + unsigned char tmp[16]; + unsigned char tmpprt[2]; ++ ip_address peer_addr; + + assert (addr != NULL); + assert (port != NULL); + ++ /* Remember who we are talking to on the control connection, so that ++ the address returned in the LPSV response can be checked below. ++ Accepting an arbitrary server-supplied address would let a ++ malicious FTP server redirect our data connection to any host of ++ its choosing (SSRF). */ ++ if (!socket_ip_address (csock, &peer_addr, ENDPOINT_PEER)) ++ return FTPINVPASV; ++ + xzero (*addr); + + /* Form the request. */ +@@ -842,6 +870,18 @@ ftp_lpsv (int csock, ip_address *addr, int *port) + DEBUGP (("*port is: %d\n", *port)); + } + ++ /* Reject the response if the advertised address does not match the ++ control connection's peer. */ ++ if (peer_addr.family != addr->family ++ || memcmp (IP_INADDR_DATA (addr), IP_INADDR_DATA (&peer_addr), ++ af == 4 ? 4 : 16) != 0) ++ { ++ xzero (*addr); ++ *port = 0; ++ xfree (respline); ++ return FTPINVPASV; ++ } ++ + xfree (respline); + return FTPOK; + } +-- +2.54.0 + diff --git a/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/net-misc/wget/README.md b/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/net-misc/wget/README.md new file mode 100644 index 00000000000..fa41e96d877 --- /dev/null +++ b/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/net-misc/wget/README.md @@ -0,0 +1,2 @@ +These patches are addressing CVEs. These probably can be dropped if +there is ever a 1.25.1 or 1.26 release of wget. From 0730c2870fa7484b12c74802685d86c0719dfc6d Mon Sep 17 00:00:00 2001 From: Krzesimir Nowak Date: Tue, 4 Aug 2026 16:48:50 +0200 Subject: [PATCH 172/195] sys-apps/policycoreutils: Sync with Gentoo It's from Gentoo commit 1a7ea9d501b1fd9673bff8f28c7b089db2e2f288. Signed-off-by: Krzesimir Nowak --- .../sys-apps/policycoreutils/Manifest | 2 +- .../policycoreutils-3.11.ebuild | 168 ++++++++++++++ .../policycoreutils-3.8.1.ebuild | 210 ------------------ 3 files changed, 169 insertions(+), 211 deletions(-) create mode 100644 sdk_container/src/third_party/coreos-overlay/sys-apps/policycoreutils/policycoreutils-3.11.ebuild delete mode 100644 sdk_container/src/third_party/coreos-overlay/sys-apps/policycoreutils/policycoreutils-3.8.1.ebuild diff --git a/sdk_container/src/third_party/coreos-overlay/sys-apps/policycoreutils/Manifest b/sdk_container/src/third_party/coreos-overlay/sys-apps/policycoreutils/Manifest index 55f9dc6a761..6d335966442 100644 --- a/sdk_container/src/third_party/coreos-overlay/sys-apps/policycoreutils/Manifest +++ b/sdk_container/src/third_party/coreos-overlay/sys-apps/policycoreutils/Manifest @@ -1,2 +1,2 @@ -DIST policycoreutils-3.8.1.tar.gz 758726 BLAKE2B cda4c6a967a156874d6adcadbda546d8cf30d19622e0bec85ade88eccf730e4dd143eb7b07678826e1284aaa2fe316c24f828d28f422e15694d38d4e06035b78 SHA512 e14df87d163eec46a57bb7496db77090bd310554b2af1b68c66d9ef2f160bc4ac17305fb889a5415489baeabfd47946c0e37e6ad4dd14e392529c802ad06290b +DIST policycoreutils-3.11.tar.gz 759495 BLAKE2B c92808e36cb6bf3a15fef5153a77ca4ce4173bd9d80f7e4265e993ad2366da6dfa6ad823e0a9406fc445111b57bf26e4e08c3b632fdbf4a1b58aea959d0c5fa5 SHA512 c56da29e6e73b53b6d9dbe02910acfb6e8b7891b6bbf7731edb14256788b74b73340ec7f3547f9dc5100815617a2a3b7bae99ad8193190895aa7494bc47c4139 DIST policycoreutils-extra-1.37.tar.bz2 8809 BLAKE2B a7f6122c2e27f54b018174e962bd7f4c14af04e09bbb5300bde6967ea7f2dc5cd03b5787919a4e7f5288bcbc6747922962b5bd3b588ab1e3a035fbff4910d8f5 SHA512 0a85cd7cf279256b5e1927f9dfdd89626a1c8b77b0aeb62b496e7e8d1dccbaa315e39f9308fb2df7270f0bc1c10787b19990e7365cad74b47b61e30394c8b23f diff --git a/sdk_container/src/third_party/coreos-overlay/sys-apps/policycoreutils/policycoreutils-3.11.ebuild b/sdk_container/src/third_party/coreos-overlay/sys-apps/policycoreutils/policycoreutils-3.11.ebuild new file mode 100644 index 00000000000..c6684fc8f8f --- /dev/null +++ b/sdk_container/src/third_party/coreos-overlay/sys-apps/policycoreutils/policycoreutils-3.11.ebuild @@ -0,0 +1,168 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="8" +PYTHON_COMPAT=( python3_{12..14} ) +PYTHON_REQ_USE="xml(+)" + +inherit python-r1 toolchain-funcs bash-completion-r1 + +MY_PV="${PV//_/-}" +MY_P="${PN}-${MY_PV}" +EXTRAS_VER="1.37" + +DESCRIPTION="SELinux core utilities" +HOMEPAGE="https://github.com/SELinuxProject/selinux/wiki" + +if [[ ${PV} == 9999 ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/SELinuxProject/selinux.git" + SRC_URI="https://dev.gentoo.org/~perfinion/distfiles/policycoreutils-extra-${EXTRAS_VER}.tar.bz2" + S1="${WORKDIR}/${P}/${PN}" + S2="${WORKDIR}/policycoreutils-extra" + S="${S1}" +else + SRC_URI="https://github.com/SELinuxProject/selinux/releases/download/${MY_PV}/${MY_P}.tar.gz + https://dev.gentoo.org/~perfinion/distfiles/policycoreutils-extra-${EXTRAS_VER}.tar.bz2" + KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86" + S1="${WORKDIR}/${MY_P}" + S2="${WORKDIR}/policycoreutils-extra" + S="${S1}" +fi + +LICENSE="GPL-2" +SLOT="0" +IUSE="audit pam split-usr" +REQUIRED_USE="${PYTHON_REQUIRED_USE}" + +DEPEND=">=sys-libs/libselinux-${PV}:=[python,${PYTHON_USEDEP}] + >=sys-libs/libsemanage-${PV}:=[python(+),${PYTHON_USEDEP}] + >=sys-libs/libsepol-${PV}:= + sys-libs/libcap-ng:= + >=app-admin/setools-4.2.0[${PYTHON_USEDEP}] + audit? ( >=sys-process/audit-1.5.1[python,${PYTHON_USEDEP}] ) + pam? ( sys-libs/pam:= ) + ${PYTHON_DEPS}" + +# Avoid dependency loop in the cross-compile case, bug #755173 +# (Still exists in native) +BDEPEND="sys-devel/gettext" + +# pax-utils for scanelf used by rlpkg +RDEPEND="${DEPEND} + app-misc/pax-utils" + +PDEPEND="sys-apps/semodule-utils + sys-apps/selinux-python" + +src_unpack() { + # Override default one because we need the SRC_URI ones even in case of 9999 ebuilds + default + if [[ ${PV} == 9999 ]] ; then + git-r3_src_unpack + fi +} + +src_prepare() { + S="${S1}" + cd "${S}" || die "Failed to switch to ${S}" + if [[ ${PV} != 9999 ]] ; then + # If needed for live ebuilds please use /etc/portage/patches + eapply "${FILESDIR}/policycoreutils-3.1-0001-newrole-not-suid.patch" + fi + + # rlpkg is more useful than fixfiles + sed -i -e '/^all/s/fixfiles//' "${S}/scripts/Makefile" \ + || die "fixfiles sed 1 failed" + sed -i -e '/fixfiles/d' "${S}/scripts/Makefile" \ + || die "fixfiles sed 2 failed" + + eapply_user + + sed -i 's/-Werror//g' "${S1}"/*/Makefile || die "Failed to remove Werror" + + python_copy_sources + # Our extra code is outside the regular directory, so set it to the extra + # directory. We really should optimize this as it is ugly, but the extra + # code is needed for Gentoo at the same time that policycoreutils is present + # (so we cannot use an additional package for now). + S="${S2}" + python_copy_sources +} + +src_compile() { + building() { + emake -C "${BUILD_DIR}" \ + AUDIT_LOG_PRIVS="y" \ + AUDITH="$(usex audit y n)" \ + PAMH="$(usex pam y n)" \ + SESANDBOX="n" \ + CC="$(tc-getCC)" \ + LIBDIR="\$(PREFIX)/$(get_libdir)" + } + S="${S1}" # Regular policycoreutils + python_foreach_impl building + S="${S2}" # Extra set + python_foreach_impl building +} + +src_install() { + # Python scripts are present in many places. There are no extension modules. + installation-policycoreutils() { + einfo "Installing policycoreutils" + emake -C "${BUILD_DIR}" DESTDIR="${D}" \ + AUDIT_LOG_PRIVS="y" \ + AUDITH="$(usex audit y n)" \ + PAMH="$(usex pam y n)" \ + SESANDBOX="n" \ + CC="$(tc-getCC)" \ + LIBDIR="\$(PREFIX)/$(get_libdir)" \ + install + python_optimize + } + + installation-extras() { + einfo "Installing policycoreutils-extra" + emake -C "${BUILD_DIR}" \ + DESTDIR="${D}" \ + install + python_optimize + } + + S="${S1}" # policycoreutils + python_foreach_impl installation-policycoreutils + S="${S2}" # extras + python_foreach_impl installation-extras + S="${S1}" # back for later + + # remove redhat-style init script + rm -fR "${D}/etc/rc.d" || die + + # compatibility symlinks + if use split-usr; then + dosym ../../sbin/setfiles /usr/sbin/setfiles + else + # remove sestatus symlink + rm -f "${D}"/usr/sbin/sestatus || die + fi + + bashcomp_alias setsebool getsebool + + # location for policy definitions + dodir /var/lib/selinux + keepdir /var/lib/selinux + + # Set version-specific scripts + for pyscript in rlpkg; do + python_replicate_script "${ED}/usr/sbin/${pyscript}" + done +} + +pkg_postinst() { + for POLICY_TYPE in ${POLICY_TYPES} ; do + # There have been some changes to the policy store, rebuilding now. + # https://marc.info/?l=selinux&m=143757277819717&w=2 + einfo "Rebuilding store ${POLICY_TYPE} in '${ROOT:-/}' (without re-loading)." + semodule -p "${ROOT:-/}" -s "${POLICY_TYPE}" -n -B || die "Failed to rebuild policy store ${POLICY_TYPE}" + done +} diff --git a/sdk_container/src/third_party/coreos-overlay/sys-apps/policycoreutils/policycoreutils-3.8.1.ebuild b/sdk_container/src/third_party/coreos-overlay/sys-apps/policycoreutils/policycoreutils-3.8.1.ebuild deleted file mode 100644 index bbd002d1079..00000000000 --- a/sdk_container/src/third_party/coreos-overlay/sys-apps/policycoreutils/policycoreutils-3.8.1.ebuild +++ /dev/null @@ -1,210 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI="8" -PYTHON_COMPAT=( python3_{10..13} ) -PYTHON_REQ_USE="xml(+)" - -inherit python-r1 toolchain-funcs bash-completion-r1 - -MY_PV="${PV//_/-}" -MY_P="${PN}-${MY_PV}" -EXTRAS_VER="1.37" - -DESCRIPTION="SELinux core utilities" -HOMEPAGE="https://github.com/SELinuxProject/selinux/wiki" - -if [[ ${PV} == 9999 ]]; then - inherit git-r3 - EGIT_REPO_URI="https://github.com/SELinuxProject/selinux.git" - SRC_URI="!vanilla? ( https://dev.gentoo.org/~perfinion/distfiles/policycoreutils-extra-${EXTRAS_VER}.tar.bz2 )" - S1="${WORKDIR}/${P}/${PN}" - S2="${WORKDIR}/policycoreutils-extra" - S="${S1}" -else - SRC_URI="https://github.com/SELinuxProject/selinux/releases/download/${MY_PV}/${MY_P}.tar.gz - !vanilla? ( https://dev.gentoo.org/~perfinion/distfiles/policycoreutils-extra-${EXTRAS_VER}.tar.bz2 )" - KEYWORDS="amd64 arm arm64 x86" - S1="${WORKDIR}/${MY_P}" - S2="${WORKDIR}/policycoreutils-extra" - S="${S1}" -fi - -LICENSE="GPL-2" -SLOT="0" -IUSE="audit pam split-usr vanilla +python" -REQUIRED_USE=" - !vanilla? ( python ${PYTHON_REQUIRED_USE} ) -" - -DEPEND=" - python? ( - >=sys-libs/libselinux-${PV}:=[python,${PYTHON_USEDEP}] - >=sys-libs/libsemanage-${PV}:=[python(+),${PYTHON_USEDEP}] - audit? ( >=sys-process/audit-1.5.1[python,${PYTHON_USEDEP}] ) - ${PYTHON_DEPS} - ) - !python? ( - >=sys-libs/libselinux-${PV}:= - >=sys-libs/libsemanage-${PV}:= - audit? ( >=sys-process/audit-1.5.1 ) - ) - >=sys-libs/libsepol-${PV}:= - sys-libs/libcap-ng:= - pam? ( sys-libs/pam:= ) - !vanilla? ( - >=app-admin/setools-4.2.0[${PYTHON_USEDEP}] - ) -" - -# Avoid dependency loop in the cross-compile case, bug #755173 -# (Still exists in native) -BDEPEND="sys-devel/gettext" - -# pax-utils for scanelf used by rlpkg -RDEPEND="${DEPEND} - app-misc/pax-utils" - -PDEPEND="sys-apps/semodule-utils - python? ( sys-apps/selinux-python )" - -src_unpack() { - # Override default one because we need the SRC_URI ones even in case of 9999 ebuilds - default - if [[ ${PV} == 9999 ]] ; then - git-r3_src_unpack - fi -} - -src_prepare() { - S="${S1}" - cd "${S}" || die "Failed to switch to ${S}" - if [[ ${PV} != 9999 ]] ; then - # If needed for live ebuilds please use /etc/portage/patches - eapply "${FILESDIR}/policycoreutils-3.1-0001-newrole-not-suid.patch" - fi - - if ! use vanilla; then - # rlpkg is more useful than fixfiles - sed -i -e '/^all/s/fixfiles//' "${S}/scripts/Makefile" \ - || die "fixfiles sed 1 failed" - sed -i -e '/fixfiles/d' "${S}/scripts/Makefile" \ - || die "fixfiles sed 2 failed" - fi - - eapply_user - - sed -i 's/-Werror//g' "${S1}"/*/Makefile || die "Failed to remove Werror" - - if ! use vanilla; then - python_copy_sources - # Our extra code is outside the regular directory, so set it to the extra - # directory. We really should optimize this as it is ugly, but the extra - # code is needed for Gentoo at the same time that policycoreutils is present - # (so we cannot use an additional package for now). - S="${S2}" - python_copy_sources - fi -} - -src_compile() { - building() { - local build_dir=${1} - emake -C "${build_dir}" \ - AUDIT_LOG_PRIVS="y" \ - AUDITH="$(usex audit y n)" \ - PAMH="$(usex pam y n)" \ - SESANDBOX="n" \ - CC="$(tc-getCC)" \ - LIBDIR="\$(PREFIX)/$(get_libdir)" - } - if ! use vanilla; then - building_with_python() { - building "${BUILD_DIR}" - } - S="${S1}" # Regular policycoreutils - python_foreach_impl building_with_python - S="${S2}" # Extra set - python_foreach_impl building_with_python - unset -f building_with_python - else - S="${S1}" # Regular policycoreutils - building "${S}" - fi - unset -f building -} - -src_install() { - installation-policycoreutils-base() { - local build_dir=${1} - einfo "Installing policycoreutils" - emake -C "${build_dir}" DESTDIR="${D}" \ - AUDIT_LOG_PRIVS="y" \ - AUDITH="$(usex audit y n)" \ - PAMH="$(usex pam y n)" \ - SESANDBOX="n" \ - CC="$(tc-getCC)" \ - LIBDIR="\$(PREFIX)/$(get_libdir)" \ - install - } - - if ! use vanilla; then - # Python scripts are present in many places. There are no extension modules. - installation-policycoreutils() { - installation-policycoreutils-base "${BUILD_DIR}" - python_optimize - } - - installation-extras() { - einfo "Installing policycoreutils-extra" - emake -C "${BUILD_DIR}" \ - DESTDIR="${D}" \ - install - python_optimize - } - - S="${S1}" # policycoreutils - python_foreach_impl installation-policycoreutils - S="${S2}" # extras - python_foreach_impl installation-extras - S="${S1}" # back for later - unset -f installation-extras installation-policycoreutils - else - S="${S1}" # policycoreutils - installation-policycoreutils-base "${S}" - fi - unset -f installation-policycoreutils-base - - # remove redhat-style init script - rm -fR "${D}/etc/rc.d" || die - - # compatibility symlinks - if use split-usr; then - dosym ../../sbin/setfiles /usr/sbin/setfiles - else - # remove sestatus symlink - rm -f "${D}"/usr/sbin/sestatus || die - fi - - bashcomp_alias setsebool getsebool - - # location for policy definitions - dodir /var/lib/selinux - keepdir /var/lib/selinux - - if ! use vanilla; then - # Set version-specific scripts - for pyscript in rlpkg; do - python_replicate_script "${ED}/usr/sbin/${pyscript}" - done - fi -} - -pkg_postinst() { - for POLICY_TYPE in ${POLICY_TYPES} ; do - # There have been some changes to the policy store, rebuilding now. - # https://marc.info/?l=selinux&m=143757277819717&w=2 - einfo "Rebuilding store ${POLICY_TYPE} in '${ROOT:-/}' (without re-loading)." - semodule -p "${ROOT:-/}" -s "${POLICY_TYPE}" -n -B || die "Failed to rebuild policy store ${POLICY_TYPE}" - done -} From 822d1600ca292260d7ab817fa3f6003bd06346f0 Mon Sep 17 00:00:00 2001 From: Mathieu Tortuyaux Date: Mon, 12 Jun 2023 18:29:10 +0200 Subject: [PATCH 173/195] sys-apps/policycoreutils: Apply Flatcar modifications Prepare the changes for upstreaming: - Hide python dependencies behind the python USE flag. - Allow using original sources, without Gentoo modifications with the vanilla USE flag. - This also hides app-admin/setools dependency behind this USE flag. I'm not sure if anything in policycoreutils requires anything from that package - I assumed that Gentoo-provided rlpkg maybe does. - Keep using /var/lib/selinux as a SELinux policy directory. We will use INSTALL_MASK to skip installation of the directory and will add a tmpfiles config file to coreos-base/misc-files instead. - Stabilize the package. Signed-off-by: Mathieu Tortuyaux Signed-off-by: Krzesimir Nowak --- .../policycoreutils-3.11.ebuild | 142 ++++++++++++------ 1 file changed, 92 insertions(+), 50 deletions(-) diff --git a/sdk_container/src/third_party/coreos-overlay/sys-apps/policycoreutils/policycoreutils-3.11.ebuild b/sdk_container/src/third_party/coreos-overlay/sys-apps/policycoreutils/policycoreutils-3.11.ebuild index c6684fc8f8f..037795d1c47 100644 --- a/sdk_container/src/third_party/coreos-overlay/sys-apps/policycoreutils/policycoreutils-3.11.ebuild +++ b/sdk_container/src/third_party/coreos-overlay/sys-apps/policycoreutils/policycoreutils-3.11.ebuild @@ -17,14 +17,14 @@ HOMEPAGE="https://github.com/SELinuxProject/selinux/wiki" if [[ ${PV} == 9999 ]]; then inherit git-r3 EGIT_REPO_URI="https://github.com/SELinuxProject/selinux.git" - SRC_URI="https://dev.gentoo.org/~perfinion/distfiles/policycoreutils-extra-${EXTRAS_VER}.tar.bz2" + SRC_URI="!vanilla? ( https://dev.gentoo.org/~perfinion/distfiles/policycoreutils-extra-${EXTRAS_VER}.tar.bz2 )" S1="${WORKDIR}/${P}/${PN}" S2="${WORKDIR}/policycoreutils-extra" S="${S1}" else SRC_URI="https://github.com/SELinuxProject/selinux/releases/download/${MY_PV}/${MY_P}.tar.gz - https://dev.gentoo.org/~perfinion/distfiles/policycoreutils-extra-${EXTRAS_VER}.tar.bz2" - KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86" + !vanilla? ( https://dev.gentoo.org/~perfinion/distfiles/policycoreutils-extra-${EXTRAS_VER}.tar.bz2 )" + KEYWORDS="amd64 arm arm64 x86" S1="${WORKDIR}/${MY_P}" S2="${WORKDIR}/policycoreutils-extra" S="${S1}" @@ -32,17 +32,30 @@ fi LICENSE="GPL-2" SLOT="0" -IUSE="audit pam split-usr" -REQUIRED_USE="${PYTHON_REQUIRED_USE}" - -DEPEND=">=sys-libs/libselinux-${PV}:=[python,${PYTHON_USEDEP}] - >=sys-libs/libsemanage-${PV}:=[python(+),${PYTHON_USEDEP}] +IUSE="audit pam split-usr vanilla +python" +REQUIRED_USE=" + !vanilla? ( python ${PYTHON_REQUIRED_USE} ) +" + +DEPEND=" + python? ( + >=sys-libs/libselinux-${PV}:=[python,${PYTHON_USEDEP}] + >=sys-libs/libsemanage-${PV}:=[python(+),${PYTHON_USEDEP}] + audit? ( >=sys-process/audit-1.5.1[python,${PYTHON_USEDEP}] ) + ${PYTHON_DEPS} + ) + !python? ( + >=sys-libs/libselinux-${PV}:= + >=sys-libs/libsemanage-${PV}:= + audit? ( >=sys-process/audit-1.5.1 ) + ) >=sys-libs/libsepol-${PV}:= sys-libs/libcap-ng:= - >=app-admin/setools-4.2.0[${PYTHON_USEDEP}] - audit? ( >=sys-process/audit-1.5.1[python,${PYTHON_USEDEP}] ) pam? ( sys-libs/pam:= ) - ${PYTHON_DEPS}" + !vanilla? ( + >=app-admin/setools-4.2.0[${PYTHON_USEDEP}] + ) +" # Avoid dependency loop in the cross-compile case, bug #755173 # (Still exists in native) @@ -53,7 +66,7 @@ RDEPEND="${DEPEND} app-misc/pax-utils" PDEPEND="sys-apps/semodule-utils - sys-apps/selinux-python" + python? ( sys-apps/selinux-python )" src_unpack() { # Override default one because we need the SRC_URI ones even in case of 9999 ebuilds @@ -71,28 +84,33 @@ src_prepare() { eapply "${FILESDIR}/policycoreutils-3.1-0001-newrole-not-suid.patch" fi - # rlpkg is more useful than fixfiles - sed -i -e '/^all/s/fixfiles//' "${S}/scripts/Makefile" \ - || die "fixfiles sed 1 failed" - sed -i -e '/fixfiles/d' "${S}/scripts/Makefile" \ - || die "fixfiles sed 2 failed" + if ! use vanilla; then + # rlpkg is more useful than fixfiles + sed -i -e '/^all/s/fixfiles//' "${S}/scripts/Makefile" \ + || die "fixfiles sed 1 failed" + sed -i -e '/fixfiles/d' "${S}/scripts/Makefile" \ + || die "fixfiles sed 2 failed" + fi eapply_user sed -i 's/-Werror//g' "${S1}"/*/Makefile || die "Failed to remove Werror" - python_copy_sources - # Our extra code is outside the regular directory, so set it to the extra - # directory. We really should optimize this as it is ugly, but the extra - # code is needed for Gentoo at the same time that policycoreutils is present - # (so we cannot use an additional package for now). - S="${S2}" - python_copy_sources + if ! use vanilla; then + python_copy_sources + # Our extra code is outside the regular directory, so set it to the extra + # directory. We really should optimize this as it is ugly, but the extra + # code is needed for Gentoo at the same time that policycoreutils is present + # (so we cannot use an additional package for now). + S="${S2}" + python_copy_sources + fi } src_compile() { building() { - emake -C "${BUILD_DIR}" \ + local build_dir=${1} + emake -C "${build_dir}" \ AUDIT_LOG_PRIVS="y" \ AUDITH="$(usex audit y n)" \ PAMH="$(usex pam y n)" \ @@ -100,17 +118,27 @@ src_compile() { CC="$(tc-getCC)" \ LIBDIR="\$(PREFIX)/$(get_libdir)" } - S="${S1}" # Regular policycoreutils - python_foreach_impl building - S="${S2}" # Extra set - python_foreach_impl building + if ! use vanilla; then + building_with_python() { + building "${BUILD_DIR}" + } + S="${S1}" # Regular policycoreutils + python_foreach_impl building_with_python + S="${S2}" # Extra set + python_foreach_impl building_with_python + unset -f building_with_python + else + S="${S1}" # Regular policycoreutils + building "${S}" + fi + unset -f building } src_install() { - # Python scripts are present in many places. There are no extension modules. - installation-policycoreutils() { + installation-policycoreutils-base() { + local build_dir=${1} einfo "Installing policycoreutils" - emake -C "${BUILD_DIR}" DESTDIR="${D}" \ + emake -C "${build_dir}" DESTDIR="${D}" \ AUDIT_LOG_PRIVS="y" \ AUDITH="$(usex audit y n)" \ PAMH="$(usex pam y n)" \ @@ -118,22 +146,34 @@ src_install() { CC="$(tc-getCC)" \ LIBDIR="\$(PREFIX)/$(get_libdir)" \ install - python_optimize - } - - installation-extras() { - einfo "Installing policycoreutils-extra" - emake -C "${BUILD_DIR}" \ - DESTDIR="${D}" \ - install - python_optimize } - S="${S1}" # policycoreutils - python_foreach_impl installation-policycoreutils - S="${S2}" # extras - python_foreach_impl installation-extras - S="${S1}" # back for later + if ! use vanilla; then + # Python scripts are present in many places. There are no extension modules. + installation-policycoreutils() { + installation-policycoreutils-base "${BUILD_DIR}" + python_optimize + } + + installation-extras() { + einfo "Installing policycoreutils-extra" + emake -C "${BUILD_DIR}" \ + DESTDIR="${D}" \ + install + python_optimize + } + + S="${S1}" # policycoreutils + python_foreach_impl installation-policycoreutils + S="${S2}" # extras + python_foreach_impl installation-extras + S="${S1}" # back for later + unset -f installation-extras installation-policycoreutils + else + S="${S1}" # policycoreutils + installation-policycoreutils-base "${S}" + fi + unset -f installation-policycoreutils-base # remove redhat-style init script rm -fR "${D}/etc/rc.d" || die @@ -152,10 +192,12 @@ src_install() { dodir /var/lib/selinux keepdir /var/lib/selinux - # Set version-specific scripts - for pyscript in rlpkg; do - python_replicate_script "${ED}/usr/sbin/${pyscript}" - done + if ! use vanilla; then + # Set version-specific scripts + for pyscript in rlpkg; do + python_replicate_script "${ED}/usr/sbin/${pyscript}" + done + fi } pkg_postinst() { From 2b11b9e16f43d3cf1bb2b0e41e4b6c33ddc1a98d Mon Sep 17 00:00:00 2001 From: Krzesimir Nowak Date: Tue, 4 Aug 2026 16:55:17 +0200 Subject: [PATCH 174/195] sys-libs/libsemanage: Sync with Gentoo It's from Gentoo commit 66a5f848251234112d42dbdc8fe6f94b926cadc0. Signed-off-by: Krzesimir Nowak --- .../sys-libs/libsemanage/Manifest | 2 +- .../files/libsemanage-extra-config.patch | 30 -------- ...e-3.8.1.ebuild => libsemanage-3.11.ebuild} | 74 ++++++++++++------- 3 files changed, 48 insertions(+), 58 deletions(-) delete mode 100644 sdk_container/src/third_party/coreos-overlay/sys-libs/libsemanage/files/libsemanage-extra-config.patch rename sdk_container/src/third_party/coreos-overlay/sys-libs/libsemanage/{libsemanage-3.8.1.ebuild => libsemanage-3.11.ebuild} (55%) diff --git a/sdk_container/src/third_party/coreos-overlay/sys-libs/libsemanage/Manifest b/sdk_container/src/third_party/coreos-overlay/sys-libs/libsemanage/Manifest index 632c6a0cf20..b068a08cccb 100644 --- a/sdk_container/src/third_party/coreos-overlay/sys-libs/libsemanage/Manifest +++ b/sdk_container/src/third_party/coreos-overlay/sys-libs/libsemanage/Manifest @@ -1 +1 @@ -DIST libsemanage-3.8.1.tar.gz 184618 BLAKE2B 25816a0dccc9cb4fe2033e548e0e840b5ffbde3771a8a4f6d81223c7c29e3622eb0152050d8f1ba41bd6b9afb0ad9819e9a1fabd9722e01cad57d7fd7a135d5d SHA512 ac3729ba4934a48a33e082af35baa9e25e6806855afb0f0e4e22aa67be201518c3d4933b8cf4dec83e5acbe178301276f51850bb1b16bc13e027a470ac7f1eb5 +DIST libsemanage-3.11.tar.gz 185656 BLAKE2B 9d3ce326dc5350d4a7c627fe086694e55906bb4bc7f0b0a093f4631504376474be7be0e361ad3f58f97064a0ed46c47ee850add5214b23b6f78932baf219dc55 SHA512 cafcdac9ba9a65f7940929f3e36e7e35ece6ef5cb97723e459ba7fdaaf937708873cb1c273733830f7fc54679c4cf6ae0189322231748d318a6db2851db1d11a diff --git a/sdk_container/src/third_party/coreos-overlay/sys-libs/libsemanage/files/libsemanage-extra-config.patch b/sdk_container/src/third_party/coreos-overlay/sys-libs/libsemanage/files/libsemanage-extra-config.patch deleted file mode 100644 index ecd0ffd9202..00000000000 --- a/sdk_container/src/third_party/coreos-overlay/sys-libs/libsemanage/files/libsemanage-extra-config.patch +++ /dev/null @@ -1,30 +0,0 @@ -diff -r -u libsemanage-3.6/src/semanage.conf libsemanage-3.6-patched/src/semanage.conf ---- libsemanage-3.6/src/semanage.conf 2023-12-13 15:46:22.000000000 +0100 -+++ libsemanage-3.6-patched/src/semanage.conf 2024-02-21 14:33:06.055611733 +0100 -@@ -40,3 +40,26 @@ - # By default, semanage will generate policies for the SELinux target. - # To build policies for Xen, uncomment the following line. - #target-platform = xen -+ -+# Set this to true to save the linked policy. -+# This is normally only useful for analysis -+# or debugging of policy. -+save-linked=false -+ -+# Set this to 0 to disable assertion checking. -+# This should speed up building the kernel policy -+# from policy modules, but may leave you open to -+# dangerous rules which assertion checking -+# would catch. -+expand-check=1 -+ -+# Modules in the module store can be compressed -+# with bzip2. Set this to the bzip2 blocksize -+# 1-9 when compressing. The higher the number, -+# the more memory is traded off for disk space. -+# Set to 0 to disable bzip2 compression. -+bzip-blocksize=0 -+ -+# Reduce memory usage for bzip2 compression and -+# decompression of modules in the module store. -+bzip-small=true diff --git a/sdk_container/src/third_party/coreos-overlay/sys-libs/libsemanage/libsemanage-3.8.1.ebuild b/sdk_container/src/third_party/coreos-overlay/sys-libs/libsemanage/libsemanage-3.11.ebuild similarity index 55% rename from sdk_container/src/third_party/coreos-overlay/sys-libs/libsemanage/libsemanage-3.8.1.ebuild rename to sdk_container/src/third_party/coreos-overlay/sys-libs/libsemanage/libsemanage-3.11.ebuild index 77ad22f80ff..9c2fcf78207 100644 --- a/sdk_container/src/third_party/coreos-overlay/sys-libs/libsemanage/libsemanage-3.8.1.ebuild +++ b/sdk_container/src/third_party/coreos-overlay/sys-libs/libsemanage/libsemanage-3.11.ebuild @@ -1,10 +1,10 @@ -# Copyright 1999-2025 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI="8" -PYTHON_COMPAT=( python3_{10..13} ) +PYTHON_COMPAT=( python3_{12..15} ) -inherit python-r1 toolchain-funcs multilib-minimal +inherit dot-a python-r1 toolchain-funcs multilib-minimal MY_PV="${PV//_/-}" MY_P="${PN}-${MY_PV}" @@ -18,45 +18,65 @@ if [[ ${PV} == 9999 ]]; then S="${WORKDIR}/${P}/${PN}" else SRC_URI="https://github.com/SELinuxProject/selinux/releases/download/${MY_PV}/${MY_P}.tar.gz" - KEYWORDS="amd64 arm arm64 ~mips ~riscv x86" + KEYWORDS="~amd64 ~arm ~arm64 ~mips ~riscv ~x86" S="${WORKDIR}/${MY_P}" fi LICENSE="GPL-2" SLOT="0/2" -IUSE="+python" -REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" +REQUIRED_USE="${PYTHON_REQUIRED_USE}" -RDEPEND=" - app-arch/bzip2[${MULTILIB_USEDEP}] +RDEPEND="app-arch/bzip2[${MULTILIB_USEDEP}] >=sys-libs/libsepol-${PV}:=[${MULTILIB_USEDEP}] >=sys-libs/libselinux-${PV}:=[${MULTILIB_USEDEP}] >=sys-process/audit-2.2.2[${MULTILIB_USEDEP}] - python? ( ${PYTHON_DEPS} ) -" + ${PYTHON_DEPS}" DEPEND="${RDEPEND}" -BDEPEND=" +BDEPEND=">=dev-lang/swig-2.0.4-r1 app-alternatives/yacc app-alternatives/lex - python? ( - >=dev-lang/swig-2.0.4-r1 - virtual/pkgconfig - ) -" + virtual/pkgconfig" # tests are not meant to be run outside of the # full SELinux userland repo RESTRICT="test" -PATCHES=( - "${FILESDIR}/libsemanage-extra-config.patch" -) - src_prepare() { - default + eapply_user + + cat <<-EOF >> "${S}/src/semanage.conf" || die + # Set this to true to save the linked policy. + # This is normally only useful for analysis + # or debugging of policy. + save-linked=false + + # Set this to 0 to disable assertion checking. + # This should speed up building the kernel policy + # from policy modules, but may leave you open to + # dangerous rules which assertion checking + # would catch. + expand-check=1 + + # Modules in the module store can be compressed + # with bzip2. Set this to the bzip2 blocksize + # 1-9 when compressing. The higher the number, + # the more memory is traded off for disk space. + # Set to 0 to disable bzip2 compression. + bzip-blocksize=0 + + # Reduce memory usage for bzip2 compression and + # decompression of modules in the module store. + bzip-small=true + EOF + multilib_copy_sources } +src_configure() { + lto-guarantee-fat + multilib-minimal_src_configure +} + multilib_src_compile() { local -x CFLAGS="${CFLAGS} -fno-semantic-interposition" @@ -66,7 +86,7 @@ multilib_src_compile() { LIBDIR="${EPREFIX}/usr/$(get_libdir)" \ all - if use python && multilib_is_native_abi; then + if multilib_is_native_abi; then building_py() { emake \ AR="$(tc-getAR)" \ @@ -85,7 +105,9 @@ multilib_src_install() { LIBDIR="${EPREFIX}/usr/$(get_libdir)" \ DESTDIR="${ED}" install - if use python && multilib_is_native_abi; then + strip-lto-bytecode + + if multilib_is_native_abi; then installation_py() { emake DESTDIR="${ED}" \ LIBDIR="${EPREFIX}/usr/$(get_libdir)" \ @@ -98,8 +120,6 @@ multilib_src_install() { } multiib_src_install_all() { - if use python; then - python_setup - python_fix_shebang "${ED}"/usr/libexec/selinux/semanage_migrate_store - fi + python_setup + python_fix_shebang "${ED}"/usr/libexec/selinux/semanage_migrate_store } From 0f3f89ddb1ae42ca67149a7163ffd5a88a502774 Mon Sep 17 00:00:00 2001 From: Mathieu Tortuyaux Date: Mon, 12 Jun 2023 18:29:10 +0200 Subject: [PATCH 175/195] sys-libs/libsemanage: Apply flatcar patches Prepare the ebuild to be in an upstreamable state: - hide python dependencies behind the IUSE flag - move the semanage.conf additions to a patch - that way, we can add a user patch that changes compression setting that was added by Gentoo - stabilize the package Signed-off-by: Mathieu Tortuyaux Signed-off-by: Krzesimir Nowak --- .../files/libsemanage-extra-config.patch | 30 +++++++++ .../libsemanage/libsemanage-3.11.ebuild | 61 ++++++++----------- 2 files changed, 54 insertions(+), 37 deletions(-) create mode 100644 sdk_container/src/third_party/coreos-overlay/sys-libs/libsemanage/files/libsemanage-extra-config.patch diff --git a/sdk_container/src/third_party/coreos-overlay/sys-libs/libsemanage/files/libsemanage-extra-config.patch b/sdk_container/src/third_party/coreos-overlay/sys-libs/libsemanage/files/libsemanage-extra-config.patch new file mode 100644 index 00000000000..ecd0ffd9202 --- /dev/null +++ b/sdk_container/src/third_party/coreos-overlay/sys-libs/libsemanage/files/libsemanage-extra-config.patch @@ -0,0 +1,30 @@ +diff -r -u libsemanage-3.6/src/semanage.conf libsemanage-3.6-patched/src/semanage.conf +--- libsemanage-3.6/src/semanage.conf 2023-12-13 15:46:22.000000000 +0100 ++++ libsemanage-3.6-patched/src/semanage.conf 2024-02-21 14:33:06.055611733 +0100 +@@ -40,3 +40,26 @@ + # By default, semanage will generate policies for the SELinux target. + # To build policies for Xen, uncomment the following line. + #target-platform = xen ++ ++# Set this to true to save the linked policy. ++# This is normally only useful for analysis ++# or debugging of policy. ++save-linked=false ++ ++# Set this to 0 to disable assertion checking. ++# This should speed up building the kernel policy ++# from policy modules, but may leave you open to ++# dangerous rules which assertion checking ++# would catch. ++expand-check=1 ++ ++# Modules in the module store can be compressed ++# with bzip2. Set this to the bzip2 blocksize ++# 1-9 when compressing. The higher the number, ++# the more memory is traded off for disk space. ++# Set to 0 to disable bzip2 compression. ++bzip-blocksize=0 ++ ++# Reduce memory usage for bzip2 compression and ++# decompression of modules in the module store. ++bzip-small=true diff --git a/sdk_container/src/third_party/coreos-overlay/sys-libs/libsemanage/libsemanage-3.11.ebuild b/sdk_container/src/third_party/coreos-overlay/sys-libs/libsemanage/libsemanage-3.11.ebuild index 9c2fcf78207..beb150f9937 100644 --- a/sdk_container/src/third_party/coreos-overlay/sys-libs/libsemanage/libsemanage-3.11.ebuild +++ b/sdk_container/src/third_party/coreos-overlay/sys-libs/libsemanage/libsemanage-3.11.ebuild @@ -18,57 +18,42 @@ if [[ ${PV} == 9999 ]]; then S="${WORKDIR}/${P}/${PN}" else SRC_URI="https://github.com/SELinuxProject/selinux/releases/download/${MY_PV}/${MY_P}.tar.gz" - KEYWORDS="~amd64 ~arm ~arm64 ~mips ~riscv ~x86" + KEYWORDS="amd64 arm arm64 mips riscv x86" S="${WORKDIR}/${MY_P}" fi LICENSE="GPL-2" SLOT="0/2" -REQUIRED_USE="${PYTHON_REQUIRED_USE}" +IUSE="+python" +REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" -RDEPEND="app-arch/bzip2[${MULTILIB_USEDEP}] +RDEPEND=" + app-arch/bzip2[${MULTILIB_USEDEP}] >=sys-libs/libsepol-${PV}:=[${MULTILIB_USEDEP}] >=sys-libs/libselinux-${PV}:=[${MULTILIB_USEDEP}] >=sys-process/audit-2.2.2[${MULTILIB_USEDEP}] - ${PYTHON_DEPS}" + python? ( ${PYTHON_DEPS} ) +" DEPEND="${RDEPEND}" -BDEPEND=">=dev-lang/swig-2.0.4-r1 +BDEPEND=" app-alternatives/yacc app-alternatives/lex - virtual/pkgconfig" + python? ( + >=dev-lang/swig-2.0.4-r1 + virtual/pkgconfig + ) +" # tests are not meant to be run outside of the # full SELinux userland repo RESTRICT="test" -src_prepare() { - eapply_user - - cat <<-EOF >> "${S}/src/semanage.conf" || die - # Set this to true to save the linked policy. - # This is normally only useful for analysis - # or debugging of policy. - save-linked=false - - # Set this to 0 to disable assertion checking. - # This should speed up building the kernel policy - # from policy modules, but may leave you open to - # dangerous rules which assertion checking - # would catch. - expand-check=1 - - # Modules in the module store can be compressed - # with bzip2. Set this to the bzip2 blocksize - # 1-9 when compressing. The higher the number, - # the more memory is traded off for disk space. - # Set to 0 to disable bzip2 compression. - bzip-blocksize=0 - - # Reduce memory usage for bzip2 compression and - # decompression of modules in the module store. - bzip-small=true - EOF +PATCHES=( + "${FILESDIR}/libsemanage-extra-config.patch" +) +src_prepare() { + default multilib_copy_sources } @@ -86,7 +71,7 @@ multilib_src_compile() { LIBDIR="${EPREFIX}/usr/$(get_libdir)" \ all - if multilib_is_native_abi; then + if use python && multilib_is_native_abi; then building_py() { emake \ AR="$(tc-getAR)" \ @@ -107,7 +92,7 @@ multilib_src_install() { strip-lto-bytecode - if multilib_is_native_abi; then + if use python && multilib_is_native_abi; then installation_py() { emake DESTDIR="${ED}" \ LIBDIR="${EPREFIX}/usr/$(get_libdir)" \ @@ -120,6 +105,8 @@ multilib_src_install() { } multiib_src_install_all() { - python_setup - python_fix_shebang "${ED}"/usr/libexec/selinux/semanage_migrate_store + if use python; then + python_setup + python_fix_shebang "${ED}"/usr/libexec/selinux/semanage_migrate_store + fi } From eea38ccc1d63924823e20e7cb4bfe635c8c0b39c Mon Sep 17 00:00:00 2001 From: Krzesimir Nowak Date: Tue, 4 Aug 2026 17:05:39 +0200 Subject: [PATCH 176/195] overlay profiles: Add accept keywords for sys-apps/policycoreutils deps Signed-off-by: Krzesimir Nowak --- .../profiles/coreos/base/package.accept_keywords | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/sdk_container/src/third_party/coreos-overlay/profiles/coreos/base/package.accept_keywords b/sdk_container/src/third_party/coreos-overlay/profiles/coreos/base/package.accept_keywords index 6c15f390971..ee536fbc2a2 100644 --- a/sdk_container/src/third_party/coreos-overlay/profiles/coreos/base/package.accept_keywords +++ b/sdk_container/src/third_party/coreos-overlay/profiles/coreos/base/package.accept_keywords @@ -135,6 +135,9 @@ dev-db/etcd amd64 # latest version of the package with the unstable keywords. sys-apps/azure-vm-utils +# To address CVE-2026-59676, CVE-2026-59677 in policycoreutils. +=sys-apps/semodule-utils-3.11 + # Keep versions on both arches in sync. =sys-apps/zram-generator-1.2.1 ~arm64 =sys-auth/sssd-2.13.1 @@ -146,9 +149,9 @@ sys-apps/azure-vm-utils # Keep versions on both arches in sync. =sys-fs/lxcfs-7.0.0 -# Our own ebuild fixing issues in Gentoo, hopefully will be fixed -# there too eventually. -=sys-libs/libselinux-3.8.1-r3 ~amd64 ~arm64 +# To address CVE-2026-59676, CVE-2026-59677 in policycoreutils. +=sys-libs/libselinux-3.11 +=sys-libs/libsepol-3.11 # Keep versions on both arches in sync. =sys-libs/libunwind-1.8.3 From 2fe39fc808e55bb194a0d76fc1771b5beddb550c Mon Sep 17 00:00:00 2001 From: Krzesimir Nowak Date: Tue, 4 Aug 2026 17:49:59 +0200 Subject: [PATCH 177/195] overlay coreos/user-patches: Add a patch for dev-libs/libxml2 Signed-off-by: Krzesimir Nowak --- .../0001-xmlcatalog-overflow-check.patch | 77 +++++++++++++++++++ .../user-patches/dev-libs/libxml2/README.md | 1 + 2 files changed, 78 insertions(+) create mode 100644 sdk_container/src/third_party/coreos-overlay/coreos/user-patches/dev-libs/libxml2/0001-xmlcatalog-overflow-check.patch create mode 100644 sdk_container/src/third_party/coreos-overlay/coreos/user-patches/dev-libs/libxml2/README.md diff --git a/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/dev-libs/libxml2/0001-xmlcatalog-overflow-check.patch b/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/dev-libs/libxml2/0001-xmlcatalog-overflow-check.patch new file mode 100644 index 00000000000..c47d74703d8 --- /dev/null +++ b/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/dev-libs/libxml2/0001-xmlcatalog-overflow-check.patch @@ -0,0 +1,77 @@ +From c2e233fc1b341685fc99621b2768b503f777a72e Mon Sep 17 00:00:00 2001 +From: Daniel Garcia Moreno +Date: Fri, 22 May 2026 12:21:20 +0200 +Subject: [PATCH] xmlcatalog: overflow check for large --shell commands + +Fix https://gitlab.gnome.org/GNOME/libxml2/-/work_items/1124 +--- + test/catalogs/test.sh | 11 +++++++++++ + xmlcatalog.c | 16 ++++++++++++++++ + 2 files changed, 27 insertions(+) + +diff --git a/test/catalogs/test.sh b/test/catalogs/test.sh +index 7e5eaa760..84e8b90a2 100755 +--- a/test/catalogs/test.sh ++++ b/test/catalogs/test.sh +@@ -10,6 +10,17 @@ fi + + exitcode=0 + ++# Test xmlcatalog --shell command line ++# Case 1: Really long argument (470 chars) ++input=""; for i in {1..470}; do input="${input}A"; done ++echo $input | $xmlcatalog --shell test/catalogs/dockbook.xml || exit 1 ++# Case 2: public + long argument ++input="public "; for i in {1..470}; do input="${input}A"; done ++echo $input | $xmlcatalog --shell test/catalogs/dockbook.xml || exit 1 ++# Case 3: public + lots of args ++input="public "; for i in {1..80}; do input="${input} x"; done ++echo $input | $xmlcatalog --shell test/catalogs/dockbook.xml || exit 1 ++ + for i in test/catalogs/*.script ; do + name=$(basename $i .script) + xml="./test/catalogs/$name.xml" +diff --git a/xmlcatalog.c b/xmlcatalog.c +index 1e7380431..f8d84ac9c 100644 +--- a/xmlcatalog.c ++++ b/xmlcatalog.c +@@ -135,6 +135,12 @@ static void usershell(void) { + (*cur != '\n') && (*cur != '\r')) { + if (*cur == 0) + break; ++ /* Do not read beyond the command array capacity */ ++ if (i >= (int)sizeof(command) - 2) { ++ printf("Invalid command %s\n", cur); ++ i = 0; ++ break; ++ } + command[i++] = *cur++; + } + command[i] = 0; +@@ -152,6 +158,11 @@ static void usershell(void) { + while ((*cur != '\n') && (*cur != '\r') && (*cur != 0)) { + if (*cur == 0) + break; ++ if (i >= (int)sizeof(arg) - 2) { ++ printf("Invalid arg %s\n", arg); ++ i = 0; ++ break; ++ } + arg[i++] = *cur++; + } + arg[i] = 0; +@@ -164,6 +175,11 @@ static void usershell(void) { + cur = arg; + memset(argv, 0, sizeof(argv)); + while (*cur != 0) { ++ if (i >= (int)sizeof(argv) / (int)sizeof(char*)) { ++ printf("Too much arguments\n"); ++ break; ++ } ++ + while ((*cur == ' ') || (*cur == '\t')) cur++; + if (*cur == '\'') { + cur++; +-- +GitLab + diff --git a/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/dev-libs/libxml2/README.md b/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/dev-libs/libxml2/README.md new file mode 100644 index 00000000000..a82de02dc6c --- /dev/null +++ b/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/dev-libs/libxml2/README.md @@ -0,0 +1 @@ +The patch can be dropped when libxml2 2.15.4 or 2.16.0 is released. From 6e3a9bcd638f82089ec396d94e4ebdbd7248e751 Mon Sep 17 00:00:00 2001 From: Krzesimir Nowak Date: Tue, 4 Aug 2026 17:55:36 +0200 Subject: [PATCH 178/195] overlay coreos/user-patches: Add a patch for sys-libs/pam Signed-off-by: Krzesimir Nowak --- ...-fix-password-comparison-timing-leak.patch | 160 ++++++++++++++++++ .../user-patches/sys-libs/pam/README.md | 2 + 2 files changed, 162 insertions(+) create mode 100644 sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-libs/pam/0002-pam_userdb-fix-password-comparison-timing-leak.patch diff --git a/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-libs/pam/0002-pam_userdb-fix-password-comparison-timing-leak.patch b/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-libs/pam/0002-pam_userdb-fix-password-comparison-timing-leak.patch new file mode 100644 index 00000000000..587920cc0c5 --- /dev/null +++ b/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-libs/pam/0002-pam_userdb-fix-password-comparison-timing-leak.patch @@ -0,0 +1,160 @@ +From 30708d973b63891bf700299ce3ae0f1086398284 Mon Sep 17 00:00:00 2001 +From: vlefebvre +Date: Tue, 16 Jun 2026 16:31:29 +0200 +Subject: [PATCH] pam_userdb: fix password comparison timing leak + +* libpam/include/pam_inline.h: Include . +(pam_consttime_strcaseeq): New function that implements a constant-time, +case-insensitive string equality check. +* modules/pam_userdb/pam_userdb.c (user_lookup): Use it along with +pam_consttime_streq instead of strncmp and strncasecmp to fix +timing side-channel that leaks password prefix bytes and length +(CWE-208). + +Resolves: https://github.com/linux-pam/linux-pam/issues/992 +Co-authored-by: Dmitry V. Levin +--- + libpam/include/pam_inline.h | 20 +++++++++ + modules/pam_userdb/pam_userdb.c | 75 +++++++++++++++++++-------------- + 2 files changed, 64 insertions(+), 31 deletions(-) + +diff --git a/libpam/include/pam_inline.h b/libpam/include/pam_inline.h +index d79d6fdf..86d131cf 100644 +--- a/libpam/include/pam_inline.h ++++ b/libpam/include/pam_inline.h +@@ -9,6 +9,7 @@ + #define PAM_INLINE_H + + #include "pam_cc_compat.h" ++#include + #include + #include + #include +@@ -244,4 +245,23 @@ pam_consttime_streq(const char *userinput, const char *secret) { + return ret == 0; + } + ++/* ++ * Constant-time, case-insensitive string equality check. ++ * Same contract as pam_consttime_streq but uses tolower() on each byte. ++ * Runs for exactly strlen(userinput)+1 iterations regardless of secret. ++ */ ++static inline int ++pam_consttime_strcaseeq(const char *userinput, const char *secret) { ++ volatile const char *u = userinput, *s = secret; ++ volatile int ret = 0; ++ ++ do { ++ ret |= tolower((unsigned char)*u) ^ tolower((unsigned char)*s); ++ ++ s += !!*s; ++ } while (*u++ != '\0'); ++ ++ return ret == 0; ++} ++ + #endif /* PAM_INLINE_H */ +diff --git a/modules/pam_userdb/pam_userdb.c b/modules/pam_userdb/pam_userdb.c +index bdb8553c..b37f096c 100644 +--- a/modules/pam_userdb/pam_userdb.c ++++ b/modules/pam_userdb/pam_userdb.c +@@ -321,15 +321,24 @@ user_lookup (pam_handle_t *pamh, const char *database, const char *cryptmode, + } else { + + /* Unknown password encryption method - +- * default to plaintext password storage ++ * default to plaintext password storage. ++ * Use constant-time comparison: strncmp/strncasecmp leak prefix bytes ++ * and the length pre-check leaks the password length (CWE-208). + */ + +- if (strlen(pass) != (size_t)data.dsize) { +- compare = 1; /* wrong password len -> wrong password */ +- } else if (ctrl & PAM_ICASE_ARG) { +- compare = strncasecmp(data.dptr, pass, data.dsize); ++ /* libdb is not guaranteed to produce null-terminated strings */ ++ char *stored = strndup(data.dptr, data.dsize); ++ if (stored == NULL) { ++ pam_syslog(pamh, LOG_CRIT, "strndup failed: data.dptr"); ++ compare = -2; + } else { +- compare = strncmp(data.dptr, pass, data.dsize); ++ if (ctrl & PAM_ICASE_ARG) { ++ compare = pam_consttime_strcaseeq(pass, stored) ? 0 : 1; ++ } else { ++ compare = pam_consttime_streq(pass, stored) ? 0 : 1; ++ } ++ pam_overwrite_string(stored); ++ free(stored); + } + + if (cryptmode && pam_str_skip_icase_prefix(cryptmode, "none") == NULL +@@ -361,36 +370,40 @@ user_lookup (pam_handle_t *pamh, const char *database, const char *cryptmode, + } + + /* now handle the key_only case */ ++ size_t ulen = strlen(user); + for (key = db_firstkey(dbm); + key.dptr != NULL; + key = db_nextkey(dbm, key)) { +- int compare; +- /* first compare the user portion (case sensitive) */ +- compare = strncmp(key.dptr, user, strlen(user)); +- if (compare == 0) { +- /* assume failure */ +- compare = -1; +- /* if we have the divider where we expect it to be... */ +- if (key.dptr[strlen(user)] == '-') { +- saw_user = 1; +- if ((size_t)key.dsize == strlen(user) + 1 + strlen(pass)) { +- if (ctrl & PAM_ICASE_ARG) { +- /* compare the password portion (case insensitive)*/ +- compare = strncasecmp(key.dptr + strlen(user) + 1, +- pass, +- strlen(pass)); +- } else { +- /* compare the password portion (case sensitive) */ +- compare = strncmp(key.dptr + strlen(user) + 1, +- pass, +- strlen(pass)); +- } +- } +- } +- if (compare == 0) { ++ /* assume failure */ ++ int compare = -1; ++ ++ /* ++ * First compare the user portion (case sensitive); ++ * user is caller-supplied, so this memcmp leaks nothing secret. ++ */ ++ if ((size_t)key.dsize > ulen && ++ key.dptr[ulen] == '-' && ++ memcmp(key.dptr, user, ulen) == 0) { ++ saw_user = 1; ++ char *stored_pass = strndup(key.dptr + ulen + 1, ++ key.dsize - ulen - 1); ++ if (stored_pass == NULL) { + db_close(dbm); +- return 0; /* match */ ++ return -2; + } ++ /* compare the password portion (case (in)sensitive) */ ++ if (ctrl & PAM_ICASE_ARG) { ++ compare = pam_consttime_strcaseeq(pass, stored_pass) ? 0 : 1; ++ } else { ++ compare = pam_consttime_streq(pass, stored_pass) ? 0 : 1; ++ } ++ pam_overwrite_string(stored_pass); ++ free(stored_pass); ++ } ++ ++ if (compare == 0) { ++ db_close(dbm); ++ return 0; /* match */ + } + } + db_close(dbm); +-- +2.54.0 + diff --git a/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-libs/pam/README.md b/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-libs/pam/README.md index c220fff8e21..812285d5b3b 100644 --- a/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-libs/pam/README.md +++ b/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-libs/pam/README.md @@ -3,3 +3,5 @@ https://github.com/linux-pam/linux-pam/issues/261. Possibly it should be dropped in favor of `chage -E 0`, as mentioned in the issue. + +The second patch can be dropped when 1.7.3 or 1.8 is released. From a7379985113a7263656a7452a01443b83c290f73 Mon Sep 17 00:00:00 2001 From: Krzesimir Nowak Date: Wed, 5 Aug 2026 13:02:13 +0200 Subject: [PATCH 179/195] overlay coreos/user-patches: Add patches for sys-auth/sssd Signed-off-by: Krzesimir Nowak --- ...ter-free-during-p11_child-processing.patch | 110 +++++++++++ ...ect-path-traversal-in-gPCFileSysPath.patch | 175 ++++++++++++++++++ ...dap_sudo_search_base-falls-back-to-r.patch | 80 ++++++++ .../user-patches/sys-auth/sssd/README.md | 1 + 4 files changed, 366 insertions(+) create mode 100644 sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-auth/sssd/0001-PAM-fix-use-after-free-during-p11_child-processing.patch create mode 100644 sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-auth/sssd/0002-gpo-reject-path-traversal-in-gPCFileSysPath.patch create mode 100644 sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-auth/sssd/0003-sudo-warn-when-ldap_sudo_search_base-falls-back-to-r.patch create mode 100644 sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-auth/sssd/README.md diff --git a/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-auth/sssd/0001-PAM-fix-use-after-free-during-p11_child-processing.patch b/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-auth/sssd/0001-PAM-fix-use-after-free-during-p11_child-processing.patch new file mode 100644 index 00000000000..3dbbf3ad243 --- /dev/null +++ b/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-auth/sssd/0001-PAM-fix-use-after-free-during-p11_child-processing.patch @@ -0,0 +1,110 @@ +From fa7a55949a30fed064a28ea6f0c801fc5e8c5ba7 Mon Sep 17 00:00:00 2001 +From: Alexey Tikhonov +Date: Mon, 29 Jun 2026 21:46:46 +0200 +Subject: [PATCH] PAM: fix use-after-free during p11_child processing + +`pam_check_cert_send()` stored `pctx->sss_certmap_ctx` in the +request state. If `p11_refresh_certmap_ctx()` ran while `p11_child` +was still executing (e.g. triggered by a domain refresh), it freed +and replaced the certmap context, leaving the request state holding +a dangling pointer. `p11_child_done()` could later use that pointer. + +Fix this by passing the `pam_ctx` into `pam_check_cert_send()` and +dereferencing `pctx->sss_certmap_ctx` at the time it is actually needed +in `p11_child_done()`, so the current context is always used. + +Resolves: https://github.com/SSSD/sssd/issues/8796 +Fixes: CVE-2026-12610 + +Assisted-By: Claude Code (Opus 4.6) +Reviewed-by: Iker Pedrosa +Reviewed-by: Sumit Bose +--- + src/responder/pam/pamsrv.h | 2 +- + src/responder/pam/pamsrv_cmd.c | 2 +- + src/responder/pam/pamsrv_p11.c | 11 ++++++----- + 3 files changed, 8 insertions(+), 7 deletions(-) + +diff --git a/src/responder/pam/pamsrv.h b/src/responder/pam/pamsrv.h +index 694b391bb..162bfe1a4 100644 +--- a/src/responder/pam/pamsrv.h ++++ b/src/responder/pam/pamsrv.h +@@ -153,7 +153,7 @@ struct tevent_req *pam_check_cert_send(TALLOC_CTX *mem_ctx, + const char *ca_db, + time_t timeout, + const char *verify_opts, +- struct sss_certmap_ctx *sss_certmap_ctx, ++ struct pam_ctx *pctx, + const char *uri, + struct pam_data *pd); + errno_t pam_check_cert_recv(struct tevent_req *req, TALLOC_CTX *mem_ctx, +diff --git a/src/responder/pam/pamsrv_cmd.c b/src/responder/pam/pamsrv_cmd.c +index cd003ff46..7fadf647d 100644 +--- a/src/responder/pam/pamsrv_cmd.c ++++ b/src/responder/pam/pamsrv_cmd.c +@@ -1945,7 +1945,7 @@ static errno_t check_cert(TALLOC_CTX *mctx, + + req = pam_check_cert_send(mctx, ev, + pctx->ca_db, p11_child_timeout, +- cert_verification_opts, pctx->sss_certmap_ctx, ++ cert_verification_opts, pctx, + uri, pd); + if (req == NULL) { + DEBUG(SSSDBG_OP_FAILURE, "pam_check_cert_send failed.\n"); +diff --git a/src/responder/pam/pamsrv_p11.c b/src/responder/pam/pamsrv_p11.c +index 191bf40c5..29a6edc05 100644 +--- a/src/responder/pam/pamsrv_p11.c ++++ b/src/responder/pam/pamsrv_p11.c +@@ -749,7 +749,7 @@ done: + + struct pam_check_cert_state { + struct tevent_context *ev; +- struct sss_certmap_ctx *sss_certmap_ctx; ++ struct pam_ctx *pctx; + struct child_io_fds *io; + struct cert_auth_info *cert_list; + struct pam_data *pam_data; +@@ -763,7 +763,7 @@ struct tevent_req *pam_check_cert_send(TALLOC_CTX *mem_ctx, + const char *ca_db, + time_t timeout, + const char *verify_opts, +- struct sss_certmap_ctx *sss_certmap_ctx, ++ struct pam_ctx *pctx, + const char *uri, + struct pam_data *pd) + { +@@ -791,11 +791,12 @@ struct tevent_req *pam_check_cert_send(TALLOC_CTX *mem_ctx, + goto done; + } + +- if (sss_certmap_ctx == NULL) { ++ if (pctx == NULL || pctx->sss_certmap_ctx == NULL) { + DEBUG(SSSDBG_CRIT_FAILURE, "Missing certificate matching context.\n"); + ret = EINVAL; + goto done; + } ++ state->pctx = pctx; + + state->pam_data = pd; + +@@ -880,7 +881,6 @@ struct tevent_req *pam_check_cert_send(TALLOC_CTX *mem_ctx, + } + + state->ev = ev; +- state->sss_certmap_ctx = sss_certmap_ctx; + + ret = sss_child_start(state, ev, + P11_CHILD_PATH, extra_args, false, +@@ -985,7 +985,8 @@ static void p11_child_done(struct tevent_req *subreq) + + FD_CLOSE(state->io->read_from_child_fd); + +- ret = parse_p11_child_response(state, buf, buf_len, state->sss_certmap_ctx, ++ ret = parse_p11_child_response(state, buf, buf_len, ++ state->pctx->sss_certmap_ctx, + &state->cert_list); + if (ret != EOK) { + if (ret == ERR_P11_PIN_LOCKED) { +-- +2.54.0 + diff --git a/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-auth/sssd/0002-gpo-reject-path-traversal-in-gPCFileSysPath.patch b/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-auth/sssd/0002-gpo-reject-path-traversal-in-gPCFileSysPath.patch new file mode 100644 index 00000000000..6206dcc1891 --- /dev/null +++ b/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-auth/sssd/0002-gpo-reject-path-traversal-in-gPCFileSysPath.patch @@ -0,0 +1,175 @@ +From ba207eab76ff5253662a763b9b6e9ea42f03d31b Mon Sep 17 00:00:00 2001 +From: Alexey Tikhonov +Date: Thu, 2 Jul 2026 17:29:51 +0200 +Subject: [PATCH] gpo: reject path traversal in gPCFileSysPath +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +The gPCFileSysPath LDAP attribute from AD Group Policy Objects is parsed +by ad_gpo_extract_smb_components() which converts backslashes to forward +slashes but does not reject ".." path traversal sequences. The resulting +smb_path is used directly in gpo_cache_store_file() to construct a local +filesystem path under GPO_CACHE_PATH, allowing an attacker with GPO +write access to write files outside the cache directory. + +Due to differential path resolution between libsmbclient (which clamps +".." at the SMB share root) and the kernel (which resolves ".." fully), +the SMB download succeeds while the local file write escapes the cache. +On systems with SELinux enforcing, this enables Kerberos configuration +injection via /var/lib/sss/pubconf/krb5.include.d/ (sssd_public_t, +writable by sssd_t). On systems without SELinux, this enables arbitrary +file writes including cron job injection for root code execution. + +This patch adds two layers of defense: + +1. Reject ".." as a path component in smb_path at parse time in + ad_gpo_extract_smb_components(). Uses component-aware validation + that checks for "/..", "../", and exact ".." — not substring matching + which would false-positive on legitimate names containing "..". + +2. Validate the resolved cache path stays within GPO_CACHE_PATH in + gpo_cache_store_file() using realpath(), with a trailing-slash + prefix check to prevent prefix-collision attacks (e.g., + /var/lib/sss/gpo_cache_evil/ matching /var/lib/sss/gpo_cache). + +Based on the patch by: Ian Murphy +Amended by: Alexey Tikhonov + +:fixes: CVE-2026-14476 + +Reviewed-by: Sumit Bose +Reviewed-by: TomĂĄĆĄ Halman +--- + src/providers/ad/ad_gpo.c | 47 +++++++++++++++++++++++++++++++ + src/providers/ad/ad_gpo_child.c | 49 +++++++++++++++++++++++++++++++++ + 2 files changed, 96 insertions(+) + +diff --git a/src/providers/ad/ad_gpo.c b/src/providers/ad/ad_gpo.c +index 5c2f117a5..b8562edc5 100644 +--- a/src/providers/ad/ad_gpo.c ++++ b/src/providers/ad/ad_gpo.c +@@ -3832,6 +3832,43 @@ ad_gpo_populate_candidate_gpos(TALLOC_CTX *mem_ctx, + return ret; + } + ++/* ++ * Check whether a path contains ".." as a path component. ++ * Returns true if traversal is detected, false if the path is safe. ++ * ++ * Checks for: ++ * - "/.." anywhere in the path (component starting with ..) ++ * - "../" at the start of the path ++ * - exact match ".." (path is just "..") ++ * - "/.." at the end of the path ++ * ++ * Does NOT match ".." as a substring of a longer component ++ * (e.g., "my..file" is allowed). ++ */ ++static bool gpo_path_has_traversal(const char *path) ++{ ++ const char *p; ++ ++ if (path == NULL) { ++ return false; ++ } ++ ++ /* Exact match */ ++ if (strcmp(path, "..") == 0) return true; ++ ++ /* Starts with ../ */ ++ if (strncmp(path, "../", 3) == 0) return true; ++ ++ /* Contains /../ or ends with /.. */ ++ p = path; ++ while ((p = strstr(p, "/..")) != NULL) { ++ if (p[3] == '/' || p[3] == '\0') return true; ++ p += 3; ++ } ++ ++ return false; ++} ++ + /* + * This function parses the input_path into its components, replaces each + * back slash ('\') with a forward slash ('/'), and populates the output params. +@@ -3908,6 +3945,16 @@ ad_gpo_extract_smb_components(TALLOC_CTX *mem_ctx, + goto done; + } + ++ /* Reject path traversal. See function comment for what is matched. */ ++ if (gpo_path_has_traversal(smb_path)) { ++ DEBUG(SSSDBG_CRIT_FAILURE, ++ "gPCFileSysPath contains path traversal component '..': " ++ "[%s]. Rejecting to prevent cache directory escape.\n", ++ smb_path); ++ ret = EINVAL; ++ goto done; ++ } ++ + *_smb_server = talloc_asprintf(mem_ctx, "%s%s", + SMB_STANDARD_URI, + server_hostname); +diff --git a/src/providers/ad/ad_gpo_child.c b/src/providers/ad/ad_gpo_child.c +index b8b47b09e..db3716fdf 100644 +--- a/src/providers/ad/ad_gpo_child.c ++++ b/src/providers/ad/ad_gpo_child.c +@@ -322,6 +322,55 @@ static errno_t gpo_cache_store_file(const char *smb_path, + goto done; + } + ++ /* Defense-in-depth: verify the resolved path stays within the cache ++ * directory (when updating existing files). This catches any bypass ++ * of the ".." check in the parser, including encoding tricks, symlink ++ * attacks, or future regressions. ++ * ++ * The trailing-slash comparison prevents prefix-collision attacks: ++ * without it, a path resolving to "/var/lib/sss/gpo_cache_evil/" ++ * would incorrectly match the prefix "/var/lib/sss/gpo_cache". ++ */ ++ { ++ char *resolved = realpath(filename, NULL); ++ if (resolved != NULL) { ++ /* Resolve GPO_CACHE_PATH too so the comparison works ++ * even when the cache path contains symlinks. */ ++ char *resolved_cache = realpath(GPO_CACHE_PATH, NULL); ++ if (resolved_cache == NULL) { ++ ret = errno; ++ DEBUG(SSSDBG_CRIT_FAILURE, ++ "realpath(\"%s\") failed: [%d][%s]\n", ++ GPO_CACHE_PATH, ret, strerror(ret)); ++ free(resolved); ++ goto done; ++ } ++ ++ /* Check that resolved path starts with resolved cache + "/" */ ++ size_t cache_len = strlen(resolved_cache); ++ bool inside = ((strlen(resolved) >= cache_len) && ++ (strncmp(resolved, resolved_cache, cache_len) == 0) && ++ (resolved[cache_len] == '/' || resolved[cache_len] == '\0')); ++ if (!inside) { ++ DEBUG(SSSDBG_CRIT_FAILURE, ++ "GPO cache path escapes cache directory: [%s] " ++ "resolves to [%s] which is outside [%s]. " ++ "Rejecting.\n", ++ filename, resolved, resolved_cache); ++ free(resolved_cache); ++ free(resolved); ++ ret = EINVAL; ++ goto done; ++ } ++ free(resolved_cache); ++ free(resolved); ++ } ++ /* If realpath returns NULL, the path doesn't exist yet. ++ * prepare_gpo_cache() will create it — the mkdir calls ++ * are validated by SELinux MAC policy. ++ */ ++ } ++ + tmp_name = talloc_asprintf(tmp_ctx, "%sXXXXXX", filename); + if (tmp_name == NULL) { + DEBUG(SSSDBG_CRIT_FAILURE, "talloc_asprintf failed.\n"); +-- +2.54.0 + diff --git a/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-auth/sssd/0003-sudo-warn-when-ldap_sudo_search_base-falls-back-to-r.patch b/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-auth/sssd/0003-sudo-warn-when-ldap_sudo_search_base-falls-back-to-r.patch new file mode 100644 index 00000000000..833c63de0d4 --- /dev/null +++ b/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-auth/sssd/0003-sudo-warn-when-ldap_sudo_search_base-falls-back-to-r.patch @@ -0,0 +1,80 @@ +From ff8c1b19bcdbf79b733b052a7d926bd920b1205d Mon Sep 17 00:00:00 2001 +From: Alexey Tikhonov +Date: Fri, 3 Jul 2026 13:25:08 +0200 +Subject: [PATCH] sudo: warn when ldap_sudo_search_base falls back to root DN +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +When ldap_sudo_search_base is not explicitly configured, SSSD falls back +to the domain's naming context (root DN) and searches the entire LDAP +directory tree for sudoRole objects. Any LDAP principal with write access +to any subtree can inject a sudoRole granting arbitrary sudo privileges +on every enrolled host. + +This patch adds a warning log when the fallback occurs, alerting +administrators that their configuration searches the entire directory +tree for sudo rules. A future hardening step would be to default to +ou=sudoers, instead of the root DN. + +The warning approach preserves backwards compatibility while ensuring +administrators are aware of the security implications. + +Based on the patch by: Ian Murphy +Amended by: Alexey Tikhonov + +:fixes: CVE-2026-14474 + +Reviewed-by: Sumit Bose +Reviewed-by: TomĂĄĆĄ Halman +--- + src/providers/ldap/sdap.c | 19 +++++++++++++++++++ + src/tests/system/tests/test_ldap.py | 2 +- + 2 files changed, 20 insertions(+), 1 deletion(-) + +diff --git a/src/providers/ldap/sdap.c b/src/providers/ldap/sdap.c +index 1ce1d704b..7aa9244aa 100644 +--- a/src/providers/ldap/sdap.c ++++ b/src/providers/ldap/sdap.c +@@ -1341,6 +1341,25 @@ errno_t sdap_set_config_options_with_rootdse(struct sysdb_attrs *rootdse, + + /* Sudo */ + if (!sdom->sudo_search_bases) { ++ /* At some point make this option mandatory, ++ * i.e. disable sudo rules lookup if 'sudo_search_bases' not set. ++ */ ++ DEBUG(SSSDBG_IMPORTANT_INFO, ++ "`ldap_sudo_search_base` is not set. SSSD will search the entire " ++ "directory tree (%s) for sudoRole objects. This may allow any " ++ "LDAP principal with write access to any subtree to inject " ++ "sudo rules granting arbitrary privileges. Set " ++ "`ldap_sudo_search_base` to restrict the search scope " ++ "(e.g., 'ou=sudoers,dc=example,dc=com').\n", ++ sdom->naming_context); ++ sss_log(SSS_LOG_ALERT, ++ "`ldap_sudo_search_base` is not set. SSSD will search the entire " ++ "directory tree (%s) for sudoRole objects. This may allow any " ++ "LDAP principal with write access to any subtree to inject " ++ "sudo rules granting arbitrary privileges. Set " ++ "`ldap_sudo_search_base` to restrict the search scope " ++ "(e.g., 'ou=sudoers,dc=example,dc=com').", ++ sdom->naming_context); + ret = sdap_set_search_base(opts, sdom, + SDAP_SUDO_SEARCH_BASE, + sdom->naming_context); +diff --git a/src/tests/system/tests/test_ldap.py b/src/tests/system/tests/test_ldap.py +index 9e21d73f6..36d988475 100644 +--- a/src/tests/system/tests/test_ldap.py ++++ b/src/tests/system/tests/test_ldap.py +@@ -245,7 +245,7 @@ def test_ldap__search_base_is_discovered_and_defaults_to_root_dse(client: Client + client.sssd.dom("test")["ldap_search_base"] = ldap.ldap.naming_context + + client.sssd.stop() +- client.sssd.clear() ++ client.sssd.clear(logs=True) + client.sssd.start() + + assert client.auth.ssh.password("puser1", "Secret123"), "User 'puser1' login failed!" +-- +2.54.0 + diff --git a/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-auth/sssd/README.md b/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-auth/sssd/README.md new file mode 100644 index 00000000000..ff78d4b9018 --- /dev/null +++ b/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-auth/sssd/README.md @@ -0,0 +1 @@ +These patches fixes some CVEs and can be dropped after an update to either 2.13.2 or 2.14. From c962926c440b916e2c6c208585081b2bccf77efa Mon Sep 17 00:00:00 2001 From: Krzesimir Nowak Date: Wed, 5 Aug 2026 13:19:54 +0200 Subject: [PATCH 180/195] overlay coreos/user-patches: Add a patch for app-arch/bzip2 Signed-off-by: Krzesimir Nowak --- .../0001-bzip2recover-CVE-2026-42250.patch | 31 +++++++++++++++++++ .../user-patches/app-arch/bzip2/README.md | 1 + 2 files changed, 32 insertions(+) create mode 100644 sdk_container/src/third_party/coreos-overlay/coreos/user-patches/app-arch/bzip2/0001-bzip2recover-CVE-2026-42250.patch create mode 100644 sdk_container/src/third_party/coreos-overlay/coreos/user-patches/app-arch/bzip2/README.md diff --git a/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/app-arch/bzip2/0001-bzip2recover-CVE-2026-42250.patch b/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/app-arch/bzip2/0001-bzip2recover-CVE-2026-42250.patch new file mode 100644 index 00000000000..02f673c0c65 --- /dev/null +++ b/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/app-arch/bzip2/0001-bzip2recover-CVE-2026-42250.patch @@ -0,0 +1,31 @@ +From 35d122a3df8b0cc4082a4d89fdc6ee99f375fe67 Mon Sep 17 00:00:00 2001 +From: Mark Wielaard +Date: Thu, 28 May 2026 16:15:45 +0200 +Subject: [PATCH] bzip2recover: Make sure to not process more than + BZ_MAX_HANDLED_BLOCKS + +There is an off-by-one in the check before calling tooManyBlocks. This +causes the scanning loop to run one more time and cause a possible +read or write one past the global bStart, bEnd, rbStart and rbEnd +buffers. There are no known exploits of this issue and you will need +to compile with something like gcc -fsanitize=address (ASAN +AddressSanitizer) to observe the faulty read/write. + +This has been assigned CVE-2026-42250. +--- + bzip2recover.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/bzip2recover.c b/bzip2recover.c +index a8131e0..4b1c219 100644 +--- a/bzip2recover.c ++++ b/bzip2recover.c +@@ -402,7 +402,7 @@ Int32 main ( Int32 argc, Char** argv ) + rbEnd[rbCtr] = bEnd[currBlock]; + rbCtr++; + } +- if (currBlock >= BZ_MAX_HANDLED_BLOCKS) ++ if (currBlock >= BZ_MAX_HANDLED_BLOCKS - 1) + tooManyBlocks(BZ_MAX_HANDLED_BLOCKS); + currBlock++; + diff --git a/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/app-arch/bzip2/README.md b/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/app-arch/bzip2/README.md new file mode 100644 index 00000000000..bd4f6acf430 --- /dev/null +++ b/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/app-arch/bzip2/README.md @@ -0,0 +1 @@ +THe patch can be dropped when updating to 1.0.9. From 2e6dc01a72505618c16baded6207489eec849aaa Mon Sep 17 00:00:00 2001 From: Krzesimir Nowak Date: Wed, 5 Aug 2026 13:40:02 +0200 Subject: [PATCH 181/195] overlay app-admin/etcd-wrapper: Bump to 3.6.11 to match dev-db/etcd And fix a tag - currently all the tags have arch as the suffix. Signed-off-by: Krzesimir Nowak --- ...etcd-wrapper-3.5.16.ebuild => etcd-wrapper-3.6.11.ebuild} | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) rename sdk_container/src/third_party/coreos-overlay/app-admin/etcd-wrapper/{etcd-wrapper-3.5.16.ebuild => etcd-wrapper-3.6.11.ebuild} (88%) diff --git a/sdk_container/src/third_party/coreos-overlay/app-admin/etcd-wrapper/etcd-wrapper-3.5.16.ebuild b/sdk_container/src/third_party/coreos-overlay/app-admin/etcd-wrapper/etcd-wrapper-3.6.11.ebuild similarity index 88% rename from sdk_container/src/third_party/coreos-overlay/app-admin/etcd-wrapper/etcd-wrapper-3.5.16.ebuild rename to sdk_container/src/third_party/coreos-overlay/app-admin/etcd-wrapper/etcd-wrapper-3.6.11.ebuild index 0bbcbdb7da2..4c30a18f651 100644 --- a/sdk_container/src/third_party/coreos-overlay/app-admin/etcd-wrapper/etcd-wrapper-3.5.16.ebuild +++ b/sdk_container/src/third_party/coreos-overlay/app-admin/etcd-wrapper/etcd-wrapper-3.6.11.ebuild @@ -15,10 +15,7 @@ KEYWORDS="amd64 arm64" RDEPEND=">=app-admin/sdnotify-proxy-0.1.0" src_install() { - local tag="v${PV}" - if [[ "${ARCH}" != "amd64" ]]; then - tag+="-${ARCH}" - fi + local tag="v${PV}-${ARCH}" exeinto /usr/lib/flatcar doexe "${FILESDIR}"/etcd-wrapper From 25fdb86fb5fe78ac45e3b31ccf1d20d9ded64f58 Mon Sep 17 00:00:00 2001 From: Krzesimir Nowak Date: Wed, 5 Aug 2026 13:51:14 +0200 Subject: [PATCH 182/195] overlay user-patches: Add a patch for app-crypt/mit-krb5 Signed-off-by: Krzesimir Nowak --- ...x-two-NegoEx-parsing-vulnerabilities.patch | 63 +++++++++++++++++++ .../user-patches/app-crypt/mit-krb5/README.md | 12 +--- 2 files changed, 64 insertions(+), 11 deletions(-) create mode 100644 sdk_container/src/third_party/coreos-overlay/coreos/user-patches/app-crypt/mit-krb5/0001-Fix-two-NegoEx-parsing-vulnerabilities.patch diff --git a/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/app-crypt/mit-krb5/0001-Fix-two-NegoEx-parsing-vulnerabilities.patch b/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/app-crypt/mit-krb5/0001-Fix-two-NegoEx-parsing-vulnerabilities.patch new file mode 100644 index 00000000000..bd5e190c330 --- /dev/null +++ b/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/app-crypt/mit-krb5/0001-Fix-two-NegoEx-parsing-vulnerabilities.patch @@ -0,0 +1,63 @@ +From 2e75f0d9362fb979f5fc92829431a590a130929f Mon Sep 17 00:00:00 2001 +From: Greg Hudson +Date: Wed, 8 Apr 2026 17:57:59 -0400 +Subject: [PATCH] Fix two NegoEx parsing vulnerabilities + +In parse_nego_message(), check the result of the second call to +vector_base() before dereferencing it. In parse_message(), check for +a short header_len to prevent an integer underflow when calculating +the remaining message length. + +Reported by Cem Onat Karagun. + +CVE-2026-40355: + +In MIT krb5 release 1.18 and later, if an application calls +gss_accept_sec_context() on a system with a NegoEx mechanism +registered in /etc/gss/mech, an unauthenticated remote attacker can +trigger a null pointer dereference, causing the process to terminate. + +CVE-2026-40356: + +In MIT krb5 release 1.18 and later, if an application calls +gss_accept_sec_context() on a system with a NegoEx mechanism +registered in /etc/gss/mech, an unauthenticated remote attacker can +trigger a read overrun of up to 52 bytes, possibly causing the process +to terminate. Exfiltration of the bytes read does not appear +possible. + +ticket: 9205 (new) +tags: pullup +target_version: 1.22-next +--- + lib/gssapi/spnego/negoex_util.c | 7 ++++++- + 1 file changed, 6 insertions(+), 1 deletion(-) + +diff --git a/lib/gssapi/spnego/negoex_util.c b/lib/gssapi/spnego/negoex_util.c +index edc5462e8..a65238e57 100644 +--- a/lib/gssapi/spnego/negoex_util.c ++++ b/lib/gssapi/spnego/negoex_util.c +@@ -253,6 +253,10 @@ parse_nego_message(OM_uint32 *minor, struct k5input *in, + offset = k5_input_get_uint32_le(in); + count = k5_input_get_uint16_le(in); + p = vector_base(offset, count, EXTENSION_LENGTH, msg_base, msg_len); ++ if (p == NULL) { ++ *minor = ERR_NEGOEX_INVALID_MESSAGE_SIZE; ++ return GSS_S_DEFECTIVE_TOKEN; ++ } + for (i = 0; i < count; i++) { + extension_type = load_32_le(p + i * EXTENSION_LENGTH); + if (extension_type & EXTENSION_FLAG_CRITICAL) { +@@ -391,7 +395,8 @@ parse_message(OM_uint32 *minor, spnego_gss_ctx_id_t ctx, struct k5input *in, + msg_len = k5_input_get_uint32_le(in); + conv_id = k5_input_get_bytes(in, GUID_LENGTH); + +- if (in->status || msg_len > token_remaining || header_len > msg_len) { ++ if (in->status || msg_len > token_remaining || ++ header_len < (size_t)(in->ptr - msg_base) || header_len > msg_len) { + *minor = ERR_NEGOEX_INVALID_MESSAGE_SIZE; + return GSS_S_DEFECTIVE_TOKEN; + } +-- +2.54.0 + diff --git a/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/app-crypt/mit-krb5/README.md b/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/app-crypt/mit-krb5/README.md index 4a5523920f4..4aedf0f4fb8 100644 --- a/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/app-crypt/mit-krb5/README.md +++ b/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/app-crypt/mit-krb5/README.md @@ -1,11 +1 @@ -The `0001-Prevent-overflow-when-calculating-ulog-block-size.patch` -patch is for addressing CVE-2025-24528. Not sure when it can be -dropped - it currently is a part of a master branch, which is targeted -for version 1.22. So maybe when we update to 1.22 this patch can be -dropped. The krb5-1.21 branch didn't have this patch at the time of -writing (2025-02-25). - -The patch was slightly modified to take into account that the patches -in this package are applied not from the top directory, but from -inside the `src` subdirectory (the S variable is modified in the -ebuild). +The patch can be dropped after updating to 1.22.3 or later. From 133a056ce4e04c8464d54d1799437de629cb8912 Mon Sep 17 00:00:00 2001 From: Krzesimir Nowak Date: Thu, 6 Aug 2026 12:42:21 +0200 Subject: [PATCH 183/195] overlay profiles: Add/update accept keywords for security issues Signed-off-by: Krzesimir Nowak --- .../coreos/base/package.accept_keywords | 50 ++++++++++++++++--- 1 file changed, 43 insertions(+), 7 deletions(-) diff --git a/sdk_container/src/third_party/coreos-overlay/profiles/coreos/base/package.accept_keywords b/sdk_container/src/third_party/coreos-overlay/profiles/coreos/base/package.accept_keywords index ee536fbc2a2..8c0debcb93f 100644 --- a/sdk_container/src/third_party/coreos-overlay/profiles/coreos/base/package.accept_keywords +++ b/sdk_container/src/third_party/coreos-overlay/profiles/coreos/base/package.accept_keywords @@ -13,26 +13,38 @@ sys-firmware/edk2-bin # Keep versions on both arches in sync. =app-admin/logrotate-3.22.0-r1 -# To address CVE-2026-41991 -=app-arch/gzip-1.14_p20260502 +# To address CVE-2026-41991 (has no keywords) +=app-arch/gzip-1.14_p20260502 ** # Needed to address CVE-2026-14164. =app-arch/libarchive-3.8.8 +# Needed to fix build with acl 2.4.0 +=app-arch/tar-1.35-r1 + # For podman 6.0.0 =app-containers/aardvark-dns-2.0.0 + +# To address CVE-2025-0495. +=app-containers/docker-buildx-0.35.0 + +# For podman 6.0.0 =app-containers/conmon-2.2.1 =app-containers/container-libs-0.69.0 # We always want the latest version available. -=app-containers/containerd-2.2* ~amd64 ~arm64 +=app-containers/containerd-2.3* -# Keep versions on both arches in sync. -=app-containers/cri-tools-1.33.0 ~arm64 +# To address some CVEs. +=app-containers/cri-tools-1.36.0 # To address CVE-2026-30892 =app-containers/crun-1.28 +# To address some CVEs. +=app-containers/docker-cli-29.5.2 +=app-containers/docker-29.5.2 + # To address a bunch of CVEs =app-containers/incus-7.2 @@ -62,6 +74,13 @@ app-crypt/azure-keyvault-pkcs11 # Needed by arm64-native SDK =app-crypt/ccid-1.6.1 ~arm64 +# Needed to address CVE-2026-13757. +=app-crypt/p11-kit-0.26.4 + +# Needed to address a bunch of GHSA issues. +=app-crypt/tpm2-tools-5.8 +=app-crypt/tpm2-tss-4.2.0 + # No stable keywords yet because it's new. =app-emulation/open-vmdk-0.3.12 ~amd64 @@ -79,12 +98,20 @@ dev-cpp/azure-identity dev-cpp/azure-security-keyvault-certificates dev-cpp/azure-security-keyvault-keys -# Not stabilised for arm64 yet. -dev-db/etcd amd64 +# To address CVE-2025-22869, CVE-2025-30204, CVE-2026-33186 +=dev-db/etcd-3.6.11 + +# Needed to address CVE-2026-27145, CVE-2026-39822, CVE-2026-42504, CVE-2026-42505, CVE-2026-42507. +=dev-lang/go-1.26.5 # Keep versions on both arches in sync. =dev-libs/cowsql-1.15.9 ~arm64 =dev-libs/ding-libs-0.6.2-r1 ~arm64 + +# To address CVE-2026-9146. +=dev-libs/json-c-0.19-r2 + +# Keep versions on both arches in sync. =dev-libs/jose-14 =dev-libs/libtraceevent-1.9.0 @@ -130,6 +157,12 @@ dev-db/etcd amd64 # For podman 6.0.0 =net-misc/passt-2026.05.26 +# To address CVE-2026-54369, CVE-2026-54370. +=sys-apps/acl-2.4.0-r2 + +# To address CVE-2026-54371. +=sys-apps/attr-2.6.0 + # Packages are in Gentoo but not expected to be used outside Flatcar, so they # are generally never stabilised. Thus an unusual form is used to pick up the # latest version of the package with the unstable keywords. @@ -149,6 +182,9 @@ sys-apps/azure-vm-utils # Keep versions on both arches in sync. =sys-fs/lxcfs-7.0.0 +# To address GHSA-2hqh-5c36-grrm, GHSA-46fr-jh49-xvhx, GHSA-4q85-33p6-j5g6. +=sys-libs/libseccomp-2.6.1 + # To address CVE-2026-59676, CVE-2026-59677 in policycoreutils. =sys-libs/libselinux-3.11 =sys-libs/libsepol-3.11 From 559bd84fee8b61dab40ba849d18472e91e9ce010 Mon Sep 17 00:00:00 2001 From: Krzesimir Nowak Date: Thu, 6 Aug 2026 14:47:07 +0200 Subject: [PATCH 184/195] overlay user-patches: Add a patch for sys-apps/diffutils Signed-off-by: Krzesimir Nowak --- ...ff3-prevent-overflow-in-line-offsets.patch | 34 +++++++++++++++++++ .../user-patches/sys-apps/diffutils/README.md | 2 ++ 2 files changed, 36 insertions(+) create mode 100644 sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-apps/diffutils/0001-diff3-prevent-overflow-in-line-offsets.patch create mode 100644 sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-apps/diffutils/README.md diff --git a/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-apps/diffutils/0001-diff3-prevent-overflow-in-line-offsets.patch b/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-apps/diffutils/0001-diff3-prevent-overflow-in-line-offsets.patch new file mode 100644 index 00000000000..3e7c9b5a5aa --- /dev/null +++ b/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-apps/diffutils/0001-diff3-prevent-overflow-in-line-offsets.patch @@ -0,0 +1,34 @@ +From 9ff04d5b84743e331e80b589335a52c5480d1815 Mon Sep 17 00:00:00 2001 +From: Paul Eggert +Date: Tue, 21 Apr 2026 00:30:50 -0700 +Subject: [PATCH] diff3: prevent overflow in line offsets +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Problem reported by MichaƂ Majchrowicz. +* src/diff3.c (readnum): Limit line numbers to LIN_MAX / 2. +--- + src/diff3.c | 6 ++++++ + 1 file changed, 6 insertions(+) + +diff --git a/src/diff3.c b/src/diff3.c +index 4fed6a8..d32e6ad 100644 +--- a/src/diff3.c ++++ b/src/diff3.c +@@ -1025,6 +1025,12 @@ readnum (char *s, lin *pnum) + } + while (c_isdigit (c)); + ++ /* Simplify overflow checking later, so that we can always add a ++ line number and a line count, or subtract two line numbers and ++ add 1 to the result, without worrying about overflow. */ ++ if (LIN_MAX / 2 < num) ++ return nullptr; ++ + *pnum = num; + return s; + } +-- +2.54.0 + diff --git a/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-apps/diffutils/README.md b/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-apps/diffutils/README.md new file mode 100644 index 00000000000..ed026f33173 --- /dev/null +++ b/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-apps/diffutils/README.md @@ -0,0 +1,2 @@ +The `0001-diff3-prevent-overflow-in-line-offsets.patch` can be dropped +when updating to diffutils 3.13 (or 3.12.1). From 6f97c67b10c182f711406f81ae4f5af0480e1a2b Mon Sep 17 00:00:00 2001 From: Krzesimir Nowak Date: Thu, 6 Aug 2026 15:30:35 +0200 Subject: [PATCH 185/195] overlay profiles: Drop accept keywords for app-arch/libarchive Signed-off-by: Krzesimir Nowak --- .../profiles/coreos/base/package.accept_keywords | 3 --- 1 file changed, 3 deletions(-) diff --git a/sdk_container/src/third_party/coreos-overlay/profiles/coreos/base/package.accept_keywords b/sdk_container/src/third_party/coreos-overlay/profiles/coreos/base/package.accept_keywords index 8c0debcb93f..95f8bc45452 100644 --- a/sdk_container/src/third_party/coreos-overlay/profiles/coreos/base/package.accept_keywords +++ b/sdk_container/src/third_party/coreos-overlay/profiles/coreos/base/package.accept_keywords @@ -16,9 +16,6 @@ sys-firmware/edk2-bin # To address CVE-2026-41991 (has no keywords) =app-arch/gzip-1.14_p20260502 ** -# Needed to address CVE-2026-14164. -=app-arch/libarchive-3.8.8 - # Needed to fix build with acl 2.4.0 =app-arch/tar-1.35-r1 From 474a524244d683b65cb566ae6926e608695fc2e8 Mon Sep 17 00:00:00 2001 From: Krzesimir Nowak Date: Thu, 6 Aug 2026 15:41:05 +0200 Subject: [PATCH 186/195] overlay coreos/user-patches: Add patches for sys-apps/coreutils Signed-off-by: Krzesimir Nowak --- .../0001-uniq-fix-read-overrun-with-w.patch | 33 +++++++++++++++++ .../0002-unexpand-fix-heap-overflow.patch | 35 +++++++++++++++++++ .../user-patches/sys-apps/coreutils/README.md | 3 ++ 3 files changed, 71 insertions(+) create mode 100644 sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-apps/coreutils/0001-uniq-fix-read-overrun-with-w.patch create mode 100644 sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-apps/coreutils/0002-unexpand-fix-heap-overflow.patch create mode 100644 sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-apps/coreutils/README.md diff --git a/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-apps/coreutils/0001-uniq-fix-read-overrun-with-w.patch b/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-apps/coreutils/0001-uniq-fix-read-overrun-with-w.patch new file mode 100644 index 00000000000..cd8aaf13a49 --- /dev/null +++ b/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-apps/coreutils/0001-uniq-fix-read-overrun-with-w.patch @@ -0,0 +1,33 @@ +From e2da005e28935f23b2c0f224f6fcbfe0d8c13c12 Mon Sep 17 00:00:00 2001 +From: Paul Eggert +Date: Tue, 28 Apr 2026 11:25:00 -0700 +Subject: [PATCH 1/2] uniq: fix read overrun with -w +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Problem reported by MichaƂ Majchrowicz. +* src/uniq.c (find_field): Fix typo. +* tests/uniq/uniq.pl (add_z_variants): Test for the bug. +--- + src/uniq.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/uniq.c b/src/uniq.c +index 30463598a..5834596f9 100644 +--- a/src/uniq.c ++++ b/src/uniq.c +@@ -285,8 +285,8 @@ find_field (struct linebuffer const *line, idx_t *plen) + else + { + char *ep = lp; +- for (idx_t i = check_chars; 0 < i && lp < lim; i--) +- ep += mcel_scan (lp, lim).len; ++ for (idx_t i = check_chars; 0 < i && ep < lim; i--) ++ ep += mcel_scan (ep, lim).len; + len = ep - lp; + } + +-- +2.54.0 + diff --git a/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-apps/coreutils/0002-unexpand-fix-heap-overflow.patch b/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-apps/coreutils/0002-unexpand-fix-heap-overflow.patch new file mode 100644 index 00000000000..37f25033278 --- /dev/null +++ b/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-apps/coreutils/0002-unexpand-fix-heap-overflow.patch @@ -0,0 +1,35 @@ +From 6e661c674d213f49128efbb3107a7bb9ced7348a Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?P=C3=A1draig=20Brady?= +Date: Tue, 28 Apr 2026 20:33:10 +0100 +Subject: [PATCH 2/2] unexpand: fix heap overflow +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +* src/unexpand.c (unexpand): Use xinmalloc() to gracefully +handle overflow. Also use the runtime locale specific MB_CUR_MAX +rather than the worst case MB_LEN_MAX. +* tests/unexpand/mb.sh: Add a test case that fails in a default +glibc build with either MB_CUR_MAX or MB_LEN_MAX. +* NEWS: Mention the bug fix. +Reported by MichaƂ Majchrowicz. +--- + src/unexpand.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/unexpand.c b/src/unexpand.c +index 4fbf9d3f8..761c8ead0 100644 +--- a/src/unexpand.c ++++ b/src/unexpand.c +@@ -131,7 +131,7 @@ unexpand (void) + /* The worst case is a non-blank character, then one blank, then a + tab stop, then MAX_COLUMN_WIDTH - 1 blanks, then a non-blank; so + allocate MAX_COLUMN_WIDTH bytes to store the blanks. */ +- pending_blank = ximalloc (max_column_width * sizeof (char) * MB_LEN_MAX); ++ pending_blank = xinmalloc (max_column_width, MB_CUR_MAX); + + while (true) + { +-- +2.54.0 + diff --git a/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-apps/coreutils/README.md b/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-apps/coreutils/README.md new file mode 100644 index 00000000000..be0ad83b615 --- /dev/null +++ b/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-apps/coreutils/README.md @@ -0,0 +1,3 @@ +The patches `0001-uniq-fix-read-overrun-with-w.patch` and +`0002-unexpand-fix-heap-overflow.patch` can be dropped after updating +to 9.12 (or 9.11.1). From 53b5d6070d792dba8a9b6341c9c0b804d7b2088f Mon Sep 17 00:00:00 2001 From: Krzesimir Nowak Date: Thu, 6 Aug 2026 15:41:50 +0200 Subject: [PATCH 187/195] overlay coreos/user-patches: Update some READMEs Signed-off-by: Krzesimir Nowak --- .../coreos/user-patches/app-arch/bzip2/README.md | 3 ++- .../coreos/user-patches/app-crypt/mit-krb5/README.md | 3 ++- .../coreos/user-patches/dev-libs/libxml2/README.md | 3 ++- .../coreos/user-patches/net-misc/wget/README.md | 10 ++++++++-- .../coreos/user-patches/sys-auth/sssd/README.md | 6 +++++- .../coreos/user-patches/sys-libs/pam/README.md | 6 ++++-- 6 files changed, 23 insertions(+), 8 deletions(-) diff --git a/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/app-arch/bzip2/README.md b/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/app-arch/bzip2/README.md index bd4f6acf430..6f2ab0cf389 100644 --- a/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/app-arch/bzip2/README.md +++ b/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/app-arch/bzip2/README.md @@ -1 +1,2 @@ -THe patch can be dropped when updating to 1.0.9. +The patch `0001-bzip2recover-CVE-2026-42250.patch` can be dropped when +updating to 1.0.9. diff --git a/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/app-crypt/mit-krb5/README.md b/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/app-crypt/mit-krb5/README.md index 4aedf0f4fb8..3a67399bf81 100644 --- a/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/app-crypt/mit-krb5/README.md +++ b/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/app-crypt/mit-krb5/README.md @@ -1 +1,2 @@ -The patch can be dropped after updating to 1.22.3 or later. +The patch `0001-Fix-two-NegoEx-parsing-vulnerabilities.patch` can be +dropped after updating to 1.22.3 or later. diff --git a/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/dev-libs/libxml2/README.md b/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/dev-libs/libxml2/README.md index a82de02dc6c..433a13d7842 100644 --- a/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/dev-libs/libxml2/README.md +++ b/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/dev-libs/libxml2/README.md @@ -1 +1,2 @@ -The patch can be dropped when libxml2 2.15.4 or 2.16.0 is released. +The patch `0001-xmlcatalog-overflow-check.patch` can be dropped when +libxml2 2.15.4 or 2.16.0 is released. diff --git a/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/net-misc/wget/README.md b/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/net-misc/wget/README.md index fa41e96d877..e7276bb5046 100644 --- a/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/net-misc/wget/README.md +++ b/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/net-misc/wget/README.md @@ -1,2 +1,8 @@ -These patches are addressing CVEs. These probably can be dropped if -there is ever a 1.25.1 or 1.26 release of wget. +The patches +`0001-src-convert.c-html_quote_string-Fix-integer-buffer-o.patch`, +`0002-src-http.c-parse_content_range-Fix-integer-overflow.patch`, +`0003-src-metalink.c-clean_metalink_string-Fix-buffer-unde.patch`, +`0004-Fix-buffer-size-handling-in-filename-conversion.patch` and +`0005-ftp-validate-PASV-LPSV-response-address-against-cont.patch` are +addressing CVEs. These probably can be dropped if there is ever a +1.25.1 or 1.26 release of wget. diff --git a/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-auth/sssd/README.md b/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-auth/sssd/README.md index ff78d4b9018..8dcd73949ef 100644 --- a/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-auth/sssd/README.md +++ b/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-auth/sssd/README.md @@ -1 +1,5 @@ -These patches fixes some CVEs and can be dropped after an update to either 2.13.2 or 2.14. +The patches +`0001-PAM-fix-use-after-free-during-p11_child-processing.patch`, +`0002-gpo-reject-path-traversal-in-gPCFileSysPath.patch` and +`0003-sudo-warn-when-ldap_sudo_search_base-falls-back-to-r.patch` fix +some CVEs and can be dropped after an update to either 2.13.2 or 2.14. diff --git a/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-libs/pam/README.md b/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-libs/pam/README.md index 812285d5b3b..51b3e8ebfe0 100644 --- a/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-libs/pam/README.md +++ b/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-libs/pam/README.md @@ -1,7 +1,9 @@ -The patch adds some locking behavior. Upstream didn't want it: +The patch `0001-Add-account-locking.patch` adds some locking +behavior. Upstream didn't want it: https://github.com/linux-pam/linux-pam/issues/261. Possibly it should be dropped in favor of `chage -E 0`, as mentioned in the issue. -The second patch can be dropped when 1.7.3 or 1.8 is released. +The patch `0002-pam_userdb-fix-password-comparison-timing-leak.patch` +can be dropped when 1.7.3 or 1.8 is released. From a67f6851935d438b97a84afe9ac3e3b2e83f52db Mon Sep 17 00:00:00 2001 From: Krzesimir Nowak Date: Thu, 6 Aug 2026 18:15:00 +0200 Subject: [PATCH 188/195] overlay profiles: Drop accept keywords for net-libs/nghttp2 Signed-off-by: Krzesimir Nowak --- .../coreos-overlay/profiles/coreos/base/package.accept_keywords | 1 - 1 file changed, 1 deletion(-) diff --git a/sdk_container/src/third_party/coreos-overlay/profiles/coreos/base/package.accept_keywords b/sdk_container/src/third_party/coreos-overlay/profiles/coreos/base/package.accept_keywords index 95f8bc45452..15365649dbe 100644 --- a/sdk_container/src/third_party/coreos-overlay/profiles/coreos/base/package.accept_keywords +++ b/sdk_container/src/third_party/coreos-overlay/profiles/coreos/base/package.accept_keywords @@ -144,7 +144,6 @@ dev-cpp/azure-security-keyvault-keys =net-libs/libnetfilter_cttimeout-1.0.1 ~arm64 # Needed to address a CVE. -=net-libs/nghttp2-1.68.1 =net-libs/ngtcp2-1.22.1 =net-misc/curl-8.21.0 From 680f24c88eb3eb8757f9d4021f206e45d5344cd5 Mon Sep 17 00:00:00 2001 From: Krzesimir Nowak Date: Thu, 6 Aug 2026 18:17:14 +0200 Subject: [PATCH 189/195] overlay profiles: Drop accept keywords for net-libs/ngtcp2 Signed-off-by: Krzesimir Nowak --- .../coreos-overlay/profiles/coreos/base/package.accept_keywords | 1 - 1 file changed, 1 deletion(-) diff --git a/sdk_container/src/third_party/coreos-overlay/profiles/coreos/base/package.accept_keywords b/sdk_container/src/third_party/coreos-overlay/profiles/coreos/base/package.accept_keywords index 15365649dbe..2ec30cfc937 100644 --- a/sdk_container/src/third_party/coreos-overlay/profiles/coreos/base/package.accept_keywords +++ b/sdk_container/src/third_party/coreos-overlay/profiles/coreos/base/package.accept_keywords @@ -144,7 +144,6 @@ dev-cpp/azure-security-keyvault-keys =net-libs/libnetfilter_cttimeout-1.0.1 ~arm64 # Needed to address a CVE. -=net-libs/ngtcp2-1.22.1 =net-misc/curl-8.21.0 # For CVE-2026-{59995,59996,59997,59998,59999,60000,60001,60002} From 7298220abe4449edf31fb624a0b2b00085f3ba23 Mon Sep 17 00:00:00 2001 From: Krzesimir Nowak Date: Thu, 6 Aug 2026 22:16:21 +0200 Subject: [PATCH 190/195] overlay profiles: Drop accept keywords for net-misc/curl Signed-off-by: Krzesimir Nowak --- .../profiles/coreos/base/package.accept_keywords | 3 --- 1 file changed, 3 deletions(-) diff --git a/sdk_container/src/third_party/coreos-overlay/profiles/coreos/base/package.accept_keywords b/sdk_container/src/third_party/coreos-overlay/profiles/coreos/base/package.accept_keywords index 2ec30cfc937..7f042454b81 100644 --- a/sdk_container/src/third_party/coreos-overlay/profiles/coreos/base/package.accept_keywords +++ b/sdk_container/src/third_party/coreos-overlay/profiles/coreos/base/package.accept_keywords @@ -143,9 +143,6 @@ dev-cpp/azure-security-keyvault-keys =net-libs/libnetfilter_cthelper-1.0.1-r1 ~arm64 =net-libs/libnetfilter_cttimeout-1.0.1 ~arm64 -# Needed to address a CVE. -=net-misc/curl-8.21.0 - # For CVE-2026-{59995,59996,59997,59998,59999,60000,60001,60002} =net-misc/openssh-10.4_p1-r1 From 28d0834a82120f78deeeb5dc107203e183dcb18b Mon Sep 17 00:00:00 2001 From: Krzesimir Nowak Date: Fri, 7 Aug 2026 12:30:39 +0200 Subject: [PATCH 191/195] overlay coreos/user-patches: Drop duplicated patches for selinux policies With the fixes in selinux-policy-2.eclass, we can go back to the single patch for all the selinux policy packages. Signed-off-by: Krzesimir Nowak --- .../0001-Flatcar-modifications.patch | 552 ------------------ .../README.md | 14 - .../0001-Flatcar-modifications.patch | 57 +- .../user-patches/sec-policy/selinux-base | 2 +- .../sec-policy/selinux-base-policy | 2 +- 5 files changed, 31 insertions(+), 596 deletions(-) delete mode 100644 sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sec-policy/flatcar-selinux-patches-inside-refpolicy/0001-Flatcar-modifications.patch delete mode 100644 sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sec-policy/flatcar-selinux-patches-inside-refpolicy/README.md diff --git a/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sec-policy/flatcar-selinux-patches-inside-refpolicy/0001-Flatcar-modifications.patch b/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sec-policy/flatcar-selinux-patches-inside-refpolicy/0001-Flatcar-modifications.patch deleted file mode 100644 index b0041c2ff72..00000000000 --- a/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sec-policy/flatcar-selinux-patches-inside-refpolicy/0001-Flatcar-modifications.patch +++ /dev/null @@ -1,552 +0,0 @@ -From 510a8a8c323afbcfcc9d2bb0c6efde48b54e51f3 Mon Sep 17 00:00:00 2001 -From: Krzesimir Nowak -Date: Mon, 4 Dec 2023 12:17:25 +0100 -Subject: [PATCH] Flatcar modifications - ---- - policy/modules/admin/netutils.te | 20 +++ - policy/modules/kernel/corenetwork.if.in | 26 ++++ - policy/modules/kernel/corenetwork.te.in | 12 +- - policy/modules/kernel/files.if | 45 +++++++ - policy/modules/kernel/kernel.te | 125 +++++++++++++++++ - policy/modules/services/container.fc | 6 + - policy/modules/services/container.te | 170 +++++++++++++++++++++++- - policy/modules/system/init.te | 8 ++ - policy/modules/system/locallogin.te | 9 +- - 9 files changed, 418 insertions(+), 3 deletions(-) - -diff --git a/policy/modules/admin/netutils.te b/policy/modules/admin/netutils.te -index 286cae13b..aae2f8d21 100644 ---- a/policy/modules/admin/netutils.te -+++ b/policy/modules/admin/netutils.te -@@ -138,6 +138,16 @@ corenet_raw_sendrecv_generic_if(ping_t) - corenet_raw_sendrecv_generic_node(ping_t) - corenet_tcp_sendrecv_generic_node(ping_t) - corenet_raw_bind_generic_node(ping_t) -+# -+# FLATCAR: -+# -+# This is to fix ping -I with some IP or network interface. -+# -+# Based on https://github.com/fedora-selinux/selinux-policy/pull/403 -+# -+# TODO: What AVC does this fix? -+# -+corenet_icmp_bind_generic_node(ping_t) - - dev_read_urand(ping_t) - -@@ -225,6 +235,16 @@ corenet_udp_bind_traceroute_port(traceroute_t) - corenet_tcp_connect_all_ports(traceroute_t) - corenet_sendrecv_all_client_packets(traceroute_t) - corenet_sendrecv_traceroute_server_packets(traceroute_t) -+# -+# FLATCAR: -+# -+# This is to fix ping -I with some IP or network interface. -+# -+# Based on https://github.com/fedora-selinux/selinux-policy/pull/403 -+# -+# TODO: What AVC does this fix? -+# -+corenet_icmp_bind_generic_node(traceroute_t) - - dev_read_rand(traceroute_t) - dev_read_urand(traceroute_t) -diff --git a/policy/modules/kernel/corenetwork.if.in b/policy/modules/kernel/corenetwork.if.in -index 1f0ad3df4..6a1cdba0e 100644 ---- a/policy/modules/kernel/corenetwork.if.in -+++ b/policy/modules/kernel/corenetwork.if.in -@@ -877,6 +877,32 @@ interface(`corenet_sctp_bind_generic_node',` - allow $1 node_t:sctp_socket node_bind; - ') - -+# -+# FLATCAR: -+# -+# This is to fix ping -I with some IP or network interface. Added -+# icmp_socket here. -+# -+# Based on https://github.com/fedora-selinux/selinux-policy/pull/403 -+# -+######################################## -+## -+## Bind ICMP sockets to generic nodes. -+## -+## -+## -+## Domain allowed access. -+## -+## -+# -+interface(`corenet_icmp_bind_generic_node',` -+ gen_require(` -+ type node_t; -+ ') -+ -+ allow $1 node_t:icmp_socket node_bind; -+') -+ - ######################################## - ## - ## Bind TCP sockets to generic nodes. -diff --git a/policy/modules/kernel/corenetwork.te.in b/policy/modules/kernel/corenetwork.te.in -index 6902c41f0..afb537ab7 100644 ---- a/policy/modules/kernel/corenetwork.te.in -+++ b/policy/modules/kernel/corenetwork.te.in -@@ -381,7 +381,17 @@ allow corenet_unconfined_type port_type:sctp_socket { name_connect }; - - # Bind to any network address. - allow corenet_unconfined_type port_type:{ tcp_socket udp_socket rawip_socket sctp_socket } name_bind; --allow corenet_unconfined_type node_type:{ tcp_socket udp_socket rawip_socket sctp_socket } node_bind; -+# -+# FLATCAR: -+# -+# This is to fix ping -I with some IP or network interface. Added -+# icmp_socket here. -+# -+# Based on https://github.com/fedora-selinux/selinux-policy/pull/403 -+# -+# TODO: What AVC does this fix? -+# -+allow corenet_unconfined_type node_type:{ icmp_socket tcp_socket udp_socket rawip_socket sctp_socket } node_bind; - - # Infiniband - corenet_ib_access_all_pkeys(corenet_unconfined_type) -diff --git a/policy/modules/kernel/files.if b/policy/modules/kernel/files.if -index 47698fd77..710ba58ac 100644 ---- a/policy/modules/kernel/files.if -+++ b/policy/modules/kernel/files.if -@@ -8264,3 +8264,48 @@ interface(`files_relabel_all_pidfiles',` - relabel_files_pattern($1, pidfile, pidfile) - relabel_lnk_files_pattern($1, pidfile, pidfile) - ') -+ -+# -+# FLATCAR: -+# -+# It's a part of our relabeling effort. Not finished, not yet used. -+# -+# Upstream PR: https://github.com/SELinuxProject/refpolicy/pull/515 -+# -+# Second part of this change: https://github.com/flatcar/coreos-overlay/blob/f9a9943cb7ebfcb6fa625b06eb808a65572f54ff/sec-policy/selinux-base-policy/files/systemd-relabel.patch -+# -+######################################## -+## -+## Relabel all files on the filesystem, except -+## policy_config_t and exceptions. -+## -+## -+## -+## Domain allowed access. -+## -+## -+## -+## -+## The types to be excluded. Each type or attribute -+## must be negated by the caller. -+## -+## -+## -+# -+interface(`files_relabel_all_non_policy_files',` -+ gen_require(` -+ attribute file_type; -+ type policy_config_t; -+ ') -+ -+ allow $1 { file_type -policy_config_t $2 }:dir list_dir_perms; -+ relabel_dirs_pattern($1, { file_type -policy_config_t $2 }, { file_type -policy_config_t $2 }) -+ relabel_files_pattern($1, { file_type -policy_config_t $2 }, { file_type -policy_config_t $2 }) -+ relabel_lnk_files_pattern($1, { file_type -policy_config_t $2 }, { file_type -policy_config_t $2 }) -+ relabel_fifo_files_pattern($1, { file_type -policy_config_t $2 }, { file_type -policy_config_t $2 }) -+ relabel_sock_files_pattern($1, { file_type -policy_config_t $2 }, { file_type -policy_config_t $2 }) -+ # this is only relabelfrom since there should be no -+ # device nodes with file types. -+ relabelfrom_blk_files_pattern($1, { file_type -policy_config_t $2 }, { file_type -policy_config_t $2 }) -+ relabelfrom_chr_files_pattern($1, { file_type -policy_config_t $2 }, { file_type -policy_config_t $2 }) -+') -diff --git a/policy/modules/kernel/kernel.te b/policy/modules/kernel/kernel.te -index 9161da0aa..3fa9c58a1 100644 ---- a/policy/modules/kernel/kernel.te -+++ b/policy/modules/kernel/kernel.te -@@ -388,6 +388,131 @@ files_mounton_default(kernel_t) - - mcs_process_set_categories(kernel_t) - -+# -+# FLATCAR: -+# -+# TODO: What AVCs does this fix? -+# -+allow kernel_t self:user_namespace create; -+ -+# -+# FLATCAR: -+# -+# Occurs in coreos.tls.fetch-urls tests. Haven't pinpointed the cause yet: -+# -+# avc: denied { add_name } for pid=[0-9]* comm="bash" name="63" scontext=system_u:system_r:kernel_t:s0 tcontext=system_u:system_r:kernel_t:s0 tclass=dir permissive=0 -+# -+# Occurs in kubeadm.v.calico.base and -+# kubeadm.v.calico.cgroupv1.base: -+# -+# avc: denied { add_name } for pid=[0-9]* comm="tee" name="63" scontext=system_u:system_r:kernel_t:s0 tcontext=system_u:system_r:kernel_t:s0 tclass=dir permissive=0 -+# -+allow kernel_t self:dir { add_name }; -+ -+# -+# FLATCAR: -+# -+# Occurs in coreos.tls.fetch-urls tests. Haven't pinpointed the cause yet: -+# -+# avc: denied { create } for pid=[0-9]* comm="bash" name="63" scontext=system_u:system_r:kernel_t:s0 tcontext=system_u:object_r:kernel_t:s0 tclass=file permissive=0 -+# -+# Occurs in kubeadm.v.calico.base and -+# kubeadm.v.calico.cgroupv1.base: -+# -+# avc: denied { create } for pid=[0-9]* comm="tee" name="63" scontext=system_u:system_r:kernel_t:s0 tcontext=system_u:object_r:kernel_t:s0 tclass=file permissive=0 -+# -+allow kernel_t self:file { create }; -+ -+# -+# FLATCAR: -+# -+# Occurs in coreos.tls.fetch-urls tests. Haven't pinpointed the cause -+# yet: -+# -+# avc: denied { write } for pid=[0-9]* comm="bash" name="fd" dev="proc" ino=[0-9]* scontext=system_u:system_r:kernel_t:s0 tcontext=system_u:system_r:kernel_t:s0 tclass=dir permissive=0 -+# -+# This one occurs a lot in kubeadm.v.calico.base and -+# kubeadm.v.calico.cgroupv1.base, is this from mantle's -+# kola/tests/kubeadm/templates.go? -+# -+# avc: denied { write } for pid=[0-9]* comm="tee" name="fd" dev="proc" ino=[0-9]* scontext=system_u:system_r:kernel_t:s0 tcontext=system_u:system_r:kernel_t:s0 tclass=dir permissive=0 -+# -+allow kernel_t self:dir { write }; -+ -+# -+# FLATCAR: -+# -+# This one happens a lot in kubeadm.v..cgroupv1.base. No -+# idea what is this, but looks like a vestige of cgroupv1 support. -+# -+# avc: denied { audit_read } for pid=[0-9]* comm="systemd" capability=37 scontext=system_u:system_r:kernel_t:s0 tcontext=system_u:system_r:kernel_t:s0 tclass=capability2 permissive=1 -+# -+allow kernel_t self:capability2 { audit_read }; -+ -+# -+# FLATCAR: -+# -+# This one happens in several places, like coreos.selinux.enforce, -+# cl.network.initramfs.second-boot or coreos.ignition.once. Haven't -+# pinpointed the cause yet: -+# -+# avc: denied { checkpoint_restore } for pid=[0-9]* comm="agetty" capability=40 scontext=system_u:system_r:kernel_t:s0 tcontext=system_u:system_r:kernel_t:s0 tclass=capability2 permissive=0 -+# -+allow kernel_t self:capability2 { checkpoint_restore }; -+ -+# -+# FLATCAR: -+# -+# This one happens a lot in kubeadm.v..cgroupv1.base and -+# kubeadm.v..base for cilium and calico. -+# -+# avc: denied { watch_reads } for pid=[0-9]* comm="systemd" path="/run/mount/utab.lock" dev="tmpfs" ino=[0-9]* scontext=system_u:system_r:kernel_t:s0 tcontext=system_u:object_r:mount_runtime_t:s0 tclass=file permissive=0 -+# -+optional_policy(` -+ mount_watch_reads_runtime_files(kernel_t) -+') -+ -+# -+# FLATCAR: -+# -+# This one happens in cl.update.docker-btrfs-compat, cl.update.oem and cl.update.payload. -+# -+# avc: denied { perfmon } for pid=[0-9]* comm="systemd" capability=38 scontext=system_u:system_r:kernel_t:s0 tcontext=system_u:system_r:kernel_t:s0 tclass=capability2 permissive=1 -+# avc: denied { perfmon } for pid=[0-9]* comm="systemd" capability=38 scontext=system_u:system_r:kernel_t:s0 tcontext=system_u:system_r:kernel_t:s0 tclass=capability2 permissive=0 -+# avc: denied { perfmon } for pid=[0-9]* comm="runc" capability=38 scontext=system_u:system_r:kernel_t:s0 tcontext=system_u:system_r:kernel_t:s0 tclass=capability2 permissive=0 -+# -+allow kernel_t self:capability2 { perfmon }; -+ -+# -+# FLATCAR: -+# -+# This one happens in sysext.zfs.reboot. The kernel module is a part -+# of sysext, and it probably is labeled wrong. -+# -+# avc: denied { module_load } for pid=[0-9]* comm="modprobe" path="/usr/lib/modules/6.6.56-flatcar/extra/spl.ko" dev="overlay" ino=[0-9]* scontext=system_u:system_r:kernel_t:s0 tcontext=system_u:object_r:unlabeled_t:s0 tclass=system permissive=1 -+# -+allow kernel_t unlabeled_t:system { module_load }; -+ -+# -+# FLATCAR: -+# -+# This one happens in cl.update.docker-btrfs-compat, cl.update.oem and cl.update.payload. -+# -+# avc: denied { confidentiality } for pid=[0-9]* comm="systemd-udevd" lockdown_reason="use of tracefs" scontext=system_u:system_r:kernel_t:s0 tcontext=system_u:system_r:kernel_t:s0 tclass=lockdown permissive=1 -+# -+allow kernel_t self:lockdown { confidentiality }; -+ -+# -+# FLATCAR: -+# -+# This one happens in cl.update.docker-btrfs-compat, cl.update.oem and cl.update.payload. -+# -+# avc: denied { bpf } for pid=[0-9]* comm="systemd" capability=39 scontext=system_u:system_r:kernel_t:s0 tcontext=system_u:system_r:kernel_t:s0 tclass=capability2 permissive=1 -+# avc: denied { bpf } for pid=[0-9]* comm="systemd" capability=39 scontext=system_u:system_r:kernel_t:s0 tcontext=system_u:system_r:kernel_t:s0 tclass=capability2 permissive=0 -+# avc: denied { bpf } for pid=[0-9]* comm="runc" capability=39 scontext=system_u:system_r:kernel_t:s0 tcontext=system_u:system_r:kernel_t:s0 tclass=capability2 permissive=0 -+# -+allow kernel_t self:capability2 { bpf }; -+ - mls_process_read_all_levels(kernel_t) - mls_process_write_all_levels(kernel_t) - mls_file_write_all_levels(kernel_t) -diff --git a/policy/modules/services/container.fc b/policy/modules/services/container.fc -index 010387a3a..ba0619561 100644 ---- a/policy/modules/services/container.fc -+++ b/policy/modules/services/container.fc -@@ -42,6 +42,12 @@ HOME_DIR/\.docker(/.*)? gen_context(system_u:object_r:container_conf_home_t,s0) - /etc/cni(/.*)? gen_context(system_u:object_r:container_config_t,s0) - /etc/docker(/.*)? gen_context(system_u:object_r:container_config_t,s0) - /etc/containerd(/.*)? gen_context(system_u:object_r:container_config_t,s0) -+# -+# FLATCAR: -+# -+# We keep containerd config in /usr/share, so label it as container_config_t too. -+# -+/usr/share/containerd(/.*)? gen_context(system_u:object_r:container_config_t,s0) - - /run/containers(/.*)? gen_context(system_u:object_r:container_runtime_t,s0) - /run/crun(/.*)? gen_context(system_u:object_r:container_runtime_t,s0) -diff --git a/policy/modules/services/container.te b/policy/modules/services/container.te -index 84641483d..4d0b6c586 100644 ---- a/policy/modules/services/container.te -+++ b/policy/modules/services/container.te -@@ -84,6 +84,52 @@ gen_tunable(container_use_dri, false) - ## - gen_tunable(container_use_ecryptfs, false) - -+# FLATCAR: -+# -+# Turned to be true by default to address following AVCs: -+# -+# This one comes from cl.internet (DockerPing?): -+# -+# For ping inside docker container. -+# -+# Boolean container_use_host_all_caps also allows this. Maybe this -+# should be turned on by default then? -+# -+# avc: denied { net_raw } for pid=[0-9]* comm="ping" capability=13 scontext=system_u:system_r:container_t:s0:c[0-9]*,c[0-9]* tcontext=system_u:system_r:container_t:s0:c[0-9]*,c[0-9]* tclass=capability permissive=0 -+# -+# This one comes from docker.base: -+# -+# avc: denied { setuid } for pid=[0-9]* comm="ping" capability=7 scontext=system_u:system_r:container_t:s0:c[0-9]*,c[0-9]* tcontext=system_u:system_r:container_t:s0:c[0-9]*,c[0-9]* tclass=capability permissive=0 -+# -+# This one happens in kubeadm.v..base for cilium and calico -+# -+# avc: denied { chown } for pid=[0-9]* comm="nginx" capability=0 scontext=system_u:system_r:container_t:s0:c[0-9]*,c[0-9]* tcontext=system_u:system_r:container_t:s0:c[0-9]*,c[0-9]* tclass=capability permissive=0 -+# -+# Boolean container_use_host_all_caps also allows this. Maybe this -+# should be turned on by default then? -+# -+# This one happens in kubeadm.v..base for cilium and calico -+# -+# avc: denied { dac_override } for pid=[0-9]* comm="rpcbind" capability=1 scontext=system_u:system_r:container_t:s0:c[0-9]*,c[0-9]* tcontext=system_u:system_r:container_t:s0:c[0-9]*,c[0-9]* tclass=capability permissive=0 -+# -+# This comes from the same place: -+# -+# avc: denied { dac_override } for pid=[0-9]* comm="systemd-tmpfile" capability=1 scontext=system_u:system_r:container_t:s0:c[0-9]*,c[0-9]* tcontext=system_u:system_r:container_t:s0:c[0-9]*,c[0-9]* tclass=capability permissive=0 -+# -+# Boolean container_use_host_all_caps also allows this. Maybe this -+# should be turned on by default then? -+# -+# This one happens in kubeadm.v..base for cilium and calico -+# -+# avc: denied { dac_read_search } for pid=[0-9]* comm="rpcbind" capability=2 scontext=system_u:system_r:container_t:s0:c[0-9]*,c[0-9]* tcontext=system_u:system_r:container_t:s0:c[0-9]*,c[0-9]* tclass=capability permissive=0 -+# -+# This comes from the same place: -+# -+# avc: denied { dac_read_search } for pid=[0-9]* comm="systemd-tmpfile" capability=2 scontext=system_u:system_r:container_t:s0:c[0-9]*,c[0-9]* tcontext=system_u:system_r:container_t:s0:c[0-9]*,c[0-9]* tclass=capability permissive=0 -+# -+# Boolean container_use_host_all_caps also allows this. Maybe this -+# should be turned on by default then? -+# - ## - ##

- ## Allow containers to use all capabilities in a -@@ -91,7 +137,7 @@ gen_tunable(container_use_ecryptfs, false) - ## directly on the host. - ##

- ##
--gen_tunable(container_use_host_all_caps, false) -+gen_tunable(container_use_host_all_caps, true) - - ## - ##

-@@ -1431,3 +1477,125 @@ optional_policy(` - unconfined_domain_noaudit(spc_user_t) - domain_ptrace_all_domains(spc_user_t) - ') -+ -+# -+# FLATCAR: -+# -+# The rules below were added long time ago. -+# -+# TODO: Would be nice to document what they were trying to fix. And -+# maybe document what AVCs they were trying to address? I suspect that -+# a lot of them are not necessary now or won't be necessary when whole -+# image will be labeled. -+# -+ -+allow container_domain self:socket_class_set { accept ioctl read getattr lock write append getopt setopt }; -+allow container_domain init_t:unix_stream_socket { accept ioctl read getattr lock write append getopt shutdown }; -+ -+# required for sharing /run for the etcd-wrapper -+files_mounton_runtime_dirs(container_engine_domain) -+ -+# this is a hack while the system is not labelled. we need to authorize transition from kernel_t -+require { -+ type kernel_t; -+ type tmpfs_t; -+ type var_lib_t; -+ type unconfined_t; -+} -+allow kernel_t container_t:process transition; -+allow initrc_t container_t:process transition; -+allow kernel_t container_t:process2 nnp_transition; -+allow kernel_t unconfined_t:process transition; -+fs_manage_tmpfs_chr_files(container_t) -+fs_manage_tmpfs_dirs(container_t) -+fs_manage_tmpfs_files(container_t) -+fs_manage_tmpfs_sockets(container_t) -+fs_manage_tmpfs_symlinks(container_t) -+fs_remount_tmpfs(container_t) -+kernel_read_messages(container_t) -+kernel_sigchld(container_t) -+kernel_use_fds(container_t) -+allow container_t self:process getcap; -+files_read_var_lib_files(container_t) -+files_read_var_lib_symlinks(container_t) -+term_use_generic_ptys(container_t) -+term_setattr_generic_ptys(container_t) -+allow container_t tmpfs_t:chr_file { read write open }; -+allow container_t container_file_t:chr_file { manage_file_perms }; -+allow container_t self:process getpgid; -+allow container_t container_file_t:file { entrypoint mounton }; -+allow container_t var_lib_t:file { entrypoint execute execute_no_trans }; -+allow container_t kernel_t:fifo_file { getattr ioctl read write open append }; -+allow container_t initrc_t:fifo_file { getattr ioctl read write open append }; -+filetrans_pattern(kernel_t, etc_t, container_file_t, dir, "cni") -+ -+# this is required by flanneld -+allow container_t kernel_t:system { module_request }; -+ -+# required by flanneld to write into /run/flannel/subnet.env -+filetrans_pattern(kernel_t, var_run_t, container_file_t, dir, "flannel") -+ -+# required for cilium -+allow kernel_t spc_t:process transition; -+# required for using cilium cgroup v1 -+allow kernel_t self:perf_event { open cpu kernel read }; -+allow unconfined_t container_file_t:file { entrypoint }; -+ -+# -+# These ones come from kubeadm.v..base for cilium and calico: -+# -+# avc: denied { watch } for pid=[0-9]* comm="kube-apiserver" path="/etc/kubernetes/pki/apiserver.crt" dev="overlay" ino=[0-9]* scontext=system_u:system_r:container_t:s0:c[0-9]*,c[0-9]* tcontext=system_u:object_r:etc_t:s0 tclass=file permissive=0 -+# -+# avc: denied { watch } for pid=[0-9]* comm="kube-apiserver" path="/etc/kubernetes/pki/ca.crt" dev="overlay" ino=[0-9]* scontext=system_u:system_r:container_t:s0:c[0-9]*,c[0-9]* tcontext=system_u:object_r:etc_t:s0 tclass=file permissive=0 -+# -+# avc: denied { watch } for pid=[0-9]* comm="kube-apiserver" path="/etc/kubernetes/pki/front-proxy-ca.crt" dev="overlay" ino=[0-9]* scontext=system_u:system_r:container_t:s0:c[0-9]*,c[0-9]* tcontext=system_u:object_r:etc_t:s0 tclass=file permissive=0 -+# -+# avc: denied { watch } for pid=[0-9]* comm="kube-apiserver" path="/etc/kubernetes/pki/front-proxy-client.crt" dev="overlay" ino=[0-9]* scontext=system_u:system_r:container_t:s0:c[0-9]*,c[0-9]* tcontext=system_u:object_r:etc_t:s0 tclass=file permissive=0 -+# -+# avc: denied { watch } for pid=[0-9]* comm="kube-controller" path="/etc/kubernetes/pki/ca.crt" dev="overlay" ino=[0-9]* scontext=system_u:system_r:container_t:s0:c[0-9]*,c[0-9]* tcontext=system_u:object_r:etc_t:s0 tclass=file permissive=0 -+# -+# avc: denied { watch } for pid=[0-9]* comm="kube-controller" path="/etc/kubernetes/pki/front-proxy-ca.crt" dev="overlay" ino=[0-9]* scontext=system_u:system_r:container_t:s0:c[0-9]*,c[0-9]* tcontext=system_u:object_r:etc_t:s0 tclass=file permissive=0 -+# -+allow container_t etc_t:file watch; -+ -+# -+# This one comes from kubeadm.v..base for cilium and calico: -+# -+# avc: denied { watch } for pid=[0-9]* comm="kube-controller" path="/opt/libexec/kubernetes/kubelet-plugins/volume/exec" dev="vda9" ino=[0-9]* scontext=system_u:system_r:container_t:s0:c[0-9]*,c[0-9]* tcontext=system_u:object_r:usr_t:s0 tclass=dir permissive=0 -+# -+# This one comes from kubeadm.v.calico.base: -+# -+# avc: denied { watch } for pid=[0-9]* comm="kube-controller" path="/opt/libexec/kubernetes/kubelet-plugins/volume/exec/nodeagent~uds" dev="vda9" ino=[0-9]* scontext=system_u:system_r:container_t:s0:c[0-9]*,c[0-9]* tcontext=system_u:object_r:usr_t:s0 tclass=dir permissive=0 -+# -+allow container_t usr_t:dir { watch }; -+ -+# -+# These ones come from kubeadm.v.calico.base: -+# -+# avc: denied { execute } for pid=[0-9]* comm="kube-controller" name="uds" dev="vda9" ino=[0-9]* scontext=system_u:system_r:container_t:s0:c[0-9]*,c[0-9]* tcontext=system_u:object_r:usr_t:s0 tclass=file permissive=0 -+# -+# avc: denied { execute_no_trans } for pid=[0-9]* comm="kube-controller" path="/opt/libexec/kubernetes/kubelet-plugins/volume/exec/nodeagent~uds/uds" dev="vda9" ino=[0-9]* scontext=system_u:system_r:container_t:s0:c[0-9]*,c[0-9]* tcontext=system_u:object_r:usr_t:s0 tclass=file permissive=0 -+# -+# avc: denied { map } for pid=[0-9]* comm="uds" path="/opt/libexec/kubernetes/kubelet-plugins/volume/exec/nodeagent~uds/uds" dev="vda9" ino=[0-9]* scontext=system_u:system_r:container_t:s0:c[0-9]*,c[0-9]* tcontext=system_u:object_r:usr_t:s0 tclass=file permissive=0 -+# -+allow container_t usr_t:file { execute execute_no_trans map }; -+ -+# -+# FLATCAR: -+# -+# This one happens in kubeadm.v.cilium.base. -+# -+# avc: denied { map_create } for pid=[0-9]* comm="cilium-operator" scontext=system_u:system_r:container_t:s0:c[0-9]*,c[0-9]* tcontext=system_u:system_r:container_t:s0:c[0-9]*,c[0-9]* tclass=bpf permissive=0 -+# -+allow container_t self:bpf { map_create }; -+ -+# -+# FLATCAR: -+# -+# These ones happen in docker.base, docker.network and docker.userns. -+# Basically tests that build some docker images. And these started -+# breaking after moving to buildx as a backend of docker build. -+# -+# avc: denied { read } for pid=[0-9]* comm="echo, sleep, whatever" path="/lib64/libc.so.6" dev="vda9" ino=[0-9]* scontext=system_u:system_r:container_t:s0:c[0-9]*,c[0-9]* tcontext=system_u:object_r:tmp_t:s0 tclass=file permissive=0 -+# -+allow container_t tmp_t:file { read }; -diff --git a/policy/modules/system/init.te b/policy/modules/system/init.te -index 6c555dce2..9c59dfe10 100644 ---- a/policy/modules/system/init.te -+++ b/policy/modules/system/init.te -@@ -1763,3 +1763,11 @@ optional_policy(` - userdom_dontaudit_write_user_tmp_files(systemprocess) - userdom_dontaudit_use_user_terminals(systemprocess) - ') -+ -+# -+# FLATCAR: -+# -+# TODO: What AVC does this fix? -+# -+require { type unconfined_t; } -+allow init_t unconfined_t:file exec_file_perms; -diff --git a/policy/modules/system/locallogin.te b/policy/modules/system/locallogin.te -index 4272ab00f..586024507 100644 ---- a/policy/modules/system/locallogin.te -+++ b/policy/modules/system/locallogin.te -@@ -34,7 +34,14 @@ role system_r types sulogin_t; - - allow local_login_t self:capability { chown dac_override dac_read_search fowner fsetid kill setgid setuid sys_nice sys_resource sys_tty_config }; - dontaudit local_login_t self:capability net_admin; --allow local_login_t self:process { getcap setcap setexec setrlimit setsched signal }; -+# -+# FLATCAR: -+# -+# Added setpgid here. -+# -+# TODO: What AVC does this fix? -+# -+allow local_login_t self:process { setpgid getcap setcap setexec setrlimit setsched signal }; - allow local_login_t self:fd use; - allow local_login_t self:fifo_file rw_fifo_file_perms; - allow local_login_t self:sock_file read_sock_file_perms; --- -2.54.0 - diff --git a/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sec-policy/flatcar-selinux-patches-inside-refpolicy/README.md b/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sec-policy/flatcar-selinux-patches-inside-refpolicy/README.md deleted file mode 100644 index bc1e60bd25a..00000000000 --- a/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sec-policy/flatcar-selinux-patches-inside-refpolicy/README.md +++ /dev/null @@ -1,14 +0,0 @@ -The following steps were needed to make these patches: - -- Clone the refpolicy repo: - - https://github.com/SELinuxProject/refpolicy.git -- Checkout the appropriate tag: - - For example `RELEASE_2_20231002`. -- Apply the Gentoo patch: - - See the sec-policy/selinux-base ebuild in portage-stable for the - patch tarball URL. -- Apply our changes: - - `git am -p2 ` should do the trick. Try adding `-3` flag - in case of conflicts. -- Generate the patch: - - Just `git format-patch HEAD^' will do. diff --git a/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sec-policy/flatcar-selinux-patches/0001-Flatcar-modifications.patch b/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sec-policy/flatcar-selinux-patches/0001-Flatcar-modifications.patch index 432fcac3fc3..70b272a7dff 100644 --- a/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sec-policy/flatcar-selinux-patches/0001-Flatcar-modifications.patch +++ b/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sec-policy/flatcar-selinux-patches/0001-Flatcar-modifications.patch @@ -1,9 +1,10 @@ -From 89a84939fe8047ff0f9b3cef9306c295a92cab18 Mon Sep 17 00:00:00 2001 +From 521b70f1082a7400d5635f70d86f2ad3e7518439 Mon Sep 17 00:00:00 2001 From: Krzesimir Nowak Date: Mon, 4 Dec 2023 12:17:25 +0100 Subject: [PATCH] Flatcar modifications Signed-off-by: Mathieu Tortuyaux +Signed-off-by: Krzesimir Nowak --- policy/modules/admin/netutils.te | 20 +++ policy/modules/kernel/corenetwork.if.in | 26 ++++ @@ -16,10 +17,10 @@ Signed-off-by: Mathieu Tortuyaux policy/modules/system/locallogin.te | 9 +- 9 files changed, 426 insertions(+), 3 deletions(-) -diff --git a/refpolicy/policy/modules/admin/netutils.te b/refpolicy/policy/modules/admin/netutils.te +diff --git a/policy/modules/admin/netutils.te b/policy/modules/admin/netutils.te index 286cae13b..aae2f8d21 100644 ---- a/refpolicy/policy/modules/admin/netutils.te -+++ b/refpolicy/policy/modules/admin/netutils.te +--- a/policy/modules/admin/netutils.te ++++ b/policy/modules/admin/netutils.te @@ -138,6 +138,16 @@ corenet_raw_sendrecv_generic_if(ping_t) corenet_raw_sendrecv_generic_node(ping_t) corenet_tcp_sendrecv_generic_node(ping_t) @@ -54,10 +55,10 @@ index 286cae13b..aae2f8d21 100644 dev_read_rand(traceroute_t) dev_read_urand(traceroute_t) -diff --git a/refpolicy/policy/modules/kernel/corenetwork.if.in b/refpolicy/policy/modules/kernel/corenetwork.if.in +diff --git a/policy/modules/kernel/corenetwork.if.in b/policy/modules/kernel/corenetwork.if.in index 1f0ad3df4..6a1cdba0e 100644 ---- a/refpolicy/policy/modules/kernel/corenetwork.if.in -+++ b/refpolicy/policy/modules/kernel/corenetwork.if.in +--- a/policy/modules/kernel/corenetwork.if.in ++++ b/policy/modules/kernel/corenetwork.if.in @@ -877,6 +877,32 @@ interface(`corenet_sctp_bind_generic_node',` allow $1 node_t:sctp_socket node_bind; ') @@ -91,10 +92,10 @@ index 1f0ad3df4..6a1cdba0e 100644 ######################################## ##

## Bind TCP sockets to generic nodes. -diff --git a/refpolicy/policy/modules/kernel/corenetwork.te.in b/refpolicy/policy/modules/kernel/corenetwork.te.in +diff --git a/policy/modules/kernel/corenetwork.te.in b/policy/modules/kernel/corenetwork.te.in index 6902c41f0..afb537ab7 100644 ---- a/refpolicy/policy/modules/kernel/corenetwork.te.in -+++ b/refpolicy/policy/modules/kernel/corenetwork.te.in +--- a/policy/modules/kernel/corenetwork.te.in ++++ b/policy/modules/kernel/corenetwork.te.in @@ -381,7 +381,17 @@ allow corenet_unconfined_type port_type:sctp_socket { name_connect }; # Bind to any network address. @@ -114,10 +115,10 @@ index 6902c41f0..afb537ab7 100644 # Infiniband corenet_ib_access_all_pkeys(corenet_unconfined_type) -diff --git a/refpolicy/policy/modules/kernel/files.if b/refpolicy/policy/modules/kernel/files.if +diff --git a/policy/modules/kernel/files.if b/policy/modules/kernel/files.if index 47698fd77..710ba58ac 100644 ---- a/refpolicy/policy/modules/kernel/files.if -+++ b/refpolicy/policy/modules/kernel/files.if +--- a/policy/modules/kernel/files.if ++++ b/policy/modules/kernel/files.if @@ -8264,3 +8264,48 @@ interface(`files_relabel_all_pidfiles',` relabel_files_pattern($1, pidfile, pidfile) relabel_lnk_files_pattern($1, pidfile, pidfile) @@ -167,10 +168,10 @@ index 47698fd77..710ba58ac 100644 + relabelfrom_blk_files_pattern($1, { file_type -policy_config_t $2 }, { file_type -policy_config_t $2 }) + relabelfrom_chr_files_pattern($1, { file_type -policy_config_t $2 }, { file_type -policy_config_t $2 }) +') -diff --git a/refpolicy/policy/modules/kernel/kernel.te b/refpolicy/policy/modules/kernel/kernel.te +diff --git a/policy/modules/kernel/kernel.te b/policy/modules/kernel/kernel.te index 9161da0aa..3fa9c58a1 100644 ---- a/refpolicy/policy/modules/kernel/kernel.te -+++ b/refpolicy/policy/modules/kernel/kernel.te +--- a/policy/modules/kernel/kernel.te ++++ b/policy/modules/kernel/kernel.te @@ -388,6 +388,131 @@ files_mounton_default(kernel_t) mcs_process_set_categories(kernel_t) @@ -303,10 +304,10 @@ index 9161da0aa..3fa9c58a1 100644 mls_process_read_all_levels(kernel_t) mls_process_write_all_levels(kernel_t) mls_file_write_all_levels(kernel_t) -diff --git a/refpolicy/policy/modules/services/container.fc b/refpolicy/policy/modules/services/container.fc +diff --git a/policy/modules/services/container.fc b/policy/modules/services/container.fc index 010387a3a..ba0619561 100644 ---- a/refpolicy/policy/modules/services/container.fc -+++ b/refpolicy/policy/modules/services/container.fc +--- a/policy/modules/services/container.fc ++++ b/policy/modules/services/container.fc @@ -42,6 +42,12 @@ HOME_DIR/\.docker(/.*)? gen_context(system_u:object_r:container_conf_home_t,s0) /etc/cni(/.*)? gen_context(system_u:object_r:container_config_t,s0) /etc/docker(/.*)? gen_context(system_u:object_r:container_config_t,s0) @@ -320,10 +321,10 @@ index 010387a3a..ba0619561 100644 /run/containers(/.*)? gen_context(system_u:object_r:container_runtime_t,s0) /run/crun(/.*)? gen_context(system_u:object_r:container_runtime_t,s0) -diff --git a/refpolicy/policy/modules/services/container.te b/refpolicy/policy/modules/services/container.te +diff --git a/policy/modules/services/container.te b/policy/modules/services/container.te index 84641483d..0da2bd5a3 100644 ---- a/refpolicy/policy/modules/services/container.te -+++ b/refpolicy/policy/modules/services/container.te +--- a/policy/modules/services/container.te ++++ b/policy/modules/services/container.te @@ -84,6 +84,52 @@ gen_tunable(container_use_dri, false) ## gen_tunable(container_use_ecryptfs, false) @@ -520,10 +521,10 @@ index 84641483d..0da2bd5a3 100644 +# or +# avc: denied { map } for pid=2516 comm="ping" path="/bin/ping" dev="overlay" ino=221 scontext=system_u:system_r:container_t:s0:c307,c961 tcontext=system_u:object_r:var_lib_t:s0 tclass=file permissive=0 +allow container_t var_lib_t:file { map }; -diff --git a/refpolicy/policy/modules/system/init.te b/refpolicy/policy/modules/system/init.te +diff --git a/policy/modules/system/init.te b/policy/modules/system/init.te index 6c555dce2..9c59dfe10 100644 ---- a/refpolicy/policy/modules/system/init.te -+++ b/refpolicy/policy/modules/system/init.te +--- a/policy/modules/system/init.te ++++ b/policy/modules/system/init.te @@ -1763,3 +1763,11 @@ optional_policy(` userdom_dontaudit_write_user_tmp_files(systemprocess) userdom_dontaudit_use_user_terminals(systemprocess) @@ -536,10 +537,10 @@ index 6c555dce2..9c59dfe10 100644 +# +require { type unconfined_t; } +allow init_t unconfined_t:file exec_file_perms; -diff --git a/refpolicy/policy/modules/system/locallogin.te b/refpolicy/policy/modules/system/locallogin.te +diff --git a/policy/modules/system/locallogin.te b/policy/modules/system/locallogin.te index 4272ab00f..586024507 100644 ---- a/refpolicy/policy/modules/system/locallogin.te -+++ b/refpolicy/policy/modules/system/locallogin.te +--- a/policy/modules/system/locallogin.te ++++ b/policy/modules/system/locallogin.te @@ -34,7 +34,14 @@ role system_r types sulogin_t; allow local_login_t self:capability { chown dac_override dac_read_search fowner fsetid kill setgid setuid sys_nice sys_resource sys_tty_config }; diff --git a/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sec-policy/selinux-base b/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sec-policy/selinux-base index 734d7c0f151..283011aeaff 120000 --- a/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sec-policy/selinux-base +++ b/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sec-policy/selinux-base @@ -1 +1 @@ -flatcar-selinux-patches-inside-refpolicy \ No newline at end of file +flatcar-selinux-patches \ No newline at end of file diff --git a/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sec-policy/selinux-base-policy b/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sec-policy/selinux-base-policy index 734d7c0f151..283011aeaff 120000 --- a/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sec-policy/selinux-base-policy +++ b/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sec-policy/selinux-base-policy @@ -1 +1 @@ -flatcar-selinux-patches-inside-refpolicy \ No newline at end of file +flatcar-selinux-patches \ No newline at end of file From 54edb02167cc155a12aabef827aaf8546d428d4f Mon Sep 17 00:00:00 2001 From: Krzesimir Nowak Date: Fri, 7 Aug 2026 19:01:05 +0200 Subject: [PATCH 192/195] sys-block/thin-provisioning-tool: Move LLVM_COMPAT change from ebuild to env overrides Signed-off-by: Krzesimir Nowak --- .../coreos/config/env/sys-block/thin-provisioning-tools | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/sdk_container/src/third_party/coreos-overlay/coreos/config/env/sys-block/thin-provisioning-tools b/sdk_container/src/third_party/coreos-overlay/coreos/config/env/sys-block/thin-provisioning-tools index c8b0ddaa5ba..b899838fe0e 100644 --- a/sdk_container/src/third_party/coreos-overlay/coreos/config/env/sys-block/thin-provisioning-tools +++ b/sdk_container/src/third_party/coreos-overlay/coreos/config/env/sys-block/thin-provisioning-tools @@ -5,3 +5,11 @@ export ECARGO_EXTRA_ARGS=--no-default-features # read-only so that it forcibly overrides the ebuild. Note that this doesn't # avoid pulling in another rust(-bin) version, but it does avoid it being used. declare -gr RUST_NEEDS_LLVM= + +# Avoid using incompatible rust-bin. Our dev-lang/rust build is +# configured for cross-compiling, while dev-lang/rust-bin is not. The +# latter will be pulled in because of RUST_NEEDS_LLVM=1, but we don't +# need LLVM for our build. The env change above avoids using rust-bin, +# but it cannot avoid pulling it in. This change does that. Probably +# makes RUST_NEEDS_LLVM override unnecessary, but whatever. +declare -gra LLVM_COMPAT=( {19..22} ) From db14e240c8c2cc8e9d993bc58ba0bd8aeffd9bbf Mon Sep 17 00:00:00 2001 From: Krzesimir Nowak Date: Fri, 7 Aug 2026 19:10:27 +0200 Subject: [PATCH 193/195] overlay profiles: Drop settings for sys-fs/zfs-kmod Signed-off-by: Krzesimir Nowak --- .../coreos-overlay/profiles/coreos/base/package.use | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/sdk_container/src/third_party/coreos-overlay/profiles/coreos/base/package.use b/sdk_container/src/third_party/coreos-overlay/profiles/coreos/base/package.use index 4b635e738cc..4d020f82b54 100644 --- a/sdk_container/src/third_party/coreos-overlay/profiles/coreos/base/package.use +++ b/sdk_container/src/third_party/coreos-overlay/profiles/coreos/base/package.use @@ -152,12 +152,10 @@ app-containers/docker btrfs overlay seccomp sys-apps/policycoreutils vanilla -python sys-libs/libsemanage -python -sys-fs/zfs minimal -rootfs -initramfs - # Do not tinker with /boot partition at installation time. sys-firmware/intel-microcode -initramfs -sys-fs/zfs-kmod -initramfs sys-kernel/coreos-firmware -initramfs +sys-fs/zfs minimal -rootfs -initramfs # For sys-auth/sssd net-dns/bind gssapi From 617c0497c4752c30922d332a763ce81e9e723056 Mon Sep 17 00:00:00 2001 From: Krzesimir Nowak Date: Fri, 7 Aug 2026 19:14:07 +0200 Subject: [PATCH 194/195] overlay coreos/config: Move overrides from sys-fs/zfs-kmod to sys-fs/zfs Signed-off-by: Krzesimir Nowak --- .../coreos-overlay/coreos/config/env/sys-fs/zfs | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/sdk_container/src/third_party/coreos-overlay/coreos/config/env/sys-fs/zfs b/sdk_container/src/third_party/coreos-overlay/coreos/config/env/sys-fs/zfs index 62adecfe843..fd1b70c41d8 100644 --- a/sdk_container/src/third_party/coreos-overlay/coreos/config/env/sys-fs/zfs +++ b/sdk_container/src/third_party/coreos-overlay/coreos/config/env/sys-fs/zfs @@ -1,3 +1,15 @@ +# This addresses an issue with the kernel version compatibility check +# when installing zfs modules to /build/ (e.g. via build_packages) +# from its binpkg (i.e. not recompiling it). +SKIP_KERNEL_BINPKG_ENV_RESET=1 + +# Necessary to prevent KV_FULL & KV_OUT_DIR from being unset +# when building Kernel modules for sysext. See also eclass/linux-info.eclass. +cros_pre_pkg_setup_kernel_version() { + LINUX_INFO_BINARY_RESET=1 + get_version +} + cros_post_src_install_rm_systemd_masks() { rm "${D}$(systemd_get_systemunitdir)"/zfs-load-key.service rm "${D}$(systemd_get_systemunitdir)"/zfs-import.service From c81c02f1edacb828211ce4e3f0084b740d707faf Mon Sep 17 00:00:00 2001 From: Krzesimir Nowak Date: Fri, 7 Aug 2026 20:32:23 +0200 Subject: [PATCH 195/195] changelog: Add entries Signed-off-by: Krzesimir Nowak --- .../security/2026-08-07-weekly-updates.md | 28 +++++++++++ .../updates/2026-08-07-weekly-updates.md | 50 +++++++++++++++++++ 2 files changed, 78 insertions(+) create mode 100644 changelog/security/2026-08-07-weekly-updates.md create mode 100644 changelog/updates/2026-08-07-weekly-updates.md diff --git a/changelog/security/2026-08-07-weekly-updates.md b/changelog/security/2026-08-07-weekly-updates.md new file mode 100644 index 00000000000..e6275c0d90d --- /dev/null +++ b/changelog/security/2026-08-07-weekly-updates.md @@ -0,0 +1,28 @@ +- bzip2 ([CVE-2026-42250](https://www.cve.org/CVERecord/?id=CVE-2026-42250)) +- c-ares ([CVE-2026-33630](https://www.cve.org/CVERecord/?id=CVE-2026-33630), [GHSA-pjmc-gx33-gc76](https://github.com/c-ares/c-ares/security/advisories/GHSA-pjmc-gx33-gc76), [GHSA-jv8r-gqr9-68wj](https://github.com/c-ares/c-ares/security/advisories/GHSA-jv8r-gqr9-68wj)) +- containerd ([CVE-2026-24051](https://www.cve.org/CVERecord/?id=CVE-2026-24051), [CVE-2026-33186](https://www.cve.org/CVERecord/?id=CVE-2026-33186), [CVE-2026-34986](https://www.cve.org/CVERecord/?id=CVE-2026-34986), [CVE-2026-35469](https://www.cve.org/CVERecord/?id=CVE-2026-35469), [CVE-2026-39883](https://www.cve.org/CVERecord/?id=CVE-2026-39883)) +- coreutils ([CVE-2026-56391](https://www.cve.org/CVERecord/?id=CVE-2026-56391), [CVE-2026-56392](https://www.cve.org/CVERecord/?id=CVE-2026-56392)) +- cri-tools ([CVE-2026-32285](https://www.cve.org/CVERecord/?id=CVE-2026-32285), [CVE-2026-24051](https://www.cve.org/CVERecord/?id=CVE-2026-24051), [CVE-2026-33186](https://www.cve.org/CVERecord/?id=CVE-2026-33186)) +- diffutils ([CVE-2026-53910](https://www.cve.org/CVERecord/?id=CVE-2026-53910)) +- docker ([CVE-2026-24051](https://www.cve.org/CVERecord/?id=CVE-2026-24051), [CVE-2026-33186](https://www.cve.org/CVERecord/?id=CVE-2026-33186), [CVE-2026-33997](https://www.cve.org/CVERecord/?id=CVE-2026-33997), [CVE-2026-34040](https://www.cve.org/CVERecord/?id=CVE-2026-34040), [CVE-2026-39883](https://www.cve.org/CVERecord/?id=CVE-2026-39883), [CVE-2026-41567](https://www.cve.org/CVERecord/?id=CVE-2026-41567), [CVE-2026-42306](https://www.cve.org/CVERecord/?id=CVE-2026-42306), [CVE-2026-33747](https://www.cve.org/CVERecord/?id=CVE-2026-33747), [CVE-2026-33748](https://www.cve.org/CVERecord/?id=CVE-2026-33748)) +- docker-buildx ([CVE-2025-0495](https://www.cve.org/CVERecord/?id=CVE-2025-0495)) +- etcd ([CVE-2025-22869](https://www.cve.org/CVERecord/?id=CVE-2025-22869), [CVE-2025-30204](https://www.cve.org/CVERecord/?id=CVE-2025-30204), [CVE-2026-33186](https://www.cve.org/CVERecord/?id=CVE-2026-33186)) +- go ([CVE-2026-27145](https://www.cve.org/CVERecord/?id=CVE-2026-27145), [CVE-2026-39822](https://www.cve.org/CVERecord/?id=CVE-2026-39822), [CVE-2026-42504](https://www.cve.org/CVERecord/?id=CVE-2026-42504), [CVE-2026-42505](https://www.cve.org/CVERecord/?id=CVE-2026-42505), [CVE-2026-42507](https://www.cve.org/CVERecord/?id=CVE-2026-42507)) +- gzip ([CVE-2026-41991](https://www.cve.org/CVERecord/?id=CVE-2026-41991)) +- jq ([CVE-2026-32316](https://www.cve.org/CVERecord/?id=CVE-2026-32316), [CVE-2026-33947](https://www.cve.org/CVERecord/?id=CVE-2026-33947), [CVE-2026-33948](https://www.cve.org/CVERecord/?id=CVE-2026-33948), [CVE-2026-39956](https://www.cve.org/CVERecord/?id=CVE-2026-39956), [CVE-2026-39979](https://www.cve.org/CVERecord/?id=CVE-2026-39979), [CVE-2026-40164](https://www.cve.org/CVERecord/?id=CVE-2026-40164), [CVE-2026-41256](https://www.cve.org/CVERecord/?id=CVE-2026-41256), [CVE-2026-41257](https://www.cve.org/CVERecord/?id=CVE-2026-41257), [CVE-2026-43894](https://www.cve.org/CVERecord/?id=CVE-2026-43894), [CVE-2026-43895](https://www.cve.org/CVERecord/?id=CVE-2026-43895), [CVE-2026-43896](https://www.cve.org/CVERecord/?id=CVE-2026-43896), [CVE-2026-44777](https://www.cve.org/CVERecord/?id=CVE-2026-44777), [CVE-2026-47770](https://www.cve.org/CVERecord/?id=CVE-2026-47770), [CVE-2026-49839](https://www.cve.org/CVERecord/?id=CVE-2026-49839), [CVE-2026-54679](https://www.cve.org/CVERecord/?id=CVE-2026-54679)) +- json-c ([CVE-2026-9146](https://www.cve.org/CVERecord/?id=CVE-2026-9146)) +- libxml2 ([CVE-2026-11979](https://www.cve.org/CVERecord/?id=CVE-2026-11979)) +- mit-krb5 ([CVE-2026-40355](https://www.cve.org/CVERecord/?id=CVE-2026-40355), [CVE-2026-40356](https://www.cve.org/CVERecord/?id=CVE-2026-40356)) +- opensc ([CVE-2025-13763](https://www.cve.org/CVERecord/?id=CVE-2025-13763), [CVE-2025-49010](https://www.cve.org/CVERecord/?id=CVE-2025-49010), [CVE-2025-66037](https://www.cve.org/CVERecord/?id=CVE-2025-66037), [CVE-2025-66038](https://www.cve.org/CVERecord/?id=CVE-2025-66038), [CVE-2025-66215](https://www.cve.org/CVERecord/?id=CVE-2025-66215)) +- p11-kit ([CVE-2026-13757](https://www.cve.org/CVERecord/?id=CVE-2026-13757)) +- pam ([CVE-2026-54411](https://www.cve.org/CVERecord/?id=CVE-2026-54411)) +- policycoreutils ([CVE-2026-59676](https://www.cve.org/CVERecord/?id=CVE-2026-59676), [CVE-2026-59677](https://www.cve.org/CVERecord/?id=CVE-2026-59677)) +- qemu ([CVE-2026-3886](https://www.cve.org/CVERecord/?id=CVE-2026-3886)) +- socat ([CVE-2026-56123](https://www.cve.org/CVERecord/?id=CVE-2026-56123)) +- sssd ([CVE-2026-12610](https://www.cve.org/CVERecord/?id=CVE-2026-12610), [CVE-2026-14474](https://www.cve.org/CVERecord/?id=CVE-2026-14474), [CVE-2026-14476](https://www.cve.org/CVERecord/?id=CVE-2026-14476)) +- util-linux ([CVE-2026-13595](https://www.cve.org/CVERecord/?id=CVE-2026-13595), [CVE-2026-53612](https://www.cve.org/CVERecord/?id=CVE-2026-53612), [CVE-2026-53613](https://www.cve.org/CVERecord/?id=CVE-2026-53613), [CVE-2026-53614](https://www.cve.org/CVERecord/?id=CVE-2026-53614)) +- wget ([CVE-2026-15146](https://www.cve.org/CVERecord/?id=CVE-2026-15146), [CVE-2026-58469](https://www.cve.org/CVERecord/?id=CVE-2026-58469), [CVE-2026-58470](https://www.cve.org/CVERecord/?id=CVE-2026-58470), [CVE-2026-58471](https://www.cve.org/CVERecord/?id=CVE-2026-58471), [CVE-2026-58472](https://www.cve.org/CVERecord/?id=CVE-2026-58472)) +- tpm2-tools (GHSA-v7w4-4gc9-qcgv, GHSA-gwfg-w3jr-xh66, GHSA-qp88-8f4j-wv7q) +- tpm2-tss (GHSA-q759-vqg7-8rc5, GHSA-7638-f8gq-c475, GHSA-p3px-r4mm-jpw5, GHSA-x5j2-26fc-hhc3, GHSA-gf8g-2r5c-74c7, GHSA-mj78-pj5v-wvjx, GHSA-v2qp-xh5m-44mf, GHSA-2q5v-c7hv-fvpf, GHSA-pcpw-8625-jqcp, GHSA-6grq-c24j-xcjr) +- less ([less-20260606](https://greenwoodsoftware.com/less/news.704.html)) +- libseccomp ([GHSA-2hqh-5c36-grrm](https://github.com/seccomp/libseccomp/security/advisories/GHSA-2hqh-5c36-grrm), [GHSA-46fr-jh49-xvhx](https://github.com/seccomp/libseccomp/security/advisories/GHSA-46fr-jh49-xvhx), [GHSA-4q85-33p6-j5g6](https://github.com/seccomp/libseccomp/security/advisories/GHSA-4q85-33p6-j5g6)) diff --git a/changelog/updates/2026-08-07-weekly-updates.md b/changelog/updates/2026-08-07-weekly-updates.md new file mode 100644 index 00000000000..1247d5a5ee1 --- /dev/null +++ b/changelog/updates/2026-08-07-weekly-updates.md @@ -0,0 +1,50 @@ +- SDK: cmake ([4.3.4](https://cmake.org/cmake/help/v4.3/release/4.3.html#id4)) +- SDK: go ([1.26.5](https://go.dev/doc/devel/release#go1.26.5) (includes [1.26.4](https://go.dev/doc/devel/release#go1.26.4))) +- SDK: nasm ([3.02](https://www.nasm.us/docs/3.02/nasmac.html)) +- SDK: opensc ([0.27.1](https://github.com/OpenSC/OpenSC/releases/tag/0.27.1)) +- SDK: pkgcheck ([0.10.40](https://github.com/pkgcore/pkgcheck/releases/tag/v0.10.40)) +- SDK: qemu ([10.2.3](https://lists.gnu.org/archive/html/qemu-stable/2026-05/msg00654.html)) +- base, dev: acl ([2.4.0](https://cgit.git.savannah.nongnu.org/cgit/acl.git/plain/doc/CHANGES?h=v2.4.0)) +- base, dev: attr ([2.6.0](https://cgit.git.savannah.nongnu.org/cgit/attr.git/plain/doc/CHANGES?h=v2.6.0)) +- base, dev: c-ares ([1.34.8](https://github.com/c-ares/c-ares/releases/tag/v1.34.8) (includes [1.34.7](https://github.com/c-ares/c-ares/releases/tag/v1.34.7))) +- base, dev: cri-tools ([1.36.0](https://github.com/kubernetes-sigs/cri-tools/releases/tag/v1.36.0) (includes [1.35.0](https://github.com/kubernetes-sigs/cri-tools/releases/tag/v1.35.0), [1.34.0](https://github.com/kubernetes-sigs/cri-tools/releases/tag/v1.34.0))) +- base, dev: etcd ([3.6.11](https://github.com/etcd-io/etcd/blob/main/CHANGELOG/CHANGELOG-3.6.md#v3611-2026-05-01)) +- base, dev: jq ([1.8.2](https://github.com/jqlang/jq/releases/tag/jq-1.8.2)) +- base, dev: json-c ([0.19](https://raw.githubusercontent.com/json-c/json-c/refs/heads/json-c-0.19/ChangeLog)) +- base, dev: less ([704](https://greenwoodsoftware.com/less/news.704.html) (includes [702](https://greenwoodsoftware.com/less/news.702.html))) +- base, dev: libarchive ([3.8.9](https://github.com/libarchive/libarchive/releases/tag/v3.8.9)) +- base, dev: libgpg-error ([1.61](https://dev.gnupg.org/T8239.html)) +- base, dev: libnvme ([1.16.2](https://github.com/linux-nvme/libnvme/releases/tag/v1.16.2)) +- base, dev: libseccomp ([2.6.1](https://github.com/seccomp/libseccomp/releases/tag/v2.6.1)) +- base, dev: libselinux ([3.11](https://github.com/SELinuxProject/selinux/releases/tag/3.11)) +- base, dev: libsemanage ([3.11](https://github.com/SELinuxProject/selinux/releases/tag/3.11) (includes [3.10](https://github.com/SELinuxProject/selinux/releases/tag/3.10), [3.9](https://github.com/SELinuxProject/selinux/releases/tag/3.9))) +- base, dev: libsepol ([3.11](https://github.com/SELinuxProject/selinux/releases/tag/3.11)) +- base, dev: nghttp2 ([1.69.0](https://github.com/nghttp2/nghttp2/releases/tag/v1.69.0)) +- base, dev: ngtcp2 ([1.24.0](https://github.com/ngtcp2/ngtcp2/releases/tag/v1.2{4,3}.0) (includes [1.23.0](https://github.com/ngtcp2/ngtcp2/releases/tag/v1.23.0))) +- base, dev: openssh ([10.4_p1](https://www.openssh.org/txt/release-10.4)) +- base, dev: p11-kit ([0.26.4](https://github.com/p11-glue/p11-kit/releases/tag/0.26.4) (includes [0.26.3](https://github.com/p11-glue/p11-kit/releases/tag/0.26.3))) +- base, dev: policycoreutils ([3.11](https://github.com/SELinuxProject/selinux/releases/tag/3.11) (includes [3.10](https://github.com/SELinuxProject/selinux/releases/tag/3.10), [3.9](https://github.com/SELinuxProject/selinux/releases/tag/3.9))) +- base, dev: samba ([4.24.4](https://www.samba.org/samba/history/samba-4.24.4.html) (includes [4.24.3](https://www.samba.org/samba/history/samba-4.24.3.html), [4.24.2](https://www.samba.org/samba/history/samba-4.24.2.html), [4.24.1](https://www.samba.org/samba/history/samba-4.24.1.html), [4.24.0](https://www.samba.org/samba/history/samba-4.24.0.html))) +- base, dev: semodule-utils ([3.11](https://github.com/SELinuxProject/selinux/releases/tag/3.11)) +- base, dev: socat ([1.8.1.3](https://repo.or.cz/socat.git/blob/refs/tags/tag-1.8.1.3:/CHANGES)) +- base, dev: sssd ([2.13.1](https://sssd.io/release-notes/sssd-2.13.1.html)) +- base, dev: strace ([7.1](https://github.com/strace/strace/releases/tag/v7.1)) +- base, dev: tpm2-tools ([5.8](https://github.com/tpm2-software/tpm2-tools/releases/tag/5.8)) +- base, dev: tpm2-tss ([4.2.0](https://github.com/tpm2-software/tpm2-tss/releases/tag/4.2.0)) +- base, dev: util-linux ([2.42.2](https://github.com/util-linux/util-linux/blob/v2.42.2/Documentation/releases/v2.42.2-ReleaseNotes) (includes [2.42.1](https://github.com/util-linux/util-linux/blob/v2.42.1/Documentation/releases/v2.42.1-ReleaseNotes), [2.42](https://github.com/util-linux/util-linux/blob/v2.42/Documentation/releases/v2.42-ReleaseNotes))) +- dev: file ([5.48](https://raw.githubusercontent.com/file/file/refs/tags/FILE5_48/ChangeLog)) +- dev: gentoolkit ([0.7.6](https://gitweb.gentoo.org/proj/gentoolkit.git/log/?h=gentoolkit-0.7.6)) +- dev: portage ([3.0.81.2](https://gitweb.gentoo.org/proj/portage.git/plain/NEWS?h=portage-3.0.81.2)) +- dev: sandbox ([2.49](https://gitweb.gentoo.org/proj/sandbox.git/log/?h=v2.49)) +- sysext-containerd: containerd ([2.3.3](https://github.com/containerd/containerd/releases/tag/v2.3.3) (includes [2.3.2](https://github.com/containerd/containerd/releases/tag/v2.3.2), [2.3.1](https://github.com/containerd/containerd/releases/tag/v2.3.1), [2.3.0](https://github.com/containerd/containerd/releases/tag/v2.3.0))) +- sysext-docker: docker ([29.5.2](https://github.com/moby/moby/releases/tag/docker-v29.5.2) (includes [29.5.1](https://github.com/moby/moby/releases/tag/docker-v29.5.1), [29.5.0](https://github.com/moby/moby/releases/tag/docker-v29.5.0), [29.4.0](https://github.com/moby/moby/releases/tag/docker-v29.4.0), [29.3.0](https://github.com/moby/moby/releases/tag/docker-v29.3.0), [29.2.0](https://github.com/moby/moby/releases/tag/docker-v29.2.0))) +- sysext-docker: docker-buildx ([0.35.0](https://github.com/docker/buildx/releases/tag/v0.36.0)) +- sysext-docker: docker-cli ([29.5.2](https://github.com/moby/moby/releases/tag/docker-v29.5.2) (includes [29.5.1](https://github.com/moby/moby/releases/tag/docker-v29.5.1), [29.5.0](https://github.com/moby/moby/releases/tag/docker-v29.5.0), [29.4.0](https://github.com/moby/moby/releases/tag/docker-v29.4.0), [29.3.0](https://github.com/moby/moby/releases/tag/docker-v29.3.0), [29.2.0](https://github.com/moby/moby/releases/tag/docker-v29.2.0))) +- sysext-incus: xdelta ([3.2.0](https://github.com/jmacd/xdelta/releases/tag/v3.2.0)) +- sysext-podman: container-libs ([0.69.0](https://github.com/podman-container-tools/container-libs/releases/tag/common%2Fv0.69.0)) +- sysext-python: distlib ([0.4.3](https://raw.githubusercontent.com/pypa/distlib/refs/tags/0.4.3/CHANGES.rst)) +- sysext-python: msgpack ([1.2.1](https://github.com/msgpack/msgpack-python/releases/tag/v1.2.1) (includes [1.2.0](https://github.com/msgpack/msgpack-python/releases/tag/v1.2.0))) +- sysext-python: setuptools-scm ([10.1.2](https://github.com/pypa/setuptools-scm/releases/tag/setuptools-scm-v10.1.2) (includes [10.1.1](https://github.com/pypa/setuptools-scm/releases/tag/setuptools-scm-v10.1.1), [10.1.0](https://github.com/pypa/setuptools-scm/releases/tag/setuptools-scm-v10.1.0))) +- sysext-python: typing-extensions ([4.16.0](https://raw.githubusercontent.com/python/typing_extensions/refs/tags/4.16.0/CHANGELOG.md)) +- sysext-python: vcs-versioning ([2.2.2](https://github.com/pypa/setuptools-scm/releases/tag/vcs-versioning-v2.2.2) (includes [2.2.1](https://github.com/pypa/setuptools-scm/releases/tag/vcs-versioning-v2.2.1), [2.2.0](https://github.com/pypa/setuptools-scm/releases/tag/vcs-versioning-v2.2.0), [2.1.0](https://github.com/pypa/setuptools-scm/releases/tag/vcs-versioning-v2.1.0), [2.0.0](https://github.com/pypa/setuptools-scm/releases/tag/vcs-versioning-v2.0.0))) +- sysext-zfs: zfs ([2.4.3](https://github.com/openzfs/zfs/releases/tag/zfs-2.4.3) (includes [2.4.2](https://github.com/openzfs/zfs/releases/tag/zfs-2.4.2), [2.4.1](https://github.com/openzfs/zfs/releases/tag/zfs-2.4.1), [2.4.0](https://github.com/openzfs/zfs/releases/tag/zfs-2.4.0)))