diff --git a/.github/workflows/portage-stable-packages-list b/.github/workflows/portage-stable-packages-list index 28cb1139894..d345ef99722 100644 --- a/.github/workflows/portage-stable-packages-list +++ b/.github/workflows/portage-stable-packages-list @@ -553,6 +553,7 @@ net-libs/libpsl net-libs/libslirp net-libs/libtirpc net-libs/nghttp2 +net-libs/ngtcp2 net-libs/rpcsvc-proto net-misc/bridge-utils diff --git a/changelog/security/2026-04-10-weekly-updates.md b/changelog/security/2026-04-10-weekly-updates.md new file mode 100644 index 00000000000..acc73a99d8d --- /dev/null +++ b/changelog/security/2026-04-10-weekly-updates.md @@ -0,0 +1,3 @@ +- go ([CVE-2025-61726](https://www.cve.org/CVERecord?id=CVE-2025-61726), [CVE-2025-61728](https://www.cve.org/CVERecord?id=CVE-2025-61728), [CVE-2025-61730](https://www.cve.org/CVERecord?id=CVE-2025-61730), [CVE-2025-61731](https://www.cve.org/CVERecord?id=CVE-2025-61731), [CVE-2025-68119](https://www.cve.org/CVERecord?id=CVE-2025-68119), [CVE-2025-68121](https://www.cve.org/CVERecord?id=CVE-2025-68121), [CVE-2025-61732](https://www.cve.org/CVERecord?id=CVE-2025-61732), [CVE-2026-25679](https://www.cve.org/CVERecord?id=CVE-2026-25679), [CVE-2026-27139](https://www.cve.org/CVERecord?id=CVE-2026-27139), [CVE-2026-27142](https://www.cve.org/CVERecord?id=CVE-2026-27142)) +- expat ([CVE-2026-32776](https://www.cve.org/CVERecord?id=CVE-2026-32776), [CVE-2026-32777](https://www.cve.org/CVERecord?id=CVE-2026-32777), [CVE-2026-32778](https://www.cve.org/CVERecord?id=CVE-2026-32778)) +- systemd ([CVE-2026-40223](https://www.cve.org/CVERecord?id=CVE-2026-40223), [CVE-2026-40226](https://www.cve.org/CVERecord?id=CVE-2026-40226)) diff --git a/changelog/updates/2026-04-10-weekly-updates.md b/changelog/updates/2026-04-10-weekly-updates.md new file mode 100644 index 00000000000..d3a9f552939 --- /dev/null +++ b/changelog/updates/2026-04-10-weekly-updates.md @@ -0,0 +1,18 @@ +- SDK: go ([1.25.8](https://go.dev/doc/devel/release#go1.25.8) (includes [1.25.7](https://go.dev/doc/devel/release#go1.25.7), [1.25.6](https://go.dev/doc/devel/release#go1.25.6))) +- base, dev: cryptsetup ([2.8.4](https://gitlab.com/cryptsetup/cryptsetup/-/raw/v2.8.4/docs/v2.8.4-ReleaseNotes)) +- base, dev: expat ([2.7.5](https://github.com/libexpat/libexpat/blob/R_2_7_5/expat/Changes)) +- base, dev: less ([692](https://greenwoodsoftware.com/less/news.692.html) (includes [691](https://greenwoodsoftware.com/less/news.691.html))) +- base, dev: lvm2 ([2.03.37](https://gitlab.com/lvmteam/lvm2/-/tags/v2_03_37) (includes [2.03.36](https://gitlab.com/lvmteam/lvm2/-/tags/v2_03_36), [2.03.35](https://gitlab.com/lvmteam/lvm2/-/tags/v2_03_35), [2.03.34](https://gitlab.com/lvmteam/lvm2/-/tags/v2_03_34), [2.03.33](https://gitlab.com/lvmteam/lvm2/-/tags/v2_03_33), [2.03.32](https://gitlab.com/lvmteam/lvm2/-/tags/v2_03_32), [2.03.31](https://gitlab.com/lvmteam/lvm2/-/tags/v2_03_31), [2.03.30](https://gitlab.com/lvmteam/lvm2/-/tags/v2_03_30), [2.03.29](https://gitlab.com/lvmteam/lvm2/-/tags/v2_03_29), [2.03.28](https://gitlab.com/lvmteam/lvm2/-/tags/v2_03_28), [2.03.27](https://gitlab.com/lvmteam/lvm2/-/tags/v2_03_27), [2.03.26](https://gitlab.com/lvmteam/lvm2/-/tags/v2_03_26), [2.03.25](https://gitlab.com/lvmteam/lvm2/-/tags/v2_03_25), [2.03.24](https://gitlab.com/lvmteam/lvm2/-/tags/v2_03_24), [2.03.23](https://gitlab.com/lvmteam/lvm2/-/tags/v2_03_23), [2.03.22](https://gitlab.com/lvmteam/lvm2/-/tags/v2_03_22))) +- base, dev: mdadm ([4.5](https://git.kernel.org/pub/scm/utils/mdadm/mdadm.git/tree/CHANGELOG.md?h=mdadm-4.5)) +- base, dev: multipath-tools ([0.14.3](https://raw.githubusercontent.com/opensvc/multipath-tools/refs/tags/0.14.3/NEWS.md) (includes [0.14.2](https://raw.githubusercontent.com/opensvc/multipath-tools/refs/tags/0.14.2/NEWS.md), [0.14.1](https://raw.githubusercontent.com/opensvc/multipath-tools/refs/tags/0.14.1/NEWS.md), [0.14.0](https://raw.githubusercontent.com/opensvc/multipath-tools/refs/tags/0.14.0/NEWS.md), [0.13.0](https://raw.githubusercontent.com/opensvc/multipath-tools/refs/tags/0.13.0/NEWS.md), [0.12.0](https://raw.githubusercontent.com/opensvc/multipath-tools/refs/tags/0.12.0/NEWS.md), [0.11.0](https://raw.githubusercontent.com/opensvc/multipath-tools/refs/tags/0.11.0/NEWS.md), [0.10.0](https://raw.githubusercontent.com/opensvc/multipath-tools/refs/tags/0.10.0/NEWS.md), [0.9.9](https://raw.githubusercontent.com/opensvc/multipath-tools/refs/tags/0.9.9/NEWS.md))) +- base, dev: nfs-utils ([2.8.5](https://lwn.net/Articles/1056938/) (includes [2.8.4](https://lwn.net/Articles/1037951/), [2.8.3](https://lwn.net/Articles/1015990/), [2.8.2](https://lwn.net/Articles/1001669/), [2.8.1](https://lwn.net/Articles/994839/)) +- base, dev: samba ([4.23.6](https://www.samba.org/samba/history/samba-4.23.6.html) (includes [4.23.5](https://www.samba.org/samba/history/samba-4.23.5.html), [4.23.4](https://www.samba.org/samba/history/samba-4.23.4.html), [4.23.3](https://www.samba.org/samba/history/samba-4.23.3.html), [4.23.2](https://www.samba.org/samba/history/samba-4.23.2.html), [4.23.1](https://www.samba.org/samba/history/samba-4.23.1.html), [4.23.0](https://www.samba.org/samba/history/samba-4.23.0.html))) +- base, dev: shadow ([4.19.3](https://github.com/shadow-maint/shadow/releases/tag/4.19.3) (includes [4.19.2](https://github.com/shadow-maint/shadow/releases/tag/4.19.2), [4.19.1](https://github.com/shadow-maint/shadow/releases/tag/4.19.1), [4.19.0](https://github.com/shadow-maint/shadow/releases/tag/4.19.0), [4.18.0](https://github.com/shadow-maint/shadow/releases/tag/4.18.0), [4.17.0](https://github.com/shadow-maint/shadow/releases/tag/4.17.0), [4.16.0](https://github.com/shadow-maint/shadow/releases/tag/4.16.0), [4.15.0](https://github.com/shadow-maint/shadow/releases/tag/4.15.0))) +- base, dev: socat ([1.8.1.1](https://repo.or.cz/socat.git/blob/refs/tags/tag-1.8.1.1:/CHANGES)) +- base, dev: strace ([6.19](https://github.com/strace/strace/releases/tag/v6.19)) +- base, dev: systemd ([259.4](https://raw.githubusercontent.com/systemd/systemd/refs/tags/v259.4/NEWS)) +- base, dev: tdb ([1.4.14](https://gitlab.com/samba-team/samba/-/commit/823ed52d5c561d8598da251154571402a307b367)) +- base, dev: tevent ([0.17.1](https://gitlab.com/samba-team/samba/-/commit/ebf4c4773733d2aae14c96f70681211ae40c1c18) (includes [0.17.0](https://gitlab.com/samba-team/samba/-/commit/2401f844c8beb7e856b79fb57f8e4c079b3fb0f0))) +- base, dev: userspace-rcu ([0.15.6](https://lwn.net/Articles/1055984/)) +- dev: man-pages ([6.16](https://lwn.net/Articles/1044066/) (includes [6.15](https://sourceware.org/pipermail/libc-alpha/2025-July/168842.html), [6.14](https://lkml.org/lkml/2025/5/9/32), [6.13](https://lkml.org/lkml/2025/3/7/1714), [6.12](https://lkml.org/lkml/2025/2/24/432), [6.11](https://lwn.net/Articles/1009902/))) +- sysext-zfs: zfs ([2.3.6](https://github.com/openzfs/zfs/releases/tag/zfs-2.3.6) (includes [2.3.5](https://github.com/openzfs/zfs/releases/tag/zfs-2.3.5))) diff --git a/sdk_container/src/third_party/coreos-overlay/app-emulation/amazon-ssm-agent/amazon-ssm-agent-3.3.2299.0.ebuild b/sdk_container/src/third_party/coreos-overlay/app-emulation/amazon-ssm-agent/amazon-ssm-agent-3.3.2299.0.ebuild index 3aec6c416fa..69ebd9d4f35 100644 --- a/sdk_container/src/third_party/coreos-overlay/app-emulation/amazon-ssm-agent/amazon-ssm-agent-3.3.2299.0.ebuild +++ b/sdk_container/src/third_party/coreos-overlay/app-emulation/amazon-ssm-agent/amazon-ssm-agent-3.3.2299.0.ebuild @@ -1,31 +1,27 @@ # Distributed under the terms of the GNU General Public License v2 -EAPI=7 +EAPI=8 -COREOS_GO_PACKAGE="${GITHUB_URI}" +inherit go-env go-module sysroot systemd -inherit coreos-go-depend golang-vcs-snapshot systemd - -EGO_PN="github.com/aws/${PN}" DESCRIPTION="AWS Systems Manager Agent" HOMEPAGE="https://github.com/aws/amazon-ssm-agent" +SRC_URI="https://github.com/aws/amazon-ssm-agent/archive/${PV}.tar.gz -> ${P}.tar.gz" + LICENSE="Apache-2.0" -SRC_URI="https://${EGO_PN}/archive/${PV}.tar.gz -> ${P}.tar.gz ${EGO_VENDOR_URI}" SLOT="0" KEYWORDS="amd64 arm64" -S="${WORKDIR}/${PN}-${PV}/src/${EGO_PN}" - src_prepare() { default - ln -s ${PWD}/vendor/src/* ${PWD}/vendor/ + # Drop clearing of GOARCH and GOOS - it causes go run to + # create a binary for CBUILD, but then go run also invokes the + # binary using qemu-CHOST, because we use -exec flag when + # cross-compiling + sed -i -e 's/GOARCH= GOOS= go run/go run/' makefile || die } src_compile() { - go_export - - # set agent release version - BRAZIL_PACKAGE_VERSION=${PV} ${EGO} run ./agent/version/versiongenerator/version-gen.go # build all the tools if [[ "${ARCH}" == "arm64" ]]; then emake build-arm64 diff --git a/sdk_container/src/third_party/coreos-overlay/coreos/config/env/sys-apps/systemd b/sdk_container/src/third_party/coreos-overlay/coreos/config/env/sys-apps/systemd index fc7e86aa5cf..cbee5f0c78a 100644 --- a/sdk_container/src/third_party/coreos-overlay/coreos/config/env/sys-apps/systemd +++ b/sdk_container/src/third_party/coreos-overlay/coreos/config/env/sys-apps/systemd @@ -1,7 +1,4 @@ flatcar_systemd_meson_args_array=( - # Point to our user mailing list. - -Dsupport-url='https://groups.google.com/forum/#!forum/flatcar-linux-user' - # Use our ntp servers. -Dntp-servers="0.flatcar.pool.ntp.org 1.flatcar.pool.ntp.org 2.flatcar.pool.ntp.org 3.flatcar.pool.ntp.org" diff --git a/sdk_container/src/third_party/coreos-overlay/coreos/config/env/sys-fs/multipath-tools b/sdk_container/src/third_party/coreos-overlay/coreos/config/env/sys-fs/multipath-tools index 5b835efaa3e..db45af180c8 100644 --- a/sdk_container/src/third_party/coreos-overlay/coreos/config/env/sys-fs/multipath-tools +++ b/sdk_container/src/third_party/coreos-overlay/coreos/config/env/sys-fs/multipath-tools @@ -2,12 +2,12 @@ cros_post_src_install_add_dropin() { mkdir -p "${D}$(systemd_get_systemunitdir)/multipathd.service.d" cat <"${D}$(systemd_get_systemunitdir)/multipathd.service.d/flatcar.conf" [Service] -# Multipathd sets itself to sched_rr with highest priority. -# Cgroups2 doesn't support realtime processes outside the root cgroup, +# Set LimitRTPRIO to zero to tell multipathd to not even attempt +# enabling the real-time scheduling. We do this, because cgroups2 +# doesn't support real-time processes outside the root cgroup - # if any such process exists then cpu controller can't be enabled. -# This poses a bit of a dilemma. -# Block realtime control for the process, but give it highest non-rt priority. -RestrictRealtime=yes -Nice=-20 +# Upstream unit already sets CPUWeight to 1000 to have a sufficient +# priority in case of normal scheduling. +LimitRTPRIO=0 EOF } diff --git a/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/app-containers/cri-tools/0000-Do-not-explicitly-pass-GOFLAGS.patch b/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/app-containers/cri-tools/0000-Do-not-explicitly-pass-GOFLAGS.patch new file mode 100644 index 00000000000..ee54bd8e6d4 --- /dev/null +++ b/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/app-containers/cri-tools/0000-Do-not-explicitly-pass-GOFLAGS.patch @@ -0,0 +1,42 @@ +From ab81f8e0860e2c47283415afd1713188b22127ea Mon Sep 17 00:00:00 2001 +From: James Le Cuirot +Date: Mon, 13 Apr 2026 11:20:12 +0100 +Subject: [PATCH] Makefile: Don't explicitly pass GOFLAGS to go commands + +go automatically checks GOFLAGS and filters unknown flags for you, e.g. +it will drop the go run -exec flag when doing go build. Explicitly +passing GOFLAGS breaks this filtering. + +Signed-off-by: James Le Cuirot +--- + Makefile | 3 --- + 1 file changed, 3 deletions(-) + +diff --git a/Makefile b/Makefile +index 3576643c03..cf7eb37d0e 100644 +--- a/Makefile ++++ b/Makefile +@@ -100,7 +100,6 @@ critest: ## Build the critest binary. + $(CRITEST): + CGO_ENABLED=$(CGO_ENABLED) $(GO_TEST) -c -o $@ \ + -ldflags '$(GO_LDFLAGS)' \ +- $(GOFLAGS) \ + $(PROJECT)/cmd/critest + + .PHONY: crictl +@@ -110,7 +109,6 @@ crictl: ## Build the crictl binary. + $(CRICTL): + CGO_ENABLED=$(CGO_ENABLED) $(GO_BUILD) -o $@ \ + -ldflags '$(GO_LDFLAGS)' \ +- $(GOFLAGS) \ + $(PROJECT)/cmd/crictl + + .PHONY: clean +@@ -200,7 +198,6 @@ test-crictl: $(GINKGO) ## Run the crictl test suite. + # Run go test for templates_test.go and util_test.go + CGO_ENABLED=$(CGO_ENABLED) $(GO_TEST) \ + -ldflags '$(GO_LDFLAGS)' \ +- $(GOFLAGS) \ + $(PROJECT)/cmd/crictl + $(GINKGO) $(TESTFLAGS) \ + -r -p \ diff --git a/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/app-containers/cri-tools/README.md b/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/app-containers/cri-tools/README.md new file mode 100644 index 00000000000..246fc6f74a8 --- /dev/null +++ b/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/app-containers/cri-tools/README.md @@ -0,0 +1,4 @@ +`0000-Do-not-explicitly-pass-GOFLAGS.patch` patch is taken from +https://github.com/kubernetes-sigs/cri-tools/pull/2048/. Not currently +merged, so it needs to be checked if updating to cri-tools >1.35.0 +(current release at the time of writing this message). diff --git a/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-apps/systemd/0001-wait-online-set-any-by-default.patch b/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-apps/systemd/0001-wait-online-set-any-by-default.patch index 3625fda73fb..ec36e29014e 100644 --- a/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-apps/systemd/0001-wait-online-set-any-by-default.patch +++ b/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-apps/systemd/0001-wait-online-set-any-by-default.patch @@ -1,7 +1,7 @@ -From 6055d8b50c4a39d3e5f4fa0cf017a3b04786c5ba Mon Sep 17 00:00:00 2001 +From 3e713e019ab2e13e0d48bf30bab0ddaf3573458d Mon Sep 17 00:00:00 2001 From: David Michael Date: Tue, 16 Apr 2019 02:44:51 +0000 -Subject: [PATCH 01/20] wait-online: set --any by default +Subject: [PATCH 01/14] wait-online: set --any by default The systemd-networkd-wait-online command would normally continue waiting after a network interface is usable if other interfaces are diff --git a/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-apps/systemd/0002-needs-update-don-t-require-strictly-newer-usr.patch b/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-apps/systemd/0002-needs-update-don-t-require-strictly-newer-usr.patch index d785014aeaf..e0da71196bc 100644 --- a/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-apps/systemd/0002-needs-update-don-t-require-strictly-newer-usr.patch +++ b/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-apps/systemd/0002-needs-update-don-t-require-strictly-newer-usr.patch @@ -1,7 +1,7 @@ -From 5bff53a23228b10d93d342510f0ffd41185e3011 Mon Sep 17 00:00:00 2001 +From d34fa493e6d69b97633e329d55413a549da8239d Mon Sep 17 00:00:00 2001 From: Alex Crawford Date: Wed, 2 Mar 2016 10:46:33 -0800 -Subject: [PATCH 02/20] needs-update: don't require strictly newer usr +Subject: [PATCH 02/14] needs-update: don't require strictly newer usr Updates should be triggered whenever usr changes, not only when it is newer. --- @@ -23,7 +23,7 @@ index d9d78262a1..761bbdecca 100644 This requires that updates to /usr/ are always followed by an update of the modification time of diff --git a/src/shared/condition.c b/src/shared/condition.c -index b09eff1bfb..3a170b1820 100644 +index 15e3ee9840..381378e77a 100644 --- a/src/shared/condition.c +++ b/src/shared/condition.c @@ -817,7 +817,7 @@ static int condition_test_needs_update(Condition *c, char **env) { diff --git a/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-apps/systemd/0003-core-use-max-for-DefaultTasksMax.patch b/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-apps/systemd/0003-core-use-max-for-DefaultTasksMax.patch index 446428fbb6a..761b3420189 100644 --- a/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-apps/systemd/0003-core-use-max-for-DefaultTasksMax.patch +++ b/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-apps/systemd/0003-core-use-max-for-DefaultTasksMax.patch @@ -1,7 +1,7 @@ -From df56cf2ad0c6c84a22e9fca8893c610b82b78377 Mon Sep 17 00:00:00 2001 +From 2cc519ebec4f01f76bcdcde61259ba23a810ea30 Mon Sep 17 00:00:00 2001 From: Adrian Vladu Date: Fri, 16 Feb 2024 11:22:08 +0000 -Subject: [PATCH 03/20] core: use max for DefaultTasksMax +Subject: [PATCH 03/14] core: use max for DefaultTasksMax Since systemd v228, systemd has a DefaultTasksMax which defaulted to 512, later 15% of the system's maximum number of PIDs. This @@ -21,7 +21,7 @@ Signed-off-by: Adrian Vladu 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/man/systemd-system.conf.xml b/man/systemd-system.conf.xml -index cf5a3612f6..a0f9f8ba57 100644 +index b7fe53dc9c..175fe67139 100644 --- a/man/systemd-system.conf.xml +++ b/man/systemd-system.conf.xml @@ -227,7 +227,7 @@ @@ -34,10 +34,10 @@ index cf5a3612f6..a0f9f8ba57 100644 Kernel has a default value for kernel.pid_max= and an algorithm of counting in case of more than 32 cores. For example, with the default kernel.pid_max=, DefaultTasksMax= defaults to 4915, diff --git a/src/core/manager.c b/src/core/manager.c -index 20a535f2f4..be1c352045 100644 +index a5a51023c5..ef0ce9e31d 100644 --- a/src/core/manager.c +++ b/src/core/manager.c -@@ -112,7 +112,7 @@ +@@ -113,7 +113,7 @@ /* How many units and jobs to process of the bus queue before returning to the event loop. */ #define MANAGER_BUS_MESSAGE_BUDGET 100U diff --git a/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-apps/systemd/0004-systemd-Disable-SELinux-permissions-checks.patch b/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-apps/systemd/0004-systemd-Disable-SELinux-permissions-checks.patch index 0903e0e3b7f..9305b7cb6dd 100644 --- a/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-apps/systemd/0004-systemd-Disable-SELinux-permissions-checks.patch +++ b/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-apps/systemd/0004-systemd-Disable-SELinux-permissions-checks.patch @@ -1,7 +1,7 @@ -From 38ef166d85928d1f806bc48f3d29f45563d1abde Mon Sep 17 00:00:00 2001 +From a8c18ecc95e15af2d669649115826430698dcc5d Mon Sep 17 00:00:00 2001 From: Matthew Garrett Date: Tue, 20 Dec 2016 16:43:22 +0000 -Subject: [PATCH 04/20] systemd: Disable SELinux permissions checks +Subject: [PATCH 04/14] systemd: Disable SELinux permissions checks We don't care about the interaction between systemd and SELinux policy, so let's just disable these checks rather than having to incorporate policy @@ -12,7 +12,7 @@ to limit containers and not anything running directly on the host. 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/core/selinux-access.c b/src/core/selinux-access.c -index 8ccc31630d..34e9cebee8 100644 +index 7457b3d456..82afe343dd 100644 --- a/src/core/selinux-access.c +++ b/src/core/selinux-access.c @@ -2,7 +2,7 @@ @@ -22,8 +22,8 @@ index 8ccc31630d..34e9cebee8 100644 -#if HAVE_SELINUX +#if 0 - #include - #include + #include + -- 2.52.0 diff --git a/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-apps/systemd/0005-Revert-getty-Pass-tty-to-use-by-agetty-via-stdin.patch b/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-apps/systemd/0005-Revert-getty-Pass-tty-to-use-by-agetty-via-stdin.patch index 0517aea527c..cca7d146f9e 100644 --- a/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-apps/systemd/0005-Revert-getty-Pass-tty-to-use-by-agetty-via-stdin.patch +++ b/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-apps/systemd/0005-Revert-getty-Pass-tty-to-use-by-agetty-via-stdin.patch @@ -1,7 +1,7 @@ -From 4e071bef0713099cfe2540a5576744c0e5c41723 Mon Sep 17 00:00:00 2001 +From 33a603bb00fce6e4c3b4faf80157e8532932fb00 Mon Sep 17 00:00:00 2001 From: Sayan Chowdhury Date: Fri, 16 Dec 2022 16:28:26 +0530 -Subject: [PATCH 05/20] Revert "getty: Pass tty to use by agetty via stdin" +Subject: [PATCH 05/14] Revert "getty: Pass tty to use by agetty via stdin" This reverts commit b4bf9007cbee7dc0b1356897344ae2a7890df84c. @@ -17,17 +17,17 @@ Signed-off-by: Sayan Chowdhury 4 files changed, 12 insertions(+), 12 deletions(-) diff --git a/units/console-getty.service.in b/units/console-getty.service.in -index 967d8337ab..1f2d8b910f 100644 +index 278048724f..5731e68d8f 100644 --- a/units/console-getty.service.in +++ b/units/console-getty.service.in @@ -20,12 +20,12 @@ Before=getty.target ConditionPathExists=/dev/console [Service] --ExecStart=-/sbin/agetty --noreset --noclear --issue-file=/etc/issue:/etc/issue.d:/run/issue.d:/usr/lib/issue.d --keep-baud 115200,57600,38400,9600 - ${TERM} +-ExecStart=-{{AGETTY}} --noreset --noclear --issue-file=/etc/issue:/etc/issue.d:/run/issue.d:/usr/lib/issue.d --keep-baud 115200,57600,38400,9600 - ${TERM} +# The '-o' option value tells agetty to replace 'login' arguments with '--' for +# safety, and then the entered username. -+ExecStart=-/sbin/agetty -o '-- \\u' --noreset --noclear --keep-baud 115200,57600,38400,9600 console ${TERM} ++ExecStart=-{{AGETTY}} -o '-- \\u' --noreset --noclear --keep-baud 115200,57600,38400,9600 console ${TERM} Type=idle Restart=always UtmpIdentifier=cons @@ -37,17 +37,17 @@ index 967d8337ab..1f2d8b910f 100644 TTYReset=yes TTYVHangup=yes diff --git a/units/container-getty@.service.in b/units/container-getty@.service.in -index e0b27613df..5f27653d1f 100644 +index 18e5a98a7f..568fcd1e53 100644 --- a/units/container-getty@.service.in +++ b/units/container-getty@.service.in @@ -25,13 +25,13 @@ Conflicts=rescue.service Before=rescue.service [Service] --ExecStart=-/sbin/agetty --noreset --noclear --issue-file=/etc/issue:/etc/issue.d:/run/issue.d:/usr/lib/issue.d - ${TERM} +-ExecStart=-{{AGETTY}} --noreset --noclear --issue-file=/etc/issue:/etc/issue.d:/run/issue.d:/usr/lib/issue.d - ${TERM} +# The '-o' option value tells agetty to replace 'login' arguments with '--' for +# safety, and then the entered username. -+ExecStart=-/sbin/agetty -o '-- \\u' --noreset --noclear pts/%I ${TERM} ++ExecStart=-{{AGETTY}} -o '-- \\u' --noreset --noclear pts/%I ${TERM} Type=idle Restart=always RestartSec=0 @@ -58,17 +58,17 @@ index e0b27613df..5f27653d1f 100644 TTYReset=yes TTYVHangup=yes diff --git a/units/getty@.service.in b/units/getty@.service.in -index 104c4acc96..1819627d1c 100644 +index 15f1a572fd..a3285d956e 100644 --- a/units/getty@.service.in +++ b/units/getty@.service.in @@ -34,13 +34,13 @@ Before=rescue.service ConditionPathExists=/dev/tty0 [Service] --ExecStart=-/sbin/agetty --noreset --noclear --issue-file=/etc/issue:/etc/issue.d:/run/issue.d:/usr/lib/issue.d - ${TERM} +-ExecStart=-{{AGETTY}} --noreset --noclear --issue-file=/etc/issue:/etc/issue.d:/run/issue.d:/usr/lib/issue.d - ${TERM} +# The '-o' option value tells agetty to replace 'login' arguments with '--' for +# safety, and then the entered username. -+ExecStart=-/sbin/agetty -o '-- \\u' --noreset --noclear %I ${TERM} ++ExecStart=-{{AGETTY}} -o '-- \\u' --noreset --noclear %I ${TERM} Type=idle Restart=always RestartSec=0 @@ -79,17 +79,17 @@ index 104c4acc96..1819627d1c 100644 TTYReset=yes TTYVHangup=yes diff --git a/units/serial-getty@.service.in b/units/serial-getty@.service.in -index 0134c83d48..ba4cbc0edb 100644 +index 8b5a63d681..29ab8a0533 100644 --- a/units/serial-getty@.service.in +++ b/units/serial-getty@.service.in @@ -30,12 +30,12 @@ Conflicts=rescue.service Before=rescue.service [Service] --ExecStart=-/sbin/agetty --noreset --noclear --issue-file=/etc/issue:/etc/issue.d:/run/issue.d:/usr/lib/issue.d --keep-baud 115200,57600,38400,9600 - ${TERM} +-ExecStart=-{{AGETTY}} --noreset --noclear --issue-file=/etc/issue:/etc/issue.d:/run/issue.d:/usr/lib/issue.d --keep-baud 115200,57600,38400,9600 - ${TERM} +# The '-o' option value tells agetty to replace 'login' arguments with '--' for +# safety, and then the entered username. -+ExecStart=-/sbin/agetty -o '-- \\u' --noreset --noclear --keep-baud 115200,57600,38400,9600 %I ${TERM} ++ExecStart=-{{AGETTY}} -o '-- \\u' --noreset --noclear --keep-baud 115200,57600,38400,9600 %I ${TERM} Type=idle Restart=always UtmpIdentifier=%I diff --git a/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-apps/systemd/0006-units-Keep-using-old-journal-file-format.patch b/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-apps/systemd/0006-units-Keep-using-old-journal-file-format.patch index 38f780cec13..78d32f9809a 100644 --- a/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-apps/systemd/0006-units-Keep-using-old-journal-file-format.patch +++ b/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-apps/systemd/0006-units-Keep-using-old-journal-file-format.patch @@ -1,7 +1,7 @@ -From b097e139801009d722c33a9580bcda23a4a7a1e1 Mon Sep 17 00:00:00 2001 +From 6c83b73ac087aaa1f08551c064cbac119ad92490 Mon Sep 17 00:00:00 2001 From: Adrian Vladu Date: Fri, 16 Feb 2024 11:29:04 +0000 -Subject: [PATCH 06/20] units: Keep using old journal file format +Subject: [PATCH 06/14] units: Keep using old journal file format Systemd 252 made an incompatible change in journal file format. Temporarily force journald to use the old journal format to give logging containers more diff --git a/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-apps/systemd/0007-tmpfiles.d-Fix-DNS-issues-with-default-k8s-configura.patch b/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-apps/systemd/0007-tmpfiles.d-Fix-DNS-issues-with-default-k8s-configura.patch index 9925f0dfc67..fc74d75c891 100644 --- a/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-apps/systemd/0007-tmpfiles.d-Fix-DNS-issues-with-default-k8s-configura.patch +++ b/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-apps/systemd/0007-tmpfiles.d-Fix-DNS-issues-with-default-k8s-configura.patch @@ -1,7 +1,7 @@ -From 0ba9b9356861f8012c0e7794d9c61ebf21a9c6d7 Mon Sep 17 00:00:00 2001 +From 9d6db023c34d96b582e763da77c464629266f8e8 Mon Sep 17 00:00:00 2001 From: Krzesimir Nowak Date: Wed, 22 Oct 2025 10:39:42 +0200 -Subject: [PATCH 07/20] tmpfiles.d: Fix DNS issues with default k8s +Subject: [PATCH 07/14] tmpfiles.d: Fix DNS issues with default k8s configuration The Kubelet takes /etc/resolv.conf for, e.g., CoreDNS which has dnsPolicy diff --git a/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-apps/systemd/0008-units-Make-multi-user.target-the-default-target.patch b/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-apps/systemd/0008-units-Make-multi-user.target-the-default-target.patch index 418a015c0c7..f8dd4db402a 100644 --- a/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-apps/systemd/0008-units-Make-multi-user.target-the-default-target.patch +++ b/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-apps/systemd/0008-units-Make-multi-user.target-the-default-target.patch @@ -1,7 +1,7 @@ -From b3430348f5ae93251076fb4e3b4aecbfa02513b5 Mon Sep 17 00:00:00 2001 +From bbc8ff28a7f0208b6b1020d0d2ca900cdfb5a42f Mon Sep 17 00:00:00 2001 From: Krzesimir Nowak Date: Fri, 24 Oct 2025 11:06:57 +0200 -Subject: [PATCH 08/20] units: Make multi-user.target the default target +Subject: [PATCH 08/14] units: Make multi-user.target the default target Signed-off-by: Krzesimir Nowak --- @@ -9,7 +9,7 @@ Signed-off-by: Krzesimir Nowak 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/units/meson.build b/units/meson.build -index 4f47a3b2bd..63940a72be 100644 +index 12cf47d797..58de76dca9 100644 --- a/units/meson.build +++ b/units/meson.build @@ -47,10 +47,7 @@ units = [ @@ -33,9 +33,9 @@ index 4f47a3b2bd..63940a72be 100644 + 'file' : 'multi-user.target', + 'symlinks' : ['default.target'], + }, - { 'file' : 'network-online.target' }, - { 'file' : 'network-pre.target' }, - { 'file' : 'network.target' }, + { + 'file' : 'systemd-mute-console.socket', + 'symlinks' : ['sockets.target.wants/'] -- 2.52.0 diff --git a/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-apps/systemd/0010-discover-image-Follow-symlinks-in-a-given-root.patch b/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-apps/systemd/0009-discover-image-Follow-symlinks-in-a-given-root.patch similarity index 54% rename from sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-apps/systemd/0010-discover-image-Follow-symlinks-in-a-given-root.patch rename to sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-apps/systemd/0009-discover-image-Follow-symlinks-in-a-given-root.patch index 3aa92e1e6c3..c8fd99ba90d 100644 --- a/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-apps/systemd/0010-discover-image-Follow-symlinks-in-a-given-root.patch +++ b/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-apps/systemd/0009-discover-image-Follow-symlinks-in-a-given-root.patch @@ -1,7 +1,7 @@ -From 530ffcd9e3212e0c93002e752b682dd41a8889b1 Mon Sep 17 00:00:00 2001 +From b6e987ebcc0efd6ea5a68582fe194650ebc89636 Mon Sep 17 00:00:00 2001 From: Kai Lueke Date: Thu, 20 Nov 2025 23:43:55 +0900 -Subject: [PATCH 10/20] discover-image: Follow symlinks in a given root +Subject: [PATCH 09/14] discover-image: Follow symlinks in a given root So far systemd-sysext with --root= specified didn't follow extension symlinks (such as the "current" symlinks managed by systemd-sysupdate). @@ -21,23 +21,23 @@ Without a strict --image-policy= set we would anyway mount filesystems right away which is another attack vector but, again, the main use case is to do this for the final system which is trusted at this stage. --- - src/shared/discover-image.c | 162 +++++++++++++++++++++++++++--------- - 1 file changed, 122 insertions(+), 40 deletions(-) + src/shared/discover-image.c | 169 +++++++++++++++++++----------------- + 1 file changed, 90 insertions(+), 79 deletions(-) diff --git a/src/shared/discover-image.c b/src/shared/discover-image.c -index 888f11f206..53ee30c3f8 100644 +index 41fcaa9f44..6366316088 100644 --- a/src/shared/discover-image.c +++ b/src/shared/discover-image.c -@@ -356,6 +356,8 @@ static int image_make( +@@ -400,6 +400,8 @@ static int image_make( /* We explicitly *do* follow symlinks here, since we want to allow symlinking trees, raw files and block * devices into /var/lib/machines/, and treat them normally. + * Note that if the caller does not want to follow symlinks (and does not care about symlink races) -+ * then the caller should pass in a resolved dir_path and filename and an fd. ++ * then the caller should pass in a resolved path and an fd. * * This function returns -ENOENT if we can't find the image after all, and -EMEDIUMTYPE if it's not a file we * recognize. */ -@@ -700,10 +702,7 @@ int image_find(RuntimeScope scope, +@@ -736,10 +738,7 @@ int image_find(RuntimeScope scope, const char *root, Image **ret) { @@ -49,17 +49,15 @@ index 888f11f206..53ee30c3f8 100644 assert(scope < _RUNTIME_SCOPE_MAX && scope != RUNTIME_SCOPE_GLOBAL); assert(class >= 0); -@@ -718,16 +717,24 @@ int image_find(RuntimeScope scope, +@@ -754,32 +753,47 @@ int image_find(RuntimeScope scope, if (!names) return -ENOMEM; -+ _cleanup_close_ int root_fd = AT_FDCWD; ++ _cleanup_close_ int rfd = AT_FDCWD; + if (root) { -+ root_fd = open(root, O_CLOEXEC|O_DIRECTORY|O_PATH); -+ if (root_fd < 0) { -+ log_debug_errno(errno, "Failed to open root directory '%s': %m", root); -+ return -errno; -+ } ++ rfd = open(root, O_CLOEXEC|O_DIRECTORY|O_PATH); ++ if (rfd < 0) ++ return log_debug_errno(errno, "Failed to open root directory '%s': %m", root); + } + _cleanup_strv_free_ char **search = NULL; @@ -67,40 +65,47 @@ index 888f11f206..53ee30c3f8 100644 if (r < 0) return r; - STRV_FOREACH(path, search) { + STRV_FOREACH(s, search) { - _cleanup_free_ char *resolved = NULL; _cleanup_closedir_ DIR *d = NULL; ++ _cleanup_free_ char *search_path = NULL; -- r = chase_and_opendir(*path, root, CHASE_PREFIX_ROOT, &resolved, &d); -+ r = chase_and_opendir(*path, root, CHASE_PREFIX_ROOT, NULL, &d); +- r = chase_and_opendir(*s, root, CHASE_PREFIX_ROOT, &resolved, &d); ++ r = chase_and_opendirat(rfd, *s, CHASE_AT_RESOLVE_IN_ROOT, &search_path, &d); if (r == -ENOENT) continue; if (r < 0) -@@ -736,11 +743,20 @@ int image_find(RuntimeScope scope, + return r; + STRV_FOREACH(n, names) { - _cleanup_free_ char *fname_buf = NULL; +- _cleanup_free_ char *fname_buf = NULL; const char *fname = *n; -+ _cleanup_free_ char *fname_path = NULL; -+ _cleanup_free_ char *resolved_file = NULL; ++ _cleanup_free_ char *fname_path = NULL, *chased_path = NULL, *resolved_file = NULL; + _cleanup_close_ int fd = -EBADF; -+ _cleanup_close_ int subdirfd = -EBADF; - _cleanup_close_ int fd = openat(dirfd(d), fname, O_PATH|O_CLOEXEC|open_flags); -+ fname_path = path_join(*path, fname); -+ if (!fname_path) -+ return -ENOMEM; -+ -+ /* Follow symlinks only inside given root */ -+ fd = chase_and_open(fname_path, root, CHASE_PREFIX_ROOT, O_PATH|O_CLOEXEC, &resolved_file); - if (fd < 0) { +- if (fd < 0) { - if (errno != ENOENT) - return -errno; -+ if (fd != -ENOENT) -+ return fd; ++ fname_path = path_join(search_path, fname); ++ if (!fname_path) ++ return -ENOMEM; ++ /* Follow symlinks only inside given root */ ++ r = chaseat(rfd, fname_path, CHASE_AT_RESOLVE_IN_ROOT, &chased_path, &fd); ++ if (r == -ENOENT) continue; - } -@@ -769,10 +785,6 @@ int image_find(RuntimeScope scope, +- } ++ if (r < 0) ++ return r; ++ ++ r = chaseat_prefix_root(chased_path, root, &resolved_file); ++ if (r < 0) ++ return r; + + struct stat st; + if (fstat(fd, &st) < 0) +@@ -805,10 +819,6 @@ int image_find(RuntimeScope scope, *ASSERT_PTR(endswith(suffix, ".v")) = 0; @@ -111,81 +116,75 @@ index 888f11f206..53ee30c3f8 100644 PickFilter filter = { .type_mask = endswith(suffix, ".raw") ? (UINT32_C(1) << DT_REG) | (UINT32_C(1) << DT_BLK) : (UINT32_C(1) << DT_DIR), .basename = name, -@@ -782,23 +794,27 @@ int image_find(RuntimeScope scope, +@@ -818,48 +828,44 @@ int image_find(RuntimeScope scope, _cleanup_(pick_result_done) PickResult result = PICK_RESULT_NULL; r = path_pick(root, - /* toplevel_fd= */ AT_FDCWD, - vp, -+ root_fd, -+ fname_path, ++ rfd, ++ fname_path, /* This has to be the unresolved entry with the .v suffix */ &filter, + /* n_filters= */ 1, - PICK_ARCHITECTURE|PICK_TRIES, + PICK_ARCHITECTURE|PICK_TRIES|PICK_RESOLVE, &result); if (r < 0) { - log_debug_errno(r, "Failed to pick versioned image on '%s', skipping: %m", vp); -+ log_debug_errno(r, "Failed to pick versioned image on '%s/%s', skipping: %m", strempty(root), skip_leading_slash(fname_path)); ++ log_debug_errno(r, "Failed to pick versioned image on '%s%s', skipping: %m", empty_to_root(root), skip_leading_slash(fname_path)); continue; } if (!result.path) { -- log_debug("Found versioned directory '%s', without matching entry, skipping: %m", vp); -+ log_debug("Found versioned directory '%s/%s', without matching entry, skipping.", strempty(root), skip_leading_slash(fname_path)); +- log_debug("Found versioned directory '%s', without matching entry, skipping.", vp); ++ log_debug("Found versioned directory '%s%s', without matching entry, skipping.", empty_to_root(root), skip_leading_slash(fname_path)); continue; } /* Refresh the stat data for the discovered target */ st = result.st; -- fd = safe_close(fd); -+ /* Set subdirfd to indicate it should be used instead of dirfd(d). -+ * We reuse the O_PATH fd because it's only used in openat style in image_make(). -+ * This subdirfd can be deleted with https://github.com/systemd/systemd/pull/39970 */ -+ subdirfd = TAKE_FD(fd); -+ close_and_replace(fd, result.fd); - - _cleanup_free_ char *bn = NULL; - r = path_extract_filename(result.path, &bn); -@@ -812,13 +828,38 @@ int image_find(RuntimeScope scope, - return log_oom(); - - fname = fname_buf; -+ fname_path = mfree(fname_path); -+ fname_path = path_join(*path, fname); -+ if (!fname_path) -+ return log_oom(); - -+ resolved_file = mfree(resolved_file); + close_and_replace(fd, result.fd); ++ free(resolved_file); + resolved_file = path_join(root, result.path); + if (!resolved_file) -+ return log_oom(); ++ return -ENOMEM; + +- _cleanup_free_ char *bn = NULL; +- r = path_extract_filename(result.path, &bn); +- if (r < 0) { +- log_debug_errno(r, "Failed to extract basename of image path '%s', skipping: %m", result.path); +- continue; +- } +- +- fname_buf = path_join(fname, bn); +- if (!fname_buf) +- return log_oom(); +- +- fname = fname_buf; +- ++ /* fname and fname_path are invalid now because they would need to be set ++ * from result.path by extracting the filename to set ++ * fname = path_join(fname, filename) and then ++ * fname_path = path_join(*s, fname) but since they are unused we don't do it */ ++ fname = NULL; ++ fname_path = mfree(fname_path); } else if (!S_ISDIR(st.st_mode) && !S_ISBLK(st.st_mode)) { log_debug("Ignoring non-directory and non-block device file '%s' without suffix.", fname); continue; } -- r = image_make(class, name, dirfd(d), resolved, fname, fd, &st, ret); -+ /* Only put resolved paths into the image entry. -+ * Defending against symlink races is out of scope -+ * and we trust a given root in that regard. */ -+ _cleanup_free_ char *resolved_dir = NULL; -+ _cleanup_free_ char *resolved_fname = NULL; -+ -+ r = path_extract_directory(resolved_file, &resolved_dir); -+ if (r < 0) { -+ log_debug_errno(r, "Failed to extract directory name of image path '%s', skipping: %m", resolved_file); -+ continue; -+ } -+ r = path_extract_filename(resolved_file, &resolved_fname); -+ if (r < 0) { -+ log_debug_errno(r, "Failed to extract basename of image path '%s', skipping: %m", resolved_file); -+ continue; -+ } -+ -+ r = image_make(class, name, subdirfd == -EBADF ? dirfd(d) : subdirfd, resolved_dir, resolved_fname, fd, &st, ret); +- _cleanup_free_ char *path = path_join(resolved, fname); +- if (!path) +- return -ENOMEM; +- +- r = image_make(class, name, fd, path, &st, ret); ++ /* Only put resolved paths into the image entry (incl. --root=). ++ * Defending against symlink races is not done ++ * and would be a TODO. */ ++ r = image_make(class, name, fd, resolved_file, &st, ret); if (IN_SET(r, -ENOENT, -EMEDIUMTYPE)) continue; if (r < 0) -@@ -899,26 +940,31 @@ int image_discover( +@@ -940,46 +946,58 @@ int image_discover( const char *root, Hashmap **images) { @@ -200,13 +199,11 @@ index 888f11f206..53ee30c3f8 100644 assert(class < _IMAGE_CLASS_MAX); assert(images); -+ _cleanup_close_ int root_fd = AT_FDCWD; ++ _cleanup_close_ int rfd = AT_FDCWD; + if (root) { -+ root_fd = open(root, O_CLOEXEC|O_DIRECTORY|O_PATH); -+ if (root_fd < 0) { -+ log_debug_errno(errno, "Failed to open root directory '%s': %m", root); -+ return -errno; -+ } ++ rfd = open(root, O_CLOEXEC|O_DIRECTORY|O_PATH); ++ if (rfd < 0) ++ return log_debug_errno(errno, "Failed to open root directory '%s': %m", root); + } + _cleanup_strv_free_ char **search = NULL; @@ -214,43 +211,52 @@ index 888f11f206..53ee30c3f8 100644 if (r < 0) return r; - STRV_FOREACH(path, search) { + STRV_FOREACH(s, search) { - _cleanup_free_ char *resolved = NULL; _cleanup_closedir_ DIR *d = NULL; ++ _cleanup_free_ char *search_path = NULL; -- r = chase_and_opendir(*path, root, CHASE_PREFIX_ROOT, &resolved, &d); -+ r = chase_and_opendir(*path, root, CHASE_PREFIX_ROOT, NULL, &d); +- r = chase_and_opendir(*s, root, CHASE_PREFIX_ROOT, &resolved, &d); ++ r = chase_and_opendirat(rfd, *s, CHASE_AT_RESOLVE_IN_ROOT, &search_path, &d); if (r == -ENOENT) continue; if (r < 0) -@@ -928,14 +974,23 @@ int image_discover( - _cleanup_free_ char *pretty = NULL, *fname_buf = NULL; + return r; + + FOREACH_DIRENT_ALL(de, d, return -errno) { +- _cleanup_free_ char *pretty = NULL, *fname_buf = NULL; ++ _cleanup_free_ char *pretty = NULL, *fname_path = NULL, *chased_path = NULL, *resolved_file = NULL; _cleanup_(image_unrefp) Image *image = NULL; const char *fname = de->d_name; -+ _cleanup_free_ char *fname_path = NULL; -+ _cleanup_free_ char *resolved_file = NULL; + _cleanup_close_ int fd = -EBADF; -+ _cleanup_close_ int subdirfd = -EBADF; if (dot_or_dot_dot(fname)) continue; - _cleanup_close_ int fd = openat(dirfd(d), fname, O_PATH|O_CLOEXEC|open_flags); -+ fname_path = path_join(*path, fname); +- if (fd < 0) { +- if (errno != ENOENT) +- return -errno; ++ fname_path = path_join(search_path, fname); + if (!fname_path) + return -ENOMEM; -+ + +- continue; /* Vanished while we were looking at it */ +- } + /* Follow symlinks only inside given root */ -+ fd = chase_and_open(fname_path, root, CHASE_PREFIX_ROOT, O_PATH|O_CLOEXEC, &resolved_file); - if (fd < 0) { -- if (errno != ENOENT) -- return -errno; -+ if (fd != -ENOENT) -+ return fd; ++ r = chaseat(rfd, fname_path, CHASE_AT_RESOLVE_IN_ROOT, &chased_path, &fd); ++ if (r == -ENOENT) ++ continue; ++ if (r < 0) ++ return r; ++ ++ r = chaseat_prefix_root(chased_path, root, &resolved_file); ++ if (r < 0) ++ return r; - continue; /* Vanished while we were looking at it */ - } -@@ -977,10 +1032,6 @@ int image_discover( + struct stat st; + if (fstat(fd, &st) < 0) +@@ -1018,10 +1036,6 @@ int image_discover( continue; } @@ -261,80 +267,74 @@ index 888f11f206..53ee30c3f8 100644 PickFilter filter = { .type_mask = endswith(suffix, ".raw") ? (UINT32_C(1) << DT_REG) | (UINT32_C(1) << DT_BLK) : (UINT32_C(1) << DT_DIR), .basename = pretty, -@@ -990,23 +1041,27 @@ int image_discover( +@@ -1031,38 +1045,36 @@ int image_discover( _cleanup_(pick_result_done) PickResult result = PICK_RESULT_NULL; r = path_pick(root, - /* toplevel_fd= */ AT_FDCWD, - vp, -+ root_fd, -+ fname_path, ++ rfd, ++ fname_path, /* This has to be the unresolved entry with the .v suffix */ &filter, + /* n_filters= */ 1, - PICK_ARCHITECTURE|PICK_TRIES, + PICK_ARCHITECTURE|PICK_TRIES|PICK_RESOLVE, &result); if (r < 0) { - log_debug_errno(r, "Failed to pick versioned image on '%s', skipping: %m", vp); -+ log_debug_errno(r, "Failed to pick versioned image on '%s/%s', skipping: %m", strempty(root), skip_leading_slash(fname_path)); ++ log_debug_errno(r, "Failed to pick versioned image on '%s%s', skipping: %m", empty_to_root(root), skip_leading_slash(fname_path)); continue; } if (!result.path) { -- log_debug("Found versioned directory '%s', without matching entry, skipping: %m", vp); -+ log_debug("Found versioned directory '%s/%s', without matching entry, skipping.", strempty(root), skip_leading_slash(fname_path)); +- log_debug("Found versioned directory '%s', without matching entry, skipping.", vp); ++ log_debug("Found versioned directory '%s%s', without matching entry, skipping.", empty_to_root(root), skip_leading_slash(fname_path)); continue; } /* Refresh the stat data for the discovered target */ st = result.st; -- fd = safe_close(fd); -+ /* Set subdirfd to indicate it should be used instead of dirfd(d). -+ * We reuse the O_PATH fd because it's only used in openat style in image_make(). -+ * This subdirfd can be deleted with https://github.com/systemd/systemd/pull/39970 */ -+ subdirfd = TAKE_FD(fd); -+ close_and_replace(fd, result.fd); - - _cleanup_free_ char *bn = NULL; - r = path_extract_filename(result.path, &bn); -@@ -1020,6 +1075,15 @@ int image_discover( - return log_oom(); - - fname = fname_buf; -+ fname_path = mfree(fname_path); -+ fname_path = path_join(*path, fname); -+ if (!fname_path) -+ return log_oom(); -+ -+ resolved_file = mfree(resolved_file); + close_and_replace(fd, result.fd); ++ free(resolved_file); + resolved_file = path_join(root, result.path); + if (!resolved_file) -+ return log_oom(); ++ return -ENOMEM; + +- _cleanup_free_ char *bn = NULL; +- r = path_extract_filename(result.path, &bn); +- if (r < 0) { +- log_debug_errno(r, "Failed to extract basename of image path '%s', skipping: %m", result.path); +- continue; +- } +- +- fname_buf = path_join(fname, bn); +- if (!fname_buf) +- return log_oom(); +- +- fname = fname_buf; +- ++ /* fname and fname_path are invalid now because they would need to ++ * be set from result.path by extracting the filename to set ++ * fname = path_join(fname, filename) and then ++ * fname_path = path_join(*s, fname) but since they are unused we ++ * don't do it */ ++ fname = NULL; ++ fname_path = mfree(fname_path); } else { r = extract_image_basename( fname, -@@ -1052,7 +1116,25 @@ int image_discover( +@@ -1095,11 +1107,10 @@ int image_discover( if (hashmap_contains(*images, pretty)) continue; -- r = image_make(class, pretty, dirfd(d), resolved, fname, fd, &st, &image); +- _cleanup_free_ char *path = path_join(resolved, fname); +- if (!path) +- return -ENOMEM; +- +- r = image_make(class, pretty, fd, path, &st, &image); + /* Only put resolved paths into the image entry. -+ * Defending against symlink races is out of scope -+ * and we trust a given root in that regard. */ -+ _cleanup_free_ char *resolved_dir = NULL; -+ _cleanup_free_ char *resolved_fname = NULL; -+ -+ r = path_extract_directory(resolved_file, &resolved_dir); -+ if (r < 0) { -+ log_debug_errno(r, "Failed to extract directory name of image path '%s', skipping: %m", resolved_file); -+ continue; -+ } -+ r = path_extract_filename(resolved_file, &resolved_fname); -+ if (r < 0) { -+ log_debug_errno(r, "Failed to extract basename of image path '%s', skipping: %m", resolved_file); -+ continue; -+ } -+ -+ r = image_make(class, pretty, subdirfd == -EBADF ? dirfd(d) : subdirfd, resolved_dir, resolved_fname, fd, &st, &image); -+ ++ * Defending against symlink races is not done ++ * and would be a TODO. */ ++ r = image_make(class, pretty, fd, resolved_file, &st, &image); if (IN_SET(r, -ENOENT, -EMEDIUMTYPE)) continue; if (r < 0) diff --git a/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-apps/systemd/0009-vpick-Don-t-use-openat-directly-but-resolve-symlinks.patch b/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-apps/systemd/0009-vpick-Don-t-use-openat-directly-but-resolve-symlinks.patch deleted file mode 100644 index cd41955840f..00000000000 --- a/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-apps/systemd/0009-vpick-Don-t-use-openat-directly-but-resolve-symlinks.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 42b6a55f8d2bdf68ff93764219b3bedffb11f4e0 Mon Sep 17 00:00:00 2001 -From: Kai Lueke -Date: Thu, 20 Nov 2025 23:43:55 +0900 -Subject: [PATCH 09/20] vpick: Don't use openat directly but resolve symlinks - in given root - -With systemd-sysext --root= all symlinks should be followed relative to -the given root and direct openat usage doesn't work. -Change the openat call to use the chase helper function to resolve the -symlink in the given root. ---- - src/shared/vpick.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/src/shared/vpick.c b/src/shared/vpick.c -index 07d9d9ffd8..b203609cc9 100644 ---- a/src/shared/vpick.c -+++ b/src/shared/vpick.c -@@ -471,9 +471,9 @@ static int make_choice( - if (!p) - return log_oom_debug(); - -- object_fd = openat(dir_fd, best_filename, O_CLOEXEC|O_PATH); -+ object_fd = chase_and_openat(toplevel_fd, p, CHASE_AT_RESOLVE_IN_ROOT, O_PATH|O_CLOEXEC, NULL); - if (object_fd < 0) -- return log_debug_errno(errno, "Failed to open '%s/%s': %m", -+ return log_debug_errno(object_fd, "Failed to open '%s/%s': %m", - empty_to_root(toplevel_path), skip_leading_slash(inode_path)); - - return pin_choice( --- -2.52.0 - diff --git a/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-apps/systemd/0011-sysext-Use-correct-image-name-for-extension-release-.patch b/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-apps/systemd/0010-sysext-Use-correct-image-name-for-extension-release-.patch similarity index 85% rename from sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-apps/systemd/0011-sysext-Use-correct-image-name-for-extension-release-.patch rename to sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-apps/systemd/0010-sysext-Use-correct-image-name-for-extension-release-.patch index 01379577a90..ea2de4c6d2f 100644 --- a/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-apps/systemd/0011-sysext-Use-correct-image-name-for-extension-release-.patch +++ b/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-apps/systemd/0010-sysext-Use-correct-image-name-for-extension-release-.patch @@ -1,7 +1,7 @@ -From 6a95919888a99d92636e0aa28c68d0f95f16e48e Mon Sep 17 00:00:00 2001 +From 3a1d8cb52278fb7926d7666385d9b7ef120508d6 Mon Sep 17 00:00:00 2001 From: Kai Lueke Date: Thu, 20 Nov 2025 23:43:55 +0900 -Subject: [PATCH 11/20] sysext: Use correct image name for extension release +Subject: [PATCH 10/14] sysext: Use correct image name for extension release checks For the extension release check the image name is needed and was derived @@ -21,10 +21,10 @@ device but directly the extension name we have at hand. 2 files changed, 10 insertions(+) diff --git a/src/shared/discover-image.c b/src/shared/discover-image.c -index 53ee30c3f8..2801793d6d 100644 +index 6366316088..34512ea6da 100644 --- a/src/shared/discover-image.c +++ b/src/shared/discover-image.c -@@ -1844,6 +1844,11 @@ int image_read_metadata(Image *i, const ImagePolicy *image_policy) { +@@ -2172,6 +2172,11 @@ int image_read_metadata(Image *i, const ImagePolicy *image_policy, RuntimeScope if (r < 0) return log_debug_errno(r, "Failed to decrypt image '%s': %m", i->path); @@ -37,10 +37,10 @@ index 53ee30c3f8..2801793d6d 100644 m, /* userns_fd= */ -EBADF, diff --git a/src/sysext/sysext.c b/src/sysext/sysext.c -index 5d432b42da..72da02cd89 100644 +index 2f6bee58c4..cb0a3046e1 100644 --- a/src/sysext/sysext.c +++ b/src/sysext/sysext.c -@@ -1819,6 +1819,11 @@ static int merge_subprocess( +@@ -1885,6 +1885,11 @@ static int merge_subprocess( if (r < 0) return r; diff --git a/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-apps/systemd/0011-sysext-Create-mutable-directory-with-the-right-mode.patch b/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-apps/systemd/0011-sysext-Create-mutable-directory-with-the-right-mode.patch new file mode 100644 index 00000000000..8f5d22b7b18 --- /dev/null +++ b/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-apps/systemd/0011-sysext-Create-mutable-directory-with-the-right-mode.patch @@ -0,0 +1,67 @@ +From 0d5830bf407c218b898c7fec6153fc6ae4da645f Mon Sep 17 00:00:00 2001 +From: Kai Lueke +Date: Wed, 3 Dec 2025 00:02:32 +0900 +Subject: [PATCH 11/14] sysext: Create mutable directory with the right mode + +When the mutable directory didn't exist but gets created with +--mutable=yes then it used to get mode 700 and later it got patched by +a chmod because it is the top layer and must match the target hierarchy. +This meant one could not call the function to resolve the mutable +directory twice before the mount because it has a check for a proper +mode when the directory exists which is the case for the second call. +Also, this resulted in /var/lib/extensions.mutable getting created with +mode 700 which is not really required. + +Don't rely on the chmod for the upper dir but directly create the +directory with the right mode by first creating all missing directories +with 755 as a sane default and then changing the mode as needed for the +mutable directory. +--- + src/sysext/sysext.c | 26 ++++++++++++++------------ + 1 file changed, 14 insertions(+), 12 deletions(-) + +diff --git a/src/sysext/sysext.c b/src/sysext/sysext.c +index cb0a3046e1..b926ce4c83 100644 +--- a/src/sysext/sysext.c ++++ b/src/sysext/sysext.c +@@ -1011,23 +1011,25 @@ static int resolve_mutable_directory( + } + + if (IN_SET(arg_mutable, MUTABLE_YES, MUTABLE_EPHEMERAL, MUTABLE_EPHEMERAL_IMPORT)) { +- _cleanup_free_ char *path_in_root = NULL; ++ _cleanup_close_ int path_fd = -EBADF, chmod_fd = -EBADF; + +- path_in_root = path_join(root, path); +- if (!path_in_root) +- return log_oom(); +- +- r = mkdir_p(path_in_root, 0700); ++ /* This also creates, e.g., /var/lib/extensions.mutable/usr if needed and all parent ++ * directories plus it also works when the last part is a symlink to the real /usr but we ++ * can't use chase_and_open here because it does not behave the same. */ ++ r = chase(path, root, CHASE_AT_RESOLVE_IN_ROOT|CHASE_MKDIR_0755|CHASE_MUST_BE_DIRECTORY|CHASE_PREFIX_ROOT, /* ret_path */ NULL, &path_fd); + if (r < 0) +- return log_error_errno(r, "Failed to create a directory '%s': %m", path_in_root); ++ return log_error_errno(r, "Failed to chase/create base directory '%s/%s': %m", strempty(root), skip_leading_slash(path)); ++ ++ chmod_fd = fd_reopen(path_fd, O_CLOEXEC|O_DIRECTORY); ++ if (chmod_fd < 0) ++ return log_error_errno(chmod_fd, "Failed to reopen '%s/%s': %m", strempty(root), skip_leading_slash(path)); + +- _cleanup_close_ int atfd = open(path_in_root, O_DIRECTORY|O_CLOEXEC); +- if (atfd < 0) +- return log_error_errno(errno, "Failed to open directory '%s': %m", path_in_root); ++ if (fchmod(chmod_fd, hierarchy_mode) < 0) ++ return log_error_errno(errno, "Failed to chmod directory '%s/%s': %m", strempty(root), skip_leading_slash(path)); + +- r = mac_selinux_fix_full(atfd, /* inode_path= */ NULL, hierarchy, /* flags= */ 0); ++ r = mac_selinux_fix_full(chmod_fd, /* inode_path= */ NULL, hierarchy, /* flags= */ 0); + if (r < 0) +- return log_error_errno(r, "Failed to fix SELinux label for '%s': %m", path_in_root); ++ return log_error_errno(r, "Failed to fix SELinux label for '%s/%s': %m", strempty(root), skip_leading_slash(path)); + } + + r = chase(path, root, CHASE_PREFIX_ROOT, &resolved_path, NULL); +-- +2.52.0 + diff --git a/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-apps/systemd/0014-sysext-Skip-refresh-if-no-changes-are-found.patch b/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-apps/systemd/0012-sysext-Skip-refresh-if-no-changes-are-found.patch similarity index 76% rename from sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-apps/systemd/0014-sysext-Skip-refresh-if-no-changes-are-found.patch rename to sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-apps/systemd/0012-sysext-Skip-refresh-if-no-changes-are-found.patch index ca3f2773101..4e7acc6144f 100644 --- a/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-apps/systemd/0014-sysext-Skip-refresh-if-no-changes-are-found.patch +++ b/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-apps/systemd/0012-sysext-Skip-refresh-if-no-changes-are-found.patch @@ -1,7 +1,7 @@ -From d8ccdfe333a2eda7770371112cf5dea0ae67598c Mon Sep 17 00:00:00 2001 +From 404b72c801f4b95e74b655f0771f08f63473d28a Mon Sep 17 00:00:00 2001 From: Kai Lueke Date: Wed, 26 Nov 2025 00:04:43 +0900 -Subject: [PATCH 14/20] sysext: Skip refresh if no changes are found +Subject: [PATCH 12/14] sysext: Skip refresh if no changes are found When the extensions for the final system are already set up from the initrd we should avoid disrupting the boot process with the remount @@ -34,42 +34,38 @@ Luckily, we can rule out online modification of directories or image files because this is anyway not well supported with overlay mounts, so we don't do a file checksum nor do we recurse into a directory to look for the most recently touched files. But, as said, with the -always-refresh flag one can force a reload. Another case that is not -supported is changed values of SYSTEMD_SYSEXT_OVERLAYFS_MOUNT_OPTIONS= -and these also need an explicit refresh to be applied. +always-refresh flag one can force a reload. --- - man/systemd-sysext.xml | 14 ++ + man/systemd-sysext.xml | 13 ++ shell-completion/bash/systemd-sysext | 1 + - src/basic/mountpoint-util.c | 98 ++++++++- - src/basic/mountpoint-util.h | 4 +- + src/basic/mountpoint-util.c | 110 ++++++++- + src/basic/mountpoint-util.h | 5 +- src/include/override/fcntl.h | 5 + - src/shared/discover-image.c | 54 +++++ + src/shared/discover-image.c | 48 ++++ src/shared/discover-image.h | 4 + src/shared/varlink-io.systemd.sysext.c | 1 + - src/sysext/sysext.c | 271 ++++++++++++++++++++++--- - test/units/TEST-50-DISSECT.sysext.sh | 41 ++++ - 10 files changed, 458 insertions(+), 35 deletions(-) + src/sysext/sysext.c | 301 ++++++++++++++++++++++--- + 9 files changed, 450 insertions(+), 38 deletions(-) diff --git a/man/systemd-sysext.xml b/man/systemd-sysext.xml -index 07e97071a5..3f60c85dba 100644 +index b5ab6826a2..d6bbc0141d 100644 --- a/man/systemd-sysext.xml +++ b/man/systemd-sysext.xml -@@ -366,6 +366,20 @@ +@@ -371,6 +371,19 @@ + + + -+ When refreshing system extensions on /usr/ and -+ /opt/ for sysext and /etc/ for confext, -+ ignore when the existing merged extensions already match what would be merged. -+ By default the refresh is skipped when no changes are found. Note that changes -+ done to an extension directory while it's merged are ignored without this flag -+ (unless an other extension got changed). Note that changing the contents while -+ merged is also undefined behavior in overlayfs. ++ When refreshing system extensions on /usr/ and /opt/ ++ for sysext and /etc/ for confext, ignore when the existing merged extensions ++ already match what would be merged. ++ By default the refresh is skipped when no changes are found. Note that changes done to an extension ++ directory while it's merged are ignored without this flag (unless an other extension got changed). ++ Note that changing the contents while merged is also undefined behavior in overlayfs. + -+ ++ + + @@ -88,10 +84,10 @@ index c605237ed6..69d786c33e 100644 --mutable' ) diff --git a/src/basic/mountpoint-util.c b/src/basic/mountpoint-util.c -index b7c4870931..0d52d4cfea 100644 +index b7c4870931..aefbed6346 100644 --- a/src/basic/mountpoint-util.c +++ b/src/basic/mountpoint-util.c -@@ -51,12 +51,16 @@ int name_to_handle_at_loop( +@@ -51,12 +51,13 @@ int name_to_handle_at_loop( const char *path, struct file_handle **ret_handle, int *ret_mnt_id, @@ -103,13 +99,10 @@ index b7c4870931..0d52d4cfea 100644 assert(fd >= 0 || fd == AT_FDCWD); - assert((flags & ~(AT_SYMLINK_FOLLOW|AT_EMPTY_PATH|AT_HANDLE_FID)) == 0); + assert((flags & ~(AT_SYMLINK_FOLLOW|AT_EMPTY_PATH|AT_HANDLE_FID|AT_HANDLE_MNT_ID_UNIQUE)) == 0); -+ -+ if (isempty(path)) -+ flags |= AT_EMPTY_PATH; /* We need to invoke name_to_handle_at() in a loop, given that it might return EOVERFLOW when the specified * buffer is too small. Note that in contrast to what the docs might suggest, MAX_HANDLE_SZ is only good as a -@@ -67,7 +71,8 @@ int name_to_handle_at_loop( +@@ -67,7 +68,8 @@ int name_to_handle_at_loop( for (;;) { _cleanup_free_ struct file_handle *h = NULL; @@ -119,30 +112,27 @@ index b7c4870931..0d52d4cfea 100644 h = malloc0(offsetof(struct file_handle, f_handle) + n); if (!h) -@@ -75,12 +80,20 @@ int name_to_handle_at_loop( +@@ -75,11 +77,18 @@ int name_to_handle_at_loop( h->handle_bytes = n; - if (name_to_handle_at(fd, strempty(path), h, &mnt_id, flags) >= 0) { -+ if (flags & AT_HANDLE_MNT_ID_UNIQUE) ++ if (FLAGS_SET(flags, AT_HANDLE_MNT_ID_UNIQUE)) + /* The kernel will still use this as uint64_t pointer */ + r = name_to_handle_at(fd, strempty(path), h, (int *) &unique_mnt_id, flags); + else + r = name_to_handle_at(fd, strempty(path), h, &mnt_id, flags); -+ + if (r >= 0) { if (ret_handle) *ret_handle = TAKE_PTR(h); -- if (ret_mnt_id) -+ if (ret_unique_mnt_id && flags & AT_HANDLE_MNT_ID_UNIQUE) ++ if (ret_unique_mnt_id) + *ret_unique_mnt_id = unique_mnt_id; -+ if (ret_mnt_id && (flags & AT_HANDLE_MNT_ID_UNIQUE) == 0) + if (ret_mnt_id) *ret_mnt_id = mnt_id; - return 0; -@@ -88,13 +101,16 @@ int name_to_handle_at_loop( +@@ -88,13 +97,16 @@ int name_to_handle_at_loop( if (errno != EOVERFLOW) return -errno; @@ -154,24 +144,24 @@ index b7c4870931..0d52d4cfea 100644 * be filled in, and the caller was interested in only the mount ID an nothing else. */ - *ret_mnt_id = mnt_id; -+ if (ret_unique_mnt_id && flags & AT_HANDLE_MNT_ID_UNIQUE) ++ if (ret_unique_mnt_id) + *ret_unique_mnt_id = unique_mnt_id; -+ else if (ret_mnt_id) ++ if (ret_mnt_id) + *ret_mnt_id = mnt_id; return 0; } -@@ -128,11 +144,52 @@ int name_to_handle_at_try_fid( +@@ -128,11 +140,55 @@ int name_to_handle_at_try_fid( * we'll try without the flag, in order to support older kernels that didn't have AT_HANDLE_FID * (i.e. older than Linux 6.5). */ - r = name_to_handle_at_loop(fd, path, ret_handle, ret_mnt_id, flags | AT_HANDLE_FID); -+ r = name_to_handle_at_loop(fd, path, ret_handle, ret_mnt_id, NULL, flags | AT_HANDLE_FID); ++ r = name_to_handle_at_loop(fd, path, ret_handle, ret_mnt_id, /* ret_unique_mnt_id= */ NULL, flags | AT_HANDLE_FID); if (r >= 0 || is_name_to_handle_at_fatal_error(r)) return r; - return name_to_handle_at_loop(fd, path, ret_handle, ret_mnt_id, flags & ~AT_HANDLE_FID); -+ return name_to_handle_at_loop(fd, path, ret_handle, ret_mnt_id, NULL, flags & ~AT_HANDLE_FID); ++ return name_to_handle_at_loop(fd, path, ret_handle, ret_mnt_id, /* ret_unique_mnt_id= */ NULL, flags & ~AT_HANDLE_FID); +} + +int name_to_handle_at_try_unique_mntid_fid( @@ -188,7 +178,7 @@ index b7c4870931..0d52d4cfea 100644 + /* First issues name_to_handle_at() with AT_HANDLE_MNT_ID_UNIQUE and AT_HANDLE_FID. + * If this fails and this is not a fatal error we'll try without the + * AT_HANDLE_MNT_ID_UNIQUE flag because it's only available from Linux 6.12 onwards. */ -+ r = name_to_handle_at_loop(fd, path, ret_handle, NULL, ret_mnt_id, flags | AT_HANDLE_MNT_ID_UNIQUE | AT_HANDLE_FID); ++ r = name_to_handle_at_loop(fd, path, ret_handle, /* ret_mnt_id= */ NULL, ret_mnt_id, flags | AT_HANDLE_MNT_ID_UNIQUE | AT_HANDLE_FID); + if (r >= 0 || is_name_to_handle_at_fatal_error(r)) + return r; + @@ -198,25 +188,51 @@ index b7c4870931..0d52d4cfea 100644 + * we'll try without the flag, in order to support older kernels that didn't have AT_HANDLE_FID + * (i.e. older than Linux 6.5). */ + -+ r = name_to_handle_at_loop(fd, path, ret_handle, &mnt_id, NULL, flags | AT_HANDLE_FID); -+ if (ret_mnt_id && mnt_id >= 0) { -+ /* See if we can do better because statx can do unique mount IDs since Linux 6.8 -+ * and only if this doesn't work we use the non-unique mnt_id as returned. -+ * The function only sets mnt_id after checking the error code, so omitted above. */ -+ if (path_get_unique_mnt_id_at(fd, path, ret_mnt_id) < 0) -+ *ret_mnt_id = mnt_id; -+ } -+ if (r >= 0 || is_name_to_handle_at_fatal_error(r)) ++ r = name_to_handle_at_loop(fd, path, ret_handle, &mnt_id, /* ret_unique_mnt_id= */ NULL, flags | AT_HANDLE_FID); ++ if (r < 0 && is_name_to_handle_at_fatal_error(r)) + return r; ++ if (r >= 0) { ++ if (ret_mnt_id && mnt_id >= 0) { ++ /* See if we can do better because statx can do unique mount IDs since Linux 6.8 ++ * and only if this doesn't work we use the non-unique mnt_id as returned. */ ++ if (path_get_unique_mnt_id_at(fd, path, ret_mnt_id) < 0) ++ *ret_mnt_id = mnt_id; ++ } + -+ r = name_to_handle_at_loop(fd, path, ret_handle, &mnt_id, NULL, flags & ~AT_HANDLE_FID); ++ return r; ++ } ++ ++ r = name_to_handle_at_loop(fd, path, ret_handle, &mnt_id, /* ret_unique_mnt_id= */ NULL, flags & ~AT_HANDLE_FID); + if (ret_mnt_id && mnt_id >= 0) + *ret_mnt_id = mnt_id; + return r; } static int fd_fdinfo_mnt_id(int fd, const char *filename, int flags, int *ret_mnt_id) { -@@ -373,7 +430,7 @@ int path_get_mnt_id_at_fallback(int dir_fd, const char *path, int *ret) { +@@ -197,6 +253,22 @@ bool file_handle_equal(const struct file_handle *a, const struct file_handle *b) + return memcmp_nn(a->f_handle, a->handle_bytes, b->f_handle, b->handle_bytes) == 0; + } + ++struct file_handle* file_handle_dup(const struct file_handle *fh) { ++ _cleanup_free_ struct file_handle *fh_copy = NULL; ++ ++ assert(fh); ++ ++ fh_copy = malloc0(offsetof(struct file_handle, f_handle) + fh->handle_bytes); ++ if (!fh_copy) ++ return NULL; ++ ++ fh_copy->handle_bytes = fh->handle_bytes; ++ fh_copy->handle_type = fh->handle_type; ++ memcpy(fh_copy->f_handle, fh->f_handle, fh->handle_bytes); ++ ++ return TAKE_PTR(fh_copy); ++} ++ + int is_mount_point_at(int fd, const char *filename, int flags) { + bool fd_is_self; + int r; +@@ -373,7 +445,7 @@ int path_get_mnt_id_at_fallback(int dir_fd, const char *path, int *ret) { assert(dir_fd >= 0 || dir_fd == AT_FDCWD); assert(ret); @@ -225,7 +241,7 @@ index b7c4870931..0d52d4cfea 100644 if (r >= 0 || is_name_to_handle_at_fatal_error(r)) return r; -@@ -403,6 +460,29 @@ int path_get_mnt_id_at(int dir_fd, const char *path, int *ret) { +@@ -403,6 +475,28 @@ int path_get_mnt_id_at(int dir_fd, const char *path, int *ret) { return path_get_mnt_id_at_fallback(dir_fd, path, ret); } @@ -244,22 +260,21 @@ index b7c4870931..0d52d4cfea 100644 + &sx) < 0) + return -errno; + -+ if (FLAGS_SET(sx.stx_mask, STATX_MNT_ID_UNIQUE)) { -+ *ret = sx.stx_mnt_id; -+ return 0; -+ } ++ if (!FLAGS_SET(sx.stx_mask, STATX_MNT_ID_UNIQUE)) ++ return -EOPNOTSUPP; + -+ return -EOPNOTSUPP; ++ *ret = sx.stx_mnt_id; ++ return 0; +} + bool fstype_is_network(const char *fstype) { const char *x; diff --git a/src/basic/mountpoint-util.h b/src/basic/mountpoint-util.h -index 004d2b2af5..2d3e8390ba 100644 +index 180d75343c..e70d2c40d0 100644 --- a/src/basic/mountpoint-util.h +++ b/src/basic/mountpoint-util.h -@@ -34,8 +34,9 @@ +@@ -34,16 +34,19 @@ bool is_name_to_handle_at_fatal_error(int err); @@ -269,8 +284,10 @@ index 004d2b2af5..2d3e8390ba 100644 +int name_to_handle_at_try_unique_mntid_fid(int fd, const char *path, struct file_handle **ret_handle, uint64_t *ret_mnt_id, int flags); bool file_handle_equal(const struct file_handle *a, const struct file_handle *b); ++struct file_handle* file_handle_dup(const struct file_handle *fh); -@@ -44,6 +45,7 @@ int path_get_mnt_id_at(int dir_fd, const char *path, int *ret); + int path_get_mnt_id_at_fallback(int dir_fd, const char *path, int *ret); + int path_get_mnt_id_at(int dir_fd, const char *path, int *ret); static inline int path_get_mnt_id(const char *path, int *ret) { return path_get_mnt_id_at(AT_FDCWD, path, ret); } @@ -279,7 +296,7 @@ index 004d2b2af5..2d3e8390ba 100644 int is_mount_point_at(int fd, const char *filename, int flags); int path_is_mount_point_full(const char *path, const char *root, int flags); diff --git a/src/include/override/fcntl.h b/src/include/override/fcntl.h -index 5f1d90ad79..f244ffa9f1 100644 +index f2b40a6a17..b41f364534 100644 --- a/src/include/override/fcntl.h +++ b/src/include/override/fcntl.h @@ -17,3 +17,8 @@ @@ -289,23 +306,21 @@ index 5f1d90ad79..f244ffa9f1 100644 + +/* This is defined since glibc-2.42. */ +#ifndef AT_HANDLE_MNT_ID_UNIQUE -+#define AT_HANDLE_MNT_ID_UNIQUE 0x001 /* Return the u64 unique mount ID. */ ++#define AT_HANDLE_MNT_ID_UNIQUE 0x001 /* Return the u64 unique mount ID. */ +#endif diff --git a/src/shared/discover-image.c b/src/shared/discover-image.c -index 2801793d6d..192ed18687 100644 +index 34512ea6da..d480848473 100644 --- a/src/shared/discover-image.c +++ b/src/shared/discover-image.c -@@ -35,6 +35,9 @@ +@@ -35,6 +35,7 @@ + #include "lock-util.h" #include "log.h" #include "loop-util.h" - #include "mkdir.h" +#include "mountpoint-util.h" -+#include "namespace-util.h" -+#include "nsresource.h" + #include "namespace-util.h" + #include "nsresource.h" #include "nulstr-util.h" - #include "os-util.h" - #include "path-util.h" -@@ -125,6 +128,8 @@ static Image* image_free(Image *i) { +@@ -139,6 +140,8 @@ static Image* image_free(Image *i) { free(i->name); free(i->path); @@ -314,7 +329,7 @@ index 2801793d6d..192ed18687 100644 free(i->hostname); strv_free(i->machine_info); strv_free(i->os_release); -@@ -194,6 +199,9 @@ static int image_new( +@@ -241,6 +244,9 @@ static int image_new( bool read_only, usec_t crtime, usec_t mtime, @@ -324,7 +339,7 @@ index 2801793d6d..192ed18687 100644 Image **ret) { _cleanup_(image_unrefp) Image *i = NULL; -@@ -215,12 +223,24 @@ static int image_new( +@@ -262,12 +268,20 @@ static int image_new( .read_only = read_only, .crtime = crtime, .mtime = mtime, @@ -337,37 +352,33 @@ index 2801793d6d..192ed18687 100644 }; + if (fh) { -+ i->fh = malloc0(offsetof(struct file_handle, f_handle) + fh->handle_bytes); ++ i->fh = file_handle_dup(fh); + if (!i->fh) + return -ENOMEM; -+ -+ i->fh->handle_bytes = fh->handle_bytes; -+ i->fh->handle_type = fh->handle_type; -+ memcpy(i->fh->f_handle, fh->f_handle, fh->handle_bytes); + } + i->name = strdup(pretty); if (!i->name) return -ENOMEM; -@@ -391,6 +411,28 @@ static int image_make( - (dir_path && path_startswith(dir_path, "/usr")) || +@@ -429,6 +443,28 @@ static int image_make( + path_startswith(path, "/usr") || (faccessat(fd, "", W_OK, AT_EACCESS|AT_EMPTY_PATH) < 0 && errno == EROFS); + uint64_t on_mount_id = 0; + _cleanup_free_ struct file_handle *fh = NULL; + -+ r = name_to_handle_at_try_unique_mntid_fid(fd, NULL, &fh, &on_mount_id, 0); ++ r = name_to_handle_at_try_unique_mntid_fid(fd, /* path= */ NULL, &fh, &on_mount_id, /* flags= */ 0); + if (r < 0) { + if (is_name_to_handle_at_fatal_error(r)) + return r; + -+ r = path_get_unique_mnt_id_at(fd, NULL, &on_mount_id); ++ r = path_get_unique_mnt_id_at(fd, /* path= */ NULL, &on_mount_id); + if (r < 0) { + if (!ERRNO_IS_NEG_NOT_SUPPORTED(r)) + return r; + + int on_mount_id_fallback = -1; -+ r = path_get_mnt_id_at(fd, NULL, &on_mount_id_fallback); ++ r = path_get_mnt_id_at(fd, /* path= */ NULL, &on_mount_id_fallback); + if (r < 0) + return r; + @@ -378,7 +389,7 @@ index 2801793d6d..192ed18687 100644 if (S_ISDIR(st->st_mode)) { unsigned file_attr = 0; usec_t crtime = 0; -@@ -433,6 +475,9 @@ static int image_make( +@@ -470,6 +506,9 @@ static int image_make( info.read_only || read_only, info.otime, info.ctime, @@ -388,7 +399,7 @@ index 2801793d6d..192ed18687 100644 ret); if (r < 0) return r; -@@ -458,6 +503,9 @@ static int image_make( +@@ -495,6 +534,9 @@ static int image_make( read_only || (file_attr & FS_IMMUTABLE_FL), crtime, 0, /* we don't use mtime of stat() here, since it's not the time of last change of the tree, but only of the top-level dir */ @@ -398,7 +409,7 @@ index 2801793d6d..192ed18687 100644 ret); if (r < 0) return r; -@@ -495,6 +543,9 @@ static int image_make( +@@ -532,6 +574,9 @@ static int image_make( !(st->st_mode & 0222) || read_only, crtime, timespec_load(&st->st_mtim), @@ -408,7 +419,7 @@ index 2801793d6d..192ed18687 100644 ret); if (r < 0) return r; -@@ -553,6 +604,9 @@ static int image_make( +@@ -589,6 +634,9 @@ static int image_make( !(st->st_mode & 0222) || read_only, 0, 0, @@ -419,7 +430,7 @@ index 2801793d6d..192ed18687 100644 if (r < 0) return r; diff --git a/src/shared/discover-image.h b/src/shared/discover-image.h -index 60f5a4dce1..7b5593f08d 100644 +index 881a59fdc2..b28d961fb0 100644 --- a/src/shared/discover-image.h +++ b/src/shared/discover-image.h @@ -27,6 +27,10 @@ typedef struct Image { @@ -446,7 +457,7 @@ index 90eb8177d1..e48804c148 100644 static SD_VARLINK_DEFINE_METHOD_FULL( diff --git a/src/sysext/sysext.c b/src/sysext/sysext.c -index d63cf39fbb..bfe71f2267 100644 +index b926ce4c83..30e33a01e5 100644 --- a/src/sysext/sysext.c +++ b/src/sysext/sysext.c @@ -8,6 +8,7 @@ @@ -457,15 +468,33 @@ index d63cf39fbb..bfe71f2267 100644 #include "sd-varlink.h" #include "argv-util.h" -@@ -87,6 +88,7 @@ static PagerFlags arg_pager_flags = 0; +@@ -84,6 +85,17 @@ static const char* const mutable_mode_table[_MUTABLE_MAX] = { + + DEFINE_PRIVATE_STRING_TABLE_LOOKUP_WITH_BOOLEAN(mutable_mode, MutableMode, MUTABLE_YES); + ++enum { ++ MERGE_NOTHING_FOUND, ++ MERGE_MOUNTED, ++ MERGE_SKIP_REFRESH, ++}; ++ ++enum { ++ MERGE_EXIT_NOTHING_FOUND = 123, ++ MERGE_EXIT_SKIP_REFRESH = 124, ++}; ++ + static char **arg_hierarchies = NULL; /* "/usr" + "/opt" by default for sysext and /etc by default for confext */ + static char *arg_root = NULL; + static sd_json_format_flags_t arg_json_format_flags = SD_JSON_FORMAT_OFF; +@@ -91,6 +103,7 @@ static PagerFlags arg_pager_flags = 0; static bool arg_legend = true; static bool arg_force = false; static bool arg_no_reload = false; +static bool arg_always_refresh = false; static int arg_noexec = -1; static ImagePolicy *arg_image_policy = NULL; - static bool arg_varlink = false; -@@ -1401,6 +1403,28 @@ static int write_extensions_file(ImageClass image_class, char **extensions, cons + static bool arg_image_policy_set = false; /* Tracks initialization */ +@@ -1465,6 +1478,30 @@ static int write_extensions_file(ImageClass image_class, char **extensions, cons return 0; } @@ -484,7 +513,9 @@ index d63cf39fbb..bfe71f2267 100644 + if (!hierarchy_path) + return log_oom(); + -+ r = write_string_file_full(AT_FDCWD, f, strempty(origin_content), WRITE_STRING_FILE_CREATE|WRITE_STRING_FILE_MKDIR_0755|WRITE_STRING_FILE_LABEL|WRITE_STRING_FILE_AVOID_NEWLINE, /* ts= */ NULL, hierarchy_path); ++ r = write_string_file_full(AT_FDCWD, f, strempty(origin_content), ++ WRITE_STRING_FILE_CREATE|WRITE_STRING_FILE_MKDIR_0755|WRITE_STRING_FILE_LABEL|WRITE_STRING_FILE_AVOID_NEWLINE, ++ /* ts= */ NULL, hierarchy_path); + if (r < 0) + return log_error_errno(r, "Failed to write origin meta file '%s': %m", f); + @@ -494,7 +525,7 @@ index d63cf39fbb..bfe71f2267 100644 static int write_dev_file(ImageClass image_class, const char *meta_path, const char *overlay_path, const char *hierarchy) { _cleanup_free_ char *f = NULL; struct stat st; -@@ -1505,6 +1529,7 @@ static int write_work_dir_file(ImageClass image_class, const char *meta_path, co +@@ -1569,6 +1606,7 @@ static int write_work_dir_file(ImageClass image_class, const char *meta_path, co static int store_info_in_meta( ImageClass image_class, char **extensions, @@ -502,7 +533,7 @@ index d63cf39fbb..bfe71f2267 100644 const char *meta_path, const char *overlay_path, const char *work_dir, -@@ -1537,6 +1562,10 @@ static int store_info_in_meta( +@@ -1601,6 +1639,10 @@ static int store_info_in_meta( if (r < 0) return r; @@ -513,7 +544,7 @@ index d63cf39fbb..bfe71f2267 100644 r = write_dev_file(image_class, meta_path, overlay_path, hierarchy); if (r < 0) return r; -@@ -1595,6 +1624,7 @@ static int merge_hierarchy( +@@ -1659,6 +1701,7 @@ static int merge_hierarchy( int noexec, char **extensions, char **paths, @@ -521,7 +552,7 @@ index d63cf39fbb..bfe71f2267 100644 const char *meta_path, const char *overlay_path, const char *workspace_path) { -@@ -1640,7 +1670,7 @@ static int merge_hierarchy( +@@ -1704,7 +1747,7 @@ static int merge_hierarchy( if (r < 0) return r; @@ -530,7 +561,7 @@ index d63cf39fbb..bfe71f2267 100644 if (r < 0) return r; -@@ -1692,19 +1722,29 @@ static int merge_subprocess( +@@ -1756,19 +1799,29 @@ static int merge_subprocess( ImageClass image_class, char **hierarchies, bool force, @@ -543,7 +574,7 @@ index d63cf39fbb..bfe71f2267 100644 *host_os_release_version_id = NULL, *host_os_release_api_level = NULL, - *filename = NULL; + *filename = NULL, *old_origin_content = NULL, -+ *extensions_origin_content = NULL, *arg_root_resolved = NULL; ++ *extensions_origin_content = NULL, *root_resolved = NULL; _cleanup_strv_free_ char **extensions = NULL, **extensions_v = NULL, **paths = NULL; + _cleanup_(sd_json_variant_unrefp) sd_json_variant *extensions_origin_entries = NULL, + *extensions_origin_json = NULL, *mutable_dir_entries = NULL; @@ -553,7 +584,7 @@ index d63cf39fbb..bfe71f2267 100644 int r; + if (!isempty(arg_root)) { -+ r = chase(arg_root, NULL, CHASE_MUST_BE_DIRECTORY, &arg_root_resolved, NULL); ++ r = chase(arg_root, /* root= */ NULL, CHASE_MUST_BE_DIRECTORY, &root_resolved, /* ret_fd= */ NULL); + if (r < 0) + return log_error_errno(r, "Failed to resolve --root='%s': %m", strempty(arg_root)); + } @@ -561,7 +592,7 @@ index d63cf39fbb..bfe71f2267 100644 assert(path_startswith(workspace, "/run/")); /* Mark the whole of /run as MS_SLAVE, so that we can mount stuff below it that doesn't show up on -@@ -1742,7 +1782,8 @@ static int merge_subprocess( +@@ -1806,7 +1859,8 @@ static int merge_subprocess( /* Let's now mount all images */ HASHMAP_FOREACH(img, images) { @@ -571,20 +602,20 @@ index d63cf39fbb..bfe71f2267 100644 p = path_join(workspace, image_class_info[image_class].short_identifier_plural, img->name); if (!p) -@@ -1841,6 +1882,12 @@ static int merge_subprocess( +@@ -1905,6 +1959,12 @@ static int merge_subprocess( if (r < 0) return r; -+ if (verity_settings.root_hash) { -+ r = sd_json_variant_new_hex(&verity_hash, verity_settings.root_hash, verity_settings.root_hash_size); ++ if (iovec_is_set(&verity_settings.root_hash)) { ++ r = sd_json_variant_new_hex(&verity_hash, verity_settings.root_hash.iov_base, verity_settings.root_hash.iov_len); + if (r < 0) + return log_error_errno(r, "Failed to create origin verity entry for '%s': %m", img->name); + } + - r = dissected_image_decrypt(m, /* passphrase= */ NULL, &verity_settings, flags); + r = dissected_image_decrypt(m, /* passphrase= */ NULL, &verity_settings, pick_image_policy(img), flags); if (r < 0) return r; -@@ -1910,6 +1957,59 @@ static int merge_subprocess( +@@ -1974,6 +2034,60 @@ static int merge_subprocess( if (r < 0) return log_oom(); @@ -593,36 +624,37 @@ index d63cf39fbb..bfe71f2267 100644 + + if (!isempty(arg_root)) { + const char *without_root = NULL; -+ without_root = path_startswith(img->path, arg_root_resolved); -+ if (!isempty(without_root)) ++ without_root = path_startswith(img->path, root_resolved); ++ if (!isempty(without_root)) { + path_without_root = strjoin("/", without_root); ++ if (!path_without_root) ++ return log_oom(); ++ } + } -+ if (!path_without_root) ++ if (!path_without_root) { + path_without_root = strdup(img->path); ++ if (!path_without_root) ++ return log_oom(); ++ } + -+ /* The verity hash is not available for all extension types, -+ * thus, but only as fallback, also include data to check for -+ * file/directory replacements through a file handle and unique -+ * mount ID (or inode and mount ID as fallback). -+ * A unique mount ID is best because st_dev gets reused too easily, -+ * e.g., by a loop dev mount. For the mount ID to be valid it -+ * has to be resolved before we enter the new mount namespace. -+ * Thus, here it wouldn't work and so instead it gets provided -+ * by the image dissect logic and handed over to this subprocess -+ * we are in. -+ * Online modification is not well supported with overlay -+ * mounts, so we don't do a file checksum nor do we recurse -+ * into a directory to look for touched files. If users want -+ * modifications to be picked up, they need to set the -+ * --always-refresh=yes flag (as will be printed out). */ ++ /* The verity hash is not available for all extension types, thus, but only as fallback, ++ * also include data to check for file/directory replacements through a file handle and ++ * unique mount ID (or inode and mount ID as fallback). ++ * A unique mount ID is best because st_dev gets reused too easily, e.g., by a loop dev ++ * mount. For the mount ID to be valid it has to be resolved before we enter the new mount ++ * namespace. Thus, here it wouldn't work and so instead it gets provided by the image ++ * dissect logic and handed over to this subprocess we are in. ++ * Online modification is not well supported with overlay mounts, so we don't do a file ++ * checksum nor do we recurse into a directory to look for touched files. If users want ++ * modifications to be picked up, they need to set the --always-refresh=yes flag (as will be ++ * printed out). */ + + _cleanup_(sd_json_variant_unrefp) sd_json_variant *origin_entry = NULL; + -+ /* We suppress inclusion of weak identifiers when a strong one is there -+ * so that, e.g., a confext image stored on /usr gets identified only -+ * by the verity hash instead of also the mount ID because that changes -+ * when a sysext overlay mount appears but since the verity hash is the -+ * same for the confext it can actually be reused. */ ++ /* We suppress inclusion of weak identifiers when a strong one is there so that, e.g., ++ * a confext image stored on /usr gets identified only by the verity hash instead of also ++ * the mount ID because that changes when a sysext overlay mount appears but since the ++ * verity hash is the same for the confext it can actually be reused. */ + r = sd_json_buildo(&origin_entry, + SD_JSON_BUILD_PAIR_STRING("path", path_without_root), + SD_JSON_BUILD_PAIR_CONDITION(!!verity_hash, "verityHash", SD_JSON_BUILD_VARIANT(verity_hash)), @@ -644,7 +676,15 @@ index d63cf39fbb..bfe71f2267 100644 n_extensions++; } -@@ -1926,6 +2026,96 @@ static int merge_subprocess( +@@ -1983,13 +2097,112 @@ static int merge_subprocess( + log_info("No suitable extensions found (%u ignored due to incompatible image(s)).", n_ignored); + else + log_info("No extensions found."); +- return 0; ++ return MERGE_NOTHING_FOUND; + } + + /* Order by version sort with strverscmp_improved() */ typesafe_qsort(extensions, n_extensions, strverscmp_improvedp); typesafe_qsort(extensions_v, n_extensions, strverscmp_improvedp); @@ -659,12 +699,18 @@ index d63cf39fbb..bfe71f2267 100644 + + if (op->resolved_mutable_directory && !isempty(arg_root)) { + const char *without_root = NULL; -+ without_root = path_startswith(op->resolved_mutable_directory, arg_root_resolved); -+ if (!isempty(without_root)) ++ without_root = path_startswith(op->resolved_mutable_directory, root_resolved); ++ if (!isempty(without_root)) { + mutable_directory_without_root = strjoin("/", without_root); ++ if (!mutable_directory_without_root) ++ return log_oom(); ++ } + } -+ if (!mutable_directory_without_root && op->resolved_mutable_directory) ++ if (!mutable_directory_without_root && op->resolved_mutable_directory) { + mutable_directory_without_root = strdup(op->resolved_mutable_directory); ++ if (!mutable_directory_without_root) ++ return log_oom(); ++ } + + if (mutable_directory_without_root) { + r = sd_json_variant_set_field_string(&mutable_dir_entries, *h, mutable_directory_without_root); @@ -673,7 +719,7 @@ index d63cf39fbb..bfe71f2267 100644 + } + + /* Find existing origin file for comparison. */ -+ r = chase(*h, arg_root, CHASE_PREFIX_ROOT|CHASE_NONEXISTENT, &resolved, NULL); ++ r = chase(*h, arg_root, CHASE_PREFIX_ROOT|CHASE_NONEXISTENT, &resolved, /* ret_fd= */ NULL); + if (r < 0) + return log_error_errno(r, "Failed to resolve hierarchy '%s%s': %m", strempty(arg_root), *h); + @@ -690,7 +736,7 @@ index d63cf39fbb..bfe71f2267 100644 + if (old_origin_content) + continue; + -+ r = read_full_file(f, &buf, NULL); ++ r = read_full_file(f, &buf, /* ret_size */ NULL); + if (r < 0) { + log_debug_errno(r, "Failed to open '%s', continuing search: %m", f); + continue; @@ -701,10 +747,13 @@ index d63cf39fbb..bfe71f2267 100644 + + r = sd_json_buildo(&extensions_origin_json, + SD_JSON_BUILD_PAIR_OBJECT("mutable", -+ SD_JSON_BUILD_PAIR_INTEGER("mode", arg_mutable), ++ SD_JSON_BUILD_PAIR_STRING("mode", mutable_mode_to_string(arg_mutable)), + SD_JSON_BUILD_PAIR_CONDITION(!!mutable_dir_entries, + "mutableDirs", + SD_JSON_BUILD_VARIANT(mutable_dir_entries))), ++ SD_JSON_BUILD_PAIR_CONDITION(!isempty(arg_overlayfs_mount_options), ++ "mountOptions", ++ SD_JSON_BUILD_STRING(arg_overlayfs_mount_options)), + SD_JSON_BUILD_PAIR_CONDITION(!!extensions_origin_entries, + "extensions", + SD_JSON_BUILD_VARIANT(extensions_origin_entries))); @@ -721,7 +770,7 @@ index d63cf39fbb..bfe71f2267 100644 + _cleanup_(sd_json_variant_unrefp) sd_json_variant *old_origin_json = NULL; + + log_debug("Old extension origin entry (unordered):\n%s\n", old_origin_content); -+ r = sd_json_parse(old_origin_content, 0, &old_origin_json, NULL, NULL); ++ r = sd_json_parse(old_origin_content, /* flags= */ 0, &old_origin_json, /* reterr_line= */ NULL, /* reterr_column= */ NULL); + if (r < 0) + return log_error_errno(r, "Failed to parse existing extension origin content: %m"); + @@ -730,7 +779,7 @@ index d63cf39fbb..bfe71f2267 100644 + if (!always_refresh) { + /* This only happens during refresh, not merge, thus talk about refresh here. */ + log_info("Skipping extension refresh because no change was found, use --always-refresh=yes to always do a refresh."); -+ return 2; ++ return MERGE_SKIP_REFRESH; + } + + log_debug("No change found based on origin entry but continuing as requested by --always-refresh=yes."); @@ -741,7 +790,7 @@ index d63cf39fbb..bfe71f2267 100644 if (n_extensions == 0) { assert(arg_mutable != MUTABLE_NO); log_info("No extensions found, proceeding in mutable mode."); -@@ -2008,6 +2198,7 @@ static int merge_subprocess( +@@ -2072,6 +2285,7 @@ static int merge_subprocess( noexec, extensions, paths, @@ -749,7 +798,15 @@ index d63cf39fbb..bfe71f2267 100644 meta_path, overlay_path, merge_hierarchy_workspace); -@@ -2059,6 +2250,7 @@ static int merge(ImageClass image_class, +@@ -2116,13 +2330,14 @@ static int merge_subprocess( + log_info("Merged extensions into '%s'.", resolved); + } + +- return 1; ++ return MERGE_MOUNTED; + } + + static int merge(ImageClass image_class, char **hierarchies, bool force, bool no_reload, @@ -757,7 +814,7 @@ index d63cf39fbb..bfe71f2267 100644 int noexec, Hashmap *images) { pid_t pid; -@@ -2070,14 +2262,20 @@ static int merge(ImageClass image_class, +@@ -2138,21 +2353,28 @@ static int merge(ImageClass image_class, if (r == 0) { /* Child with its own mount namespace */ @@ -770,28 +827,29 @@ index d63cf39fbb..bfe71f2267 100644 * created below /run. Nice! */ - _exit(r > 0 ? EXIT_SUCCESS : 123); /* 123 means: didn't find any extensions */ -+ /* 0/123 means: didn't find any extensions, 2/124 means: skipped refresh */ + if (r < 0) + _exit(EXIT_FAILURE); -+ if (r == 0) -+ _exit(123); -+ if (r == 2) -+ _exit(124); ++ if (r == MERGE_NOTHING_FOUND) ++ _exit(MERGE_EXIT_NOTHING_FOUND); ++ if (r == MERGE_SKIP_REFRESH) ++ _exit(MERGE_EXIT_SKIP_REFRESH); + + _exit(EXIT_SUCCESS); } r = wait_for_terminate_and_check("(sd-merge)", pid, WAIT_LOG_ABNORMAL); -@@ -2085,6 +2283,8 @@ static int merge(ImageClass image_class, + if (r < 0) return r; - if (r == 123) /* exit code 123 means: didn't do anything */ - return 0; -+ if (r == 124) /* exit code 124 means: skipped refresh */ -+ return 1; +- if (r == 123) /* exit code 123 means: didn't do anything */ +- return 0; ++ if (r == MERGE_EXIT_NOTHING_FOUND) ++ return 0; /* Tell refresh to unmount */ ++ if (r == MERGE_EXIT_SKIP_REFRESH) ++ return 1; /* Same return code as below when we have merged new */ if (r > 0) return log_error_errno(SYNTHETIC_ERRNO(EPROTO), "Failed to merge hierarchies"); -@@ -2182,6 +2382,7 @@ static int verb_merge(int argc, char **argv, void *userdata) { +@@ -2250,6 +2472,7 @@ static int verb_merge(int argc, char **argv, void *userdata) { arg_hierarchies, arg_force, arg_no_reload, @@ -799,7 +857,7 @@ index d63cf39fbb..bfe71f2267 100644 arg_noexec, images); } -@@ -2190,16 +2391,18 @@ typedef struct MethodMergeParameters { +@@ -2258,16 +2481,18 @@ typedef struct MethodMergeParameters { const char *class; int force; int no_reload; @@ -822,7 +880,7 @@ index d63cf39fbb..bfe71f2267 100644 {} }; -@@ -2215,6 +2418,7 @@ static int vl_method_merge(sd_varlink *link, sd_json_variant *parameters, sd_var +@@ -2283,6 +2508,7 @@ static int vl_method_merge(sd_varlink *link, sd_json_variant *parameters, sd_var MethodMergeParameters p = { .force = -1, .no_reload = -1, @@ -830,7 +888,7 @@ index d63cf39fbb..bfe71f2267 100644 .noexec = -1, }; _cleanup_strv_free_ char **hierarchies = NULL; -@@ -2249,6 +2453,7 @@ static int vl_method_merge(sd_varlink *link, sd_json_variant *parameters, sd_var +@@ -2317,6 +2543,7 @@ static int vl_method_merge(sd_varlink *link, sd_json_variant *parameters, sd_var hierarchies ?: arg_hierarchies, p.force >= 0 ? p.force : arg_force, p.no_reload >= 0 ? p.no_reload : arg_no_reload, @@ -838,7 +896,7 @@ index d63cf39fbb..bfe71f2267 100644 p.noexec >= 0 ? p.noexec : arg_noexec, images); if (r < 0) -@@ -2262,6 +2467,7 @@ static int refresh( +@@ -2330,6 +2557,7 @@ static int refresh( char **hierarchies, bool force, bool no_reload, @@ -846,7 +904,7 @@ index d63cf39fbb..bfe71f2267 100644 int noexec) { _cleanup_hashmap_free_ Hashmap *images = NULL; -@@ -2272,9 +2478,10 @@ static int refresh( +@@ -2340,9 +2568,10 @@ static int refresh( return r; /* Returns > 0 if it did something, i.e. a new overlayfs is mounted now. When it does so it @@ -859,7 +917,7 @@ index d63cf39fbb..bfe71f2267 100644 if (r < 0) return r; if (r == 0) /* No images found? Then unmerge. The goal of --refresh is after all that after having -@@ -2286,7 +2493,8 @@ static int refresh( +@@ -2354,7 +2583,8 @@ static int refresh( * 1. If an overlayfs was mounted before and no extensions exist anymore, we'll have unmerged things. * * 2. If an overlayfs was mounted before, and there are still extensions installed' we'll have @@ -869,7 +927,7 @@ index d63cf39fbb..bfe71f2267 100644 * * 3. If an overlayfs so far wasn't mounted, and there are extensions installed, we'll have it * mounted now. -@@ -2310,6 +2518,7 @@ static int verb_refresh(int argc, char **argv, void *userdata) { +@@ -2378,6 +2608,7 @@ static int verb_refresh(int argc, char **argv, void *userdata) { arg_hierarchies, arg_force, arg_no_reload, @@ -877,7 +935,7 @@ index d63cf39fbb..bfe71f2267 100644 arg_noexec); } -@@ -2318,6 +2527,7 @@ static int vl_method_refresh(sd_varlink *link, sd_json_variant *parameters, sd_v +@@ -2386,6 +2617,7 @@ static int vl_method_refresh(sd_varlink *link, sd_json_variant *parameters, sd_v MethodMergeParameters p = { .force = -1, .no_reload = -1, @@ -885,7 +943,7 @@ index d63cf39fbb..bfe71f2267 100644 .noexec = -1, }; _cleanup_strv_free_ char **hierarchies = NULL; -@@ -2338,6 +2548,7 @@ static int vl_method_refresh(sd_varlink *link, sd_json_variant *parameters, sd_v +@@ -2406,6 +2638,7 @@ static int vl_method_refresh(sd_varlink *link, sd_json_variant *parameters, sd_v hierarchies ?: arg_hierarchies, p.force >= 0 ? p.force : arg_force, p.no_reload >= 0 ? p.no_reload : arg_no_reload, @@ -893,7 +951,7 @@ index d63cf39fbb..bfe71f2267 100644 p.noexec >= 0 ? p.noexec : arg_noexec); if (r < 0) return r; -@@ -2456,6 +2667,8 @@ static int verb_help(int argc, char **argv, void *userdata) { +@@ -2524,6 +2757,8 @@ static int verb_help(int argc, char **argv, void *userdata) { " Generate JSON output\n" " --force Ignore version incompatibilities\n" " --no-reload Do not reload the service manager\n" @@ -902,7 +960,7 @@ index d63cf39fbb..bfe71f2267 100644 " --image-policy=POLICY\n" " Specify disk image dissection policy\n" " --noexec=BOOL Whether to mount extension overlay with noexec\n" -@@ -2483,21 +2696,23 @@ static int parse_argv(int argc, char *argv[]) { +@@ -2551,21 +2786,23 @@ static int parse_argv(int argc, char *argv[]) { ARG_IMAGE_POLICY, ARG_NOEXEC, ARG_NO_RELOAD, @@ -937,7 +995,7 @@ index d63cf39fbb..bfe71f2267 100644 {} }; -@@ -2561,6 +2776,12 @@ static int parse_argv(int argc, char *argv[]) { +@@ -2632,6 +2869,12 @@ static int parse_argv(int argc, char *argv[]) { arg_no_reload = true; break; @@ -948,60 +1006,8 @@ index d63cf39fbb..bfe71f2267 100644 + break; + case ARG_MUTABLE: - r = parse_mutable_mode(optarg); - if (r < 0) -diff --git a/test/units/TEST-50-DISSECT.sysext.sh b/test/units/TEST-50-DISSECT.sysext.sh -index 3eec224eb6..05f691b457 100755 ---- a/test/units/TEST-50-DISSECT.sysext.sh -+++ b/test/units/TEST-50-DISSECT.sysext.sh -@@ -1402,6 +1402,47 @@ rm -rf "$fake_root/var/lib/extensions/test-extension.raw.v" "$fake_root/var/othe - - # Done with the above vpick symlink tests for --root= and without - -+( init_trap -+: "Check if refresh skips correctly" -+fake_root=${roots_dir:+"$roots_dir/refresh-skip"} -+hierarchy=/opt -+ -+findmnt --kernel=listmount >/dev/null || { -+ echo >&2 "Can't run test on old kernel, skipping test." -+ exit 0 -+} -+ -+prepare_root "$fake_root" "$hierarchy" -+prepare_extension_image "$fake_root" "$hierarchy" -+prepare_hierarchy "$fake_root" "$hierarchy" -+ -+run_systemd_sysext "$fake_root" merge -+extension_verify_after_merge "$fake_root" "$hierarchy" -e -h -+# The mountinfo ID gets reused and is useless here, we require a unique ID from listmount -+MOUNTID1=$(findmnt --kernel=listmount -o UNIQ-ID --raw --noheadings --target "$fake_root$hierarchy") -+run_systemd_sysext "$fake_root" refresh -+extension_verify_after_merge "$fake_root" "$hierarchy" -e -h -+MOUNTID2=$(findmnt --kernel=listmount -o UNIQ-ID --raw --noheadings --target "$fake_root$hierarchy") -+if [ "$MOUNTID1" != "$MOUNTID2" ]; then -+ echo >&2 "Unexpected remount with 'refresh'" -+ exit 1 -+fi -+rm -rf "$fake_root/var/lib/extensions/test-extension2" -+cp -ar "$fake_root/var/lib/extensions/test-extension" "$fake_root/var/lib/extensions/test-extension2" -+rm -rf "$fake_root/var/lib/extensions/test-extension" -+mv "$fake_root/var/lib/extensions/test-extension2" "$fake_root/var/lib/extensions/test-extension" -+run_systemd_sysext "$fake_root" refresh -+extension_verify_after_merge "$fake_root" "$hierarchy" -e -h -+MOUNTID3=$(findmnt --kernel=listmount -o UNIQ-ID --raw --noheadings --target "$fake_root$hierarchy") -+if [ "$MOUNTID2" = "$MOUNTID3" ]; then -+ echo >&2 "Unexpected skip with 'refresh'" -+ exit 1 -+fi -+ -+run_systemd_sysext "$fake_root" unmerge -+extension_verify_after_unmerge "$fake_root" "$hierarchy" -h -+) -+ - } # End of run_sysext_tests - - + if (streq(optarg, "help")) { + if (arg_legend) -- 2.52.0 diff --git a/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-apps/systemd/0012-test-Add-tests-for-handling-symlinks-with-systemd-sy.patch b/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-apps/systemd/0012-test-Add-tests-for-handling-symlinks-with-systemd-sy.patch deleted file mode 100644 index b6d24f71936..00000000000 --- a/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-apps/systemd/0012-test-Add-tests-for-handling-symlinks-with-systemd-sy.patch +++ /dev/null @@ -1,335 +0,0 @@ -From 187e60032a26fb58b8944aac5c48a495f9de2644 Mon Sep 17 00:00:00 2001 -From: Kai Lueke -Date: Thu, 20 Nov 2025 23:43:55 +0900 -Subject: [PATCH 12/20] test: Add tests for handling symlinks with - systemd-sysext - -When we now allow following symlinks inside a --root= we should also -test that it works in various cases from simple relative and absolute -symlinks to .v being a symlink itself or its contents, both for -directory and for .raw image extensions. While at it, also add a simple -test for .v without symlinks which wasn't there for direct usage of -systemd-sysext. ---- - test/units/TEST-50-DISSECT.sysext.sh | 298 +++++++++++++++++++++++++++ - 1 file changed, 298 insertions(+) - -diff --git a/test/units/TEST-50-DISSECT.sysext.sh b/test/units/TEST-50-DISSECT.sysext.sh -index ecf0b83b1d..3eec224eb6 100755 ---- a/test/units/TEST-50-DISSECT.sysext.sh -+++ b/test/units/TEST-50-DISSECT.sysext.sh -@@ -163,6 +163,24 @@ prepare_extension_image_with_matching_id_like() { - prepend_trap "rm -rf ${ext_dir@Q}" - } - -+prepare_extension_image_raw() { -+ local root=${1:-} -+ local hierarchy=${2:?} -+ local ext_dir ext_release name -+ -+ name="test-extension" -+ ext_dir="$root/var/lib/extensions/$name" -+ ext_release="$ext_dir/usr/lib/extension-release.d/extension-release.$name" -+ mkdir -p "${ext_release%/*}" -+ echo "ID=_any" >"$ext_release" -+ mkdir -p "$ext_dir/$hierarchy" -+ touch "$ext_dir$hierarchy/preexisting-file-in-extension-image" -+ mksquashfs "$ext_dir" "$ext_dir.raw" -all-root -noappend -quiet -+ rm -rf "$ext_dir" -+ -+ prepend_trap "rm -rf ${ext_dir@Q}.raw" -+} -+ - prepare_extension_mutable_dir() { - local dir=${1:?} - -@@ -1104,6 +1122,286 @@ fi - rm "${fake_root}/etc/initrd-release" - ) - -+# A couple of symlink tests follow below -+ -+( init_trap -+: "Check if following a relative extension directory symlink works with and without --root=" -+fake_root=${roots_dir:+"$roots_dir/follow-relative-dir-symlink"} -+hierarchy=/opt -+ -+prepare_root "$fake_root" "$hierarchy" -+prepare_extension_image "$fake_root" "$hierarchy" -+mv -T "$fake_root/var/lib/extensions/test-extension" "$fake_root/var/othername-extension" -+ln -s "../../othername-extension" "$fake_root/var/lib/extensions/test-extension" -+prepare_read_only_hierarchy "$fake_root" "$hierarchy" -+ -+run_systemd_sysext "$fake_root" merge -+extension_verify_after_merge "$fake_root" "$hierarchy" -e -h -+ -+run_systemd_sysext "$fake_root" unmerge -+extension_verify_after_unmerge "$fake_root" "$hierarchy" -h -+rm -rf "$fake_root/var/othername-extension" -+) -+ -+( init_trap -+: "Check if following an absolute extension directory symlink works with and without --root=" -+fake_root=${roots_dir:+"$roots_dir/follow-absolute-dir-symlink"} -+hierarchy=/opt -+ -+prepare_root "$fake_root" "$hierarchy" -+prepare_extension_image "$fake_root" "$hierarchy" -+mv -T "$fake_root/var/lib/extensions/test-extension" "$fake_root/var/othername-extension" -+ln -s "/var/othername-extension" "$fake_root/var/lib/extensions/test-extension" -+prepare_read_only_hierarchy "$fake_root" "$hierarchy" -+ -+run_systemd_sysext "$fake_root" merge -+extension_verify_after_merge "$fake_root" "$hierarchy" -e -h -+ -+run_systemd_sysext "$fake_root" unmerge -+extension_verify_after_unmerge "$fake_root" "$hierarchy" -h -+rm -rf "$fake_root/var/othername-extension" -+) -+ -+( init_trap -+: "Check if following a relative extension image symlink works with and without --root=" -+fake_root=${roots_dir:+"$roots_dir/follow-relative-image-symlink"} -+hierarchy=/opt -+ -+prepare_root "$fake_root" "$hierarchy" -+prepare_extension_image_raw "$fake_root" "$hierarchy" -+mv "$fake_root/var/lib/extensions/test-extension.raw" "$fake_root/var/othername-extension.raw" -+ln -s "../../othername-extension.raw" "$fake_root/var/lib/extensions/test-extension.raw" -+prepare_read_only_hierarchy "$fake_root" "$hierarchy" -+ -+run_systemd_sysext "$fake_root" merge -+extension_verify_after_merge "$fake_root" "$hierarchy" -e -h -+ -+run_systemd_sysext "$fake_root" unmerge -+extension_verify_after_unmerge "$fake_root" "$hierarchy" -h -+rm -rf "$fake_root/var/othername-extension.raw" -+) -+ -+( init_trap -+: "Check if following an absolute extension image symlink works with and without --root=" -+fake_root=${roots_dir:+"$roots_dir/follow-absolute-image-symlink"} -+hierarchy=/opt -+ -+prepare_root "$fake_root" "$hierarchy" -+prepare_extension_image_raw "$fake_root" "$hierarchy" -+mv "$fake_root/var/lib/extensions/test-extension.raw" "$fake_root/var/othername-extension.raw" -+ln -s "/var/othername-extension.raw" "$fake_root/var/lib/extensions/test-extension.raw" -+prepare_read_only_hierarchy "$fake_root" "$hierarchy" -+ -+run_systemd_sysext "$fake_root" merge -+extension_verify_after_merge "$fake_root" "$hierarchy" -e -h -+ -+run_systemd_sysext "$fake_root" unmerge -+extension_verify_after_unmerge "$fake_root" "$hierarchy" -h -+rm -rf "$fake_root/var/othername-extension.raw" -+) -+ -+# And now a couple of vpick tests, including following symlinks -+ -+( init_trap -+: "Check if vpick works for directory extensions" -+fake_root=${roots_dir:+"$roots_dir/vpick-dir"} -+hierarchy=/opt -+ -+prepare_root "$fake_root" "$hierarchy" -+prepare_extension_image "$fake_root" "$hierarchy" -+mkdir -p "$fake_root/var/lib/extensions/test-extension.v" -+mv -T "$fake_root/var/lib/extensions/test-extension" "$fake_root/var/lib/extensions/test-extension.v/test-extension_1.0" -+prepare_read_only_hierarchy "$fake_root" "$hierarchy" -+ -+run_systemd_sysext "$fake_root" merge -+extension_verify_after_merge "$fake_root" "$hierarchy" -e -h -+ -+run_systemd_sysext "$fake_root" unmerge -+extension_verify_after_unmerge "$fake_root" "$hierarchy" -h -+rm -rf "$fake_root/var/lib/extensions/test-extension.v" -+) -+ -+( init_trap -+: "Check if vpick works for image extensions" -+fake_root=${roots_dir:+"$roots_dir/vpick-image"} -+hierarchy=/opt -+ -+prepare_root "$fake_root" "$hierarchy" -+prepare_extension_image_raw "$fake_root" "$hierarchy" -+mkdir -p "$fake_root/var/lib/extensions/test-extension.raw.v" -+mv "$fake_root/var/lib/extensions/test-extension.raw" "$fake_root/var/lib/extensions/test-extension.raw.v/test-extension_1.0.raw" -+prepare_read_only_hierarchy "$fake_root" "$hierarchy" -+ -+run_systemd_sysext "$fake_root" merge -+extension_verify_after_merge "$fake_root" "$hierarchy" -e -h -+ -+run_systemd_sysext "$fake_root" unmerge -+extension_verify_after_unmerge "$fake_root" "$hierarchy" -h -+rm -rf "$fake_root/var/lib/extensions/test-extension.raw.v" -+) -+ -+( init_trap -+: "Check if vpick works for directory extensions if .v is a relative symlink" -+fake_root=${roots_dir:+"$roots_dir/vpick-dir-relative-symlink"} -+hierarchy=/opt -+ -+prepare_root "$fake_root" "$hierarchy" -+prepare_extension_image "$fake_root" "$hierarchy" -+mkdir -p "$fake_root/var/test-extension-vpick" -+mv -T "$fake_root/var/lib/extensions/test-extension" "$fake_root/var/test-extension-vpick/test-extension_1.0" -+ln -s "../../test-extension-vpick" "$fake_root/var/lib/extensions/test-extension.v" -+prepare_read_only_hierarchy "$fake_root" "$hierarchy" -+ -+run_systemd_sysext "$fake_root" merge -+extension_verify_after_merge "$fake_root" "$hierarchy" -e -h -+ -+run_systemd_sysext "$fake_root" unmerge -+extension_verify_after_unmerge "$fake_root" "$hierarchy" -h -+rm -rf "$fake_root/var/lib/extensions/test-extension.v" "$fake_root/var/test-extension-vpick" -+) -+ -+( init_trap -+: "Check if vpick works for directory extensions if .v is an absolute symlink" -+fake_root=${roots_dir:+"$roots_dir/vpick-dir-absolute-symlink"} -+hierarchy=/opt -+ -+prepare_root "$fake_root" "$hierarchy" -+prepare_extension_image "$fake_root" "$hierarchy" -+mkdir -p "$fake_root/var/test-extension-vpick" -+mv -T "$fake_root/var/lib/extensions/test-extension" "$fake_root/var/test-extension-vpick/test-extension_1.0" -+ln -s "/var/test-extension-vpick" "$fake_root/var/lib/extensions/test-extension.v" -+prepare_read_only_hierarchy "$fake_root" "$hierarchy" -+ -+run_systemd_sysext "$fake_root" merge -+extension_verify_after_merge "$fake_root" "$hierarchy" -e -h -+ -+run_systemd_sysext "$fake_root" unmerge -+extension_verify_after_unmerge "$fake_root" "$hierarchy" -h -+rm -rf "$fake_root/var/lib/extensions/test-extension.v" "$fake_root/var/test-extension-vpick" -+) -+ -+( init_trap -+: "Check if vpick works for image extensions if .v is a relative symlink" -+fake_root=${roots_dir:+"$roots_dir/vpick-image-relative-symlink"} -+hierarchy=/opt -+ -+prepare_root "$fake_root" "$hierarchy" -+prepare_extension_image_raw "$fake_root" "$hierarchy" -+mkdir -p "$fake_root/var/test-extension-vpick" -+mv "$fake_root/var/lib/extensions/test-extension.raw" "$fake_root/var/test-extension-vpick/test-extension_1.0.raw" -+ln -s "../../test-extension-vpick" "$fake_root/var/lib/extensions/test-extension.raw.v" -+prepare_read_only_hierarchy "$fake_root" "$hierarchy" -+ -+run_systemd_sysext "$fake_root" merge -+extension_verify_after_merge "$fake_root" "$hierarchy" -e -h -+ -+run_systemd_sysext "$fake_root" unmerge -+extension_verify_after_unmerge "$fake_root" "$hierarchy" -h -+rm -rf "$fake_root/var/lib/extensions/test-extension.raw.v" "$fake_root/var/test-extension-vpick" -+) -+ -+( init_trap -+: "Check if vpick works for image extensions if .v is an absolute symlink" -+fake_root=${roots_dir:+"$roots_dir/vpick-image-absolute-symlink"} -+hierarchy=/opt -+ -+prepare_root "$fake_root" "$hierarchy" -+prepare_extension_image_raw "$fake_root" "$hierarchy" -+mkdir -p "$fake_root/var/test-extension-vpick" -+mv "$fake_root/var/lib/extensions/test-extension.raw" "$fake_root/var/test-extension-vpick/test-extension_1.0.raw" -+ln -s "/var/test-extension-vpick" "$fake_root/var/lib/extensions/test-extension.raw.v" -+prepare_read_only_hierarchy "$fake_root" "$hierarchy" -+ -+run_systemd_sysext "$fake_root" merge -+extension_verify_after_merge "$fake_root" "$hierarchy" -e -h -+ -+run_systemd_sysext "$fake_root" unmerge -+extension_verify_after_unmerge "$fake_root" "$hierarchy" -h -+rm -rf "$fake_root/var/lib/extensions/test-extension.raw.v" "$fake_root/var/test-extension-vpick" -+) -+ -+( init_trap -+: "Check if vpick works for directory extensions if inside a .v there is a relative symlink" -+fake_root=${roots_dir:+"$roots_dir/vpick-dir-relative-symlink-inside"} -+hierarchy=/opt -+ -+prepare_root "$fake_root" "$hierarchy" -+prepare_extension_image "$fake_root" "$hierarchy" -+mv -T "$fake_root/var/lib/extensions/test-extension" "$fake_root/var/othername-extension" -+mkdir -p "$fake_root/var/lib/extensions/test-extension.v" -+ln -s "../../../othername-extension" "$fake_root/var/lib/extensions/test-extension.v/test-extension_1.0" -+prepare_read_only_hierarchy "$fake_root" "$hierarchy" -+ -+run_systemd_sysext "$fake_root" merge -+extension_verify_after_merge "$fake_root" "$hierarchy" -e -h -+ -+run_systemd_sysext "$fake_root" unmerge -+extension_verify_after_unmerge "$fake_root" "$hierarchy" -h -+rm -rf "$fake_root/var/lib/extensions/test-extension.v" "$fake_root/var/othername-extension" -+) -+ -+( init_trap -+: "Check if vpick works for directory extensions if inside a .v there is an absolute symlink" -+fake_root=${roots_dir:+"$roots_dir/vpick-dir-absolute-symlink-inside"} -+hierarchy=/opt -+ -+prepare_root "$fake_root" "$hierarchy" -+prepare_extension_image "$fake_root" "$hierarchy" -+mv -T "$fake_root/var/lib/extensions/test-extension" "$fake_root/var/othername-extension" -+mkdir -p "$fake_root/var/lib/extensions/test-extension.v" -+ln -s "/var/othername-extension" "$fake_root/var/lib/extensions/test-extension.v/test-extension_1.0" -+prepare_read_only_hierarchy "$fake_root" "$hierarchy" -+ -+run_systemd_sysext "$fake_root" merge -+extension_verify_after_merge "$fake_root" "$hierarchy" -e -h -+ -+run_systemd_sysext "$fake_root" unmerge -+extension_verify_after_unmerge "$fake_root" "$hierarchy" -h -+rm -rf "$fake_root/var/lib/extensions/test-extension.v" "$fake_root/var/othername-extension" -+) -+ -+( init_trap -+: "Check if vpick works for image extensions if inside a .v there is a relative symlink" -+fake_root=${roots_dir:+"$roots_dir/vpick-image-relative-symlink-inside"} -+hierarchy=/opt -+ -+prepare_root "$fake_root" "$hierarchy" -+prepare_extension_image_raw "$fake_root" "$hierarchy" -+mv "$fake_root/var/lib/extensions/test-extension.raw" "$fake_root/var/othername-extension.raw" -+mkdir -p "$fake_root/var/lib/extensions/test-extension.raw.v" -+ln -s "../../../othername-extension.raw" "$fake_root/var/lib/extensions/test-extension.raw.v/test-extension_1.0.raw" -+prepare_read_only_hierarchy "$fake_root" "$hierarchy" -+ -+run_systemd_sysext "$fake_root" merge -+extension_verify_after_merge "$fake_root" "$hierarchy" -e -h -+ -+run_systemd_sysext "$fake_root" unmerge -+extension_verify_after_unmerge "$fake_root" "$hierarchy" -h -+rm -rf "$fake_root/var/lib/extensions/test-extension.raw.v" "$fake_root/var/othername-extension.raw" -+) -+ -+( init_trap -+: "Check if vpick works for image extensions if inside a .v there is an absolute symlink" -+fake_root=${roots_dir:+"$roots_dir/vpick-image-absolute-symlink-inside"} -+hierarchy=/opt -+ -+prepare_root "$fake_root" "$hierarchy" -+prepare_extension_image_raw "$fake_root" "$hierarchy" -+mv "$fake_root/var/lib/extensions/test-extension.raw" "$fake_root/var/othername-extension.raw" -+mkdir -p "$fake_root/var/lib/extensions/test-extension.raw.v" -+ln -s "/var/othername-extension.raw" "$fake_root/var/lib/extensions/test-extension.raw.v/test-extension_1.0.raw" -+prepare_read_only_hierarchy "$fake_root" "$hierarchy" -+ -+run_systemd_sysext "$fake_root" merge -+extension_verify_after_merge "$fake_root" "$hierarchy" -e -h -+ -+run_systemd_sysext "$fake_root" unmerge -+extension_verify_after_unmerge "$fake_root" "$hierarchy" -h -+rm -rf "$fake_root/var/lib/extensions/test-extension.raw.v" "$fake_root/var/othername-extension.raw" -+) -+ -+# Done with the above vpick symlink tests for --root= and without -+ - } # End of run_sysext_tests - - --- -2.52.0 - diff --git a/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-apps/systemd/0013-sysext-Create-mutable-directory-with-the-right-mode.patch b/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-apps/systemd/0013-sysext-Create-mutable-directory-with-the-right-mode.patch deleted file mode 100644 index 6e9fa16df48..00000000000 --- a/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-apps/systemd/0013-sysext-Create-mutable-directory-with-the-right-mode.patch +++ /dev/null @@ -1,45 +0,0 @@ -From 773073faa6582a0bbb6f3c4d3b35a1a81fbffd81 Mon Sep 17 00:00:00 2001 -From: Kai Lueke -Date: Wed, 3 Dec 2025 00:02:32 +0900 -Subject: [PATCH 13/20] sysext: Create mutable directory with the right mode - -When the mutable directory didn't exist but gets created with ---mutable=yes then it used to get mode 700 and later it got patched by -a chmod because it is the top layer and must match the target hierarchy. -This meant one could not call the function to resolve the mutable -directory twice before the mount because it has a check for a proper -mode when the directory exists which is the case for the second call. -Also, this resulted in /var/lib/extensions.mutable getting created with -mode 700 which is not really required. - -Don't rely on the chmod for the upper dir but directly create the -directory with the right mode by first creating all missing directories -with 755 as a sane default and then changing the mode as needed for the -mutable directory. ---- - src/sysext/sysext.c | 6 +++++- - 1 file changed, 5 insertions(+), 1 deletion(-) - -diff --git a/src/sysext/sysext.c b/src/sysext/sysext.c -index 72da02cd89..d63cf39fbb 100644 ---- a/src/sysext/sysext.c -+++ b/src/sysext/sysext.c -@@ -952,10 +952,14 @@ static int resolve_mutable_directory( - if (!path_in_root) - return log_oom(); - -- r = mkdir_p(path_in_root, 0700); -+ /* This also creates /var/lib/extensions.mutable if needed */ -+ r = mkdir_p(path_in_root, 0755); - if (r < 0) - return log_error_errno(r, "Failed to create a directory '%s': %m", path_in_root); - -+ if (chmod(path_in_root, hierarchy_mode) < 0) -+ return log_error_errno(errno, "Failed to chmod directory '%s': %m", path_in_root); -+ - _cleanup_close_ int atfd = open(path_in_root, O_DIRECTORY|O_CLOEXEC); - if (atfd < 0) - return log_error_errno(errno, "Failed to open directory '%s': %m", path_in_root); --- -2.52.0 - diff --git a/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-apps/systemd/0015-sysext-Get-verity-user-certs-from-given-root.patch b/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-apps/systemd/0013-sysext-Get-verity-user-certs-from-given-root.patch similarity index 55% rename from sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-apps/systemd/0015-sysext-Get-verity-user-certs-from-given-root.patch rename to sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-apps/systemd/0013-sysext-Get-verity-user-certs-from-given-root.patch index 494a0e8dbe8..fec8574f78d 100644 --- a/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-apps/systemd/0015-sysext-Get-verity-user-certs-from-given-root.patch +++ b/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-apps/systemd/0013-sysext-Get-verity-user-certs-from-given-root.patch @@ -1,7 +1,7 @@ -From a228e6433b6febd4d252a3cb71bb0c2e63156b93 Mon Sep 17 00:00:00 2001 +From c910dda50a611fbada3f1166b9c1cf3b91091cc6 Mon Sep 17 00:00:00 2001 From: Kai Lueke Date: Thu, 27 Nov 2025 17:49:15 +0900 -Subject: [PATCH 15/20] sysext: Get verity user certs from given --root= +Subject: [PATCH 13/14] sysext: Get verity user certs from given --root= The verity user certs weren't looked up in the given --root= for systemd-sysext which made it fail to set up extensions with a strict @@ -10,151 +10,150 @@ Look up verity user certs from inside the --root= when we operate on images in it. The main use case where this matters is when the initrd sets up the extensions for the final system and thus systemd-sysext should do the same thing as it would do in the final system. - -Signed-off-by: Kai Lueke --- - src/core/namespace.c | 1 + - src/machine/image-dbus.c | 8 ++-- - src/machine/machined-varlink.c | 2 +- - src/mountfsd/mountwork.c | 1 + - src/portable/portabled-image-bus.c | 2 +- - src/shared/discover-image.c | 3 +- - src/shared/discover-image.h | 2 +- - src/shared/dissect-image.c | 22 ++++++----- - src/shared/dissect-image.h | 2 +- - src/sysext/sysext.c | 4 +- - test/units/TEST-50-DISSECT.sysext.sh | 58 ++++++++++++++++++++++++++++ - 11 files changed, 85 insertions(+), 20 deletions(-) + src/core/namespace.c | 3 ++- + src/machine/image-dbus.c | 8 ++++---- + src/machine/machined-varlink.c | 2 +- + src/mountfsd/mountwork.c | 1 + + src/portable/portabled-image-bus.c | 2 +- + src/shared/discover-image.c | 3 ++- + src/shared/discover-image.h | 2 +- + src/shared/dissect-image.c | 20 ++++++++++++-------- + src/shared/dissect-image.h | 2 +- + src/sysext/sysext.c | 4 ++-- + 10 files changed, 27 insertions(+), 20 deletions(-) diff --git a/src/core/namespace.c b/src/core/namespace.c -index 2e3b2a4177..95f8714ea6 100644 +index 0a78c4922a..ead9caafe6 100644 --- a/src/core/namespace.c +++ b/src/core/namespace.c -@@ -2593,6 +2593,7 @@ int setup_namespace(const NamespaceParameters *p, char **reterr_path) { +@@ -2596,7 +2596,8 @@ int setup_namespace(const NamespaceParameters *p, char **reterr_path) { + r = dissected_image_decrypt( dissected_image, - NULL, -+ NULL, +- NULL, ++ /* root= */ NULL, ++ /* passphrase= */ NULL, p->verity, + p->root_image_policy, dissect_image_flags); - if (r < 0) diff --git a/src/machine/image-dbus.c b/src/machine/image-dbus.c -index 8bc6565079..2857cd18be 100644 +index f7e3f7f93c..966948be44 100644 --- a/src/machine/image-dbus.c +++ b/src/machine/image-dbus.c -@@ -284,7 +284,7 @@ int bus_image_method_get_hostname( +@@ -295,7 +295,7 @@ int bus_image_method_get_hostname( int r; if (!image->metadata_valid) { -- r = image_read_metadata(image, &image_policy_container); -+ r = image_read_metadata(image, NULL, &image_policy_container); +- r = image_read_metadata(image, &image_policy_container, m->runtime_scope); ++ r = image_read_metadata(image, /* root= */ NULL, &image_policy_container, m->runtime_scope); if (r < 0) return sd_bus_error_set_errnof(error, r, "Failed to read image metadata: %m"); } -@@ -302,7 +302,7 @@ int bus_image_method_get_machine_id( +@@ -314,7 +314,7 @@ int bus_image_method_get_machine_id( int r; if (!image->metadata_valid) { -- r = image_read_metadata(image, &image_policy_container); -+ r = image_read_metadata(image, NULL, &image_policy_container); +- r = image_read_metadata(image, &image_policy_container, m->runtime_scope); ++ r = image_read_metadata(image, /* root= */ NULL, &image_policy_container, m->runtime_scope); if (r < 0) return sd_bus_error_set_errnof(error, r, "Failed to read image metadata: %m"); } -@@ -330,7 +330,7 @@ int bus_image_method_get_machine_info( +@@ -343,7 +343,7 @@ int bus_image_method_get_machine_info( int r; if (!image->metadata_valid) { -- r = image_read_metadata(image, &image_policy_container); -+ r = image_read_metadata(image, NULL, &image_policy_container); +- r = image_read_metadata(image, &image_policy_container, m->runtime_scope); ++ r = image_read_metadata(image, /* root= */ NULL, &image_policy_container, m->runtime_scope); if (r < 0) return sd_bus_error_set_errnof(error, r, "Failed to read image metadata: %m"); } -@@ -347,7 +347,7 @@ int bus_image_method_get_os_release( +@@ -361,7 +361,7 @@ int bus_image_method_get_os_release( int r; if (!image->metadata_valid) { -- r = image_read_metadata(image, &image_policy_container); -+ r = image_read_metadata(image, NULL, &image_policy_container); +- r = image_read_metadata(image, &image_policy_container, m->runtime_scope); ++ r = image_read_metadata(image, /* root= */ NULL, &image_policy_container, m->runtime_scope); if (r < 0) return sd_bus_error_set_errnof(error, r, "Failed to read image metadata: %m"); } diff --git a/src/machine/machined-varlink.c b/src/machine/machined-varlink.c -index 064ffab137..f3676e625c 100644 +index 56abcb9438..2697a87b6d 100644 --- a/src/machine/machined-varlink.c +++ b/src/machine/machined-varlink.c -@@ -621,7 +621,7 @@ static int list_image_one_and_maybe_read_metadata(sd_varlink *link, Image *image +@@ -627,7 +627,7 @@ static int list_image_one_and_maybe_read_metadata(Manager *m, sd_varlink *link, assert(image); if (should_acquire_metadata(am) && !image->metadata_valid) { -- r = image_read_metadata(image, &image_policy_container); -+ r = image_read_metadata(image, NULL, &image_policy_container); +- r = image_read_metadata(image, &image_policy_container, m->runtime_scope); ++ r = image_read_metadata(image, /* root= */ NULL, &image_policy_container, m->runtime_scope); if (r < 0 && am != ACQUIRE_METADATA_GRACEFUL) return log_debug_errno(r, "Failed to read image metadata: %m"); if (r < 0) diff --git a/src/mountfsd/mountwork.c b/src/mountfsd/mountwork.c -index bfb8c05c22..260a668525 100644 +index b078dc17a3..5ed4552d52 100644 --- a/src/mountfsd/mountwork.c +++ b/src/mountfsd/mountwork.c -@@ -495,6 +495,7 @@ static int vl_method_mount_image( +@@ -538,6 +538,7 @@ static int vl_method_mount_image( r = dissected_image_decrypt( di, -+ NULL, ++ /* root= */ NULL, p.password, &verity, - dissect_flags); + use_policy, diff --git a/src/portable/portabled-image-bus.c b/src/portable/portabled-image-bus.c -index e8bcb900ef..380a6d5d45 100644 +index 21d7bab262..b5dc0f5955 100644 --- a/src/portable/portabled-image-bus.c +++ b/src/portable/portabled-image-bus.c @@ -61,7 +61,7 @@ int bus_image_common_get_os_release( return 1; if (!image->metadata_valid) { -- r = image_read_metadata(image, &image_policy_service); -+ r = image_read_metadata(image, NULL, &image_policy_service); +- r = image_read_metadata(image, &image_policy_service, m->runtime_scope); ++ r = image_read_metadata(image, /* root= */ NULL, &image_policy_service, m->runtime_scope); if (r < 0) return sd_bus_error_set_errnof(error, r, "Failed to read image metadata: %m"); } diff --git a/src/shared/discover-image.c b/src/shared/discover-image.c -index 192ed18687..925bc6010b 100644 +index d480848473..03fffad37e 100644 --- a/src/shared/discover-image.c +++ b/src/shared/discover-image.c -@@ -1766,7 +1766,7 @@ int image_set_pool_limit(ImageClass class, uint64_t referenced_max) { +@@ -2087,7 +2087,7 @@ int image_setup_pool(RuntimeScope scope, ImageClass class, bool use_btrfs_subvol return 0; } --int image_read_metadata(Image *i, const ImagePolicy *image_policy) { -+int image_read_metadata(Image *i, const char *root, const ImagePolicy *image_policy) { +-int image_read_metadata(Image *i, const ImagePolicy *image_policy, RuntimeScope scope) { ++int image_read_metadata(Image *i, const char *root, const ImagePolicy *image_policy, RuntimeScope scope) { _cleanup_(release_lock_file) LockFile global_lock = LOCK_FILE_INIT, local_lock = LOCK_FILE_INIT; int r; -@@ -1892,6 +1892,7 @@ int image_read_metadata(Image *i, const ImagePolicy *image_policy) { +@@ -2213,6 +2213,7 @@ int image_read_metadata(Image *i, const ImagePolicy *image_policy, RuntimeScope r = dissected_image_decrypt( m, + root, /* passphrase= */ NULL, &verity, - flags); + image_policy, diff --git a/src/shared/discover-image.h b/src/shared/discover-image.h -index 7b5593f08d..4d64a306c8 100644 +index b28d961fb0..c1838f9959 100644 --- a/src/shared/discover-image.h +++ b/src/shared/discover-image.h -@@ -73,7 +73,7 @@ int image_name_lock(const char *name, int operation, LockFile *ret); - int image_set_limit(Image *i, uint64_t referenced_max); - int image_set_pool_limit(ImageClass class, uint64_t referenced_max); +@@ -78,7 +78,7 @@ int image_get_pool_usage(RuntimeScope scope, ImageClass class, uint64_t *ret); + int image_get_pool_limit(RuntimeScope scope, ImageClass class, uint64_t *ret); + int image_setup_pool(RuntimeScope scope, ImageClass class, bool use_btrfs_subvol, bool use_btrfs_quota); --int image_read_metadata(Image *i, const ImagePolicy *image_policy); -+int image_read_metadata(Image *i, const char *root, const ImagePolicy *image_policy); +-int image_read_metadata(Image *i, const ImagePolicy *image_policy, RuntimeScope scope); ++int image_read_metadata(Image *i, const char *root, const ImagePolicy *image_policy, RuntimeScope scope); bool image_in_search_path(RuntimeScope scope, ImageClass class, const char *root, const char *image); diff --git a/src/shared/dissect-image.c b/src/shared/dissect-image.c -index 64639000b1..cec4225e92 100644 +index 51725e6cfb..b2be12e842 100644 --- a/src/shared/dissect-image.c +++ b/src/shared/dissect-image.c -@@ -2740,7 +2740,7 @@ static char* dm_deferred_remove_clean(char *name) { +@@ -2810,7 +2810,7 @@ static char* dm_deferred_remove_clean(char *name) { } DEFINE_TRIVIAL_CLEANUP_FUNC(char *, dm_deferred_remove_clean); @@ -162,8 +161,8 @@ index 64639000b1..cec4225e92 100644 +static int validate_signature_userspace(const VeritySettings *verity, const char *root, DissectImageFlags flags) { int r; - if (!FLAGS_SET(flags, DISSECT_IMAGE_ALLOW_USERSPACE_VERITY)) { -@@ -2785,7 +2785,7 @@ static int validate_signature_userspace(const VeritySettings *verity, DissectIma + /* Returns > 0 if signature checks out, == 0 if not, < 0 on unexpected errors */ +@@ -2855,7 +2855,7 @@ static int validate_signature_userspace(const VeritySettings *verity, DissectIma /* Because installing a signature certificate into the kernel chain is so messy, let's optionally do * userspace validation. */ @@ -172,198 +171,120 @@ index 64639000b1..cec4225e92 100644 if (r < 0) return log_debug_errno(r, "Failed to enumerate certificates: %m"); if (strv_isempty(certs)) { -@@ -2847,6 +2847,7 @@ static int validate_signature_userspace(const VeritySettings *verity, DissectIma +@@ -2917,6 +2917,7 @@ static int validate_signature_userspace(const VeritySettings *verity, DissectIma static int do_crypt_activate_verity( struct crypt_device *cd, + const char *root, const char *name, const VeritySettings *verity, - DissectImageFlags flags) { -@@ -2894,7 +2895,7 @@ static int do_crypt_activate_verity( + DissectImageFlags flags, +@@ -2966,7 +2967,7 @@ static int do_crypt_activate_verity( /* Preferably propagate the original kernel error, so that the fallback logic can work, * as the device-mapper is finicky around concurrent activations of the same volume */ - k = validate_signature_userspace(verity, flags); + k = validate_signature_userspace(verity, root, flags); if (k < 0) - return r < 0 ? r : k; - if (k == 0) -@@ -2934,8 +2935,9 @@ static usec_t verity_timeout(void) { - - static int verity_partition( + return k; + if (k == 0) { +@@ -3026,6 +3027,7 @@ static int verity_partition( PartitionDesignator designator, -- DissectedPartition *m, -- DissectedPartition *v, -+ DissectedPartition *m, /* data partition */ -+ DissectedPartition *v, /* verity partition */ + DissectedPartition *m, /* data partition */ + DissectedPartition *v, /* verity partition */ + const char *root, /* The root to get user verity certs from (for a sysext) */ const VeritySettings *verity, DissectImageFlags flags, - DecryptedImage *d) { -@@ -3015,7 +3017,7 @@ static int verity_partition( + PartitionPolicyFlags policy_flags, +@@ -3111,7 +3113,7 @@ static int verity_partition( goto check; /* The device already exists. Let's check it. */ /* The symlink to the device node does not exist yet. Assume not activated, and let's activate it. */ -- r = do_crypt_activate_verity(cd, name, verity, flags); -+ r = do_crypt_activate_verity(cd, root, name, verity, flags); +- r = do_crypt_activate_verity(cd, name, verity, flags, policy_flags); ++ r = do_crypt_activate_verity(cd, root, name, verity, flags, policy_flags); if (r >= 0) goto try_open; /* The device is activated. Let's open it. */ /* libdevmapper can return EINVAL when the device is already in the activation stage. -@@ -3109,7 +3111,7 @@ static int verity_partition( +@@ -3205,7 +3207,7 @@ static int verity_partition( */ sym_crypt_free(cd); cd = NULL; -- return verity_partition(designator, m, v, verity, flags & ~DISSECT_IMAGE_VERITY_SHARE, d); -+ return verity_partition(designator, m, v, root, verity, flags & ~DISSECT_IMAGE_VERITY_SHARE, d); +- return verity_partition(designator, m, v, verity, flags & ~DISSECT_IMAGE_VERITY_SHARE, policy_flags, d); ++ return verity_partition(designator, m, v, root, verity, flags & ~DISSECT_IMAGE_VERITY_SHARE, policy_flags, d); } return log_debug_errno(SYNTHETIC_ERRNO(EBUSY), "All attempts to activate verity device %s failed.", name); -@@ -3129,6 +3131,7 @@ success: +@@ -3225,6 +3227,7 @@ success: int dissected_image_decrypt( DissectedImage *m, + const char *root, /* The root to get user verity certs from (for a sysext) */ const char *passphrase, const VeritySettings *verity, - DissectImageFlags flags) { -@@ -3176,7 +3179,7 @@ int dissected_image_decrypt( - if (k >= 0) { - flags |= getenv_bool("SYSTEMD_VERITY_SHARING") != 0 ? DISSECT_IMAGE_VERITY_SHARE : 0; + const ImagePolicy *policy, +@@ -3281,7 +3284,7 @@ int dissected_image_decrypt( -- r = verity_partition(i, p, m->partitions + k, verity, flags, d); -+ r = verity_partition(i, p, m->partitions + k, root, verity, flags, d); + k = partition_verity_hash_of(i); + if (k >= 0) { +- r = verity_partition(i, p, m->partitions + k, verity, flags, fl, d); ++ r = verity_partition(i, p, m->partitions + k, root, verity, flags, fl, d); if (r < 0) return r; } -@@ -3209,7 +3212,7 @@ int dissected_image_decrypt_interactively( +@@ -3314,7 +3317,7 @@ int dissected_image_decrypt_interactively( n--; for (;;) { -- r = dissected_image_decrypt(m, passphrase, verity, flags); -+ r = dissected_image_decrypt(m, NULL, passphrase, verity, flags); +- r = dissected_image_decrypt(m, passphrase, verity, image_policy, flags); ++ r = dissected_image_decrypt(m, /* root= */ NULL, passphrase, verity, image_policy, flags); if (r >= 0) return r; if (r == -EKEYREJECTED) -@@ -4455,6 +4458,7 @@ int verity_dissect_and_mount( - r = dissected_image_decrypt( - dissected_image, - NULL, -+ NULL, - verity, - dissect_image_flags); - if (r < 0) +@@ -4564,7 +4567,8 @@ int verity_dissect_and_mount( + + r = dissected_image_decrypt( + dissected_image, +- NULL, ++ /* root= */ NULL, ++ /* passphrase= */ NULL, + verity, + image_policy, + dissect_image_flags); diff --git a/src/shared/dissect-image.h b/src/shared/dissect-image.h -index 97431bca67..004dc46dc3 100644 +index 951ae66055..674a87f684 100644 --- a/src/shared/dissect-image.h +++ b/src/shared/dissect-image.h -@@ -171,7 +171,7 @@ void dissected_image_close(DissectedImage *m); +@@ -170,7 +170,7 @@ void dissected_image_close(DissectedImage *m); DissectedImage* dissected_image_unref(DissectedImage *m); DEFINE_TRIVIAL_CLEANUP_FUNC(DissectedImage*, dissected_image_unref); --int dissected_image_decrypt(DissectedImage *m, const char *passphrase, const VeritySettings *verity, DissectImageFlags flags); -+int dissected_image_decrypt(DissectedImage *m, const char *root, const char *passphrase, const VeritySettings *verity, DissectImageFlags flags); - int dissected_image_decrypt_interactively(DissectedImage *m, const char *passphrase, const VeritySettings *verity, DissectImageFlags flags); +-int dissected_image_decrypt(DissectedImage *m, const char *passphrase, const VeritySettings *verity, const ImagePolicy *image_policy, DissectImageFlags flags); ++int dissected_image_decrypt(DissectedImage *m, const char *root, const char *passphrase, const VeritySettings *verity, const ImagePolicy *image_policy, DissectImageFlags flags); + int dissected_image_decrypt_interactively(DissectedImage *m, const char *passphrase, const VeritySettings *verity, const ImagePolicy *image_policy, DissectImageFlags flags); int dissected_image_mount(DissectedImage *m, const char *where, uid_t uid_shift, uid_t uid_range, int userns_fd, DissectImageFlags flags); int dissected_image_mount_and_warn(DissectedImage *m, const char *where, uid_t uid_shift, uid_t uid_range, int userns_fd, DissectImageFlags flags); diff --git a/src/sysext/sysext.c b/src/sysext/sysext.c -index bfe71f2267..20acc60724 100644 +index 30e33a01e5..76d84f108a 100644 --- a/src/sysext/sysext.c +++ b/src/sysext/sysext.c -@@ -1888,7 +1888,7 @@ static int merge_subprocess( +@@ -1965,7 +1965,7 @@ static int merge_subprocess( return log_error_errno(r, "Failed to create origin verity entry for '%s': %m", img->name); } -- r = dissected_image_decrypt(m, /* passphrase= */ NULL, &verity_settings, flags); -+ r = dissected_image_decrypt(m, arg_root, /* passphrase= */ NULL, &verity_settings, flags); +- r = dissected_image_decrypt(m, /* passphrase= */ NULL, &verity_settings, pick_image_policy(img), flags); ++ r = dissected_image_decrypt(m, arg_root, /* passphrase= */ NULL, &verity_settings, pick_image_policy(img), flags); if (r < 0) return r; -@@ -2312,7 +2312,7 @@ static int image_discover_and_read_metadata(ImageClass image_class, Hashmap **re +@@ -2402,7 +2402,7 @@ static int image_discover_and_read_metadata(ImageClass image_class, Hashmap **re return log_error_errno(r, "Failed to discover images: %m"); HASHMAP_FOREACH(img, images) { -- r = image_read_metadata(img, image_class_info[image_class].default_image_policy); -+ r = image_read_metadata(img, arg_root, image_class_info[image_class].default_image_policy); +- r = image_read_metadata(img, image_class_info[image_class].default_image_policy, RUNTIME_SCOPE_SYSTEM); ++ r = image_read_metadata(img, arg_root, image_class_info[image_class].default_image_policy, RUNTIME_SCOPE_SYSTEM); if (r < 0) return log_error_errno(r, "Failed to read metadata for image %s: %m", img->name); } -diff --git a/test/units/TEST-50-DISSECT.sysext.sh b/test/units/TEST-50-DISSECT.sysext.sh -index 05f691b457..6e64eea492 100755 ---- a/test/units/TEST-50-DISSECT.sysext.sh -+++ b/test/units/TEST-50-DISSECT.sysext.sh -@@ -181,6 +181,52 @@ prepare_extension_image_raw() { - prepend_trap "rm -rf ${ext_dir@Q}.raw" - } - -+prepare_extension_image_raw_verity() { -+ local root=${1:-} -+ local hierarchy=${2:?} -+ local ext_dir ext_release name tmpcrt -+ -+ name="test-extension" -+ ext_dir="$root/var/lib/extensions/$name" -+ ext_release="$ext_dir/usr/lib/extension-release.d/extension-release.$name" -+ tmpcrt=$(mktemp --directory "/tmp/test-sysext.crt.XXXXXXXXXX") -+ -+ prepend_trap "rm -rf ${ext_dir@Q} ${ext_dir@Q}.raw '$root/etc/verity.d/test-ext.crt' '$tmpcrt'" -+ -+ mkdir -p "${ext_release%/*}" -+ echo "ID=_any" >"$ext_release" -+ mkdir -p "$ext_dir/$hierarchy" -+ touch "$ext_dir$hierarchy/preexisting-file-in-extension-image" -+ tee >"$tmpcrt/verity.openssl.cnf" < +Date: Mon, 20 Apr 2026 17:47:14 +0200 +Subject: [PATCH 14/14] Fix name_to_handle_at_try_unique_mntid_fid for empty + paths + +Signed-off-by: Krzesimir Nowak +--- + src/basic/mountpoint-util.c | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/src/basic/mountpoint-util.c b/src/basic/mountpoint-util.c +index aefbed6346..ce5698b772 100644 +--- a/src/basic/mountpoint-util.c ++++ b/src/basic/mountpoint-util.c +@@ -156,6 +156,10 @@ int name_to_handle_at_try_unique_mntid_fid( + + int mnt_id = -1, r; + ++ if (isempty(path)) { ++ flags |= AT_EMPTY_PATH; ++ } ++ + assert(fd >= 0 || fd == AT_FDCWD); + + /* First issues name_to_handle_at() with AT_HANDLE_MNT_ID_UNIQUE and AT_HANDLE_FID. +-- +2.52.0 + diff --git a/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-apps/systemd/0016-sysext-introduce-global-config-file.patch b/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-apps/systemd/0016-sysext-introduce-global-config-file.patch deleted file mode 100644 index 784f4fdbc5d..00000000000 --- a/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-apps/systemd/0016-sysext-introduce-global-config-file.patch +++ /dev/null @@ -1,89 +0,0 @@ -From aeacbbca05e0479c0768c4b368a2ea68668d20bc Mon Sep 17 00:00:00 2001 -From: Emanuele Giuseppe Esposito -Date: Thu, 17 Jul 2025 05:03:54 -0400 -Subject: [PATCH 16/20] sysext: introduce global config file - -Introduce systemd/{sysext/confext}.conf and systemd/{sysext/confext}.conf.d to provide an -alternative way of setting the cmdline options in systemd-sysext. - -The config file has to have a [Sysext] or [Confext] option respectively, -which will be overridden by the cmdline. - -As an example of supported config, add Mutable= option. ---- - src/sysext/sysext.c | 38 ++++++++++++++++++++++++++++++++++++++ - 1 file changed, 38 insertions(+) - -diff --git a/src/sysext/sysext.c b/src/sysext/sysext.c -index 20acc60724..332fc55bb3 100644 ---- a/src/sysext/sysext.c -+++ b/src/sysext/sysext.c -@@ -18,6 +18,7 @@ - #include "bus-util.h" - #include "capability-util.h" - #include "chase.h" -+#include "conf-parser.h" - #include "devnum-util.h" - #include "discover-image.h" - #include "dissect-image.h" -@@ -150,6 +151,36 @@ static int parse_mutable_mode(const char *p) { - return mutable_mode_from_string(p); - } - -+static DEFINE_CONFIG_PARSE_ENUM(config_parse_mutable_mode, mutable_mode, MutableMode); -+ -+static int parse_config_file(ImageClass image_class) { -+ const char *section = image_class == IMAGE_SYSEXT ? "SysExt" : "ConfExt"; -+ const ConfigTableItem items[] = { -+ { section, "Mutable", config_parse_mutable_mode, 0, &arg_mutable }, -+ {} -+ }; -+ _cleanup_free_ char *config_file = NULL; -+ int r; -+ -+ config_file = strjoin("systemd/", image_class_info[image_class].short_identifier, ".conf"); -+ if (!config_file) -+ return log_oom(); -+ -+ r = config_parse_standard_file_with_dropins_full( -+ arg_root, -+ config_file, -+ image_class == IMAGE_SYSEXT ? "SysExt\0" : "ConfExt\0", -+ config_item_table_lookup, items, -+ CONFIG_PARSE_WARN, -+ /* userdata = */ NULL, -+ /* ret_stats_by_path = */ NULL, -+ /* ret_dropin_files = */ NULL); -+ if (r < 0) -+ return r; -+ -+ return 0; -+} -+ - static int is_our_mount_point( - ImageClass image_class, - const char *p) { -@@ -2828,6 +2859,7 @@ static int run(int argc, char *argv[]) { - - arg_image_class = invoked_as(argv, "systemd-confext") ? IMAGE_CONFEXT : IMAGE_SYSEXT; - -+ /* Parse environment variable first */ - env_var = getenv(image_class_info[arg_image_class].mode_env); - if (env_var) { - r = parse_mutable_mode(env_var); -@@ -2838,6 +2870,12 @@ static int run(int argc, char *argv[]) { - arg_mutable = r; - } - -+ /* Parse configuration file */ -+ r = parse_config_file(arg_image_class); -+ if (r < 0) -+ log_warning_errno(r, "Failed to parse global config file, ignoring: %m"); -+ -+ /* Parse command line */ - r = parse_argv(argc, argv); - if (r <= 0) - return r; --- -2.52.0 - diff --git a/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-apps/systemd/0017-man-sysext.conf-add-systemd-sysext-config-files.patch b/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-apps/systemd/0017-man-sysext.conf-add-systemd-sysext-config-files.patch deleted file mode 100644 index e8b406a8194..00000000000 --- a/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-apps/systemd/0017-man-sysext.conf-add-systemd-sysext-config-files.patch +++ /dev/null @@ -1,156 +0,0 @@ -From d8eabd012273376febada7ad6c9481a360c2e113 Mon Sep 17 00:00:00 2001 -From: Emanuele Giuseppe Esposito -Date: Thu, 17 Jul 2025 05:28:21 -0400 -Subject: [PATCH 17/20] man/sysext.conf: add systemd-sysext config files - -Add sysext.conf, which similar to other configs like coredump, will be -searched in: -/{etc run usr/lib}/systemd/{sysext/confext}.conf -but also -/{etc run usr/lib}/systemd/{sysext/confext}.conf.d/* - -This config is an alternative to command line options, especially useful -if we want to extend the service units without modifying them. ---- - man/rules/meson.build | 1 + - man/sysext.conf.xml | 89 ++++++++++++++++++++++++++++++++++++++++++ - man/systemd-sysext.xml | 8 +++- - 3 files changed, 97 insertions(+), 1 deletion(-) - create mode 100644 man/sysext.conf.xml - -diff --git a/man/rules/meson.build b/man/rules/meson.build -index 33f44b0659..6284183756 100644 ---- a/man/rules/meson.build -+++ b/man/rules/meson.build -@@ -1138,6 +1138,7 @@ manpages = [ - 'systemd-sysext-initrd.service', - 'systemd-sysext.service'], - 'ENABLE_SYSEXT'], -+ ['sysext.conf', '5', ['confext.conf'], 'ENABLE_SYSEXT'], - ['systemd-system-update-generator', '8', [], ''], - ['systemd-system.conf', - '5', -diff --git a/man/sysext.conf.xml b/man/sysext.conf.xml -new file mode 100644 -index 0000000000..cdd88f2447 ---- /dev/null -+++ b/man/sysext.conf.xml -@@ -0,0 +1,89 @@ -+ -+ -+ -+ -+ -+ -+ -+ sysext.conf -+ systemd -+ -+ -+ -+ sysext.conf -+ 5 -+ -+ -+ -+ sysext.conf -+ confext.conf -+ sysext.conf.d -+ confext.conf.d -+ Configuration files for systemd-sysext -+ -+ -+ -+ /etc/systemd/sysext.conf -+ /etc/systemd/sysext.conf.d/*.conf -+ /run/systemd/sysext.conf -+ /run/systemd/sysext.conf.d/*.conf -+ /usr/lib/systemd/sysext.conf -+ /usr/lib/systemd/sysext.conf.d/*.conf -+ /etc/systemd/confext.conf -+ /etc/systemd/confext.conf.d/*.conf -+ /run/systemd/confext.conf -+ /run/systemd/confext.conf.d/*.conf -+ /usr/lib/systemd/confext.conf -+ /usr/lib/systemd/confext.conf.d/*.conf -+ -+ -+ -+ Description -+ -+ These configuration files control the behavior of -+ systemd-sysext8 and -+ systemd-confext8. -+ They are especially useful when needing to customize the behavior of the -+ respective extension service units. -+ -+ -+ -+ -+ -+ Options -+ -+ The following options are understood in both the [Sysext] and -+ [Confext] sections: -+ -+ -+ Section Options -+ -+ -+ -+ Mutable= -+ Set the mutable mode for system extensions. Takes one of no, -+ yes, auto, import, -+ ephemeral, or ephemeral-import. For details about the modes, -+ see the option in -+ systemd-sysext8. -+ Defaults to no. -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ See Also -+ -+ systemd1 -+ systemd-sysext8 -+ systemd.syntax7 -+ -+ -+ -+ -diff --git a/man/systemd-sysext.xml b/man/systemd-sysext.xml -index 3f60c85dba..6df2d94e9f 100644 ---- a/man/systemd-sysext.xml -+++ b/man/systemd-sysext.xml -@@ -74,7 +74,12 @@ - System extension images are strictly read-only by default. On mutable host file systems, - /usr/ and /opt/ hierarchies become read-only while extensions - are merged, unless mutability is enabled. Mutability may be enabled via the -- option; see "Mutability" below for more information. -+ option and the Mutable= option in the configuration file; -+ see "Mutability" below for more information. -+ -+ Various command options can be configured globally via configuration files. See -+ sysext.conf5 -+ for details. - - System extensions are supposed to be purely additive, i.e. they are supposed to include only files - that do not exist in the underlying basic OS image. However, the underlying mechanism (overlayfs) also -@@ -491,6 +496,7 @@ - See Also - - systemd1 -+ sysext.conf5 - systemd-nspawn1 - systemd-stub7 - importctl1 --- -2.52.0 - diff --git a/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-apps/systemd/0018-sysext-support-ImagePolicy-global-config-option.patch b/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-apps/systemd/0018-sysext-support-ImagePolicy-global-config-option.patch deleted file mode 100644 index 9fe86a6d78a..00000000000 --- a/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-apps/systemd/0018-sysext-support-ImagePolicy-global-config-option.patch +++ /dev/null @@ -1,50 +0,0 @@ -From dccee58738d9602dd62f482ed11152f51b4da896 Mon Sep 17 00:00:00 2001 -From: Emanuele Giuseppe Esposito -Date: Thu, 17 Jul 2025 10:16:24 -0400 -Subject: [PATCH 18/20] sysext: support ImagePolicy global config option - -Just as Mutable=, support ImagePolicy in systemd/{sysext/confext}.conf and -dropins in systemd/{sysext.confext}.conf.d/* configs. ---- - man/sysext.conf.xml | 12 ++++++++++++ - src/sysext/sysext.c | 1 + - 2 files changed, 13 insertions(+) - -diff --git a/man/sysext.conf.xml b/man/sysext.conf.xml -index cdd88f2447..f717b74426 100644 ---- a/man/sysext.conf.xml -+++ b/man/sysext.conf.xml -@@ -73,6 +73,18 @@ - - - -+ -+ -+ ImagePolicy= -+ Set the image policy. Takes an image policy string as argument, as per -+ systemd.image-policy7. -+ For details, see the option in -+ systemd-sysext8. -+ -+ -+ -+ -+ - - - -diff --git a/src/sysext/sysext.c b/src/sysext/sysext.c -index 332fc55bb3..9656e975c4 100644 ---- a/src/sysext/sysext.c -+++ b/src/sysext/sysext.c -@@ -157,6 +157,7 @@ static int parse_config_file(ImageClass image_class) { - const char *section = image_class == IMAGE_SYSEXT ? "SysExt" : "ConfExt"; - const ConfigTableItem items[] = { - { section, "Mutable", config_parse_mutable_mode, 0, &arg_mutable }, -+ { section, "ImagePolicy", config_parse_image_policy, 0, &arg_image_policy }, - {} - }; - _cleanup_free_ char *config_file = NULL; --- -2.52.0 - diff --git a/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-apps/systemd/0019-sysext-Fix-config-file-support-with-root.patch b/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-apps/systemd/0019-sysext-Fix-config-file-support-with-root.patch deleted file mode 100644 index 2620c76742d..00000000000 --- a/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-apps/systemd/0019-sysext-Fix-config-file-support-with-root.patch +++ /dev/null @@ -1,183 +0,0 @@ -From 5d8c8737ea0b44c50e4e60a9c93c7321051f7955 Mon Sep 17 00:00:00 2001 -From: Kai Lueke -Date: Thu, 11 Dec 2025 19:49:20 +0900 -Subject: [PATCH 19/20] sysext: Fix config file support with --root= - -Config files for --root= weren't picked up as expected because the ---root= flag got parsed after the config file. -Switch the order of config file and CLI flag parsing while letting the -CLI flags overwrite things set by the config files by tracking state -during parsing. ---- - src/sysext/sysext.c | 38 +++++++++++++++----- - test/units/TEST-50-DISSECT.sysext.sh | 52 ++++++++++++++++++++++++++++ - 2 files changed, 82 insertions(+), 8 deletions(-) - -diff --git a/src/sysext/sysext.c b/src/sysext/sysext.c -index 9656e975c4..1fb0c72e48 100644 ---- a/src/sysext/sysext.c -+++ b/src/sysext/sysext.c -@@ -92,8 +92,10 @@ static bool arg_no_reload = false; - static bool arg_always_refresh = false; - static int arg_noexec = -1; - static ImagePolicy *arg_image_policy = NULL; -+static bool arg_image_policy_set = false; /* Tracks initialization */ - static bool arg_varlink = false; - static MutableMode arg_mutable = MUTABLE_NO; -+static bool arg_mutable_set = false; /* Tracks initialization */ - - /* Is set to IMAGE_CONFEXT when systemd is called with the confext functionality instead of the default */ - static ImageClass arg_image_class = IMAGE_SYSEXT; -@@ -154,10 +156,13 @@ static int parse_mutable_mode(const char *p) { - static DEFINE_CONFIG_PARSE_ENUM(config_parse_mutable_mode, mutable_mode, MutableMode); - - static int parse_config_file(ImageClass image_class) { -+ _cleanup_(image_policy_freep) ImagePolicy *config_image_policy = NULL; -+ MutableMode config_mutable = MUTABLE_NO; - const char *section = image_class == IMAGE_SYSEXT ? "SysExt" : "ConfExt"; -+ const char *sections = image_class == IMAGE_SYSEXT ? "SysExt\0" : "ConfExt\0"; - const ConfigTableItem items[] = { -- { section, "Mutable", config_parse_mutable_mode, 0, &arg_mutable }, -- { section, "ImagePolicy", config_parse_image_policy, 0, &arg_image_policy }, -+ { section, "Mutable", config_parse_mutable_mode, 0, &config_mutable }, -+ { section, "ImagePolicy", config_parse_image_policy, 0, &config_image_policy }, - {} - }; - _cleanup_free_ char *config_file = NULL; -@@ -170,7 +175,7 @@ static int parse_config_file(ImageClass image_class) { - r = config_parse_standard_file_with_dropins_full( - arg_root, - config_file, -- image_class == IMAGE_SYSEXT ? "SysExt\0" : "ConfExt\0", -+ sections, - config_item_table_lookup, items, - CONFIG_PARSE_WARN, - /* userdata = */ NULL, -@@ -179,6 +184,17 @@ static int parse_config_file(ImageClass image_class) { - if (r < 0) - return r; - -+ /* Because this runs after parse_argv we only overwrite when things aren't set yet. */ -+ if (!arg_mutable_set) { -+ arg_mutable = config_mutable; -+ arg_mutable_set = true; -+ } -+ -+ if (!arg_image_policy_set) { -+ arg_image_policy = TAKE_PTR(config_image_policy); -+ arg_image_policy_set = true; -+ } -+ - return 0; - } - -@@ -2794,6 +2810,9 @@ static int parse_argv(int argc, char *argv[]) { - r = parse_image_policy_argument(optarg, &arg_image_policy); - if (r < 0) - return r; -+ /* When the CLI flag is given we initialize even if NULL -+ * so that the config file entry won't overwrite it */ -+ arg_image_policy_set = true; - break; - - case ARG_NOEXEC: -@@ -2819,6 +2838,7 @@ static int parse_argv(int argc, char *argv[]) { - if (r < 0) - return log_error_errno(r, "Failed to parse argument to --mutable=: %s", optarg); - arg_mutable = r; -+ arg_mutable_set = true; - break; - - case '?': -@@ -2871,11 +2891,6 @@ static int run(int argc, char *argv[]) { - arg_mutable = r; - } - -- /* Parse configuration file */ -- r = parse_config_file(arg_image_class); -- if (r < 0) -- log_warning_errno(r, "Failed to parse global config file, ignoring: %m"); -- - /* Parse command line */ - r = parse_argv(argc, argv); - if (r <= 0) -@@ -2888,6 +2903,13 @@ static int run(int argc, char *argv[]) { - if (r < 0) - return log_error_errno(r, "Failed to parse environment variable: %m"); - -+ /* Parse configuration file after argv because it needs --root=. -+ * The config entries will not overwrite values set already by -+ * env/argv because we track initialization. */ -+ r = parse_config_file(arg_image_class); -+ if (r < 0) -+ log_warning_errno(r, "Failed to parse global config file, ignoring: %m"); -+ - if (arg_varlink) { - _cleanup_(sd_varlink_server_unrefp) sd_varlink_server *varlink_server = NULL; - -diff --git a/test/units/TEST-50-DISSECT.sysext.sh b/test/units/TEST-50-DISSECT.sysext.sh -index 6e64eea492..7a3146a0e7 100755 ---- a/test/units/TEST-50-DISSECT.sysext.sh -+++ b/test/units/TEST-50-DISSECT.sysext.sh -@@ -1501,6 +1501,58 @@ run_systemd_sysext "$fake_root" unmerge - extension_verify_after_unmerge "$fake_root" "$hierarchy" -h - ) - -+ -+( init_trap -+: "Check config file support for --root=" -+fake_root=${roots_dir:+"$roots_dir/config-file"} -+hierarchy=/opt -+extension_data_dir="$fake_root/var/lib/extensions.mutable$hierarchy" -+ -+[[ "$FSTYPE" == "fuseblk" ]] && exit 0 -+if [ "$roots_dir" = "" ]; then -+ echo >&2 "Skipping test when --root= is not used" -+ exit 0 -+fi -+ -+prepare_root "$fake_root" "$hierarchy" -+prepare_extension_image_raw "$fake_root" "$hierarchy" -+prepare_extension_mutable_dir "$extension_data_dir" -+prepare_read_only_hierarchy "$fake_root" "$hierarchy" -+ -+mkdir -p "$fake_root/etc/systemd/" -+{ echo "[SysExt]" ; echo "Mutable=auto" ; } > "$fake_root/etc/systemd/sysext.conf" -+# Config file should be picked up with --root= set -+run_systemd_sysext "$fake_root" merge -+MNTOPT=$(findmnt "$fake_root$hierarchy" --first-only --direction backward --raw --noheadings -o VFS-OPTIONS | grep -o rw || true) -+if [ "$MNTOPT" != "rw" ]; then -+ echo >&2 "Merge did not pick up mutable setting from config file" -+ exit 1 -+fi -+extension_verify_after_merge "$fake_root" "$hierarchy" -e -h -u -+run_systemd_sysext "$fake_root" unmerge -+ -+# CLI arg should be able to overwrite config file -+run_systemd_sysext "$fake_root" merge --mutable=no -+MNTOPT=$(findmnt "$fake_root$hierarchy" --first-only --direction backward --raw --noheadings -o VFS-OPTIONS | grep -o ro || true) -+if [ "$MNTOPT" != "ro" ]; then -+ echo >&2 "Merge did not pick up CLI arg to overwrite mutable setting from config file" -+ exit 1 -+fi -+extension_verify_after_merge "$fake_root" "$hierarchy" -e -h -+run_systemd_sysext "$fake_root" unmerge -+ -+{ echo "[SysExt]" ; echo "ImagePolicy=root=signed+absent:usr=signed+absent" ; } > "$fake_root/etc/systemd/sysext.conf" -+# Config file should be picked up with --root= set -+if run_systemd_sysext "$fake_root" merge; then -+ echo >&2 "Merge did not fail with strict image policy in config file" -+ exit 1 -+fi -+# CLI arg should be able to overwrite config file -+run_systemd_sysext "$fake_root" merge --image-policy="*" -+extension_verify_after_merge "$fake_root" "$hierarchy" -e -h -+run_systemd_sysext "$fake_root" unmerge -+) -+ - } # End of run_sysext_tests - - --- -2.52.0 - diff --git a/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-apps/systemd/0020-Drop-machine-id-OSC-event-field-if-etc-machine-id-do.patch b/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-apps/systemd/0020-Drop-machine-id-OSC-event-field-if-etc-machine-id-do.patch deleted file mode 100644 index 001d72a0575..00000000000 --- a/sdk_container/src/third_party/coreos-overlay/coreos/user-patches/sys-apps/systemd/0020-Drop-machine-id-OSC-event-field-if-etc-machine-id-do.patch +++ /dev/null @@ -1,41 +0,0 @@ -From 4bf1282faa430669eba4169837657f00f2cba019 Mon Sep 17 00:00:00 2001 -From: Justin Kromlinger -Date: Wed, 8 Oct 2025 16:55:09 +0200 -Subject: [PATCH 20/20] Drop `machine-id` OSC event field if /etc/machine-id - doesn't exist - -While we can safely assume that `/proc/sys/kernel/random/boot_id` -exists, the same can't be said for `/etc/machine-id` in environments -where systemd is installed, but not running. An example would be OCI -containers like with the official Arch Linux image, see [0]. - -Without this check the prompt would constantly output `/etc/machine-id: -no such file or directory` with the OSC events introduced in dadbb34 -(v258). - -[0] https://gitlab.archlinux.org/archlinux/archlinux-docker/-/issues/107 - -(cherry picked from commit 0fe45b98dd737da86fcbb703809ebf2163c397f3) ---- - profile.d/80-systemd-osc-context.sh | 5 ++++- - 1 file changed, 4 insertions(+), 1 deletion(-) - -diff --git a/profile.d/80-systemd-osc-context.sh b/profile.d/80-systemd-osc-context.sh -index a0ac858828..ead61b6753 100644 ---- a/profile.d/80-systemd-osc-context.sh -+++ b/profile.d/80-systemd-osc-context.sh -@@ -28,7 +28,10 @@ __systemd_osc_context_escape() { - } - - __systemd_osc_context_common() { -- printf ";user=%s;hostname=%s;machineid=%s;bootid=%s;pid=%s" "$USER" "$HOSTNAME" "$(> "${S}"/src/feature.h || die "echo failed" - echo '#define SYS_GVIMRC_FILE "'${EPREFIX}'/etc/vim/gvimrc"' \ - >> "${S}"/src/feature.h || die "echo failed" - - # Use exuberant ctags which installs as /usr/bin/exuberant-ctags. - # Hopefully this pattern won't break for a while at least. - # This fixes bug #29398 (27 Sep 2003 agriffis) - sed -i -e \ - 's/\> "$c" || die "echo failed" - done - - # conditionally make the manpager.sh script - if use vim-pager; then - cat > "${S}"/runtime/macros/manpager.sh <<-_EOF_ || die "cat EOF failed" - #!/bin/sh - sed -e 's/\x1B\[[[:digit:]]\+m//g' | col -b | \\ - vim \\ - -c 'let no_plugin_maps = 1' \\ - -c 'set nolist nomod ft=man ts=8' \\ - -c 'let g:showmarks_enable=0' \\ - -c 'runtime! macros/less.vim' - - _EOF_ - fi - - # Try to avoid sandbox problems. Bug #114475. - if [[ -d "${S}"/src/po ]]; then - sed -i -e \ - '/-S check.vim/s,..VIM.,ln -s $(VIM) testvim \; ./testvim -X,' \ - "${S}"/src/po/Makefile || die "sed failed" - fi - - cp -v "${S}"/src/config.mk.dist "${S}"/src/auto/config.mk || die "cp failed" - - # Fix bug 18245: Prevent "make" from the following chain: - # (1) Notice configure.ac is newer than auto/configure - # (2) Rebuild auto/configure - # (3) Notice auto/configure is newer than auto/config.mk - # (4) Run ./configure (with wrong args) to remake auto/config.mk - sed -i 's# auto/config\.mk:#:#' src/Makefile || die "Makefile sed failed" - rm src/auto/configure || die "rm failed" - - # bug 908961 - if use elibc_musl ; then - sed -i -e '/ja.sjis/d' src/po/Make_all.mak || die - fi -} - -src_configure() { - - # Fix bug #37354: Disallow -funroll-all-loops on amd64 - # Bug #57859 suggests that we want to do this for all archs - filter-flags -funroll-all-loops - - # Fix bug 76331: -O3 causes problems, use -O2 instead. We'll do this for - # everyone since previous flag filtering bugs have turned out to affect - # multiple archs... - replace-flags -O3 -O2 - - emake -j1 -C src autoconf - - # This should fix a sandbox violation (see bug #24447). The hvc - # things are for ppc64, see bug #86433. - for file in /dev/pty/s* /dev/console /dev/hvc/* /dev/hvc*; do - if [[ -e "${file}" ]]; then - addwrite ${file} - fi - done - - local myconf=() - if use minimal; then - myconf=( - --with-features=tiny - --disable-nls - --disable-canberra - --disable-acl - --enable-gui=no - --without-x - --disable-darwin - --disable-luainterp - --disable-perlinterp - --disable-pythoninterp - --disable-mzschemeinterp - --disable-rubyinterp - --disable-selinux - --disable-tclinterp - --disable-gpm - ) - else - use debug && append-flags "-DDEBUG" - - myconf=( - --with-features=huge - $(use_enable sound canberra) - $(use_enable acl) - $(use_enable crypt libsodium) - $(use_enable cscope) - $(use_enable gpm) - $(use_enable nls) - $(use_enable perl perlinterp) - $(use_enable python python3interp) - $(use_with python python3-command "${PYTHON}") - $(use_enable racket mzschemeinterp) - $(use_enable ruby rubyinterp) - $(use_enable selinux) - $(use_enable tcl tclinterp) - $(use_enable terminal) - ) - - # --with-features=huge forces on cscope even if we --disable it. We need - # to sed this out to avoid screwiness. (1 Sep 2004 ciaranm) - if ! use cscope; then - sed -i -e \ - '/# define FEAT_CSCOPE/d' src/feature.h || die "sed failed" - fi - - if use lua; then - # -DLUA_COMPAT_OPENLIB=1 is required to enable the - # deprecated (in 5.1) luaL_openlib API (#874690) - use lua_single_target_lua5-1 && append-cppflags -DLUA_COMPAT_OPENLIB=1 - - myconf+=( - --enable-luainterp - $(use_with lua_single_target_luajit luajit) - --with-lua-prefix="${EPREFIX}/usr" - ) - fi - - # don't test USE=X here ... see bug #19115 - # but need to provide a way to link against X ... see bug #20093 - myconf+=( - --enable-gui=no - --disable-darwin - $(use_with X x) - ) - fi - - # let package manager strip binaries - export ac_cv_prog_STRIP="$(type -P true ) faking strip" - - # keep prefix env contained within the EPREFIX - use prefix && myconf+=( --without-local-dir ) - - if tc-is-cross-compiler ; then - export vim_cv_getcwd_broken=no \ - vim_cv_memmove_handles_overlap=yes \ - vim_cv_stat_ignores_slash=yes \ - vim_cv_terminfo=yes \ - vim_cv_toupper_broken=no - fi - - econf \ - --with-modified-by="Gentoo-${PVR} (RIP Bram)" \ - "${myconf[@]}" -} - -src_compile() { - # The following allows emake to be used - emake -j1 -C src auto/osdef.h objects - - emake -} - -src_test() { - einfo - einfo "Starting vim tests. Several error messages will be shown" - einfo "while the tests run. This is normal behaviour and does not" - einfo "indicate a fault." - einfo - ewarn "If the tests fail, your terminal may be left in a strange" - ewarn "state. Usually, running 'reset' will fix this." - einfo - - # Don't let vim talk to X - unset DISPLAY - - # Arch and opensuse seem to do this and at this point, I'm willing - # to try anything to avoid random test hangs! - export TERM=xterm - - # See https://github.com/vim/vim/blob/f08b0eb8691ff09f98bc4beef986ece1c521655f/src/testdir/runtest.vim#L5 - # for more information on test variables we can use. - # Note that certain variables need vim-compatible regex (not PCRE), see e.g. - # http://www.softpanorama.org/Editors/Vimorama/vim_regular_expressions.shtml. - # - # Skipped tests: - # - Test_expand_star_star - # Hangs because of a recursive symlink in /usr/include/nodejs (bug #616680) - # - Test_exrc - # Looks in wrong location? (bug #742710) - # - Test_job_tty_in_out - # Fragile and depends on TERM(?) - # - Test_spelldump_bang - # Hangs. - # - Test_fuzzy_completion_env - # Too sensitive to leaked environment variables. - # - Test_term_mouse_multiple_clicks_to_select_mode - # Hangs. - # - Test_spelldump - # Hangs. - export TEST_SKIP_PAT='\(Test_expand_star_star\|Test_exrc\|Test_job_tty_in_out\|Test_spelldump_bang\|Test_fuzzy_completion_env\|Test_term_mouse_multiple_clicks_to_select_mode\|Test_spelldump\)' - - emake -j1 -C src/testdir nongui -} - -# Call eselect vi update with --if-unset -# to respect user's choice (bug #187449) -eselect_vi_update() { - ebegin "Calling eselect vi update" - eselect vi update --if-unset - eend $? -} - -src_install() { - local vimfiles=/usr/share/vim/vim${VIM_VERSION/.} - - # Note: Do not install symlinks for 'vi', 'ex', or 'view', as these are - # managed by eselect-vi - dobin src/vim - if ! use minimal ; then - dosym vim /usr/bin/vimdiff - fi - dosym vim /usr/bin/rvim - dosym vim /usr/bin/rview - if use vim-pager ; then - dosym ${vimfiles}/macros/less.sh /usr/bin/vimpager - dosym ${vimfiles}/macros/manpager.sh /usr/bin/vimmanpager - insinto ${vimfiles}/macros - doins runtime/macros/manpager.sh - fperms a+x ${vimfiles}/macros/manpager.sh - fi - - domenu runtime/vim.desktop - - newbashcomp "${FILESDIR}"/${PN}-completion ${PN} - - # keep in sync with 'complete ... -F' list - bashcomp_alias vim ex vi view rvim rview vimdiff -} - -pkg_postinst() { - # Update documentation tags (from vim-doc.eclass) - update_vim_helptags - - # Call eselect vi update - eselect_vi_update - - # update desktop file mime cache - xdg_desktop_database_update -} - -pkg_postrm() { - # Update documentation tags (from vim-doc.eclass) - update_vim_helptags - - # Call eselect vi update - eselect_vi_update - - # update desktop file mime cache - xdg_desktop_database_update -} diff --git a/sdk_container/src/third_party/portage-stable/app-misc/jq/Manifest b/sdk_container/src/third_party/portage-stable/app-misc/jq/Manifest index b74509dbe68..4e91097584a 100644 --- a/sdk_container/src/third_party/portage-stable/app-misc/jq/Manifest +++ b/sdk_container/src/third_party/portage-stable/app-misc/jq/Manifest @@ -1,3 +1,2 @@ DIST jq-1.7.1.gh.tar.gz 1323338 BLAKE2B 17e3b68e23f9a7f1aa8749ede6c0b8fe435990899886f0c96da36d130c17d13609ba7f910321316f0c3b35985360f8cb5e6a3b12caea5e9bc7792e128798f137 SHA512 af9c444e5306423182f467a53acdf45bb8aefa058a47f490ce16395f0aebfb7627e3843f65e96f41cd9d4b72b8ad274ab0bdb061abc6990b1158f86d2256d4ec -DIST jq-1.8.0.gh.tar.gz 1355079 BLAKE2B 0d98ed6ccf90d2d110cb3e04aa3058237f1650f246860c60a33528886374d247ba774ed64a0cf8f06b8c135ce0281b7b183732c0dfb9c267a9858df2e18b9740 SHA512 36c4035fbb5c7a6523c98d09cf8ba9636e79919f1620eb3934f4dec7ea42009ad5cce49ed67e516880911b98eb2d7188f58c75aa88359a20f848815b3c9032ee DIST jq-1.8.1.gh.tar.gz 1409730 BLAKE2B 8a7cad88d62c6ec4388d8859eca2e7acdf0053f1277d61bccf87cdb6eafb69a0a00574c6b0bd5f46a512a3857ca880a9ac5f0732b3ea5e29a17fd67b90e193e7 SHA512 7eece5744008710d6098d2b945b52250184e981ed3b7a66d4e8e1d0484539a281031900fa9dda7e1004a3fcfa8b5be39814d499c66c34707b35962a365d24fde diff --git a/sdk_container/src/third_party/portage-stable/app-misc/jq/jq-1.8.0.ebuild b/sdk_container/src/third_party/portage-stable/app-misc/jq/jq-1.8.0.ebuild deleted file mode 100644 index 09a5f5b70cb..00000000000 --- a/sdk_container/src/third_party/portage-stable/app-misc/jq/jq-1.8.0.ebuild +++ /dev/null @@ -1,86 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit autotools flag-o-matic - -MY_PV="${PV/_/}" -MY_P="${PN}-${MY_PV}" -DESCRIPTION="A lightweight and flexible command-line JSON processor" -HOMEPAGE="https://stedolan.github.io/jq/" -SRC_URI="https://github.com/jqlang/jq/archive/refs/tags/${MY_P}.tar.gz -> ${P}.gh.tar.gz" -S="${WORKDIR}/${PN}-${MY_P}" - -LICENSE="MIT icu CC-BY-3.0" -SLOT="0/1" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris" -IUSE="+oniguruma static-libs test" - -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 - oniguruma? ( ${ONIGURUMA_MINPV}:=[static-libs?] ) -" -RDEPEND=" - !static-libs? ( - 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 - - # jq-1.6-r3-never-bundle-oniguruma makes sure we build with the system oniguruma, - # but the bundled copy of oniguruma still gets eautoreconf'd since it - # exists; save the cycles by nuking it. - sed -e '/vendor\/oniguruma/d' -i Makefile.am || die - rm -rf "${S}"/vendor/oniguruma || die - - default - - sed -i "s/\[jq_version\]/[${MY_PV}]/" configure.ac || die - - eautoreconf -} - -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 - --enable-valgrind=no - --disable-maintainer-mode - $(use_enable static-libs static) - $(use_with oniguruma oniguruma yes) - ) - econf "${econfargs[@]}" -} - -src_test() { - if ! LD_LIBRARY_PATH="${S}/.libs" nonfatal emake check; then - if [[ -r "${S}/test-suite.log" ]]; then - eerror "Tests failed, outputting testsuite log" - cat "${S}/test-suite.log" - fi - die "Tests failed" - fi -} - -src_install() { - local DOCS=( AUTHORS NEWS.md README.md SECURITY.md ) - default - - use static-libs || { find "${D}" -name '*.la' -delete || die; } -} 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 92a1fa9d081..042f8e5c7ca 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,4 +1 @@ DIST pax-utils-1.3.10.tar.xz 123576 BLAKE2B d0d68d12bbbe3771da6a22d04b246593952e39ad5233fbb36c4283800431c707015477192d6e3225985016828189280662cda642b161322d3eb19bea5f4bdc86 SHA512 06be65f1ad954427cc666e53e1aaa45dda04c43f26d9e4c9ded9e4dc33e4fd2827acd0c7cbb5cbf4a169a19f5c356d59a5dfb2d2e63a037fe62c26394648ee4d -DIST pax-utils-1.3.7.tar.xz 113740 BLAKE2B d801df9c426f318c871655f238fe27b53e656c2789ef8508019997c98bbc540987b611642d87e76ae9f76a95f6cce1acd0b10e3491a146d1e3b3f727a6f96bdc SHA512 f1b87a564573da838a02c4cc10e0d5f9754c3b004ecb172a6290b48a8179b30695ae556942457dfac3caf07b91dd56eb1d801475c35e9708e4d671aa507f9576 -DIST pax-utils-1.3.8.tar.xz 123556 BLAKE2B 9e658334f37bfee90d4d168cdb81bc3b4012c38b569c22c3b01688408e90f4727043636ff8908e6c049fce7be5476ba86773f07cb192e3a34721c1469f69b48d SHA512 0dde95f86802729d80b7b38af84dec636e973f6abc70600633edcb05d3d5f95c1b2861300ce478dd7f798c7a1e5eccb1011c06c53adba38e11a996b69d463656 -DIST pax-utils-1.3.9.tar.xz 123560 BLAKE2B fdaf8eb6d66dd96db3acbe21264163247323d95b798be3a0041f88ff2574ea739c3a2c6408cd20b9a5bfd4b8e4ff2306d5dfe682d7bada803c88770e5103f250 SHA512 96caf7f2087bedc7949db828d966835f7d691e29ef8177dee00605c10d433d4c5b5770a3d7f2e25e3c0218f5b9a6c6967669a3dea18cf138d6f0111d2bb5288b diff --git a/sdk_container/src/third_party/portage-stable/app-misc/pax-utils/pax-utils-1.3.7.ebuild b/sdk_container/src/third_party/portage-stable/app-misc/pax-utils/pax-utils-1.3.7.ebuild deleted file mode 100644 index d9e2ee0bd57..00000000000 --- a/sdk_container/src/third_party/portage-stable/app-misc/pax-utils/pax-utils-1.3.7.ebuild +++ /dev/null @@ -1,77 +0,0 @@ -# Copyright 2022-2025 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_{10..12} ) - -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 -else - SRC_URI=" - https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${P}.tar.xz - https://dev.gentoo.org/~vapier/dist/${P}.tar.xz - " - KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" -fi - -LICENSE="GPL-2" -SLOT="0" -IUSE="caps man 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-1.3.8.ebuild b/sdk_container/src/third_party/portage-stable/app-misc/pax-utils/pax-utils-1.3.8.ebuild deleted file mode 100644 index 7238c919a86..00000000000 --- a/sdk_container/src/third_party/portage-stable/app-misc/pax-utils/pax-utils-1.3.8.ebuild +++ /dev/null @@ -1,77 +0,0 @@ -# Copyright 2022-2025 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_{11..14} ) - -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 -else - SRC_URI=" - https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${P}.tar.xz - https://dev.gentoo.org/~vapier/dist/${P}.tar.xz - " - KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" -fi - -LICENSE="GPL-2" -SLOT="0" -IUSE="caps man 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-1.3.9.ebuild b/sdk_container/src/third_party/portage-stable/app-misc/pax-utils/pax-utils-1.3.9.ebuild deleted file mode 100644 index 9018acf6a18..00000000000 --- a/sdk_container/src/third_party/portage-stable/app-misc/pax-utils/pax-utils-1.3.9.ebuild +++ /dev/null @@ -1,77 +0,0 @@ -# Copyright 2022-2025 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_{11..14} ) - -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 -else - SRC_URI=" - https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${P}.tar.xz - https://dev.gentoo.org/~vapier/dist/${P}.tar.xz - " - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris" -fi - -LICENSE="GPL-2" -SLOT="0" -IUSE="caps man 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-shells/bash/bash-5.3_p9.ebuild b/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.3_p9.ebuild index 0c65da5eec0..e36c6f85707 100644 --- a/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.3_p9.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.3_p9.ebuild @@ -175,7 +175,23 @@ src_configure() { unset -v YACC if tc-is-cross-compiler; then + # https://lists.gnu.org/archive/html/bug-bash/2025-05/msg00029.html export CFLAGS_FOR_BUILD="${BUILD_CFLAGS} -std=gnu17" + + if use kernel_Hurd ; then + # Necessary for cross-built bash for Hurd, otherwise + # config.status generation at end of configure will hang + # natively. + # + # https://lists.debian.org/debian-cross/2023/11/msg00000.html + # https://lists.gnu.org/archive/html/bug-bash/2024-11/msg00202.html + # https://lists.gnu.org/archive/html/bug-bash/2005-04/msg00074.html + cat <<-EOF > builtins/psize.sh || die + #!/bin/sh + echo "#define PIPESIZE 16384" + EOF + chmod +x builtins/psize.sh || die + fi fi myconf=( diff --git a/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.4_alpha_pre20251202.ebuild b/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.4_alpha_pre20251202.ebuild index 6fec1496d1b..8c08d6cff53 100644 --- a/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.4_alpha_pre20251202.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-5.4_alpha_pre20251202.ebuild @@ -178,7 +178,23 @@ src_configure() { unset -v YACC if tc-is-cross-compiler; then + # https://lists.gnu.org/archive/html/bug-bash/2025-05/msg00029.html export CFLAGS_FOR_BUILD="${BUILD_CFLAGS} -std=gnu17" + + if use kernel_Hurd ; then + # Necessary for cross-built bash for Hurd, otherwise + # config.status generation at end of configure will hang + # natively. + # + # https://lists.debian.org/debian-cross/2023/11/msg00000.html + # https://lists.gnu.org/archive/html/bug-bash/2024-11/msg00202.html + # https://lists.gnu.org/archive/html/bug-bash/2005-04/msg00074.html + cat <<-EOF > builtins/psize.sh || die + #!/bin/sh + echo "#define PIPESIZE 16384" + EOF + chmod +x builtins/psize.sh || die + fi fi myconf=( diff --git a/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-9999.ebuild b/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-9999.ebuild index 58734d9d40c..65666522a2a 100644 --- a/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-shells/bash/bash-9999.ebuild @@ -178,7 +178,23 @@ src_configure() { unset -v YACC if tc-is-cross-compiler; then + # https://lists.gnu.org/archive/html/bug-bash/2025-05/msg00029.html export CFLAGS_FOR_BUILD="${BUILD_CFLAGS} -std=gnu17" + + if use kernel_Hurd ; then + # Necessary for cross-built bash for Hurd, otherwise + # config.status generation at end of configure will hang + # natively. + # + # https://lists.debian.org/debian-cross/2023/11/msg00000.html + # https://lists.gnu.org/archive/html/bug-bash/2024-11/msg00202.html + # https://lists.gnu.org/archive/html/bug-bash/2005-04/msg00074.html + cat <<-EOF > builtins/psize.sh || die + #!/bin/sh + echo "#define PIPESIZE 16384" + EOF + chmod +x builtins/psize.sh || die + fi fi myconf=( diff --git a/sdk_container/src/third_party/portage-stable/dev-build/autoconf-wrapper/Manifest b/sdk_container/src/third_party/portage-stable/dev-build/autoconf-wrapper/Manifest index 62ba955b058..a7b5745a923 100644 --- a/sdk_container/src/third_party/portage-stable/dev-build/autoconf-wrapper/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-build/autoconf-wrapper/Manifest @@ -1 +1,2 @@ DIST autotools-wrappers-at-20231224.tar.gz 3645 BLAKE2B fbf414240fe3a4b5d2c24ea649cc347df46bf7f0297bc0d27f98265f57753a596929277403496d76d6249f878bffa8be3e77b62ce9138df6920dd9a5216b300a SHA512 a3cc51e1eb1d055a8161b86bc3497a9bea3cb972d8d22b2f9fc712ca5ecb7809e84083a5754705911f2d037cbff83747476e96b412bfe11183273764de0d5331 +DIST autotools-wrappers-at-20260320.tar.gz 3644 BLAKE2B 6f28eab0182ed4029de7bdbe4ec91b228a3a9015acb25fd33626f50103b0a6f9e70bd6a187a60a2cf85cc620276594f74a0c1457aefcf5123cf48cda229b1ca6 SHA512 500893c108c6947fab30c47b82a0147c6702abf49b0b5c4a3c4d9451e1e430e44c4f137ec18ac18024dde5d261f30392f86f89526bd1adf806e492951587d788 diff --git a/sdk_container/src/third_party/portage-stable/dev-build/autoconf-wrapper/autoconf-wrapper-20260320.ebuild b/sdk_container/src/third_party/portage-stable/dev-build/autoconf-wrapper/autoconf-wrapper-20260320.ebuild new file mode 100644 index 00000000000..c5328599214 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-build/autoconf-wrapper/autoconf-wrapper-20260320.ebuild @@ -0,0 +1,47 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +MY_P="autotools-wrappers-at-${PV}" + +# Remember to modify LAST_KNOWN_VER 'upstream' on new autoconf releases! + +DESCRIPTION="Wrapper for autoconf to manage multiple autoconf versions" +HOMEPAGE="https://gitweb.gentoo.org/proj/autotools-wrappers.git" + +if [[ ${PV} == *9999 ]] ; then + EGIT_REPO_URI=" + https://anongit.gentoo.org/git/proj/autotools-wrappers.git + https://github.com/gentoo/autotools-wrappers + " + inherit git-r3 +else + SRC_URI="https://gitweb.gentoo.org/proj/autotools-wrappers.git/snapshot/${MY_P}.tar.gz" + S="${WORKDIR}/${MY_P}" + + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris" +fi + +LICENSE="GPL-2" +SLOT="0" + +src_prepare() { + default + + # usr/bin/aclocal: bad substitution -> /bin/sh != POSIX shell + if use prefix ; then + sed -i -e '1c\#!'"${EPREFIX}"'/bin/sh' ac-wrapper.sh || die + fi +} + +src_install() { + exeinto /usr/$(get_libdir)/misc + doexe ac-wrapper.sh + + dodir /usr/bin + local x= + for x in auto{conf,header,m4te,reconf,scan,update} ifnames ; do + dosym -r /usr/$(get_libdir)/misc/ac-wrapper.sh /usr/bin/${x} + done +} diff --git a/sdk_container/src/third_party/portage-stable/dev-build/autoconf/Manifest b/sdk_container/src/third_party/portage-stable/dev-build/autoconf/Manifest index 7698a4ec3a5..7670062a50f 100644 --- a/sdk_container/src/third_party/portage-stable/dev-build/autoconf/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-build/autoconf/Manifest @@ -4,7 +4,7 @@ DIST autoconf-2.69.tar.xz 1214744 BLAKE2B 71d33d72a06e9a05fbed0eda73bc9d8a3805c7 DIST autoconf-2.69.tar.xz.sig 556 BLAKE2B 07eaae3429f4bbd3ea40b4b366db383d9e322b03def7956f8961a20a6759072e8c327d4723313097f75caba0513928c37270beda8f8b491888fdd47a2ee80ad6 SHA512 e54082e00522463ba7d6b6ea6d700b8799a41177b34e057dd72abbe46219f0ce58674575d60fb106e37deeee8871d4ccfd85746c2d0e096a71eb096ffdb3020c DIST autoconf-2.71.tar.xz 1292296 BLAKE2B 7fd4b98b4cfff10720e8da6ee91045637991643b50fcb3e47a0ecfcc01600f7b7b36fd1c0a5f08b68a418f1bdbd8d5a98de1008157595dd37cc3a31facb61416 SHA512 73d32b4adcbe24e3bafa9f43f59ed3b6efbd3de0f194e5ec90375f35da1199c583f5d3e89139b7edbad35171403709270e339ffa56a2ecb9b3123e9285021ff0 DIST autoconf-2.71.tar.xz.sig 833 BLAKE2B a2641a0bec3b475874811dd21dc32d34672f4f084ea16d48bd0655df37251be810026c20e35869503e664701edcb64f260b142db671e160a554c2ee982838355 SHA512 83e6bf4504f5d188cad1387ce1f1ce4b14f5ee4961bbfd5c83dd281d724392a95b394079bfaa093eb81129873e668b6ca1eee013a60cfb76edf34454756f6667 -DIST autoconf-2.72.90.tar.xz 1409292 BLAKE2B 1d0a30ba22b25d7298676f40b56541b25906e95dc0381914e8941f8bd716585098efa8295ed3db9b4e234a073af6771f33db9397907d4beeadf5b9460842c9b2 SHA512 f485f10b2917759245dc1d5e7e7b6724d8b626543757853ae9de354a4c14b8ed3a016d1823d9553072fe08634d4fb9e0f5110637622b3c95e0f625b328f96f01 -DIST autoconf-2.72.90.tar.xz.sig 870 BLAKE2B 01eddca0f27ee008f3b833ed2e34040243fab369003a92352fc9b11a419353814604bc12c67ffc699b79752df90ffaab6e148469806ec3948def9d64e174f888 SHA512 87233fe09c17b752b97f68b4a4b159ccc96da89b279fed0a2e5b7fe72989a677d8303da9cc3bad21a6c074baa425120a7bcf289f0c65d1be4e89594449415dcb DIST autoconf-2.72.tar.xz 1389680 BLAKE2B 01caeced9e53d8bd39fb0cf4929322f0d463971b0a96368aa55892026897a9e98c2ca84a77db1b3c6c4483aea54b96da16a7bc00b7ac15e23c6b0471438012db SHA512 c4e9fbd858666d3e5c3b4fe7f89aa3e8e3a0a00dc7e166f8147d937d911b77ba3ac6a016f9d223ccdd830bc8960b3e60397c0607cc6a1fd2c50c7492839ddd17 DIST autoconf-2.72.tar.xz.sig 833 BLAKE2B cc33101c5d2bd28f233e54a2843d3c81dc9729238b0900a8f23ef17b982aa0e0194892c07b1365246b6c9c0ea74becd288ae581ee34d593131b83538c69a6204 SHA512 7a0d350b23cf47c45811ae35928a4fec67ce1f3adb1965904fe6d9a0fad68139df4902662bcf4731a2f809381cae0b265a8f1f57d0a9a39777250a97a3c481d9 +DIST autoconf-2.73.tar.xz 1417428 BLAKE2B b5f0b9d3baf883148de8f1d7ae102b8742c0bf57b9ae44286f0da1fef82d7ea8dd1117f04cc85f52254e282f886780165b9773953b3d8ed89130b8419cd288f7 SHA512 be051d542f9bd93752eccbdc9b1f3cf1fa4069a153ef34edd5303bfdf162e24d56e33e70df1b978cebb8d1139a82417bb8299cfe6c38cff8613040a829cc624f +DIST autoconf-2.73.tar.xz.sig 870 BLAKE2B 6f29c0a5168d5d86929d079f0423121e5e9e724378d335ca65e215be7effac7423c2c40e0d25b13a533f4309afd7fa86e2c8457bcefce7a79e5a2029863fa33f SHA512 6ed4bf2cba7d106248d44cbc38ab84e9be427540ca76df40b16ee02128dbc076f8f2b6f9a92d5965956ad9cf38d90789ba81bf543d4b276c0c8cb03670248862 diff --git a/sdk_container/src/third_party/portage-stable/dev-build/autoconf/autoconf-2.72.90.ebuild b/sdk_container/src/third_party/portage-stable/dev-build/autoconf/autoconf-2.73.ebuild similarity index 98% rename from sdk_container/src/third_party/portage-stable/dev-build/autoconf/autoconf-2.72.90.ebuild rename to sdk_container/src/third_party/portage-stable/dev-build/autoconf/autoconf-2.73.ebuild index ec41a181b66..06adef2d8a4 100644 --- a/sdk_container/src/third_party/portage-stable/dev-build/autoconf/autoconf-2.72.90.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-build/autoconf/autoconf-2.73.ebuild @@ -55,7 +55,7 @@ BDEPEND+=" " RDEPEND=" ${BDEPEND} - >=dev-build/autoconf-wrapper-20231224 + >=dev-build/autoconf-wrapper-20260320 sys-devel/gnuconfig !~${CATEGORY}/${P}:2.5 " 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 8fec048c9a8..3d45b82e03a 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 @@ -4,6 +4,8 @@ DIST meson-1.10.0.tar.gz 2412381 BLAKE2B 5344f3e6990618d226038a34b99c2f0d56fd539 DIST meson-1.10.0.tar.gz.asc 833 BLAKE2B cfbb66ea439bb5993b121d32a72f73588b9ba5085f932ddfa7fe79887cadd8550994af2f01ebf42d9bfe7b9bb3197256affd68c809379bc5085f1ac36453968a SHA512 0bd520d1e3e452e0973b396808bfb6b1f80a13d4e950c33fcb61ef83b7151e10ce9348509700b04d5cedfaa6f6d94ce0972a06d32848e510b186cc4e9c4495fc DIST meson-1.10.1.tar.gz 2413969 BLAKE2B 0d99736cdc1b3576026bce775a15c805c8178e2b21615829e028a05f5265cb5c72bd04a9ac5a45a9cf247d54f37f25a98f094efb5e1addb78e9a6ff863629642 SHA512 69fe938dad22728a969d1848f1e3ba43c72a2083158431fd639eb51ebce4f2b38e4a2797663d2e4bb251ed0870533bfab57705da6ae941f541769290b126fd45 DIST meson-1.10.1.tar.gz.asc 833 BLAKE2B b217b03c8e56526a2489487ababbee3fa59de9f7d515f32a34c6d4410b3d74416df1896468039997d664fddd2b657888f77371f630bdef550208b494f38b1a3a SHA512 984e49a7e20721f839fc1d79cfc74bd585481b4a878556523c01e9760dd444a95a7e148402be585f300e0604fd79811e4bb87f312ebaf2f0d8025eaa9f2cb5a3 +DIST meson-1.10.2.tar.gz 2422765 BLAKE2B 0c6966640988985f8c0af165cb89e0302b0d5e2d506a4c24639971b854dd7e2fe2ea4e4f52be65e0a1524a2c9a4ed71d13093f4881612c82e885ab34d5c46a7a SHA512 43d408fde7390c81eaef63b835deb4acfcae279cf05bcd63a368c4bc1de69b7fb620f801a7700345d4c41e155a4429a43cdef12e60322aa20a33edfaeb5ce7e9 +DIST meson-1.10.2.tar.gz.asc 833 BLAKE2B f4609f3e51f32d290582f3b339e7b008bf244c3cded918fc115393d0f4644485eb7da1b3b56f1743ca3690665f5314486bbbdfa36ecc65019fca14958ef2c4f8 SHA512 55dbfe41eb8b29206536fa71d36eb483a4be35b7528f15ef00c660b828816c72deb34e63bca52c2641f4134917494ff55761835a9dae187986aa9cef7989bf06 DIST meson-1.2.3.tar.gz 2184484 BLAKE2B 7d76c54bddba249ab97ebd5dd0afc448177ff9fa70812a8ca0cc9fe308c9b145b3fbc3ee068acae0fdc73edff42134b7a0b618cd80a05347a424aca7bc8bbef8 SHA512 cdcadc731effc1ffb2de98b795ba37955f934ed9b54b9f7f3ac5fe96ab33268d4de4fce734a4c2ef7d2ecc5051616df127e1f8665e197ff954310bf1483b81fc DIST meson-1.2.3.tar.gz.asc 833 BLAKE2B 1416c49302aab80b5f647cc1d6cd18c36f6199e79c7d13ea284143b2423267b5823850218578626937c14589ebcdf19069b310394c63bc762ab8f59d7ebe3780 SHA512 852c031ecfe032cb48d284bb270597d114294b7d1be5dd0df6ec2f78a62e1a5ba82711bc14ae410e47ced54f99a639055a1628b0acf7aa07a3a80034fce5ebc9 DIST meson-1.3.2.tar.gz 2223798 BLAKE2B 72b061598a0cb22517460de4df25394a9dfbddb536c5b8e75b7267ae21292fe2a6a3ec16d64aa81cde63d33022decebcc051cf2d87d677f9b40eb2f4106a40cd SHA512 6369c6d64f91c769f0f4d3e2445bb3615785998489d41acba2134b44ec89abd04bd97a3d3d17c64779eb40b0bf4808e3419eb47638169446a98824d680f37a7b @@ -24,6 +26,7 @@ DIST meson-1.9.2.tar.gz 2382854 BLAKE2B f099352abbc0fa8d358cbe406955ddf817453cdc DIST meson-1.9.2.tar.gz.asc 833 BLAKE2B f161b2918c341172de5f141ac367d7d62a60f2d0eadd793f71fb6a19e8944b4ad6bbfbb25d233862066eec8e422295d46e03ce8aca26e1081f2bcb456b7c1057 SHA512 c8cace334e31d5ba3e4f2da687ed945182e3039dc8bbea94015caa82d373c4b4d96a425eccb7617793fd471040705711b00ab37705dcd2070be6ba089586652b DIST meson-reference-1.10.0.3 365875 BLAKE2B 2f180158dd31e1bf527947407425d211cf95ab84cd7f4f4c2063036dd46dda4318435b69097d7fae6b812ab402358c438b1d264f1d90716ea471293f70d56e60 SHA512 98f03a9976fee84f9e53987611e524f98d490c6cbe4de652b770e15a3c95cb578ce806b3c17cb75a702f9ee361e20549e2e797692310af8e36177a53e13eec4d DIST meson-reference-1.10.1.3 365875 BLAKE2B 8b24e9370b3356c3f3ff23f5c4c0c977abe5936b67425e9e3e37597d96db14e6800bc97083f4c77b011c1f9304adc26e71409a35fd888df70fbcacea0515879b SHA512 6cf65dc7aaf56e53cb543bf7e64a64df90b2595009174ac99688e0c3488b6718c439740d494dc0fbf49f2f669ebf43ef16557de0a3e3661e3f6259637e3c828a +DIST meson-reference-1.10.2.3 366569 BLAKE2B 28b37c33cb94f3cad8de68eeaaf210a470d14df68fa00d8fe18b79ab9acee71a725fa9cbcf57c9c470f98acd540123612dfd9974fb67121ce72fdc70168cfab8 SHA512 1defa912aeac9a5768e7f3ad669d4471a457c6fc70ead30c428ecc335d3a06db56314a5ad343aff7805b1a46388cbfba5b4188e2ef55d10b35767c046dcb0f36 DIST meson-reference-1.4.2.3 339324 BLAKE2B 1a4fbd8c27a8cfba773777eabd2ebaa0f76ec0c61dcfe1c7b4483737b348ff9528d68f26e68d7d40b2e1875611eed5b9a31c1cf55fed8eabb42fc1e31d9ef14b SHA512 8b8ec43e812599203ec44c08805eb6818485805c45b9c69802261eaa35efc97846a96f6472c6b1ef5f6c703e7153fd957df7b805f173ca3400a2030dfbe002ca DIST meson-reference-1.5.2.3 341110 BLAKE2B 0d588b796f7f2da2dcb0e7822acde6a9a461930da4bfead3cf9148fa0fac18cd0ccbc6e891f555c973836f1c16b4eae299908a838a0b6843293de8815d30fc23 SHA512 64715ce2113e362e7d67179fe13566bc8f84ce7f4e6d795b836f42455a871173fee06e3e969e2996022d7e6c9b4b5379587a4c0c3d97b4bca527fb8902d3547f DIST meson-reference-1.6.1.3 343730 BLAKE2B 55df822192781a70e4bc44cfe14fb363e3f820406260ca9705d7fdb5fad1bf0117e3f1325d37e58e23477bc075ab6bd84056409355ec694f72eeaa5bf982ecc7 SHA512 553cdcd86a7a600cda05ac970cc285c4c50017d1e7d2925645d7f19a62b34c2f079673cafecf4111aa102afbe9d8e4d56f166d1d9940b740eeec0bb99d6cbc0d diff --git a/sdk_container/src/third_party/portage-stable/dev-build/meson/meson-1.10.2.ebuild b/sdk_container/src/third_party/portage-stable/dev-build/meson/meson-1.10.2.ebuild new file mode 100644 index 00000000000..0a2f94bea5f --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-build/meson/meson-1.10.2.ebuild @@ -0,0 +1,232 @@ +# 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 + +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 )" + +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 + dev-lang/vala + 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/linguist-tools:5 + dev-qt/qtwidgets:5 + 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-db/sqlite/Manifest b/sdk_container/src/third_party/portage-stable/dev-db/sqlite/Manifest index 1da620ec207..7c86fce1e24 100644 --- a/sdk_container/src/third_party/portage-stable/dev-db/sqlite/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-db/sqlite/Manifest @@ -1,6 +1,4 @@ -DIST sqlite-doc-3500400.zip 11398708 BLAKE2B a179191767c86b10604ad03ebd6408ebc3e6b14ce5a85d7dd14cfc933da8e92b76a7ad8b40616699c54022259ba852e30e6f7eeb34640326d51623a7c52c0065 SHA512 24db55ec5d29a6389cf930e3fa3c7205ca47973f5857f7cc5444166bd10d00109cbe4141e87cbb94f75711cb981e60bde286b15c0384cdcfb41337f0f0eaa446 -DIST sqlite-doc-3510100.zip 11481722 BLAKE2B d0f2a746c9c6e946bd1086854ce6720b29e29fcfc4af0aa780b6fdc3003dc630133b1f95ac045aa0cdfd63086a9fa5ee62af3bb1fb58c853c6798fde349ffe62 SHA512 fc6b4441d833c6ad988fbd5ce6793a4f259e5a8d5925182828a49e7ca3ce85ad5279af155450f77c8cbdfd5b3c9e066ae70e0d76ba8d595ffd9f3da0f347195e DIST sqlite-doc-3510200.zip 11620595 BLAKE2B c799fc3285b61200ff4cbdbfd0cd126183d84fe71db9f1bcb59db93117deadd38f9a5ca719768ba0cd923daa2f68da759dc887cc18923fedb83b5cb40707e74b SHA512 7f6151f61748c6b9c081be5b52755f963a913009864e667cadd014744d14009f28e8ff61e940e971f9db69144106a51e87e88c25a12d5b157decc58178e63d59 -DIST sqlite-src-3500400.zip 14393367 BLAKE2B e94589cb80ce64b5b8c0a2d28582b223a7cb9355424366fc3135c261ca33b4a93dcdeafb86252deeb9beca0ea94490ec6461ba5ab9e8f16b33e9628a85a19813 SHA512 003b03ddc4dd9618b48370e2aaf339c12c3384963f142f1f97110d6ed74f45aa7477477f53bc8b24b6d9f473b899ecb5d13889f52b8cd4fbdce2e6e5fa24502f -DIST sqlite-src-3510100.zip 14200172 BLAKE2B a9e163d8a4fae948fc5eed4de41b2c4842b0642af555176bbc34df4e0affe8600d8f9f8e81e1a1868dbda2d09709c58f274dab2d5c6a2ac07dab4a5d06f816bc SHA512 43f4e50a2e0257bfb6c7694e7226d120ec122e3c8558ace547452d381f72a3484037e79d7e27db05ea6ad256012fd2f660b595591e127db4db7bf74301c9503f +DIST sqlite-doc-3510300.zip 11638860 BLAKE2B f60c59023f9c6ceaeedf16ca20b71720c962ed5b3f2550c54f8c06b156f6d2ef38e9673a833e60f7df2072fcbb2ba1dd5c7b61bc6827a06b333ae92abb7a013e SHA512 331905c02fb0f7840d76bc75706790767caf9468ef642877c00830aee4622b0bdf4b484d48749b4400bc27f7f865309b7371ee2042a03dca12ef75e330f4e5e9 DIST sqlite-src-3510200.zip 14202690 BLAKE2B d723603b6ba38a980442c730827c8ac3b6fef2a3e431ce9afefc3814c184873794e5005850a4e75ced56fab4a062a072ff9005b08febed1119fa5e2fda1de14e SHA512 89e1c76d6cae41f2ececb85af2e8bfd5cf60e8b9e3d8a48f98f3913513762bc8846f6b5c28e76cca12505ce670cdaf6ca95ecb2267b9527e47929fb928847605 +DIST sqlite-src-3510300.zip 14206164 BLAKE2B e9526059cc84153a3564ec2a42484f6219985006130d5291c2c20d063c0002ea607fa5da2293db658e0f36388e44c98a1882185c35dca09d32d8b24a7365892e SHA512 2bf2d0fd824580a5f4d4312c1c350459fce9342de45ba33ba521f539ef455ce0afe35ea58aefc3f39f7a353f998f4b9b98ffafe56d65582ef6ae78c2ec503125 diff --git a/sdk_container/src/third_party/portage-stable/dev-db/sqlite/files/sqlite-3.50.4-clang.patch b/sdk_container/src/third_party/portage-stable/dev-db/sqlite/files/sqlite-3.50.4-clang.patch deleted file mode 100644 index a48d4be34d8..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-db/sqlite/files/sqlite-3.50.4-clang.patch +++ /dev/null @@ -1,30 +0,0 @@ -# https://bugs.gentoo.org/928745 -# https://sqlite.org/src/info/9f0a16f6e8 -From dca1f04f0775cce80bcd6831acd9fa69bdfb40f2 Mon Sep 17 00:00:00 2001 -From: stephan -Date: Thu, 28 Aug 2025 15:04:52 +0000 -Subject: [PATCH] Remove sqlite3expert.h from the compiler invocation for that - tool, as it (A) doesn't need to be there and (B) it causes some compilers - problems (as reported in [forum:a1085109e7db4cf3 | forum post a1085109e7]). - This bug was faithfully carried over from the legacy build. - -FossilOrigin-Name: 9f0a16f6e893d51f760a8c1e2cb4709fdd16ccb2c0258695767f8305f407f4ac ---- - main.mk | 2 +- - manifest | 14 +++++++------- - manifest.uuid | 2 +- - 3 files changed, 9 insertions(+), 9 deletions(-) - -diff --git a/main.mk b/main.mk -index f817924fea..6304a0ad30 100644 ---- a/main.mk -+++ b/main.mk -@@ -1963,7 +1963,7 @@ xbin: sqltclsh$(T.exe) sqlite3_analyzer$(T.exe) - - sqlite3_expert$(T.exe): $(TOP)/ext/expert/sqlite3expert.h $(TOP)/ext/expert/sqlite3expert.c \ - $(TOP)/ext/expert/expert.c sqlite3.c -- $(T.link) $(TOP)/ext/expert/sqlite3expert.h $(TOP)/ext/expert/sqlite3expert.c \ -+ $(T.link) $(TOP)/ext/expert/sqlite3expert.c \ - $(TOP)/ext/expert/expert.c sqlite3.c -o sqlite3_expert $(LDFLAGS.libsqlite3) - xbin: sqlite3_expert$(T.exe) - diff --git a/sdk_container/src/third_party/portage-stable/dev-db/sqlite/files/sqlite-3.51.3-test.patch b/sdk_container/src/third_party/portage-stable/dev-db/sqlite/files/sqlite-3.51.3-test.patch new file mode 100644 index 00000000000..69db285cfae --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-db/sqlite/files/sqlite-3.51.3-test.patch @@ -0,0 +1,106 @@ +--- a/Makefile.msc ++++ b/Makefile.msc +@@ -2551,43 +2551,19 @@ coretestprogs: testfixture.exe sqlite3.exe + + testprogs: $(TESTPROGS) srcck1.exe fuzzcheck.exe sessionfuzz.exe + +-fulltest: alltest fuzztest +- +-alltest: $(TESTPROGS) +- @set PATH=$(LIBTCLPATH);$(PATH) +- .\testfixture.exe $(TOP)\test\all.test $(TESTOPTS) +- +-soaktest: $(TESTPROGS) +- @set PATH=$(LIBTCLPATH);$(PATH) +- .\testfixture.exe $(TOP)\test\all.test -soak=1 $(TESTOPTS) +- +-fulltestonly: $(TESTPROGS) fuzztest +- @set PATH=$(LIBTCLPATH);$(PATH) +- .\testfixture.exe $(TOP)\test\full.test +- +-queryplantest: testfixture.exe shell +- @set PATH=$(LIBTCLPATH);$(PATH) +- .\testfixture.exe $(TOP)\test\permutations.test queryplanner $(TESTOPTS) +- + fuzztest: fuzzcheck.exe + .\fuzzcheck.exe $(FUZZDATA) + +-# Legacy testing target for third-party integrators. The SQLite +-# developers seldom use this target themselves. Instead +-# they use "nmake /f Makefile.msc devtest" which runs tests on +-# a standard set of options +-# +-test: $(TESTPROGS) sourcetest fuzztest tcltest +- +-# Minimal testing that runs in less than 3 minutes (on a fast machine) + # +-quicktest: testfixture.exe sourcetest +- @set PATH=$(LIBTCLPATH);$(PATH) +- .\testfixture.exe $(TOP)\test\extraquick.test $(TESTOPTS) +- +-# This is the common case. Run many tests that do not take too long, +-# including fuzzcheck, sqlite3_analyzer, and sqldiff tests. ++# Legacy testing targets, no longer used by the developers and ++# now aliased to one of the commonly used testing targets. + # ++quicktest: devtest ++test: devtest ++fulltest: releasetest ++alltest: releasetest ++soaktest: releasetest ++fulltestonly: releasetest + + # The veryquick.test TCL tests. + # +diff --git a/main.mk b/main.mk +index aca5fc7856..037634091a 100644 +--- a/main.mk ++++ b/main.mk +@@ -1817,20 +1817,6 @@ coretestprogs: testfixture$(B.exe) sqlite3$(B.exe) + + testprogs: $(TESTPROGS) srcck1$(B.exe) fuzzcheck$(T.exe) sessionfuzz$(T.exe) + +-# A very detailed test running most or all test cases +-fulltest: alltest fuzztest +- +-# Run most or all tcl test cases +-alltest: $(TESTPROGS) +- ./testfixture$(T.exe) $(TOP)/test/all.test $(TESTOPTS) +- +-# Really really long testing +-soaktest: $(TESTPROGS) +- ./testfixture$(T.exe) $(TOP)/test/all.test -soak=1 $(TESTOPTS) +- +-# Do extra testing but not everything. +-fulltestonly: $(TESTPROGS) fuzztest +- ./testfixture$(T.exe) $(TOP)/test/full.test + + # + # Fuzz testing +@@ -1906,19 +1892,15 @@ releasetest: srctree-check has_tclsh85 verify-source + $(TCLSH_CMD) $(TOP)/test/testrunner.tcl release $(TSTRNNR_OPTS) + + # +-# Minimal testing that runs in less than 3 minutes +-# +-quicktest: ./testfixture$(T.exe) +- ./testfixture$(T.exe) $(TOP)/test/extraquick.test $(TESTOPTS) +- +-# +-# Try to run tests on whatever options are specified by the +-# ./configure. The developers seldom use this target. Instead +-# they use "make devtest" which runs tests on a standard set of +-# options regardless of how SQLite is configured. This "test" +-# target is provided for legacy only. ++# Legacy testing targets, no longer used by the developers and ++# now aliased to one of the commonly used testing targets. + # +-test: srctree-check fuzztest sourcetest $(TESTPROGS) tcltest ++quicktest: devtest ++test: devtest ++fulltest: releasetest ++alltest: releasetest ++soaktest: releasetest ++fulltestonly: releasetest + + # diff --git a/sdk_container/src/third_party/portage-stable/dev-db/sqlite/metadata.xml b/sdk_container/src/third_party/portage-stable/dev-db/sqlite/metadata.xml index 60dcd6c085d..840a18e17b6 100644 --- a/sdk_container/src/third_party/portage-stable/dev-db/sqlite/metadata.xml +++ b/sdk_container/src/third_party/portage-stable/dev-db/sqlite/metadata.xml @@ -9,6 +9,7 @@ Enable overwriting of deleted content with zeros by default (http://sqlite.org/pragma.html#pragma_secure_delete), causing some performance penalty + Run the full release test suite. Install additional tools, among which are included: sqlite3-analyzer, sqlite3-changeset, sqlite3-db-dump, sqlite3-diff, sqlite3-rbu, sqlite3-expert and others. diff --git a/sdk_container/src/third_party/portage-stable/dev-db/sqlite/sqlite-3.50.4.ebuild b/sdk_container/src/third_party/portage-stable/dev-db/sqlite/sqlite-3.50.4.ebuild deleted file mode 100644 index daa1b6ce244..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-db/sqlite/sqlite-3.50.4.ebuild +++ /dev/null @@ -1,445 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit flag-o-matic multilib multilib-minimal toolchain-funcs - -DESCRIPTION="SQL database engine" -HOMEPAGE="https://sqlite.org/" - -# On version updates, make sure to read the forum (https://sqlite.org/forum/forum) -# for hints regarding test failures, backports, etc. -if [[ ${PV} == 9999 ]]; then - S="${WORKDIR}"/${PN} - PROPERTIES="live" -else - printf -v SRC_PV "%u%02u%02u%02u" $(ver_rs 1- " ") - DOC_PV="${SRC_PV}" - #printf -v DOC_PV "%u%02u%02u00" $(ver_rs 1-3 " ") - - SRC_URI=" - https://sqlite.org/2025/${PN}-src-${SRC_PV}.zip - doc? ( https://sqlite.org/2025/${PN}-doc-${DOC_PV}.zip ) - " - S="${WORKDIR}/${PN}-src-${SRC_PV}" - - KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" -fi - -LICENSE="public-domain" -SLOT="3" -IUSE="debug doc icu +readline secure-delete static-libs tcl test tools" -RESTRICT="!test? ( test )" - -RDEPEND=" - virtual/zlib:=[${MULTILIB_USEDEP}] - icu? ( dev-libs/icu:=[${MULTILIB_USEDEP}] ) - readline? ( sys-libs/readline:=[${MULTILIB_USEDEP}] ) - tcl? ( dev-lang/tcl:=[${MULTILIB_USEDEP}] ) - tools? ( dev-lang/tcl:= ) -" -DEPEND=" - ${RDEPEND} - test? ( >=dev-lang/tcl-8.6:0[${MULTILIB_USEDEP}] ) -" -if [[ ${PV} == 9999 ]]; then - BDEPEND+=" dev-vcs/fossil" -else - BDEPEND+=" app-arch/unzip" -fi - -PATCHES=( - "${FILESDIR}"/${PN}-3.47.2-hwtime.h-Don-t-use-rdtsc-on-i486.patch - "${FILESDIR}"/${PN}-3.50.4-clang.patch -) - -_fossil_fetch() { - local distdir="${PORTAGE_ACTUAL_DISTDIR:-${DISTDIR}}" - local repo_id="${1}" - local repo_uri="${2}" - - local -x FOSSIL_HOME="${HOME}" - - mkdir -p "${T}/fossil/${repo_id}" || die - pushd "${T}/fossil/${repo_id}" > /dev/null || die - - if [[ -n "${EVCS_OFFLINE}" ]]; then - if [[ ! -f "${distdir}/fossil-src/${repo_id}/${repo_id}.fossil" ]]; then - die "Network activity disabled using EVCS_OFFLINE and clone of repository missing: \"${distdir}/fossil-src/${repo_id}/${repo_id}.fossil\"" - fi - else - if [[ ! -f "${distdir}/fossil-src/${repo_id}/${repo_id}.fossil" ]]; then - einfo fossil clone --verbose "${repo_uri}" "${repo_id}.fossil" - fossil clone --verbose "${repo_uri}" "${repo_id}.fossil" || die - echo - else - cp -p "${distdir}/fossil-src/${repo_id}/${repo_id}.fossil" . || die - einfo fossil pull --repository "${repo_id}.fossil" --verbose "${repo_uri}" - fossil pull --repository "${repo_id}.fossil" --verbose "${repo_uri}" || die - echo - fi - - ( - addwrite "${distdir}" - mkdir -p "${distdir}/fossil-src/${repo_id}" || die - cp -p "${repo_id}.fossil" "${distdir}/fossil-src/${repo_id}/${repo_id}.fossil" || die - ) - fi - - popd > /dev/null || die -} - -_fossil_checkout() { - local distdir="${PORTAGE_ACTUAL_DISTDIR:-${DISTDIR}}" - local repo_id="${1}" - local branch_or_commit="${2}" - local target_directory="${3}" - - local -x FOSSIL_HOME="${HOME}" - - if [[ ! -f "${distdir}/fossil-src/${repo_id}/${repo_id}.fossil" ]]; then - die "Clone of repository missing: \"${distdir}/fossil-src/${repo_id}/${repo_id}.fossil\"" - fi - - if [[ ! -f "${T}/fossil/${repo_id}/${repo_id}.fossil" ]]; then - mkdir -p "${T}/fossil/${repo_id}" || die - cp -p "${distdir}/fossil-src/${repo_id}/${repo_id}.fossil" "${T}/fossil/${repo_id}" || die - fi - - mkdir "${target_directory}" || die - pushd "${target_directory}" > /dev/null || die - - einfo fossil open --quiet "${T}/fossil/${repo_id}/${repo_id}.fossil" "${branch_or_commit}" - fossil open --quiet "${T}/fossil/${repo_id}/${repo_id}.fossil" "${branch_or_commit}" || die - echo - - popd > /dev/null || die -} - -fossil_fetch() { - local repo_id="${1}" - local repo_uri="${2}" - local target_directory="${3}" - - local branch_or_commit="${EFOSSIL_COMMIT:-${EFOSSIL_BRANCH:-trunk}}" - - _fossil_fetch "${repo_id}" "${repo_uri}" - _fossil_checkout "${repo_id}" "${branch_or_commit}" "${target_directory}" -} - -src_unpack() { - if [[ ${PV} == 9999 ]]; then - fossil_fetch sqlite https://sqlite.org/src "${WORKDIR}/${PN}" - if use doc; then - fossil_fetch sqlite-doc https://sqlite.org/docsrc "${WORKDIR}/${PN}-doc" - fi - else - default - fi -} - -src_prepare() { - default - - multilib_copy_sources -} - -multilib_src_configure() { - local -x CPPFLAGS="${CPPFLAGS}" CFLAGS="${CFLAGS}" - local options=() - - options+=( - --enable-load-extension - --enable-threadsafe - ) - - # Support detection of misuse of SQLite API. - # https://sqlite.org/compile.html#enable_api_armor - append-cppflags -DSQLITE_ENABLE_API_ARMOR - - # Support bytecode and tables_used virtual tables. - # https://sqlite.org/compile.html#enable_bytecode_vtab - # https://sqlite.org/bytecodevtab.html - append-cppflags -DSQLITE_ENABLE_BYTECODE_VTAB - - # Support column metadata functions. - # https://sqlite.org/compile.html#enable_column_metadata - # https://sqlite.org/c3ref/column_database_name.html - append-cppflags -DSQLITE_ENABLE_COLUMN_METADATA - - # Support sqlite_dbpage virtual table. - # https://sqlite.org/compile.html#enable_dbpage_vtab - # https://sqlite.org/dbpage.html - append-cppflags -DSQLITE_ENABLE_DBPAGE_VTAB - - # Support dbstat virtual table. - # https://sqlite.org/compile.html#enable_dbstat_vtab - # https://sqlite.org/dbstat.html - append-cppflags -DSQLITE_ENABLE_DBSTAT_VTAB - - # Support sqlite3_serialize() and sqlite3_deserialize() functions. - # https://sqlite.org/compile.html#enable_deserialize - # https://sqlite.org/c3ref/serialize.html - # https://sqlite.org/c3ref/deserialize.html - append-cppflags -DSQLITE_ENABLE_DESERIALIZE - - # Support comments in output of EXPLAIN. - # https://sqlite.org/compile.html#enable_explain_comments - append-cppflags -DSQLITE_ENABLE_EXPLAIN_COMMENTS - - # Support Full-Text Search versions 3, 4 and 5. - # https://sqlite.org/compile.html#enable_fts3 - # https://sqlite.org/compile.html#enable_fts3_parenthesis - # https://sqlite.org/compile.html#enable_fts4 - # https://sqlite.org/compile.html#enable_fts5 - # https://sqlite.org/fts3.html - # https://sqlite.org/fts5.html - append-cppflags -DSQLITE_ENABLE_FTS3 -DSQLITE_ENABLE_FTS3_PARENTHESIS - options+=( --enable-fts4 ) - options+=( --enable-fts5 ) - - # Support hidden columns. - append-cppflags -DSQLITE_ENABLE_HIDDEN_COLUMNS - - # Support memsys5 memory allocator. - # https://sqlite.org/compile.html#enable_memsys5 - # https://sqlite.org/malloc.html#memsys5 - options+=( --enable-memsys5 ) - - # Support sqlite3_normalized_sql() function. - # https://sqlite.org/c3ref/expanded_sql.html - append-cppflags -DSQLITE_ENABLE_NORMALIZE - - # Support sqlite_offset() function. - # https://sqlite.org/compile.html#enable_offset_sql_func - # https://sqlite.org/lang_corefunc.html#sqlite_offset - append-cppflags -DSQLITE_ENABLE_OFFSET_SQL_FUNC - - # Support pre-update hook functions. - # https://sqlite.org/compile.html#enable_preupdate_hook - # https://sqlite.org/c3ref/preupdate_count.html - append-cppflags -DSQLITE_ENABLE_PREUPDATE_HOOK - - # Support Resumable Bulk Update extension. - # https://sqlite.org/compile.html#enable_rbu - # https://sqlite.org/rbu.html - append-cppflags -DSQLITE_ENABLE_RBU - - # Support R*Trees. - # https://sqlite.org/compile.html#enable_rtree - # https://sqlite.org/compile.html#enable_geopoly - # https://sqlite.org/rtree.html - # https://sqlite.org/geopoly.html - options+=( --enable-rtree --enable-geopoly ) - - # Support Session extension. - # https://sqlite.org/compile.html#enable_session - # https://sqlite.org/sessionintro.html - options+=( --enable-session ) - - # Support scan status functions. - # https://sqlite.org/compile.html#enable_stmt_scanstatus - # https://sqlite.org/c3ref/stmt_scanstatus.html - # https://sqlite.org/c3ref/stmt_scanstatus_reset.html - append-cppflags -DSQLITE_ENABLE_STMT_SCANSTATUS - - # Support sqlite_stmt virtual table. - # https://sqlite.org/compile.html#enable_stmtvtab - # https://sqlite.org/stmt.html - append-cppflags -DSQLITE_ENABLE_STMTVTAB - - # Support unknown() function. - # https://sqlite.org/compile.html#enable_unknown_sql_function - append-cppflags -DSQLITE_ENABLE_UNKNOWN_SQL_FUNCTION - - # Support unlock notification. - # https://sqlite.org/compile.html#enable_unlock_notify - # https://sqlite.org/c3ref/unlock_notify.html - # https://sqlite.org/unlock_notify.html - append-cppflags -DSQLITE_ENABLE_UNLOCK_NOTIFY - - # Support LIMIT and ORDER BY clauses on DELETE and UPDATE statements. - # https://sqlite.org/compile.html#enable_update_delete_limit - # https://sqlite.org/lang_delete.html#optional_limit_and_order_by_clauses - # https://sqlite.org/lang_update.html#optional_limit_and_order_by_clauses - append-cppflags -DSQLITE_ENABLE_UPDATE_DELETE_LIMIT - - # Support soundex() function. - # https://sqlite.org/compile.html#soundex - # https://sqlite.org/lang_corefunc.html#soundex - append-cppflags -DSQLITE_SOUNDEX - - # Support URI filenames. - # https://sqlite.org/compile.html#use_uri - # https://sqlite.org/uri.html - append-cppflags -DSQLITE_USE_URI - - options+=( $(use_enable debug) ) - - if use icu; then - # Support ICU extension. - # https://sqlite.org/compile.html#enable_icu - options+=( --with-icu-config ) - fi - - options+=( - --disable-editline - $(use_enable readline) - ) - - if use readline; then - options+=( --with-readline-inc="-I${ESYSROOT}/usr/include/readline" ) - fi - - if use secure-delete; then - # Enable secure_delete pragma by default. - # https://sqlite.org/compile.html#secure_delete - # https://sqlite.org/pragma.html#pragma_secure_delete - append-cppflags -DSQLITE_SECURE_DELETE - fi - - options+=( $(use_enable static-libs static) ) - - # tcl, test, tools USE flags. - if use tcl || use test || { use tools && multilib_is_native_abi; }; then - options+=( - --enable-tcl - --with-tcl="${ESYSROOT}/usr/$(get_libdir)" - ) - else - options+=( --disable-tcl ) - fi - - if [[ "${ABI}" == "x86" ]]; then - if $(tc-getCC) ${CPPFLAGS} ${CFLAGS} -E -P -dM - < /dev/null 2> /dev/null | grep -q "^#define __SSE__ 1$"; then - append-cflags -mfpmath=sse - else - append-cflags -ffloat-store - fi - fi - - if [[ ${CHOST} != *-darwin* ]] ; then - # set SONAME for the library - options+=( --soname=legacy ) - else - # to allow install_name_tool id change - append-ldflags -headerpad_max_install_names - fi - - # https://sqlite.org/forum/forumpost/4f4d06a9f6683bb9 - tc-export_build_env BUILD_CC - - CC_FOR_BUILD=${BUILD_CC} econf "${options[@]}" -} - -multilib_src_compile() { - emake HAVE_TCL="$(usex tcl 1 0)" TCLLIBDIR="${EPREFIX}/usr/$(get_libdir)/${P}" - - if use tools && multilib_is_native_abi; then - emake changeset dbdump dbhash dbtotxt index_usage rbu scrub showdb showjournal showshm showstat4 showwal sqldiff sqlite3_analyzer sqlite3_checker sqlite3_expert sqltclsh - fi - - if [[ ${PV} == 9999 ]] && use doc && multilib_is_native_abi; then - emake tclsqlite3.c - - local build_directory="$(pwd)" - build_directory="${build_directory##*/}" - - mkdir "${WORKDIR}/${PN}-doc-build" || die - pushd "${WORKDIR}/${PN}-doc-build" > /dev/null || die - - emake -f "../${PN}-doc/Makefile" -j1 SRC="../${PN}" BLD="../${build_directory}" DOC="../${PN}-doc" CC="$(tc-getBUILD_CC)" TCLINC="" TCLFLAGS="$($(tc-getBUILD_PKG_CONFIG) --libs tcl) -ldl -lm" base doc - rmdir doc/matrix{/*,} || die - - popd > /dev/null || die - fi -} - -multilib_src_test() { - if [[ "${EUID}" -eq 0 ]]; then - ewarn "Skipping tests due to root permissions" - return - fi - - local -x SQLITE_HISTORY="${T}/sqlite_history_${ABI}" - - # e_uri.test tries to open files in /. - # bug #839798 - local SANDBOX_PREDICT=${SANDBOX_PREDICT} - addpredict "/test.db" - addpredict "/ÿ.db" - - emake -Onone $(usex debug 'fulltest' 'test') -} - -multilib_src_install() { - emake DESTDIR="${D}" HAVE_TCL="$(usex tcl 1 "")" TCLLIBDIR="${EPREFIX}/usr/$(get_libdir)/${P}" install - - if [[ ${CHOST} == *-darwin* ]] ; then - # fix install_name, soname=legacy doesn't work for this (but - # breaks the build instead) - install_name_tool \ - -id "${EPREFIX}/usr/$(get_libdir)/libsqlite3$(get_libname 0)" \ - "${ED}/usr/$(get_libdir)/libsqlite3$(get_libname ${PV})" \ - || die "failed to fix install_name" - fi - - if use tools && multilib_is_native_abi; then - install_tool() { - if [[ -f ".libs/${1}" ]]; then - newbin ".libs/${1}" "${2}" - else - newbin "${1}" "${2}" - fi - } - - install_tool changeset sqlite3-changeset - install_tool dbdump sqlite3-db-dump - install_tool dbhash sqlite3-db-hash - install_tool dbtotxt sqlite3-db-to-txt - install_tool index_usage sqlite3-index-usage - install_tool rbu sqlite3-rbu - install_tool scrub sqlite3-scrub - install_tool showdb sqlite3-show-db - install_tool showjournal sqlite3-show-journal - install_tool showshm sqlite3-show-shm - install_tool showstat4 sqlite3-show-stat4 - install_tool showwal sqlite3-show-wal - install_tool sqldiff sqlite3-diff - install_tool sqlite3_analyzer sqlite3-analyzer - install_tool sqlite3_checker sqlite3-checker - install_tool sqlite3_expert sqlite3-expert - install_tool sqltclsh sqlite3-tclsh - - unset -f install_tool - fi -} - -multilib_src_install_all() { - find "${ED}" -name "*.la" -delete || die - - doman sqlite3.1 - - if use doc; then - if [[ ${PV} == 9999 ]]; then - pushd "${WORKDIR}/${PN}-doc-build/doc" > /dev/null || die - else - pushd "${WORKDIR}/${PN}-doc-${DOC_PV}" > /dev/null || die - fi - - find "(" -name "*.db" -o -name "*.txt" ")" -delete || die - if [[ ${PV} != 9999 ]]; then - rm search search.d/admin || die - rmdir search.d || die - find -name "*~" -delete || die - fi - - ( - docinto html - dodoc -r * - ) - - popd > /dev/null || die - fi -} diff --git a/sdk_container/src/third_party/portage-stable/dev-db/sqlite/sqlite-3.51.1.ebuild b/sdk_container/src/third_party/portage-stable/dev-db/sqlite/sqlite-3.51.3.ebuild similarity index 97% rename from sdk_container/src/third_party/portage-stable/dev-db/sqlite/sqlite-3.51.1.ebuild rename to sdk_container/src/third_party/portage-stable/dev-db/sqlite/sqlite-3.51.3.ebuild index e0cf37ae80c..92381ac6747 100644 --- a/sdk_container/src/third_party/portage-stable/dev-db/sqlite/sqlite-3.51.1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-db/sqlite/sqlite-3.51.3.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 @@ -19,8 +19,8 @@ else #printf -v DOC_PV "%u%02u%02u00" $(ver_rs 1-3 " ") SRC_URI=" - https://sqlite.org/2025/${PN}-src-${SRC_PV}.zip - doc? ( https://sqlite.org/2025/${PN}-doc-${DOC_PV}.zip ) + https://sqlite.org/2026/${PN}-src-${SRC_PV}.zip + doc? ( https://sqlite.org/2026/${PN}-doc-${DOC_PV}.zip ) " S="${WORKDIR}/${PN}-src-${SRC_PV}" @@ -29,7 +29,8 @@ fi LICENSE="public-domain" SLOT="3" -IUSE="debug doc icu +readline secure-delete static-libs tcl test tools" +IUSE="debug doc icu +readline secure-delete static-libs tcl test test-full tools" +REQUIRED_USE="test-full? ( test )" RESTRICT="!test? ( test )" RDEPEND=" @@ -51,6 +52,7 @@ fi PATCHES=( "${FILESDIR}"/${PN}-3.47.2-hwtime.h-Don-t-use-rdtsc-on-i486.patch + "${FILESDIR}"/${PN}-3.51.3-test.patch ) _fossil_fetch() { @@ -369,7 +371,8 @@ multilib_src_test() { addpredict "/test.db" addpredict "/ÿ.db" - emake -Onone $(usex debug 'fulltest' 'test') + emake tclextension + emake -Onone $(usex test-full 'xdevtest' 'test') } multilib_src_install() { diff --git a/sdk_container/src/third_party/portage-stable/dev-db/sqlite/sqlite-9999.ebuild b/sdk_container/src/third_party/portage-stable/dev-db/sqlite/sqlite-9999.ebuild index 009295ba563..3023b268d07 100644 --- a/sdk_container/src/third_party/portage-stable/dev-db/sqlite/sqlite-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-db/sqlite/sqlite-9999.ebuild @@ -336,7 +336,7 @@ multilib_src_compile() { emake HAVE_TCL="$(usev tcl 1)" TCLLIBDIR="${EPREFIX}/usr/$(get_libdir)/${P}" if use tools && multilib_is_native_abi; then - emake changeset dbdump dbhash dbtotxt index_usage rbu scrub showdb showjournal showshm showstat4 showwal sqldiff sqlite3_analyzer sqlite3_checker sqlite3_expert sqltclsh + emake changeset dbdump dbhash dbtotxt index_usage rbu scrub showdb showjournal showshm showstat4 showwal sqldiff sqlite3_analyzer sqlite3_expert sqltclsh fi if [[ ${PV} == 9999 ]] && use doc && multilib_is_native_abi; then @@ -407,7 +407,6 @@ multilib_src_install() { install_tool showwal sqlite3-show-wal install_tool sqldiff sqlite3-diff install_tool sqlite3_analyzer sqlite3-analyzer - install_tool sqlite3_checker sqlite3-checker install_tool sqlite3_expert sqlite3-expert install_tool sqltclsh sqlite3-tclsh diff --git a/sdk_container/src/third_party/portage-stable/dev-debug/gdb/gdb-17.1.ebuild b/sdk_container/src/third_party/portage-stable/dev-debug/gdb/gdb-17.1.ebuild index 56ecbfb9e82..eb6b1de2d3c 100644 --- a/sdk_container/src/third_party/portage-stable/dev-debug/gdb/gdb-17.1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-debug/gdb/gdb-17.1.ebuild @@ -335,6 +335,10 @@ src_install() { if use python ; then python_optimize "${ED}"/usr/share/gdb/python/gdb fi + + if use kernel_Hurd ; then + mv "${ED}"/usr/bin/gcore "${ED}"/usr/bin/gcore.gdb || die + fi } pkg_postinst() { diff --git a/sdk_container/src/third_party/portage-stable/dev-debug/gdb/gdb-9999.ebuild b/sdk_container/src/third_party/portage-stable/dev-debug/gdb/gdb-9999.ebuild index 8af8888c792..445d965f432 100644 --- a/sdk_container/src/third_party/portage-stable/dev-debug/gdb/gdb-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-debug/gdb/gdb-9999.ebuild @@ -335,6 +335,10 @@ src_install() { if use python ; then python_optimize "${ED}"/usr/share/gdb/python/gdb fi + + if use kernel_Hurd ; then + mv "${ED}"/usr/bin/gcore "${ED}"/usr/bin/gcore.gdb || die + fi } pkg_postinst() { diff --git a/sdk_container/src/third_party/portage-stable/dev-debug/strace/strace-6.19.ebuild b/sdk_container/src/third_party/portage-stable/dev-debug/strace/strace-6.19.ebuild index 36d8df9b14c..559d09c1bc4 100644 --- a/sdk_container/src/third_party/portage-stable/dev-debug/strace/strace-6.19.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-debug/strace/strace-6.19.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 diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/go-bootstrap/Manifest b/sdk_container/src/third_party/portage-stable/dev-lang/go-bootstrap/Manifest index 5a986891754..05c27e2963d 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/go-bootstrap/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-lang/go-bootstrap/Manifest @@ -30,3 +30,19 @@ DIST go-bootstrap-1.22.12-linux-ppc64le.tbz 60214299 BLAKE2B 9506975d7ed9170c280 DIST go-bootstrap-1.22.12-linux-riscv64.tbz 61337982 BLAKE2B 04bad675e1d0bbd7578acf8ac545b09bb0542cc8336b3e7ed0d62c0a2620ab63c3d1e28644bfdce984130ef851d19e59375ab9ffe8e3cea6f9dbb8cd0ac56246 SHA512 b0002a0a1fa976b1b575920053bb88cd89fb5b76ff1e34bde1ef001cc87f70541a60f755d9dd9d898ca05bfb59a4b79e6892082f43b5cb78c62c8703b14c10d1 DIST go-bootstrap-1.22.12-linux-s390x.tbz 62183020 BLAKE2B f6fb0f28e2e24523b49263cc5f74c7d0c54e7933ce56fd3c6774b4d003cc0d8ae774d86133f84cc475bb6270b2c3f44f6576f81689f38e8fffd679f097d0963b SHA512 34144ead46490c57b486f01ca86e78025c45b74c721128047095bab02fc9e31c7681e172f4726bb87d422889eb78b3e9762de242e7c9eb1770ac322edb1c933f DIST go-bootstrap-1.22.12-solaris-amd64.tbz 63917252 BLAKE2B ec274db725ae7e27174e708c8e719494a2053de01d829d594c29d16c23576bd1118968855b0b9ac4e904817c3f06ce6ac49301d749f3c8c4615066d92af5f5ea SHA512 22021ce136c6885a5f90cb42a6f8683c5ad1f6dae5f2f6f0c296556ddc571ec4d5b0c200b1739dda6121d717729a1f1ab27eeac46d9589187d96105996423d0a +DIST go-bootstrap-1.24.6-darwin-amd64.tbz 73967356 BLAKE2B eb7d0a014e716fdb596faa8ba942008bd77435a63a9462a982bdee179233958abdbb8871ee2a87a6b6c4150cc3165b2ea8b748770861476910d7fb2ede823bdd SHA512 5a05ebbb41841c1c9511ee23dea5dcb922ae05bdc2e2247f0f7767c39c7820c6c6b318bc25b73e7ccb96e85968ca2eda2c311af90026c299c492fa2a5d01b848 +DIST go-bootstrap-1.24.6-darwin-arm64.tbz 70684034 BLAKE2B 3d26947018fe8a689c671903e2228477f97c4a41d4e8815d6dc87958dd2c34ffd0d7a832e7c228aebaf9835cb0a16a468ff9dc80de40cb47855507f9e6886ce0 SHA512 a2b31964e3c53c2a2b038427e6e1c12e5ed12de5b364dec9da72fd145ab770f43962168ebfead3dcd95d5c2f5c2abf30fa5fc182a87b81c609f406e48de8c0fb +DIST go-bootstrap-1.24.6-linux-386.tbz 70806247 BLAKE2B 9be2baecd8216a516faceac379287f0349762e272ceedb090a2abe534f38f0c38bab287b0f031c56db9631dc6c0479b0cb712b4910374f42c80d279f80f96fd6 SHA512 f13b59dd72b835ff4f9dbb5c008807555967b5dca8924c801bb68de989f72899eabb62f86ad1d510efb29534b33a4dc10efed91b60cba5a0bd08493d1ccc1385 +DIST go-bootstrap-1.24.6-linux-amd64.tbz 73082509 BLAKE2B e24bbb8bdb628e75a30874839b3a51239e6aca1900fa6f1e255577e8cda8a3bc5c14aae9685776f0e9b06ef7cdc2fade2adeab654a60747ad047d512e750f67e SHA512 b8311d531ba8a310e55f578b3a0735ab6e7030cc2dd121c58769ab47cb6abbb23c80b0425bdc1b1a531424feabeeeb770b35bea68d71aa60a032554cb582f049 +DIST go-bootstrap-1.24.6-linux-arm.tbz 69995307 BLAKE2B 3707174c42dec34183b914fa311f789aeeafdb8e6be654a68c18ae9bd639f0d2d152d094340473a20e169647e040dc09000c3a8e06f2100c4e61e48e7d53254d SHA512 9092d97669e483ce86f39028ab25119cc92b217d75e74d386f3c92697c94059a0ccf0f6178aad89c99a05ae41a5503f3076f70657792eb37fd6bfd52f705aeac +DIST go-bootstrap-1.24.6-linux-arm64.tbz 68586366 BLAKE2B cbd04b18539a4e284223aa32e72270a72e2722a42f6627bd7767c2e7ac1278d3c6309fa5dd9e1d89d7d7892e47d1597c15ea058a2cfc93d849c9a66ad12f479e SHA512 0df771070aa403cd38f11f55b4694224b5cb0604d068b299680cb733a47966278757b8bf598aa6e131c8dfdfddd8ceecc0e92a33f8aacba89dd5951ba1d35dbc +DIST go-bootstrap-1.24.6-linux-loong64.tbz 69718184 BLAKE2B cc65c150f927d5fd5fd9c376ed3fb35f25698735555302981c7bd580dd2ea3b6f88dd3922e50ad29790897f0e04661e755bcb91cefef64e8e03b7424a9f4f78c SHA512 831eb45d438df520350c27537ed2fd52671454ee1d174b849318f249e60dcbd067656bb1cc033869c1e7f444355af1ff4c215a331ec7cd895dde01089d28fee1 +DIST go-bootstrap-1.24.6-linux-mips.tbz 65779741 BLAKE2B 1d748885615e87f7ea41f4c45d231b9391fb4bbe9e3d1de701ee5ce5fdc010771ddde427197362fdc35302aadfd7512857f5ce0af1c5b17f08fab8c0d18aeb3f SHA512 e6aa70a601ed105e724ebb999afaedbfce6d874a438db6f06ea1086df66670c541d6317606c77cab3c75bcaa3fe13fa53b0f6ae5fc7c587c596d338aa46e7bcf +DIST go-bootstrap-1.24.6-linux-mips64.tbz 65476295 BLAKE2B 3b6c8afd412cad52c5357c98daa4cf9fa29c0f37e41ead8ae397e3f95b7981b55ad6e367be2faf8bc6dc09498593fcd2cb43161993c31f3c0e508404f6215585 SHA512 fc1923a4fe55b1f986c79352811f86cf472414045cafc48e03fb2d018dbdc303f1f8e9021103e04e583408e0fab7fec6f9da57e9a283a79c8ea02d91ac3f13d9 +DIST go-bootstrap-1.24.6-linux-mips64le.tbz 65730420 BLAKE2B 4f9f6be0d8be999069c17c7c451bcc339caaf0b14d92bdca99ff94ee09ce08d43646039fc73fe386534c4c0644a56333b6bf4c9fad8740b6a000bde272b9f263 SHA512 c38b02ab2bd89da31c3fa23721cd4dc6fea6f1bb455e6d58fc11eb8d2ae3a69e8f8268f926017c5f20680a484065624793de137964590210c7afc32b41d6d7e5 +DIST go-bootstrap-1.24.6-linux-mipsle.tbz 66117092 BLAKE2B 1b8ee9708a986a71ae39e9a0336e3c5581c0feed12aa6fe0b773f02ffac327d844c72a7a4e0cc76685c5775cb0540244e761515e613d159d4d7dc531547fe8ad SHA512 73ab4e91d9faaa86430ec000be502b58e8bb5ea0957dc39b4df458a5b05387745983f949a35f31f6218a9932c93d2e0345113c29d86560acd79ca0da1d9a3e6c +DIST go-bootstrap-1.24.6-linux-ppc64.tbz 68004377 BLAKE2B 746c56bf6853158be6836e3a2fd9f7dd589e015c09a955bbf28f663205a87020776b8ce431208b12f013de9484e95041ccbfa354632d6d61cf264f0b1770a6f9 SHA512 61776140c9f3231315bd578a26eb62a17dd1862e7545bfbff884fc2f213ac31b8ee30bdc82ff914f3a2e4a9869b8a696e72073b521dfcc76313cb59b2ab983b0 +DIST go-bootstrap-1.24.6-linux-ppc64le.tbz 68445671 BLAKE2B 7f02f17adc4270778c81e2eb215a36322f615e776d3630259ce9f4afed1c9dcf98d19589e7a5506c2a148a9f66155aef2aa1b5308051a5bbe555b95f1c94fe50 SHA512 7f567bcae710eefa0e094d8c16a4dba8ebf4a71b672ac390b78e50b06348413a0c0c347d9d32dcf9888aa38eb88d774a7dcbd3b6d2f4efec062a2a6f37160358 +DIST go-bootstrap-1.24.6-linux-riscv64.tbz 70058771 BLAKE2B 1a37deacfd4090592e525bae3988b4a375fece394b11532a44fea09f1239e12852dd362dfe024edabecfd49c5de9add4ca6ca86d597ea10435f3b6245a116e5c SHA512 2aad31d7d17d71fe684078d18e668daa456372de05457f6c21601e1facc761bbe6392fd858ff9021b191d689bd94315a1c9b8762b8016efaddefbc1fab974251 +DIST go-bootstrap-1.24.6-linux-s390x.tbz 70698770 BLAKE2B d3e0005ad61a5811dbab77bc3dce7af9dfa6a945154817eb92bc373c6b092842d87770a4fced6d721dee907fdffa044409d4a514abad00c3e1bfda753417fd11 SHA512 d1d1bd6292fa84e4198785073e7786a4c052b7a3cf46fab309bf1ca31d77bf6586e1bfec54d3be064feb4bdcf5026a99a96e91e92fee8e32ff9e62d3e49c2e63 +DIST go-bootstrap-1.24.6-solaris-amd64.tbz 72214754 BLAKE2B c2808058ac7d2cd19cbf8718200e64497f9a1f6801d3fff34c14e921148e5ec25eb44e788fe84f6b71b5a68cedec69006c5677b1ac744611596150f16b1d869d SHA512 e7e749d30432660d68aaf7fa52413c64f48f6e56b8eca4b3672d831ced80cf87a7ab65fae6b5b75ec5fd16f6e514bdcb6cedbb8d33823f48813de49ed1bd7223 diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/go-bootstrap/go-bootstrap-1.24.6.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/go-bootstrap/go-bootstrap-1.24.6.ebuild new file mode 100644 index 00000000000..cb70daab317 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-lang/go-bootstrap/go-bootstrap-1.24.6.ebuild @@ -0,0 +1,51 @@ +# Copyright 2020-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DESCRIPTION="Binary bootstrap package for dev-lang/go" +HOMEPAGE="https://golang.org" +BOOTSTRAP_DIST="https://distfiles.gentoo.org/pub/proj/go/${PV}" +SRC_URI=" + x64-macos? ( ${BOOTSTRAP_DIST}/${P}-darwin-amd64.tbz ) + arm64-macos? ( ${BOOTSTRAP_DIST}/${P}-darwin-arm64.tbz ) + x86? ( ${BOOTSTRAP_DIST}/${P}-linux-386.tbz ) + amd64? ( ${BOOTSTRAP_DIST}/${P}-linux-amd64.tbz ) + arm64? ( ${BOOTSTRAP_DIST}/${P}-linux-arm64.tbz ) + arm? ( ${BOOTSTRAP_DIST}/${P}-linux-arm.tbz ) + loong? ( ${BOOTSTRAP_DIST}/${P}-linux-loong64.tbz ) + mips? ( + abi_mips_n64? ( + !big-endian? ( ${BOOTSTRAP_DIST}/${P}-linux-mips64le.tbz ) + big-endian? ( ${BOOTSTRAP_DIST}/${P}-linux-mips64.tbz ) + ) + abi_mips_o32? ( + !big-endian? ( ${BOOTSTRAP_DIST}/${P}-linux-mipsle.tbz ) + big-endian? ( ${BOOTSTRAP_DIST}/${P}-linux-mips.tbz ) + ) + ) + ppc64? ( + !big-endian? ( ${BOOTSTRAP_DIST}/${P}-linux-ppc64le.tbz ) + big-endian? ( ${BOOTSTRAP_DIST}/${P}-linux-ppc64.tbz ) + ) + riscv? ( ${BOOTSTRAP_DIST}/${P}-linux-riscv64.tbz ) + s390? ( ${BOOTSTRAP_DIST}/${P}-linux-s390x.tbz ) + x64-solaris? ( ${BOOTSTRAP_DIST}/${P}-solaris-amd64.tbz ) +" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="-* ~amd64 ~arm ~arm64 ~loong ~mips ~ppc64 ~riscv ~s390 ~x86 ~arm64-macos ~x64-macos ~x64-solaris" +IUSE="abi_mips_n64 abi_mips_o32 big-endian" +RESTRICT="strip" +QA_PREBUILT="*" + +S="${WORKDIR}" + +src_install() { + dodir /usr/lib + mv go-*-bootstrap "${ED}/usr/lib/go-bootstrap" || die + + # testdata directories are not needed on the installed system + rm -fr $(find "${ED}"/usr/lib/go-bootstrap -iname testdata -type d -print) +} 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 deec5096bbe..5757ce83257 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,3 +2,5 @@ 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.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 +DIST go1.26.1.src.tar.gz 34108253 BLAKE2B 3128218a9c24dfacfbe2f0f5fa7fc3feb86a1954ba11bdad3b3a9af0e3359bb98dce79453d8fdaedaf5403dc15b3cb233883d0815520f094662ca7dcf9f509b2 SHA512 7bab2a762b4aff1c2c3a3cf3ad20bce63fabff28c7ff63b18cb8b0ce427a7bc1781cfd3fa291f4bff499247b1f0fd56f1698bb19bc7c1be7d7d2f38716438d41 diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/go/go-1.25.8.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/go/go-1.25.8.ebuild new file mode 100644 index 00000000000..7920d9cab23 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-lang/go/go-1.25.8.ebuild @@ -0,0 +1,149 @@ +# 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.24-dont-force-gold-arm.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 + 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.1.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/go/go-1.26.1.ebuild new file mode 100644 index 00000000000..0a5414fbe0e --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-lang/go/go-1.26.1.ebuild @@ -0,0 +1,148 @@ +# 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.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.24-dont-force-gold-arm.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 + 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-9999.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/go/go-9999.ebuild index 8a70623142f..e246d6f0ee2 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/go/go-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/go/go-9999.ebuild @@ -7,10 +7,10 @@ export CBUILD=${CBUILD:-${CHOST}} export CTARGET=${CTARGET:-${CHOST}} # See "Bootstrap" in release notes -GO_BOOTSTRAP_MIN=1.22.12 +GO_BOOTSTRAP_MIN=1.24.6 MY_PV=${PV/_/} -inherit go-env toolchain-funcs +inherit flag-o-matic go-env toolchain-funcs case ${PV} in *9999*) @@ -70,7 +70,7 @@ go_cross_compile() { PATCHES=( "${FILESDIR}"/go-1.24-skip-gdb-tests.patch - "${FILESDIR}"/go-1.24-dont-force-gold-arm.patch + "${FILESDIR}"/go-1.25-no-dwarf5.patch "${FILESDIR}"/go-never-download-newer-toolchains.patch ) @@ -84,6 +84,20 @@ src_compile() { 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}) diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/perl/perl-5.42.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/perl/perl-5.42.0.ebuild index 2bd1cb3cf5e..93f520dab7c 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/perl/perl-5.42.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/perl/perl-5.42.0.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 @@ -173,7 +173,8 @@ pkg_setup() { case ${CHOST} in *-darwin*) osname="darwin" ;; *-solaris*) osname="solaris" ;; - *) osname="linux" ;; + *-linux*) osname="linux" ;; + *-gnu) osname="gnu" ;; esac myarch="${CHOST%%-*}-${osname}" 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 28c75ee9b33..ee1f5221160 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 @@ -28,6 +28,8 @@ DIST Python-3.15.0a5.tar.xz 34829268 BLAKE2B adda3409a5b3308da1f39effc0b01b317b2 DIST Python-3.15.0a5.tar.xz.sigstore 5311 BLAKE2B e214228fe5211d5df51fb7cd85b2c22b616f01f5f9ea75a8312fd08a37dd7e5444935b8ade81c44b1cf92dd8c61e0a15c3a929e9ecd71ee164d38936e76628d6 SHA512 b395e2e61a6bc0d406b28583f9aecea731fa13ada39936b7474baa24a6d1674dd3f83f54ab0ca5e38e1cda211ddaded71117e3c733dfd4373a3ba161053060b2 DIST Python-3.15.0a6.tar.xz 34950024 BLAKE2B 96fb82a52bb504df886dd89d7a04538eb60285f5ad84a736a3eff8fa19ade1c2026a327c336fd1c249c7016e6a0c5e3d6d7275a499e6b99f72ce386f27a1c4b8 SHA512 d941b26a57b292f388b425186af9584843d220ca729b8b4cea1874831496eeb2a6e3432ca81722134fb86f3e7078cd955ff5774e79b44749bf01994e4349624d DIST Python-3.15.0a6.tar.xz.sigstore 5171 BLAKE2B 368f3e18c48b3dd0c1f4281b9bb4a28a9f5e5f7d138990bbccd80637c29f1fad5ca793dd09e49b0c7998fba8c4b9338990910e9bc99b2b71a64114f633727d82 SHA512 098b60d659b72f6f06b428619ddc9bb6b1c2ee3d3c6b5860436c507737f8efbe71a76d3758e53e760392df08b103740c5fd6e84f98f8e0e314300ccbc27a641e +DIST Python-3.15.0a7.tar.xz 35004684 BLAKE2B 5d694099cb0b5839c14f9cb36a42947993abd381769392d064dee15fb0cc73e5e70a8a8c3465f5ba2cd7da132d4422d6112e236001004f81ebcd7282d1ac40e6 SHA512 81a5a96ab85217c9f8ec2841bc0e219b798824ade5dcb57919db027c08858f42d64c2a585f305c7efb3837c1bae071970ce4ed135d494f19b51ece4f2a236343 +DIST Python-3.15.0a7.tar.xz.sigstore 5168 BLAKE2B 5ca2623f70d21ffe7a2645e4ecc31a7007654523d7021fefb4d626111d2aac6fe4d251314e6e1ec086b1057040b43e4be59491c74a7672234e1267ab67539100 SHA512 7fd76fd554b5476727f5413d9941884ad55665ad8a12b089f64ff85281cd4041d523d896fd20e2c2249839e33e7d983e17247e2e7f74cfdcded6a4f3f837ad6a 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 @@ -52,5 +54,6 @@ DIST python-gentoo-patches-3.14.2.tar.xz 8008 BLAKE2B aa454e26901a36a34dedb1deab DIST python-gentoo-patches-3.14.3.tar.xz 8012 BLAKE2B a8106360a6c77e0e19ecdf55e924b85cfd6dae65d54b7c306a793b08da5214993631b92b1cff385c2d995799055a4e4ca3a461d4e1e049ada38e97b4eae54a31 SHA512 1747a99cdc2ec29b985bc75f53f9f4cbd6f9377bfb06f6576b2970bd30ae8461a39ba870021866cf0f79320e2775047b2f70d53a06c5687ebac23b3ae68c157a DIST python-gentoo-patches-3.15.0a5.tar.xz 3392 BLAKE2B 3016725f3a460c35ce7ef872939449dc4385f19cb88f3047e0cb50d33bf155898933573d25d10490f83d1669a96cb86c9be7e5071a55abc40d439df972a5e468 SHA512 f7940891fd2f2e8b691dde7007b59016a04e0557207cf4272d20e72d248dfe48f604fa3abaf0bc4cb085ae5d9bb56781a51e5b6e604ef7f3be1f14519f7fb6ce DIST python-gentoo-patches-3.15.0a6.tar.xz 3388 BLAKE2B 24f1b54aa6010568f925db7d7bd58f253ee7e87c0f12ef2d69faa71fcfca05477596189bc191306d98ffffff5f837167eec00b995aeffdf7c1e992125cc2c6de SHA512 9ecdbf0f44d8f49aa203b5cfeb08104002117f962cff3141f66a577f9ddd9ffefc2a576f498c9c65f7c9487d4eea948e7bead6c5ff220f16b34576f7b84fc4cd +DIST python-gentoo-patches-3.15.0a7.tar.xz 3808 BLAKE2B 4ce4637776204281483a75511c106e01a07d85d6cd7c08ed1cb1d4d0934ed68a337eb8408ab2ec105be5a176a3d1626705c9fddc538e78725df8546212766fc6 SHA512 db713e15d6b99cd75dc5ac98d24506f7999200719aaae04a97fe1c231f977cbfa63f69ac5d829040107fbe9a7548a1e8853231c305b6a5d5fa3b5e303993b475 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.13.11.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-0.3.13.11.ebuild index b87de46d79e..ea54534fb3a 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-0.3.13.11.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-0.3.13.11.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" @@ -173,10 +173,10 @@ build_cbuild_python() { # # -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} + local -x LDFLAGS_NODIST="${BUILD_LDFLAGS} -fno-lto" local -x CFLAGS= LDFLAGS= local -x BUILD_CFLAGS="${CFLAGS_NODIST}" - local -x BUILD_LDFLAGS=${LDFLAGS_NODIST} + local -x BUILD_LDFLAGS="${LDFLAGS_NODIST}" # We need to build our own Python on CBUILD first, and feed it in. # bug #847910 diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-0.3.13.12.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-0.3.13.12.ebuild index 66afeaa9d1f..ea54534fb3a 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-0.3.13.12.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-0.3.13.12.ebuild @@ -173,10 +173,10 @@ build_cbuild_python() { # # -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} + local -x LDFLAGS_NODIST="${BUILD_LDFLAGS} -fno-lto" local -x CFLAGS= LDFLAGS= local -x BUILD_CFLAGS="${CFLAGS_NODIST}" - local -x BUILD_LDFLAGS=${LDFLAGS_NODIST} + local -x BUILD_LDFLAGS="${LDFLAGS_NODIST}" # We need to build our own Python on CBUILD first, and feed it in. # bug #847910 diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-0.3.13.9.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-0.3.13.9.ebuild index b87de46d79e..ea54534fb3a 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-0.3.13.9.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-0.3.13.9.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" @@ -173,10 +173,10 @@ build_cbuild_python() { # # -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} + local -x LDFLAGS_NODIST="${BUILD_LDFLAGS} -fno-lto" local -x CFLAGS= LDFLAGS= local -x BUILD_CFLAGS="${CFLAGS_NODIST}" - local -x BUILD_LDFLAGS=${LDFLAGS_NODIST} + local -x BUILD_LDFLAGS="${LDFLAGS_NODIST}" # We need to build our own Python on CBUILD first, and feed it in. # bug #847910 diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-0.3.13.9999.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-0.3.13.9999.ebuild index 726d210694d..0aa35e8ec02 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-0.3.13.9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-0.3.13.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" @@ -160,10 +160,10 @@ build_cbuild_python() { # # -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} + local -x LDFLAGS_NODIST="${BUILD_LDFLAGS} -fno-lto" local -x CFLAGS= LDFLAGS= local -x BUILD_CFLAGS="${CFLAGS_NODIST}" - local -x BUILD_LDFLAGS=${LDFLAGS_NODIST} + local -x BUILD_LDFLAGS="${LDFLAGS_NODIST}" # We need to build our own Python on CBUILD first, and feed it in. # bug #847910 diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-0.3.14.0_p1.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-0.3.14.0_p1.ebuild index 058acd5be91..28edfbdd1b8 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-0.3.14.0_p1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-0.3.14.0_p1.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" @@ -179,10 +179,10 @@ build_cbuild_python() { # # -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} + local -x LDFLAGS_NODIST="${BUILD_LDFLAGS} -fno-lto" local -x CFLAGS= LDFLAGS= local -x BUILD_CFLAGS="${CFLAGS_NODIST}" - local -x BUILD_LDFLAGS=${LDFLAGS_NODIST} + local -x BUILD_LDFLAGS="${LDFLAGS_NODIST}" # We need to build our own Python on CBUILD first, and feed it in. # bug #847910 diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-0.3.14.2.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-0.3.14.2.ebuild index 49f80accee9..93514c082c1 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-0.3.14.2.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-0.3.14.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 EAPI="8" @@ -179,10 +179,10 @@ build_cbuild_python() { # # -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} + local -x LDFLAGS_NODIST="${BUILD_LDFLAGS} -fno-lto" local -x CFLAGS= LDFLAGS= local -x BUILD_CFLAGS="${CFLAGS_NODIST}" - local -x BUILD_LDFLAGS=${LDFLAGS_NODIST} + local -x BUILD_LDFLAGS="${LDFLAGS_NODIST}" # We need to build our own Python on CBUILD first, and feed it in. # bug #847910 diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-0.3.14.3.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-0.3.14.3.ebuild index af4de7124c2..93514c082c1 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-0.3.14.3.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-0.3.14.3.ebuild @@ -179,10 +179,10 @@ build_cbuild_python() { # # -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} + local -x LDFLAGS_NODIST="${BUILD_LDFLAGS} -fno-lto" local -x CFLAGS= LDFLAGS= local -x BUILD_CFLAGS="${CFLAGS_NODIST}" - local -x BUILD_LDFLAGS=${LDFLAGS_NODIST} + local -x BUILD_LDFLAGS="${LDFLAGS_NODIST}" # We need to build our own Python on CBUILD first, and feed it in. # bug #847910 diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-0.3.14.9999.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-0.3.14.9999.ebuild index 1a0b596f689..ec94b099060 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-0.3.14.9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-0.3.14.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" @@ -170,10 +170,10 @@ build_cbuild_python() { # # -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} + local -x LDFLAGS_NODIST="${BUILD_LDFLAGS} -fno-lto" local -x CFLAGS= LDFLAGS= local -x BUILD_CFLAGS="${CFLAGS_NODIST}" - local -x BUILD_LDFLAGS=${LDFLAGS_NODIST} + local -x BUILD_LDFLAGS="${LDFLAGS_NODIST}" # We need to build our own Python on CBUILD first, and feed it in. # bug #847910 diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-0.3.15.0_alpha5.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-0.3.15.0_alpha5.ebuild index 8d0f400d880..43553f7811b 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-0.3.15.0_alpha5.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-0.3.15.0_alpha5.ebuild @@ -179,10 +179,10 @@ build_cbuild_python() { # # -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} + local -x LDFLAGS_NODIST="${BUILD_LDFLAGS} -fno-lto" local -x CFLAGS= LDFLAGS= local -x BUILD_CFLAGS="${CFLAGS_NODIST}" - local -x BUILD_LDFLAGS=${LDFLAGS_NODIST} + local -x BUILD_LDFLAGS="${LDFLAGS_NODIST}" # We need to build our own Python on CBUILD first, and feed it in. # bug #847910 diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-0.3.15.0_alpha6.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-0.3.15.0_alpha6.ebuild index 8d0f400d880..43553f7811b 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-0.3.15.0_alpha6.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-0.3.15.0_alpha6.ebuild @@ -179,10 +179,10 @@ build_cbuild_python() { # # -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} + local -x LDFLAGS_NODIST="${BUILD_LDFLAGS} -fno-lto" local -x CFLAGS= LDFLAGS= local -x BUILD_CFLAGS="${CFLAGS_NODIST}" - local -x BUILD_LDFLAGS=${LDFLAGS_NODIST} + local -x BUILD_LDFLAGS="${LDFLAGS_NODIST}" # We need to build our own Python on CBUILD first, and feed it in. # bug #847910 diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-0.3.15.0_alpha7.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-0.3.15.0_alpha7.ebuild new file mode 100644 index 00000000000..43553f7811b --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-0.3.15.0_alpha7.ebuild @@ -0,0 +1,598 @@ +# 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 flag-o-matic linux-info +inherit multiprocessing pax-utils toolchain-funcs verify-sig + +REAL_PV=${PV#0.} +MY_PV=${REAL_PV/_alpha/a} +MY_P="Python-${MY_PV%_p*}" +PYVER="$(ver_cut 2-3)t" +PATCHSET="python-gentoo-patches-${MY_PV}" + +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://dev.gentoo.org/~mgorny/dist/python/${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 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-arch/zstd:= + app-misc/mime-types + >=dev-libs/expat-2.1:= + dev-libs/libffi:= + dev-libs/mpdecimal:= + dev-python/gentoo-common + >=virtual/zlib-1.1.3:= + virtual/libintl + gdbm? ( sys-libs/gdbm:=[berkdb] ) + kernel_linux? ( sys-apps/util-linux:= ) + 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:* + ) + ) +" +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." +} + +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 !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} + + # -j1 hack for now for bug #843458 + emake -j1 DESTDIR="${D}" TEST_MODULES=no altinstall + + # Fix collisions between different slots of Python. + rm "${ED}/usr/$(get_libdir)/libpython3.so" || die + # Fix collision with GIL-enabled build. + rm "${ED}/usr/bin/python${PYVER%t}" || die + mv "${ED}"/usr/bin/pydoc{${PYVER%t},${PYVER}} || die + mv "${ED}"/usr/share/man/man1/python{${PYVER%t},${PYVER}}.1 || die + + # Cheap hack to get version with ABIFLAGS + local abiver=$(cd "${ED}/usr/include"; echo python*) + if [[ ${abiver} != python${PYVER} ]]; then + # Replace python3.X with a symlink to python3.Xm + rm "${ED}/usr/bin/python${PYVER}" || die + dosym "${abiver}" "/usr/bin/python${PYVER}" + # Create python3.X-config symlink + dosym "${abiver}-config" "/usr/bin/python${PYVER}-config" + # Create python-3.5m.pc symlink + dosym "python-${PYVER}.pc" "/usr/$(get_libdir)/pkgconfig/${abiver/${PYVER}/-${PYVER}}.pc" + fi + + # python seems to get rebuilt in src_install (bug 569908) + # Work around it for now. + if has_version dev-libs/libffi[pax-kernel]; then + pax-mark E "${ED}/usr/bin/${abiver}" + else + pax-mark m "${ED}/usr/bin/${abiver}" + fi + + rm -r "${libdir}"/ensurepip/_bundled || die + if ! use sqlite; then + rm -r "${libdir}/"sqlite3 || die + fi + if use tk; then + # rename to avoid collision with dev-lang/python + mv "${ED}"/usr/bin/idle{${PYVER%t},${PYVER}} || die + else + rm -r "${ED}/usr/bin/idle${PYVER%t}" || die + rm -r "${libdir}/"{idlelib,tkinter} || die + fi + + ln -s ../python/EXTERNALLY-MANAGED "${libdir}/EXTERNALLY-MANAGED" || die + + dodoc Misc/{ACKS,HISTORY,NEWS} + + if use examples; then + docinto examples + find Tools -name __pycache__ -exec rm -fr {} + || die + dodoc -r Tools + fi + insinto /usr/share/gdb/auto-load/usr/$(get_libdir) #443510 + local libname=$( + printf 'e:\n\t@echo $(INSTSONAME)\ninclude Makefile\n' | + emake --no-print-directory -s -f - 2>/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" +} 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 d5b63511549..26c49320ae8 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 @@ -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" @@ -165,10 +165,10 @@ build_cbuild_python() { # # -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} + local -x LDFLAGS_NODIST="${BUILD_LDFLAGS} -fno-lto" local -x CFLAGS= LDFLAGS= local -x BUILD_CFLAGS="${CFLAGS_NODIST}" - local -x BUILD_LDFLAGS=${LDFLAGS_NODIST} + local -x BUILD_LDFLAGS="${LDFLAGS_NODIST}" # We need to build our own Python on CBUILD first, and feed it in. # bug #847910 diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.10.19.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.10.19.ebuild index 38b550df491..c54db49cb48 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.10.19.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.10.19.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" @@ -148,10 +148,10 @@ build_cbuild_python() { # # -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} + local -x LDFLAGS_NODIST="${BUILD_LDFLAGS} -fno-lto" local -x CFLAGS= LDFLAGS= local -x BUILD_CFLAGS="${CFLAGS_NODIST}" - local -x BUILD_LDFLAGS=${LDFLAGS_NODIST} + local -x BUILD_LDFLAGS="${LDFLAGS_NODIST}" # We need to build our own Python on CBUILD first, and feed it in. # bug #847910 and bug #864911. diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.10.20.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.10.20.ebuild index 841a3e90110..755613985a5 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.10.20.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.10.20.ebuild @@ -148,10 +148,10 @@ build_cbuild_python() { # # -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} + local -x LDFLAGS_NODIST="${BUILD_LDFLAGS} -fno-lto" local -x CFLAGS= LDFLAGS= local -x BUILD_CFLAGS="${CFLAGS_NODIST}" - local -x BUILD_LDFLAGS=${LDFLAGS_NODIST} + local -x BUILD_LDFLAGS="${LDFLAGS_NODIST}" # We need to build our own Python on CBUILD first, and feed it in. # bug #847910 and bug #864911. diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.10.9999.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.10.9999.ebuild index 8089e5f53d8..b652372d2c9 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.10.9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.10.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" @@ -137,10 +137,10 @@ build_cbuild_python() { # # -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} + local -x LDFLAGS_NODIST="${BUILD_LDFLAGS} -fno-lto" local -x CFLAGS= LDFLAGS= local -x BUILD_CFLAGS="${CFLAGS_NODIST}" - local -x BUILD_LDFLAGS=${LDFLAGS_NODIST} + local -x BUILD_LDFLAGS="${LDFLAGS_NODIST}" # We need to build our own Python on CBUILD first, and feed it in. # bug #847910 and bug #864911. diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.11.14.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.11.14.ebuild index 83a4e1b54b2..6a81f0ca50e 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.11.14.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.11.14.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" @@ -154,10 +154,10 @@ build_cbuild_python() { # # -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} + local -x LDFLAGS_NODIST="${BUILD_LDFLAGS} -fno-lto" local -x CFLAGS= LDFLAGS= local -x BUILD_CFLAGS="${CFLAGS_NODIST}" - local -x BUILD_LDFLAGS=${LDFLAGS_NODIST} + local -x BUILD_LDFLAGS="${LDFLAGS_NODIST}" # We need to build our own Python on CBUILD first, and feed it in. # bug #847910 diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.11.15.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.11.15.ebuild index 731a43d98c3..cff84eaae3b 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.11.15.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.11.15.ebuild @@ -154,10 +154,10 @@ build_cbuild_python() { # # -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} + local -x LDFLAGS_NODIST="${BUILD_LDFLAGS} -fno-lto" local -x CFLAGS= LDFLAGS= local -x BUILD_CFLAGS="${CFLAGS_NODIST}" - local -x BUILD_LDFLAGS=${LDFLAGS_NODIST} + local -x BUILD_LDFLAGS="${LDFLAGS_NODIST}" # We need to build our own Python on CBUILD first, and feed it in. # bug #847910 diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.11.9999.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.11.9999.ebuild index 7589c5e2c9b..08685267f90 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.11.9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.11.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" @@ -143,10 +143,10 @@ build_cbuild_python() { # # -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} + local -x LDFLAGS_NODIST="${BUILD_LDFLAGS} -fno-lto" local -x CFLAGS= LDFLAGS= local -x BUILD_CFLAGS="${CFLAGS_NODIST}" - local -x BUILD_LDFLAGS=${LDFLAGS_NODIST} + local -x BUILD_LDFLAGS="${LDFLAGS_NODIST}" # We need to build our own Python on CBUILD first, and feed it in. # bug #847910 diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.12.12.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.12.12.ebuild index 07f18eaa382..b34117e2d0d 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.12.12.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.12.12.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" @@ -150,10 +150,10 @@ build_cbuild_python() { # # -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} + local -x LDFLAGS_NODIST="${BUILD_LDFLAGS} -fno-lto" local -x CFLAGS= LDFLAGS= local -x BUILD_CFLAGS="${CFLAGS_NODIST}" - local -x BUILD_LDFLAGS=${LDFLAGS_NODIST} + local -x BUILD_LDFLAGS="${LDFLAGS_NODIST}" # We need to build our own Python on CBUILD first, and feed it in. # bug #847910 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 5a069bb5d61..a4d4fd91bad 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 @@ -150,10 +150,10 @@ build_cbuild_python() { # # -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} + local -x LDFLAGS_NODIST="${BUILD_LDFLAGS} -fno-lto" local -x CFLAGS= LDFLAGS= local -x BUILD_CFLAGS="${CFLAGS_NODIST}" - local -x BUILD_LDFLAGS=${LDFLAGS_NODIST} + local -x BUILD_LDFLAGS="${LDFLAGS_NODIST}" # We need to build our own Python on CBUILD first, and feed it in. # bug #847910 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 341100a38d5..90add3e4034 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 @@ -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" @@ -139,10 +139,10 @@ build_cbuild_python() { # # -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} + local -x LDFLAGS_NODIST="${BUILD_LDFLAGS} -fno-lto" local -x CFLAGS= LDFLAGS= local -x BUILD_CFLAGS="${CFLAGS_NODIST}" - local -x BUILD_LDFLAGS=${LDFLAGS_NODIST} + local -x BUILD_LDFLAGS="${LDFLAGS_NODIST}" # We need to build our own Python on CBUILD first, and feed it in. # bug #847910 diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.13.11.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.13.11.ebuild index ba9ad75214d..1c6d1197d5f 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.13.11.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.13.11.ebuild @@ -184,10 +184,10 @@ build_cbuild_python() { # # -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} + local -x LDFLAGS_NODIST="${BUILD_LDFLAGS} -fno-lto" local -x CFLAGS= LDFLAGS= local -x BUILD_CFLAGS="${CFLAGS_NODIST}" - local -x BUILD_LDFLAGS=${LDFLAGS_NODIST} + local -x BUILD_LDFLAGS="${LDFLAGS_NODIST}" # We need to build our own Python on CBUILD first, and feed it in. # bug #847910 diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.13.12.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.13.12.ebuild index b30dc24d04f..8b4918b5566 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.13.12.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.13.12.ebuild @@ -184,10 +184,10 @@ build_cbuild_python() { # # -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} + local -x LDFLAGS_NODIST="${BUILD_LDFLAGS} -fno-lto" local -x CFLAGS= LDFLAGS= local -x BUILD_CFLAGS="${CFLAGS_NODIST}" - local -x BUILD_LDFLAGS=${LDFLAGS_NODIST} + local -x BUILD_LDFLAGS="${LDFLAGS_NODIST}" # We need to build our own Python on CBUILD first, and feed it in. # bug #847910 diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.13.9.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.13.9.ebuild index 9193ed8daa1..1c6d1197d5f 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.13.9.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.13.9.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" @@ -184,10 +184,10 @@ build_cbuild_python() { # # -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} + local -x LDFLAGS_NODIST="${BUILD_LDFLAGS} -fno-lto" local -x CFLAGS= LDFLAGS= local -x BUILD_CFLAGS="${CFLAGS_NODIST}" - local -x BUILD_LDFLAGS=${LDFLAGS_NODIST} + local -x BUILD_LDFLAGS="${LDFLAGS_NODIST}" # We need to build our own Python on CBUILD first, and feed it in. # bug #847910 diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.13.9999.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.13.9999.ebuild index 7f8fc2e4b76..97c6f06b66a 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.13.9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.13.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" @@ -172,10 +172,10 @@ build_cbuild_python() { # # -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} + local -x LDFLAGS_NODIST="${BUILD_LDFLAGS} -fno-lto" local -x CFLAGS= LDFLAGS= local -x BUILD_CFLAGS="${CFLAGS_NODIST}" - local -x BUILD_LDFLAGS=${LDFLAGS_NODIST} + local -x BUILD_LDFLAGS="${LDFLAGS_NODIST}" # We need to build our own Python on CBUILD first, and feed it in. # bug #847910 diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.14.0_p1.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.14.0_p1.ebuild index ee0b5302fe8..b90e3dc6bce 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.14.0_p1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.14.0_p1.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" @@ -196,10 +196,10 @@ build_cbuild_python() { # # -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} + local -x LDFLAGS_NODIST="${BUILD_LDFLAGS} -fno-lto" local -x CFLAGS= LDFLAGS= local -x BUILD_CFLAGS="${CFLAGS_NODIST}" - local -x BUILD_LDFLAGS=${LDFLAGS_NODIST} + local -x BUILD_LDFLAGS="${LDFLAGS_NODIST}" # We need to build our own Python on CBUILD first, and feed it in. # bug #847910 diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.14.2.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.14.2.ebuild index 88d6e82e181..c3c0fe5c11e 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.14.2.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.14.2.ebuild @@ -196,10 +196,10 @@ build_cbuild_python() { # # -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} + local -x LDFLAGS_NODIST="${BUILD_LDFLAGS} -fno-lto" local -x CFLAGS= LDFLAGS= local -x BUILD_CFLAGS="${CFLAGS_NODIST}" - local -x BUILD_LDFLAGS=${LDFLAGS_NODIST} + local -x BUILD_LDFLAGS="${LDFLAGS_NODIST}" # We need to build our own Python on CBUILD first, and feed it in. # bug #847910 diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.14.3.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.14.3.ebuild index 9d6cb54f1b1..1c4337b58e7 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.14.3.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.14.3.ebuild @@ -196,10 +196,10 @@ build_cbuild_python() { # # -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} + local -x LDFLAGS_NODIST="${BUILD_LDFLAGS} -fno-lto" local -x CFLAGS= LDFLAGS= local -x BUILD_CFLAGS="${CFLAGS_NODIST}" - local -x BUILD_LDFLAGS=${LDFLAGS_NODIST} + local -x BUILD_LDFLAGS="${LDFLAGS_NODIST}" # We need to build our own Python on CBUILD first, and feed it in. # bug #847910 diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.14.9999.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.14.9999.ebuild index 43c772c7b08..67be8cf1f39 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.14.9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.14.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" @@ -182,10 +182,10 @@ build_cbuild_python() { # # -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} + local -x LDFLAGS_NODIST="${BUILD_LDFLAGS} -fno-lto" local -x CFLAGS= LDFLAGS= local -x BUILD_CFLAGS="${CFLAGS_NODIST}" - local -x BUILD_LDFLAGS=${LDFLAGS_NODIST} + local -x BUILD_LDFLAGS="${LDFLAGS_NODIST}" # We need to build our own Python on CBUILD first, and feed it in. # bug #847910 diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.15.0_alpha5.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.15.0_alpha5.ebuild index 89c7211773e..f30b70c0c52 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.15.0_alpha5.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.15.0_alpha5.ebuild @@ -190,10 +190,10 @@ build_cbuild_python() { # # -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} + local -x LDFLAGS_NODIST="${BUILD_LDFLAGS} -fno-lto" local -x CFLAGS= LDFLAGS= local -x BUILD_CFLAGS="${CFLAGS_NODIST}" - local -x BUILD_LDFLAGS=${LDFLAGS_NODIST} + local -x BUILD_LDFLAGS="${LDFLAGS_NODIST}" # We need to build our own Python on CBUILD first, and feed it in. # bug #847910 diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.15.0_alpha6.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.15.0_alpha6.ebuild index 89c7211773e..f30b70c0c52 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.15.0_alpha6.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.15.0_alpha6.ebuild @@ -190,10 +190,10 @@ build_cbuild_python() { # # -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} + local -x LDFLAGS_NODIST="${BUILD_LDFLAGS} -fno-lto" local -x CFLAGS= LDFLAGS= local -x BUILD_CFLAGS="${CFLAGS_NODIST}" - local -x BUILD_LDFLAGS=${LDFLAGS_NODIST} + local -x BUILD_LDFLAGS="${LDFLAGS_NODIST}" # We need to build our own Python on CBUILD first, and feed it in. # bug #847910 diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.15.0_alpha7.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.15.0_alpha7.ebuild new file mode 100644 index 00000000000..f30b70c0c52 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.15.0_alpha7.ebuild @@ -0,0 +1,603 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="8" + +LLVM_COMPAT=( 19 ) +LLVM_OPTIONAL=1 +VERIFY_SIG_METHOD=sigstore +WANT_LIBTOOL="none" + +inherit autotools check-reqs flag-o-matic linux-info llvm-r1 +inherit multiprocessing pax-utils toolchain-funcs verify-sig + +MY_PV=${PV/_alpha/a} +MY_P="Python-${MY_PV%_p*}" +PYVER=$(ver_cut 1-2) +PATCHSET="python-gentoo-patches-${MY_PV}" + +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://dev.gentoo.org/~mgorny/dist/python/${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 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-arch/zstd:= + app-misc/mime-types + >=dev-libs/expat-2.1:= + dev-libs/libffi:= + dev-libs/mpdecimal:= + dev-python/gentoo-common + >=virtual/zlib-1.1.3:= + virtual/libintl + gdbm? ( sys-libs/gdbm:=[berkdb] ) + kernel_linux? ( sys-apps/util-linux:= ) + 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:* + ) + ) +" +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 +} + +pkg_setup() { + if [[ ${MERGE_TYPE} != binary ]]; then + use jit && llvm-r1_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 !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} + + # -j1 hack for now for bug #843458 + emake -j1 DESTDIR="${D}" TEST_MODULES=no altinstall + + # Fix collisions between different slots of Python. + rm "${ED}/usr/$(get_libdir)/libpython3.so" || die + + # Cheap hack to get version with ABIFLAGS + local abiver=$(cd "${ED}/usr/include"; echo python*) + if [[ ${abiver} != python${PYVER} ]]; then + # Replace python3.X with a symlink to python3.Xm + rm "${ED}/usr/bin/python${PYVER}" || die + dosym "${abiver}" "/usr/bin/python${PYVER}" + # Create python3.X-config symlink + dosym "${abiver}-config" "/usr/bin/python${PYVER}-config" + # Create python-3.5m.pc symlink + dosym "python-${PYVER}.pc" "/usr/$(get_libdir)/pkgconfig/${abiver/${PYVER}/-${PYVER}}.pc" + fi + + # python seems to get rebuilt in src_install (bug 569908) + # Work around it for now. + if has_version dev-libs/libffi[pax-kernel]; then + pax-mark E "${ED}/usr/bin/${abiver}" + else + pax-mark m "${ED}/usr/bin/${abiver}" + fi + + rm -r "${libdir}"/ensurepip/_bundled || die + if ! use sqlite; then + rm -r "${libdir}/"sqlite3 || die + fi + if ! use tk; then + rm -r "${ED}/usr/bin/idle${PYVER}" || die + rm -r "${libdir}/"{idlelib,tkinter} || die + fi + + ln -s ../python/EXTERNALLY-MANAGED "${libdir}/EXTERNALLY-MANAGED" || die + + dodoc Misc/{ACKS,HISTORY,NEWS} + + if use examples; then + docinto examples + find Tools -name __pycache__ -exec rm -fr {} + || die + dodoc -r Tools + fi + insinto /usr/share/gdb/auto-load/usr/$(get_libdir) #443510 + local libname=$( + printf 'e:\n\t@echo $(INSTSONAME)\ninclude Makefile\n' | + emake --no-print-directory -s -f - 2>/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" +} 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 f324d6a8d61..97058a6f50c 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 @@ -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" @@ -177,10 +177,10 @@ build_cbuild_python() { # # -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} + local -x LDFLAGS_NODIST="${BUILD_LDFLAGS} -fno-lto" local -x CFLAGS= LDFLAGS= local -x BUILD_CFLAGS="${CFLAGS_NODIST}" - local -x BUILD_LDFLAGS=${LDFLAGS_NODIST} + local -x BUILD_LDFLAGS="${LDFLAGS_NODIST}" # We need to build our own Python on CBUILD first, and feed it in. # bug #847910 diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.8.20_p7-r1.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.8.20_p7-r1.ebuild index 052de353fd8..f6a85205c0b 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.8.20_p7-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.8.20_p7-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 EAPI="8" @@ -274,10 +274,10 @@ src_configure() { # # -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} + local -x LDFLAGS_NODIST="${BUILD_LDFLAGS} -fno-lto" local -x CFLAGS= LDFLAGS= local -x BUILD_CFLAGS="${CFLAGS_NODIST}" - local -x BUILD_LDFLAGS=${LDFLAGS_NODIST} + local -x BUILD_LDFLAGS="${LDFLAGS_NODIST}" # We need to build our own Python on CBUILD first, and feed it in. # bug #847910 and bug #864911. diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.9.25.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.9.25.ebuild index 669020f55da..6b4b7948082 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.9.25.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.9.25.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" @@ -352,10 +352,10 @@ src_configure() { # # -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} + local -x LDFLAGS_NODIST="${BUILD_LDFLAGS} -fno-lto" local -x CFLAGS= LDFLAGS= local -x BUILD_CFLAGS="${CFLAGS_NODIST}" - local -x BUILD_LDFLAGS=${LDFLAGS_NODIST} + local -x BUILD_LDFLAGS="${LDFLAGS_NODIST}" # We need to build our own Python on CBUILD first, and feed it in. # bug #847910 and bug #864911. 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 a9f95346995..395457ece30 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 @@ -794,62 +794,62 @@ DIST rust-1.93.1-x86_64-unknown-linux-gnu.tar.xz 193192180 BLAKE2B fd8d2f3ab45f3 DIST rust-1.93.1-x86_64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B adf891709bd5c87dafdbd8e8498956257a0fbfb179147f00f23dd00ac2eb43ab19a2d51850632f7a3d9adaa403461144983a2bb172d6eabd6e2e148eda570662 SHA512 25b658237207ef5f99ff3e276412f9ac08b5c5504df066d9178e22e22d3d4e3dfa897313a6393a6a6833ccda09c0c5dbcfeacfce53c09bf5a97e7b36afbb3f3f DIST rust-1.93.1-x86_64-unknown-linux-musl.tar.xz 295454356 BLAKE2B 1e40b50ff65d42a7445ff4d3f4a79fec7e8f729c245ba06d0bea90a05c387ac895df736ff59d27799512aa94703205aeb5235802badd56c3e0b681269e66ab41 SHA512 c805770236eee08cc222022d46e09ba6835c08241644d1d76eeab42463a9faafa26f1d50796faf0223e6601940ff52c507eb04ecc3f26066900c0185341bec4f DIST rust-1.93.1-x86_64-unknown-linux-musl.tar.xz.asc 801 BLAKE2B 40dfd17d105de1bcfb3fecf0b41c066c3f9c93a563396a0bf88d975667776b1c1d2784a0cc495a14c78878b9c3b0043800b06de702eca6720f0f340f7afd1989 SHA512 6f584cbe33f7678632929f9395ac92a75721da376883432c6608fd0383fa713342a8971f85645a4dc9311477a7c2a6cc905f4e25fca47eb8a35dc9996f8fbb3f -DIST rust-1.94.0_beta20260126-aarch64-unknown-linux-gnu.tar.xz 168363516 BLAKE2B 38c623524417e98bfbe448f0be605552598b1b879fabac744d8263c5baa1d5eadd1a757582531eddc9bf7924b382073f33fe72f6fe6c3839f67410ba8456c2ab SHA512 c06171cfca7bc42ac62a718541147ab6c3dc0221468ce3de673cd9fac0bde86f1b7d5fee060acf53f090f6cebb386c701625cde4658e0ae876417993cec6c872 -DIST rust-1.94.0_beta20260126-aarch64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B a81116d147b0bccc93944ed0ec82e1c4666620b4e45c0c38a18e6454fbc7b6a890ad04147f4a17e156a5e6cfdd08815f579cd8b5cdb806d001ee445e51e3b534 SHA512 dd1843c35cbcecf70d14da312a8340e3c523f8e2e37526a499a37bc94616852e597768d6fd6cd2e9f467674634b79c71b54b7cd40151b82e10cb446de5ef4f28 -DIST rust-1.94.0_beta20260126-aarch64-unknown-linux-musl.tar.xz 242112904 BLAKE2B af6a5ffa79ecebf271e09a2aecde8fa5a83e3aae421b7d1069464774345dcba122f6231a288c3f56cf0bb1e5195f80f149a9d851390494313c132166c6c27c7b SHA512 083a69343a86244e006e78e4a4de39e42a6e4a4b91ace04a9706132fd38457be7227ece588245159a78d31fa5f87828d403190429a472dec847a203054cf9d98 -DIST rust-1.94.0_beta20260126-aarch64-unknown-linux-musl.tar.xz.asc 801 BLAKE2B 9f64539c02ab37f08841c2b12dace4b11e9870beadfcc20b404ada679feae1f50b7e748f58a89868b2819722fee4178b6052bf709bae0e74aa6d4875579cf6ad SHA512 4a6488a95514fc1e9b722ba8b26e4e517a8e674cb77968ab46586709a2ca366403150d6b7b0de1ee8d255690b787fdfb6a9e44ce2244ac847e813372305625e1 -DIST rust-1.94.0_beta20260126-arm-unknown-linux-gnueabi.tar.xz 225124840 BLAKE2B a7794569ef299580dc66e8cade5d3ccafceb1dba124326f06b49f557bea82c2bb0bd471f8d10f20dc10bb74bb2461bd5b1dc44b078b3f7f6db9ce6cc9ca335a5 SHA512 fd06b6f9eb358b83c4bc4e9df79adfa66be1e4a05f2bb225af5e7b3b5b4bf1f98291b6b322105a818e38d1e96c71f1b19f97cc61ac7b152dc3a97fa1b952a542 -DIST rust-1.94.0_beta20260126-arm-unknown-linux-gnueabi.tar.xz.asc 801 BLAKE2B c16911baf1d5562386a67dba11d7015f2241536352430547563705fac4cbacb481cc43501481258d8cea323691be4145a6ff5d902980e1e41843e9c790297eca SHA512 487cea04137280d2d8096fb72d699fa87686113768392f9d5fbb8ac11d9331d2efc8ecfe033313f76a9ceb768e94d1afc0981222883481fb17712bc9c24b2034 -DIST rust-1.94.0_beta20260126-arm-unknown-linux-gnueabihf.tar.xz 224825776 BLAKE2B 3d1314e6f5b094f959740ac3a69a275f8b5db2856a603f06f21ead3834a1fbd7bf608896f4d29b1f85c8ca0a8d890149b22d321067788f474fef84b21c9b403c SHA512 6324bad16d47e988a7ad3f70627a6c167e84931b608948116e831abc98ec1db5433afc94e8e23973d55f2fc49cfa7164fd6a3a3899dbfbc1ccc55e90c4083d5f -DIST rust-1.94.0_beta20260126-arm-unknown-linux-gnueabihf.tar.xz.asc 801 BLAKE2B fd85fe16dac668afcde65e34a3b1ac5c677c284032b84a7da35fdce437bfe2b37f73f6f911bb86780d3cbfbed6fae973967e3eed854125a0f910098169e2452f SHA512 663cde4e969f9ca6823549e5383413bb3f12ed4c4901dc7deb92bbe2db12e7e8ce19fcb79dcbd0c8a73a7ba50ca0887995af9322d90bf52b378c7d68f05784ce -DIST rust-1.94.0_beta20260126-armv7-unknown-linux-gnueabihf.tar.xz 227744888 BLAKE2B f5b1689909aded7fae0450180eb314f04c79ef85457fafc9b851bc773ac049b8c31539b169beca0613a7e4543be2fe52e5c172ef4572b79ca8051c96a5a54ca2 SHA512 fac8e465e76811e0f777e5c33d49a72274c7ee4d431bdb4a840be4483c6cca8109ae8e1495619b73869b81e37a8e8ddaa4f3f1057e80d30982cb967e6397a1b7 -DIST rust-1.94.0_beta20260126-armv7-unknown-linux-gnueabihf.tar.xz.asc 801 BLAKE2B 8eb297501d62405b88e3030b619ffd0717857c9bfd6ccebcf3557759c6497755f41966ea590ac52ae029c177f9d54d0c6b895176e6bf39072aed2abc19ff24a3 SHA512 75ebc0b18f51131ceb11521b73b6c7f92b42f97d0ebb0bd9a7f7af78d030e29bf03193aea8843369e6b04751a2ae0dfdcdfb7e39053b007a841d432bd5104539 -DIST rust-1.94.0_beta20260126-i686-unknown-linux-gnu.tar.xz 265952540 BLAKE2B f354fb7fc9f2ed6f65722517be8481f7b874d4dec16758e9adf317017663ddbfc3d1c790e10d564238d91269f0d229a625e112d4a344c59344fa87631d599d4e SHA512 21e4df8ea185cf0076f5ac9508af7694b92b771d98a7347767424bed56d4d26c61d3fca7a1fe641a930aaaa0a1180dade7c114fa01bc6b3afe3b2bbcda93207f -DIST rust-1.94.0_beta20260126-i686-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 5c8a0f2d6b28c13448f8e544400640391865549b87834c7d7b602868170ba9a0d16b598ab5388c78d4e60e67603eeb1f4ae79c5816317feed285bcdea38b1b3e SHA512 7a692c6d0525287e8ec2435d4b49da0fddc76a69632a690eb6f82f8dcd0978d5998718bc79a64dd7362631a50df4c1f9e8f3d6593dd6b0d876714ba754fff76d -DIST rust-1.94.0_beta20260126-loongarch64-unknown-linux-gnu.tar.xz 258096488 BLAKE2B 431ad674b4dbafdcaa8a3b3435f46234b83aec66d3ed2f569dc883f9e39e759eb891492ae68833d1ee521d68cf2d6becfab3a80bdbf0c79c55a56a3f2bdb01e0 SHA512 ab5dd6e064713308a20269d71d7b052c7aeaba5146e3c326c0156abf9148cf4270dc59ff5380259a6109549054e8d6dabb8fa46d24f8bbbbf4461e54052c09d5 -DIST rust-1.94.0_beta20260126-loongarch64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B f0389163837d610f035ce7b363054bb36179f0f474836ddcdd09fdef62b30c49e526e2e59a25236e3bf5a65693fea57d44974a0b42afd9ab01cea7fc6272b3d3 SHA512 58b239444d0c9c18540ea957c1f736143c14ea8cddb391887f87239ca4baf20a3fb607e542ea91b831e1eadbdd2eb71edb38e08b02c90666db904ba65b356f35 -DIST rust-1.94.0_beta20260126-powerpc-unknown-linux-gnu.tar.xz 248126076 BLAKE2B 520e1d74affde610d76fc861fa3e8ae559ea13fda710aff94f1d2249fcf5429f8dcc830c73a97c89d13ac61d8fcacde8bbf88c915c9ad30ddc93a2948c38c2ce SHA512 6e2185004d66500770c4efdb469008781d5c5e23b5843401d1919757828a91250d12db2277dee15585b980258a3f71defa6ae24bba276407f709a11cec837870 -DIST rust-1.94.0_beta20260126-powerpc-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 1d604e54feba24deef8245bc3cc871d6467b3ff5aa3197c72fc53b5908d4b9b477f096b0f2fd7837eea00071788d3d1fe163b88857354b085f47f721c51b87a8 SHA512 df629935aa4366635dfa391d1fe860b557d9c9322c306b0c15dbefc55d1d15c061f556bf0d280c8e6b11feee22c3ded466341315f36293e387246ea974d0ad5b -DIST rust-1.94.0_beta20260126-powerpc64-unknown-linux-gnu.tar.xz 249692872 BLAKE2B bbf95391a8900d09bde3c28653508c74e0bc6897507f2163a093f1884f087395ed1667665c85d8a85f504ef9029f0d587b2ff4060e4135c78bc571f360d6031f SHA512 5062e42c2fb42db11d8424278864a0b4b8c4cdb96d24141561ddf0f94319b446eae29872dadd4be402cc66c46aa7d2cbb948682be954b2f27f1afc779251ef15 -DIST rust-1.94.0_beta20260126-powerpc64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 46f123aec3459c687107445c7e8a50a6717b3c17d106ffb25c882e6620aef256ee9856d2a9d55b5ff94c2f07f6961688738ed0092aaddb10c1cfbb5abad68327 SHA512 50b3bcf3b57ed7d1fb58a270adcae46bf964fd2eea439985ec744b09505b227abdb0a2ecdec4c31401e0f413e5760d9826315f4f432db1cc90bc0264b9cfa138 -DIST rust-1.94.0_beta20260126-powerpc64le-unknown-linux-gnu.tar.xz 266994340 BLAKE2B 995b50a64114a8f2f215e8f4a9510628de4ed51b5ff4bdcc7d3410569a6417f04c1003c481b590f284e0649cbc9116974fe12837bb31daa546766022e0a61d1b SHA512 e653f419369f69f94285cf231104d8f1e0e86e8dcb91e77a5e1f8de03ef3153326663144db1d57f654002619b64a5af725d9a8f5bec840ce07581b8e1711083a -DIST rust-1.94.0_beta20260126-powerpc64le-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 102286e5c201fd5f9dc639b5fc26c7807c7f9721f3f60a9430445be32ab150f28bc1c90f5dee670a9ccfdb1e4038ef8c5598546bb95a676a523b685e92e36e84 SHA512 9a031be32ad26f14b7dd2d6f650d8cd8c20db53d1ae1b16628a29e6a1f9b55ea969d7252cea8ffc67eb23741f460d2daafbf9c15954a7801d33805744ee4893c -DIST rust-1.94.0_beta20260126-riscv64gc-unknown-linux-gnu.tar.xz 246822616 BLAKE2B 15328924c3edcc448814bac354af6571b5e7360eec7a91d275e8b871f3e7328b58622f3c0b07e38c63bf5a1de4310e20bcea684fa7c938516e6236d35a303d8c SHA512 62c95b717be034da38740ed48dfe33483ed556c25f9372182dd5e28e2dec90a59f63a6c2e00de859f2c6316ccbcf13b33945f39aa0b2d5efd0b0501ef0c8eb84 -DIST rust-1.94.0_beta20260126-riscv64gc-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 9a7010e29271bdffa0c7a24ce818176065a70f78f9cb90d8c91c377835384bc7f23dcbd42df22835d02c8761c2c063f4f6d7fc8534c6e5c552c1998fab27b28b SHA512 a095f45c3e157c0ce227688e3a09afb0fb1367ff38d626e9a2b9f1f26c319ff0f2914d64a04c284057444ea93007aac0394d7aa9fdb05206b9ffca48c89b011b -DIST rust-1.94.0_beta20260126-s390x-unknown-linux-gnu.tar.xz 236999948 BLAKE2B 16ecefaa58141ca2f65d8ecbcd8a9df76aafea347bb7e7ba4355ddebc9e517c6735e73ddbaad33e7e265843d2afe8dabd9117b43a38571d42f66d370caefacc4 SHA512 b0c2864d0dd50b549a61ed1028469fe499097ad4e785b8f655e5349ed0ee3d4ad6f8134e40664d831ad2c710fa12adacc1b3c6b48474c4958011ed4e62aa5f21 -DIST rust-1.94.0_beta20260126-s390x-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B ec88f6fedaac59a67ac3c122860956d9271216f87bd5a8a1c74bca66429938f4cbd4557a09ec64e75f46e46ff5fb01203bd2861e259c54f54d47503250d1edf9 SHA512 bc61d8d7bc3d7067e7e68049488b0d79b6ba7a3b3121bb4a655c3b5f675f2cba75129fc80d9fdd760ca9729fae4f39c8ad2a2ed339ec73560041510ab7df6517 -DIST rust-1.94.0_beta20260126-x86_64-unknown-linux-gnu.tar.xz 191891384 BLAKE2B 2b898c06d3a508a01e265d912868dc6fece9e3ce81cde02d2393becc93ec8cb8fb22f5dbd0d45a85211834d267a29f6854ac329dda99620dcf483e387829006c SHA512 3d3513c20dab261c8d453e2c43c408f9a4723131a14ccb1cd152f79f2f1781ae46c9bb9aeae600894a24d3eaa3873960f695b30b7bf0b187f42315598e40c66c -DIST rust-1.94.0_beta20260126-x86_64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 880837aa601de29e7537fbe3315bb937bf59afcc297d83dccdf166218b877bd587b6338b4af1cdc959b62cc4bdcb43cac42740870225fc1f5b3772de23f1a2f4 SHA512 155b4ae5fa98172ef759a645e14bdf354ccdfe317e28687fa5a6f22881ac7d31a3ef3b2e96070ce9ca109e2483f1b8c5db18d854852eb707b74fdc6e1cb62a6f -DIST rust-1.94.0_beta20260126-x86_64-unknown-linux-musl.tar.xz 294116548 BLAKE2B 6d67a659672ee76562ae2e8d1d0d8ab0467d97c58cff7a6d6efd339965a6f772f742cc6351738435e5c85055af12e8da13c55619b655cae41e8a52c6652c67ce SHA512 aa29d147b0c4dccce2ebbcfe33eef7be6579ddd37a5a546b5d130a21e95baefff692611351d0d2ab3338924932d349ae5991aa9d621076e6fa6ac763b8d33ac9 -DIST rust-1.94.0_beta20260126-x86_64-unknown-linux-musl.tar.xz.asc 801 BLAKE2B 897574c08c7c21f4e9a48ade315b19c4c0b3e68334f48f38faa6db8b1de1bbfa219b48abefa2ed227e452d321acf2b2e933206667a640d443b8f33db54c90882 SHA512 a6ce3d04f08169b6cb4e0d44629ebd7016605ffe5f48499a3b83fe841dc1e3cc99e5363f109db5be8a85836b2d74442de440b0d8e14024cf5781e401429a1d63 -DIST rust-1.94.0_beta20260213-aarch64-unknown-linux-gnu.tar.xz 168378596 BLAKE2B d7dd9bc35cdd1e9fc73c1aa1ccd5d80cb6d6d512f1b6302c4da1b786ad6201a26f6021a1b570b4dca5d020de7d9188a8ba1e4c0978fb2a6f89beb5b9cddd15e4 SHA512 40e35c1002963abd2e0a084b891af25e2cf2fe89fec4bf1c50f7f535031e602960c3bfb1ee2416a513c16166fe8f2ae7cdda801dbd5bdd80611bd0155698e9c6 -DIST rust-1.94.0_beta20260213-aarch64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 5ea94b80ac9801461f1896dd0d9c45b7d7608171b1275fc30d88a39abc89608f9a0ba31fa379be7df5a1d87b34575d0cb05f584099c8ea4be8c1073d230a62d0 SHA512 4a23732c0e3b338c627e362dc9e12cb643534c1a28881a7073a885822c847ed6a510ce128acd1c60bc7592ebd60566082dd50b7e65ab069710199a8eabe0ddf7 -DIST rust-1.94.0_beta20260213-aarch64-unknown-linux-musl.tar.xz 242012348 BLAKE2B cda1d8c3330407aa29100ae9474a7be001c2f043632af84f8b3244353a990e05566008a1f60374b74bc7463837563e96357b6df3e9fe191dd6708d1fc9fb8b78 SHA512 26a43374c9d23a293d34d0f624b49194d7ce25329ff3f4338e43d7df2b90cb331f73d13522b7d0429b682a693a034a195a3dfa9ba28fb1de128817459c1792fd -DIST rust-1.94.0_beta20260213-aarch64-unknown-linux-musl.tar.xz.asc 801 BLAKE2B 6a85c2598c78a1fad685aef0a3c9f4c0d1ba897ce2aab37f582cdaf9ab282ee45af0b79984460eef744fd148d943ed22623ffbc8a08d940c3f386a8e73d1bb39 SHA512 bb5a22982096ab0235602e84e049ab9d53e6249848d110e5bf2997951dfd7ad2b7d09905de879e7c551eee06f436dae8888c09929aaaf94981d018218ece7893 -DIST rust-1.94.0_beta20260213-arm-unknown-linux-gnueabi.tar.xz 225064504 BLAKE2B 36b548367d10c23ac064627ad1a2556c9af89419c6890f9fd2023d32445d97ce2a9158d093287fbe2f219077198023017b87db59e2b6b05ad18f8656f95788b0 SHA512 2cdcd7007ffa2865878aec8d71f6b0263fe10f26e997687ecbc0e56a07e28bb2f152e41cb89f1af5031f2bfa58661c5e0eb436e4b6c1a1199c54ffe8b80585d6 -DIST rust-1.94.0_beta20260213-arm-unknown-linux-gnueabi.tar.xz.asc 801 BLAKE2B b0b8096bfc10605c7f5a7f43f82e46a1c6e5e8cc968df247d18c0bdbab3c9bc76f1907f012c351537188aca9115becbaa9af1cf8ff5c27b5c637a991f5b1a372 SHA512 61384fd238d1145d5a828a0689e00bbe1dfd2071e7b4467cfadb77e8ee6992061b1ad0d71cc726a5ab7b736e2a7d2e8300759930302507322cb218ec066c73ab -DIST rust-1.94.0_beta20260213-arm-unknown-linux-gnueabihf.tar.xz 224786000 BLAKE2B 46d0b8e221777c7e290ac70cc613c74c74cefac476008f5b8eaa11abc2e7bce778d5c56b9067626a93bcb287bd196518b9bfa8ef97a6216f4814250b216a0891 SHA512 24047257f5dfccb1de49d032443ca2fd78bc7aac74baf63cb8fbc09561eefa599be8292fdd17cf11248c3949424c178ea174f47914a31753bb97d60804cc1714 -DIST rust-1.94.0_beta20260213-arm-unknown-linux-gnueabihf.tar.xz.asc 801 BLAKE2B 838bc2a98f68592f674900efc483005363901475b7b6f020f6681735491929f946a29c43ba3d6d60aa3d25fb26219028b03d3306f79fdbacf5721a1b5cbdd79c SHA512 a7258bb03ead1c75fd9acec225281a26ef9024f0149ddd8c0b8dc797745ae8dd5adb0e983f07646c041d48e46608a658810c10048fa50fed60d8d7740daa1849 -DIST rust-1.94.0_beta20260213-armv7-unknown-linux-gnueabihf.tar.xz 227673448 BLAKE2B 9bb073bb896e06f0889ca7f4138c6e9a005abdc7633736c86c83969315481646a075c94ea3c5d260d885816551a43e35b80b3926c17c6cceb0ef362b5fc9a3e9 SHA512 637224d287981671fa710f4e35d97f9786409afd5dac2001c98cc04d7bff9cbc8bb47aa38dc8d27b9d99d9bf40068b929be98c711fc32ab7146f4babc55b022a -DIST rust-1.94.0_beta20260213-armv7-unknown-linux-gnueabihf.tar.xz.asc 801 BLAKE2B 4c5b9365c5ba2726ef82d49bb635e0c343054c599237106184ee7ba00e41f7b1a2463464e392bdfc154e817205b3820ef4e85e1215d64a8712b94a1c839e5f1e SHA512 8f34ec52fc3887994493334a5193e975fdceb83373606640d3b7a79731f02a1d9e3ee6548b997c459fde11cfafbe13bd8e1e81769e9319f3af383e98965e2a86 -DIST rust-1.94.0_beta20260213-i686-unknown-linux-gnu.tar.xz 265927492 BLAKE2B 3018f8f08ce38ad0493915272ec188cd6f2161ea9bed401a2efa62a6719dde7b0684e3d3dafed48a63983b8f66e5490165d64f898a452be92a2cbab811b895be SHA512 78a22a5ea69d7468b9c6cff3a8a44ce4eb8ebf9bc3b85bf04627516528cf659d1f106b01050db79f0735d6cc748bd31d564b6d717c905daa87332179f9fc996f -DIST rust-1.94.0_beta20260213-i686-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 028b2e1389ddaf85354a6add23cac9d67d4ef0bb0fdcdc848b791572216a2c2b4909be65e6275f0b626618edfa4cdfe50115a50d5b753c699d828d759bd874e5 SHA512 97fc8839e869949708dfd1feb2fa84d02b0f51d31b70aa905a531eb7bd69897573e4b989dee9a22a383b20bab16775b24a56a47607ac5d5439f8707b6b9e34f1 -DIST rust-1.94.0_beta20260213-loongarch64-unknown-linux-gnu.tar.xz 258143500 BLAKE2B aa3012864319906bfd4f6baddfdcc5ea597ee76710d6da0ba1df121fc1eec3f3af42c8bd46c9238112d3a0b0e0916128238e555181d10761b49462d9a0a0c8a9 SHA512 6f2be53f6dfe00fc3a3cf979f353ab01bb410eaf0c5fac4b6286491f4d5d0faaa188fd69f7161bdb9cf3c40537f5569816e320967b0a4868110dad058d0bccd1 -DIST rust-1.94.0_beta20260213-loongarch64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 2c1f2f4b267baca2cf6ee4dfde77de2c02942205cfe1c1ab83a0995f4bbfff8168e7dccbcfebe7bd10df8a232d60edf6a90d541e30be4b2d154b6396b26ce8a0 SHA512 a8e4cf9b5901674544b9c3c85f7eb6911c5a8119721f7387f1c673aa71a685120146fd2109ab08f29c745ecc47cd7d92b1cf79b2e012c0bb814ef876e9cf0fda -DIST rust-1.94.0_beta20260213-powerpc-unknown-linux-gnu.tar.xz 248121252 BLAKE2B bd66faaaa98990e130efa13db942ab0ecd47e0e38cee1bc5b25813cea4e5c9d26a58038c6bd96f97b9370a44e8fd13aa4b61f468d7517a46bea21be20dd8f7ca SHA512 146ab109761ae429f1be19401a0935d8ee8c0b755fa4dd6b9d0871c1c6c5c064714b50281e888f1454d83e1f32dcd1e119d02b204b35b92b5af592b51a65ecb0 -DIST rust-1.94.0_beta20260213-powerpc-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 2a05fb4c3e5df4217ad491e946aae0f2474a9d716fa3d9a9b9f87b3681c3a29c1cad732aca4178b6a7fbed73a2b5309b5579a6b84b266b500f0a6ed336b745f7 SHA512 517d9e93e34efd5e3becf4489a14ed621d98f8696dba99cb8a33941c0717d1fa37b17ffda1696223fdf1cb8373cc07b92981967a15d225469276929a4a258197 -DIST rust-1.94.0_beta20260213-powerpc64-unknown-linux-gnu.tar.xz 249758504 BLAKE2B ce574b427cd19be98bf6901102d7c2e8d00e2b966af7ff7029b7a6c420af5cf4dfffe86b50c9d6c6e55e80fb428ab29f86599761c0245b2e03fd5a1f8d73af06 SHA512 2c3407ed52fdcc5dea7c80b808fdba8afb829a9b823ca071657b047c27f2978be83b8afb6d4e9313ac0d12d797b9ba14c3685a2a9d2ffd27c4a0f00418f679bf -DIST rust-1.94.0_beta20260213-powerpc64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B b269d802fee0690a5932414241d522b0de95b57745244f7f616bb853e1f9e64ca6e47fc4313187ff656c68a38241d57c0d25c3a005f3716df6492e6906782715 SHA512 4c589e68009a7a46289eae4482724adef0c944d2992e50ab16aef119c18abec53f7e16c4b38f96e5c69e05bcacd068796283c963de1d081b0ed82c78fc42897e -DIST rust-1.94.0_beta20260213-powerpc64le-unknown-linux-gnu.tar.xz 266999560 BLAKE2B f99d2019b47bd1caa3f33d5e563e989fbde528c9183d285c5a4c7c1b72704662ba805a82c1b15797bfcaa0f602979ff8e13fed0895779f10267d3d3709fa2c9a SHA512 41696bee646c791bb53e8377d06ba99de5374e3ab6c88b24748c04d15f90616b935d5ea83cfecea6c7524a3435c68c687265094716ec147637fb9ac77172208d -DIST rust-1.94.0_beta20260213-powerpc64le-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 043c7e19b2b7b3cce860e2427d9137ad7641b36bf102ad345a7b9e07a4bf0325413b03dceaf743d981ec6228ce60b5ccca1f7103cc1c46b42b2a6e5baf758846 SHA512 2fab867116c6d53865871f08e1d2da367a3aacb104dde41e019832d3447f54a30f1aa1cb910a1e39578eecb13241a2ebcb2833dc4ff192a02d15bdc29e31eeb8 -DIST rust-1.94.0_beta20260213-riscv64gc-unknown-linux-gnu.tar.xz 246928356 BLAKE2B 43b1a3413baa20ca573ca7653a8f07520bb446a0438e27475d753fbc6ba9becdf84ae409525e0dd65a456e51ea9276713ffec3af0ccef6adc7f33ba29598e47c SHA512 d342c250d90e1e6d6b4d5b7b5a41b4406152a414435de7a32ad0eb8b779d03b54def8c48e1ed23310ae3a0aa570e94693dd72932952421bc3dc5249a38b1119d -DIST rust-1.94.0_beta20260213-riscv64gc-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B b59fc15a1b946680952992e8738105bc7e36d0dde27e7e9e275f46e9f6e9748c503cc74571797d5af65788ef7ba61a2983e62f3c5fbf6e254acd6482cf3af0c6 SHA512 55a7fc8d93600708d6c524c1c99c492074de9aa87d259d6c390dbab41ce979d4ed7bff5b5230745ab0ae83134661719688b9e7d613470a3225f5b3ad75388611 -DIST rust-1.94.0_beta20260213-s390x-unknown-linux-gnu.tar.xz 236977636 BLAKE2B 77bcb47b9c0ea77eb2929fe590ee362ab394021cf9814958a2faaf855ad2dae086b6c86742112cd0ad5bceb9b8f4fa8eaea5208f38fccdd9ad83c1088bac2f93 SHA512 749366d29077bd7307e83e81cb74f78aaa5d068a2097027070e0043c28314fb169613bcc4ec1adfa09af5a2f206ab44a91b99ce7826ca0c3e8b81fe5476ff77d -DIST rust-1.94.0_beta20260213-s390x-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 0ebc2f5acaf3f980ce9ffce2fa01dafb799ff3d1b515350abe76c282764869557c8ccd8e5308ff8a8238a2cf6fce21b326fa78b9e887d756076338997e9ed8ad SHA512 147624d9f6429fe0048f05580b6f7064585e73978457c2a0e36137b7daef5ccd8d86d94627aec319898ca38a02b86d6a2b95851799d227c9a1e6833b8a339381 -DIST rust-1.94.0_beta20260213-x86_64-unknown-linux-gnu.tar.xz 191900460 BLAKE2B a9f47c1c27e0663e5ee9bb9f7d3b47197dea73a29ac5eb007bd4682e2628050c1144009577226a893289f7d767d1d18fb697cb10ef57910a554125372338b23d SHA512 059721324a6a7ba49edc1fbab870f0bef36ea65d18f0ba60a7e15760ea2f384f4e8515402884ce8287d0530c0ce24580a12dd9c18d604d9eeb02c00bfc54a948 -DIST rust-1.94.0_beta20260213-x86_64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 8842baaff09b295e48aa493e28bb48175983410b602322765a0bad5018ad0e9b0ec4579d04377da35258d12dcec5348371119b12dd2b874f702ed4a65d24b404 SHA512 e86fa5386d02b080854bf1613512a40531c61a940c5df7368508574dc8882413f9085ace73251d2ee464ec51713ef637ed8eb3fbdf3597f72a191a1125fb022b -DIST rust-1.94.0_beta20260213-x86_64-unknown-linux-musl.tar.xz 294179400 BLAKE2B a006895e25fcec37dab3ffeace1661933cc0f38a0043839093194e41584e9d40beb2d900c93e4cd49089a4c2191249c8454d058acf6e528aeb459ba83f7b0611 SHA512 4e178cae7ee2a94c5e4a9266a4afcbb3fe2446e19a99f27b8257087a8d54a86248768eeaddb635191cb7348875d18fdb5308bbc7d4691516575686273eafa105 -DIST rust-1.94.0_beta20260213-x86_64-unknown-linux-musl.tar.xz.asc 801 BLAKE2B 485555c731b3e4d693e8d7f3dcbc8efc6b956a3203527c4f1323c7392668a3b6f0dddce73df2480d8fb073a0e3c6f535cd4fd1128a42211fb4828dc7478e4984 SHA512 7f7ea1fcc2b0f699b1a11dbcd840d7b9e9d117d7e893c2fb6ff37e83c71d98bdb256835680b1f766a08e100275d5e69ad4603fcb714d6736f76653feaf119dc8 +DIST rust-1.94.0-aarch64-unknown-linux-gnu.tar.xz 168368212 BLAKE2B ba107dbbb31ce71abef882725a0232f3a4f344d082c49a263fa6b3bac41ac46a87b3f536c12d1d79a4561a1e309f9cbce7d45dd944cc5fe03ab0091280cae4e5 SHA512 b118c789ae3ad96974df70a733e94d24a184f408d6ffbcdeea0325bd5b2efa0946f430baaf5445a84af4bbd646568f92da0bf0772a8769f8f1d3c5f2a82db244 +DIST rust-1.94.0-aarch64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 5f503e3e7545cf9ca732c6ebb05cb2e0bf55a92fad2fd963ff04719bc4d87d20229c2af41e13570457c07957b3999abfe05ffbf88243269120fcda57307f4ec1 SHA512 04acd5c96f6aa3534d962f615991fe8bfaf7fb39cd2887965cc036e6b2c702e689dc30f685c4adf748c5482b6b03067f3c7ad32e1b6df591dd947c91dee8b20e +DIST rust-1.94.0-aarch64-unknown-linux-musl.tar.xz 242757992 BLAKE2B 8fc12e22518a66ee4d8a8a618821a034811b608a026e8cc0eff84dd7f011fa0a982b8982988c4eeea43707dea4d07f152ab0741a8ad71fa11cfcf6acf90a4355 SHA512 272cf48d6cbd25012a0960cb0d8beff08ad32351c763d25cbae1c2ceb44f2653bc962c591acb1b258ccd53996874481666e4f6ec2372113f0c3f4efb88b82dd2 +DIST rust-1.94.0-aarch64-unknown-linux-musl.tar.xz.asc 801 BLAKE2B 6e40b7ceabe89e1fe152aa46688a22ff35f85bfeb971fabc11c654d58b86432d6217cadb646a6ce1153c3c9ba439e81fd903122b1a5fec9df21ba647e6a68c5a SHA512 a1b753b56518f054a3ed6b707e8278e679ebf298622295725c91fe08f103ee39d735b0d9022528d94aa6c870400ef1ab86f5165bbaba61b5dfb1e90a25a61f52 +DIST rust-1.94.0-arm-unknown-linux-gnueabi.tar.xz 224362172 BLAKE2B fa53580819215c26b9368f5d9e77c650367063282f3c21bee4376b89efef47a342401df507586264bdc3549080267a4b9d384ef593bf7a144c460cef1c7e289e SHA512 9edbe0ff5dd56af61fc68b1fd60f40307a5334162d1a495e3aa39a37dd1412a8b5b24e30e05b781ff28718a30f7fcd80eb85ed3f59189b7ed355ea274a296b4a +DIST rust-1.94.0-arm-unknown-linux-gnueabi.tar.xz.asc 801 BLAKE2B a47b53f3efc5fc545e7b5fae3456d9232fa6f5994e36222b64c026452b603533eb717e18aea26034f329fc7185bf7f9ec614b1a663c2061d78c1583f00f4ae26 SHA512 28c1c143db51ba40ce23a6ba0afee1a85049ef79e03c2683e5972462dd901cc41d263700e1f2f32bd29fe93a9da2bc060e319fc81e353e0eb13250448f18fb13 +DIST rust-1.94.0-arm-unknown-linux-gnueabihf.tar.xz 224134336 BLAKE2B 4b3f8db4de2b99d21340386e55fc2a29e58dead7716f77ec9e8c462c382c8cdcf24b808efeb8446544a807774a857fe80fe245617b08c35e9e013157e69e82bb SHA512 8aa63076a3c91002c552c90deb9f8a678bc3915992b70cf124e299c4df1ff61a3fb8e06c697c254ee19b34875a87f00e98d0ea0562fc86a0acb7a1336bd55e50 +DIST rust-1.94.0-arm-unknown-linux-gnueabihf.tar.xz.asc 801 BLAKE2B a91bd9eb112639ba01e33427a1675ba410b3a4849e78da9a50050a030699f72dc46c96189faeb481a49f82a5f73537802dd9a41cbe241b395514cb7a71a90adc SHA512 6e696d533f23a3dbe55421aab5df93104122d8c0455561a5e91df3a76c9b4938d7a5b9a9b7f9e2c6e596a5c9f801a47051509cbb58dd3711a3a69c5f797726ae +DIST rust-1.94.0-armv7-unknown-linux-gnueabihf.tar.xz 227851168 BLAKE2B 44279ba276db25ba0668883aba38aa0fa80fb75cbba723c36cff2d96f528c34b80207329bf1e32722a1b67e7045bfd1a01b522b284c600a3ac072125ad268bd6 SHA512 fef64e01d7bd17a4c240812455cca9a71a86dff21e4a88a423f7cc58cf765127a2906e42b722559b9f0f23cc9c018851dac1fba1c17910cc199c69555d9b3df9 +DIST rust-1.94.0-armv7-unknown-linux-gnueabihf.tar.xz.asc 801 BLAKE2B 9c18dedfabb534f2dfa6de50a477974b9651397645ca4ddfd66ed087765b09adcb4babbcf8c30ac6be17f5487d51380dd710b272c6ffa401add5cf7ffb701625 SHA512 139a651816a870190b869c24c8fc625824a467be3197f65e3357d7bf08d55e68932aadcce69a775db1c51ecdf89d69c99f155a89ce7d33eaca0f39e9f125bfa8 +DIST rust-1.94.0-i686-unknown-linux-gnu.tar.xz 266397784 BLAKE2B 02dc50f4fbf0948444ef30c6c4541f29a7a43f1e1f91756faa2beeb37ffe643d695c0e3564e3243f3e224b1a587f66dbf31605655f8b2ed474d865976b017b3a SHA512 3079b7f469deac579adc861a84d77bb6c017ac5cdeaf6b7100cf59f5d410a768f404f651b01260eff7d95304b903b5bbbab4c8e6be7b0159f09dc5cd8e3d66e0 +DIST rust-1.94.0-i686-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 014c47a466f337b6130a63ab72f3798f9ad48ce4fc7d56b7fbb0a4cfbd2ab9cbb5c35fb283d038a79566360cd25edd851d96964947ebe7d654de067e119dbc24 SHA512 da0f0dcde949dfb530749f4d0cebf62a0e7a20f83cb634e43c9e7fc85a5b9d764d1d8c266771eb48b29a81240b995ab8960993215539fa59cc06b7129ffef652 +DIST rust-1.94.0-loongarch64-unknown-linux-gnu.tar.xz 258889560 BLAKE2B fc7e29a5ecbc43a4cfed41e98cc2a7b564421dae4cf2cd85d5107e53c073fdbf82bacf520b34224c7e7c2e4da7bf64398b05765044c1b7c2e8910ded81051f5b SHA512 0f7c569f2b5b879360a1f44089ea3e0ba46389ba57b0853e53b5666f10f6728d0a56100af09155ed0401eb6ae0b0cf8c8a2b4a2b55f2be60f765d0340d5f7260 +DIST rust-1.94.0-loongarch64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 684a4d77796b5fbf917cf9676215a3c4c2c936899626663c0bbe79d48f59a7b7bc2e5dd2110caa060dfd2489983dac4f733cea9b0440ede163c7b6cf59c96499 SHA512 416c18af7439432e41721f214b4551c39f82af768c18ebbb3cb76e9a0f5d5f3babbfb67fff3f29f85ebf18948e4c083cea9cdeeb776899240884bdc1d689bd58 +DIST rust-1.94.0-powerpc-unknown-linux-gnu.tar.xz 247410940 BLAKE2B ee3c3d4d88b87f15cbeeb7ef1700b798fffc1eaf11d1fa9f4c9a779d0bd2acc9250751533825cdfbe49e8dd873e6a6b2e6c2fe9fa6d34baa85e0ef8f48f06e0d SHA512 1bb914d4142730ac31fd7c675fe8805ac636f82c56db1f3911eb2d185694187a3a876adc2364c008c552eea551078ece0e43d596dae73ddb680cb2cab58feaf1 +DIST rust-1.94.0-powerpc-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 5d5c212d98b9ec28062d45d8251f20661ffbe65016354c03be02c40cd3d536a9b54f13eae824598a420bdf1b118808a9eb34bb1678d2c3b4762a25bea92883d1 SHA512 f6cc1c936ce9009f36c2de3cc615738c1af073042d35a969ae15f678a3c7073b3f563738c0455f3b6c11e7888f8832243ba357589cb05117fa712efc0b60abcd +DIST rust-1.94.0-powerpc64-unknown-linux-gnu.tar.xz 248936192 BLAKE2B e6ff7c41136af4c35395973dc4d72e3a1862fcd2ffb72eb8bbe4b6a070342bc5145397e3455876c0d3cf3670dd87e648228b6387d14b8b4c5c1df4eace231f47 SHA512 4e5f7f49a847348b45b2147c1f8a5933f8bef08d817281c4c7939e988f2c2d37c54cf6948d45e6674275ec12eb0032a16378b695509bb9821209884cee29b86b +DIST rust-1.94.0-powerpc64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 165f2fd35328755b79c2cf784709bc4d0f16786895c4f8a8729e05a5e508073658b62abc4c1a1ebd1693211a9d32849fec43cf40d74c45c71b0d2121686e9a47 SHA512 423d30d5c89f074bb4eff8d8dc44301b279459660c8a17529f263b83047b5918cc2ba619f4498520050bfbf1827bfb015e11aee9b12b2b7bf4d0069293ed17d1 +DIST rust-1.94.0-powerpc64le-unknown-linux-gnu.tar.xz 268819820 BLAKE2B cae5cce8a894d54bb0e85a92e687646eae72d2f3f95c94247eb0f2988753fc5278eed87a57ff7573bb655e509ca6ce73947b751907aa07060c7033fbb1e6e635 SHA512 9d8e5e428bd2b3debfc921528e232441435ce8cf0f820136dbd5bebeaca9846cbe3cd43d321e5095766693c9114dbf10eb416032ab6b7ccc57423e13c97a2849 +DIST rust-1.94.0-powerpc64le-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B b76d447b1fa6f22af90cf7e2f7484c20e5e303195a5715a153963214dad88186a0777bd0ab4af19697a05af6faa37cf07745581775b561f90d09af317473a4b8 SHA512 5e144ab30a045e269a7a3e4fb4bad8024865018a294775d9d6d0c51f354d72e9942c1219811548204e9397cb9d574ac465c8d7ae3fdda57eadc2bb7856a7684a +DIST rust-1.94.0-riscv64gc-unknown-linux-gnu.tar.xz 246536292 BLAKE2B 34ea02484af01dff31a1d6ee0441683100dfd0cb7e6ed831211937c3114bbe035a63608b063295bf2f4443ce836adc2ef82e4c0f6b6a5adeb73a94516a8e7c67 SHA512 663a4b13cc907a8050c8818133d159e341302fc1596c87885658da9c5fd07f372776e98ebb93ee3cbbf20f6859e6875e56726d4a851841cf45940623f5d21c48 +DIST rust-1.94.0-riscv64gc-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B fde031b586201ddd4c2876988a2fb688d94a4536401ef702c746c5146b0f8726a335e9ef5731e100344dd8721c148ffe80803a6362a7948a10dd01a63927e415 SHA512 02a8a05432edd6775619eb32222f39308e041d4df05784bc9b1e1a00cb55caf5edc7e669a905a39d7d8a37fa4631ec40c9aa7982dfb095d0c42f85b7171e79cd +DIST rust-1.94.0-s390x-unknown-linux-gnu.tar.xz 238229836 BLAKE2B e9cf6ea1a05cb3368e385f2dc8a6cd580b28755064a66737cd7e906890ce9eda70c004a8c8ae1eccbad1ffa6a61c8298b4119bacdede53d9ae41d7621c1cd084 SHA512 ddfc0399d18bdf4c5f4ffaf6cf9418af236290c715d74a528704ac916aff1d5f79c19d9fe04d9e94ba27dbba793ba689b57b2b5f0e13e661e6dae217a58f1f1c +DIST rust-1.94.0-s390x-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B bdcc1bcd3488e60232d986bd8cd04ce36e76e33088dea9570ef17139849b076954526b5a1efbfa833500bae4b387c6ab11c5fe838cf311f7561caed3ef4e673c SHA512 8b8deda8a5cb94643304d4d9b626e71947750425f7fe4ad63eb75f2f480d1898dbaeb32efb86e1403bc741fb7c8ae9ba1722a99f9d8b37792bc8aa0e33835fe7 +DIST rust-1.94.0-x86_64-unknown-linux-gnu.tar.xz 191856892 BLAKE2B fd5c644e56e6bf6a2f9c2982e16fccac88ecbe8c8fbaa85a5241447ba28cd82bdfe84a180899c95fb49ba1a672f6f3562e190b0e7c8bc3d7b847fb553c29cf5d SHA512 a07b4dc0c6b7870db007886f27354468c4112c79aa02fa3952640921ff49138d4730e2aa7a89cb5c57f9eb86847b0ea6af646dbe268e8d1bb1cfea6d5e58ce97 +DIST rust-1.94.0-x86_64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B b88f0dd8daf268a914dbfb3ebaf9c48f0b74c3a84076db3e01e0d1d29c2d2502f81208eee55b063c1641965c4c1aa1cc08cc0c2668702e21b7766af7ca42f313 SHA512 330b12351d6a667c2bcc446e08048549e57d75f2eb3f7733f6313312c0c0064ddcd8426b9351c59cae99e5f2a436f5998e3b6b04e1d334a6c09b685c94474578 +DIST rust-1.94.0-x86_64-unknown-linux-musl.tar.xz 294178664 BLAKE2B 705ca28c01ae4eba4777ac636656be2c21c9004ba1dfec0382325e6c8c61dc2fca997a0c62a6e090f7d35fc41fb26fc300b06a5f15a2f489ab57c1a9b9529185 SHA512 43a87ff89ac4715f60643ed0de51ab505d53a86b6942b58df180a1cc81ea5da00e1be3bc101ffb25bc92831c88ef0264a7d7b92efd63cf7a0d472d169d919c22 +DIST rust-1.94.0-x86_64-unknown-linux-musl.tar.xz.asc 801 BLAKE2B 7e0cf69a5d5c4eade8dfef4b0527362184671a284616352138d1073d9ffa5e08dda1979dd35757874e5241a7b2195a8abde6cca96f50dd44e1af50e06152b736 SHA512 e3b7eb37bfb5c7713bb6fae9d20d36d7554324712740e5453946936af30029e9200bb26e11c532df8936db178526398cbb5607c598a2945b12f85ee60f507d8e +DIST rust-1.95.0_beta20260310-aarch64-unknown-linux-gnu.tar.xz 170950156 BLAKE2B 5b52175c4ca2e7e7b5d89dd3cace7ddc2c1612004f73838dc7134c17a8f8736fc2a3f01059edf7f33cc4cc8847520d10e46d83e734eb96767871430e32580cc6 SHA512 efd6b3c4d8807c18a39e0758dd01fd204f7599d9fab00dc7b55cabad9d0bb00a57c96958f58186dd3508b13fbe208e602fe28afc811bd49ff6d3029530224481 +DIST rust-1.95.0_beta20260310-aarch64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B a9b015f6cd00c5f063480386f681bdb02d2ab178eb905c554c702d30fe24d648bbc531cdd755ceb1784839e6ef9c9bde490fea81145676a4c8ed1edac78a130d SHA512 1d46fcf56733615ab185238375f2069fbcf837bb51ed80e699f75c2bd0f7a87225988ba3c6280dd98b8bff5583b2c02750505cc55df2c32c130f40e0a22ee4d6 +DIST rust-1.95.0_beta20260310-aarch64-unknown-linux-musl.tar.xz 247079820 BLAKE2B 6299c4501d32bc7451ff4ea5b65898174447229c2a474c6c37a46da7b70c278050a0b2c0888a6d90888f4d31524f41a3c94c4e7effe0c92ebcbf874faaed8a7f SHA512 e17f0521042fd4836af6f6c706ad55457b527f91abe275c583ee6aa9b3f7b5ccae9decaf5b979db71d0a8e19c35bcbd31db5e49ce31aa9f2c7e6a2b477fd3c03 +DIST rust-1.95.0_beta20260310-aarch64-unknown-linux-musl.tar.xz.asc 801 BLAKE2B 907c0d72125db33f6ec92043cc662a051d987507520abc9c379585044247b58948c7dd7ade0fb6014d69e2580b63a993a19537fa4ff5c0e972a7b594a0b6186b SHA512 b954f281416028cc01c94d902296cd6138b2fc57c8b66e43cce85bcd80b0eecda9dc905721ef82eafe9c246675b8feaf24e16a531a265617c57c2ed916cd2cf6 +DIST rust-1.95.0_beta20260310-arm-unknown-linux-gnueabi.tar.xz 230441080 BLAKE2B 56b680cd0e8b2e3abbd8a1c750d4d5c8f7413818d4c6f46df314fe6ce2391cf6aca3dd5296c88bcd000070d4f7a58914b7e600beea0db8ec27e1a37fc30f3707 SHA512 17087c926afa14583c9b080e7ef19328d1a59a48232ab726914bd33acf35cf27592c844497a8b3d5810a89fcb717d02f9db6803544cbe94ec9d6c95535d0a3e9 +DIST rust-1.95.0_beta20260310-arm-unknown-linux-gnueabi.tar.xz.asc 801 BLAKE2B b1176d73146b7abe2ee8729255152c7c442befee014562d3e2bfeb592843d042784f6b21e65e7de7014dd8de03fafb721dd9691177bdaa5876a1da66639cb270 SHA512 6dbd882ad889b34acad8743c162278f0272895fd5a65482af81ea143f009e4feff70595a752f3de74831b77c3169ffd7ae461b2724702b6a469bb53672b3e561 +DIST rust-1.95.0_beta20260310-arm-unknown-linux-gnueabihf.tar.xz 230686256 BLAKE2B bcd56881305fe2f30a046de0dae74f73a3c86052da3cceea3062b1f1c8584f3fc87966297be31198b128293a4f89c9b70eb1a5c335ce3d25f957ffbc19943bf7 SHA512 28c6038edd3c52342d67951c84895743c3e36ebc5f47e1e9367fc37d90ecd0e9a8777a9a61cd93f78e66f7cbe09604f1ae6e5a2d679ab075091d7a234c42e4fd +DIST rust-1.95.0_beta20260310-arm-unknown-linux-gnueabihf.tar.xz.asc 801 BLAKE2B 01bbade3525c32a6decb24ceb4a3ff47c0d0872391d5506ca67599840c4f23d73adc5d52ad339ad8efda65d5c825698f628b45e0477d7ce2bd091e3cb3101cd1 SHA512 366716c256da4d9f54b51c422a262877ffe71f4fbba987b9712aace6ec3d56005e46bed6a8897c55c3cf9ba222b2553c1b8ab46b55feef78262137a0ed7dbae7 +DIST rust-1.95.0_beta20260310-armv7-unknown-linux-gnueabihf.tar.xz 235236220 BLAKE2B 7d5ae2c568046954dd3e35bc23d43bcf5e2ca7675d4f7ebc35843850a9c0bc3b4588de99c38f728509d609c1806227cd21f12b46eb9412969925d3ccfb3746ba SHA512 d8a896a4609db25a9f32046e47645c3f629d7fe1d58f912ed0d29d94f69fa2dc17b5846643d9c912e3cd70e150cd8a7757c898fd99f79e08042fb6f437cd878c +DIST rust-1.95.0_beta20260310-armv7-unknown-linux-gnueabihf.tar.xz.asc 801 BLAKE2B 71209a10ddb6f80a0e842da61ce19d956fbdc1fac75b6b2f0f85e06fa43991a13a3ff40e81eea2f97a1ba0e1e8d3d1253e56db2d3ee818e4dfc19bcfe0d49c7a SHA512 ba8c0dfb6bda9a2276155724dc349d22e4e644ea89ced99cb3ad2da84ce08f5a09002aaafc1f5e22dd06d793138cbc2085f60c62d3e032f283d5465ad6cb7879 +DIST rust-1.95.0_beta20260310-i686-unknown-linux-gnu.tar.xz 272594364 BLAKE2B 48541973a47affc9dcf62950bb9b5c0f720644a93a92b4c47ce46a67caaac04b07d257ad099810e1e52ceb1619bfea252b470d06b0e3012bedebfbf27d6ecbbd SHA512 388621b20fe4fb5f7878eef15f19851178aaf1c741c6f09bcce577696c371052785475dca452eb5b26885e5bef2029ba2e952e55151db19558cb21fd2411507e +DIST rust-1.95.0_beta20260310-i686-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 8769c0cc5195d852f166b388cd689bb55fb392d234c9ba161b562ef4260873ed26754045459ea199f1c6e2f2055b1439a6392b3a622a79d6b72f318a54608c5b SHA512 423dd4972a809265b0cde3bd3f5e6e715866a45597835020056c51824ce1018929103d6ecf052a47334dc734674cbfde62552af38937957397740a4cb964a6ce +DIST rust-1.95.0_beta20260310-loongarch64-unknown-linux-gnu.tar.xz 262655676 BLAKE2B eb00f4a8510dc37e3173f1570352435c3c104553d63e8c9f2c399d132626574c87fd815850c615c5e66f86544e5a173798dfd03628db8216ddf18ab5c0b9a4c4 SHA512 3f97421ed0d40f72f896dc710a7d51e643a53c6d356b030ea0a02027fa9cbe76647868842c20cc0ebdde349f4c5326117153fd6c8dac383a1828cc22f3acdbf4 +DIST rust-1.95.0_beta20260310-loongarch64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 3616e10ed7d44c2e96e9b9573fca34610f1c520e6a13eac15521ed050f932b9fba179c94346fbe19cad1444e7bc56eaf6cdce78cf0de78b813c7530ead647c9b SHA512 edccd8a8907249342556e07816e443ddcf9ca91ca2883905c03316a964be4af560f7169d1b5d6d6e40f8534886ff02cbb95641b56771e931263875891eba77f8 +DIST rust-1.95.0_beta20260310-powerpc-unknown-linux-gnu.tar.xz 253872556 BLAKE2B ae2102b8762e58d980e455254c2741542f5a804620b21f4d1c5d0da31b1b496e1fa55f70f0d2260bdd2a2873d0fb01048428c7633b9272f424800946daae94f2 SHA512 0f8a2016c221a0d4b283e06203384bb8d938ca07c7fc1c4bcf55f51e6921edcdcca9e8eba82a122366fa6364ba13665cbd4491fec323832cd9730f91fb351688 +DIST rust-1.95.0_beta20260310-powerpc-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B d7eff81fb93a56c89312373e3df6c4908a53f3b5242525b6ffa9701bd3ceb5117f276420513f549d981c027bf9bafb1b605919a870407dafadda02ccce933925 SHA512 df6edfefa44975f141a514a1989e21d985f1ebf2bd984ae3c6ac8a04de43666c827b3bea5e4723ce42ce4417dfac0e23437062ddbd0577430efb0032aeffe564 +DIST rust-1.95.0_beta20260310-powerpc64-unknown-linux-gnu.tar.xz 254606904 BLAKE2B 123eafd62a9a6f54f0508288f668ed6b4eec84d70be0cdf7588074ea5acecae81706cf0ff596cbc7f5e7bd763142fd8a69f29405d06ead228a95e52ded6d9ecc SHA512 402a668081c9a8cf87e2ce7f8c50b9726315d79fbcb0d3fab98f8f1eaba9dd2b58985e1afd34c4a3d2e426bef4c53d92111f2352520d6a236f58b45d4157892f +DIST rust-1.95.0_beta20260310-powerpc64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 464608ca922dac68431a0657949255d96ff63fd1e7431462a41896535ac5c220fe2c733279bfd02cb71a2ef2c135a57fd648b8f09d5d239672a0b9ed8d44c291 SHA512 4dd2db0d921e0361d8f4c30be36909a89930f319802892f6d3efb23250309b4dc327729687fc376a8714df2890e3fe254e25c603194fb1f56c750325f5a00601 +DIST rust-1.95.0_beta20260310-powerpc64le-unknown-linux-gnu.tar.xz 274363936 BLAKE2B b9eea48772873850479f65bc98488e9dd355b2f212c830c30ac5cfedb9e5f666edc768bbff1a88888518743e402c1bce17b514f3ba7423e7561212040f8964d9 SHA512 a26f96fe8be091b616a52d439a5ec47ee7f7c9a80e4e894a83c19fea1179e11491729b716741e790c7638e45da341a5006a132534a3241b2059e15827aadf3c1 +DIST rust-1.95.0_beta20260310-powerpc64le-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B fc04ff2f5dff98bef27c4d41070dc9059310e85b4f2f60ecdd2f5de9f8752b86b97701c65d85808caf80346bdf8297b876ff80939064cc11b31db4113d967e20 SHA512 ba3adc944eb7a4006a51c1b3a559a3ad1e46be7a9e3eb8e19f84fb1fcd14d6e0d9954a317e272d3e6727a994d10f0e5ad35492aa5a97b0f0f64071b2fc7da75f +DIST rust-1.95.0_beta20260310-riscv64gc-unknown-linux-gnu.tar.xz 251078536 BLAKE2B a01732d405878ca8d13cfa8f90079af27806da23e92073b14c4d9fdea4b7168f53d0bee93409effc7336cf8b0996c02b52123a0c174c7426c792ecd3323a9e40 SHA512 a2306180fe452eadaad906a7c2633e87fde07ec7aad5260521aec0e73c96f8fc9f48f99272bf978385523fd4c336709ad3b599622889bc8d695d94e8ea665e6c +DIST rust-1.95.0_beta20260310-riscv64gc-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B ac7f3ec4f4cb35ee40bf8920f238e97acdd658308bc3f901ca1b0755c16dd57ed550de6a27c9be49b1444e60982fdc047806076a709ea98e62f99913ce381000 SHA512 b809c1724cf4ec79e096717bd7404e135e6ff41d80aa82ab913bf59d1f24070c3753112e45fbeedf711b28b5dd2ac1c8e8e91da21a8aae32ea2786e307f0e3e4 +DIST rust-1.95.0_beta20260310-s390x-unknown-linux-gnu.tar.xz 241723584 BLAKE2B c55a4ee44d4a035c5f82b98adbb63ecc67f5d01634627e85a2b5ce2f78d12ffe85049e899eacc980f3172ef815736b2718920e1be019d39f06e964e3503395a1 SHA512 f72049d7900b3ab4d7d7c5ed9f6eb66a060147a045020fda2b7eceab934043200f88137e6813b3e5dd343e8f7787b977e0cae838f7c571d1c5a2c46b682a72f9 +DIST rust-1.95.0_beta20260310-s390x-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 974a008ae1c6b1f85c924adc0696cd4052ab839a076e10da228349817dd073701e5e03ff257da75366f22e726080e676a248655de41b3b9e32642c05be808c00 SHA512 06cec9d046cb167aab98fdfaaece6516245a9a2d962c8e883f9052325a06df3f16a95bde23bef4a0ef99d816df2d3d69fd850e2822ae905a5034a6e4fad19f52 +DIST rust-1.95.0_beta20260310-x86_64-unknown-linux-gnu.tar.xz 197290900 BLAKE2B a2c16baf1dc0ae54e8a184072eb242bb1d0e3ca1dfef591389c994ede87b10dd1742365006068f475ffb6a957b14622cbd1bdb919ad76fbebfc6fe2eb205d0c8 SHA512 224de0216c51e0f7fcf7de5d7b48849d26685845c4e1bfacc7229c8746142e66790a671b89c6b30092e85121a83a6e6b5774d25ba187bc5fb0fa76916c44e2a3 +DIST rust-1.95.0_beta20260310-x86_64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 4d297881cff678eecbbef10f5346d3feb1cce0fe41766b25807545103e8ac03f198f348ff0667d0709a8df6220e763d0f866dadad04edf769c16195f04d400d6 SHA512 327c9f8a930fa5b652933b7b328384b9a4a245451a7fd6dbb05a278679a852a63883f461613d124087bb549566b2347dc6e7a6b6eb1ac283a59ffd30d20aff86 +DIST rust-1.95.0_beta20260310-x86_64-unknown-linux-musl.tar.xz 299248076 BLAKE2B 6ce87d599dee5e5363a9c470a4ea5d51abcd2edec701fee928e86bb1f684f06e87e4afe45fd4327b085adb3269fd7837de5bf8b2dd79059d9574d8c66037b3df SHA512 8c269ce743e92faf89731bfd1d80b3843c79721f30bd21631564c516b0478d6a4c9f7302c8f2c4b3c56ac13932a3c00a76b6977688b9665c59e0f63cc3e80821 +DIST rust-1.95.0_beta20260310-x86_64-unknown-linux-musl.tar.xz.asc 801 BLAKE2B be1f0fa731455740452c284ddbf4d29b6a84141db71b18743faf7996471e4416e1db5610fcde65086f24a4161047eb1d87ec7bc78900e0c4f15aa15d244682bf SHA512 a6a0cba4b336c5609f5ac44c44fde345dc4b87f0e37d197b7518447ecde3730d381212ae791bb73af9b8f45335800ff0aebf4a9d8b3319236ce7853df384ccb3 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 @@ -873,5 +873,5 @@ DIST rust-src-1.91.0.tar.xz 3509292 BLAKE2B b1cf99db4cbd864fda34c2068a19e8b36c99 DIST rust-src-1.92.0.tar.xz 3530724 BLAKE2B 1385e8cc8062dffa69829e4ffeee7daaaeddc35c20c5e841e5183952d2eb8e3c33fe64deff46a7017057723ac3623f1b918d6a61ba2efadc6501bae36241c161 SHA512 be31d704b936d421dae7774dd7243d2a2668c54eac07f3e8d6c289a994c9e238a6e775be2735c4b609e710d8bbb1afe9bf028375e573e5d16def58a53ebc4ba7 DIST rust-src-1.93.0.tar.xz 3722768 BLAKE2B 9b80cd62e3345cb523fc1596dc1957c03a5edb42e9144fdf1466959ebf347dba3725a1a777e9197dcdbdb7b99ef3cc6d2de9e6359c245db2a919064a2a92f91e SHA512 02535cf5aca3efdc708d959c641994dc3f7f60385afbe3c4aa14037b5b7107ddfe1af0bca6493b97e0144e5d31e45937fe86b026e48bf6231ac7efd404762d83 DIST rust-src-1.93.1.tar.xz 3722488 BLAKE2B 61a63c8eb169917dd9140ddba06fbbf8e05ce54ee7331e6fb906eb705c69615922502da72f3646d35cf2a126b1624f3afe3ca45b611b6c7ebed843a38f8e6a3a SHA512 5d4a5a3dede3b0334c779e9936030cfa46577600ee6d69e92e190d04c26c6020d262a6fd4e9b4516e7325a0e256ad18bc6d659bab0c638aa53dbe76f7d4dfa0f -DIST rust-src-1.94.0_beta20260126.tar.xz 3749064 BLAKE2B ff884008033aac3b7bb9282ec3d4d4d43c2280a0514d3e43ccb588c545057a4df241b7645dfe679d6b4dfc1ac7de1f5df02ad33c8a5fc16185e2c3c775b27acd SHA512 9a76eff1af369eb29f646d1125e37cf140685c3aa4930a75bfa7a6b299672c46525db06b2459626ddfa5ddabd26dcde297e8dadf0158ce302c2fcd5663769cc2 -DIST rust-src-1.94.0_beta20260213.tar.xz 3749440 BLAKE2B cd8e864bc1f09d365e1810429e294693f79b72e945f913e9a16c5f423544c584784388a3ae3ec6da661720ad16040ff5a70259b8b65f6100249ac4ffd97e4a17 SHA512 841bab85c546d262d1b35f751e18e7b27585e3fcf21b6d2a185daa07294ff7dfaffc50c59b04334595c2f61e80b3582986c4bc2fe38716ab4ef89aa1ff86c656 +DIST rust-src-1.94.0.tar.xz 3750144 BLAKE2B d73556a8615f43dd00f61d78df329c2a203e8af2347a82c60d134a039af0a23e8fd01715c255600cb73d78195fa3f3be018c983bbf26f7340c5fb637a7d43128 SHA512 2e9dfe1419eb32e65e6585b2f777aa48c97485f36daf49fe04759821ad5b961923b19c1c0c67fe6f4dbd82cb27748f3f7709bf481ec0ea6bccae7ab878f97712 +DIST rust-src-1.95.0_beta20260310.tar.xz 3825516 BLAKE2B 1d608ccbf025d99b4a65604ffdcde223d464373dd04147829f3839b2e65f15741cc499385360d40eb86fead78500f26a51248bf7e39aa9b3a191089a1910c970 SHA512 5a455bc545d15bb1039a2fa7e91ab988fe913dfa5875985e3a70336fe699efeba73024118f1ae57f6f51f17738fbbf3b922f281449d79cc95f74a9c49d95a422 diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/rust-bin/rust-bin-1.94.0_beta20260126.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/rust-bin/rust-bin-1.94.0.ebuild similarity index 98% rename from sdk_container/src/third_party/portage-stable/dev-lang/rust-bin/rust-bin-1.94.0_beta20260126.ebuild rename to sdk_container/src/third_party/portage-stable/dev-lang/rust-bin/rust-bin-1.94.0.ebuild index ef680a10f8e..36df7dd9c6f 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/rust-bin/rust-bin-1.94.0_beta20260126.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/rust-bin/rust-bin-1.94.0.ebuild @@ -22,9 +22,9 @@ elif [[ ${PV} == *beta* ]]; then 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-01-22/rust-src-${PV}.tar.xz ) + rust-src? ( ${RUST_TOOLCHAIN_BASEURL%/}/2026-03-05/rust-src-${PV}.tar.xz ) " - KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~x86" # "~mips ~sparc" fi GENTOO_BIN_BASEURI="https://github.com/projg2/rust-bootstrap/releases/download/${PVR}" # omit trailing slash @@ -32,7 +32,7 @@ GENTOO_BIN_BASEURI="https://github.com/projg2/rust-bootstrap/releases/download/$ DESCRIPTION="Systems programming language from Mozilla" HOMEPAGE="https://www.rust-lang.org/" -if [[ ${PV} != *9999* && ${PV} != *beta* ]] ; then +if false; 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? ( diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/rust-bin/rust-bin-1.94.0_beta20260213.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/rust-bin/rust-bin-1.95.0_beta20260310.ebuild similarity index 98% rename from sdk_container/src/third_party/portage-stable/dev-lang/rust-bin/rust-bin-1.94.0_beta20260213.ebuild rename to sdk_container/src/third_party/portage-stable/dev-lang/rust-bin/rust-bin-1.95.0_beta20260310.ebuild index ef680a10f8e..5c8e70a3150 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/rust-bin/rust-bin-1.94.0_beta20260213.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/rust-bin/rust-bin-1.95.0_beta20260310.ebuild @@ -3,7 +3,7 @@ EAPI=8 -LLVM_COMPAT=( 21 ) +LLVM_COMPAT=( 22 ) LLVM_OPTIONAL="yes" inherit edo llvm-r1 multilib prefix rust-toolchain verify-sig multilib-minimal optfeature @@ -22,9 +22,9 @@ elif [[ ${PV} == *beta* ]]; then 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-01-22/rust-src-${PV}.tar.xz ) + rust-src? ( ${RUST_TOOLCHAIN_BASEURL%/}/2026-03-05/rust-src-${PV}.tar.xz ) " - KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + KEYWORDS=""~mips # ~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"" fi GENTOO_BIN_BASEURI="https://github.com/projg2/rust-bootstrap/releases/download/${PVR}" # omit trailing slash @@ -32,7 +32,7 @@ GENTOO_BIN_BASEURI="https://github.com/projg2/rust-bootstrap/releases/download/$ DESCRIPTION="Systems programming language from Mozilla" HOMEPAGE="https://www.rust-lang.org/" -if [[ ${PV} != *9999* && ${PV} != *beta* ]] ; then +if false; 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? ( 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 e4d86a99d2b..2ac40c59920 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 @@ -26,7 +26,7 @@ DIST rustc-1.93.0-src.tar.xz 270925104 BLAKE2B f96a05dae3494452471f6797fdc2246cc DIST rustc-1.93.0-src.tar.xz.asc 801 BLAKE2B 9c1762c0bb431da8fda0a8a47f5745998ff31434bb0b2747aa4aafc34e09c1507207eb91b7ba80f7a780b7f7258a4b8e49b5c5b06f9fa9f4cfabf72edb9cb07e SHA512 a6ea05bb6b7d3b429a1c863622c93ac4c97b25f56027f7f06f085acde26d1395f3515cc764ae3ef941d1669556a02365755b34e28ccaebe70c1ccb84c977228f DIST rustc-1.93.1-src.tar.xz 270888296 BLAKE2B fe5a9072161cf758221974f1f59b1a198b2c62b2317360cdb8b2516cfac8eecf40cd5e69bb186053555688a167cabae3a3227b9079c360d238b12c229ff2ddc1 SHA512 fbff2e960e20a5b4c1320bfe22aca445a5792c10f902c6eb69fc7de2a1f8965b06b0906141526a5f0fa02bcbb6b02d80865481bd62656f7b9a11fbdcf5bc9f02 DIST rustc-1.93.1-src.tar.xz.asc 801 BLAKE2B 9e059c894770a402d5fee2a29ffdb42030d8d723a40d6312d983e53cd4fa64e97019a0ea6054dcb17ba2ead7f27db17eec2632950f13e4ef1410324afc4dcaf8 SHA512 8a290300e370b3833d2d365a451ed4708dbe1fa69fc57b73eef0b2b5d9dd4fb3d87344315aee3aea474d4071cfb535234e167f6576abf2e06ef3225c85e3c30d -DIST rustc-1.94.0_beta20260126-src.tar.xz 273937952 BLAKE2B 14deb9a1a837283ae544c9e05a490d6d2b6fe924838505f22ee821713ada640ec6c11ddc5fdf11bb7925fd4bff0e1399975bbe5ef47c926aab4ed10976db60dc SHA512 3e0517ebd37a9b459a92a432e9c6c7e276878bb8453007ce3b3c1ef53dbee8b436252d09cdfbe4482321076c9b4a0d49a3ab74b6ae845260ce4d4f47112d0b68 -DIST rustc-1.94.0_beta20260126-src.tar.xz.asc 801 BLAKE2B 6b807dce7ca74cec7cefd7886aa569e0f5a908a9199149624f4d641d94e9daea4ea837a6dd96792efaebd6b21e70acd6654e78f01325e36f9108b0e0b3bc5c4e SHA512 c425b9ff8eeb4973ce3b53eca5cc35f78983062195be9b671565fc48fc7fe2edf424d7618ccc98fec89c2ca8f7f43e176f06c624c1d1172b7033ea66cee6d575 -DIST rustc-1.94.0_beta20260213-src.tar.xz 273898560 BLAKE2B be0fa61b6677de16352628c9c5243bc75b6697c7511cf97d6a02bce8cb09f5fb7aeafeedce29837d3812f0fbee1f4cdc48dae27dc7d02878c06144b3941a8510 SHA512 d48a821ab4adf1a8e8d2b313a6d1c460b28aecf4fa0bd3af7f81318b49abffb71d87a5bc08335adc62b6d4a99c074969a98e6516f679d484ed74086982686457 -DIST rustc-1.94.0_beta20260213-src.tar.xz.asc 801 BLAKE2B aa6662652ce4f92abd50f0a2dfb914d93dc877b71b406aacd57346a62b0139ff296df951d20b3c91a5e187b50876c465b44b396a7d2abcf92d343013c4f3a3a2 SHA512 4c5d17df5aa9979735c2a2784c53251a1c5a120007cc581fb49fd6eb56c35a81a054840f1d9b40f3da18a6e372b054bc7bf8213295ff874ef428f1337d7756cb +DIST rustc-1.94.0-src.tar.xz 273916448 BLAKE2B cab2e007c1a5401c653218ff0dd542d10c0d7a4fcc7bf2ee269cbbb9760bdd04c78276beddc2f6b1f4d47df96a11079087f109e248951c2a157be73ca2c3e8db SHA512 8397fa68055827363bff5a1dd228a05e4c4ca5a179d072ecc1b330a874c183529cb9346ec9c531fb3f066b7b6094fc8711d7c341a49755af7b50d63bf0ecff2b +DIST rustc-1.94.0-src.tar.xz.asc 801 BLAKE2B d6ce44d51e59ecd22b953b391134ba470ec4ee1089031c34f7809199bd4eda3f54c5907a92f362cf5c0151d75b14360cd44d5a2556f785cbc1c3de5a0335573b SHA512 0a5b067e0e137489f49c7e445992f7a456e884d39158e4d9b5b59af41c62e5dbfe8abeaa02af33ca072b663dbc649004bc83ff18899bf1bfaed0eb90aac5f67f +DIST rustc-1.95.0_beta20260310-src.tar.xz 238950800 BLAKE2B b2d5cf01102ffa96f0b41ee7f4e20f003d3a006da99ef1d697a21e952edbbda8820309d97cb9b3adc0b867951a03422d458f9b32aecba40b2fad4a76c9e95a7f SHA512 9749191b022554cd537b9f4337d378f566cdde4c8501daf98de78669919933bd3ffd1dd43b2530ea05740f2686d46d02fef79e08a00909635d63b993ffadd0fb +DIST rustc-1.95.0_beta20260310-src.tar.xz.asc 801 BLAKE2B dc7c8613c749e9131c0caba62b30a8239cea8656058f03f0f8722017e733f703e8d76e7b6a37beee985968cdcc06bf2732bb4ce8471b735117c1b9b9d2069248 SHA512 ff83f761cc171e9789b460e9bb38c5db1ac063538a36dd550c02c4ea4027f50d67da073ee4021f248f799e72f72c3684926e4dc1246bb75b4cfb5dbef1548eb8 diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/rust-common/rust-common-1.94.0_beta20260126.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/rust-common/rust-common-1.94.0.ebuild similarity index 100% rename from sdk_container/src/third_party/portage-stable/dev-lang/rust-common/rust-common-1.94.0_beta20260126.ebuild rename to sdk_container/src/third_party/portage-stable/dev-lang/rust-common/rust-common-1.94.0.ebuild diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/rust-common/rust-common-1.94.0_beta20260213.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/rust-common/rust-common-1.95.0_beta20260310.ebuild similarity index 100% rename from sdk_container/src/third_party/portage-stable/dev-lang/rust-common/rust-common-1.94.0_beta20260213.ebuild rename to sdk_container/src/third_party/portage-stable/dev-lang/rust-common/rust-common-1.95.0_beta20260310.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 31984909e3f..f1a4e178b43 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 @@ -21,8 +21,8 @@ DIST rust-patches-1.91.0.tar.bz2 6041 BLAKE2B 7ebc846e0ae7b496b4ed89a8b0a5c39792 DIST rust-patches-1.92.0_p1.tar.bz2 5993 BLAKE2B aa3183a46834b9442fd79fcda61a308b6b1831c9eab6c5a48c6fca7eef49267af815a3d53c0f17563483dbb58e4c4cb9ab09e4f00c32c37b5411d184e222079b SHA512 c2ec50796e8037b1bb1074c516816c9edc815db503ccac0cde4884a7f190e186897cb91ecbad7e1bb7e34b6753d2ccbbc59e83c8efdff452c1ed446850347000 DIST rust-patches-1.93.0.tar.bz2 3175 BLAKE2B 4849208072cf0a047a9fe2ee27d384349b713149b7d087a6ff39a41ec1a7b77884710374dcac44c4378b320da0b4061fa531edd8b2b1cc04199fd51cdb1c2e78 SHA512 b818e14653a66447a221f84363cad54ee893842025c2b6c02c08df76bdf8666664564a5bc405ee988223048c2b986ea818d685babfddee5ff7559f9567bb9dbb DIST rust-patches-1.93.1.tar.bz2 3186 BLAKE2B 6ff137eb2c1b43857922ac3d9b0cc3dbe71180c05d318c5b0f54c371117426ad8daa8ec19cffc19c2550564ac4b7cfd38f4c0fa42a5b8d2ae94fe668a94aa567 SHA512 ded2af5cc9516d8bbce675f323747a96fea814f2344065a45ca7968a21e31aaa5e0bf0a45f6f831a9d62047e782306d5319c6c3ed887e3ceb75011d1849a5303 -DIST rust-patches-1.94.0_beta20260126.tar.bz2 3173 BLAKE2B 003a78d43575127fcadb423be6d231269753cb75cdc35eb063ff65293031bdfbd32ea91456f454aeeaae5e411aeacbddb388c6b08f079129482bef841277f497 SHA512 1fe20b04d7537d02fbe1d73e348d66543472c7938ee5eb18e283c2185a7e9253ddbf6600c4e56175744d62ba7f453b77624f3aa252bc2c9f07ce797c0bc0707d -DIST rust-patches-1.94.0_beta20260213.tar.bz2 3170 BLAKE2B c71adad5a61fc0d90865c29193490ddf908885a2712f5b180917797bdc7b7dc3cd836b6410a32341a6c2512d937ad2ecbaecfdbd1a97cd32be527a2adabb680c SHA512 d94c6cdb79c88df42708cd8800d5dab5d65491ba16b99e8c79d1c50321f685aeecf4513d8431e5643805f5e0cd7addc80fd14bb05ef1ba8a7b084e03c67a275f +DIST rust-patches-1.94.0.tar.bz2 3165 BLAKE2B 07187fcc95458cf3323490a54d648209ae24c9c44522f5c0bf2b12ac469e86dd1145d70557c7c09a097019b262f557af162fc3687bfda10451e2e164a0f4ec78 SHA512 39f9288335c62b477465c44904e922f1ce8b62c840a9b6ce2d13dee670f6935cfbccc88faf314d5e766103ada969513badee251b6485e8abaeadca7b65cf9e23 +DIST rust-patches-1.95.0_beta20260310.tar.bz2 2977 BLAKE2B 1f864917aac82110cb283fe87351de83822f62e4b27fd45f0b619d652eda4e04a64d2828446d8b7a1cfc1c62e366fccf0a8e2a21c6eb9294d65c3dac875393d5 SHA512 99a7eb784f51f74da34de4cf4d712054fd469ac928e1f316ec33a30f0ff1f77642d926cc769bd221d14f16a42f675721e559f9b012f1b65343f014e1b8df7dd6 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 @@ -69,7 +69,7 @@ DIST rustc-1.93.0-src.tar.xz 270925104 BLAKE2B f96a05dae3494452471f6797fdc2246cc DIST rustc-1.93.0-src.tar.xz.asc 801 BLAKE2B 9c1762c0bb431da8fda0a8a47f5745998ff31434bb0b2747aa4aafc34e09c1507207eb91b7ba80f7a780b7f7258a4b8e49b5c5b06f9fa9f4cfabf72edb9cb07e SHA512 a6ea05bb6b7d3b429a1c863622c93ac4c97b25f56027f7f06f085acde26d1395f3515cc764ae3ef941d1669556a02365755b34e28ccaebe70c1ccb84c977228f DIST rustc-1.93.1-src.tar.xz 270888296 BLAKE2B fe5a9072161cf758221974f1f59b1a198b2c62b2317360cdb8b2516cfac8eecf40cd5e69bb186053555688a167cabae3a3227b9079c360d238b12c229ff2ddc1 SHA512 fbff2e960e20a5b4c1320bfe22aca445a5792c10f902c6eb69fc7de2a1f8965b06b0906141526a5f0fa02bcbb6b02d80865481bd62656f7b9a11fbdcf5bc9f02 DIST rustc-1.93.1-src.tar.xz.asc 801 BLAKE2B 9e059c894770a402d5fee2a29ffdb42030d8d723a40d6312d983e53cd4fa64e97019a0ea6054dcb17ba2ead7f27db17eec2632950f13e4ef1410324afc4dcaf8 SHA512 8a290300e370b3833d2d365a451ed4708dbe1fa69fc57b73eef0b2b5d9dd4fb3d87344315aee3aea474d4071cfb535234e167f6576abf2e06ef3225c85e3c30d -DIST rustc-1.94.0_beta20260126-src.tar.xz 273937952 BLAKE2B 14deb9a1a837283ae544c9e05a490d6d2b6fe924838505f22ee821713ada640ec6c11ddc5fdf11bb7925fd4bff0e1399975bbe5ef47c926aab4ed10976db60dc SHA512 3e0517ebd37a9b459a92a432e9c6c7e276878bb8453007ce3b3c1ef53dbee8b436252d09cdfbe4482321076c9b4a0d49a3ab74b6ae845260ce4d4f47112d0b68 -DIST rustc-1.94.0_beta20260126-src.tar.xz.asc 801 BLAKE2B 6b807dce7ca74cec7cefd7886aa569e0f5a908a9199149624f4d641d94e9daea4ea837a6dd96792efaebd6b21e70acd6654e78f01325e36f9108b0e0b3bc5c4e SHA512 c425b9ff8eeb4973ce3b53eca5cc35f78983062195be9b671565fc48fc7fe2edf424d7618ccc98fec89c2ca8f7f43e176f06c624c1d1172b7033ea66cee6d575 -DIST rustc-1.94.0_beta20260213-src.tar.xz 273898560 BLAKE2B be0fa61b6677de16352628c9c5243bc75b6697c7511cf97d6a02bce8cb09f5fb7aeafeedce29837d3812f0fbee1f4cdc48dae27dc7d02878c06144b3941a8510 SHA512 d48a821ab4adf1a8e8d2b313a6d1c460b28aecf4fa0bd3af7f81318b49abffb71d87a5bc08335adc62b6d4a99c074969a98e6516f679d484ed74086982686457 -DIST rustc-1.94.0_beta20260213-src.tar.xz.asc 801 BLAKE2B aa6662652ce4f92abd50f0a2dfb914d93dc877b71b406aacd57346a62b0139ff296df951d20b3c91a5e187b50876c465b44b396a7d2abcf92d343013c4f3a3a2 SHA512 4c5d17df5aa9979735c2a2784c53251a1c5a120007cc581fb49fd6eb56c35a81a054840f1d9b40f3da18a6e372b054bc7bf8213295ff874ef428f1337d7756cb +DIST rustc-1.94.0-src.tar.xz 273916448 BLAKE2B cab2e007c1a5401c653218ff0dd542d10c0d7a4fcc7bf2ee269cbbb9760bdd04c78276beddc2f6b1f4d47df96a11079087f109e248951c2a157be73ca2c3e8db SHA512 8397fa68055827363bff5a1dd228a05e4c4ca5a179d072ecc1b330a874c183529cb9346ec9c531fb3f066b7b6094fc8711d7c341a49755af7b50d63bf0ecff2b +DIST rustc-1.94.0-src.tar.xz.asc 801 BLAKE2B d6ce44d51e59ecd22b953b391134ba470ec4ee1089031c34f7809199bd4eda3f54c5907a92f362cf5c0151d75b14360cd44d5a2556f785cbc1c3de5a0335573b SHA512 0a5b067e0e137489f49c7e445992f7a456e884d39158e4d9b5b59af41c62e5dbfe8abeaa02af33ca072b663dbc649004bc83ff18899bf1bfaed0eb90aac5f67f +DIST rustc-1.95.0_beta20260310-src.tar.xz 238950800 BLAKE2B b2d5cf01102ffa96f0b41ee7f4e20f003d3a006da99ef1d697a21e952edbbda8820309d97cb9b3adc0b867951a03422d458f9b32aecba40b2fad4a76c9e95a7f SHA512 9749191b022554cd537b9f4337d378f566cdde4c8501daf98de78669919933bd3ffd1dd43b2530ea05740f2686d46d02fef79e08a00909635d63b993ffadd0fb +DIST rustc-1.95.0_beta20260310-src.tar.xz.asc 801 BLAKE2B dc7c8613c749e9131c0caba62b30a8239cea8656058f03f0f8722017e733f703e8d76e7b6a37beee985968cdcc06bf2732bb4ce8471b735117c1b9b9d2069248 SHA512 ff83f761cc171e9789b460e9bb38c5db1ac063538a36dd550c02c4ea4027f50d67da073ee4021f248f799e72f72c3684926e4dc1246bb75b4cfb5dbef1548eb8 diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.90.0-r1.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.90.0-r1.ebuild index 574b2a3a342..4b90ea471c6 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.90.0-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.90.0-r1.ebuild @@ -6,6 +6,10 @@ EAPI=8 LLVM_COMPAT=( 20 ) PYTHON_COMPAT=( python3_{11..14} ) +MRUSTC_VERSION="0.12.0" +MRUSTC_RUST_VERSION="1.90.0" +RUST_OPTIONAL=1 + # We bumped the rust-patches tag without bumping the revision for # https://bugs.gentoo.org/963657, given that ithe patch affects only a # specific use case (bootstrap with Rust 1.90.0). @@ -21,7 +25,7 @@ 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 check-reqs estack edo flag-o-matic llvm-r1 multiprocessing optfeature \ multilib multilib-build python-any-r1 rust rust-toolchain toolchain-funcs verify-sig if [[ ${PV} = *9999* ]]; then @@ -73,7 +77,8 @@ 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 rustfmt rust-analyzer rust-src +system-llvm test ${ALL_LLVM_TARGETS[*]} ${ALL_RUST_SYSROOTS[*]}" +IUSE="big-endian clippy cpu_flags_x86_sse2 debug dist doc llvm-libunwind lto mrustc-bootstrap" +IUSE+=" rustfmt rust-analyzer rust-src +system-llvm test ${ALL_LLVM_TARGETS[*]} ${ALL_RUST_SYSROOTS[*]}" if [[ ${PV} = *9999* ]]; then # These USE flags require nightly rust @@ -111,6 +116,12 @@ BDEPEND="${PYTHON_DEPS} ) test? ( dev-debug/gdb ) verify-sig? ( sec-keys/openpgp-keys-rust ) + mrustc-bootstrap? ( + ~dev-lang/mrustc-${MRUSTC_VERSION} + dev-build/cmake + sys-devel/gcc:* + ) + !mrustc-bootstrap? ( ${RUST_DEPEND} ) " DEPEND=" @@ -246,7 +257,16 @@ pkg_setup() { die "Must enable LLVM_TARGETS=${cross_llvm_target} matching CBUILD=${CBUILD} when cross-compiling" fi - rust_pkg_setup + if use mrustc-bootstrap; then + if ! tc-is-gcc; then + # USE="mrustc-bootstrap" reqires that the build environment use GCC + export CC=${CHOST}-gcc + export CXX=${CHOST}-g++ + tc-is-gcc || die "tc-is-gcc failed in spite of CC=${CC}" + fi + else + rust_pkg_setup + fi if use system-llvm; then llvm-r1_pkg_setup @@ -336,11 +356,13 @@ src_prepare() { "${WORKDIR}/rust-patches-${RUST_PATCH_VER}/" ) # Apply patches for bootstrapping with a particular Rust version (RUST_SLOT). - local bootstrap_patchdir="${WORKDIR}/rust-patches-${RUST_PATCH_VER}/${RUST_SLOT}" - if [[ -d "${bootstrap_patchdir}" ]]; then - PATCHES+=( - "${bootstrap_patchdir}" - ) + if [[ -n ${RUST_SLOT} ]]; then # Not set set if using mrustc-bootstrap + local bootstrap_patchdir="${WORKDIR}/rust-patches-${RUST_PATCH_VER}/${RUST_SLOT}" + if [[ -d "${bootstrap_patchdir}" ]]; then + PATCHES+=( + "${bootstrap_patchdir}" + ) + fi fi if use lto && tc-is-clang && ! tc-ld-is-lld && ! tc-ld-is-mold; then @@ -348,6 +370,14 @@ src_prepare() { fi default + + if use mrustc-bootstrap; then + pushd "${S}" 2>/dev/null || die + einfo "Applying patches to enable bootstrap with mrustc ${MRUSTC_VERSION}" + patch -p0 < "${BROOT}"/usr/share/mrustc-${MRUSTC_VERSION}/patches/rustc-${MRUSTC_RUST_VERSION}-src.patch || + die "Failed to patch sources to enable bootstrap with mrustc" + popd 2>/dev/null || die + fi } src_configure() { @@ -396,9 +426,13 @@ src_configure() { 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" + if use mrustc-bootstrap; then + local rust_stage0_root="${WORKDIR}/bootstrap/rust-${PV}" + else + 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" + fi rust_target="$(rust_abi)" rust_build="$(rust_abi "${CBUILD}")" @@ -686,7 +720,308 @@ src_configure() { echo } +llvm_bootstrap() { + # Reference ${P}/src/bootstrap/native.rs for these values + local llvm_cmake_opts=( + "-G Ninja" + "-DLLVM_TARGET_ARCH=${CFG_COMPILER_HOST_TRIPLE%%-*}" + "-DLLVM_DEFAULT_TARGET_TRIPLE=${CFG_COMPILER_HOST_TRIPLE}" + #;Mips;PowerPC;SystemZ;JSBackend;MSP430;Sparc;NVPTX + "-DLLVM_TARGETS_TO_BUILD=${BOOTSTRAP_LLVM_TARGETS:=X86;ARM;AArch64}" + "-DLLVM_ENABLE_ASSERTIONS=OFF" + "-DLLVM_INCLUDE_EXAMPLES=OFF" + "-DLLVM_INCLUDE_TESTS=OFF" + "-DLLVM_INCLUDE_DOCS=OFF" + "-DLLVM_INCLUDE_BENCHMARKS=OFF" + "-DLLVM_ENABLE_ZLIB=OFF" + "-DLLVM_ENABLE_TERMINFO=OFF" + "-DLLVM_ENABLE_LIBEDIT=OFF" + "-DCMAKE_CXX_COMPILER=$(tc-getCXX)" + "-DCMAKE_C_COMPILER=$(tc-getCC)" + "-DCMAKE_BUILD_TYPE=Release" + ) + + if [[ -z "${LLVM_CMAKE_OPTS_EXTRA}" ]]; then + llvm_cmake_opts+=( "${LLVM_CMAKE_OPTS_EXTRA}") + fi + + elog "Building bootstrap llvm ..." + + mkdir -p "${WORKDIR}/bootstrap/llvm" || die + pushd "${WORKDIR}/bootstrap/llvm" 2>/dev/null || die + edo cmake ${llvm_cmake_opts[*]} "${S}/src/llvm-project/llvm" + eninja || die "Failed to build bootstrap llvm" + popd 2>/dev/null || die +} + +# High level steps: +# Our system mrustc package has built stdlib for our current platform. +# - Step 1: Use system-installed mrustc, (m)rust(c) stdlib, and minicargo to +# bootstrap a `cargo` and `rustc` (mrustc-stage0) +# - Step 2: Use minicargo and the built `rustc` to build a working `sysroot` +# (includes `std`, `panic_unwind``, `test`, etc.) (mrustc-stage0) +# - Step 3: Build build libs again (this time using `cargo` and `rustc`) (mrustc-stage1) +# - Step 4: Build a `rustc` using those libs (mrustc-stage1) +# - Done so there's an optimised rustc around (mrustc is bad at codegen) +# - Step 5: Build `libstd` with this `rustc` (mrustc-stage2) +# - Needed to match ABIs +# Stages: +# - mrustc-stage0: mrustc-built cargo and rustc +# - mrustc-stage1: rustc and sysroot built with mrustc-stage0 +# - mrustc-stage2: rustc from stage1 with sysroot built with stage0 +# See: +# - https://github.com/thepowersgang/mrustc/blob/master/run_rustc/Makefile +# - https://github.com/thepowersgang/mrustc/blob/master/TestRustcBootstrap.sh +# - Upstream Windows .cmd files are also a good reference for early bootstrap +mrustc_bootstrap() { + export RUSTC_BOOTSTRAP=1 # Possibly the only intended use of this variable in ::gentoo + # export these variables now and unset them at the end of the function so they don't leak + # into the rest of the build. + export CFG_COMPILER_HOST_TRIPLE="$(rust_abi)" + export CFG_RELEASE="${MRUSTC_RUST_VERSION}" # Let's pretend we're 1.90.0 + export CFG_RELEASE_CHANNEL="stable" + export CFG_VERSION="${MRUSTC_RUST_VERSION}-stable-mrustc" + export CFG_PREFIX="mrustc" + export CFG_LIBDIR_RELATIVE="lib" + # We actually patch our executable, but this suppresses a warning on every invocation of the bootstrap compiler. + export MRUSTC_TARGET_VER="${MRUSTC_RUST_VERSION%.*}" + export RUSTC_INSTALL_BINDIR="bin" + export REAL_LIBRARY_PATH_VAR="LD_LIBRARY_PATH" + export STD_ENV_ARCH="${CFG_COMPILER_HOST_TRIPLE%%-*}" + + # These flags are used in every invocation of our bootstrap `cargo`. + local cargo_flags="--target ${CFG_COMPILER_HOST_TRIPLE} -j $(makeopts_jobs) --release --verbose" + + # for bootstrap, let's using the built-in stdlib of compiler (could be the bundled one) + filter-flags '-stdlib=*' + + # mrustc requires gcc, so disable libcxx to avoid linker failure on w/o '-lstdc++' + [[ "${LLVM_USE_LIBCXX}" == "1" ]] && unset LLVM_USE_LIBCXX + + local llvm_config_wrapper_cxxflags=0 + + if use system-llvm; then + export LLVM_CONFIG="$(get_llvm_prefix)/bin/llvm-config" + + local llvm_config_cxxflags=$(${LLVM_CONFIG} --cxxflags) + elog "Checking llvm-config --cxxflags: '${llvm_config_cxxflags}'" + [[ "${llvm_config_cxxflags}" =~ (^|[[:space:]])-stdlib=libc\+\+([[:space:]]|$) ]] && { + elog "Found LLVM CXXFLAGS has \"--stdlib=libc++\"" + llvm_config_wrapper_cxxflags=1 + } + else + llvm_bootstrap + export LLVM_CONFIG="${WORKDIR}/bootstrap/llvm/bin/llvm-config" + fi + + elog "LLVM_CONFIG before wrappers: ${LLVM_CONFIG}" + + # workaround for gcc bug 122409 on musl by wrapping llvm-config + # to append libc++ header if has "-stdlib=libc++" + elog "Preparing wrapper of llvm-config (${WORKDIR}/llvm-config)" + cat > ${WORKDIR}/llvm-config <<-EOF || die + #!/bin/bash + + RULES=() + for flag in "\$@"; do + case "\${flag}" in + $([[ "${llvm_config_wrapper_cxxflags}" == 1 ]] && { + echo " --cxxflags) RULES+=( \"-E\" \"s@(^|[[:space:]]+)(-stdlib=libc\\+\\+)(\\$|[[:space:]])@\\1-I${EPREFIX}/usr/include/c++/v1 \\2\\3@g\" ) ;;" + }) + *) + ;; + esac + done + + [[ -z "\${RULES}" ]] && { + ${LLVM_CONFIG} "\$@" + } || { + ${LLVM_CONFIG} "\$@" | \\ + tee -a ${T}/llvm-config.0.log | \\ + sed "\${RULES[@]}" | \\ + tee -a ${T}/llvm-config.1.log + exit \${PIPESTATUS[0]} + } + EOF + export LLVM_CONFIG="${WORKDIR}/llvm-config" + chmod +x ${WORKDIR}/llvm-config || die + + einfo "llvm-config wrapper contents:" + cat "${LLVM_CONFIG}" || die + echo + + # define the mrustc sysroot and common minicargo arguments. + local mrustc_sysroot="${BROOT}/usr/lib/rust/mrustc-${MRUSTC_VERSION}/lib/rustlib/${CFG_COMPILER_HOST_TRIPLE}/lib" + local minicargo_common_args=( + "-L" "${mrustc_sysroot}" + "-j" "$(makeopts_jobs)" + "--vendor-dir" "${S}/vendor" + "--manifest-overrides" + "${BROOT}/usr/share/mrustc-${MRUSTC_VERSION}/patches/rustc-${MRUSTC_RUST_VERSION}-overrides.toml" + ) + # There's a very good chance that minicargo and mrustc are not in the PATH. + if ! command -v minicargo &> /dev/null; then + export PATH="${BROOT}/usr/lib/rust/mrustc-${MRUSTC_VERSION}/bin:${PATH}" + fi + # Sanity check our bootstrap compiler & stdlib. + elog "Sanity checking mrustc and stdlib ..." + edo mrustc "${S}/tests/ui/parallel-rustc/hello_world.rs" -L "${mrustc_sysroot}" -o "${T}"/hello -g + "${T}"/hello || die "Failed to run hello_world" + # Seems fine, let's build some tools! + + # Step 1: Build a `cargo` and `rustc` using system-installed mrustc + # Anything we produce is going to be terribly unoptimised; mrustc does not do fantastic codegen. + # It's good enough to bootstrap the "real" rustc though. + elog "Building bootstrap cargo and rustc using mrustc and minicargo (mrustc-stage0) ..." + local stage0="${WORKDIR}/bootstrap/mrustc-stage0" + mkdir -p "${stage0}" || die + edo minicargo "${S}"/src/tools/cargo --output-dir "${stage0}"/cargo-build ${minicargo_common_args[*]} + "${stage0}"/cargo-build/cargo --version || die "Bootstrap cargo failed basic sanity check" + edo minicargo "${S}"/compiler/rustc --output-dir "${stage0}"/rustc-build ${minicargo_common_args[*]} \ + --features llvm + "${stage0}"/rustc-build/rustc_main --version || die "Bootstrap rustc failed basic sanity check" + # minicargo has special-casing for `rustc` so we need to rename it. + mv "${stage0}"/rustc-build/rustc_main "${stage0}"/rustc-build/rustc || die "Failed to rename rustc_main to rustc" + # rustc wants these here + mkdir -p "${stage0}"/codegen-backends || die + mv "${stage0}"/rustc-build/librustc_codegen_llvm.* "${stage0}"/codegen-backends || die + + # Step 2: use the bootstrapped rustc to build sysroot; we need to use `minicargo` for this - + # mrustc does not accept all of the arguments that rustc does, even with the rustc_proxy wrapper. + # `--script-overrides`: If the overrides are available, build scripts (and build-deps) are not built + # which is good since we don't have a working compiler yet, and can't build them. + + local stage0_sysroot_lib="${stage0}/lib/rustlib/${CFG_COMPILER_HOST_TRIPLE}/lib" + # minicargo <= 0.12.0 doesn't create this directory and silently fails, besides it's better to be explicit, right? + mkdir -p "${stage0_sysroot_lib}" || die "Failed to create stage0 directory" + + elog "Building 'sysroot' using bootstrap rustc (mrustc-stage0) ..." + local o_dir="${BROOT}/usr/share/mrustc-${MRUSTC_VERSION}/script-overrides/stable-${MRUSTC_RUST_VERSION}-linux/" + edo env MRUSTC_PATH="${stage0}/rustc-build/rustc" minicargo -j $(makeopts_jobs) --vendor-dir "${S}"/vendor \ + --script-overrides "${o_dir}" \ + --output-dir "${stage0_sysroot_lib}" "${S}"/library/sysroot || + die "Failed to build sysroot with bootstrap rust (mrustc-stage0)" + + elog "Sanity checking sysroot and rustc ..." + mkdir -p "${T}"/stage0-hello || die + edo "${stage0}"/rustc-build/rustc -L "${stage0_sysroot_lib}" -g "${S}/tests/ui/parallel-rustc/hello_world.rs" \ + -o "${T}"/stage0-hello/hello + "${T}"/stage0-hello/hello || die "Failed to run hello_world built with bootstrap rust stage0" + + elog "mrustc bootstrap stage0 complete!" + + # Step 3: Build a "proper" libstd, including dynamic libs using our bootstrap cargo and rustc. + elog "Building 'sysroot' with the stage0 rustc (mrustc-stage1) ..." + local stage1="${WORKDIR}/bootstrap/mrustc-stage1" + local stage1_sysroot_lib="${stage1}/lib/rustlib/${CFG_COMPILER_HOST_TRIPLE}/lib" + mkdir -p "${stage1_sysroot_lib}" || die "Failed to create stage1 directory" + mkdir -p "${stage1}/bin" || die + + # Simplified to avoid calling rustc_proxy; We don't need stage1 rustc until after this is built... + edo env RUSTFLAGS="-Z force-unstable-if-unmarked" CARGO_TARGET_DIR="${stage1}/sysroot-build" \ + RUSTC="${stage0}/rustc-build/rustc" "${stage0}"/cargo-build/cargo build ${cargo_flags} \ + --manifest-path "${S}/library/sysroot/Cargo.toml" --features panic-unwind + + # Move the built libs into the sysroot libdir. + mv "${stage1}/sysroot-build/${CFG_COMPILER_HOST_TRIPLE}/release/deps"/*.{rlib,rmeta,so} \ + "${stage1_sysroot_lib}" || die "Failed to move stage1 libs to stage1 sysroot" + + # We need to copy the stage0 rustc to the stage1 sysroot; this "updates" the sysroot location and enables + # resolution of stage1 libs. (run `rustc --print sysroot` on stage0 and stage1 rustc to verify) + cp "${stage0}/rustc-build/rustc" "${stage1}/bin/rustc" || die "Failed to copy rustc to stage1 sysroot" + + # Step 4: Build `rustc` with itself, so we have a rustc with the right ABI. + # This will be our final `rustc` for the bootstrap process. + elog "Building rustc with stage1 libs (mrustc-stage1) ..." + mkdir -p "${stage1}/rustc-build" || die + edo env RUSTFLAGS="-Z force-unstable-if-unmarked -C link_args=-Wl,-rpath,\$ORIGIN/../lib" \ + LD_LIBRARY_PATH="${stage2_sysroot_lib}" CARGO_TARGET_DIR="${stage1}/rustc-build" \ + RUSTC="${stage1}/bin/rustc" TMPDIR="${T}" "${stage0}"/cargo-build/cargo build ${cargo_flags} \ + --manifest-path "${S}/compiler/rustc/Cargo.toml" --features llvm + + # Step 5: Build `sysroot` with this `rustc` - Needed to match ABI + # We need to use the previous sysroot; we could reuse that dir but it's easier to just copy it. + elog "Building final 'sysroot' with the final rustc (mrustc-stage2) ..." + local stage2="${WORKDIR}/bootstrap/mrustc-stage2" + local stage2_sysroot_lib="${stage2}/lib/rustlib/${CFG_COMPILER_HOST_TRIPLE}/lib" + mkdir -p "${stage2_sysroot_lib}" || die "Failed to create stage2 directory" + mkdir -p "${stage2}/bin" || die + + # Copy required files from stage1 to stage2 sysroot + cp "${stage1}/rustc-build/${CFG_COMPILER_HOST_TRIPLE}"/release/rustc-main "${stage2}/bin/rustc_binary" || + die "Failed to copy final rustc to stage2 sysroot" + cp "${stage1}/rustc-build/${CFG_COMPILER_HOST_TRIPLE}"/release/librustc_driver.so "${stage2}/lib" || + die "Failed to copy librustc_driver to sysroot" + cp "${stage1}/rustc-build/${CFG_COMPILER_HOST_TRIPLE}"/release/deps/*.{rlib,so} "${stage2_sysroot_lib}" || + die "Failed to copy final rustc libs to stage2 sysroot" + cp "${stage1_sysroot_lib}"/* "${stage2_sysroot_lib}" || die "Failed to copy stage1 so files to stage2 sysroot" + + # There's a magic script used in place of rustc so that libs can be found + cat <<- EOF > "${stage2}/bin/rustc" || die "Failed to create rustc wrapper" + #!/bin/sh + LD_LIBRARY_PATH="${stage2}/lib:${stage2_sysroot_lib}" ${stage2}/bin/rustc_binary "\$@" + EOF + chmod +x "${stage2}/bin/rustc" || die "Failed to make rustc wrapper executable" + + # Use rustc to build 'sysroot'; this is the final step in the bootstrap process. + # rpath probably isn't needed here, but it doesn't hurt. + edo env RUSTFLAGS="-Z force-unstable-if-unmarked -C link_args=-Wl,-rpath,\$ORIGIN/../lib" \ + CARGO_TARGET_DIR="${stage2}/stdlib-build" RUSTC="${stage2}/bin/rustc" \ + "${stage0}"/cargo-build/cargo build ${cargo_flags} --manifest-path "${S}/library/sysroot/Cargo.toml" \ + --features panic-unwind + + # Build our final output sysroot + local output="${WORKDIR}/bootstrap/rust-${PV}" + local output_sysroot_lib="${output}/lib/rustlib/${CFG_COMPILER_HOST_TRIPLE}/lib" + mkdir -p "${output_sysroot_lib}" || die "Failed to create output directory" + mkdir -p "${output}/bin" || die "Failed to create output directory" + + # Copy our various output files into the output sysroot + # rustc + cp "${stage1}/rustc-build/${CFG_COMPILER_HOST_TRIPLE}"/release/rustc-main "${output}/bin/rustc_binary" || + die "Failed to copy final rustc to output" + cp "${stage1}/rustc-build/${CFG_COMPILER_HOST_TRIPLE}"/release/librustc_driver.so "${output}/lib" || + die "Failed to copy librustc_driver to output" + cp "${stage1}/rustc-build/${CFG_COMPILER_HOST_TRIPLE}"/release/deps/*.{rlib,so} "${output_sysroot_lib}" || + die "Failed to copy final rustc libs to output" + # cargo; no need to build an optimised cargo if we're using this to build a complelety new Rust. + cp "${stage0}/cargo-build/cargo" "${output}/bin/cargo" || die "Failed to copy cargo to output" + # libs + mv "${stage2}/stdlib-build/${CFG_COMPILER_HOST_TRIPLE}/release/deps"/*.{rlib,rmeta,so} "${output_sysroot_lib}" || + die "Failed to copy stage2 libs to output" + # Our trusty rustc wrapper + cat <<- EOF > "${output}/bin/rustc" || die "Failed to create rustc wrapper" + #!/bin/sh + LD_LIBRARY_PATH="${output}/lib:${output_sysroot_lib}" ${output}/bin/rustc_binary "\$@" + EOF + chmod +x "${output}/bin/rustc" || die "Failed to make rustc wrapper executable" + + # Perform a sanity check on the final Rust. + mkdir -p "${T}"/output-hello || die + edo "${output}/bin/rustc" -L "${output_sysroot_lib}" -g "${S}/tests/ui/parallel-rustc/hello_world.rs" \ + -o "${T}"/output-hello/hello + "${T}"/output-hello/hello || die "Failed to run hello_world built with bootstrapped Rust" + + elog "Successfully bootstrapped Rust using mrustc!" + + # Note: The Rust sysroot that we've produced is pretty close to what we'd expect from a normal Rust build. + # If someone was so inclined they could build an optimised cargo using the stage2 rustc and sysroot, + # and install the output directly. This is untested, as I'm sure there's more to it than that. + # I'm satisfied with being able to build Rust normally at this point. + + # Tidy up the Rust sources; revert mrustc changes so Rust can be built normally. + pushd "${S}" 2>/dev/null || die + patch -R -p0 < "${BROOT}"/usr/share/mrustc-${MRUSTC_VERSION}/patches/rustc-${MRUSTC_RUST_VERSION}-src.patch || + die "Failed to revert mrustc patches" + popd 2>/dev/null || die + + # Tidy up any environment variables we've set in the bootstrap process. + unset CFG_COMPILER_HOST_TRIPLE CFG_RELEASE CFG_RELEASE_CHANNEL CFG_PREFIX CFG_VERSION CFG_LIBDIR_RELATIVE + unset LLVM_CONFIG MRUSTC_TARGET_VER REAL_LIBRARY_PATH_VAR RUSTFLAGS RUSTC_BOOTSTRAP RUSTC_INSTALL_BINDIR +} + src_compile() { + use mrustc-bootstrap && mrustc_bootstrap # -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$(makeopts_jobs) || die } diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.94.0_beta20260126.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.94.0.ebuild similarity index 100% rename from sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.94.0_beta20260126.ebuild rename to sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.94.0.ebuild diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.94.0_beta20260213.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.95.0_beta20260310.ebuild similarity index 99% rename from sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.94.0_beta20260213.ebuild rename to sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.95.0_beta20260310.ebuild index d0e4413c459..291fbe65846 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.94.0_beta20260213.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/rust/rust-1.95.0_beta20260310.ebuild @@ -5,7 +5,7 @@ EAPI=8 # Bump notes: https://wiki.gentoo.org/wiki/Project:Rust/Rust_bump -LLVM_COMPAT=( 21 ) +LLVM_COMPAT=( 22 ) PYTHON_COMPAT=( python3_{11..14} ) # Patches are kept in rust-patches.git, see its README.rst for the versioning diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/cowsql/Manifest b/sdk_container/src/third_party/portage-stable/dev-libs/cowsql/Manifest index a1e006a6a13..58fa8b90fab 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/cowsql/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-libs/cowsql/Manifest @@ -1,2 +1 @@ -DIST cowsql-1.15.8.tar.gz 364600 BLAKE2B 14fcc1a77351e433962aa4ccde671ee11839f2a69606d5b130f5fe168012ee39dba254f23fb338e246f5215bb15c1e14958818d71008bb03afac7fea8733efec SHA512 3946433897efb190edec4d6900d7bdc40d3b25c07d732526b7d83fe2c38269a5525c6e9d352f017709ecf2a9e6ea908462b1b31fe31b4d02699a89834f3f3ce3 DIST cowsql-1.15.9.tar.gz 364588 BLAKE2B fd986c42d0caed8ff18caefa86e1403d5357bca249185b2905df2e5ae0762fa0f470c9c3823d9a0797b775d3aa1a326dd0fcee04858a6703b89726d5f5ec2c96 SHA512 482681923119a2e1b07d91ed158640c30db34f2448892221fc2834d3120b35992de6ed2ce6606c227ef15c351769c3457eb87bd825ed13a252ccb171ffd43543 diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/cowsql/cowsql-1.15.8.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/cowsql/cowsql-1.15.8.ebuild deleted file mode 100644 index 6328bfea629..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-libs/cowsql/cowsql-1.15.8.ebuild +++ /dev/null @@ -1,52 +0,0 @@ -# Copyright 2020-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit autotools - -DESCRIPTION="Embeddable, replicated and fault tolerant SQL engine (fork of dqlite)" -HOMEPAGE="https://cowsql.dev/ https://github.com/cowsql/cowsql" -SRC_URI="https://github.com/cowsql/cowsql/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz" - -LICENSE="LGPL-3-with-linking-exception" -SLOT="0" -KEYWORDS="amd64 ~arm64 ~x86" -IUSE="test" -RESTRICT="!test? ( test )" - -RDEPEND="dev-db/sqlite:3 - dev-libs/libuv:= - >=dev-libs/raft-0.18.1:=" -DEPEND="${RDEPEND} - test? ( dev-libs/raft[lz4,test] )" -BDEPEND="virtual/pkgconfig" - -PATCHES=( - "${FILESDIR}"/dqlite-1.12.0-disable-werror.patch - "${FILESDIR}"/0001-src-lib-serialize.h-don-t-define-double-as-float_t.patch -) - -src_prepare() { - default - eautoreconf -} - -src_configure() { - local myeconfargs=( - --disable-backtrace - --disable-debug - --disable-sanitize - --disable-static - - # Will build a bundled libsqlite3.so. - --enable-build-sqlite=no - ) - - econf "${myeconfargs[@]}" -} - -src_install() { - default - find "${ED}" -name '*.la' -delete || die -} diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/cowsql/files/0001-src-lib-serialize.h-don-t-define-double-as-float_t.patch b/sdk_container/src/third_party/portage-stable/dev-libs/cowsql/files/0001-src-lib-serialize.h-don-t-define-double-as-float_t.patch deleted file mode 100644 index 29e8a1c2390..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-libs/cowsql/files/0001-src-lib-serialize.h-don-t-define-double-as-float_t.patch +++ /dev/null @@ -1,54 +0,0 @@ -https://github.com/cowsql/cowsql/pull/37 -From: Brahmajit Das -Date: Sat, 14 Jun 2025 00:18:38 +0530 -Subject: [PATCH] src/lib/serialize.h: don't define double as float_t - -libuv with commit 85b526f makes uv.h include math.h for the definitions -of NAN/INFINITY. That header also defines the ISO C standard float_t -type. Now that that definition is in scope, the cowsql definition in -src/lib/serialize.h conflicts with it. - -Fixes: 451cff63b29366237a9502823299b05bbff8662b -Closes: https://github.com/cowsql/cowsql/issues/35 -Signed-off-by: Brahmajit Das ---- a/src/lib/serialize.h -+++ b/src/lib/serialize.h -@@ -37,7 +37,7 @@ static_assert(sizeof(double) == sizeof(uint64_t), - * Basic type aliases to used by macro-based processing. - */ - typedef const char *text_t; --typedef double float_t; -+typedef double cowsql_float; - typedef uv_buf_t blob_t; - - /** -@@ -143,7 +143,7 @@ COWSQL_INLINE size_t int64__sizeof(const int64_t *value) - return sizeof(int64_t); - } - --COWSQL_INLINE size_t float__sizeof(const float_t *value) -+COWSQL_INLINE size_t float__sizeof(const cowsql_float *value) - { - (void)value; - return sizeof(double); -@@ -190,7 +190,7 @@ COWSQL_INLINE void int64__encode(const int64_t *value, void **cursor) - *cursor += sizeof(int64_t); - } - --COWSQL_INLINE void float__encode(const float_t *value, void **cursor) -+COWSQL_INLINE void float__encode(const cowsql_float *value, void **cursor) - { - *(uint64_t *)(*cursor) = ByteFlipLe64(*(uint64_t *)value); - *cursor += sizeof(uint64_t); -@@ -273,7 +273,7 @@ COWSQL_INLINE int int64__decode(struct cursor *cursor, int64_t *value) - return 0; - } - --COWSQL_INLINE int float__decode(struct cursor *cursor, float_t *value) -+COWSQL_INLINE int float__decode(struct cursor *cursor, cowsql_float *value) - { - size_t n = sizeof(double); - if (n > cursor->cap) { --- -2.49.0 - diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/elfutils/elfutils-0.193-r1.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/elfutils/elfutils-0.193-r2.ebuild similarity index 95% rename from sdk_container/src/third_party/portage-stable/dev-libs/elfutils/elfutils-0.193-r1.ebuild rename to sdk_container/src/third_party/portage-stable/dev-libs/elfutils/elfutils-0.193-r2.ebuild index 6b7ee7cfe36..e3510c22580 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/elfutils/elfutils-0.193-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/elfutils/elfutils-0.193-r2.ebuild @@ -38,9 +38,9 @@ RDEPEND=" bzip2? ( >=app-arch/bzip2-1.0.6-r4[static-libs?,${MULTILIB_USEDEP}] ) debuginfod? ( dev-db/sqlite:3= - >=dev-libs/json-c-0.11:=[${MULTILIB_USEDEP}] + >=dev-libs/json-c-0.11:= >=net-libs/libmicrohttpd-0.9.33:= - >=net-misc/curl-7.29.0[static-libs?,${MULTILIB_USEDEP}] + >=net-misc/curl-7.29.0[static-libs?] ) lzma? ( >=app-arch/xz-utils-5.0.5-r1[static-libs?,${MULTILIB_USEDEP}] ) stacktrace? ( dev-util/sysprof ) @@ -97,6 +97,8 @@ src_configure() { # bug 660738 filter-flags -fno-asynchronous-unwind-tables + use debuginfod && MULTILIB_WRAPPED_HEADERS+=( /usr/include/elfutils/debuginfod.h ) + multilib-minimal_src_configure } @@ -107,7 +109,7 @@ multilib_src_configure() { $(use_enable nls) $(multilib_native_use_enable debuginfod) # Could do dummy if needed? - $(use_enable debuginfod libdebuginfod) + $(multilib_native_use_enable debuginfod libdebuginfod) $(multilib_native_use_enable stacktrace) $(use_enable valgrind valgrind-annotations) diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/elfutils/elfutils-0.194.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/elfutils/elfutils-0.194-r1.ebuild similarity index 95% rename from sdk_container/src/third_party/portage-stable/dev-libs/elfutils/elfutils-0.194.ebuild rename to sdk_container/src/third_party/portage-stable/dev-libs/elfutils/elfutils-0.194-r1.ebuild index dcb73bf5449..f1f53fe5501 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/elfutils/elfutils-0.194.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/elfutils/elfutils-0.194-r1.ebuild @@ -38,9 +38,9 @@ RDEPEND=" bzip2? ( >=app-arch/bzip2-1.0.6-r4[static-libs?,${MULTILIB_USEDEP}] ) debuginfod? ( dev-db/sqlite:3= - >=dev-libs/json-c-0.11:=[${MULTILIB_USEDEP}] + >=dev-libs/json-c-0.11:= >=net-libs/libmicrohttpd-0.9.33:= - >=net-misc/curl-7.29.0[static-libs?,${MULTILIB_USEDEP}] + >=net-misc/curl-7.29.0[static-libs?] ) libarchive? ( >=app-arch/libarchive-3.1.2:= ) lzma? ( >=app-arch/xz-utils-5.0.5-r1[static-libs?,${MULTILIB_USEDEP}] ) @@ -100,6 +100,8 @@ src_configure() { # bug 660738 filter-flags -fno-asynchronous-unwind-tables + use debuginfod && MULTILIB_WRAPPED_HEADERS+=( /usr/include/elfutils/debuginfod.h ) + multilib-minimal_src_configure } @@ -111,7 +113,7 @@ multilib_src_configure() { $(multilib_native_use_enable debuginfod) # Could do dummy if needed? We could also split libdebuginfod # (client support) into its own USE if required. - $(use_enable debuginfod libdebuginfod) + $(multilib_native_use_enable debuginfod libdebuginfod) $(multilib_native_use_enable stacktrace) $(use_enable valgrind valgrind-annotations) diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/elfutils/elfutils-0.194-r2.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/elfutils/elfutils-0.194-r2.ebuild new file mode 100644 index 00000000000..a97f8bc8fc0 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-libs/elfutils/elfutils-0.194-r2.ebuild @@ -0,0 +1,161 @@ +# Copyright 2003-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/elfutils.gpg +inherit autotools flag-o-matic multilib-minimal + +DESCRIPTION="Libraries/utilities to handle ELF objects (drop in replacement for libelf)" +HOMEPAGE="https://sourceware.org/elfutils/" +if [[ ${PV} == 9999 ]] ; then + EGIT_REPO_URI="https://sourceware.org/git/elfutils.git" + inherit git-r3 + + BDEPEND=" + sys-devel/bison + sys-devel/flex + " +else + inherit verify-sig + SRC_URI="https://sourceware.org/elfutils/ftp/${PV}/${P}.tar.bz2" + SRC_URI+=" verify-sig? ( https://sourceware.org/elfutils/ftp/${PV}/${P}.tar.bz2.sig )" + + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + + BDEPEND="verify-sig? ( >=sec-keys/openpgp-keys-elfutils-20240301 )" +fi + +LICENSE="|| ( GPL-2+ LGPL-3+ ) utils? ( GPL-3+ )" +SLOT="0" +IUSE="bzip2 +debuginfod +libarchive +lzma nls static-libs stacktrace test +utils valgrind zstd" +RESTRICT="!test? ( test )" +REQUIRED_USE="debuginfod? ( libarchive )" + +RDEPEND=" + !dev-libs/libelf + >=virtual/zlib-1.2.8-r1:=[static-libs?,${MULTILIB_USEDEP}] + bzip2? ( >=app-arch/bzip2-1.0.6-r4[static-libs?,${MULTILIB_USEDEP}] ) + debuginfod? ( + dev-db/sqlite:3= + >=dev-libs/json-c-0.11:= + >=net-libs/libmicrohttpd-0.9.33:= + >=net-misc/curl-7.29.0[static-libs?] + ) + libarchive? ( >=app-arch/libarchive-3.1.2:= ) + lzma? ( >=app-arch/xz-utils-5.0.5-r1[static-libs?,${MULTILIB_USEDEP}] ) + stacktrace? ( dev-util/sysprof ) + zstd? ( app-arch/zstd:=[static-libs?,${MULTILIB_USEDEP}] ) + elibc_musl? ( + dev-libs/libbsd + sys-libs/argp-standalone + sys-libs/fts-standalone + sys-libs/obstack-standalone + ) +" +DEPEND=" + ${RDEPEND} + valgrind? ( dev-debug/valgrind ) +" +BDEPEND+=" + sys-devel/m4 + virtual/pkgconfig + nls? ( sys-devel/gettext ) +" + +PATCHES=( + "${FILESDIR}"/${PN}-0.189-musl-aarch64-regs.patch + "${FILESDIR}"/${PN}-0.191-musl-macros.patch + "${FILESDIR}"/${P}-tests.patch + "${FILESDIR}"/${PN}-0.194-hurd.patch +) + +src_prepare() { + default + + eautoreconf + + if ! use static-libs; then + sed -i -e '/^lib_LIBRARIES/s:=.*:=:' -e '/^%.os/s:%.o$::' lib{asm,dw,elf}/Makefile.in || die + fi + + # TODO: Fails with some CFLAGS + # " __divhc3: /var/tmp/portage/dev-libs/elfutils-0.193/work/elfutils-0.193-abi_x86_32.x86/tests/funcretval: + # dwfl_module_return_value_location: cannot handle DWARF type description" + printf "#!/bin/sh\nexit 77" > tests/run-native-test.sh || die + # TODO: Fails for abi_x86_32 w/ DT_RELR + # "section [14] '.rel.plt': relocation 55: relocation type invalid for the file type" + printf "#!/bin/sh\nexit 77" > tests/run-elflint-self.sh || die + printf "#!/bin/sh\nexit 77" > tests/run-reverse-sections-self.sh || die + # TODO: Fails with SFrames + printf "#!/bin/sh\nexit 77" > tests/run-strip-strmerge.sh || die + + # https://sourceware.org/PR23914 + sed -i 's:-Werror::' */Makefile.in || die +} + +src_configure() { + # bug #407135 + use test && append-flags -g + + # bug 660738 + filter-flags -fno-asynchronous-unwind-tables + + use debuginfod && MULTILIB_WRAPPED_HEADERS+=( /usr/include/elfutils/debuginfod.h ) + + multilib-minimal_src_configure +} + +multilib_src_configure() { + unset LEX YACC + + local myeconfargs=( + $(use_enable nls) + $(multilib_native_use_enable debuginfod) + # Could do dummy if needed? We could also split libdebuginfod + # (client support) into its own USE if required. + $(multilib_native_use_enable debuginfod libdebuginfod) + $(multilib_native_use_enable stacktrace) + $(use_enable valgrind valgrind-annotations) + + # Explicitly disable thread safety, it's not recommended by upstream + # (marked experimental in configure) and doesn't build either on musl. + --disable-thread-safety + + # Valgrind option is just for running tests under it; dodgy under sandbox + # and indeed even w/ glibc with newer instructions. + --disable-valgrind + --program-prefix="eu-" + --with-zlib + $(use_with bzip2 bzlib) + $(multilib_native_use_with libarchive) + $(use_with lzma) + $(use_with zstd) + ) + + [[ ${PV} == 9999 ]] && myeconfargs+=( --enable-maintainer-mode ) + + # Needed because sets alignment macro + is-flagq -fsanitize=address && myeconfargs+=( --enable-sanitize-address ) + is-flagq -fsanitize=undefined && myeconfargs+=( --enable-sanitize-undefined ) + + ECONF_SOURCE="${S}" econf "${myeconfargs[@]}" +} + +multilib_src_test() { + env LD_LIBRARY_PATH="${BUILD_DIR}/libelf:${BUILD_DIR}/libebl:${BUILD_DIR}/libdw:${BUILD_DIR}/libasm" \ + LC_ALL="C" \ + emake check VERBOSE=1 +} + +multilib_src_install_all() { + einstalldocs + + dodoc NOTES + + # These build quick, and are needed for most tests, so we don't + # disable building them when the USE flag is disabled. + if ! use utils; then + rm -rf "${ED}"/usr/bin || die + fi +} diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/elfutils/elfutils-9999.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/elfutils/elfutils-9999.ebuild index 0a0a771b81b..4abe9403c62 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/elfutils/elfutils-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/elfutils/elfutils-9999.ebuild @@ -38,9 +38,9 @@ RDEPEND=" bzip2? ( >=app-arch/bzip2-1.0.6-r4[static-libs?,${MULTILIB_USEDEP}] ) debuginfod? ( dev-db/sqlite:3= - >=dev-libs/json-c-0.11:=[${MULTILIB_USEDEP}] + >=dev-libs/json-c-0.11:= >=net-libs/libmicrohttpd-0.9.33:= - >=net-misc/curl-7.29.0[static-libs?,${MULTILIB_USEDEP}] + >=net-misc/curl-7.29.0[static-libs?] ) libarchive? ( >=app-arch/libarchive-3.1.2:= ) lzma? ( >=app-arch/xz-utils-5.0.5-r1[static-libs?,${MULTILIB_USEDEP}] ) @@ -99,6 +99,8 @@ src_configure() { # bug 660738 filter-flags -fno-asynchronous-unwind-tables + use debuginfod && MULTILIB_WRAPPED_HEADERS+=( /usr/include/elfutils/debuginfod.h ) + multilib-minimal_src_configure } @@ -110,7 +112,7 @@ multilib_src_configure() { $(multilib_native_use_enable debuginfod) # Could do dummy if needed? We could also split libdebuginfod # (client support) into its own USE if required. - $(use_enable debuginfod libdebuginfod) + $(multilib_native_use_enable debuginfod libdebuginfod) $(multilib_native_use_enable stacktrace) $(use_enable valgrind valgrind-annotations) diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/elfutils/files/elfutils-0.194-hurd.patch b/sdk_container/src/third_party/portage-stable/dev-libs/elfutils/files/elfutils-0.194-hurd.patch new file mode 100644 index 00000000000..9c90380be65 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-libs/elfutils/files/elfutils-0.194-hurd.patch @@ -0,0 +1,101 @@ +https://inbox.sourceware.org/elfutils-devel/20260316144817.1722419-1-serhei@serhei.io/ + +From: Serhei Makarov +To: elfutils-devel@sourceware.org +Cc: Serhei Makarov +Subject: [PATCH v3] libdwfl/linux-pid-attach.c PR33974: __libdwfl_set_initial_registers_thread on non-Linux +Date: Mon, 16 Mar 2026 10:48:17 -0400 +Message-ID: <20260316144817.1722419-1-serhei@serhei.io> +X-Mailer: git-send-email 2.52.0 +MIME-Version: 1.0 +Content-Transfer-Encoding: 8bit +X-Spam-Status: No, score=-10.2 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,GIT_PATCH_0,JMQ_SPF_NEUTRAL,RCVD_IN_DNSWL_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_HELO_PASS,SPF_PASS,TXREP,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.6 +X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on sourceware.org +List-Id: + +libdwfl_stacktrace uses __libdwfl_set_initial_registers_thread but it +is wrapped by #ifdef __linux__, causing build errors on non-Linux +platforms. + +* linux-pid-attach.c (__libdwfl_set_initial_registers_thread): + Remove from inside the '#ifdef __linux__'. +* dwfl_frame_regs.c (__libdwfl_set_initial_registers_thread): + Move here. +--- + libdwfl/dwfl_frame_regs.c | 27 +++++++++++++++++++++++++++ + libdwfl/linux-pid-attach.c | 25 ------------------------- + 2 files changed, 27 insertions(+), 25 deletions(-) + +diff --git a/libdwfl/dwfl_frame_regs.c b/libdwfl/dwfl_frame_regs.c +index 572ac676..99de3c22 100644 +--- a/libdwfl/dwfl_frame_regs.c ++++ b/libdwfl/dwfl_frame_regs.c +@@ -77,3 +77,30 @@ dwfl_frame_reg (Dwfl_Frame *state, unsigned regno, Dwarf_Word *val) + return res; + } + INTDEF(dwfl_frame_reg) ++ ++/* Implement the ebl_set_initial_registers_tid setfunc callback. */ ++ ++bool ++/* Not internal_function, since that allows calling-convention changes ++ e.g. on i386, and stable ABI is needed to use this as an ++ ebl_tid_registers_t * callback in linux-pid-attach.c and ++ libdwfl_stacktrace. */ ++__libdwfl_set_initial_registers_thread (int firstreg, unsigned nregs, ++ const Dwarf_Word *regs, void *arg) ++{ ++ Dwfl_Thread *thread = (Dwfl_Thread *) arg; ++ if (firstreg == -1) ++ { ++ assert (nregs == 1); ++ INTUSE(dwfl_thread_state_register_pc) (thread, *regs); ++ return true; ++ } ++ else if (firstreg == -2) ++ { ++ assert (nregs == 1); ++ INTUSE(dwfl_thread_state_registers) (thread, firstreg, nregs, regs); ++ return true; ++ } ++ assert (nregs > 0); ++ return INTUSE(dwfl_thread_state_registers) (thread, firstreg, nregs, regs); ++} +diff --git a/libdwfl/linux-pid-attach.c b/libdwfl/linux-pid-attach.c +index a6e4e41a..9472b041 100644 +--- a/libdwfl/linux-pid-attach.c ++++ b/libdwfl/linux-pid-attach.c +@@ -302,31 +302,6 @@ pid_getthread (Dwfl *dwfl __attribute__ ((unused)), pid_t tid, + return true; + } + +-/* Implement the ebl_set_initial_registers_tid setfunc callback. */ +- +-bool +-/* XXX No internal_function annotation, +- as this function gets passed as ebl_tid_registers_t *. */ +-__libdwfl_set_initial_registers_thread (int firstreg, unsigned nregs, +- const Dwarf_Word *regs, void *arg) +-{ +- Dwfl_Thread *thread = (Dwfl_Thread *) arg; +- if (firstreg == -1) +- { +- assert (nregs == 1); +- INTUSE(dwfl_thread_state_register_pc) (thread, *regs); +- return true; +- } +- else if (firstreg == -2) +- { +- assert (nregs == 1); +- INTUSE(dwfl_thread_state_registers) (thread, firstreg, nregs, regs); +- return true; +- } +- assert (nregs > 0); +- return INTUSE(dwfl_thread_state_registers) (thread, firstreg, nregs, regs); +-} +- + static bool + pid_set_initial_registers (Dwfl_Thread *thread, void *thread_arg) + { +-- +2.52.0 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 2739860a87a..f05c414bc48 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,7 +1,2 @@ -DIST expat-2.6.3.tar.xz 485600 BLAKE2B b8e0a0e779f0f136eaca91115cbbcf5a5cca457cab1cca6f8d6141151d19f8ef2dccb41b0e9134459c1e7d99cb2e0b4ce3922d2bd9221002ec43fe9d53a0084a SHA512 e02c4ad88f9d539258aa1c1db71ded7770a8f12c77b5535e5b34f040ae5b1361ef23132f16d96bdb7c096a83acd637a7c907916bdfcc6d5cfb9e35d04020ca0b -DIST expat-2.6.4.tar.xz 486732 BLAKE2B 70d716722358db8d0acb2c74dbbc9d2362d04a0b856eab6b6d723614b656cf6aad9f6646339e0a32b4151db2e9541439bcb81ec87791e5e6ec0bd36a3ca067cc SHA512 620da34d98524478b445038bf1dd439790fe11169496516425fca922226797835c27549fc5fb825792b516563b24eb922d9ad8f27d20a0229e7ee8cd640dfb25 -DIST expat-2.7.0.tar.xz 493060 BLAKE2B 44567e955b8cf2053665140b3557897c6e0e66c7e2ba5919970d91d55a05bb8db604afa37a441ff0a7abf4472b24b0e1e6c3964c56b4bb55358c000ccdc1459d SHA512 69fb19c2634821b657f550f609d0bcc6e45e9d903072bbc63e9a0bfc92ef7d04c6e1408dd39eb43eaa2951f28ae93dce4f796c9769253f440905db2d5606a4c7 -DIST expat-2.7.1.tar.xz 496108 BLAKE2B 243ef1c3578234135018d31b567c88a50cadddac86441e4d4a6d6330e113596edbad13b40c79f541d49487e7df98d798032d39ec28b7d67d22f46e4290d14519 SHA512 4c9a6c1c1769d2c4404da083dd3013dbc73883da50e2b7353db2349a420e9b6d27cac7dbcb645991d6c7cdbf79bd88486fc1ac353084ce48e61081fb56e13d46 -DIST expat-2.7.2.tar.xz 503392 BLAKE2B 35525274817dab4d6ae8698f5f83978e633a6e4afe7cf3b126c87d5aba4b64bcb9d26ec3e4a39b1ea82a7430e290950595bfa4150266ef3806026b423a870e33 SHA512 da64ae6d1762388873acbad9bc0edc80094c693bccacf89ca90d1626f53866c5e87c2019276e39643963d6479fb8a6d7b1f05f38caa1be84a24ff9d603449e38 -DIST expat-2.7.3.tar.xz 504744 BLAKE2B 26d4c9cb2c9b2a5b9ca9a86e9ea754e832f397bdb8ef266587b146591ff1358b2f439153f2eadb584180be6aee85050f19987565bbedf215993061ce5c85c5c9 SHA512 d2e495a9a2b902d38d838ec514da67ff56b76cdefcf89d0c320e2f319a35e439bd697880334d0ee70ca79b4515ac94c0c9b9ff97f899bcaa89308f1c8efaee0d DIST expat-2.7.4.tar.xz 507328 BLAKE2B 167518530b3e88f7ecb6aecc5eb54a41a740f7184732dd72fafe9bfdcda0b94c537331543744b8b0eaf918d5f0b82dbe311ee4192a592b74e5d65dc577ed8f6a SHA512 a5533b99b1e0b73adcbe1f1b4816ce04e963fb6b734e6018c823597297a367a0524f31e040e3320122398833371f3f7caf4f9bf3cb91594a38151b2672edfa8f +DIST expat-2.7.5.tar.xz 507924 BLAKE2B 97adfd7cb056066e3a3ec9ef1808d298bc935eb0d17ffca23bcf75810290c8ed8377b21d67b2e1b4a27773057f49f95da9a8f2e368d02d266c980bebbeb1b009 SHA512 d287fdc83d967ce6d04f96a22b544bd7820bb73504b187a8b467e281e7bd20d330c897c6ca8e3a8a2172ecce98f044b569e2b71d0b90fd1175727c13e77e61f4 diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/expat/expat-2.6.4.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/expat/expat-2.6.4.ebuild deleted file mode 100644 index 167e8b0a4a9..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-libs/expat/expat-2.6.4.ebuild +++ /dev/null @@ -1,100 +0,0 @@ -# Copyright 1999-2025 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 -} diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/expat/expat-2.7.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/expat/expat-2.7.0.ebuild deleted file mode 100644 index 167e8b0a4a9..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-libs/expat/expat-2.7.0.ebuild +++ /dev/null @@ -1,100 +0,0 @@ -# Copyright 1999-2025 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 -} diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/expat/expat-2.7.1.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/expat/expat-2.7.1.ebuild deleted file mode 100644 index 167e8b0a4a9..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-libs/expat/expat-2.7.1.ebuild +++ /dev/null @@ -1,100 +0,0 @@ -# Copyright 1999-2025 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 -} diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/expat/expat-2.7.2.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/expat/expat-2.7.2.ebuild deleted file mode 100644 index 7c2d7fa1570..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-libs/expat/expat-2.7.2.ebuild +++ /dev/null @@ -1,100 +0,0 @@ -# Copyright 1999-2025 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 -} diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/expat/expat-2.7.3.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/expat/expat-2.7.3.ebuild deleted file mode 100644 index 167e8b0a4a9..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-libs/expat/expat-2.7.3.ebuild +++ /dev/null @@ -1,100 +0,0 @@ -# Copyright 1999-2025 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 -} diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/expat/expat-2.7.4.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/expat/expat-2.7.4.ebuild index f7bffbba014..3526fc8e126 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/expat/expat-2.7.4.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/expat/expat-2.7.4.ebuild @@ -2,6 +2,7 @@ # Distributed under the terms of the GNU General Public License v2 EAPI=8 + AUTOTOOLS_AUTO_DEPEND=no inherit autotools multilib-minimal diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/expat/expat-2.6.3.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/expat/expat-2.7.5.ebuild similarity index 98% rename from sdk_container/src/third_party/portage-stable/dev-libs/expat/expat-2.6.3.ebuild rename to sdk_container/src/third_party/portage-stable/dev-libs/expat/expat-2.7.5.ebuild index 167e8b0a4a9..3526fc8e126 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/expat/expat-2.6.3.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/expat/expat-2.7.5.ebuild @@ -1,7 +1,8 @@ -# Copyright 1999-2025 Gentoo Authors +# 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 diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libpcre2/Manifest b/sdk_container/src/third_party/portage-stable/dev-libs/libpcre2/Manifest index ff9d83dc8b3..a051b362802 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libpcre2/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libpcre2/Manifest @@ -1,6 +1,2 @@ -DIST pcre2-10.45.tar.bz2 2072403 BLAKE2B ec8a76cb28ef6680f8655828462551baf4e48019ff01e40bda2732b43b849bd69f8321238d7fa8f6b650ec88f7229a72928ad95d57423643f995d95264f5a4db SHA512 4c1f0cf793624516d7eeb15745d6c07c9f678dd2c2b349062c6b614e88bf42262972d133576e85140dee2a882984aaf2d688953fc9c69ec7105b2daaeae89845 -DIST pcre2-10.45.tar.bz2.sig 566 BLAKE2B 21a7fc4d6a116c5fde78a8abc99445bd3ce8da70083e65b4117cec2520ed10fee810b8b82226cecb1e5649643be96bb8c89ec80f9dd907bbf95373477febc83d SHA512 ff8a0f036d98b902fa2476cf5875089685cc712294629fc385c8c84c8288674e83f278fe36141b4c109eb68a64b3e6a29d0049c799bd5ab77cf15142de3c8e20 -DIST pcre2-10.46.tar.bz2 2035354 BLAKE2B ebd501ba2105c847bb830c932bbfafef2e14583743f62b46af7671aa801eff0ca8b1ed9ce8252f9b091f18ef6e5ef38d47777f657d3ba3813be3d94856558080 SHA512 795b0d74efb898347990c29fefc85f37ac81e7795f9d6a5598d1169a03c547df7ff7eac280f708b1fef68d3e7686e0d4cd55f0c6364e287ff2a983bbd1a3c334 -DIST pcre2-10.46.tar.bz2.sig 566 BLAKE2B 6ffd9ea22526ab371f916d980af26b6b1b64e464c2b98d631712abfe2b8aa32c6de7f4eb6dd661d67bc308e18c113e705f9d52f9057fb3cec527d59ca4c92bbd SHA512 e755150e291f39222cd09cde046ce72e838a1c16f520fce3f63265126c5c6c5d143dc2f11ad8fabea45ce5e3d3cd482c434da1968354b2470e163ebfc3cc9bba DIST pcre2-10.47.tar.bz2 2145789 BLAKE2B 9b56eddbc8b6fd6ce925575c337891c4f7790215c77325c1f0ad4a72be07e2a2a6a6b6638a5a2c49d1da6f4715320f240fd17c4ffcb77d1bb00875b990d6ee13 SHA512 889a6fdc80f8a7285e4a75d189c183b4588df81bdf048302cf0830e11bbf9b9eeb387ba43dfd3aff8ffb3aa693291e8c535845c06e8ce92d1028cefa6b474804 DIST pcre2-10.47.tar.bz2.sig 566 BLAKE2B 0bfe968f32c410a49bf1120b05027d3171b38fdd8fd4d9d77e58cad4811770ef9cabcc3275556116a5cfe28784fc5faa0c5f5bf959e7aae9d6ef2f491ffbb936 SHA512 fbea8f001533c700e0adae881d2d13f2a5f32c272cb1323fd6b76530b011fb3e8eafdc6eb762c36d91296f66fe2fe3861887d6f5219045a2dad8de55f3825051 diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libpcre2/libpcre2-10.45.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libpcre2/libpcre2-10.45.ebuild deleted file mode 100644 index f303a22b155..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libpcre2/libpcre2-10.45.ebuild +++ /dev/null @@ -1,108 +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/nicholaswilson.asc -inherit dot-a libtool multilib multilib-minimal toolchain-funcs verify-sig - -MY_P="pcre2-${PV/_rc/-RC}" - -DESCRIPTION="Perl-compatible regular expression library" -HOMEPAGE="https://pcre2project.github.io/pcre2/ https://www.pcre.org/" -SRC_URI=" - https://github.com/PCRE2Project/pcre2/releases/download/${MY_P}/${MY_P}.tar.bz2 - https://ftp.pcre.org/pub/pcre/${MY_P}.tar.bz2 - verify-sig? ( https://github.com/PCRE2Project/pcre2/releases/download/${MY_P}/${MY_P}.tar.bz2.sig ) -" - -S="${WORKDIR}/${MY_P}" - -LICENSE="BSD" -SLOT="0/3" # libpcre2-posix.so version -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 -IUSE="bzip2 +jit libedit +pcre16 +pcre32 +readline static-libs unicode valgrind zlib" -REQUIRED_USE="?? ( libedit readline )" - -RDEPEND=" - bzip2? ( app-arch/bzip2 ) - libedit? ( dev-libs/libedit ) - readline? ( sys-libs/readline:= ) - zlib? ( virtual/zlib:= ) -" -DEPEND=" - ${RDEPEND} - valgrind? ( dev-debug/valgrind ) -" -BDEPEND=" - virtual/pkgconfig - verify-sig? ( sec-keys/openpgp-keys-nicholaswilson ) -" - -MULTILIB_CHOST_TOOLS=( - /usr/bin/pcre2-config -) - -PATCHES=( - "${FILESDIR}"/${PN}-10.10-000-Fix-multilib.patch -) - -src_prepare() { - default - - elibtoolize -} - -src_configure() { - use static-libs && lto-guarantee-fat - multilib-minimal_src_configure -} - -multilib_src_configure() { - local myeconfargs=( - --enable-pcre2-8 - --enable-shared - $(multilib_native_use_enable bzip2 pcre2grep-libbz2) - $(multilib_native_use_enable libedit pcre2test-libedit) - $(multilib_native_use_enable readline pcre2test-libreadline) - $(multilib_native_use_enable valgrind) - $(multilib_native_use_enable zlib pcre2grep-libz) - $(use_enable jit) - $(use_enable jit pcre2grep-jit) - $(use_enable pcre16 pcre2-16) - $(use_enable pcre32 pcre2-32) - $(use_enable static-libs static) - $(use_enable unicode) - ) - - ECONF_SOURCE="${S}" econf "${myeconfargs[@]}" -} - -multilib_src_compile() { - emake V=1 $(multilib_is_native_abi || echo "bin_PROGRAMS=") -} - -multilib_src_test() { - emake check VERBOSE=yes -} - -multilib_src_install() { - emake \ - DESTDIR="${D}" \ - $(multilib_is_native_abi || echo "bin_PROGRAMS= dist_html_DATA=") \ - install - - # bug #934977 - if ! tc-is-static-only && [[ ! -f "${ED}/usr/$(get_libdir)/libpcre2-8$(get_libname)" ]] ; then - eerror "Sanity check for libpcre2-8$(get_libname) failed." - eerror "Shared library wasn't built, possible libtool bug" - [[ -z ${I_KNOW_WHAT_I_AM_DOING} ]] && die "libpcre2-8$(get_libname) not found in build, aborting" - fi -} - -multilib_src_install_all() { - find "${ED}" -type f -name "*.la" -delete || die - strip-lto-bytecode -} diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libpcre2/libpcre2-10.46.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libpcre2/libpcre2-10.46.ebuild deleted file mode 100644 index 3f565dbeb21..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libpcre2/libpcre2-10.46.ebuild +++ /dev/null @@ -1,109 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -# https://pcre2project.github.io/pcre2/project/security/ -VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/nicholaswilson.asc -inherit dot-a libtool multilib multilib-minimal toolchain-funcs verify-sig - -MY_P="pcre2-${PV/_rc/-RC}" - -DESCRIPTION="Perl-compatible regular expression library" -HOMEPAGE="https://pcre2project.github.io/pcre2/ https://www.pcre.org/" -SRC_URI=" - https://github.com/PCRE2Project/pcre2/releases/download/${MY_P}/${MY_P}.tar.bz2 - https://ftp.pcre.org/pub/pcre/${MY_P}.tar.bz2 - verify-sig? ( https://github.com/PCRE2Project/pcre2/releases/download/${MY_P}/${MY_P}.tar.bz2.sig ) -" - -S="${WORKDIR}/${MY_P}" - -LICENSE="BSD" -SLOT="0/3" # libpcre2-posix.so version -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 -IUSE="bzip2 +jit libedit +pcre16 +pcre32 +readline static-libs unicode valgrind zlib" -REQUIRED_USE="?? ( libedit readline )" - -RDEPEND=" - bzip2? ( app-arch/bzip2 ) - libedit? ( dev-libs/libedit ) - readline? ( sys-libs/readline:= ) - zlib? ( virtual/zlib:= ) -" -DEPEND=" - ${RDEPEND} - valgrind? ( dev-debug/valgrind ) -" -BDEPEND=" - virtual/pkgconfig - verify-sig? ( >=sec-keys/openpgp-keys-nicholaswilson-20250910 ) -" - -MULTILIB_CHOST_TOOLS=( - /usr/bin/pcre2-config -) - -PATCHES=( - "${FILESDIR}"/${PN}-10.10-000-Fix-multilib.patch -) - -src_prepare() { - default - - elibtoolize -} - -src_configure() { - use static-libs && lto-guarantee-fat - multilib-minimal_src_configure -} - -multilib_src_configure() { - local myeconfargs=( - --enable-pcre2-8 - --enable-shared - $(multilib_native_use_enable bzip2 pcre2grep-libbz2) - $(multilib_native_use_enable libedit pcre2test-libedit) - $(multilib_native_use_enable readline pcre2test-libreadline) - $(multilib_native_use_enable valgrind) - $(multilib_native_use_enable zlib pcre2grep-libz) - $(use_enable jit) - $(use_enable jit pcre2grep-jit) - $(use_enable pcre16 pcre2-16) - $(use_enable pcre32 pcre2-32) - $(use_enable static-libs static) - $(use_enable unicode) - ) - - ECONF_SOURCE="${S}" econf "${myeconfargs[@]}" -} - -multilib_src_compile() { - emake V=1 $(multilib_is_native_abi || echo "bin_PROGRAMS=") -} - -multilib_src_test() { - emake check VERBOSE=yes -} - -multilib_src_install() { - emake \ - DESTDIR="${D}" \ - $(multilib_is_native_abi || echo "bin_PROGRAMS= dist_html_DATA=") \ - install - - # bug #934977 - if ! tc-is-static-only && [[ ! -f "${ED}/usr/$(get_libdir)/libpcre2-8$(get_libname)" ]] ; then - eerror "Sanity check for libpcre2-8$(get_libname) failed." - eerror "Shared library wasn't built, possible libtool bug" - [[ -z ${I_KNOW_WHAT_I_AM_DOING} ]] && die "libpcre2-8$(get_libname) not found in build, aborting" - fi -} - -multilib_src_install_all() { - find "${ED}" -type f -name "*.la" -delete || die - strip-lto-bytecode -} diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libsodium/Manifest b/sdk_container/src/third_party/portage-stable/dev-libs/libsodium/Manifest index cd3dcba60bf..a1b6ec018b4 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libsodium/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libsodium/Manifest @@ -1,8 +1,2 @@ -DIST libsodium-1.0.20.tar.gz 1925167 BLAKE2B 2f1d8b2dc8a65f95433132b12bdccb7e0e4750326b05c4f42ddd3a74bf568faa2515384bfe94bba2ef420aff35c515d3d44945ea5a68f72e6a73b3a9b5bb234c SHA512 7ea165f3c1b1609790e30a16348b9dfdc5731302da00c07c65e125c8ab115c75419a5631876973600f8a4b560ca2c8267001770b68f2eb3eebc9ba095d312702 -DIST libsodium-1.0.20.tar.gz.minisig 318 BLAKE2B b5939a9ca9b25332c39484b3ef02ced54aa75b2dc732d384d4f42daa0b6bd276f0c3359a8cbe8c97d8ab76b8c49e9f66959dcf350e3cf00fae10a279826109ae SHA512 fc5a4282093d58eb42559f88ccf75ea3788449afda9d882d313714e448e78ef11c22ff1e52091af026f6bf3ba01917d606040b1dca240dd1a32278c901b4affb -DIST libsodium-1.0.20_p20250606.tar.gz 1987810 BLAKE2B d423f516312fa1108b7e49b9c69d49abc3ebb2db5e6d81698e08ded33a2f11079738d261be7e8bd5ff87080cb6e225ee7c32d9ebf2bf8cc840c4e04454621987 SHA512 afe584c735e439202f6168032800b30afed9b15cf24305043a8fcb9356ba812f3f13e08e8d99ba2da4711da2390d2d7d6c2598285ac3dc1056d48588ba743c76 -DIST libsodium-1.0.20_p20250606.tar.gz.minisig 318 BLAKE2B 131ed9064a414e2f7dd7a2509c367eceed2784e47a903262e4c037d27ca5809e343943e26a5e87eb9a00be122393acc920861797ac303ab7bf005a74a1bf02a0 SHA512 cafcdcc2de7e34a57f9bd8ae526ed22b3310467e89a51d68035feb298bfff30e6d2ea9100973de18eb3abc11b70d0b05238a726afacbe621287cfac509503dcb -DIST libsodium-1.0.21.tar.gz 2046164 BLAKE2B df68159bbf0b5198ab185e93857b4f07af1d4aa7ffd178b7cb78ff5b020b6ee93ab5c3e71f59812b79906ff4df19e42845435c2bc22bbe8b0a0804076b0ddd05 SHA512 ee8cc2f3f5707b172bf75d8c04afbd5f0c83c6f94dbab3f988f07aab716d96f1662556a59e09b3d83c3bd5c22f59327ad95937bf499d523c86146f4df830f777 -DIST libsodium-1.0.21.tar.gz.minisig 318 BLAKE2B 3ce78469d01575e7ffbcd52c078a50e894b7dbdc631a8d44adf70df6d8f81adaabed8cea7c3d8ebdcfc768932713de02a4026c64068f212efd524e3f07f2503e SHA512 5d6df371692c0d13f7ea82b4d15df7b24c445eb66dcf9fb528e9b055270e7ad5d27d60193cde9cf0182789694972b9d620844d55547df3d45f3da3dfd17aa46b DIST libsodium-1.0.21_p20260122.tar.gz 2049837 BLAKE2B e55ffacb5355935980faac65cd21c1677f5904e20b9b752959bbbf08738b2ef677ffc341a67f866625167688b2a3488a24e11adc78f565b79684e8b1b0628e88 SHA512 8e65aae18a26fc7e7dc7fee7c078b5964a094de0d4fb01d571366ffa4c57d1fab6391b8e5a6fd8a22450c6ad57060f7ad7760f5caa215ded49579af71fa8fc9b DIST libsodium-1.0.21_p20260122.tar.gz.minisig 318 BLAKE2B 0cb95f535f0da4345652aac7e7a36a23923c1fb925de25ed087cbe1a7f0b62be611201a947c0c360515d0e2a5f93e76aff6feff5df78dfd0e5ae659bb71feab5 SHA512 73c0d6ab4816eb10c731517d95405e817a12aa716173fee874d10fb9e843cad4aa921ddeef4b3d69c26a3ec0e1a9f0695416a2a5c542638c31292a49231ff14e diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libsodium/libsodium-1.0.20.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libsodium/libsodium-1.0.20.ebuild deleted file mode 100644 index dfcb5914b7a..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libsodium/libsodium-1.0.20.ebuild +++ /dev/null @@ -1,76 +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/libsodium.minisig -VERIFY_SIG_METHOD=minisig -inherit autotools multilib-minimal verify-sig - -DESCRIPTION="Portable fork of NaCl, a higher-level cryptographic library" -HOMEPAGE="https://libsodium.org" - -if [[ ${PV} == *_p* ]] ; then - MY_P=${PN}-$(ver_cut 1-3)-stable-$(ver_cut 5-) - - # We use _pN to represent 'stable releases' - # These are backports from upstream to the last release branch - # See https://download.libsodium.org/libsodium/releases/README.html - SRC_URI=" - https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${MY_P}.tar.gz -> ${P}.tar.gz - verify-sig? ( https://dev.gentoo.org/~sam/distfiles/dev-libs/libsodium/${MY_P}.tar.gz.minisig -> ${P}.tar.gz.minisig ) - " - S="${WORKDIR}"/${PN}-stable -else - SRC_URI=" - https://download.libsodium.org/${PN}/releases/${P}.tar.gz - verify-sig? ( https://download.libsodium.org/${PN}/releases/${P}.tar.gz.minisig ) - " -fi - -LICENSE="ISC" -SLOT="0/26" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos" -IUSE="+asm static-libs +urandom" - -CPU_USE=( cpu_flags_x86_{aes,sse4_1} ) -IUSE+=" ${CPU_USE[@]}" - -BDEPEND=" verify-sig? ( sec-keys/minisig-keys-libsodium )" - -QA_CONFIG_IMPL_DECL_SKIP=( - _rdrand64_step # depends on target, bug #924154 -) - -PATCHES=( - "${FILESDIR}"/${PN}-1.0.19-cpuflags.patch -) - -src_prepare() { - default - - eautoreconf -} - -multilib_src_configure() { - local myeconfargs=( - $(use_enable asm) - $(use_enable cpu_flags_x86_aes aesni) - $(use_enable cpu_flags_x86_sse4_1 sse4_1) - $(use_enable static-libs static) - $(use_enable !urandom blocking-random) - ) - - # --disable-pie is needed on x86, see bug #512734 - # TODO: Check if still needed? - if [[ ${ABI} == x86 ]] ; then - myeconfargs+=( --disable-pie ) - fi - - ECONF_SOURCE="${S}" econf "${myeconfargs[@]}" -} - -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/libsodium/libsodium-1.0.20_p20250606.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libsodium/libsodium-1.0.20_p20250606.ebuild deleted file mode 100644 index dfcb5914b7a..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libsodium/libsodium-1.0.20_p20250606.ebuild +++ /dev/null @@ -1,76 +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/libsodium.minisig -VERIFY_SIG_METHOD=minisig -inherit autotools multilib-minimal verify-sig - -DESCRIPTION="Portable fork of NaCl, a higher-level cryptographic library" -HOMEPAGE="https://libsodium.org" - -if [[ ${PV} == *_p* ]] ; then - MY_P=${PN}-$(ver_cut 1-3)-stable-$(ver_cut 5-) - - # We use _pN to represent 'stable releases' - # These are backports from upstream to the last release branch - # See https://download.libsodium.org/libsodium/releases/README.html - SRC_URI=" - https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${MY_P}.tar.gz -> ${P}.tar.gz - verify-sig? ( https://dev.gentoo.org/~sam/distfiles/dev-libs/libsodium/${MY_P}.tar.gz.minisig -> ${P}.tar.gz.minisig ) - " - S="${WORKDIR}"/${PN}-stable -else - SRC_URI=" - https://download.libsodium.org/${PN}/releases/${P}.tar.gz - verify-sig? ( https://download.libsodium.org/${PN}/releases/${P}.tar.gz.minisig ) - " -fi - -LICENSE="ISC" -SLOT="0/26" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos" -IUSE="+asm static-libs +urandom" - -CPU_USE=( cpu_flags_x86_{aes,sse4_1} ) -IUSE+=" ${CPU_USE[@]}" - -BDEPEND=" verify-sig? ( sec-keys/minisig-keys-libsodium )" - -QA_CONFIG_IMPL_DECL_SKIP=( - _rdrand64_step # depends on target, bug #924154 -) - -PATCHES=( - "${FILESDIR}"/${PN}-1.0.19-cpuflags.patch -) - -src_prepare() { - default - - eautoreconf -} - -multilib_src_configure() { - local myeconfargs=( - $(use_enable asm) - $(use_enable cpu_flags_x86_aes aesni) - $(use_enable cpu_flags_x86_sse4_1 sse4_1) - $(use_enable static-libs static) - $(use_enable !urandom blocking-random) - ) - - # --disable-pie is needed on x86, see bug #512734 - # TODO: Check if still needed? - if [[ ${ABI} == x86 ]] ; then - myeconfargs+=( --disable-pie ) - fi - - ECONF_SOURCE="${S}" econf "${myeconfargs[@]}" -} - -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/libsodium/libsodium-1.0.21.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libsodium/libsodium-1.0.21.ebuild deleted file mode 100644 index b89d904af65..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libsodium/libsodium-1.0.21.ebuild +++ /dev/null @@ -1,76 +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/libsodium.minisig -VERIFY_SIG_METHOD=minisig -inherit autotools multilib-minimal verify-sig - -DESCRIPTION="Portable fork of NaCl, a higher-level cryptographic library" -HOMEPAGE="https://libsodium.org" - -if [[ ${PV} == *_p* ]] ; then - MY_P=${PN}-$(ver_cut 1-3)-stable-$(ver_cut 5-) - - # We use _pN to represent 'stable releases' - # These are backports from upstream to the last release branch - # See https://download.libsodium.org/libsodium/releases/README.html - SRC_URI=" - https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${MY_P}.tar.gz -> ${P}.tar.gz - verify-sig? ( https://dev.gentoo.org/~sam/distfiles/dev-libs/libsodium/${MY_P}.tar.gz.minisig -> ${P}.tar.gz.minisig ) - " - S="${WORKDIR}"/${PN}-stable -else - SRC_URI=" - https://download.libsodium.org/${PN}/releases/${P}.tar.gz - verify-sig? ( https://download.libsodium.org/${PN}/releases/${P}.tar.gz.minisig ) - " -fi - -LICENSE="ISC" -SLOT="0/26" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos" -IUSE="+asm static-libs +urandom" - -CPU_USE=( cpu_flags_x86_{aes,sse4_1} ) -IUSE+=" ${CPU_USE[@]}" - -BDEPEND=" verify-sig? ( sec-keys/minisig-keys-libsodium )" - -QA_CONFIG_IMPL_DECL_SKIP=( - _rdrand64_step # depends on target, bug #924154 -) - -PATCHES=( - "${FILESDIR}"/${PN}-1.0.19-cpuflags.patch -) - -src_prepare() { - default - - eautoreconf -} - -multilib_src_configure() { - local myeconfargs=( - $(use_enable asm) - $(use_enable cpu_flags_x86_aes aesni) - $(use_enable cpu_flags_x86_sse4_1 sse4_1) - $(use_enable static-libs static) - $(use_enable !urandom blocking-random) - ) - - # --disable-pie is needed on x86, see bug #512734 - # TODO: Check if still needed? - if [[ ${ABI} == x86 ]] ; then - myeconfargs+=( --disable-pie ) - fi - - ECONF_SOURCE="${S}" econf "${myeconfargs[@]}" -} - -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/libtasn1/Manifest b/sdk_container/src/third_party/portage-stable/dev-libs/libtasn1/Manifest index 04a5a982a98..74334ba2a17 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libtasn1/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libtasn1/Manifest @@ -1,6 +1,2 @@ -DIST libtasn1-4.19.0.tar.gz 1786576 BLAKE2B 6e8232590cd87da3bfd9182ed44eccdfbdfcc85e88d8cf19fffdb3d600e04694b77079b95bbd822d2c3fff29458ddae0f0440f9c1c19c711923a2507bd19270f SHA512 287f5eddfb5e21762d9f14d11997e56b953b980b2b03a97ed4cd6d37909bda1ed7d2cdff9da5d270a21d863ab7e54be6b85c05f1075ac5d8f0198997cf335ef4 -DIST libtasn1-4.19.0.tar.gz.sig 228 BLAKE2B f45b8c53844fad4d1044ef6915d88337affb0287973a0ffab2d77a6a61c850cebdea6904f077fcc13a8bc29ba7cbbef7cdf2a5e325c8180d574020eb3cb9f432 SHA512 e0417625f8df22c6421914bf2d4f19d7f27260c24c04f50e59669681f326debe06ddef9dc5a2e20fda50feb30bbbf3f41597e64961257304ec2c407aa76d107e -DIST libtasn1-4.20.0.tar.gz 1783873 BLAKE2B 3219b48e691abd7f6f4e32164ab708bc7c29832a2a7669aa03751d4a519dffb78d5a5f94530a3f35cd6516b39400da9e634d7f46245ab934465c305a1d387561 SHA512 0c0660085f5e80537aa3d65197967029be6cc5e27d7029789713902989c1694fdb49421ae0415b79b953e11893bb4bdaada85f7aff847dd0bb4075c91887e7b4 -DIST libtasn1-4.20.0.tar.gz.sig 1223 BLAKE2B c9bff7ae5b7f4939e4df1c0d67b634a1fde57554a5dae26a20fbe600dd9d5b79239a04d1531acdf1f6dedf2eb06bc2bab46c432dbe6c9ad991d0e06b41dcf268 SHA512 bb5da128c20ed8f1e7c681c779ac3d2e455c661d779a4a7a70a6cabc1ea4139df9d0acfd145545acc8fe41df6490fd7d3c2df4b8d7560891291abbf56ac3afdb DIST libtasn1-4.21.0.tar.gz 1816537 BLAKE2B 0dc478a6be6cbfb26264f1d92361f02f384ee01d54ee3822805d660f9eeef65e37562e8daea3c2b21adb8033296a1eea8d33ab0dae37e6c2b42644c03fcdb7ac SHA512 6a581c4c072b168bf29a0dec7e59a9329a798e392b7d1033791d0e3166a5d1164e2a7065373a84018d500a01563657900c318b1fd437c227c3174b754f9998d3 DIST libtasn1-4.21.0.tar.gz.sig 1223 BLAKE2B f1215b8a54c3e0b0c6467846668584068a1cfed9826ee1b053d54691ec83c4e427008113e60f82efb9ed8fb7fe8168464da6af3c407cf7234d30ae307175c430 SHA512 2347e04e9214b295fd20490a237ae394f02cb26950a07456364311437c23324728fa9547f83ceba2ba829a5473c004e129cf72a891e50a2f4f96f16ee37a0bb9 diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libtasn1/libtasn1-4.19.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libtasn1/libtasn1-4.19.0.ebuild deleted file mode 100644 index 7256835d40f..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libtasn1/libtasn1-4.19.0.ebuild +++ /dev/null @@ -1,54 +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/libtasn1.asc -inherit multilib-minimal libtool verify-sig - -DESCRIPTION="ASN.1 library" -HOMEPAGE="https://www.gnu.org/software/libtasn1/" -SRC_URI="mirror://gnu/${PN}/${P}.tar.gz" -SRC_URI+=" verify-sig? ( mirror://gnu/${PN}/${P}.tar.gz.sig )" - -LICENSE="LGPL-2.1+ GPL-3+ FDL-1.3+" -SLOT="0/6" # subslot = libtasn1 soname version -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=" - sys-apps/help2man - app-alternatives/yacc - verify-sig? ( sec-keys/openpgp-keys-libtasn1 ) -" - -DOCS=( AUTHORS ChangeLog NEWS README.md THANKS ) - -src_prepare() { - default - - # For Solaris shared library - elibtoolize -} - -multilib_src_configure() { - # -fanalyzer substantially slows down the build and isn't useful for - # us. It's useful for upstream as it's static analysis, but it's not - # useful when just getting something built. - export gl_cv_warn_c__fanalyzer=no - - local myeconfargs=( - --disable-valgrind-tests - $(use_enable static-libs static) - ) - - ECONF_SOURCE="${S}" econf "${myeconfargs[@]}" -} - -multilib_src_install_all() { - einstalldocs - - find "${ED}" -type f -name '*.la' -delete || die -} diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libtasn1/libtasn1-4.20.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libtasn1/libtasn1-4.20.0.ebuild deleted file mode 100644 index cb829046874..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libtasn1/libtasn1-4.20.0.ebuild +++ /dev/null @@ -1,54 +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/libtasn1.asc -inherit multilib-minimal libtool verify-sig - -DESCRIPTION="ASN.1 library" -HOMEPAGE="https://www.gnu.org/software/libtasn1/" -SRC_URI="mirror://gnu/${PN}/${P}.tar.gz" -SRC_URI+=" verify-sig? ( mirror://gnu/${PN}/${P}.tar.gz.sig )" - -LICENSE="LGPL-2.1+ GPL-3+ FDL-1.3+" -SLOT="0/6" # subslot = libtasn1 soname version -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=" - sys-apps/help2man - app-alternatives/yacc - verify-sig? ( >=sec-keys/openpgp-keys-libtasn1-20250209 ) -" - -DOCS=( AUTHORS ChangeLog NEWS README.md THANKS ) - -src_prepare() { - default - - # For Solaris shared library - elibtoolize -} - -multilib_src_configure() { - # -fanalyzer substantially slows down the build and isn't useful for - # us. It's useful for upstream as it's static analysis, but it's not - # useful when just getting something built. - export gl_cv_warn_c__fanalyzer=no - - local myeconfargs=( - --disable-valgrind-tests - $(use_enable static-libs static) - ) - - ECONF_SOURCE="${S}" econf "${myeconfargs[@]}" -} - -multilib_src_install_all() { - einstalldocs - - find "${ED}" -type f -name '*.la' -delete || die -} diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libuv/Manifest b/sdk_container/src/third_party/portage-stable/dev-libs/libuv/Manifest index 46b2c0b506c..9d9ab547e1c 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libuv/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libuv/Manifest @@ -1,4 +1,4 @@ -DIST libuv-1.50.0.tar.gz 1340083 BLAKE2B 7acd891822157671eeef4ff3dbf8fdf29412faa65ad7f5a196218eb39f44c228757fe0f0df6f3e522ed50cbff856abd0a556ebcb48af3718307072cac855d82a SHA512 b153d019c630831819913ccd0615c22737df49125da533f86db27f24a519937ed64113ceb6445d731d133e2d97b43b6949877e6078c4459d50ea90d2af4a9da9 -DIST libuv-1.50.0.tar.gz.sig 833 BLAKE2B bb9819cb7da07589bf4e1693dbd7f533e6a5ce899fbe0893a448ef74949191ed71fb34d19c80f7eacde94395c62a525f7e9d05320240d5a72b1db2e77cbe1979 SHA512 91d3b876b49fe1205cb1a8448925db1f6256dad19c35e350b80fd08fa2ec9e15f8ef7d003cdea4794f22b34e12fca0b604deb4412227a2d583b77d193ff8e477 DIST libuv-1.51.0.tar.gz 1343638 BLAKE2B 1624bb63b647eb199477ac3797f2f629f6ca080e71a753a3fe6ba11053ab7e632371075df025e43e2f3f2aac8aac54c12dc1df44c6e8ff043a65b98195cf482d SHA512 99e5c6529fb97019d20d5ce8638be504c35236e7102a7a6b7a2242205928d152d6b535bb6f45961a78506d408eebd0e3300b090969a64fa87dfdf6c8f4291a12 DIST libuv-1.51.0.tar.gz.sig 833 BLAKE2B b33e7204a04a8b40525780a4ac13ea46e726d4d23190b53a1d06e18bc7f530101887debe87ba4ffe14d760d2b404c876f2ca472c823ac2816866ea8b7481cf51 SHA512 203c95805976e4ca188583f51debe4fe27be1780d4f450d76de4d0ab52580c0ede36bc344950a9e3f99a84b400e8e7b7934a4df45cdfeede7b343cd3db276af5 +DIST libuv-1.52.1.tar.gz 1354296 BLAKE2B d31365f5aa1a076ae6bb3135f1bbe1ad09d7922e74020b14a113186b3a53f0a15d29037d3d9702e883352d3df5ebdf2a9e6f2b1a4b1bc8ec6438ba6f6e4e26d0 SHA512 3dbb61067c03d025fd880afa2015e67d9cd9de2672df2bfb9901a48759f7bd1285a600b4ac4177c1ee0bf8418c7b967fef356f81e37765e33a818df0aabdc1aa +DIST libuv-1.52.1.tar.gz.sig 833 BLAKE2B befaddcf2541e8e4469d950851b9b1e7fb610212c1327f7a3df9524c370f4d7fd606dcbc9c62799e6748295eb51dc13d353326ff3a7f3d90b9959773ef233486 SHA512 c0630bf461cf31366b08849f76413f58d9b4bbe8d8675fe371e8681ac2291f65a2ce990d32a2d26488a674a51c52f70f901d234d803dcad55ead7739486926b7 diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libuv/files/libuv-1.52.1-test-thread-priority-portage.patch b/sdk_container/src/third_party/portage-stable/dev-libs/libuv/files/libuv-1.52.1-test-thread-priority-portage.patch new file mode 100644 index 00000000000..baccc6007d5 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libuv/files/libuv-1.52.1-test-thread-priority-portage.patch @@ -0,0 +1,14 @@ +This test fails in Portage with aggressive PORTAGE_NICENESS, PORTAGE_IONICE_COMMAND, +and PORTAGE_SCHEDULING_POLICY. + +Bug: https://bugs.gentoo.org/924653 +--- a/test/test-thread-priority.c ++++ b/test/test-thread-priority.c +@@ -90,7 +90,6 @@ TEST_IMPL(thread_priority) { + #ifdef __linux__ + ASSERT_OK(uv_thread_setpriority(pthread_self(), UV_THREAD_PRIORITY_LOWEST)); + ASSERT_OK(uv_thread_getpriority(pthread_self(), &priority)); +- ASSERT_EQ(priority, (0 - UV_THREAD_PRIORITY_LOWEST * 2)); + #endif + + uv_sem_post(&sem); diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libuv/libuv-1.51.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libuv/libuv-1.51.0.ebuild deleted file mode 100644 index 02c7239099f..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libuv/libuv-1.51.0.ebuild +++ /dev/null @@ -1,62 +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/libuv.asc -inherit autotools verify-sig - -DESCRIPTION="Cross-platform asychronous I/O" -HOMEPAGE="https://github.com/libuv/libuv" - -if [[ ${PV} = 9999* ]]; then - EGIT_REPO_URI="https://github.com/libuv/libuv.git" - inherit git-r3 -else - SRC_URI=" - https://dist.libuv.org/dist/v${PV}/libuv-v${PV}.tar.gz -> ${P}.tar.gz - verify-sig? ( https://dist.libuv.org/dist/v${PV}/libuv-v${PV}.tar.gz.sign -> ${P}.tar.gz.sig ) - " - KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" - S="${WORKDIR}/${PN}-v${PV}" -fi - -LICENSE="BSD BSD-2 ISC MIT" -SLOT="0/1" - -BDEPEND=" - dev-build/libtool - virtual/pkgconfig - verify-sig? ( sec-keys/openpgp-keys-libuv ) -" - -PATCHES=( - "${FILESDIR}"/${PN}-1.48.0-test-thread-priority-portage.patch -) - -src_prepare() { - default - - if [[ ${CHOST} == *-darwin* && ${CHOST##*darwin} -le 9 ]] ; then - eapply "${FILESDIR}"/${PN}-1.41.0-darwin.patch - fi - - # Upstream fails to ship a configure script and has missing m4 file. - echo "m4_define([UV_EXTRA_AUTOMAKE_FLAGS], [serial-tests])" \ - > m4/libuv-extra-automake-flags.m4 || die - eautoreconf -} - -src_configure() { - local myeconfargs=( - cc_cv_cflags__g=no - ) - - econf "${myeconfargs[@]}" -} - -src_install() { - default - - find "${ED}" -name '*.la' -delete || die -} diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libuv/libuv-1.50.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libuv/libuv-1.52.1.ebuild similarity index 77% rename from sdk_container/src/third_party/portage-stable/dev-libs/libuv/libuv-1.50.0.ebuild rename to sdk_container/src/third_party/portage-stable/dev-libs/libuv/libuv-1.52.1.ebuild index 02c7239099f..5c2848a17e5 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libuv/libuv-1.50.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libuv/libuv-1.52.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 @@ -17,7 +17,7 @@ else https://dist.libuv.org/dist/v${PV}/libuv-v${PV}.tar.gz -> ${P}.tar.gz verify-sig? ( https://dist.libuv.org/dist/v${PV}/libuv-v${PV}.tar.gz.sign -> ${P}.tar.gz.sig ) " - 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" S="${WORKDIR}/${PN}-v${PV}" fi @@ -27,11 +27,12 @@ SLOT="0/1" BDEPEND=" dev-build/libtool virtual/pkgconfig - verify-sig? ( sec-keys/openpgp-keys-libuv ) + verify-sig? ( >=sec-keys/openpgp-keys-libuv-20260323 ) " PATCHES=( - "${FILESDIR}"/${PN}-1.48.0-test-thread-priority-portage.patch + "${FILESDIR}"/${PN}-1.52.1-test-thread-priority-portage.patch + "${FILESDIR}"/${PN}-1.51.0-ppc32-uring.patch ) src_prepare() { 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 409e662ffe8..68ba77336dc 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 @@ -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 @@ -27,7 +27,7 @@ SLOT="0/1" BDEPEND=" dev-build/libtool virtual/pkgconfig - verify-sig? ( sec-keys/openpgp-keys-libuv ) + verify-sig? ( >=sec-keys/openpgp-keys-libuv-20260323 ) " PATCHES=( diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libxml2/files/libxml2-2.15.2-memory-leak-python.patch b/sdk_container/src/third_party/portage-stable/dev-libs/libxml2/files/libxml2-2.15.2-memory-leak-python.patch new file mode 100644 index 00000000000..b42c14c1c19 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libxml2/files/libxml2-2.15.2-memory-leak-python.patch @@ -0,0 +1,31 @@ +https://bugs.gentoo.org/971193 +https://gitlab.gnome.org/GNOME/libxml2/-/issues/1069 +https://gitlab.gnome.org/GNOME/libxml2/-/commit/fac4411aa65a2ebf936be50856ab14c148966e9d + +From fac4411aa65a2ebf936be50856ab14c148966e9d Mon Sep 17 00:00:00 2001 +From: "Jan Alexander Steffens (heftig)" +Date: Wed, 4 Mar 2026 19:08:16 +0100 +Subject: [PATCH] catalog: Free xmlCatalogResolveCache on cleanup + +Otherwise the `tstLastError.py` test will complain about a memory leak. + +Fixes: b706c5c5b7ce11d002a5b77ff938aa3693931c12 (Add xmlCatalogResolveCache) +Fixes: https://gitlab.gnome.org/GNOME/libxml2/-/issues/1069 +--- + catalog.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/catalog.c b/catalog.c +index 263268c08..ff97adedf 100644 +--- a/catalog.c ++++ b/catalog.c +@@ -3338,6 +3338,7 @@ xmlCatalogCleanup(void) { + if (xmlDebugCatalogs) + xmlCatalogPrintDebug( + "Catalogs cleanup\n"); ++ xmlResetCatalogResolveCache(); + if (xmlCatalogXMLFiles != NULL) + xmlHashFree(xmlCatalogXMLFiles, xmlFreeCatalogHashEntryList); + xmlCatalogXMLFiles = NULL; +-- +GitLab diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libxml2/libxml2-2.15.2-r1.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libxml2/libxml2-2.15.2-r1.ebuild new file mode 100644 index 00000000000..4188cee3ca8 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libxml2/libxml2-2.15.2-r1.ebuild @@ -0,0 +1,166 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# Note: Please bump in sync with dev-libs/libxslt + +PYTHON_COMPAT=( python3_{11..14} ) +PYTHON_REQ_USE="xml(+)" +inherit python-r1 meson-multilib + +DESCRIPTION="XML C parser and toolkit" +HOMEPAGE="https://gitlab.gnome.org/GNOME/libxml2/-/wikis/home" +if [[ ${PV} == 9999 ]] ; then + EGIT_REPO_URI="https://gitlab.gnome.org/GNOME/libxml2" + inherit git-r3 +else + inherit gnome.org + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris" +fi + +S="${WORKDIR}/${PN}-${PV%_rc*}" + +LICENSE="MIT" +# see so_version = v_maj + v_min_compat for subslot +SLOT="2/16" +IUSE="doc icu python readline static-libs test" +RESTRICT="!test? ( test )" +REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" + +RDEPEND=" + virtual/libiconv + >=virtual/zlib-1.2.8-r1:=[${MULTILIB_USEDEP}] + icu? ( >=dev-libs/icu-51.2-r1:=[${MULTILIB_USEDEP}] ) + python? ( ${PYTHON_DEPS} ) + readline? ( sys-libs/readline:= ) +" +DEPEND="${RDEPEND}" +BDEPEND=" + virtual/pkgconfig + doc? ( + app-text/docbook-xsl-stylesheets + app-text/doxygen + dev-libs/libxslt + ) + python? ( app-text/doxygen ) +" + +MULTILIB_CHOST_TOOLS=( + /usr/bin/xml2-config +) + +PATCHES=( + "${FILESDIR}"/${PN}-2.14.2-no-git.patch + "${FILESDIR}"/${P}-memory-leak-python.patch +) + +src_unpack() { + if [[ ${PV} == 9999 ]] ; then + git-r3_src_unpack + else + default + fi + + cd "${S}" || die +} + +src_prepare() { + default + + sed -e "/^dir_doc/ s/meson.project_name()$/\'${PF}\'/" -i meson.build || die +} + +python_configure() { + local emesonargs=( + $(meson_feature icu) + $(meson_native_use_feature readline) + $(meson_native_use_feature readline history) + -Ddocs=disabled + -Dpython=enabled + -Dschematron=enabled + ) + mkdir "${BUILD_DIR}" || die + pushd "${BUILD_DIR}" >/dev/null || die + meson_src_configure + popd >/dev/null || die +} + +multilib_src_configure() { + local emesonargs=( + -Ddefault_library=$(multilib_native_usex static-libs both shared) + $(meson_feature icu) + $(meson_native_use_feature doc docs) + $(meson_native_use_feature readline) + $(meson_native_use_feature readline history) + -Dpython=disabled + -Dschematron=enabled + + # There has been a clean break with a soname bump. + # It's time to deal with the breakage. + # bug #935452 + -Dlegacy=disabled + ) + meson_src_configure + + if multilib_is_native_abi && use python ; then + python_foreach_impl python_configure + fi +} + +python_compile() { + pushd "${BUILD_DIR}" >/dev/null || die + meson_src_compile + popd >/dev/null || die +} + +multilib_src_compile() { + meson_src_compile + + if multilib_is_native_abi && use python ; then + python_foreach_impl python_compile + fi +} + +multilib_src_test() { + meson_src_test + + if multilib_is_native_abi && use python ; then + python_foreach_impl meson_src_test + fi +} + +python_install() { + pushd "${BUILD_DIR}" >/dev/null || die + meson_src_install + python_optimize + popd >/dev/null || die +} + +multilib_src_install() { + if multilib_is_native_abi && use python ; then + python_foreach_impl python_install + fi + + meson_src_install +} + +pkg_postinst() { + # We don't want to do the xmlcatalog during stage1, as xmlcatalog will not + # be in / and stage1 builds to ROOT=/tmp/stage1root. This fixes bug #208887. + if [[ -n "${ROOT}" ]]; then + elog "Skipping XML catalog creation for stage building (bug #208887)." + else + # Need an XML catalog, so no-one writes to a non-existent one + CATALOG="${EROOT}/etc/xml/catalog" + + # We don't want to clobber an existing catalog though, + # only ensure that one is there + # + if [[ ! -e "${CATALOG}" ]]; then + [[ -d "${EROOT}/etc/xml" ]] || mkdir -p "${EROOT}/etc/xml" + "${EPREFIX}"/usr/bin/xmlcatalog --create > "${CATALOG}" + einfo "Created XML catalog in ${CATALOG}" + fi + fi +} diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libxslt/Manifest b/sdk_container/src/third_party/portage-stable/dev-libs/libxslt/Manifest index dcf1b033014..3a6e542da46 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libxslt/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libxslt/Manifest @@ -1,3 +1 @@ -DIST libxslt-1.1.43-patches.tar.xz 8296 BLAKE2B 198c01ad6848bda4ce210750a8a8dfb617b5f6b1f74a38d90873a72ecbef77a771de88cbf31c552a7ef73cf90823ecc5859c3846298a50cea065e51cd0995afc SHA512 625d3b99a04bbe653e5a6140d7837b1029ff5b09883258c5075e1298402112af9b9272a7863c32a0751f16fc71e84142cfb5ac134ffbef0731fe0a1ddf4ec0b7 -DIST libxslt-1.1.43.tar.xz 1518364 BLAKE2B 84d1cff32c78c4eeff4db614214ee1808bcf958d55711b08e7e2191a4343fb61d38d6b3d9b43f6f12be2dc909fced0a5b5905fa2c5ec7761c83125007e1ce265 SHA512 96110b0397a8f5791f489127574e2143845feb61bea0581d7b7e3c1101fd0718483bae81a7ce417b971bd678293bfd95daddad0dadd3e256c87d41a69faed85a DIST libxslt-1.1.45.tar.xz 1519992 BLAKE2B ab93de7b37c03b99bd170e0e781bce262c9e0f107bc1d47998995cdacbaa5ee0163692c2758d4240bcb260f8376055541f378f428da63f63b3d2c9d12bb92efb SHA512 8f0608aad7250ccfe62808169d464a1641535b41a73b4fbbc1eeec9c9e785bbd8f4860d571eb567ee1e7abbd89ac3d707a5f3e3a9e836ecaf38155793ce47d78 diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libxslt/libxslt-1.1.43-r1.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libxslt/libxslt-1.1.43-r1.ebuild deleted file mode 100644 index f79d0e9b511..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libxslt/libxslt-1.1.43-r1.ebuild +++ /dev/null @@ -1,124 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -# Note: Please bump this in sync with dev-libs/libxml2. - -PYTHON_COMPAT=( python3_{11..14} ) -inherit python-r1 multilib-minimal - -DESCRIPTION="XSLT libraries and tools" -HOMEPAGE="https://gitlab.gnome.org/GNOME/libxslt" -if [[ ${PV} == 9999 ]] ; then - EGIT_REPO_URI="https://gitlab.gnome.org/GNOME/libxslt" - inherit autotools git-r3 -else - inherit libtool gnome.org - KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" -fi - -LICENSE="MIT" -SLOT="0" -IUSE="crypt debug debugger examples python static-libs" -REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" - -BDEPEND=">=virtual/pkgconfig-1" -RDEPEND=" - >=dev-libs/libxml2-2.13:2=[${MULTILIB_USEDEP}] - crypt? ( >=dev-libs/libgcrypt-1.5.3:=[${MULTILIB_USEDEP}] ) - python? ( - ${PYTHON_DEPS} - >=dev-libs/libxml2-2.13:2=[${MULTILIB_USEDEP},python,${PYTHON_USEDEP}] - ) -" -DEPEND="${RDEPEND}" - -MULTILIB_CHOST_TOOLS=( - /usr/bin/xslt-config -) - -MULTILIB_WRAPPED_HEADERS=( - /usr/include/libxslt/xsltconfig.h -) - -src_prepare() { - default - - if [[ ${PV} == 9999 ]] ; then - eautoreconf - else - # Prefix always needs elibtoolize if not eautoreconf'd. - elibtoolize - fi -} - -multilib_src_configure() { - libxslt_configure() { - ECONF_SOURCE="${S}" econf \ - --without-python \ - $(use_with crypt crypto) \ - $(use_with debug) \ - $(use_with debugger) \ - $(use_enable static-libs static) \ - "$@" - } - - # Build Python bindings separately - libxslt_configure --without-python - - if multilib_is_native_abi && use python ; then - NATIVE_BUILD_DIR="${BUILD_DIR}" - python_foreach_impl run_in_build_dir libxslt_configure --with-python - fi -} - -libxslt_py_emake() { - pushd "${BUILD_DIR}"/python >/dev/null || die - - emake top_builddir="${NATIVE_BUILD_DIR}" "$@" - - popd >/dev/null || die -} - -multilib_src_compile() { - default - - if multilib_is_native_abi && use python ; then - python_foreach_impl run_in_build_dir libxslt_py_emake all - fi -} - -multilib_src_test() { - default - - if multilib_is_native_abi && use python ; then - python_foreach_impl run_in_build_dir libxslt_py_emake check - fi -} - -multilib_src_install() { - # "default" does not work here - docs are installed by multilib_src_install_all - emake DESTDIR="${D}" install - - if multilib_is_native_abi && use python; then - python_foreach_impl run_in_build_dir libxslt_py_emake \ - DESTDIR="${D}" \ - install - - # Hack until automake release is made for the optimise fix - # https://git.savannah.gnu.org/cgit/automake.git/commit/?id=bde43d0481ff540418271ac37012a574a4fcf097 - python_foreach_impl python_optimize - fi -} - -multilib_src_install_all() { - einstalldocs - - if ! use examples ; then - rm -rf "${ED}"/usr/share/doc/${PF}/tutorial{,2} || die - rm -rf "${ED}"/usr/share/doc/${PF}/python/examples || die - fi - - find "${ED}" -type f -name "*.la" -delete || die -} diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libxslt/libxslt-1.1.43-r2.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libxslt/libxslt-1.1.43-r2.ebuild deleted file mode 100644 index b1df2ee0aa1..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libxslt/libxslt-1.1.43-r2.ebuild +++ /dev/null @@ -1,130 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -# Note: Please bump this in sync with dev-libs/libxml2. - -PYTHON_COMPAT=( python3_{11..14} ) -inherit python-r1 multilib-minimal - -DESCRIPTION="XSLT libraries and tools" -HOMEPAGE="https://gitlab.gnome.org/GNOME/libxslt" -if [[ ${PV} == 9999 ]] ; then - EGIT_REPO_URI="https://gitlab.gnome.org/GNOME/libxslt" - inherit autotools git-r3 -else - inherit libtool gnome.org - SRC_URI+=" https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${P}-patches.tar.xz" - - KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" -fi - -LICENSE="MIT" -SLOT="0" -IUSE="crypt debug debugger examples python static-libs" -REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" - -BDEPEND=">=virtual/pkgconfig-1" -RDEPEND=" - >=dev-libs/libxml2-2.13:2=[${MULTILIB_USEDEP}] - crypt? ( >=dev-libs/libgcrypt-1.5.3:=[${MULTILIB_USEDEP}] ) - python? ( - ${PYTHON_DEPS} - >=dev-libs/libxml2-2.13:2=[${MULTILIB_USEDEP},python,${PYTHON_USEDEP}] - ) -" -DEPEND="${RDEPEND}" - -MULTILIB_CHOST_TOOLS=( - /usr/bin/xslt-config -) - -MULTILIB_WRAPPED_HEADERS=( - /usr/include/libxslt/xsltconfig.h -) - -PATCHES=( - "${WORKDIR}"/${P}-patches/ -) - -src_prepare() { - default - - if [[ ${PV} == 9999 ]] ; then - eautoreconf - else - # Prefix always needs elibtoolize if not eautoreconf'd. - elibtoolize - fi -} - -multilib_src_configure() { - libxslt_configure() { - ECONF_SOURCE="${S}" econf \ - --without-python \ - $(use_with crypt crypto) \ - $(use_with debug) \ - $(use_with debugger) \ - $(use_enable static-libs static) \ - "$@" - } - - # Build Python bindings separately - libxslt_configure --without-python - - if multilib_is_native_abi && use python ; then - NATIVE_BUILD_DIR="${BUILD_DIR}" - python_foreach_impl run_in_build_dir libxslt_configure --with-python - fi -} - -libxslt_py_emake() { - pushd "${BUILD_DIR}"/python >/dev/null || die - - emake top_builddir="${NATIVE_BUILD_DIR}" "$@" - - popd >/dev/null || die -} - -multilib_src_compile() { - default - - if multilib_is_native_abi && use python ; then - python_foreach_impl run_in_build_dir libxslt_py_emake all - fi -} - -multilib_src_test() { - default - - if multilib_is_native_abi && use python ; then - python_foreach_impl run_in_build_dir libxslt_py_emake check - fi -} - -multilib_src_install() { - # "default" does not work here - docs are installed by multilib_src_install_all - emake DESTDIR="${D}" install - - if multilib_is_native_abi && use python; then - python_foreach_impl run_in_build_dir libxslt_py_emake \ - DESTDIR="${D}" \ - install - - # Hack until automake release is made for the optimise fix - # https://git.savannah.gnu.org/cgit/automake.git/commit/?id=bde43d0481ff540418271ac37012a574a4fcf097 - python_foreach_impl python_optimize - fi -} - -multilib_src_install_all() { - einstalldocs - - if ! use examples ; then - rm -rf "${ED}"/usr/share/doc/${PF}/tutorial{,2} || die - rm -rf "${ED}"/usr/share/doc/${PF}/python/examples || die - fi - - find "${ED}" -type f -name "*.la" -delete || die -} diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/mpc/Manifest b/sdk_container/src/third_party/portage-stable/dev-libs/mpc/Manifest index c9f2a693738..6091f60b3f9 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/mpc/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-libs/mpc/Manifest @@ -1,2 +1,4 @@ DIST mpc-1.3.1.tar.gz 773573 BLAKE2B 76434e6f8830af3571836d51576bfebbc9701e9bbb5c4686f134081cd96cd90ae02f7ff42bf9e3957c7a7ba92b6b2d9cdabe18f0269271147521cd7f6a2d551c SHA512 4bab4ef6076f8c5dfdc99d810b51108ced61ea2942ba0c1c932d624360a5473df20d32b300fc76f2ba4aa2a97e1f275c9fd494a1ba9f07c4cb2ad7ceaeb1ae97 DIST mpc-1.3.1.tar.gz.sig 119 BLAKE2B ec48cf3a37c3b4a923b354d5e321d73561361586dd6dee2ccfaf7e05021ec43dd34e6045dec475a47fae36cf5b36d9b3901ba677cb1bfc9016c3f28392c46099 SHA512 5c2e6cccf9c5e6a401095e4abf4c4c8eb44ae4cd81debaa94da817f68f7ef39a732e969d5c264912b0a44fd2a0575e2f903d71def38cb95fa073851e3a537e5c +DIST mpc-1.4.0.tar.xz 532056 BLAKE2B d00dbc52a92efd619498671475743c9f35797343c731542f881c04c4a0b198f5b36df51bfde3ce520866d1851958409a6dd0de02d85d7b2e0ba00ccb27a30464 SHA512 de297e434b05905101b5a860e732b598da82129bdc28e3efebc0b36a107b6f2f4ae6962f55921ee20193df1dab241caf74dfc5d4dc1ae4b4edefbbcfe5b9c762 +DIST mpc-1.4.0.tar.xz.sig 119 BLAKE2B 6e821ce7e8ba4ba6f5622eaba8859d373bb3dae4bafa6c8d7295b74d55034fe73c7d30388744727164cb1ca124ddf305e9f3055fe9c583f5365468103509e6a1 SHA512 55d8aa606c683543bff8e766b46b5edc35759d1465b0fb51ef953e9c40dfcf4d1853277b7d98d231eee160dbfb68a3b7742d8226d01c8980f6cf4c23ff05d2d1 diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/mpc/mpc-1.4.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/mpc/mpc-1.4.0.ebuild new file mode 100644 index 00000000000..34561a87046 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-libs/mpc/mpc-1.4.0.ebuild @@ -0,0 +1,44 @@ +# 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/mpc.asc +inherit multilib-minimal verify-sig + +DESCRIPTION="A library for multiprecision complex arithmetic with exact rounding" +HOMEPAGE="https://www.multiprecision.org/mpc/ https://gitlab.inria.fr/mpc/mpc" + +if [[ ${PV} == *_rc* ]] ; then + SRC_URI="https://www.multiprecision.org/downloads/${P/_}.tar.xz" + S="${WORKDIR}"/${PN}-$(ver_cut 1-3) +else + SRC_URI=" + mirror://gnu/${PN}/${P}.tar.xz + verify-sig? ( mirror://gnu/${PN}/${P}.tar.xz.sig ) + " + + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris" +fi + +LICENSE="LGPL-3+ FDL-1.3+" +SLOT="0/3" # libmpc.so.3 +IUSE="static-libs" + +DEPEND=" + >=dev-libs/gmp-5.0.0:=[${MULTILIB_USEDEP},static-libs?] + >=dev-libs/mpfr-4.1.0:=[${MULTILIB_USEDEP},static-libs?] +" +RDEPEND="${DEPEND}" +BDEPEND=" + verify-sig? ( sec-keys/openpgp-keys-mpc ) +" + +multilib_src_configure() { + ECONF_SOURCE="${S}" econf $(use_enable static-libs static) +} + +multilib_src_install_all() { + einstalldocs + find "${ED}" -name '*.la' -delete || die +} diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/nspr/nspr-4.38.2.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/nspr/nspr-4.38.2.ebuild index 03eea63a237..701c08227be 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/nspr/nspr-4.38.2.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/nspr/nspr-4.38.2.ebuild @@ -13,7 +13,7 @@ SRC_URI="https://archive.mozilla.org/pub/nspr/releases/v${PV}/src/${P}.tar.gz" LICENSE="|| ( MPL-2.0 GPL-2 LGPL-2.1 )" SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos ~x64-solaris" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~x64-macos ~x64-solaris" IUSE="debug" MULTILIB_CHOST_TOOLS=( diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/openssl/openssl-3.5.5-r2.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/openssl/openssl-3.5.5-r2.ebuild index ae7ed6ef47d..34b6b0795f9 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/openssl/openssl-3.5.5-r2.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/openssl/openssl-3.5.5-r2.ebuild @@ -27,7 +27,7 @@ else " if [[ ${PV} != *_alpha* && ${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 BDEPEND="verify-sig? ( >=sec-keys/openpgp-keys-openssl-20240920 )" 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 a77382ed146..dc75ae4652d 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 @@ -5,3 +5,4 @@ DIST tree-sitter-0.25.8.tar.gz 857462 BLAKE2B aa3f0d9056544bb6ef1127723563449c76 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 +DIST tree-sitter-0.26.7.tar.gz 907267 BLAKE2B 7e734913ab81e700192c8d829b136300d5507da2f0cd1e3b059df81202fcd8da76884e605bda48a13d4f4317f335d1cb2cdb1aa60fbcfcce021280106512e3ff SHA512 0060809339744be4b3b24bae8115d2793dc113618ab1a79c347456f5b8341b15d2026e7b62d2e4e3c5226c8bf85a089221133457a80bfdd0413cd82bf7c4a172 diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/tree-sitter/tree-sitter-0.26.7.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/tree-sitter/tree-sitter-0.26.7.ebuild new file mode 100644 index 00000000000..693cc691286 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-libs/tree-sitter/tree-sitter-0.26.7.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://github.com/tree-sitter/tree-sitter" + +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 +} diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/userspace-rcu/userspace-rcu-0.15.6.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/userspace-rcu/userspace-rcu-0.15.6.ebuild index f0a7c6ffe85..f0f5b36663a 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/userspace-rcu/userspace-rcu-0.15.6.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/userspace-rcu/userspace-rcu-0.15.6.ebuild @@ -15,7 +15,7 @@ SRC_URI=" LICENSE="LGPL-2.1" SLOT="0/8" # subslot = soname version -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" IUSE="static-libs test" RESTRICT="!test? ( test )" diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/xmlsec/Manifest b/sdk_container/src/third_party/portage-stable/dev-libs/xmlsec/Manifest index 4930e16a7e4..766cf0789e4 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/xmlsec/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-libs/xmlsec/Manifest @@ -1 +1,3 @@ DIST xmlsec1-1.3.7.tar.gz 2468083 BLAKE2B 6e3b14d476cc6d37e5f9324383432dfacc1a3ac0340bcf709f70b2e8f99dadee23d48e12569b50768446dfa3601868c99190bb44fdeb5c6fc2a0bb48cfd7335e SHA512 0813ad0f7821f765947a7d81d276ba479bf54430279a7b9da31988d1ec76c60b81d3d57f1088a69a2cc0d8d27fa932ce1cb051457d1c0c5a6f071a2df4395cb8 +DIST xmlsec1-1.3.9.sig 566 BLAKE2B 14ef29d34882dd350c6e32354726b65d23708f9040228eb82f4a6429c5cc4f3aaa57d836aee7c23998bd23e292544d4e81c5f1899f51fe067f144d9e6d0eb798 SHA512 b10ac56d22bfa235ef6837981a80034f4ac5883d6b251249f2c87fbd6490c69e122c0618f50ee50a7830d2f8be70463c40b0820d184fcee52f87e8d726862c05 +DIST xmlsec1-1.3.9.tar.gz 2377806 BLAKE2B 4d756275a83bb2649bc2ca6d08528762db6c115487286ad8e6a04657640a6eaf39f7d121c0e20bae068b99a8184d825856904f39ccdd7bdd5a3d250a6b17ecad SHA512 a04bad95578be0617ee840b3f875b8721e61e07c76d44de63afc3abf27be4919b9e6d48f3619174808f03cfb96542ca7f9965484fb3d657966a386f50f37170c diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/xmlsec/metadata.xml b/sdk_container/src/third_party/portage-stable/dev-libs/xmlsec/metadata.xml index 0f981c3c9b1..6754bc486e2 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/xmlsec/metadata.xml +++ b/sdk_container/src/third_party/portage-stable/dev-libs/xmlsec/metadata.xml @@ -1,7 +1,14 @@ - + + bacs@librecast.net + Brett A C Sheffield + + + proxy-maint@gentoo.org + Proxy Maintainers + Install xmlsec-gcrypt library Install xmlsec-gnutls library diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/xmlsec/xmlsec-1.3.9.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/xmlsec/xmlsec-1.3.9.ebuild new file mode 100644 index 00000000000..c035d93176c --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-libs/xmlsec/xmlsec-1.3.9.ebuild @@ -0,0 +1,105 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=9 + +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/alekseysanin.asc +inherit autotools verify-sig + +DESCRIPTION="Command line tool for signing, verifying, encrypting and decrypting XML" +HOMEPAGE="https://www.aleksey.com/xmlsec/" +SRC_URI=" + https://www.aleksey.com/xmlsec/download/${PN}1-${PV}.tar.gz + verify-sig? ( https://www.aleksey.com/xmlsec/download/${PN}1-${PV}.sig ) +" +S="${WORKDIR}/${PN}1-${PV}" + +LICENSE="MIT" +# Upstream consider major version bumps to be changes in either X or Y in X.Y.Z +SLOT="0/$(ver_cut 1-2)" +KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86" +IUSE="doc gcrypt gnutls http nss +openssl static-libs test" +RESTRICT="!test? ( test )" +REQUIRED_USE=" + || ( gnutls nss openssl ) +" + +RDEPEND=" + >=dev-libs/libxml2-2.7.4:= + >=dev-libs/libxslt-1.0.20 + dev-libs/libltdl + gcrypt? ( >=dev-libs/libgcrypt-1.4.0:= ) + gnutls? ( >=net-libs/gnutls-3.6.13:= ) + nss? ( + >=dev-libs/nspr-4.4.1 + >=dev-libs/nss-3.9 + ) + openssl? ( dev-libs/openssl:= ) +" +DEPEND="${RDEPEND}" +BDEPEND=" + virtual/pkgconfig + test? ( + nss? ( + >=dev-libs/nss-3.9[utils] + ) + ) + verify-sig? ( sec-keys/openpgp-keys-alekseysanin ) +" + +PATCHES=( + "${FILESDIR}"/${PN}-1.3.0-optimisation.patch +) + +src_unpack() { + if use verify-sig; then + verify-sig_verify_detached "${DISTDIR}"/${PN}1-${PV}.{tar.gz,sig} + fi + default +} + +src_prepare() { + default + + eautoreconf +} + +src_configure() { + local myeconfargs=( + $(use_enable doc docs) + $(use_enable static-libs static) + $(use_with gcrypt) + $(use_with gnutls) + $(use_with nss nspr) + $(use_with nss) + $(use_with openssl) + + --disable-werror + --enable-mans + --enable-pkgconfig + + --enable-concatkdf + --enable-pbkdf2 + --enable-ec + --enable-dh + --enable-sha3 + + --enable-files + $(use_enable http) + --disable-ftp + ) + + # Bash because of bug #721128 + CONFIG_SHELL="${BROOT}"/bin/bash econf "${myeconfargs[@]}" +} + +src_test() { + # See https://github.com/lsh123/xmlsec/issues/280 for TZ=UTC + TZ=UTC SHELL="${BROOT}"/bin/bash emake TMPFOLDER="${T}" -Onone check +} + +src_install() { + default + + find "${ED}" -name '*.la' -delete || die +} 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 36a3acb163a..e5791017418 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 @@ -2,3 +2,5 @@ DIST charset_normalizer-3.4.4.tar.gz 129418 BLAKE2B 0f462077fe20ffc9555a5628263b DIST charset_normalizer-3.4.4.tar.gz.provenance 9506 BLAKE2B 890a0a810b142da096c1c0d805d9014bac9d1facfd0d51439c12167b047ade62e0d50fc1e6ffb65f5b019586a0706bb21bd75d485c5b9041cfe693ce38b15207 SHA512 55c4a7299bc0c3b556f5d1d344a77c653f0537719bd68ecf036c6339a8e09c169dee1d4d967f86946074b3da2e09f4a85ad1473fe7500cf427faf3dd8a5f95a8 DIST charset_normalizer-3.4.5.tar.gz 134804 BLAKE2B 632f80f4afc5ed131ef7154cdfc3d8bb3d74caf96f55309f8dddfd6bd6c32ce56e8e38c657bd20129f44167236e8369b2454f430779cc62ab4d658fffef9e1f8 SHA512 4d58d983a948644d89a25f5563171447c8fadcc252a9a3471d4b5e5ffeff94ddd56bce6a5c3fa84744a15b37b14145f645cef9b1635ef2bfe470abe5e259f55b DIST charset_normalizer-3.4.5.tar.gz.provenance 9583 BLAKE2B 8ab9655ddbf42e167d90d327c68826c803fc320cd54c90aba1fe09f2d383b58f58dabd19a7cce1c98a6d95cfdc8323af626aea32636d4f123c798607b729c9ef SHA512 d8aaeef462c2ef47196f69837cefe34d908457c51d0b8f25b4a1b1bbf875f1e3f7b97a175fd19a870c04adb5453fb46719b92518d95f43f3eb8a723cba9bde8a +DIST charset_normalizer-3.4.6.tar.gz 143363 BLAKE2B fe06d11b1293f11265f14322f58b51edfd7ad137efd5fe9b51d21aca0c21269d813ef3d1f6448ac21217b253399053ab9246d0edb74ff88ed15a24245c50e00d SHA512 4108b46e103c7b6d1ad3b63f04fdef991246c933cfad05897c0bc3d65b1e5b2aefd9ab50e4d270004a5bfbc0410b8133e0bcab86e9902ff31e6a498d31daeb19 +DIST charset_normalizer-3.4.6.tar.gz.provenance 9540 BLAKE2B 6f5eddb585ff17c06a7c8c1c8b6abc45f0388934e68c08c6238120831c7f302fdbee6db1b6e303d6c1360a0cc5c85e9affe6d68f2d3d5ffc88a9e47da6e540a3 SHA512 33d061e52ceae37d4123abcdae0aaddfdfd63c5706b49aaca610e3c586641282badb967e74274d0f7f4a53d36aa8b24eff630901e52187f8ce31cebc14c6e6bd diff --git a/sdk_container/src/third_party/portage-stable/dev-python/charset-normalizer/charset-normalizer-3.4.6.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/charset-normalizer/charset-normalizer-3.4.6.ebuild new file mode 100644 index 00000000000..901831b8b65 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-python/charset-normalizer/charset-normalizer-3.4.6.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_{11..14} pypy3_11 ) + +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= +} diff --git a/sdk_container/src/third_party/portage-stable/dev-python/ensurepip-setuptools/Manifest b/sdk_container/src/third_party/portage-stable/dev-python/ensurepip-setuptools/Manifest index 24c40d8d6c3..b09847cd1f3 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/ensurepip-setuptools/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-python/ensurepip-setuptools/Manifest @@ -3,3 +3,4 @@ DIST setuptools-80.10.2.tar.gz 1200343 BLAKE2B 575eacccf3f9f846658d55d55425263d8 DIST setuptools-80.9.0.tar.gz 1319958 BLAKE2B ab367912eec92b0d1251916d09c1dd2e311767eec87225beaff870dff923b47ba1732d2f7393b7d9e55d1ff1249c612e4403019e0021048951f9fc3b775c04c9 SHA512 36eb1f219d29c6b9e135936bde2001ad70a971c8069cd0175d3a5325b450e6843a903d3f70043c9f534768ebeab8ab0c544b8f44456555d333f1ed72daa5c18b DIST setuptools-81.0.0.tar.gz 1198299 BLAKE2B a92fa15e03c99f6d7acbc0a24e6d3b4b31d514c031195b1dd0ae238611c44c3c979847c45437e5e4221fb8f750a7264fb55235ee7d4a8207ef19a67306d5360c SHA512 4dda2f0796d1a32d160e0786fc6ebb9908483e16edac6b0335df4779a0a8331f13b70fbf69986a27cc8f6ff10c1f696599059710fef99f36ff1e766f04220466 DIST setuptools-82.0.0.tar.gz 1144893 BLAKE2B dae5c129ba4f490f7e9e7cfc42ff4147010fcd2f63e7e5bf6635a4153e5c3882f2ee265f01baa23d8c0f6c562c90c5408a998db0b95e5ea9c5a2fade167059d5 SHA512 52424f813bb8efa1d3aa8cb910338d29c36c6a641f7ded91d298c1abe7c1a24d572c60c14c028f3825af29b46d57a4ee454845b1d22b73b03278a9500d957dd9 +DIST setuptools-82.0.1.tar.gz 1152316 BLAKE2B d7f6eaf62ec66355b65642bc20a7a549e167dd6d1c0cdb15926b6644a23cab7737d713cd9418e0cc09161eb0bff53ffd0b8781c96d9203717077121c1e3cc0d5 SHA512 5d70e9efd818245fb8119a4eed64d776078469ed884facc188f141ea491efd9fde5c10c928d3236ea5e2e431b16616f18ed14870b867f95e6320251707332395 diff --git a/sdk_container/src/third_party/portage-stable/dev-python/ensurepip-setuptools/ensurepip-setuptools-82.0.1.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/ensurepip-setuptools/ensurepip-setuptools-82.0.1.ebuild new file mode 100644 index 00000000000..b21255f360c --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-python/ensurepip-setuptools/ensurepip-setuptools-82.0.1.ebuild @@ -0,0 +1,137 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=standalone +PYPI_PN=${PN#ensurepip-} +# PYTHON_COMPAT used only for testing +PYTHON_COMPAT=( python3_{11..14} pypy3_11 ) +PYTHON_REQ_USE="xml(+)" + +inherit distutils-r1 pypi + +DESCRIPTION="Shared setuptools wheel for ensurepip Python module" +HOMEPAGE=" + https://github.com/pypa/setuptools/ + https://pypi.org/project/setuptools/ +" + +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 )" + +BDEPEND=" + ${RDEPEND} + test? ( + >=dev-python/build-1.0.3[${PYTHON_USEDEP}] + >=dev-python/ini2toml-0.14[${PYTHON_USEDEP}] + >=dev-python/filelock-3.4.0[${PYTHON_USEDEP}] + >=dev-python/jaraco-envs-2.2[${PYTHON_USEDEP}] + >=dev-python/jaraco-path-3.7.2[${PYTHON_USEDEP}] + >=dev-python/jaraco-test-5.5[${PYTHON_USEDEP}] + dev-python/pip[${PYTHON_USEDEP}] + dev-python/pyproject-hooks[${PYTHON_USEDEP}] + >=dev-python/tomli-w-1.0.0[${PYTHON_USEDEP}] + >=dev-python/virtualenv-20[${PYTHON_USEDEP}] + ) +" + +EPYTEST_PLUGINS=( pytest-{home,subprocess,timeout} ) +EPYTEST_XDIST=1 +distutils_enable_tests pytest + +declare -A VENDOR_LICENSES=( + [autocommand]=LGPL-3 + [backports.tarfile]=MIT + [importlib_metadata]=Apache-2.0 + [jaraco_context]=MIT + [jaraco_functools]=MIT + [jaraco.text]=MIT + [more_itertools]=MIT + [packaging]="|| ( Apache-2.0 MIT )" + [platformdirs]=MIT + [tomli]=MIT + [wheel]=MIT + [zipp]=MIT +) +LICENSE+=" ${VENDOR_LICENSES[*]}" + +src_prepare() { + distutils-r1_src_prepare + + # Verify that we've covered licenses for all vendored packages + cd setuptools/_vendor || die + local packages=( *.dist-info ) + local pkg missing=() + for pkg in "${packages[@]%%-*}"; do + if [[ ! -v "VENDOR_LICENSES[${pkg}]" ]]; then + missing+=( "${pkg}" ) + else + unset "VENDOR_LICENSES[${pkg}]" + fi + done + + if [[ ${missing[@]} || ${VENDOR_LICENSES[@]} ]]; then + [[ ${missing[@]} ]] && + eerror "License missing for packages: ${missing[*]}" + [[ ${VENDOR_LICENSES[@]} ]] && + eerror "Vendored packages removed: ${!VENDOR_LICENSES[*]}" + die "VENDOR_LICENSES outdated" + fi +} + +python_compile() { + # If we're testing, install for all implementations. + # If we're not, just get one wheel built. + if use test || [[ -z ${DISTUTILS_WHEEL_PATH} ]]; then + distutils-r1_python_compile + fi +} + +python_test() { + local EPYTEST_DESELECT=( + # TODO + setuptools/tests/config/test_setupcfg.py::TestConfigurationReader::test_basic + setuptools/tests/config/test_setupcfg.py::TestConfigurationReader::test_ignore_errors + # TODO, probably some random package + setuptools/tests/config/test_setupcfg.py::TestOptions::test_cmdclass + # relies on -Werror + setuptools/_static.py::setuptools._static.Dict + setuptools/_static.py::setuptools._static.List + # Internet + setuptools/tests/test_namespaces.py::TestNamespaces::test_mixed_site_and_non_site + setuptools/tests/test_namespaces.py::TestNamespaces::test_namespace_package_installed_and_cwd + setuptools/tests/test_namespaces.py::TestNamespaces::test_packages_in_the_same_namespace_installed_and_cwd + setuptools/tests/test_namespaces.py::TestNamespaces::test_pkg_resources_import + # broken by warnings from setuptools-scm + setuptools/tests/config/test_apply_pyprojecttoml.py::TestPresetField::test_scripts_dont_require_dynamic_entry_points + # TODO + setuptools/tests/test_config_discovery.py::TestDiscoverPackagesAndPyModules::test_py_modules_when_wheel_dir_is_cwd + 'setuptools/tests/test_egg_info.py::TestEggInfo::test_requires[setup_requires_with_markers]' + ) + + case ${EPYTHON} in + pypy3.11) + EPYTEST_DESELECT+=( + # fails and breaks other tests + setuptools/tests/test_editable_install.py + ) + ;; + esac + + local -x PRE_BUILT_SETUPTOOLS_WHEEL=${DISTUTILS_WHEEL_PATH} + epytest -o tmp_path_retention_policy=all \ + -m "not uses_network" setuptools +} + +src_install() { + if [[ ${DISTUTILS_WHEEL_PATH} != *py3-none-any.whl ]]; then + die "Non-pure wheel produced?! ${DISTUTILS_WHEEL_PATH}" + fi + # TODO: compress it? + insinto /usr/lib/python/ensurepip + doins "${DISTUTILS_WHEEL_PATH}" +} diff --git a/sdk_container/src/third_party/portage-stable/dev-python/jaraco-context/Manifest b/sdk_container/src/third_party/portage-stable/dev-python/jaraco-context/Manifest index 31f8148fae7..8fe7538bcc1 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/jaraco-context/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-python/jaraco-context/Manifest @@ -1,2 +1,3 @@ DIST jaraco_context-6.1.0.tar.gz 15850 BLAKE2B e7d25d18fa97e77ce152b9152326e4980f305fd9ade71cc890546d8400c4102bb5bcc896b8ae079876f69e7d685d88d3c14bfae7aed46be5e28bad0c89caa77d SHA512 19f9fe4e00cc94f46177604e2a6e44af3c21be22b2059f8f7d0c586a77007196a163df68e545808b5f73d10c4e429903ff33274f110a15601481f4eff8cf9f8f DIST jaraco_context-6.1.1.tar.gz 15832 BLAKE2B bf329f1cb601bb793f68caa214cc683d968ac3a08615522868f451df5c4430d131d1a1cb3d8ff8d4d9165c0502432d3f401896911c0c0ea2827af69871dd8f50 SHA512 38ea4be2972ae21f98d3c1d77363db8d82d88ff786757004d7adc576383960c8193cdd89e5662b0772b99072fe4cd7099815f179f8042a6d64f335c0d3dd66ff +DIST jaraco_context-6.1.2.tar.gz 16801 BLAKE2B 85c9f0b6dde0c30839dd248eb34a094fe6e2ad3d56ac10b55f7e6d648dc30a7af6e2d5da500ad360dedf809437f958719579395f4b5c3ccc9af7ea1d1c2e57ea SHA512 2aac4b3263685e73121b2f4bb2a059a8175544c71fdda0a28e26565090ced8c4e0b3e238e6aed32caa21512f228a06b4b576ec6d8335f71629800be149248d82 diff --git a/sdk_container/src/third_party/portage-stable/dev-python/jaraco-context/jaraco-context-6.1.2.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/jaraco-context/jaraco-context-6.1.2.ebuild new file mode 100644 index 00000000000..2573cade011 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-python/jaraco-context/jaraco-context-6.1.2.ebuild @@ -0,0 +1,63 @@ +# 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 +PYPI_PN=${PN/-/.} +PYTHON_COMPAT=( python3_{11..14} python3_{13,14}t pypy3_11 ) + +inherit distutils-r1 pypi + +DESCRIPTION="Context managers by jaraco" +HOMEPAGE=" + https://github.com/jaraco/jaraco.context/ + https://pypi.org/project/jaraco.context/ +" + +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=" + $(python_gen_cond_dep ' + dev-python/backports-tarfile[${PYTHON_USEDEP}] + ' 3.11) +" +BDEPEND=" + test? ( + dev-python/portend[${PYTHON_USEDEP}] + ) +" + +EPYTEST_PLUGINS=() +distutils_enable_tests pytest + +EPYTEST_DESELECT=( + # Internet + jaraco/context/__init__.py::jaraco.context.repo_context +) + +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.context" + version = "${PV}" + description = "Context managers by jaraco" + 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{_,.}context-${PV}.dist-info || die +} 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 59b152135d9..4cf9da4481e 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,6 +1,4 @@ -DIST setuptools_scm-8.3.1.tar.gz 78088 BLAKE2B 6cedb55fc16830d12a28fe5b662c371b134bc4d7ef0e6de446b71152e5d83a031cf763b0753042c96745e82bf9dc42fa7cfee05a9a7e7824a4cf659b0a401a51 SHA512 e924abf81c7ee466241c5d66c39b416c8b308f01df9e1498c55ad6ed9812fbf883d8bcafd6fdcdcb96c5ec42b868ae04088de1870ca09a650fa07eb3ea9901c8 -DIST setuptools_scm-9.2.0.tar.gz 201229 BLAKE2B b2633c1a4f5a8a4b0ff23bf9b866e9bcb5f5c7b3a5fff9159d207b7405f8e3d76efddf3dda6a3083efdbd83bd3ff9d3399ebd2bcbe87598a93d36494ac169753 SHA512 da76f5440d03cadc545d0ed4275476c2d5b42013a100ee3948e77a05fdb61087fe208785bbb460d96423da7f6849b5eab45914f0054b21fd1d0c36ce0eac1795 -DIST setuptools_scm-9.2.1.tar.gz 202821 BLAKE2B 5780ac8ad0e1c35b9a1d34ecfba6d7c8a0776153356d66371aa24700ba2b1849ee7097652d8566123fc975bd81fd69e7201e636dfa06bb3aa05b8d79ce0fabe8 SHA512 a50559e6d12474056a30dec8276c637302ce33e54f88ce508ef0a93158ed8b15d07e108dc907e3ad2e315444643639177ef049759003ef34d6cc1243d21e312e -DIST setuptools_scm-9.2.1.tar.gz.provenance 9513 BLAKE2B d885e11b12bf8087fbf1f134c11f05210f5fc25a2b0b3e2084d7a48da07eeb62ee5b68df229eff2fd3c00856e56216d4e1c2c2220b4ae7c7870020723aa314b5 SHA512 2c0bb8ade54e92d304333e04cacdc40ecb35cad2a5f024a0b349dc2a295ea327fdb93cc24ba155e71cd308cfca404f7288c4e5f2dd1b6eab2daafed24669f676 +DIST setuptools_scm-10.0.1.tar.gz 54065 BLAKE2B 101089b650b73cb65588f084ad62713b55e786222a84ce48364c40489e348b0ec5cd744af74464db4764a6f580e29e30ada533583e0aae4f86ddf2b3836fffb3 SHA512 542cab6eed6153e0436911b35c0f5cac9d1e23218370e2e36e47507387e181346857ae15ba9a8e54cbc3f0335e58d0fa7ded13592e93e9d43d22cb427b4884ea +DIST setuptools_scm-10.0.1.tar.gz.provenance 10019 BLAKE2B 5513038b1a39ed43cbff58cc492eccb42df96077fdf8c9820f9e5e177ec3bb646a04b6d4d1ed8bd4d109af9bbaf6048a0043262d2fe41b78ad487503756a33e5 SHA512 a7f6b4e606133d9c62d20c85250cf5b03232828cd52f19e082cf0f794013e23437bbf535bd461ff776d9741d33917a9a871609cd0ede45bac13be6ddef7ba9c9 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-9.2.1.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/setuptools-scm/setuptools-scm-10.0.1.ebuild similarity index 56% rename from sdk_container/src/third_party/portage-stable/dev-python/setuptools-scm/setuptools-scm-9.2.1.ebuild rename to sdk_container/src/third_party/portage-stable/dev-python/setuptools-scm/setuptools-scm-10.0.1.ebuild index 7b20cb72f27..1fa898a7605 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/setuptools-scm/setuptools-scm-9.2.1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-python/setuptools-scm/setuptools-scm-10.0.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 # please keep this ebuild at EAPI 8 -- sys-apps/portage dep @@ -18,15 +18,17 @@ HOMEPAGE=" 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" +KEYWORDS="~amd64 ~s390" # 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-1.0.0[${PYTHON_USEDEP}] " BDEPEND=" dev-python/setuptools[${PYTHON_USEDEP}] + >=dev-python/vcs-versioning-1.0.0[${PYTHON_USEDEP}] test? ( dev-python/build[${PYTHON_USEDEP}] dev-python/typing-extensions[${PYTHON_USEDEP}] @@ -35,19 +37,23 @@ BDEPEND=" " EPYTEST_PLUGINS=( pytest-timeout ) +EPYTEST_XDIST=1 distutils_enable_tests pytest -EPYTEST_DESELECT=( - # the usual nondescript gpg-agent failure - testing/test_git.py::test_git_getdate_signed_commit - - # fetching from the Internet - testing/test_integration.py::test_xmlsec_download_regression - testing/test_regressions.py::test_pip_download +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 + ) - # calls flake8, unpredictable - testing/test_functions.py::test_dump_version_flake8 + 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 - # incompatible with current mypy version - testing/test_functions.py::test_dump_version_mypy -) + epytest +} diff --git a/sdk_container/src/third_party/portage-stable/dev-python/setuptools-scm/setuptools-scm-8.3.1.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/setuptools-scm/setuptools-scm-8.3.1.ebuild deleted file mode 100644 index 1edec363a31..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-python/setuptools-scm/setuptools-scm-8.3.1.ebuild +++ /dev/null @@ -1,58 +0,0 @@ -# Copyright 1999-2025 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 -PYTHON_COMPAT=( python3_{11..14} python3_{13,14}t pypy3_11 ) - -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 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" - -# there's an optional dep on rich for cute logs -RDEPEND=" - dev-python/packaging[${PYTHON_USEDEP}] - >=dev-python/setuptools-61[${PYTHON_USEDEP}] -" -BDEPEND=" - dev-python/setuptools[${PYTHON_USEDEP}] - test? ( - dev-python/build[${PYTHON_USEDEP}] - dev-python/typing-extensions[${PYTHON_USEDEP}] - dev-vcs/git - ) -" - -distutils_enable_tests pytest - -python_test() { - local EPYTEST_DESELECT=( - # the usual nondescript gpg-agent failure - testing/test_git.py::test_git_getdate_signed_commit - - # fetching from the Internet - testing/test_regressions.py::test_pip_download - - # calls flake8, unpredictable - testing/test_functions.py::test_dump_version_flake8 - ) - - if has_version dev-python/nose; then - EPYTEST_DESELECT+=( - # https://bugs.gentoo.org/892639 - testing/test_integration.py::test_pyproject_support - ) - fi - - epytest -} diff --git a/sdk_container/src/third_party/portage-stable/dev-python/setuptools-scm/setuptools-scm-9.2.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/setuptools-scm/setuptools-scm-9.2.0.ebuild deleted file mode 100644 index 8e4e74d74e7..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-python/setuptools-scm/setuptools-scm-9.2.0.ebuild +++ /dev/null @@ -1,52 +0,0 @@ -# Copyright 1999-2025 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 -PYTHON_COMPAT=( python3_{11..14} python3_{13,14}t pypy3_11 ) - -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 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" - -# there's an optional dep on rich for cute logs -RDEPEND=" - dev-python/packaging[${PYTHON_USEDEP}] - >=dev-python/setuptools-64[${PYTHON_USEDEP}] -" -BDEPEND=" - dev-python/setuptools[${PYTHON_USEDEP}] - test? ( - dev-python/build[${PYTHON_USEDEP}] - dev-python/typing-extensions[${PYTHON_USEDEP}] - dev-vcs/git - ) -" - -EPYTEST_PLUGINS=( pytest-timeout ) -distutils_enable_tests pytest - -EPYTEST_DESELECT=( - # the usual nondescript gpg-agent failure - testing/test_git.py::test_git_getdate_signed_commit - - # fetching from the Internet - testing/test_integration.py::test_xmlsec_download_regression - testing/test_regressions.py::test_pip_download - - # calls flake8, unpredictable - testing/test_functions.py::test_dump_version_flake8 - - # incompatible with current mypy version - testing/test_functions.py::test_dump_version_mypy -) diff --git a/sdk_container/src/third_party/portage-stable/dev-python/setuptools/Manifest b/sdk_container/src/third_party/portage-stable/dev-python/setuptools/Manifest index e7063abfcc0..574ac4e4945 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/setuptools/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-python/setuptools/Manifest @@ -3,3 +3,4 @@ DIST setuptools-80.10.2.tar.gz 1200343 BLAKE2B 575eacccf3f9f846658d55d55425263d8 DIST setuptools-80.9.0.tar.gz 1319958 BLAKE2B ab367912eec92b0d1251916d09c1dd2e311767eec87225beaff870dff923b47ba1732d2f7393b7d9e55d1ff1249c612e4403019e0021048951f9fc3b775c04c9 SHA512 36eb1f219d29c6b9e135936bde2001ad70a971c8069cd0175d3a5325b450e6843a903d3f70043c9f534768ebeab8ab0c544b8f44456555d333f1ed72daa5c18b DIST setuptools-81.0.0.tar.gz 1198299 BLAKE2B a92fa15e03c99f6d7acbc0a24e6d3b4b31d514c031195b1dd0ae238611c44c3c979847c45437e5e4221fb8f750a7264fb55235ee7d4a8207ef19a67306d5360c SHA512 4dda2f0796d1a32d160e0786fc6ebb9908483e16edac6b0335df4779a0a8331f13b70fbf69986a27cc8f6ff10c1f696599059710fef99f36ff1e766f04220466 DIST setuptools-82.0.0.tar.gz 1144893 BLAKE2B dae5c129ba4f490f7e9e7cfc42ff4147010fcd2f63e7e5bf6635a4153e5c3882f2ee265f01baa23d8c0f6c562c90c5408a998db0b95e5ea9c5a2fade167059d5 SHA512 52424f813bb8efa1d3aa8cb910338d29c36c6a641f7ded91d298c1abe7c1a24d572c60c14c028f3825af29b46d57a4ee454845b1d22b73b03278a9500d957dd9 +DIST setuptools-82.0.1.tar.gz 1152316 BLAKE2B d7f6eaf62ec66355b65642bc20a7a549e167dd6d1c0cdb15926b6644a23cab7737d713cd9418e0cc09161eb0bff53ffd0b8781c96d9203717077121c1e3cc0d5 SHA512 5d70e9efd818245fb8119a4eed64d776078469ed884facc188f141ea491efd9fde5c10c928d3236ea5e2e431b16616f18ed14870b867f95e6320251707332395 diff --git a/sdk_container/src/third_party/portage-stable/dev-python/setuptools/setuptools-82.0.1.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/setuptools/setuptools-82.0.1.ebuild new file mode 100644 index 00000000000..48ddb6adc2e --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-python/setuptools/setuptools-82.0.1.ebuild @@ -0,0 +1,122 @@ +# 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 + +# 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_{13,14}t ) +PYTHON_REQ_USE="xml(+)" + +inherit distutils-r1 pypi + +DESCRIPTION="Collection of extensions to Distutils" +HOMEPAGE=" + https://github.com/pypa/setuptools/ + https://pypi.org/project/setuptools/ +" + +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 )" + +RDEPEND=" + >=dev-python/jaraco-functools-4.4.0[${PYTHON_USEDEP}] + >=dev-python/jaraco-text-4.0.0[${PYTHON_USEDEP}] + >=dev-python/more-itertools-10.8.0[${PYTHON_USEDEP}] + >=dev-python/packaging-25.0[${PYTHON_USEDEP}] + >=dev-python/platformdirs-4.4.0[${PYTHON_USEDEP}] + >=dev-python/wheel-0.45.1[${PYTHON_USEDEP}] +" +BDEPEND=" + ${RDEPEND} + test? ( + $(python_gen_cond_dep ' + >=dev-python/build-1.0.3[${PYTHON_USEDEP}] + >=dev-python/ini2toml-0.14[${PYTHON_USEDEP}] + >=dev-python/filelock-3.4.0[${PYTHON_USEDEP}] + >=dev-python/jaraco-envs-2.2[${PYTHON_USEDEP}] + >=dev-python/jaraco-path-3.7.2[${PYTHON_USEDEP}] + >=dev-python/jaraco-test-5.5[${PYTHON_USEDEP}] + dev-python/pip[${PYTHON_USEDEP}] + dev-python/pyproject-hooks[${PYTHON_USEDEP}] + dev-python/pytest[${PYTHON_USEDEP}] + >=dev-python/pytest-home-0.5[${PYTHON_USEDEP}] + dev-python/pytest-subprocess[${PYTHON_USEDEP}] + dev-python/pytest-timeout[${PYTHON_USEDEP}] + dev-python/pytest-xdist[${PYTHON_USEDEP}] + >=dev-python/tomli-w-1.0.0[${PYTHON_USEDEP}] + >=dev-python/virtualenv-20[${PYTHON_USEDEP}] + ' "${PYTHON_TESTED[@]}") + ) +" +# setuptools-scm is here because installing plugins apparently breaks stuff at +# runtime, so let's pull it early. See bug #663324. +# +# trove-classifiers are optionally used in validation, if they are +# installed. Since we really oughtn't block them, let's always enforce +# the newest version for the time being to avoid errors. +# https://github.com/pypa/setuptools/issues/4459 +PDEPEND=" + dev-python/setuptools-scm[${PYTHON_USEDEP}] + >=dev-python/trove-classifiers-2024.10.16[${PYTHON_USEDEP}] +" + +src_prepare() { + local PATCHES=( + # https://github.com/abravalheri/validate-pyproject/pull/221 + "${FILESDIR}/setuptools-75.6.0-disable-trove-classifiers.patch" + ) + + distutils-r1_src_prepare + + # remove bundled dependencies + rm -r */_vendor || die +} + +python_test() { + if ! has "${EPYTHON}" "${PYTHON_TESTED[@]/_/.}"; then + return + fi + + local EPYTEST_DESELECT=( + # broken by unbundling (e.g. installs self-wheel into venv) + setuptools/tests/config/test_apply_pyprojecttoml.py::TestMeta + setuptools/tests/test_distutils_adoption.py + setuptools/tests/test_editable_install.py + setuptools/tests/test_sdist.py::test_sanity_check_setuptools_own_sdist + setuptools/tests/test_setuptools.py::test_wheel_includes_vendored_metadata + setuptools/tests/test_virtualenv.py::test_no_missing_dependencies + setuptools/tests/config/test_setupcfg.py::TestOptions::test_entry_points + # TODO + setuptools/tests/config/test_setupcfg.py::TestConfigurationReader::test_basic + setuptools/tests/config/test_setupcfg.py::TestConfigurationReader::test_ignore_errors + # TODO, probably some random package + setuptools/tests/config/test_setupcfg.py::TestOptions::test_cmdclass + # relies on -Werror + setuptools/_static.py::setuptools._static.Dict + setuptools/_static.py::setuptools._static.List + # Internet + setuptools/tests/test_build_py.py::TestTypeInfoFiles::test_type_files_included_by_default + setuptools/tests/test_dist.py::test_dist_fetch_build_egg + setuptools/tests/test_namespaces.py::TestNamespaces::test_mixed_site_and_non_site + setuptools/tests/test_namespaces.py::TestNamespaces::test_namespace_package_installed_and_cwd + setuptools/tests/test_namespaces.py::TestNamespaces::test_packages_in_the_same_namespace_installed_and_cwd + setuptools/tests/test_namespaces.py::TestNamespaces::test_pkg_resources_import + # broken by warnings from setuptools-scm + setuptools/tests/config/test_apply_pyprojecttoml.py::TestPresetField::test_scripts_dont_require_dynamic_entry_points + # TODO + 'setuptools/tests/test_egg_info.py::TestEggInfo::test_requires[setup_requires_with_markers]' + ) + + local EPYTEST_XDIST=1 + local -x PRE_BUILT_SETUPTOOLS_WHEEL=${DISTUTILS_WHEEL_PATH} + local EPYTEST_PLUGINS=( pytest-{home,subprocess,timeout} ) + epytest -o tmp_path_retention_policy=all \ + -m "not uses_network" setuptools +} diff --git a/sdk_container/src/third_party/portage-stable/dev-util/bpftool/Manifest b/sdk_container/src/third_party/portage-stable/dev-util/bpftool/Manifest index 307d8b5b171..a639c1b28c1 100644 --- a/sdk_container/src/third_party/portage-stable/dev-util/bpftool/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-util/bpftool/Manifest @@ -1,2 +1,2 @@ -DIST bpftool-libbpf-v7.5.0-sources.tar.gz 1510032 BLAKE2B cc9beac4034317f89ae3c1088d1b1a1948778bcdb51d7ed7f566e4e5ab720c1128ca467d51d0bc3ffe7b1f69800249362baef5dfaf858275050f96b744fdbca6 SHA512 db12c305b77fea3689dbc1ce94527f0f21fa9de21fcdb36385e3fe492137335bb393f90e456c06601495ccc984230a531c432709db6514b545e0aeeda7ca3c99 DIST bpftool-libbpf-v7.6.0-sources.tar.gz 1527883 BLAKE2B 5918519009b1ee258c33506cb52d216b08fbcd6365083a71d74b11e2c788fd4c6f7cfd78c84bb85074eb463dfa8d087b8e35c79d00f3a0810979640af6b334e6 SHA512 d443601227acd9a0db15896da186b0a47d426c44f2b6eaa822391594aa23d617a94ee94f284abb841529d41ef7c585a1087dd5ab1708ce068cc02b3c08b0a51b +DIST bpftool-libbpf-v7.7.0-sources.tar.gz 1553943 BLAKE2B db13d16f12af61d97312dd821088e81062d3bbc6d954e0d463026bb99e6acdca4a232db26a1b735d70bd91cd954fd628e0a699517d4b1b38838ad3ac5aa82721 SHA512 d74b3ace03981791e08ac50d6b977a27de67bfd5e088e0ecb424eaebb58c30b85ef306f51d0e9244666511b430606b1ed52382d360348da40787c0045b6c8f43 diff --git a/sdk_container/src/third_party/portage-stable/dev-util/bpftool/bpftool-7.5.0-r1.ebuild b/sdk_container/src/third_party/portage-stable/dev-util/bpftool/bpftool-7.7.0.ebuild similarity index 86% rename from sdk_container/src/third_party/portage-stable/dev-util/bpftool/bpftool-7.5.0-r1.ebuild rename to sdk_container/src/third_party/portage-stable/dev-util/bpftool/bpftool-7.7.0.ebuild index 4a68e9d38b1..8153dfa9654 100644 --- a/sdk_container/src/third_party/portage-stable/dev-util/bpftool/bpftool-7.5.0-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-util/bpftool/bpftool-7.7.0.ebuild @@ -1,13 +1,13 @@ -# Copyright 2021-2025 Gentoo Authors +# Copyright 2021-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 -LLVM_COMPAT=( {15..20} ) +LLVM_COMPAT=( {15..22} ) LLVM_OPTIONAL=1 PYTHON_COMPAT=( python3_{11..14} ) -inherit bash-completion-r1 linux-info llvm-r1 python-any-r1 toolchain-funcs +inherit bash-completion-r1 flag-o-matic linux-info llvm-r1 python-any-r1 toolchain-funcs DESCRIPTION="Tool for inspection and simple manipulation of eBPF programs and maps" HOMEPAGE="https://github.com/libbpf/bpftool" @@ -24,7 +24,7 @@ else # This allows us to quickly update the vendored lib with a revbump. # Currently bpftool-x.y vendors libbpf-1.y; DO NOT mix different y versions. # See the libbpf repo (https://github.com/libbpf/libbpf) for possible updates. - # LIBBPF_VERSION=1.5.0 + # LIBBPF_VERSION=1.7.0 if [[ ! -z ${LIBBPF_VERSION} ]] ; then SRC_URI="https://github.com/libbpf/bpftool/archive/refs/tags/v${PV}.tar.gz -> bpftool-${PV}.tar.gz @@ -36,7 +36,7 @@ else S="${WORKDIR}/bpftool-libbpf-v${PV}-sources" fi - KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv x86" + KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86" fi LICENSE="|| ( GPL-2 BSD-2 )" @@ -65,8 +65,6 @@ BDEPEND=" CONFIG_CHECK="~DEBUG_INFO_BTF" -PATCHES=( "${FILESDIR}/7.5.0-setting-error-code-in-do_loader.patch" ) - pkg_setup() { python-any-r1_pkg_setup use llvm && llvm-r1_pkg_setup @@ -88,7 +86,10 @@ src_prepare() { sed -i -e 's/-Werror//g' src/Makefile.feature || die # remove hardcoded/unhelpful flags from bpftool - sed -i -e '/CFLAGS += -O2/d' -e 's/-W //g' -e 's/-Wextra //g' src/Makefile || die + sed -e '/CFLAGS += -O2$/d' \ + -e '/CFLAGS += -W$/d' \ + -e '/CFLAGS += -Wextra$/d' \ + -i src/Makefile || die # always build bpf bits with std=gnu11 for kernel compatibility (bug 955156) sed -i 's/-fno-stack-protector/& -std=gnu11/g' src/Makefile || die @@ -115,6 +116,14 @@ src_prepare() { type -P rst2man >/dev/null || sed -i -e 's/rst2man/rst2man.py/g' docs/Makefile || die } +src_configure() { + # filter LTO after discussion about UB in libbpf: + # https://lore.kernel.org/bpf/20260321024446.692008-1-irogers@google.com/ + filter-lto + + default +} + bpftool_make() { # which BPF compiler should we use? if use clang; then @@ -128,8 +137,12 @@ bpftool_make() { tc-export AR CC LD + # add EXTRA_CFLAGS to be consistent with our libbpf ebuild + local extra_cflags="-fno-strict-aliasing" + emake \ ARCH="$(tc-arch-kernel)" \ + EXTRA_CFLAGS="${extra_cflags}" \ HOSTAR="$(tc-getBUILD_AR)" \ HOSTCC="$(tc-getBUILD_CC)" \ HOSTLD="$(tc-getBUILD_LD)" \ diff --git a/sdk_container/src/third_party/portage-stable/dev-util/bpftool/bpftool-9999.ebuild b/sdk_container/src/third_party/portage-stable/dev-util/bpftool/bpftool-9999.ebuild index f6ff9c2975a..8153dfa9654 100644 --- a/sdk_container/src/third_party/portage-stable/dev-util/bpftool/bpftool-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-util/bpftool/bpftool-9999.ebuild @@ -7,7 +7,7 @@ LLVM_COMPAT=( {15..22} ) LLVM_OPTIONAL=1 PYTHON_COMPAT=( python3_{11..14} ) -inherit bash-completion-r1 linux-info llvm-r1 python-any-r1 toolchain-funcs +inherit bash-completion-r1 flag-o-matic linux-info llvm-r1 python-any-r1 toolchain-funcs DESCRIPTION="Tool for inspection and simple manipulation of eBPF programs and maps" HOMEPAGE="https://github.com/libbpf/bpftool" @@ -24,7 +24,7 @@ else # This allows us to quickly update the vendored lib with a revbump. # Currently bpftool-x.y vendors libbpf-1.y; DO NOT mix different y versions. # See the libbpf repo (https://github.com/libbpf/libbpf) for possible updates. - # LIBBPF_VERSION=1.5.0 + # LIBBPF_VERSION=1.7.0 if [[ ! -z ${LIBBPF_VERSION} ]] ; then SRC_URI="https://github.com/libbpf/bpftool/archive/refs/tags/v${PV}.tar.gz -> bpftool-${PV}.tar.gz @@ -116,6 +116,14 @@ src_prepare() { type -P rst2man >/dev/null || sed -i -e 's/rst2man/rst2man.py/g' docs/Makefile || die } +src_configure() { + # filter LTO after discussion about UB in libbpf: + # https://lore.kernel.org/bpf/20260321024446.692008-1-irogers@google.com/ + filter-lto + + default +} + bpftool_make() { # which BPF compiler should we use? if use clang; then @@ -129,8 +137,12 @@ bpftool_make() { tc-export AR CC LD + # add EXTRA_CFLAGS to be consistent with our libbpf ebuild + local extra_cflags="-fno-strict-aliasing" + emake \ ARCH="$(tc-arch-kernel)" \ + EXTRA_CFLAGS="${extra_cflags}" \ HOSTAR="$(tc-getBUILD_AR)" \ HOSTCC="$(tc-getBUILD_CC)" \ HOSTLD="$(tc-getBUILD_LD)" \ diff --git a/sdk_container/src/third_party/portage-stable/dev-util/debugedit/Manifest b/sdk_container/src/third_party/portage-stable/dev-util/debugedit/Manifest index 7e155fd3d28..cf9bf77a396 100644 --- a/sdk_container/src/third_party/portage-stable/dev-util/debugedit/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-util/debugedit/Manifest @@ -1,4 +1,4 @@ -DIST debugedit-5.1.tar.xz 186320 BLAKE2B 21117429cda436ef73d5b713596380558bf0cfbe1feae85c9d31a4dddce0a7a4a1ca89608c547954afd6066722aff5d048bffde79489b873df3b63ce2553dc3a SHA512 72f4dcc0fba223a85d261aa38400e229f04c7c96adafe455919a8f702d3d7d9cdfb991b403d53f2ac4948ca19eeb43d3d49c0ea2616065657c120647a30575d3 -DIST debugedit-5.1.tar.xz.sig 310 BLAKE2B c8975b2a1a9fdfdaac01674aebf76df9dd93a59469d5660d857b2f7c71e6eb5fa1a79d09ab057e2c0050f6cd566c3ebe953e4581bffbdd2003fd45e34a97d4a9 SHA512 8fc5072f05df2df630994844bd758dece9479c5f68182c10fd7ba4bc1c9a9601f6e399a2ad3146e58cdef75aa36871b642b64cb53c42cedfb05b310773994e5f DIST debugedit-5.2.tar.xz 196724 BLAKE2B ced3d1ff03f06cc2411627067c3e194951793b230fb37ac8f2528c6dd898841ca452b0f86107de3830c03123d34987c42a0427e40c579d775764bf5b09180410 SHA512 0fe21d7576ca8ea8067f6afe5c02807ace77051249d8911531e6f9d077db59487ee29dfbdb5e9c80aebaa8bd22c6efe515d25a502d614bc058f24d174c7ebe4b DIST debugedit-5.2.tar.xz.sig 310 BLAKE2B 599db2dfb9a85a70dff9aadf606f6eb308246e1628ca465ba7d58fb73842ed9c4b4e27ee23818d968c8fd7314678b7bb63ba1f77ad94bb7ed15e8f0d4bd94ee3 SHA512 5c80ea4b43e1363399b858a0758e944f49cedf50828f60867651f65e5469d217e7a6b4ac790266016ed5eb512ae7af67690d99ea020d8497b8289c3a88c9908d +DIST debugedit-5.3.tar.xz 206124 BLAKE2B 0b8c59249eff751e4927c2c94ce656bf112732c518702e2f41ab5c8f50393a3fed627d545dc6f4fc2164e25c58b396ea237f45669c8fb1f5e2e409325406e056 SHA512 a02e04f5b91e0ec5d880207658e5b89b28424ffee6aed7374c495c0c49b2f0180eeb2277bdb758a3d245279a2083d5f7b8b4872b8972b92d5c92ef5f1d27d958 +DIST debugedit-5.3.tar.xz.sig 119 BLAKE2B 94356067afe2185acfc6f94cbb8dec1e6fbf6a12ff66fa137cfbdebdead2f9cca9525bb63b5c8b03ff0015e38f741c7a4c01dd41d7b188dc0abf8da4cabd422e SHA512 51b04d7639b8c2eb619ce08934ea19504a3fc1d3ddf3c46bb0f3c47f1d3b18ccae7590e54b3e2a798078da879eecd50b43c1c350e6cff2564de13df8d1c7cfe7 diff --git a/sdk_container/src/third_party/portage-stable/dev-util/debugedit/debugedit-5.1-r3.ebuild b/sdk_container/src/third_party/portage-stable/dev-util/debugedit/debugedit-5.1-r3.ebuild deleted file mode 100644 index d394aa8deda..00000000000 --- a/sdk_container/src/third_party/portage-stable/dev-util/debugedit/debugedit-5.1-r3.ebuild +++ /dev/null @@ -1,64 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit multiprocessing verify-sig toolchain-funcs - -DESCRIPTION="Create debuginfo and source file distributions" -HOMEPAGE="https://sourceware.org/debugedit/" -SRC_URI=" - https://sourceware.org/ftp/debugedit/${PV}/${P}.tar.xz - verify-sig? ( https://sourceware.org/ftp/debugedit/${PV}/${P}.tar.xz.sig ) -" - -LICENSE="GPL-3+ GPL-2+ LGPL-2+" -SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~sparc x86" -#KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86" - -DEPEND=" - >=dev-libs/elfutils-0.176-r1:= - >=dev-libs/xxhash-0.8:= - elibc_musl? ( >=sys-libs/error-standalone-2.0 ) -" -RDEPEND=" - ${DEPEND} - sys-devel/dwz -" -BDEPEND=" - sys-apps/help2man - virtual/pkgconfig - verify-sig? ( - sec-keys/openpgp-keys-debugedit - ) -" - -VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/debugedit.gpg - -src_prepare() { - default - - # bashism, https://sourceware.org/bugzilla/show_bug.cgi?id=32321 - sed -i -e '/test/s:==:=:' tests/debugedit.at || die -} - -src_configure() { - tc-export PKG_CONFIG - - if use elibc_musl; then - export CFLAGS="${CFLAGS} $(${PKG_CONFIG} --cflags error-standalone)" - export LIBS="${LIBS} $(${PKG_CONFIG} --libs error-standalone)" - fi - - local myconf=( - # avoid BDEP on dwz - DWZ=dwz - ac_cv_dwz_j=yes - ) - econf "${myconf[@]}" -} - -src_test() { - emake -Onone check TESTSUITEFLAGS="--jobs=$(get_makeopts_jobs)" -} diff --git a/sdk_container/src/third_party/portage-stable/dev-util/debugedit/debugedit-5.2.ebuild b/sdk_container/src/third_party/portage-stable/dev-util/debugedit/debugedit-5.3.ebuild similarity index 72% rename from sdk_container/src/third_party/portage-stable/dev-util/debugedit/debugedit-5.2.ebuild rename to sdk_container/src/third_party/portage-stable/dev-util/debugedit/debugedit-5.3.ebuild index 8afaf15c626..822ec217386 100644 --- a/sdk_container/src/third_party/portage-stable/dev-util/debugedit/debugedit-5.2.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-util/debugedit/debugedit-5.3.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 -inherit multiprocessing verify-sig toolchain-funcs +inherit multiprocessing optfeature verify-sig toolchain-funcs DESCRIPTION="Create debuginfo and source file distributions" HOMEPAGE="https://sourceware.org/debugedit/" @@ -14,7 +14,7 @@ SRC_URI=" LICENSE="GPL-3+ GPL-2+ LGPL-2+" SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" IUSE="test" RESTRICT="!test? ( test )" @@ -25,26 +25,22 @@ DEPEND=" " RDEPEND=" ${DEPEND} - sys-devel/dwz " BDEPEND=" sys-apps/help2man virtual/pkgconfig test? ( app-alternatives/cpio + dev-debug/gdb + sys-devel/dwz ) verify-sig? ( - sec-keys/openpgp-keys-debugedit + >=sec-keys/openpgp-keys-debugedit-20260311 ) " VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/debugedit.gpg -PATCHES=( - "${FILESDIR}"/${P}-bashism.patch - "${FILESDIR}"/${P}-buildid.patch -) - src_configure() { tc-export PKG_CONFIG @@ -54,9 +50,14 @@ src_configure() { fi local myconf=( - # avoid BDEP on dwz + # avoid bunch of BDEPs, sigh DWZ=dwz ac_cv_dwz_j=yes + HAS_CPIO=yes + HAS_EU_STRIP=yes + HAS_XZ=yes + HAS_GDB_ADD_INDEX=yes + HAS_EU_ELFLINT=yes # We don't want to effectively bundle xxhash. It fails to # build with -Og and such too (bug #956627). @@ -69,3 +70,7 @@ src_test() { local -x CCACHE_DISABLE=1 emake -Onone check TESTSUITEFLAGS="--jobs=$(get_makeopts_jobs)" } + +pkg_postinst() { + optfeature "dwz support in find-debuginfo" sys-devel/dwz +} diff --git a/sdk_container/src/third_party/portage-stable/dev-util/maturin/maturin-1.11.5.ebuild b/sdk_container/src/third_party/portage-stable/dev-util/maturin/maturin-1.11.5.ebuild index 15ac1adad6e..2453d1d5537 100644 --- a/sdk_container/src/third_party/portage-stable/dev-util/maturin/maturin-1.11.5.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-util/maturin/maturin-1.11.5.ebuild @@ -18,7 +18,7 @@ SRC_URI=" " # ^ tarball also includes test-crates' Cargo.lock(s) crates for tests -LICENSE="|| ( Apache-2.0 MIT ) doc? ( OFL-1.1 )" +LICENSE="|| ( Apache-2.0 MIT ) doc? ( Apache-2.0 OFL-1.1 )" LICENSE+=" 0BSD Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD MIT MPL-2.0 Unicode-3.0 ZLIB BZIP2 diff --git a/sdk_container/src/third_party/portage-stable/dev-util/maturin/maturin-1.12.5.ebuild b/sdk_container/src/third_party/portage-stable/dev-util/maturin/maturin-1.12.5.ebuild index 8641c58221a..5bc928ae485 100644 --- a/sdk_container/src/third_party/portage-stable/dev-util/maturin/maturin-1.12.5.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-util/maturin/maturin-1.12.5.ebuild @@ -18,7 +18,7 @@ SRC_URI=" " # ^ tarball also includes test-crates' Cargo.lock(s) crates for tests -LICENSE="|| ( Apache-2.0 MIT ) doc? ( OFL-1.1 )" +LICENSE="|| ( Apache-2.0 MIT ) doc? ( Apache-2.0 OFL-1.1 )" LICENSE+=" 0BSD Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD CDLA-Permissive-2.0 MIT MPL-2.0 Unicode-3.0 ZLIB BZIP2 diff --git a/sdk_container/src/third_party/portage-stable/dev-util/maturin/maturin-1.12.6.ebuild b/sdk_container/src/third_party/portage-stable/dev-util/maturin/maturin-1.12.6.ebuild index 8641c58221a..5bc928ae485 100644 --- a/sdk_container/src/third_party/portage-stable/dev-util/maturin/maturin-1.12.6.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-util/maturin/maturin-1.12.6.ebuild @@ -18,7 +18,7 @@ SRC_URI=" " # ^ tarball also includes test-crates' Cargo.lock(s) crates for tests -LICENSE="|| ( Apache-2.0 MIT ) doc? ( OFL-1.1 )" +LICENSE="|| ( Apache-2.0 MIT ) doc? ( Apache-2.0 OFL-1.1 )" LICENSE+=" 0BSD Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD CDLA-Permissive-2.0 MIT MPL-2.0 Unicode-3.0 ZLIB BZIP2 diff --git a/sdk_container/src/third_party/portage-stable/dev-util/patchutils/Manifest b/sdk_container/src/third_party/portage-stable/dev-util/patchutils/Manifest index 4e263331885..fb0e4dd4dbc 100644 --- a/sdk_container/src/third_party/portage-stable/dev-util/patchutils/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-util/patchutils/Manifest @@ -1,3 +1,4 @@ DIST patchutils-0.4.2.tar.xz 159504 BLAKE2B 3ffcda8497b010a88e8601005871fb691ea8cac6158276862ba8e4192c333a335965288f9b5451c2fbc0a873ef95eb4a485d265387b43b0cec31b6c18d38f88e SHA512 20970d52fd43c09dc7799297b9a9eb6f60ba29ecc750d49381a2dc52273dfe484a47696cddd541f623394fa3486734cf337297cbeab6b1b244511c7740f46897 DIST patchutils-0.4.4-gnulib.patch.xz 37408 BLAKE2B 17978bdfa22e56d372f9f6180645acb2d172f543acd8a4ed388ce1bd7dd0adfed4025cabda87398bae225554ec28af415181cf5c1689dd3eed95f86ade91b542 SHA512 3511c249187c823ea1715fa772765137f1fd6e15856ef6a5e6539317e3525e7fdcffae814249209f80257f580abbb62ea6918db4bb4a9ff1396043ca124db5c9 DIST patchutils-0.4.4.tar.xz 424248 BLAKE2B 65a855a5164c193262002dc2a13a5a253d5b308ed431d49fd231ef587df2c9924b26b6c683c6162a9810290aaa65c9a4fba5e3b503517d1f815e0bd30e7be9dc SHA512 26f3ee959d7f8d7d5718ecf361436709559c62d6235114faac9a84442e9df4fb271f85eea5d96dae3969e96d88fdd9c1a9b5246696ef548fad71a8f29a026a84 +DIST patchutils-0.4.5.tar.xz 427628 BLAKE2B b465139592420a6c9875744c8fb16c9a7eb55a8f1974669e72eb5f73c4528e8b772e809b052c937fa5f0f14bf7747c215bc2e4ca9a32a83ade9a6bac38f0283c SHA512 403f2c06523f4ca5983ec669b97a5d0d3ce33d0f7cfb1d7b312357840ecd5c865ef76b11b394a5396fad859ad4693740ebe91790b9a1da9c20144c4f269c4560 diff --git a/sdk_container/src/third_party/portage-stable/dev-util/patchutils/files/0.4.5-completion-symlinks.patch b/sdk_container/src/third_party/portage-stable/dev-util/patchutils/files/0.4.5-completion-symlinks.patch new file mode 100644 index 00000000000..7e21dab30f1 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-util/patchutils/files/0.4.5-completion-symlinks.patch @@ -0,0 +1,26 @@ +https://github.com/twaugh/patchutils/pull/175 + +diff --git a/Makefile.am b/Makefile.am +index 433f4aa..7d8960c 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -179,7 +179,8 @@ install-data-hook: + mv bash-completion-patchutils interdiff && \ + for cmd in filterdiff lsdiff grepdiff combinediff flipdiff rediff \ + splitdiff recountdiff unwrapdiff dehtmldiff editdiff espdiff \ +- fixcvsdiff patchview gitdiff svndiff gitdiffview svndiffview; do \ ++ fixcvsdiff patchview gitdiff svndiff gitdiffview svndiffview \ ++ gitshow gitshowview; do \ + ln -sf interdiff "$$cmd" || true; \ + done; \ + fi +@@ -202,7 +203,8 @@ endif + cd "$(DESTDIR)$(bashcompletiondir)" && \ + for cmd in filterdiff lsdiff grepdiff interdiff combinediff flipdiff rediff \ + splitdiff recountdiff unwrapdiff dehtmldiff editdiff espdiff \ +- fixcvsdiff patchview gitdiff svndiff gitdiffview svndiffview; do \ ++ fixcvsdiff patchview gitdiff svndiff gitdiffview svndiffview \ ++ gitshow gitshowview; do \ + rm -f "$$cmd"; \ + done; \ + rm -f patchutils; \ diff --git a/sdk_container/src/third_party/portage-stable/dev-util/patchutils/files/0.4.5-const.patch b/sdk_container/src/third_party/portage-stable/dev-util/patchutils/files/0.4.5-const.patch new file mode 100644 index 00000000000..35518dc924a --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-util/patchutils/files/0.4.5-const.patch @@ -0,0 +1,69 @@ +https://github.com/twaugh/patchutils/commit/0cfe6230b6669526ef8de3a1b26b55ae9e9c96fa + +From: =?UTF-8?q?Holger=20Hoffst=C3=A4tte?= +Date: Thu, 26 Feb 2026 18:07:35 +0100 +Subject: [PATCH] More const fixes for C23 [0.4.x] +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +This is a followup to #159 and fixes more glibc-2.43/C23 related const +warnings. Where we can, we make things more const; where necessary we +explicitly treat mutable things as mutable instead of pretending that +they are not. + +Signed-off-by: Holger Hoffstätte +--- + src/diff.c | 4 ++-- + src/rediff.c | 2 +- + src/util.c | 2 +- + 3 files changed, 4 insertions(+), 4 deletions(-) + +diff --git a/src/diff.c b/src/diff.c +index 9c17e112..40c51cd2 100644 +--- a/src/diff.c ++++ b/src/diff.c +@@ -159,7 +159,7 @@ const char *stripped (const char *name, int num_components) + + unsigned long calculate_num_lines (const char *atatline, char which) + { +- char *p = strchr (atatline, which); ++ const char *p = strchr (atatline, which); + if (!p) + return 1; + while (*p && *p != ',' && *p != ' ') p++; +@@ -187,7 +187,7 @@ int read_atatline (const char *atatline, + { + char *endptr; + unsigned long res; +- char *p; ++ const char *p; + + if (orig_offset) { + p = strchr (atatline, '-'); +diff --git a/src/rediff.c b/src/rediff.c +index 10e6765c..7a4546f9 100644 +--- a/src/rediff.c ++++ b/src/rediff.c +@@ -265,7 +265,7 @@ static void copy_to (struct hunk *from, struct hunk *upto, + } + + /* Deal with an added hunk. */ +-static long added_hunk (const char *meta, long offset, FILE *modify, FILE *t, ++static long added_hunk (char *meta, long offset, FILE *modify, FILE *t, + unsigned long morig_count, unsigned long mnew_count) + { + long this_offset = 0; +diff --git a/src/util.c b/src/util.c +index 4f46f3c4..0ff86ee3 100644 +--- a/src/util.c ++++ b/src/util.c +@@ -250,7 +250,7 @@ FILE *xopen_seekable (const char *name, const char *mode) + /* unzip if needed */ + FILE *xopen_unzip (const char *name, const char *mode) + { +- char *p, *zprog = NULL; ++ const char *p, *zprog = NULL; + FILE *fi, *fo; + const size_t buflen = 64 * 1024; + char *buffer; diff --git a/sdk_container/src/third_party/portage-stable/dev-util/patchutils/patchutils-0.4.5-r1.ebuild b/sdk_container/src/third_party/portage-stable/dev-util/patchutils/patchutils-0.4.5-r1.ebuild new file mode 100644 index 00000000000..96147fc9af7 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-util/patchutils/patchutils-0.4.5-r1.ebuild @@ -0,0 +1,55 @@ +# 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 python-single-r1 toolchain-funcs + +DESCRIPTION="Collection of tools that operate on patch files" +HOMEPAGE="https://cyberelk.net/tim/software/patchutils/" +SRC_URI="https://github.com/twaugh/patchutils/releases/download/${PV}/${P}.tar.xz" + +LICENSE="GPL-2+" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +IUSE="pcre" +REQUIRED_USE="${PYTHON_REQUIRED_USE}" + +RDEPEND=" + !: -_LATEST_AUTOCONF=( 2.72-r1:2.72 ) +_LATEST_AUTOCONF=( 2.73:2.73 2.72-r1:2.72 ) # @ECLASS_VARIABLE: _LATEST_AUTOMAKE # @INTERNAL @@ -93,7 +93,7 @@ _LATEST_AUTOCONF=( 2.72-r1:2.72 ) # Do NOT change this variable in your ebuilds! # If you want to force a newer minor version, you can specify the correct # WANT value by using a colon: : -_LATEST_AUTOMAKE=( 1.18:1.18 1.17-r1:1.17 ) +_LATEST_AUTOMAKE=( 1.18.1:1.18 ) _automake_atom="dev-build/automake" _autoconf_atom="dev-build/autoconf" 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 76d3b9a61a6..6f606208296 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/cargo.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/cargo.eclass @@ -529,8 +529,7 @@ cargo_src_unpack() { ebegin "Unpacking crates" printf '%s\0' "${crates[@]}" | xargs -0 -P "$(makeopts_jobs)" -n 1 -t -- \ - tar -x -C "${ECARGO_VENDOR}" -f - assert + tar -x -C "${ECARGO_VENDOR}" -f || die eend $? while read -d '' -r shasum archive; do @@ -556,6 +555,7 @@ cargo_src_unpack() { eqawarn "a crate tarball instead and fetch it via SRC_URI. You can use" eqawarn "'pycargoebuild --crate-tarball' to create one." fi + einfo "this package uses ${#crates[@]} number of crates: you are all good" fi cargo_gen_config diff --git a/sdk_container/src/third_party/portage-stable/eclass/cmake.eclass b/sdk_container/src/third_party/portage-stable/eclass/cmake.eclass index 643370f5353..5ea90aa4da2 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/cmake.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/cmake.eclass @@ -601,6 +601,7 @@ cmake_src_configure() { case "${KERNEL:-linux}" in Cygwin) sysname="CYGWIN_NT-5.1" ;; HPUX) sysname="HP-UX" ;; + Hurd) sysname="GNU" ;; linux) sysname="Linux" ;; Winnt) sysname="Windows" diff --git a/sdk_container/src/third_party/portage-stable/eclass/distutils-r1.eclass b/sdk_container/src/third_party/portage-stable/eclass/distutils-r1.eclass index b9807554c65..7cafa199bda 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/distutils-r1.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/distutils-r1.eclass @@ -217,7 +217,7 @@ if [[ -z ${_DISTUTILS_R1_ECLASS} ]]; then _DISTUTILS_R1_ECLASS=1 case ${EAPI} in - 8) ;; + 8) inherit eapi9-pipestatus ;; *) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;; esac @@ -1454,13 +1454,13 @@ distutils-r1_python_install() { ( cd "${reg_scriptdir}" && find . -mindepth 1 ) | sort > "${T}"/.distutils-files-bin - assert "listing ${reg_scriptdir} failed" + pipestatus || die "listing ${reg_scriptdir} failed" ( if [[ -d ${wrapped_scriptdir} ]]; then cd "${wrapped_scriptdir}" && find . -mindepth 1 fi ) | sort > "${T}"/.distutils-files-wrapped - assert "listing ${wrapped_scriptdir} failed" + pipestatus || die "listing ${wrapped_scriptdir} failed" if ! diff -U 0 "${T}"/.distutils-files-{bin,wrapped}; then die "File lists for ${reg_scriptdir} and ${wrapped_scriptdir} differ (see diff above)" fi diff --git a/sdk_container/src/third_party/portage-stable/eclass/flag-o-matic.eclass b/sdk_container/src/third_party/portage-stable/eclass/flag-o-matic.eclass index 830e42f1b9a..8474e844f78 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/flag-o-matic.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/flag-o-matic.eclass @@ -4,7 +4,7 @@ # @ECLASS: flag-o-matic.eclass # @MAINTAINER: # toolchain@gentoo.org -# @SUPPORTED_EAPIS: 7 8 +# @SUPPORTED_EAPIS: 7 8 9 # @BLURB: common functions to manipulate and query toolchain flags # @DESCRIPTION: # This eclass contains a suite of functions to help developers sanely @@ -14,7 +14,7 @@ if [[ -z ${_FLAG_O_MATIC_ECLASS} ]]; then _FLAG_O_MATIC_ECLASS=1 case ${EAPI} in - 7|8) ;; + 7|8|9) ;; *) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;; esac @@ -853,9 +853,24 @@ get-flag() { # `get-flag march` == "i686" for var in $(all-flag-vars) ; do for f in ${!var} ; do - if [ "${f/${findflag}}" != "${f}" ] ; then - printf "%s\n" "${f/-${findflag}=}" - return 0 + if [[ ${EAPI} = [78] && -z "${_FLAG_O_MATIC_TESTS_FAKE_EAPI_NINE}" ]]; then + if [[ "${f/${findflag}}" != "${f}" ]] ; then + printf "%s\n" "${f/-${findflag}=}" + return 0 + fi + else + # Print RHS for "flag" (no leading "-") + if [[ "${f#-${findflag}=}" != "${f}" ]] ; then + printf "%s\n" "${f#-${findflag}=}" + return 0 + fi + # Print full match for any of: + # "-flag" with leading "-" + # "flag" without leading "-" that has no unmatched succeeding =value + if [[ ${f} = -${findflag#-} || ${f%=*} = ${findflag} ]] ; then + printf "%s\n" "${f}" + return 0 + fi fi done done diff --git a/sdk_container/src/third_party/portage-stable/eclass/git-r3.eclass b/sdk_container/src/third_party/portage-stable/eclass/git-r3.eclass index 35ad6afe8e8..719e2eea4fb 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/git-r3.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/git-r3.eclass @@ -1,10 +1,10 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 # @ECLASS: git-r3.eclass # @MAINTAINER: # MichaÅ‚ Górny -# @SUPPORTED_EAPIS: 7 8 +# @SUPPORTED_EAPIS: 7 8 9 # @BLURB: Eclass for fetching and unpacking git repositories. # @DESCRIPTION: # Third generation eclass for easing maintenance of live ebuilds using @@ -25,14 +25,14 @@ # defined but EGIT_LFS is not turned on and vice versa. # If non-empty, then the repo likely needs EGIT_LFS to clone properly. +if [[ -z ${_GIT_R3_ECLASS} ]]; then +_GIT_R3_ECLASS=1 + case ${EAPI} in - 7|8) ;; + 7|8|9) ;; *) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;; esac -if [[ -z ${_GIT_R3_ECLASS} ]]; then -_GIT_R3_ECLASS=1 - PROPERTIES+=" live" BDEPEND=">=dev-vcs/git-1.8.2.1[curl]" @@ -247,8 +247,8 @@ EVCS_STORE_DIRS=() # @FUNCTION: _git-r3_env_setup # @INTERNAL # @DESCRIPTION: -# Set the eclass variables as necessary for operation. This can involve -# setting EGIT_* to defaults or ${PN}_LIVE_* variables. +# Set the eclass variables as necessary for operation. This can involve +# setting EGIT_* to defaults. _git-r3_env_setup() { debug-print-function ${FUNCNAME} "$@" @@ -293,26 +293,29 @@ _git-r3_env_setup() { esc_pn=${PN//[-+]/_} [[ ${esc_pn} == [0-9]* ]] && esc_pn=_${esc_pn} + _git-r3_livevar_warn_or_die() { + case ${EAPI} in + 7|8) ewarn "Using ${livevar}, no support will be provided" ;; + *) die "${livevar} is no longer supported in EAPI ${EAPI}" ;; + esac + } + # note: deprecated, use EGIT_OVERRIDE_* instead livevar=${esc_pn}_LIVE_REPO EGIT_REPO_URI=${!livevar-${EGIT_REPO_URI}} - [[ ${!livevar} ]] \ - && ewarn "Using ${livevar}, no support will be provided" + [[ ${!livevar} ]] && _git-r3_livevar_warn_or_die livevar=${esc_pn}_LIVE_BRANCH EGIT_BRANCH=${!livevar-${EGIT_BRANCH}} - [[ ${!livevar} ]] \ - && ewarn "Using ${livevar}, no support will be provided" + [[ ${!livevar} ]] && _git-r3_livevar_warn_or_die livevar=${esc_pn}_LIVE_COMMIT EGIT_COMMIT=${!livevar-${EGIT_COMMIT}} - [[ ${!livevar} ]] \ - && ewarn "Using ${livevar}, no support will be provided" + [[ ${!livevar} ]] && _git-r3_livevar_warn_or_die livevar=${esc_pn}_LIVE_COMMIT_DATE EGIT_COMMIT_DATE=${!livevar-${EGIT_COMMIT_DATE}} - [[ ${!livevar} ]] \ - && ewarn "Using ${livevar}, no support will be provided" + [[ ${!livevar} ]] && _git-r3_livevar_warn_or_die if [[ ${EGIT_COMMIT} && ${EGIT_COMMIT_DATE} ]]; then die "EGIT_COMMIT and EGIT_COMMIT_DATE can not be specified simultaneously" diff --git a/sdk_container/src/third_party/portage-stable/eclass/go-env.eclass b/sdk_container/src/third_party/portage-stable/eclass/go-env.eclass index b2b240b5ef2..e686d9ef903 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/go-env.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/go-env.eclass @@ -1,4 +1,4 @@ -# Copyright 2023-2025 Gentoo Authors +# Copyright 2023-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 # @ECLASS: go-env.eclass @@ -7,10 +7,74 @@ # @AUTHOR: # Flatcar Linux Maintainers # @SUPPORTED_EAPIS: 7 8 -# @BLURB: Helper eclass for setting the Go compile environment. Required for cross-compiling. +# @BLURB: Helper eclass for setting up the Go build environment. # @DESCRIPTION: -# This eclass includes helper functions for setting the compile environment for Go ebuilds. -# Intended to be called by other Go eclasses in an early build stage, e.g. src_unpack. +# This eclass includes helper functions for setting up the build environment for +# Go ebuilds. Intended to be called by other Go eclasses in an early build +# stage, e.g. src_unpack. + +# @ECLASS_VARIABLE: GOMAXPROCS +# @USER_VARIABLE +# @DEFAULT_UNSET +# @DESCRIPTION: +# The maximum number of processes for the Go runtime to run in parallel. See +# https://pkg.go.dev/runtime#GOMAXPROCS. If unset, this defaults to the +# configured number of Make jobs. Unfortunately, Go does not currently support +# the GNU Make jobserver, so this may not play nicely alongside other build +# processes. However, Go code is often built without a supporting build system +# or without other non-Go code, so this should be sufficient in most cases. + +# @ECLASS_VARIABLE: GOAMD64 +# @USER_VARIABLE +# @DEFAULT_UNSET +# @DESCRIPTION: +# Optimisation setting for amd64 when building for CHOST. See +# https://golang.org/wiki/MinimumRequirements#amd64. + +# @ECLASS_VARIABLE: GOARM64 +# @USER_VARIABLE +# @DEFAULT_UNSET +# @DESCRIPTION: +# Optimisation setting for arm64 when building for CHOST. See +# https://pkg.go.dev/cmd/go/internal/help#pkg-variables. + +# @ECLASS_VARIABLE: GOPPC64 +# @USER_VARIABLE +# @DEFAULT_UNSET +# @DESCRIPTION: +# Optimisation setting for ppc64 when building for CHOST. See +# https://pkg.go.dev/cmd/go/internal/help#pkg-variables. + +# @ECLASS_VARIABLE: GORISCV64 +# @USER_VARIABLE +# @DEFAULT_UNSET +# @DESCRIPTION: +# Optimisation setting for riscv when building for CHOST. See +# https://pkg.go.dev/cmd/go/internal/help#pkg-variables. + +# @ECLASS_VARIABLE: BUILD_GOAMD64 +# @USER_VARIABLE +# @DEFAULT_UNSET +# @DESCRIPTION: +# Optimisation setting for amd64 when building for CBUILD. + +# @ECLASS_VARIABLE: BUILD_GOARM64 +# @USER_VARIABLE +# @DEFAULT_UNSET +# @DESCRIPTION: +# Optimisation setting for arm64 when building for CBUILD. + +# @ECLASS_VARIABLE: BUILD_GOPPC64 +# @USER_VARIABLE +# @DEFAULT_UNSET +# @DESCRIPTION: +# Optimisation setting for ppc64 when building for CBUILD. + +# @ECLASS_VARIABLE: BUILD_GORISCV64 +# @USER_VARIABLE +# @DEFAULT_UNSET +# @DESCRIPTION: +# Optimisation setting for riscv when building for CBUILD. case ${EAPI} in 7|8) ;; @@ -20,50 +84,89 @@ esac if [[ -z ${_GO_ENV_ECLASS} ]]; then _GO_ENV_ECLASS=1 -inherit flag-o-matic toolchain-funcs +inherit flag-o-matic multiprocessing sysroot toolchain-funcs # @FUNCTION: go-env_set_compile_environment # @DESCRIPTION: -# Set up basic compile environment: CC, CXX, and GOARCH. -# Necessary platform-specific settings such as GOARM or GO386 are also set -# according to the Portage configuration when building for those architectures. -# Also carry over CFLAGS, LDFLAGS and friends. -# Required for cross-compiling with crossdev. -# If not set, host defaults will be used and the resulting binaries are host arch. -# (e.g. "emerge-aarch64-cross-linux-gnu foo" run on x86_64 will emerge "foo" for x86_64 -# instead of aarch64) +# Sets up the environment to build Go code for CHOST. This includes variables +# required for cross-compiling, cgo-related variables, and architecture-specific +# variables. GO386, GOARM, GOMIPS, and GOMIPS64 are set based on the tuple. +# Variables for other architectures need to be set manually by users. This +# function must be called (implicitly or otherwise) before building any Go code +# whether cross-compiling or not. Make any build flag changes (e.g. CFLAGS) +# before calling this function. go-env_set_compile_environment() { - tc-export CC CXX PKG_CONFIG + tc-export AR CC CXX FC PKG_CONFIG + + # Go uses all cores by default. Use the configured number of Make jobs, but + # respect the user value, as described above. + : "${GOMAXPROCS=$(get_makeopts_jobs)}" + export GOMAXPROCS - export GOARCH="$(go-env_goarch)" - use arm && export GOARM=$(go-env_goarm) - use x86 && export GO386=$(go-env_go386) + # The following GOFLAGS should be used for all builds. + # -x prints commands as they are executed + # -v prints the names of packages as they are compiled + # -modcacherw makes the build cache read/write + # -buildvcs=false omits version control information + # -buildmode=pie builds position independent executables + export \ + GOFLAGS="-x -v -modcacherw -buildvcs=false" \ + GOARCH=$(go-env_goarch) \ + GOOS=$(go-env_goos) + + case ${GOARCH} in + 386|amd64|arm*|ppc64le|s390*) GOFLAGS+=" -buildmode=pie" ;; + esac + + case ${GOARCH} in + 386) export GO386=$(go-env_go386) ;; + arm|armbe) export GOARM=$(go-env_goarm) ;; + mips64*) export GOMIPS64=$(go-env_gomips) ;; + mips*) export GOMIPS=$(go-env_gomips) ;; + esac + + # Don't modify the non-Go variables outside this function. + local -I $(all-flag-vars) - # XXX: Hack for checking ICE (bug #912152, gcc PR113204) 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 - filter-lto - fi + $(tc-getCC) -v 2>&1 | grep -Eqe "--enable-checking=\S*\byes\b" && filter-lto + + # bug #929219 + replace-flags -g3 -g + replace-flags -ggdb3 -ggdb fi - export CGO_CFLAGS="${CGO_CFLAGS:-$CFLAGS}" - export CGO_CPPFLAGS="${CGO_CPPFLAGS:-$CPPFLAGS}" - export CGO_CXXFLAGS="${CGO_CXXFLAGS:-$CXXFLAGS}" - export CGO_LDFLAGS="${CGO_LDFLAGS:-$LDFLAGS}" + export \ + CGO_CFLAGS=${CFLAGS} \ + CGO_CPPFLAGS=${CPPFLAGS} \ + CGO_CXXFLAGS=${CXXFLAGS} \ + CGO_LDFLAGS=${LDFLAGS} - # bug #929219 - if tc-is-gcc ; then - CGO_CFLAGS=$( - CFLAGS=${CGO_CFLAGS} - replace-flags -g3 -g - replace-flags -ggdb3 -ggdb - printf %s "${CFLAGS}" - ) + # go run will build binaries for the target system and try to execute them. + # This will fail when cross-compiling unless you provide a wrapper. + local script + if script=$(sysroot_make_run_prefixed); then + GOFLAGS+=" -exec=${script}" "${@}" fi } +# @FUNCTION: go-env_run +# @DESCRIPTION: +# Runs the given command under a localised environment configured by +# go-env_set_compile_environment. It is not usually necessary to call this, but +# it is useful when combined with tc-env_build. +go-env_run() { + local -I AR CC CXX FC PKG_CONFIG \ + GO{FLAGS,MAXPROCS,ARCH,OS,386,ARM,MIPS,MIPS64} \ + CGO_{CFLAGS,CPPFLAGS,CXXFLAGS,LDFLAGS} + + go-env_set_compile_environment + "${@}" +} + # @FUNCTION: go-env_goos # @USAGE: [toolchain prefix] # @DESCRIPTION: @@ -129,19 +232,38 @@ go-env_go386() { } # @FUNCTION: go-env_goarm -# @USAGE: [CHOST-value] +# @USAGE: [tuple] # @DESCRIPTION: -# Returns the appropriate GOARM setting for the CHOST given, or the default -# CHOST. +# Returns the appropriate GOARM setting for given target or CHOST. go-env_goarm() { - case "${1:-${CHOST}}" in - armv5*) echo 5;; - armv6*) echo 6;; - armv7*) echo 7;; - *) - die "unknown GOARM for ${1:-${CHOST}}" - ;; + local CTARGET=${1:-${CHOST}} + + case ${CTARGET} in + armv5*) echo -n 5 ;; + armv6*) echo -n 6 ;; + armv7*) echo -n 7 ;; + *) die "unknown GOARM for ${CTARGET}" ;; esac + + if [[ $(tc-is-softfloat) == no ]]; then + echo ,hardfloat + else + echo ,softfloat + fi +} + +# @FUNCTION: go-env_gomips +# @USAGE: [tuple] +# @DESCRIPTION: +# Returns the appropriate GOMIPS or GOMIPS64 setting for given target or CHOST. +go-env_gomips() { + local CTARGET=${1:-${CHOST}} + + if [[ $(tc-is-softfloat) == no ]]; then + echo hardfloat + else + echo softfloat + fi } fi 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 2399fb56e9a..5294f50d8ad 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 @@ -68,7 +68,7 @@ esac if [[ -z ${_GO_MODULE_ECLASS} ]]; then _GO_MODULE_ECLASS=1 -inherit multiprocessing toolchain-funcs go-env +inherit toolchain-funcs go-env if [[ ! ${GO_OPTIONAL} ]]; then BDEPEND=">=dev-lang/go-1.20:=" @@ -93,14 +93,6 @@ export GOCACHE="${T}/go-build" # See "go help environment" for information on this setting export GOMODCACHE="${WORKDIR}/go-mod" -# The following go flags should be used for all builds. -# -buildmode=pie builds position independent executables -# -buildvcs=false omits version control information -# -modcacherw makes the build cache read/write -# -v prints the names of packages as they are compiled -# -x prints commands as they are executed -export GOFLAGS="-buildvcs=false -modcacherw -v -x" - # Do not complain about CFLAGS etc since go projects do not use them. QA_FLAGS_IGNORED='.*' @@ -362,11 +354,6 @@ go-module_setup_proxy() { # 3. Otherwise, call 'ego mod verify' and then do a normal unpack. # Set compile env via go-env. go-module_src_unpack() { - if use amd64 || use arm || use arm64 || - ( use ppc64 && [[ $(tc-endian) == "little" ]] ) || use s390 || use x86; then - GOFLAGS="-buildmode=pie ${GOFLAGS}" - fi - GOFLAGS="${GOFLAGS} -p=$(makeopts_jobs)" if [[ "${#EGO_SUM[@]}" -gt 0 ]]; then eqawarn "QA Notice: This ebuild uses EGO_SUM which is deprecated" eqawarn "Please migrate to a dependency tarball" diff --git a/sdk_container/src/third_party/portage-stable/eclass/linux-mod-r1.eclass b/sdk_container/src/third_party/portage-stable/eclass/linux-mod-r1.eclass index 49ae882f7e9..247739b9519 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/linux-mod-r1.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/linux-mod-r1.eclass @@ -352,6 +352,7 @@ linux-mod-r1_pkg_setup() { _modules_prepare_cross _modules_sanity_gccplugins + _modules_sanity_objtool } # @FUNCTION: linux-mod-r1_src_compile @@ -1277,6 +1278,37 @@ _modules_sanity_modversion() { done } +# @FUNCTION: _modules_sanity_objtool +# @INTERNAL +# @DESCRIPTION: +# Checks that the kernel's objtool is usable if it exists. If not, +# abort right away with an explanation rather than do so later with +# a confusing error (bug #971092). +# +# Ever since it started to use binutils-libs in kernel >=6.19, it has +# become likely to be broken whenever binutils-libs is upgraded. +_modules_sanity_objtool() { + # ignore cross to keep this simple/safe without doing proper + # testing, albeit objtool should in theory be usable on CBUILD + tc-is-cross-compiler && return 0 + + local objtool=${KV_OUT_DIR}/tools/objtool/objtool + # if missing, assume this is a older kernel + if [[ -e ${objtool} ]]; then + "${objtool}" &>/dev/null + + # without arguments objtool is likely to return 129 unless + # one of its libraries is missing which results in 127 + if [[ ${?} -eq 127 ]]; then + eerror "Detected that '${objtool}' is not usable." + eerror "This is often because it uses old libraries that have been removed from" + eerror "the system. This can typically be fixed by rebuilding the kernel after" + eerror "doing \`make clean\` (or re-installing for distribution kernels)." + die "kernel ${KV_FULL} needs to be rebuilt" + fi + fi +} + # @FUNCTION: _modules_set_makeargs # @INTERNAL # @DESCRIPTION: diff --git a/sdk_container/src/third_party/portage-stable/eclass/mercurial.eclass b/sdk_container/src/third_party/portage-stable/eclass/mercurial.eclass index 0d700c79930..24559c1d588 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/mercurial.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/mercurial.eclass @@ -1,4 +1,4 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 2006-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 # @ECLASS: mercurial.eclass @@ -7,7 +7,7 @@ # @AUTHOR: # Next gen author: Krzysztof Pawlik # Original author: Aron Griffis -# @SUPPORTED_EAPIS: 7 8 +# @SUPPORTED_EAPIS: 7 8 9 # @BLURB: This eclass provides generic mercurial fetching functions # @DESCRIPTION: # This eclass provides generic mercurial fetching functions. To fetch sources @@ -15,14 +15,14 @@ # you need to share single repository between several ebuilds set EHG_PROJECT to # project name in all of them. +if [[ -z ${_MERCURIAL_ECLASS} ]] ; then +_MERCURIAL_ECLASS=1 + case ${EAPI:-0} in - [78]) ;; + 7|8|9) ;; *) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;; esac -if [[ -z ${_MERCURIAL_ECLASS} ]] ; then -_MERCURIAL_ECLASS=1 - PROPERTIES+=" live" BDEPEND="dev-vcs/mercurial" diff --git a/sdk_container/src/third_party/portage-stable/eclass/meson.eclass b/sdk_container/src/third_party/portage-stable/eclass/meson.eclass index e07e4b87983..60ce6593e8d 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/meson.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/meson.eclass @@ -122,6 +122,7 @@ _meson_get_machine_info() { *-linux*) system=linux ;; mingw*|*-mingw*) system=windows ;; *-solaris*) system=sunos ;; + *-gnu) system=gnu ;; esac cpu_family=$(tc-arch "${tuple}") 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 240365ab738..807813f3f3b 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 @@ -27,7 +27,7 @@ if [[ -z ${_PYTHON_UTILS_R1_ECLASS} ]]; then _PYTHON_UTILS_R1_ECLASS=1 case ${EAPI} in - 7|8) ;; + 7|8) inherit eapi9-pipestatus ;; *) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;; esac @@ -1231,12 +1231,12 @@ _python_check_occluded_packages() { comm -1 -3 <( find "${fn}" -type f -not -path '*/__pycache__/*' | sort - assert + pipestatus || die ) <( cd "${sitedir}" && find "${fn}" -type f -not -path '*/__pycache__/*' | sort - assert + pipestatus || die ) ) diff --git a/sdk_container/src/third_party/portage-stable/eclass/readme.gentoo-r1.eclass b/sdk_container/src/third_party/portage-stable/eclass/readme.gentoo-r1.eclass index 02167a746f5..e2830080956 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/readme.gentoo-r1.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/readme.gentoo-r1.eclass @@ -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 # @ECLASS: readme.gentoo-r1.eclass @@ -6,7 +6,7 @@ # Pacho Ramos # @AUTHOR: # Author: Pacho Ramos -# @SUPPORTED_EAPIS: 7 8 +# @SUPPORTED_EAPIS: 7 8 9 # @BLURB: install a doc file shown via elog messages # @DESCRIPTION: # An eclass for installing a README.gentoo doc file recording tips @@ -21,7 +21,8 @@ if [[ -z ${_README_GENTOO_ECLASS} ]]; then _README_GENTOO_ECLASS=1 case ${EAPI} in - 7|8) ;; + 7|8) inherit eapi9-pipestatus ;; + 9) ;; *) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;; esac @@ -64,7 +65,7 @@ readme.gentoo_create_doc() { set -f # disable filename expansion in echo arguments echo -e ${DOC_CONTENTS} | fold -s -w 70 \ | sed 's/[[:space:]]*$//' > "${T}"/README.gentoo - assert + pipestatus || die set +f -${saved_flags} fi elif [[ -f "${FILESDIR}/README.gentoo-${SLOT%/*}" ]]; then diff --git a/sdk_container/src/third_party/portage-stable/eclass/rpm.eclass b/sdk_container/src/third_party/portage-stable/eclass/rpm.eclass index e00332e55ca..3b7f9e64355 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/rpm.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/rpm.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: rpm.eclass @@ -8,7 +8,7 @@ # @BLURB: convenience class for extracting RPMs case ${EAPI} in - 7|8) ;; + 7|8) inherit eapi9-pipestatus ;; *) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;; esac @@ -17,7 +17,12 @@ _RPM_ECLASS=1 inherit estack -BDEPEND="app-arch/rpm2targz" +BDEPEND=" + || ( + app-arch/rpm2targz + >=app-arch/rpm-4.19.0 + ) +" # @FUNCTION: rpm_unpack # @USAGE: @@ -37,8 +42,16 @@ rpm_unpack() { else a="${DISTDIR}/${a}" fi - rpm2tar -O "${a}" | tar xf - - assert "failure unpacking ${a}" + + if command -v rpm2tar >/dev/null; then + local extracttool=(rpm2tar -O) + else + # app-arch/rpm fallback + local extracttool=(rpm2archive -n) + fi + + "${extracttool[@]}" "${a}" | tar xf - + pipestatus || die "failure unpacking ${a}" done } 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 bd00c436598..9569e8c1888 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,7 @@ fi # Definitive list of Rust slots and the associated LLVM slot, newest first. declare -A -g -r _RUST_LLVM_MAP=( ["9999"]=22 + ["1.95.0"]=22 ["1.94.0"]=21 ["1.93.1"]=21 ["1.93.0"]=21 @@ -102,6 +103,7 @@ 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.95.0" "1.94.0" "1.93.1" "1.93.0" diff --git a/sdk_container/src/third_party/portage-stable/eclass/sysroot.eclass b/sdk_container/src/third_party/portage-stable/eclass/sysroot.eclass index 3427c421bf2..de0a4ef3164 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/sysroot.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/sysroot.eclass @@ -6,7 +6,7 @@ # cross@gentoo.org # @AUTHOR: # James Le Cuirot -# @SUPPORTED_EAPIS: 7 8 +# @SUPPORTED_EAPIS: 7 8 9 # @BLURB: Common functions for using a different (sys)root # @DESCRIPTION: # This eclass provides common functions to run executables within a different @@ -14,7 +14,7 @@ # functions can be used in src_* or pkg_* phase functions. case ${EAPI} in - 7|8) ;; + 7|8|9) ;; *) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;; esac diff --git a/sdk_container/src/third_party/portage-stable/eclass/tmpfiles.eclass b/sdk_container/src/third_party/portage-stable/eclass/tmpfiles.eclass index f543eaf4eb1..ef73b3b87bc 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/tmpfiles.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/tmpfiles.eclass @@ -1,4 +1,4 @@ -# Copyright 2016-2024 Gentoo Authors +# Copyright 2016-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 # @ECLASS: tmpfiles.eclass @@ -139,6 +139,8 @@ tmpfiles_process() { systemd-tmpfiles --create "$@" elif type tmpfiles &> /dev/null; then tmpfiles --create "$@" + elif type seedfiles &> /dev/null; then + seedfiles --create "$@" fi if [[ $? -ne 0 ]]; then ewarn "The tmpfiles processor exited with a non-zero exit code" diff --git a/sdk_container/src/third_party/portage-stable/eclass/toolchain-funcs.eclass b/sdk_container/src/third_party/portage-stable/eclass/toolchain-funcs.eclass index 89da26b867b..d6571dbb203 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/toolchain-funcs.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/toolchain-funcs.eclass @@ -369,6 +369,13 @@ tc-export_build_env() { : "${BUILD_CXXFLAGS:=${CXXFLAGS}}" : "${BUILD_CPPFLAGS:=${CPPFLAGS}}" : "${BUILD_LDFLAGS:=${LDFLAGS}}" + + if has go-env ${INHERITED}; then + : "${BUILD_GOAMD64:=${GOAMD64}}" + : "${BUILD_GOARM64:=${GOARM64}}" + : "${BUILD_GOPPC64:=${GOPPC64}}" + : "${BUILD_GORISCV64:=${GORISCV64}}" + fi fi export BUILD_{C,CXX,CPP,LD}FLAGS @@ -388,6 +395,13 @@ tc-export_build_env() { # the target build system does not check. tc-env_build() { tc-export_build_env + + has go-env ${INHERITED} && local -x \ + GOAMD64=${BUILD_GOAMD64} \ + GOARM64=${BUILD_GOARM64} \ + GOPPC64=${BUILD_GOPPC64} \ + GORISCV64=${BUILD_GORISCV64} + CFLAGS=${BUILD_CFLAGS} \ CXXFLAGS=${BUILD_CXXFLAGS} \ CPPFLAGS=${BUILD_CPPFLAGS} \ @@ -402,6 +416,9 @@ tc-env_build() { PKG_CONFIG=$(tc-getBUILD_PKG_CONFIG) \ RANLIB=$(tc-getBUILD_RANLIB) \ READELF=$(tc-getBUILD_READELF) \ + CHOST=${CBUILD:-${CHOST}} \ + ESYSROOT=${BROOT} \ + SYSROOT= \ "$@" } @@ -445,8 +462,7 @@ tc-env_build() { # @CODE econf_build() { local CBUILD=${CBUILD:-${CHOST}} - econf_env() { CHOST=${CBUILD} econf "$@"; } - tc-env_build econf_env "$@" + tc-env_build econf "$@" } # @FUNCTION: tc-ld-is-bfd @@ -783,6 +799,7 @@ tc-ninja_magic_to_arch() { bfin*) _tc_echo_kernel_alias blackfin bfin;; c6x*) echo c6x;; cris*) echo cris;; + e2k*) echo e2k;; frv*) echo frv;; hexagon*) echo hexagon;; hppa*) _tc_echo_kernel_alias parisc hppa;; @@ -871,6 +888,7 @@ tc-endian() { arm*b*) echo big;; arm*) echo little;; cris*) echo little;; + e2k*) echo little;; hppa*) echo big;; i?86*) echo little;; ia64*) echo little;; diff --git a/sdk_container/src/third_party/portage-stable/eclass/toolchain.eclass b/sdk_container/src/third_party/portage-stable/eclass/toolchain.eclass index da25e1dfc5b..cad0a7203d2 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/toolchain.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/toolchain.eclass @@ -1803,7 +1803,11 @@ toolchain_src_configure() { fi if in_iuse systemtap ; then - confgcc+=( $(use_enable systemtap) ) + if is_crosscompile ; then + confgcc+=( --disable-systemtap ) + else + confgcc+=( $(use_enable systemtap) ) + fi fi if in_iuse valgrind ; then diff --git a/sdk_container/src/third_party/portage-stable/eclass/unpacker.eclass b/sdk_container/src/third_party/portage-stable/eclass/unpacker.eclass index e51c51dfa33..a31d2580b4e 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/unpacker.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/unpacker.eclass @@ -16,7 +16,7 @@ # - support partial unpacks? case ${EAPI} in - 7|8) ;; + 7|8) inherit eapi9-pipestatus ;; *) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;; esac @@ -142,28 +142,23 @@ unpack_pdv() { # | dd ibs=${tailskip} skip=1 \ # | gzip -dc \ # > ${datafile} + local decompress=(cat) if [ ${iscompressed} -eq 1 ] ; then if [ ${istar} -eq 1 ] ; then - tail -c +$((${tailskip}+1)) "${src}" 2>/dev/null \ - | head -c $((${metaskip}-${tailskip})) \ - | tar -xzf - + decompress=(tar -xzf -) else - tail -c +$((${tailskip}+1)) "${src}" 2>/dev/null \ - | head -c $((${metaskip}-${tailskip})) \ - | gzip -dc \ - > ${datafile} + decompress=(gzip -dc) fi else if [ ${istar} -eq 1 ] ; then - tail -c +$((${tailskip}+1)) "${src}" 2>/dev/null \ - | head -c $((${metaskip}-${tailskip})) \ - | tar --no-same-owner -xf - - else - tail -c +$((${tailskip}+1)) "${src}" 2>/dev/null \ - | head -c $((${metaskip}-${tailskip})) \ - > ${datafile} + decompress=(tar --no-same-owner -xf -) fi + fi + + tail -c +$((${tailskip}+1)) "${src}" 2>/dev/null \ + | head -c $((${metaskip}-${tailskip})) \ + "${decompress[@]}" > "${datafile}" true #[ -s "${datafile}" ] || die "failure unpacking pdv ('${metaskip}' '${tailskip}' '${datafile}')" #assert "failure unpacking pdv ('${metaskip}' '${tailskip}' '${datafile}')" @@ -281,7 +276,7 @@ unpack_makeself() { [[ -z ${decomp} ]] && decomp=$(_unpacker_get_decompressor ".${suffix}") "${exe[@]}" | ${decomp} | tar --no-same-owner -xf - - assert "failure unpacking (${filetype}) makeself ${src##*/} ('${ver}' +${skip})" + pipestatus || die "failure unpacking (${filetype}) makeself ${src##*/} ('${ver}' +${skip})" } # @FUNCTION: unpack_deb @@ -310,7 +305,7 @@ unpack_deb() { if [[ ${f} = "data.tar"* ]] ; then local decomp=$(_unpacker_get_decompressor "${f}") head -c "${size}" | ${decomp:-cat} - assert "unpacking ${f} from ${deb} failed" + pipestatus || die "unpacking ${f} from ${deb} failed" break else head -c "${size}" > /dev/null # trash it @@ -320,14 +315,14 @@ unpack_deb() { else local f=$( $(tc-getBUILD_AR) t "${deb}" | grep ^data.tar - assert "data not found in ${deb}" + pipestatus || die "data not found in ${deb}" ) local decomp=$(_unpacker_get_decompressor "${f}") $(tc-getBUILD_AR) p "${deb}" "${f}" | ${decomp:-cat} - assert "unpacking ${f} from ${deb} failed" + pipestatus || die "unpacking ${f} from ${deb} failed" fi } | tar --no-same-owner -xf - - assert "unpacking ${deb} failed" + pipestatus || die "unpacking ${deb} failed" } # @FUNCTION: unpack_cpio @@ -491,7 +486,7 @@ unpack_gpkg() { mkdir -p "${dirname}" || die tar -xOf "${gpkg}" "${images[0]}" | ${decomp:-cat} | tar --no-same-owner -C "${dirname}" -xf - - assert "Unpacking ${gpkg} failed" + pipestatus || die "Unpacking ${gpkg} failed" } # @FUNCTION: _unpacker @@ -569,7 +564,7 @@ _unpacker() { ${comp} < "${a}" | ${arch} - fi - assert "unpacking ${a} failed (comp=${comp} arch=${arch})" + pipestatus || die "unpacking ${a} failed (comp=${comp} arch=${arch})" } # @FUNCTION: unpacker diff --git a/sdk_container/src/third_party/portage-stable/media-libs/libpng/Manifest b/sdk_container/src/third_party/portage-stable/media-libs/libpng/Manifest index 1cccbbbde04..92b98be5bf4 100644 --- a/sdk_container/src/third_party/portage-stable/media-libs/libpng/Manifest +++ b/sdk_container/src/third_party/portage-stable/media-libs/libpng/Manifest @@ -1,11 +1,2 @@ -DIST libpng-1.6.47-libpng-apng-apng.patch.gz 10697 BLAKE2B eadf410ea5ef073e444dd1158dfdb80900a594fb1cc41edfd1c63524bdd92195d10a9e0d0fbe1bf729a5df2970994d5617e56d85c861d0b845a815fdec3c4200 SHA512 5ea0e661f83a1966791eef3479ad7496787d3bc9eb6911475384da1c027444b1158bdb0f169d400ee9e1444c93e2bf435a4d8eb411901dd8e839b059baf9f38d -DIST libpng-1.6.47.tar.xz 1054664 BLAKE2B 3dafe005931cd5b7709278f8d1961250c1d80ade4e73b568a211b409e7cac44f42692c6501851620ccd549d5c466b697dc6bbecf56e969e00b54c22a7cde0d72 SHA512 932578dedd7916e2c502d8d11eef845e15733e84062510ba246b027d5467efe786725ff3dd22b9a33ff6a052c8dab3da3b45cb737a00caed43b6598c2bd8122b -DIST libpng-1.6.49-libpng-apng-apng.patch.gz 10676 BLAKE2B a726acae0da7905c5f1c59e42bcef8c3b46c545bf4955e0c40a21f0ed928b43af47e3dd6a771a3fb954fb6172218bec0472c62f591b4c470fc14a99a873645d3 SHA512 d3a7121f892049f5488f32b5de29fb8892f2b329ee1df956b129918601946ab86a542a4412587ee5f660c581484812aaf101f953bcc187c993d98ba9d8d63a00 -DIST libpng-1.6.50.tar.xz 1060992 BLAKE2B 2191536b4448d3a058b9dbb31f3d780959c9daf7b104550cc89e8ae984a3c9f01b86bf6c6708983989b4bfbe7232e3716b8a3b8cd3313a12c31e0623b6241d11 SHA512 05adc94ef532bbddaae46e087088a23236e6528fd3fc705c8edfb5ff293983b790d4361d6b20c20df73632a9fbe55d2f394296385cd8efd646f58393ff21257d -DIST libpng-1.6.51-libpng-apng-apng.patch.gz 10686 BLAKE2B 71cab27854831c640de6d2d3dc3c1e38cb104ee5fe7012cce5662c4362b2289b3e3a0f623eb3335c025efa12ce81dd3da698f5cc6862a20e7439445bb4153a51 SHA512 746f74058d51d9f042479f296cdbd77b40ddb4cf1f8a94f6e1ca08b453f42bbda780689975f7607d54b8a0cd86f72e7a2804259b3afa1ddc1342e987bed5814d -DIST libpng-1.6.51.tar.xz 1060772 BLAKE2B 2d1ee36f9796e90a533abf26597df82c39cfab42f8d4044d35e0fdbab65612b9fc0234780677e2ea758450db9815b9d30870e8024bcebc0170c87361b7c4cc0a SHA512 c723406f050f99783b2576e7e2c84774630a7f46bb8ea82bf4932f82bbb4899f47cb1b19ff9020245a474a0b2fee82c55ac1c58db43e3888ad5cc3a1767e7433 -DIST libpng-1.6.52.tar.xz 1063580 BLAKE2B 47732b5e1a9d35e6aa2b7d1b967842588410154ada06af9d9c3fafaaf2440f1b70a1c9d4c0329b29b401f182ac4cc1fe88dc312e8a17e82aafd4ca954910221b SHA512 2bb1318f36712fc007613373a44a3276b4ed129b51b908464d9577ea9704d3caa469ec5bc7ebfb8b1de57ba3998c0b3375cd105054011ec54c21e9f208ec3c8b -DIST libpng-1.6.53.tar.xz 1063432 BLAKE2B 62e28068e1885305828fff3296b19a7d61e11a52ca425be91289e17087be2c42f06ea2df000169632cc556b398cdcb4784a639879e038962310c53becae779f6 SHA512 569f81d57dcce7bb874a45fa9f8db2044585245d2eb0c0485a1b03c2e338ecaec6bfda3cb94ad2a34951997414c69fc0373c8c5852d6c313c03e8a946ff345c6 DIST libpng-1.6.54-libpng-apng-apng.patch.gz 10604 BLAKE2B 8202b80755e6c18227e89567cdb087ac79b4f72862d9a23e29f1271310af4bcb4783a52090e1479724bd9c088a13a7a4e2f2cbda2e958e2c3180619b20ec8a1b SHA512 217449d76fab45707a696ee5926039c6091196abfc33b4e3bec0a5f63d5b17fd4a7e48af41c4cc2536edc527837dc10fe718092d5b1ffc89ee4dc66883e7267a -DIST libpng-1.6.54.tar.xz 1064472 BLAKE2B a91ebb8396d9a5de10d642cc8891d594dacd480248fdb73859f8317fc6cbadf0f542acf446955f2e78e8655439464bbad600993491e3e97474a91c65d703fef7 SHA512 fc44530146af15c96232bf9954b9deda93d7bdd726c1a62685062f864215674fd3ae912e8eeafffc04329f2e802464262a8c4bca266ee7bc3559cdcd90eb785e DIST libpng-1.6.55.tar.xz 1064676 BLAKE2B 2fd88e6e9f4e72edbafbfdd6d8e78522033920a250f8cb37f29ba8e9593cdf006b06f4e73de4e83fc5ddaaa3725362f27f5a16727ae841fd8969b74f28517ec4 SHA512 a9846fc32cb042bcce05f719a5b31255957e1c36ad6ad14dd23cf5eac3ce0b981dc5c34b18dc255e1fffc2cc064d0a77e3a1beb3c7167a0bdc3e1d0103383b4a diff --git a/sdk_container/src/third_party/portage-stable/media-libs/libpng/libpng-1.6.47.ebuild b/sdk_container/src/third_party/portage-stable/media-libs/libpng/libpng-1.6.47.ebuild deleted file mode 100644 index 4c2413426da..00000000000 --- a/sdk_container/src/third_party/portage-stable/media-libs/libpng/libpng-1.6.47.ebuild +++ /dev/null @@ -1,69 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit libtool multilib-minimal - -APNG_REPO=libpng-apng # sometimes libpng-apng is more up to date -APNG_VERSION="1.6.47" -DESCRIPTION="Portable Network Graphics library" -HOMEPAGE="https://www.libpng.org/" -SRC_URI=" - https://downloads.sourceforge.net/${PN}/${P}.tar.xz - apng? ( - https://downloads.sourceforge.net/${APNG_REPO}/${PN}$(ver_rs 1-2 '' $(ver_cut 1-2 ${APNG_VERSION}))/${PV}/${PN}-${APNG_VERSION}-apng.patch.gz -> ${PN}-${APNG_VERSION}-${APNG_REPO}-apng.patch.gz - https://downloads.sourceforge.net/${APNG_REPO}/${PN}$(ver_rs 1-2 '' $(ver_cut 1-2 ${APNG_VERSION}))/${PN}-${APNG_VERSION}-apng.patch.gz -> ${PN}-${APNG_VERSION}-${APNG_REPO}-apng.patch.gz - ) -" - -LICENSE="libpng2" -SLOT="0/16" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" -IUSE="apng cpu_flags_x86_sse static-libs test" -RESTRICT="!test? ( test )" - -RDEPEND=">=virtual/zlib-1.2.8-r1:=[${MULTILIB_USEDEP}]" -DEPEND="${RDEPEND}" - -DOCS=( ANNOUNCE CHANGES libpng-manual.txt README TODO ) - -src_prepare() { - default - - if use apng; then - case ${APNG_REPO} in - apng) - eapply -p0 "${WORKDIR}"/${PN}-${APNG_VERSION}-${APNG_REPO}-apng.patch - ;; - libpng-apng) - eapply "${WORKDIR}"/${PN}-${APNG_VERSION}-${APNG_REPO}-apng.patch - ;; - *) - die "Unknown APNG_REPO!" - ;; - esac - - # Don't execute symbols check with apng patch, bug #378111 - sed -i -e '/^check/s:scripts/symbols.chk::' Makefile.in || die - fi - - elibtoolize -} - -multilib_src_configure() { - local myeconfargs=( - $(multilib_native_enable tools) - $(use_enable test tests) - $(use_enable cpu_flags_x86_sse intel-sse) - $(use_enable static-libs static) - ) - - ECONF_SOURCE="${S}" econf "${myeconfargs[@]}" -} - -multilib_src_install_all() { - default - - find "${ED}" \( -type f -o -type l \) -name '*.la' -delete || die -} diff --git a/sdk_container/src/third_party/portage-stable/media-libs/libpng/libpng-1.6.50-r1.ebuild b/sdk_container/src/third_party/portage-stable/media-libs/libpng/libpng-1.6.50-r1.ebuild deleted file mode 100644 index 11584f67539..00000000000 --- a/sdk_container/src/third_party/portage-stable/media-libs/libpng/libpng-1.6.50-r1.ebuild +++ /dev/null @@ -1,78 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit dot-a libtool multilib-minimal - -APNG_REPO=libpng-apng # sometimes libpng-apng is more up to date -APNG_VERSION="1.6.49" -DESCRIPTION="Portable Network Graphics library" -HOMEPAGE="https://www.libpng.org/" -SRC_URI=" - https://downloads.sourceforge.net/${PN}/${P}.tar.xz - apng? ( - https://downloads.sourceforge.net/${APNG_REPO}/${PN}$(ver_rs 1-2 '' $(ver_cut 1-2 ${APNG_VERSION}))/${PV}/${PN}-${APNG_VERSION}-apng.patch.gz -> ${PN}-${APNG_VERSION}-${APNG_REPO}-apng.patch.gz - https://downloads.sourceforge.net/${APNG_REPO}/${PN}$(ver_rs 1-2 '' $(ver_cut 1-2 ${APNG_VERSION}))/${PN}-${APNG_VERSION}-apng.patch.gz -> ${PN}-${APNG_VERSION}-${APNG_REPO}-apng.patch.gz - ) -" - -LICENSE="libpng2" -SLOT="0/16" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" -IUSE="apng cpu_flags_x86_sse static-libs test" -RESTRICT="!test? ( test )" - -RDEPEND=">=virtual/zlib-1.2.8-r1:=[${MULTILIB_USEDEP}]" -DEPEND=" - ${RDEPEND} - riscv? ( sys-kernel/linux-headers ) -" - -DOCS=( ANNOUNCE CHANGES libpng-manual.txt README TODO ) - -src_prepare() { - default - - if use apng; then - case ${APNG_REPO} in - apng) - eapply -p0 "${WORKDIR}"/${PN}-${APNG_VERSION}-${APNG_REPO}-apng.patch - ;; - libpng-apng) - eapply "${WORKDIR}"/${PN}-${APNG_VERSION}-${APNG_REPO}-apng.patch - ;; - *) - die "Unknown APNG_REPO!" - ;; - esac - - # Don't execute symbols check with apng patch, bug #378111 - sed -i -e '/^check/s:scripts/symbols.chk::' Makefile.in || die - fi - - elibtoolize -} - -src_configure() { - lto-guarantee-fat - multilib-minimal_src_configure -} - -multilib_src_configure() { - local myeconfargs=( - $(multilib_native_enable tools) - $(use_enable test tests) - $(use_enable cpu_flags_x86_sse intel-sse) - $(use_enable static-libs static) - ) - - ECONF_SOURCE="${S}" econf "${myeconfargs[@]}" -} - -multilib_src_install_all() { - default - - strip-lto-bytecode - find "${ED}" \( -type f -o -type l \) -name '*.la' -delete || die -} diff --git a/sdk_container/src/third_party/portage-stable/media-libs/libpng/libpng-1.6.51.ebuild b/sdk_container/src/third_party/portage-stable/media-libs/libpng/libpng-1.6.51.ebuild deleted file mode 100644 index 6ccd7041182..00000000000 --- a/sdk_container/src/third_party/portage-stable/media-libs/libpng/libpng-1.6.51.ebuild +++ /dev/null @@ -1,78 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit dot-a libtool multilib-minimal - -APNG_REPO=libpng-apng # sometimes libpng-apng is more up to date -APNG_VERSION="1.6.51" -DESCRIPTION="Portable Network Graphics library" -HOMEPAGE="https://www.libpng.org/" -SRC_URI=" - https://downloads.sourceforge.net/${PN}/${P}.tar.xz - apng? ( - https://downloads.sourceforge.net/${APNG_REPO}/${PN}$(ver_rs 1-2 '' $(ver_cut 1-2 ${APNG_VERSION}))/${PV}/${PN}-${APNG_VERSION}-apng.patch.gz -> ${PN}-${APNG_VERSION}-${APNG_REPO}-apng.patch.gz - https://downloads.sourceforge.net/${APNG_REPO}/${PN}$(ver_rs 1-2 '' $(ver_cut 1-2 ${APNG_VERSION}))/${PN}-${APNG_VERSION}-apng.patch.gz -> ${PN}-${APNG_VERSION}-${APNG_REPO}-apng.patch.gz - ) -" - -LICENSE="libpng2" -SLOT="0/16" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" -IUSE="apng cpu_flags_x86_sse static-libs test" -RESTRICT="!test? ( test )" - -RDEPEND=">=virtual/zlib-1.2.8-r1:=[${MULTILIB_USEDEP}]" -DEPEND=" - ${RDEPEND} - riscv? ( sys-kernel/linux-headers ) -" - -DOCS=( ANNOUNCE CHANGES libpng-manual.txt README TODO ) - -src_prepare() { - default - - if use apng; then - case ${APNG_REPO} in - apng) - eapply -p0 "${WORKDIR}"/${PN}-${APNG_VERSION}-${APNG_REPO}-apng.patch - ;; - libpng-apng) - eapply "${WORKDIR}"/${PN}-${APNG_VERSION}-${APNG_REPO}-apng.patch - ;; - *) - die "Unknown APNG_REPO!" - ;; - esac - - # Don't execute symbols check with apng patch, bug #378111 - sed -i -e '/^check/s:scripts/symbols.chk::' Makefile.in || die - fi - - elibtoolize -} - -src_configure() { - lto-guarantee-fat - multilib-minimal_src_configure -} - -multilib_src_configure() { - local myeconfargs=( - $(multilib_native_enable tools) - $(use_enable test tests) - $(use_enable cpu_flags_x86_sse intel-sse) - $(use_enable static-libs static) - ) - - ECONF_SOURCE="${S}" econf "${myeconfargs[@]}" -} - -multilib_src_install_all() { - default - - strip-lto-bytecode - find "${ED}" \( -type f -o -type l \) -name '*.la' -delete || die -} diff --git a/sdk_container/src/third_party/portage-stable/media-libs/libpng/libpng-1.6.52.ebuild b/sdk_container/src/third_party/portage-stable/media-libs/libpng/libpng-1.6.52.ebuild deleted file mode 100644 index 1319f86fd0f..00000000000 --- a/sdk_container/src/third_party/portage-stable/media-libs/libpng/libpng-1.6.52.ebuild +++ /dev/null @@ -1,78 +0,0 @@ -# Copyright 1999-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit dot-a libtool multilib-minimal - -APNG_REPO=libpng-apng # sometimes libpng-apng is more up to date -APNG_VERSION="1.6.51" -DESCRIPTION="Portable Network Graphics library" -HOMEPAGE="https://www.libpng.org/" -SRC_URI=" - https://downloads.sourceforge.net/${PN}/${P}.tar.xz - apng? ( - https://downloads.sourceforge.net/${APNG_REPO}/${PN}$(ver_rs 1-2 '' $(ver_cut 1-2 ${APNG_VERSION}))/${PV}/${PN}-${APNG_VERSION}-apng.patch.gz -> ${PN}-${APNG_VERSION}-${APNG_REPO}-apng.patch.gz - https://downloads.sourceforge.net/${APNG_REPO}/${PN}$(ver_rs 1-2 '' $(ver_cut 1-2 ${APNG_VERSION}))/${PN}-${APNG_VERSION}-apng.patch.gz -> ${PN}-${APNG_VERSION}-${APNG_REPO}-apng.patch.gz - ) -" - -LICENSE="libpng2" -SLOT="0/16" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" -IUSE="apng cpu_flags_x86_sse static-libs test" -RESTRICT="!test? ( test )" - -RDEPEND=">=virtual/zlib-1.2.8-r1:=[${MULTILIB_USEDEP}]" -DEPEND=" - ${RDEPEND} - riscv? ( sys-kernel/linux-headers ) -" - -DOCS=( ANNOUNCE CHANGES libpng-manual.txt README TODO ) - -src_prepare() { - default - - if use apng; then - case ${APNG_REPO} in - apng) - eapply -p0 "${WORKDIR}"/${PN}-${APNG_VERSION}-${APNG_REPO}-apng.patch - ;; - libpng-apng) - eapply "${WORKDIR}"/${PN}-${APNG_VERSION}-${APNG_REPO}-apng.patch - ;; - *) - die "Unknown APNG_REPO!" - ;; - esac - - # Don't execute symbols check with apng patch, bug #378111 - sed -i -e '/^check/s:scripts/symbols.chk::' Makefile.in || die - fi - - elibtoolize -} - -src_configure() { - lto-guarantee-fat - multilib-minimal_src_configure -} - -multilib_src_configure() { - local myeconfargs=( - $(multilib_native_enable tools) - $(use_enable test tests) - $(use_enable cpu_flags_x86_sse intel-sse) - $(use_enable static-libs static) - ) - - ECONF_SOURCE="${S}" econf "${myeconfargs[@]}" -} - -multilib_src_install_all() { - default - - strip-lto-bytecode - find "${ED}" \( -type f -o -type l \) -name '*.la' -delete || die -} diff --git a/sdk_container/src/third_party/portage-stable/media-libs/libpng/libpng-1.6.53.ebuild b/sdk_container/src/third_party/portage-stable/media-libs/libpng/libpng-1.6.53.ebuild deleted file mode 100644 index f4b7a89846f..00000000000 --- a/sdk_container/src/third_party/portage-stable/media-libs/libpng/libpng-1.6.53.ebuild +++ /dev/null @@ -1,78 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit dot-a libtool multilib-minimal - -APNG_REPO=libpng-apng # sometimes libpng-apng is more up to date -APNG_VERSION="1.6.51" -DESCRIPTION="Portable Network Graphics library" -HOMEPAGE="https://www.libpng.org/" -SRC_URI=" - https://downloads.sourceforge.net/${PN}/${P}.tar.xz - apng? ( - https://downloads.sourceforge.net/${APNG_REPO}/${PN}$(ver_rs 1-2 '' $(ver_cut 1-2 ${APNG_VERSION}))/${PV}/${PN}-${APNG_VERSION}-apng.patch.gz -> ${PN}-${APNG_VERSION}-${APNG_REPO}-apng.patch.gz - https://downloads.sourceforge.net/${APNG_REPO}/${PN}$(ver_rs 1-2 '' $(ver_cut 1-2 ${APNG_VERSION}))/${PN}-${APNG_VERSION}-apng.patch.gz -> ${PN}-${APNG_VERSION}-${APNG_REPO}-apng.patch.gz - ) -" - -LICENSE="libpng2" -SLOT="0/16" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris" -IUSE="apng cpu_flags_x86_sse static-libs test" -RESTRICT="!test? ( test )" - -RDEPEND=">=virtual/zlib-1.2.8-r1:=[${MULTILIB_USEDEP}]" -DEPEND=" - ${RDEPEND} - riscv? ( sys-kernel/linux-headers ) -" - -DOCS=( ANNOUNCE CHANGES libpng-manual.txt README TODO ) - -src_prepare() { - default - - if use apng; then - case ${APNG_REPO} in - apng) - eapply -p0 "${WORKDIR}"/${PN}-${APNG_VERSION}-${APNG_REPO}-apng.patch - ;; - libpng-apng) - eapply "${WORKDIR}"/${PN}-${APNG_VERSION}-${APNG_REPO}-apng.patch - ;; - *) - die "Unknown APNG_REPO!" - ;; - esac - - # Don't execute symbols check with apng patch, bug #378111 - sed -i -e '/^check/s:scripts/symbols.chk::' Makefile.in || die - fi - - elibtoolize -} - -src_configure() { - lto-guarantee-fat - multilib-minimal_src_configure -} - -multilib_src_configure() { - local myeconfargs=( - $(multilib_native_enable tools) - $(use_enable test tests) - $(use_enable cpu_flags_x86_sse intel-sse) - $(use_enable static-libs static) - ) - - ECONF_SOURCE="${S}" econf "${myeconfargs[@]}" -} - -multilib_src_install_all() { - default - - strip-lto-bytecode - find "${ED}" \( -type f -o -type l \) -name '*.la' -delete || die -} diff --git a/sdk_container/src/third_party/portage-stable/media-libs/libpng/libpng-1.6.54.ebuild b/sdk_container/src/third_party/portage-stable/media-libs/libpng/libpng-1.6.54.ebuild deleted file mode 100644 index b446031fc7e..00000000000 --- a/sdk_container/src/third_party/portage-stable/media-libs/libpng/libpng-1.6.54.ebuild +++ /dev/null @@ -1,78 +0,0 @@ -# Copyright 1999-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit dot-a libtool multilib-minimal - -APNG_REPO=libpng-apng # sometimes libpng-apng is more up to date -APNG_VERSION="1.6.54" -DESCRIPTION="Portable Network Graphics library" -HOMEPAGE="https://www.libpng.org/" -SRC_URI=" - https://downloads.sourceforge.net/${PN}/${P}.tar.xz - apng? ( - https://downloads.sourceforge.net/${APNG_REPO}/${PN}$(ver_rs 1-2 '' $(ver_cut 1-2 ${APNG_VERSION}))/${PV}/${PN}-${APNG_VERSION}-apng.patch.gz -> ${PN}-${APNG_VERSION}-${APNG_REPO}-apng.patch.gz - https://downloads.sourceforge.net/${APNG_REPO}/${PN}$(ver_rs 1-2 '' $(ver_cut 1-2 ${APNG_VERSION}))/${PN}-${APNG_VERSION}-apng.patch.gz -> ${PN}-${APNG_VERSION}-${APNG_REPO}-apng.patch.gz - ) -" - -LICENSE="libpng2" -SLOT="0/16" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" -IUSE="apng cpu_flags_x86_sse static-libs test" -RESTRICT="!test? ( test )" - -RDEPEND=">=virtual/zlib-1.2.8-r1:=[${MULTILIB_USEDEP}]" -DEPEND=" - ${RDEPEND} - riscv? ( sys-kernel/linux-headers ) -" - -DOCS=( ANNOUNCE CHANGES libpng-manual.txt README TODO ) - -src_prepare() { - default - - if use apng; then - case ${APNG_REPO} in - apng) - eapply -p0 "${WORKDIR}"/${PN}-${APNG_VERSION}-${APNG_REPO}-apng.patch - ;; - libpng-apng) - eapply "${WORKDIR}"/${PN}-${APNG_VERSION}-${APNG_REPO}-apng.patch - ;; - *) - die "Unknown APNG_REPO!" - ;; - esac - - # Don't execute symbols check with apng patch, bug #378111 - sed -i -e '/^check/s:scripts/symbols.chk::' Makefile.in || die - fi - - elibtoolize -} - -src_configure() { - lto-guarantee-fat - multilib-minimal_src_configure -} - -multilib_src_configure() { - local myeconfargs=( - $(multilib_native_enable tools) - $(use_enable test tests) - $(use_enable cpu_flags_x86_sse intel-sse) - $(use_enable static-libs static) - ) - - ECONF_SOURCE="${S}" econf "${myeconfargs[@]}" -} - -multilib_src_install_all() { - default - - strip-lto-bytecode - find "${ED}" \( -type f -o -type l \) -name '*.la' -delete || die -} 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 ebf85fa8d01..0897ed5a496 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,4 +1,2 @@ -DIST c-ares-1.34.5.tar.gz 1009261 BLAKE2B 5e8c262acf07cb387294170bba53618db1768436a3f7bf800eb31cf7b02ef8afc737122126c742424d4675f8c4944c730b8ba84028e6cee6bf65026cd2eeb56c SHA512 386709e9f405034cb16ba514f9792e89992be52b24a237e6c51f1032e4ca99a8c57b1c3038d6f0a205202a3bfb1246bb95ff0d5e6fc0ee2bba1cb17f6677f97f -DIST c-ares-1.34.5.tar.gz.asc 228 BLAKE2B bb9364f7787c5286edd52d3821081618193c4c4c58782c3e3e592358b3e15ddc4e3abceb25f00969eaaa821705798b5e9eb528364b8f6d98f67a0285c4ad84f3 SHA512 5504670271b1dc32f5feeaf50c042d1cf1d173053c230706a0fec649d6fe8354ec6e75ef2b1c4158ed99a76a51d70e91799b1de19b284362b5080852790fcced 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 diff --git a/sdk_container/src/third_party/portage-stable/net-dns/c-ares/c-ares-1.34.5.ebuild b/sdk_container/src/third_party/portage-stable/net-dns/c-ares/c-ares-1.34.5.ebuild deleted file mode 100644 index 776f44445b5..00000000000 --- a/sdk_container/src/third_party/portage-stable/net-dns/c-ares/c-ares-1.34.5.ebuild +++ /dev/null @@ -1,115 +0,0 @@ -# Copyright 1999-2025 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 flag-o-matic 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 -} - -src_configure() { - use test && append-cxxflags -std=gnu++17 - multilib-minimal_src_configure -} - -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 -} 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 201d80edb39..e4a4fdb7b2c 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,3 +1 @@ -DIST dnsmasq-2.89.tar.xz 562700 BLAKE2B d8be39697ce7d4e7beacf6d94a9ba1842fe0099f7ed7ebb243a7e6e5af8c83195e4723e60841705aee70a43510279be8484a9474191ddcf17eac1ff4edc5389f SHA512 4384ed5b673e10eaf6532e6eaeb5c0a6b817581433cc28c632bdcbadbfc050a0ab73bc5b73c98d708cd39515bb3f72168714b0aa5f16436cebdd18020648d428 -DIST dnsmasq-2.90.tar.xz 570672 BLAKE2B e5a7a3f3b1457c94f508a17c32f1f14267ed61009058295e0202bee7a1798a3eb72c70e53c799f25fb6030b389c5eefc5e50845896b71b733c0fc302d730dff7 SHA512 e169de1892f935e219b0f49d90107f95cba42b40bca20bd3c973313c2cd4df58b929af6628cd988419051d81c3b4ccf8e9f816274df7d0840e79f5bf49602442 DIST dnsmasq-2.91.tar.xz 576820 BLAKE2B a363a084ef528d792829a8f83616dd490a3a37c04812f1b98b8cef6422d742cacf3d91a88b528b3806511a9a7e8c3ab7c42193d35e6a3e05c2c54c7ff4e48252 SHA512 d8b062d28f32d0e499e551aeebba75d3ea9f6a5173d78f45292cb1ef28a5d0f7c86982d987fe25c3cee9f139023b1fd023130dddd0dc849fb0cfbd969c3b0c7f diff --git a/sdk_container/src/third_party/portage-stable/net-dns/dnsmasq/dnsmasq-2.89-r1.ebuild b/sdk_container/src/third_party/portage-stable/net-dns/dnsmasq/dnsmasq-2.89-r1.ebuild deleted file mode 100644 index 59212822649..00000000000 --- a/sdk_container/src/third_party/portage-stable/net-dns/dnsmasq/dnsmasq-2.89-r1.ebuild +++ /dev/null @@ -1,227 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -LUA_COMPAT=( lua5-{1..4} luajit ) - -inherit toolchain-funcs lua-single systemd - -DESCRIPTION="Small forwarding DNS server" -HOMEPAGE="https://thekelleys.org.uk/dnsmasq/doc.html" -SRC_URI="https://thekelleys.org.uk/dnsmasq/${P}.tar.xz" - -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 ) -" - -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 -r 's:lua5.[0-9]+:lua:' Makefile || die - 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 \ - COPTS="${COPTS[*]}" \ - 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 -} diff --git a/sdk_container/src/third_party/portage-stable/net-dns/dnsmasq/dnsmasq-2.90-r1.ebuild b/sdk_container/src/third_party/portage-stable/net-dns/dnsmasq/dnsmasq-2.90-r1.ebuild deleted file mode 100644 index 85c1b1f6d64..00000000000 --- a/sdk_container/src/third_party/portage-stable/net-dns/dnsmasq/dnsmasq-2.90-r1.ebuild +++ /dev/null @@ -1,235 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -LUA_COMPAT=( lua5-{1..4} luajit ) - -inherit flag-o-matic toolchain-funcs lua-single systemd - -DESCRIPTION="Small forwarding DNS server" -HOMEPAGE="https://thekelleys.org.uk/dnsmasq/doc.html" -SRC_URI="https://thekelleys.org.uk/dnsmasq/${P}.tar.xz" - -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 ) -" - -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 ) -" - -PATCHES=( - "${FILESDIR}/dnsmasq-2.90-gcc15.patch" -) - -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 -} diff --git a/sdk_container/src/third_party/portage-stable/net-dns/dnsmasq/dnsmasq-2.90.ebuild b/sdk_container/src/third_party/portage-stable/net-dns/dnsmasq/dnsmasq-2.90.ebuild deleted file mode 100644 index a727fb49264..00000000000 --- a/sdk_container/src/third_party/portage-stable/net-dns/dnsmasq/dnsmasq-2.90.ebuild +++ /dev/null @@ -1,234 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -LUA_COMPAT=( lua5-{1..4} luajit ) - -inherit flag-o-matic toolchain-funcs lua-single systemd - -DESCRIPTION="Small forwarding DNS server" -HOMEPAGE="https://thekelleys.org.uk/dnsmasq/doc.html" -SRC_URI="https://thekelleys.org.uk/dnsmasq/${P}.tar.xz" - -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 ) -" - -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() { - # https://lists.thekelleys.org.uk/pipermail/dnsmasq-discuss/2024q4/017855.html (bug #945183) - append-cflags -std=gnu17 - - 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 -} diff --git a/sdk_container/src/third_party/portage-stable/net-dns/dnsmasq/files/dnsmasq-2.90-gcc15.patch b/sdk_container/src/third_party/portage-stable/net-dns/dnsmasq/files/dnsmasq-2.90-gcc15.patch deleted file mode 100644 index a0efca3ab68..00000000000 --- a/sdk_container/src/third_party/portage-stable/net-dns/dnsmasq/files/dnsmasq-2.90-gcc15.patch +++ /dev/null @@ -1,376 +0,0 @@ -https://bugs.gentoo.org/943671 - -From da2cc84854a01dd08a8bb4161428be20b83a5ec7 Mon Sep 17 00:00:00 2001 -From: gen2dev -Date: Sun, 1 Dec 2024 22:53:16 +0000 -Subject: [PATCH] Fix GCC-15, C23 compatibility and - -Wincompatible-pointer-types errors - -A bug in gentoo linux https://bugs.gentoo.org/945183 reported that dnsmasq 2.90 fails to compile with GCC 15. - -The issue is that while previous versions of GCC defaulted to the C17 standard and C23 could be selected with -"-std=c23" or "-std=gnu23", GCC 15 defaults to C23. In C23 incompatible pointer types are an error instead of -a warning, so the "int (*callback)()" incomplete prototypes cause errors. - -For example, compiling dnsmasq 2.90 with gcc 14.2.1 and "-std=gnu23" fails with errors such as: - lease.c: In function `lease_find_interfaces': - lease.c:467:34: warning: passing argument 3 of `iface_enumerate' from incompatible pointer type [-Wincompatible-pointer-types[https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html#index-Wincompatible-pointer-types]] - 467 | iface_enumerate(AF_INET, &now, find_interface_v4); - | ^~~~~~~~~~~~~~~~~ - | | - | int (*)(struct in_addr, int, char *, struct in_addr, struct in_addr, void *) - In file included from lease.c:17: - dnsmasq.h:1662:50: note: expected `int (*)(void)' but argument is of type `int (*)(struct in_addr, int, char *, struct in_addr, struct in_addr, void *)' - 1662 | int iface_enumerate(int family, void *parm, int (callback)()); - | ~~~~~^~~~~~~~~~~ - -This patch uses a typedef'ed union of pointer types to get type checking of the pointers. If that's too complicated, -another way might be to use (void *) casts to disable type checking. - -Also, some of the IPv6 callbacks had "int preferred, int valid" and some had -"unsigned int preferred, unsigned int valid". This patch changes them all to "unsigned int" -so they're the same and to avoid casting "u32" to "int", eg: - u32 preferred = 0xffffffff; - callback(..., (int)preferred, ...) -Even if those cast values aren't used in the callback, casting u32 to "int" feels bad, especially if "int" is 32 bits. ---- - src/arp.c | 2 +- - src/bpf.c | 14 +++++++------- - src/dhcp.c | 4 ++-- - src/dhcp6.c | 8 ++++---- - src/dnsmasq.h | 8 +++++++- - src/lease.c | 6 +++--- - src/netlink.c | 12 ++++++------ - src/network.c | 6 +++--- - src/radv.c | 14 +++++++------- - 9 files changed, 40 insertions(+), 34 deletions(-) - -diff --git a/src/arp.c b/src/arp.c -index 0a5a9bf..6ff1f01 100644 ---- a/src/arp.c -+++ b/src/arp.c -@@ -152,7 +152,7 @@ int find_mac(union mysockaddr *addr, unsigned char *mac, int lazy, time_t now) - if (arp->status != ARP_EMPTY) - arp->status = ARP_MARK; - -- iface_enumerate(AF_UNSPEC, NULL, filter_mac); -+ iface_enumerate(AF_UNSPEC, NULL, (callback_t){.af_unspec=filter_mac}); - - /* Remove all unconfirmed entries to old list. */ - for (arp = arps, up = &arps; arp; arp = tmp) -diff --git a/src/bpf.c b/src/bpf.c -index 62b589c..82d0125 100644 ---- a/src/bpf.c -+++ b/src/bpf.c -@@ -47,7 +47,7 @@ static union all_addr del_addr; - - #if defined(HAVE_BSD_NETWORK) && !defined(__APPLE__) - --int arp_enumerate(void *parm, int (*callback)()) -+int arp_enumerate(void *parm, callback_t callback) - { - int mib[6]; - size_t needed; -@@ -91,7 +91,7 @@ int arp_enumerate(void *parm, int (*callback)()) - rtm = (struct rt_msghdr *)next; - sin2 = (struct sockaddr_inarp *)(rtm + 1); - sdl = (struct sockaddr_dl *)((char *)sin2 + SA_SIZE(sin2)); -- if (!(*callback)(AF_INET, &sin2->sin_addr, LLADDR(sdl), sdl->sdl_alen, parm)) -+ if (!callback.af_unspec(AF_INET, &sin2->sin_addr, LLADDR(sdl), sdl->sdl_alen, parm)) - return 0; - } - -@@ -107,7 +107,7 @@ int iface_enumerate(int family, void *parm, int (*callback)()) - - if (family == AF_UNSPEC) - #if defined(HAVE_BSD_NETWORK) && !defined(__APPLE__) -- return arp_enumerate(parm, callback); -+ return arp_enumerate(parm, callback.af_unspec); - #else - return 0; /* need code for Solaris and MacOS*/ - #endif -@@ -147,7 +147,7 @@ int iface_enumerate(int family, void *parm, int (*callback)()) - broadcast = ((struct sockaddr_in *) addrs->ifa_broadaddr)->sin_addr; - else - broadcast.s_addr = 0; -- if (!((*callback)(addr, iface_index, NULL, netmask, broadcast, parm))) -+ if (!callback.af_inet(addr, iface_index, NULL, netmask, broadcast, parm)) - goto err; - } - else if (family == AF_INET6) -@@ -212,8 +212,8 @@ int iface_enumerate(int family, void *parm, int (*callback)()) - addr->s6_addr[3] = 0; - } - -- if (!((*callback)(addr, prefix, scope_id, iface_index, flags, -- (int) preferred, (int)valid, parm))) -+ if (!callback.af_inet6(addr, prefix, scope_id, iface_index, flags, -+ (unsigned int) preferred, (unsigned int)valid, parm)) - goto err; - } - -@@ -223,7 +223,7 @@ int iface_enumerate(int family, void *parm, int (*callback)()) - /* Assume ethernet again here */ - struct sockaddr_dl *sdl = (struct sockaddr_dl *) addrs->ifa_addr; - if (sdl->sdl_alen != 0 && -- !((*callback)(iface_index, ARPHRD_ETHER, LLADDR(sdl), sdl->sdl_alen, parm))) -+ !callback.af_local(iface_index, ARPHRD_ETHER, LLADDR(sdl), sdl->sdl_alen, parm)) - goto err; - } - #endif -diff --git a/src/dhcp.c b/src/dhcp.c -index 2603c76..009c2a0 100644 ---- a/src/dhcp.c -+++ b/src/dhcp.c -@@ -317,7 +317,7 @@ void dhcp_packet(time_t now, int pxe_fd) - match.ind = iface_index; - - if (!daemon->if_addrs || -- !iface_enumerate(AF_INET, &match, check_listen_addrs) || -+ !iface_enumerate(AF_INET, &match, (callback_t){.af_inet=check_listen_addrs}) || - !match.matched) - return; - -@@ -330,7 +330,7 @@ void dhcp_packet(time_t now, int pxe_fd) - if (relay_upstream4(iface_index, mess, (size_t)sz)) - return; - -- if (!iface_enumerate(AF_INET, &parm, complete_context)) -+ if (!iface_enumerate(AF_INET, &parm, (callback_t){.af_inet=complete_context})) - return; - - /* Check for a relay again after iface_enumerate/complete_context has had -diff --git a/src/dhcp6.c b/src/dhcp6.c -index c9d54dc..303d33c 100644 ---- a/src/dhcp6.c -+++ b/src/dhcp6.c -@@ -239,7 +239,7 @@ void dhcp6_packet(time_t now) - relay_upstream6(if_index, (size_t)sz, &from.sin6_addr, from.sin6_scope_id, now)) - return; - -- if (!iface_enumerate(AF_INET6, &parm, complete_context6)) -+ if (!iface_enumerate(AF_INET6, &parm, (callback_t){.af_inet6=complete_context6})) - return; - - /* Check for a relay again after iface_enumerate/complete_context has had -@@ -617,7 +617,7 @@ void make_duid(time_t now) - newnow = now - 946684800; - #endif - -- iface_enumerate(AF_LOCAL, &newnow, make_duid1); -+ iface_enumerate(AF_LOCAL, &newnow, (callback_t){.af_local=make_duid1}); - - if(!daemon->duid) - die("Cannot create DHCPv6 server DUID: %s", NULL, EC_MISC); -@@ -667,7 +667,7 @@ struct cparam { - - static int construct_worker(struct in6_addr *local, int prefix, - int scope, int if_index, int flags, -- int preferred, int valid, void *vparam) -+ unsigned int preferred, unsigned int valid, void *vparam) - { - char ifrn_name[IFNAMSIZ]; - struct in6_addr start6, end6; -@@ -801,7 +801,7 @@ void dhcp_construct_contexts(time_t now) - if (context->flags & CONTEXT_CONSTRUCTED) - context->flags |= CONTEXT_GC; - -- iface_enumerate(AF_INET6, ¶m, construct_worker); -+ iface_enumerate(AF_INET6, ¶m, (callback_t){.af_inet6=construct_worker}); - - for (up = &daemon->dhcp6, context = daemon->dhcp6; context; context = tmp) - { -diff --git a/src/dnsmasq.h b/src/dnsmasq.h -index a9019ee..abb06c8 100644 ---- a/src/dnsmasq.h -+++ b/src/dnsmasq.h -@@ -1662,7 +1662,13 @@ void route_sock(void); - #endif - - /* bpf.c or netlink.c */ --int iface_enumerate(int family, void *parm, int (callback)()); -+typedef union { -+ int (*af_unspec)(int family, char *addrp, char *mac, size_t maclen, void *parmv); -+ int (*af_inet)(struct in_addr local, int if_index, char *label, struct in_addr netmask, struct in_addr broadcast, void *vparam); -+ int (*af_inet6)(struct in6_addr *local, int prefix, int scope, int if_index, int flags, unsigned int preferred, unsigned int valid, void *vparam); -+ int (*af_local)(int index, unsigned int type, char *mac, size_t maclen, void *parm); -+} callback_t; -+int iface_enumerate(int family, void *parm, callback_t callback); - - /* dbus.c */ - #ifdef HAVE_DBUS -diff --git a/src/lease.c b/src/lease.c -index a133021..06a6ae4 100644 ---- a/src/lease.c -+++ b/src/lease.c -@@ -411,7 +411,7 @@ static int find_interface_v4(struct in_addr local, int if_index, char *label, - #ifdef HAVE_DHCP6 - static int find_interface_v6(struct in6_addr *local, int prefix, - int scope, int if_index, int flags, -- int preferred, int valid, void *vparam) -+ unsigned int preferred, unsigned int valid, void *vparam) - { - struct dhcp_lease *lease; - -@@ -468,9 +468,9 @@ void lease_find_interfaces(time_t now) - for (lease = leases; lease; lease = lease->next) - lease->new_prefixlen = lease->new_interface = 0; - -- iface_enumerate(AF_INET, &now, find_interface_v4); -+ iface_enumerate(AF_INET, &now, (callback_t){.af_inet=find_interface_v4}); - #ifdef HAVE_DHCP6 -- iface_enumerate(AF_INET6, &now, find_interface_v6); -+ iface_enumerate(AF_INET6, &now, (callback_t){.af_inet6=find_interface_v6}); - #endif - - for (lease = leases; lease; lease = lease->next) -diff --git a/src/netlink.c b/src/netlink.c -index ef4b5fe..c706339 100644 ---- a/src/netlink.c -+++ b/src/netlink.c -@@ -151,7 +151,7 @@ static ssize_t netlink_recv(int flags) - family = AF_LOCAL finds MAC addresses. - returns 0 on failure, 1 on success, -1 when restart is required - */ --int iface_enumerate(int family, void *parm, int (*callback)()) -+int iface_enumerate(int family, void *parm, callback_t callback) - { - struct sockaddr_nl addr; - struct nlmsghdr *h; -@@ -247,7 +247,7 @@ int iface_enumerate(int family, void *parm, int (*callback)()) - } - - if (addr.s_addr && callback_ok) -- if (!((*callback)(addr, ifa->ifa_index, label, netmask, broadcast, parm))) -+ if (!callback.af_inet(addr, ifa->ifa_index, label, netmask, broadcast, parm)) - callback_ok = 0; - } - else if (ifa->ifa_family == AF_INET6) -@@ -288,9 +288,9 @@ int iface_enumerate(int family, void *parm, int (*callback)()) - flags |= IFACE_PERMANENT; - - if (addrp && callback_ok) -- if (!((*callback)(addrp, (int)(ifa->ifa_prefixlen), (int)(ifa->ifa_scope), -+ if (!callback.af_inet6(addrp, (int)(ifa->ifa_prefixlen), (int)(ifa->ifa_scope), - (int)(ifa->ifa_index), flags, -- (int) preferred, (int)valid, parm))) -+ (unsigned int)preferred, (unsigned int)valid, parm)) - callback_ok = 0; - } - } -@@ -318,7 +318,7 @@ int iface_enumerate(int family, void *parm, int (*callback)()) - - if (!(neigh->ndm_state & (NUD_NOARP | NUD_INCOMPLETE | NUD_FAILED)) && - inaddr && mac && callback_ok) -- if (!((*callback)(neigh->ndm_family, inaddr, mac, maclen, parm))) -+ if (!callback.af_unspec(neigh->ndm_family, inaddr, mac, maclen, parm)) - callback_ok = 0; - } - #ifdef HAVE_DHCP6 -@@ -342,7 +342,7 @@ int iface_enumerate(int family, void *parm, int (*callback)()) - } - - if (mac && callback_ok && !((link->ifi_flags & (IFF_LOOPBACK | IFF_POINTOPOINT))) && -- !((*callback)((int)link->ifi_index, (unsigned int)link->ifi_type, mac, maclen, parm))) -+ !callback.af_local((int)link->ifi_index, (unsigned int)link->ifi_type, mac, maclen, parm)) - callback_ok = 0; - } - #endif -diff --git a/src/network.c b/src/network.c -index 0e93c4d..36d9262 100644 ---- a/src/network.c -+++ b/src/network.c -@@ -596,7 +596,7 @@ static int iface_allowed(struct iface_param *param, int if_index, char *label, - - static int iface_allowed_v6(struct in6_addr *local, int prefix, - int scope, int if_index, int flags, -- int preferred, int valid, void *vparam) -+ unsigned int preferred, unsigned int valid, void *vparam) - { - union mysockaddr addr; - struct in_addr netmask; /* dummy */ -@@ -833,12 +833,12 @@ again: - - param.spare = spare; - -- ret = iface_enumerate(AF_INET6, ¶m, iface_allowed_v6); -+ ret = iface_enumerate(AF_INET6, ¶m, (callback_t){.af_inet6=iface_allowed_v6}); - if (ret < 0) - goto again; - else if (ret) - { -- ret = iface_enumerate(AF_INET, ¶m, iface_allowed_v4); -+ ret = iface_enumerate(AF_INET, ¶m, (callback_t){.af_inet=iface_allowed_v4}); - if (ret < 0) - goto again; - } -diff --git a/src/radv.c b/src/radv.c -index d2d3390..f39716c 100644 ---- a/src/radv.c -+++ b/src/radv.c -@@ -58,7 +58,7 @@ static int add_prefixes(struct in6_addr *local, int prefix, - unsigned int preferred, unsigned int valid, void *vparam); - static int iface_search(struct in6_addr *local, int prefix, - int scope, int if_index, int flags, -- int prefered, int valid, void *vparam); -+ unsigned int prefered, unsigned int valid, void *vparam); - static int add_lla(int index, unsigned int type, char *mac, size_t maclen, void *parm); - static void new_timeout(struct dhcp_context *context, char *iface_name, time_t now); - static unsigned int calc_lifetime(struct ra_interface *ra); -@@ -307,7 +307,7 @@ static void send_ra_alias(time_t now, int iface, char *iface_name, struct in6_ad - - /* If no link-local address then we can't advertise since source address of - advertisement must be link local address: RFC 4861 para 6.1.2. */ -- if (!iface_enumerate(AF_INET6, &parm, add_prefixes) || -+ if (!iface_enumerate(AF_INET6, &parm, (callback_t){.af_inet6=add_prefixes}) || - parm.link_pref_time == 0) - return; - -@@ -449,7 +449,7 @@ static void send_ra_alias(time_t now, int iface, char *iface_name, struct in6_ad - put_opt6_long(mtu); - } - -- iface_enumerate(AF_LOCAL, &send_iface, add_lla); -+ iface_enumerate(AF_LOCAL, &send_iface, (callback_t){.af_local=add_lla}); - - /* RDNSS, RFC 6106, use relevant DHCP6 options */ - (void)option_filter(parm.tags, NULL, daemon->dhcp_opts6); -@@ -823,7 +823,7 @@ time_t periodic_ra(time_t now) - param.iface = context->if_index; - new_timeout(context, param.name, now); - } -- else if (iface_enumerate(AF_INET6, ¶m, iface_search)) -+ else if (iface_enumerate(AF_INET6, ¶m, (callback_t){.af_inet6=iface_search})) - /* There's a context overdue, but we can't find an interface - associated with it, because it's for a subnet we dont - have an interface on. Probably we're doing DHCP on -@@ -856,7 +856,7 @@ time_t periodic_ra(time_t now) - aparam.iface = param.iface; - aparam.alias_ifs = NULL; - aparam.num_alias_ifs = 0; -- iface_enumerate(AF_LOCAL, &aparam, send_ra_to_aliases); -+ iface_enumerate(AF_LOCAL, &aparam, (callback_t){.af_local=send_ra_to_aliases}); - my_syslog(MS_DHCP | LOG_INFO, "RTR-ADVERT(%s) %s => %d alias(es)", - param.name, daemon->addrbuff, aparam.num_alias_ifs); - -@@ -871,7 +871,7 @@ time_t periodic_ra(time_t now) - those. */ - aparam.max_alias_ifs = aparam.num_alias_ifs; - aparam.num_alias_ifs = 0; -- iface_enumerate(AF_LOCAL, &aparam, send_ra_to_aliases); -+ iface_enumerate(AF_LOCAL, &aparam, (callback_t){.af_local=send_ra_to_aliases}); - for (; aparam.num_alias_ifs; aparam.num_alias_ifs--) - { - my_syslog(MS_DHCP | LOG_INFO, "RTR-ADVERT(%s) %s => i/f %d", -@@ -920,7 +920,7 @@ static int send_ra_to_aliases(int index, unsigned int type, char *mac, size_t ma - - static int iface_search(struct in6_addr *local, int prefix, - int scope, int if_index, int flags, -- int preferred, int valid, void *vparam) -+ unsigned int preferred, unsigned int valid, void *vparam) - { - struct search_param *param = vparam; - struct dhcp_context *context; --- -2.20.1 - diff --git a/sdk_container/src/third_party/portage-stable/net-dns/dnsmasq/metadata.xml b/sdk_container/src/third_party/portage-stable/net-dns/dnsmasq/metadata.xml index 18d01fd9abb..f494a02a359 100644 --- a/sdk_container/src/third_party/portage-stable/net-dns/dnsmasq/metadata.xml +++ b/sdk_container/src/third_party/portage-stable/net-dns/dnsmasq/metadata.xml @@ -1,25 +1,25 @@ - -chutzpah@gentoo.org -Patrick McLean - - - Add support for acting as an authorative DNS server. - Add support for Linux conntrack connection marking. - Install extra command line tools for manually managing DHCP leases. - Enable support for acting as a DHCP server. - Enable support DNSSEC validation and caching. - Include code to dump packets to a libpcap-format file for debugging - Whether report *.bind CHAOS info to clients, otherwise forward such requests upstream instead - Include functionality to probe for and remove DNS forwarding loops - Enable support for Internationalized Domain Names, via net-dns/libidn2 rather than net-dns/libidn - Use hashing functions from dev-libs/nettle - Enable support for calling scripts when leases change. - Enables built in TFTP server for netbooting. - - - cpe:/a:thekelleys:dnsmasq - + + chutzpah@gentoo.org + Patrick McLean + + + Add support for acting as an authorative DNS server. + Add support for Linux conntrack connection marking. + Enable support for acting as a DHCP server. + Install extra command line tools for manually managing DHCP leases. + Enable support DNSSEC validation and caching. + Include code to dump packets to a libpcap-format file for debugging + Whether report *.bind CHAOS info to clients, otherwise forward such requests upstream instead + Enable support for Internationalized Domain Names, via net-dns/libidn2 rather than net-dns/libidn + Include functionality to probe for and remove DNS forwarding loops + Use hashing functions from dev-libs/nettle + Enable support for calling scripts when leases change. + Enables built in TFTP server for netbooting. + + + cpe:/a:thekelleys:dnsmasq + diff --git a/sdk_container/src/third_party/portage-stable/net-fs/nfs-utils/nfs-utils-2.8.5.ebuild b/sdk_container/src/third_party/portage-stable/net-fs/nfs-utils/nfs-utils-2.8.5.ebuild index 99edf0a993b..fe82595b0b3 100644 --- a/sdk_container/src/third_party/portage-stable/net-fs/nfs-utils/nfs-utils-2.8.5.ebuild +++ b/sdk_container/src/third_party/portage-stable/net-fs/nfs-utils/nfs-utils-2.8.5.ebuild @@ -14,7 +14,7 @@ if [[ ${PV} == *_rc* ]] ; then S="${WORKDIR}/${PN}-${PN}-${MY_PV}" else SRC_URI="https://downloads.sourceforge.net/nfs/${P}.tar.bz2" - 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 LICENSE="GPL-2" 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 565ee63efd9..8ba33f42599 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 @@ -2,5 +2,6 @@ DIST samba-4.22.5.tar.gz 42876122 BLAKE2B c6ee4c98c4aced9faa0b5f90c61a3ea9473fc8 DIST samba-4.22.8.tar.gz 42868679 BLAKE2B 24c285d0b41a37c03338332d85493300641b89dd8e159873bb97b858c24d00ce56c756557c54b3a25e701dfc286f55fd6ca9d0ba97a50083147c00d946d80582 SHA512 35f7aa28c24647250c1d1a8df8bbaab16422fd6372d4f90e3d2682b801911d9c833e72ac71b61e96166dd2b86b16dbeddacfd273f4846a56196ce022cd58055e DIST samba-4.23.5.tar.gz 43298892 BLAKE2B cab8a569da87d32b0268ea2111327450b64fa863507a286d46e200c21c947c477807f181651fa32bf81b799f1ae7554f417300abc8442fbe274208becb7432c9 SHA512 5bf5733dddde9dbd8f5680b53fb927a6802572d1f4758d1d58e00e58fdadc19bec1ef2b195bcdc065c7bed05c3d4aade5ffe9af9227051cf9ea91a9428a3693c DIST samba-4.23.6.tar.gz 43306831 BLAKE2B c5c567bfc4734429790ec7362150eda231ce7e3e7dbdfaa2ca2dc81bd178c9c15cc9360b21f4c5dd1f1423d46337bc5a7b581efcff8ed647adb69a9b47922320 SHA512 61dc2a80f1ea5a7a04bc45ba7896107fd1c619ec3f841f9f6adb9c166a3ce3a5cee7b0d097cfa2c768ba65e35167c0739099cc76a5478c0d6f41521a621336c9 +DIST samba-4.24.0.tar.gz 43386689 BLAKE2B 0bb2c288a97214cdec608bd6580fbfebbb8af407117758857984188f8b0cb8c1d23bf3ce1f47a8692270ee4693422094bd28a47f5d251509dea335e8d4ae45f0 SHA512 7b967a876d0ce2e5fc7f30ff99af76bf2c406941000055e52215f9ad5a006328689927e9859ebcfb914ed14027637dc7484362f9a2613cd85e54a934752b6e6e DIST samba-4.24.0rc1.tar.gz 43381208 BLAKE2B 788d148b1cdd1d573878d9bb8023efa385ba04f105796849cea96eff669978526505364fd409d6714c20f39053d1b2ef9e02f974cda261697cbe837defe39fb4 SHA512 0e53e392e324f7044c4a2eb54f57062288d81916249488b871dcd631cd2d67786a39e68982f2751a3f4fe81622ce8f411ac2c60a7b760d75004379208a1284eb DIST samba-4.24.0rc3.tar.gz 43387471 BLAKE2B 6e51d5d688e6da7c4a03eb9393dfda6df16fa05dd53dceac29da9a01de9791219625592872a4ba46f68173f73da65c3df470646d34c3b310897cb393e5fd630f SHA512 f76493f8e665ad75425554a812ef6cea815a3babddb5bb91b645bdac69d851a7cb13c623298839849d459627ebc4696c0ae4b6dbb0bc3df5bd9731a66d8e915b diff --git a/sdk_container/src/third_party/portage-stable/net-fs/samba/samba-4.23.6.ebuild b/sdk_container/src/third_party/portage-stable/net-fs/samba/samba-4.23.6.ebuild index 8ed59ab9e8b..1464e4c618e 100644 --- a/sdk_container/src/third_party/portage-stable/net-fs/samba/samba-4.23.6.ebuild +++ b/sdk_container/src/third_party/portage-stable/net-fs/samba/samba-4.23.6.ebuild @@ -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.0.ebuild b/sdk_container/src/third_party/portage-stable/net-fs/samba/samba-4.24.0.ebuild new file mode 100644 index 00000000000..789db2de9ad --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/net-fs/samba/samba-4.24.0.ebuild @@ -0,0 +1,400 @@ +# 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="threads(+),xml(+)" +inherit python-single-r1 flag-o-matic waf-utils multilib-minimal linux-info optfeature 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="~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86" +fi +S="${WORKDIR}/${MY_P}" + +LICENSE="GPL-3" +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" +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.4" +TDB_VERSION="1.4.15" +TEVENT_VERSION="0.17.1" + +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}] + >=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}] + 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 + + bundled_libs="libquic,${bundled_libs}" + + 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 $(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 + + if use addc || use ads ; then + optfeature "Hide passwords from command line when using samba-tool or samba-gpupdate" dev-python/setproctitle + fi +} diff --git a/sdk_container/src/third_party/portage-stable/net-libs/gnutls/gnutls-3.8.11.ebuild b/sdk_container/src/third_party/portage-stable/net-libs/gnutls/gnutls-3.8.11.ebuild index 1eb9ab071e1..4d5a7e0bd3d 100644 --- a/sdk_container/src/third_party/portage-stable/net-libs/gnutls/gnutls-3.8.11.ebuild +++ b/sdk_container/src/third_party/portage-stable/net-libs/gnutls/gnutls-3.8.11.ebuild @@ -17,7 +17,7 @@ LICENSE="GPL-3 LGPL-2.1+" # Subslot format: # . SLOT="0/30.30" -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="brotli +cxx dane doc examples +idn nls +openssl pkcs11 sslv2 sslv3" IUSE+=" systemtap static-libs test test-full +tls-heartbeat tools zlib zstd" REQUIRED_USE="test-full? ( cxx dane doc examples idn nls openssl pkcs11 tls-heartbeat tools )" diff --git a/sdk_container/src/third_party/portage-stable/net-libs/gnutls/gnutls-3.8.12.ebuild b/sdk_container/src/third_party/portage-stable/net-libs/gnutls/gnutls-3.8.12.ebuild index ba661e2a370..1fa771060b0 100644 --- a/sdk_container/src/third_party/portage-stable/net-libs/gnutls/gnutls-3.8.12.ebuild +++ b/sdk_container/src/third_party/portage-stable/net-libs/gnutls/gnutls-3.8.12.ebuild @@ -17,7 +17,7 @@ LICENSE="GPL-3 LGPL-2.1+" # Subslot format: # . SLOT="0/30.30" -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="brotli +cxx dane doc examples +idn nls +openssl pkcs11 sslv2 sslv3" IUSE+=" systemtap static-libs test test-full +tls-heartbeat tools zlib zstd" REQUIRED_USE="test-full? ( cxx dane doc examples idn nls openssl pkcs11 tls-heartbeat tools )" diff --git a/sdk_container/src/third_party/portage-stable/net-libs/libpcap/Manifest b/sdk_container/src/third_party/portage-stable/net-libs/libpcap/Manifest index 6c9218660ae..be336b78dd2 100644 --- a/sdk_container/src/third_party/portage-stable/net-libs/libpcap/Manifest +++ b/sdk_container/src/third_party/portage-stable/net-libs/libpcap/Manifest @@ -1,4 +1,2 @@ -DIST libpcap-1.10.5.tar.gz 974772 BLAKE2B c0bb29c5c308cb21244a9c63d3daa19033eb21fbd721607c057f04b2ae6b2527fb1cfeeb2b29b7c3535d5d6256aa5fdf5aa22ce48aa4f88a3cc8a81029a98116 SHA512 e599a31f2f1c03bdf386defa613ea9f08f80459c87068c2dd36c55c1bd678e2622cdce6333f0a776f16812df7bd4d6747820d1c35c7a2f1d7ad4a2ffb45dbe24 -DIST libpcap-1.10.5.tar.gz.sig 442 BLAKE2B 6816bb76c6b41b292a29edcff7d89e71511d25190da7e4f26296fbae2690e476b5072f44b5ff1c9e43f31403a37e23d69c18e1f2483488fe8d742cbe3f768312 SHA512 183ed0f6a93679550dc5a589422e92023a92be8fe29f79fb296e966f26e3693e1c6d47c5e88bccbb6004cb19b6419c9d7cd998f4e2255f5594a7f5f6e84ecdc9 DIST libpcap-1.10.6.tar.gz 987897 BLAKE2B 1da8f60ffa572ad175f25723942e73d30caad7e0c412e5924881e117809da57ac5aec0bd7cebb083c3dcbc8bd47b75f183ec2458cb2a90843845d9f7069a1784 SHA512 69e530bc5b470875fba9d82e3b40f36c84cbab21354edb228679c590d3b519363e62611b10fdc4ec84f19159a0dba14330c72edb2d476417695f6500026fb079 DIST libpcap-1.10.6.tar.gz.sig 442 BLAKE2B cc87921fcab895a3ab242d11cad637bd8a523f28e1a39b4c752435ba25cfb375fbba93ddaa4098ae2e9f42026b28a98a0e44ddde72adae86a6264e1773252f67 SHA512 59bd2fdeae1702bbf39ba60adabd594a2caae354ccd6fa4e6f79472eb25b26c805048ee206551fb4264e522c8d83bfcba2930db56e8fb1e5526c3099b9d7aa87 diff --git a/sdk_container/src/third_party/portage-stable/net-libs/libpcap/libpcap-1.10.5.ebuild b/sdk_container/src/third_party/portage-stable/net-libs/libpcap/libpcap-1.10.5.ebuild deleted file mode 100644 index 7e182278791..00000000000 --- a/sdk_container/src/third_party/portage-stable/net-libs/libpcap/libpcap-1.10.5.ebuild +++ /dev/null @@ -1,94 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit autotools multilib-minimal - -DESCRIPTION="A system-independent library for user-level network packet capture" -HOMEPAGE="https://www.tcpdump.org/ https://github.com/the-tcpdump-group/libpcap" - -if [[ ${PV} == *9999* ]] ; then - EGIT_REPO_URI="https://github.com/the-tcpdump-group/libpcap" - inherit git-r3 -else - VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/tcpdump.asc - inherit verify-sig - - SRC_URI="https://www.tcpdump.org/release/${P}.tar.gz" - SRC_URI+=" verify-sig? ( https://www.tcpdump.org/release/${P}.tar.gz.sig )" - - KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~x64-macos" -fi - -# The project itself has COPYING with BSD, but the files used for -# the libpcap library itself seem to be a mix of BSD-with-attribution -# and BSD-4. -LICENSE="BSD BSD-with-attribution BSD-4" -SLOT="0" -IUSE="bluetooth dbus netlink rdma remote static-libs test usb yydebug" -RESTRICT="!test? ( test )" - -RDEPEND=" - bluetooth? ( net-wireless/bluez:=[${MULTILIB_USEDEP}] ) - dbus? ( sys-apps/dbus[${MULTILIB_USEDEP}] ) - netlink? ( dev-libs/libnl:3[${MULTILIB_USEDEP}] ) - remote? ( virtual/libcrypt:=[${MULTILIB_USEDEP}] ) - rdma? ( sys-cluster/rdma-core ) - usb? ( virtual/libusb:1[${MULTILIB_USEDEP}] ) -" -DEPEND="${RDEPEND}" -BDEPEND=" - app-alternatives/yacc - sys-devel/flex - dbus? ( virtual/pkgconfig ) -" - -if [[ ${PV} != *9999* ]] ; then - BDEPEND+=" verify-sig? ( >=sec-keys/openpgp-keys-tcpdump-20240901 )" -fi - -src_prepare() { - default - - if ! [[ -f VERSION ]]; then - echo ${PV} > VERSION || die - fi - - eautoreconf -} - -multilib_src_configure() { - # bug #884275 - export LEX=flex - - ECONF_SOURCE="${S}" econf \ - $(use_enable bluetooth) \ - $(use_enable dbus) \ - $(use_enable rdma) \ - $(use_enable remote) \ - $(use_enable usb) \ - $(use_enable yydebug) \ - $(use_with netlink libnl) \ - --enable-ipv6 -} - -multilib_src_compile() { - emake all shared - use test && emake testprogs -} - -multilib_src_test() { - testprogs/findalldevstest || die -} - -multilib_src_install_all() { - dodoc CREDITS CHANGES VERSION TODO README.* doc/README.* - - # remove static libraries (--disable-static does not work) - if ! use static-libs; then - find "${ED}" -name '*.a' -exec rm {} + || die - fi - - find "${ED}" -name '*.la' -delete || die -} 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 new file mode 100644 index 00000000000..6bb7ddd4b62 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/net-libs/ngtcp2/Manifest @@ -0,0 +1,5 @@ +DIST ngtcp2-1.12.0.tar.xz 656116 BLAKE2B 8559b5ca68bfcb0a290e3dc81311f8d3a8e15d49ce8ea423262b5c40d3ecd3e496f1b37bfc98da3cacbf76cd863c57fe050663fa8356a9d09923762d1c896938 SHA512 9d387df7d80665a346b170cf2adc0cc1163ae8d1d921355c1c07ec4e788feb76b9fd681dd606b139b3a2c27f3f0cf3e0a61014b9a3623c4bc06e86d32da0a90b +DIST ngtcp2-1.20.0.tar.xz 684060 BLAKE2B 1666c711688674eca1aba86dfca68f421557bf0c49f14ef915b9103b30a5c26b977d74a8cbdfa1466fe80148fdcb6d6f4061c402c5bca8201c071e57684d4132 SHA512 2366b6ae29664617776c901b05976a5cbd5443da8051854ce6c6e7b7779f5630bc2638a97144f4090a0e140a1a7607460b0b738cf55128d9e3bf31f872db26a8 +DIST ngtcp2-1.20.0.tar.xz.asc 833 BLAKE2B 62adeb882ce0023934534f5bad8f13395d66e0a54505ea654e6930c45eeba1fe5e21b964e1d8d2893732a6b8e742d1781c38034ebc69f4c87da5261ec1c7491e SHA512 1a57a1f9969f62a852390193de76685984e87ef5deec53a5a2937198deb01f7b2980989406f23ad58441baec9f881094028bd65c6cf309a73575a41d2ad1b01a +DIST ngtcp2-1.21.0.tar.xz 687504 BLAKE2B 1ce024c811b0e084478607a48d5ebc1e5840b9067178d5328fe9c32336243af3860923905a35043b9e431b518df6c7ff687e66955fe96bb344b7a980c8b42d31 SHA512 8f1fab5f71364da2b42a3a2726089520b7b2bf751bd7ba3b8de153091cb36c6e983ab71cf2bb8cd62b29b665331dc08c5e40d106066f79474059a77e4f7f9361 +DIST ngtcp2-1.21.0.tar.xz.asc 833 BLAKE2B 097b3328acd32c8a3fd77b9494b56d41fd93d511e2d709a607f5865b4408e8c6c5ba6c0ce99904b378845f7dad856ebefeea334e0b325ea416a3295a21b97a03 SHA512 267ab883b912ae9cb294d441d2937446db1bb46e0ca7df1fe78a4108caf94f403af75ec01448a9ad01e9b5f6045db2929d22eeb8feebcf35c0ed1e83100eef63 diff --git a/sdk_container/src/third_party/portage-stable/net-libs/ngtcp2/metadata.xml b/sdk_container/src/third_party/portage-stable/net-libs/ngtcp2/metadata.xml new file mode 100644 index 00000000000..4b6987e8ad5 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/net-libs/ngtcp2/metadata.xml @@ -0,0 +1,14 @@ + + + + + candrews@gentoo.org + Craig Andrews + + + ngtcp2/ngtcp2 + + + Provide SSL support using OpenSSL (requires dev-libs/openssl) + + 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 new file mode 100644 index 00000000000..366d9b923ae --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/net-libs/ngtcp2/ngtcp2-1.12.0.ebuild @@ -0,0 +1,60 @@ +# 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 + SRC_URI="https://github.com/ngtcp2/ngtcp2/releases/download/v${PV}/${P}.tar.xz" + + KEYWORDS="amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~sparc x86" +fi + +DESCRIPTION="Implementation of the IETF QUIC Protocol" +HOMEPAGE="https://github.com/ngtcp2/ngtcp2" + +LICENSE="MIT" +SLOT="0/0" +IUSE="+gnutls openssl +ssl" +REQUIRED_USE="ssl? ( || ( gnutls openssl ) )" + +RDEPEND=" + ssl? ( + gnutls? ( >=net-libs/gnutls-3.7.2:=[${MULTILIB_USEDEP}] ) + openssl? ( >=dev-libs/openssl-1.1.1:=[${MULTILIB_USEDEP}] ) + ) +" +DEPEND="${RDEPEND}" +BDEPEND="virtual/pkgconfig" + +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-1.20.0-r1.ebuild b/sdk_container/src/third_party/portage-stable/net-libs/ngtcp2/ngtcp2-1.20.0-r1.ebuild new file mode 100644 index 00000000000..81f58ee6eb2 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/net-libs/ngtcp2/ngtcp2-1.20.0-r1.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="~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86" + 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-1.20.0.ebuild b/sdk_container/src/third_party/portage-stable/net-libs/ngtcp2/ngtcp2-1.20.0.ebuild new file mode 100644 index 00000000000..42d4a5a65c8 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/net-libs/ngtcp2/ngtcp2-1.20.0.ebuild @@ -0,0 +1,66 @@ +# 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="~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86" + 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 ) )" + +RDEPEND=" + ssl? ( + gnutls? ( >=net-libs/gnutls-3.7.2:=[${MULTILIB_USEDEP}] ) + openssl? ( >=dev-libs/openssl-1.1.1:=[${MULTILIB_USEDEP}] ) + ) +" +DEPEND="${RDEPEND}" +BDEPEND+=" virtual/pkgconfig" + +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-1.21.0.ebuild b/sdk_container/src/third_party/portage-stable/net-libs/ngtcp2/ngtcp2-1.21.0.ebuild new file mode 100644 index 00000000000..a910ee17d3d --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/net-libs/ngtcp2/ngtcp2-1.21.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="~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 new file mode 100644 index 00000000000..81f58ee6eb2 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/net-libs/ngtcp2/ngtcp2-9999.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="~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86" + 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-misc/curl/Manifest b/sdk_container/src/third_party/portage-stable/net-misc/curl/Manifest index a654b9aaba1..3aa6193c8ce 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 @@ -1,10 +1,4 @@ -DIST curl-8.15.0.tar.xz 2773156 BLAKE2B ae809be87f34d079413129c27e618a6d15c2bf9087fd7e679cefe9b6d8645f0dd092e8c3e1f62b7bd0dffdd0b77e0bc5ac031ffce4e50060ec20b280618c8e68 SHA512 d27e316d70973906ac4b8d2c280f7e99b7528966aa1220c13a38ed45fca2ed6bbde54b8a9d7bed9e283171b92edb621f7b95162ef7d392e6383b0ee469de3191 -DIST curl-8.15.0.tar.xz.asc 488 BLAKE2B 4b0bab065a1d2d5b7e5d49989bd4953344d844cafd3036b4cb2ed2dec82e59031832f05c06dc6a801e4668d92c936df74aeff7a5f2c15ff614da4b1673a67501 SHA512 b6aef1c6a1f32c60401494df565a748fa96c1d5098138772c22f6208bafeb8e61402f3077cbc274ea2c05f35ff376d8f736c58554520f8d20fded36d876499a5 -DIST curl-8.16.0.tar.xz 2788632 BLAKE2B 573d56779481abf0b7d20225bba4f068cb726f23f69ce10076438e32cc6c16d1229c211aee05fc5e3e9cb9d78bbfdc5da0d8b73e730c0865879000eb90accf6a SHA512 8262c3dc113cfd5744ef1b82dbccaa69448a9395ad5c094c22df5cf537a047a927d3332db2cb3be12a31a68a60d8d0fa8485b916e975eda36a4ebd860da4f621 -DIST curl-8.16.0.tar.xz.asc 488 BLAKE2B d213bd447c668118b49b7356dc99e710de927b93f81325802bae5e286b61481da6ed30f23c7f4f3cfb0f01222db88602ff4e510f4a1401e98511eb0c72ac6abb SHA512 591568e997c0d955a00152ce5bdfb4586d84b42f5c1e15df503514fb4eb4bf289a98b1ebdad23913119c67c27d51a6e6f4065ee6f7657b971c3a581c928a0d82 -DIST curl-8.17.0.tar.xz 2797000 BLAKE2B a7a804afe058f323b40177bcb4ffc523decde92da3da0a051f2dc1b566131250a96afe1ebf2bebc071993c893bddeef883ef33ddc0a9bee86d4e54402a546fba SHA512 fc6349def40c3c259de2a568631507df17dff83e78a2edbb93f069586dce594439fdc88bef7ce2bed7491f35800b8c0c181c8c88e6ef656cc3c18f9834681eca -DIST curl-8.17.0.tar.xz.asc 488 BLAKE2B 88b72cb9c0acd8a06956eca31047dfadfe110dc07290adbe50b9451a71d4282acaa05c8a149787d71cf13cf1b42e8df9594d0e8a2b1cadbfca5eb50550f32609 SHA512 e77d4cb1f4961aa0df3d76f1a8c55a0b9005ed557adf745f3ab24d33cee2d0e4bd06cecb9d911e76409852e7755129873cc7d24936c846ff1b854903c0f086b2 DIST curl-8.18.0.tar.xz 2801444 BLAKE2B 16e1539616c1800dfa08a5bd3e38ff75d2906a4a574b1541509c69200aebe680b0a5efdf1b1e0c89f3cccb6001bfe1c1459b9fd815053c964e1a1434be1e2e0e SHA512 50c7a7b0528e0019697b0c59b3e56abb2578c71d77e4c085b56797276094b5611718c0a9cb2b14db7f8ab502fcf8f42a364297a3387fae3870a4d281484ba21c DIST curl-8.18.0.tar.xz.asc 488 BLAKE2B 68c2ce9777ba51962139e70e48c4b24d404682a6ad530843791cc188b2656dc26a19f0757f97ead2ff492f7b8a4e4116707df901e81bf8efb28658ff4df99ae0 SHA512 07e08d1bb3f8bf20b3d22f37fbc19c49c0d9ee4ea9d92da76fa8a9de343023e1b5d416ccc6535a4ff98b08b30eb9334fd856227e37564f6bcd542aa81bced152 -DIST curl-8.19.0-rc2.tar.xz 2782276 BLAKE2B 28ca64b9c42ba14b6ae73260822e2c7b59b16f6a1bf186ec8ee696a2f7f4d6f23d6a18ba580092f8d9e513b8b7eb5523f22cf03a414441a7dcb4932b8b77c252 SHA512 ad3fff8477dbf3487d7978ac1bef9622203a477ab30592923c18009a5292e9df83d8653c84cc4b1a0448891e9b9c9135e60a7524982809da7dd656272ecc76b7 -DIST curl-8.19.0-rc2.tar.xz.asc 488 BLAKE2B cc8e16325a3ecbd5ce95df0df4a8f73d2622daa6e3162ba3bd2cec044ac1d38b392d8bccb1be017d0ae494e278a7b974130663af7d670f01e89946034c5500f0 SHA512 593109ecad8e420416e7debec254ee3e29eaffaaefdbd5aa63f90e960eb479ac424b28e82075344744517560f4e74bb7a45d991c15363972b57e4634693ebac3 +DIST curl-8.19.0.tar.xz 2787584 BLAKE2B d4a943af9a109893112876784dbe106276317e6cd5a2663f4de143c93abb4e266945fa65b4a5fa842f99240c961b027a1b2492e3e32f5247a91c394895e2b8b0 SHA512 ee97faaf588b255428000599293c47a2f648af11d1a0b7b823db6aec151e2090f5c7b921745ddb2c3818d92b16e0a4c15d7a9b3d1ff45df1f35438504bd16574 +DIST curl-8.19.0.tar.xz.asc 488 BLAKE2B 0031029301586546bf2a50e00fdf16042da14ac26c2294d033274ed9cd9303c81c3997935b17b3b4202356c972eeed2b354cb623c790fa3983481587ed2ecf35 SHA512 ea3d4f2f42ec6571340e982868c5a35836eed2b76109b08b90b98023474293ad33a7218da511f153d01de607b735fc039a0733fa09fddd984fd7e2c61ee0446a diff --git a/sdk_container/src/third_party/portage-stable/net-misc/curl/curl-8.15.0.ebuild b/sdk_container/src/third_party/portage-stable/net-misc/curl/curl-8.15.0.ebuild deleted file mode 100644 index 4715d49e9e9..00000000000 --- a/sdk_container/src/third_party/portage-stable/net-misc/curl/curl-8.15.0.ebuild +++ /dev/null @@ -1,442 +0,0 @@ -# Copyright 1999-2025 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 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 - 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 rtmp rustls samba 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_quic_openssl curl_quic_ngtcp2 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 (requires patched openssl or gnutls currently, enabled with rustls) -# - 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? ( rustls ) - httpsrr? ( adns ) - quic? ( - ^^ ( - curl_quic_openssl - curl_quic_ngtcp2 - ) - http3 - ssl - ) - ssl? ( - ^^ ( - curl_ssl_gnutls - curl_ssl_mbedtls - curl_ssl_openssl - curl_ssl_rustls - ) - ) - curl_quic_openssl? ( - curl_ssl_openssl - quic - !gnutls - !mbedtls - !rustls - ) - curl_quic_ngtcp2? ( - curl_ssl_gnutls - quic - !mbedtls - !openssl - !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) -# 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? ( - curl_quic_openssl? ( >=dev-libs/openssl-3.3.0:=[quic,${MULTILIB_USEDEP}] ) - curl_quic_ngtcp2? ( >=net-libs/ngtcp2-1.2.0[gnutls,ssl,-openssl,${MULTILIB_USEDEP}] ) - ) - rtmp? ( media-video/rtmpdump[${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:0=[${MULTILIB_USEDEP}] - ) - openssl? ( - >=dev-libs/openssl-1.0.2:=[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,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-4.patch" - "${FILESDIR}/${PN}-respect-cflags-3.patch" -) - -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() { - # 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[@]}") - if use quic; then - myconf+=( - $(use_with curl_quic_ngtcp2 ngtcp2) - $(use_with curl_quic_openssl openssl-quic) - ) - else - # Without a REQUIRED_USE to ensure that QUIC was requested when at least one default backend is - # enabled we need ensure that we don't try to build QUIC support - myconf+=( --without-ngtcp2 --without-openssl-quic ) - fi - 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) - $(use_enable samba smb) - $(use_with ssh libssh2) # enables scp/sftp - $(use_with rtmp librtmp) - --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) - ) - - # --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 - --enable-ntlm - --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-msh3 - --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 - ) - - 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) - # -k: keep test files after completion - # -am: automake style TAP output - # -p: print logs if test fails - # 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 -k -am -p -j$((2*$(makeopts_jobs))) !241 !1083" -} - -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 - 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.16.0-r1.ebuild b/sdk_container/src/third_party/portage-stable/net-misc/curl/curl-8.16.0-r1.ebuild deleted file mode 100644 index e598370a739..00000000000 --- a/sdk_container/src/third_party/portage-stable/net-misc/curl/curl-8.16.0-r1.ebuild +++ /dev/null @@ -1,445 +0,0 @@ -# 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 - 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 rtmp rustls samba 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_quic_openssl curl_quic_ngtcp2 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 (requires patched openssl or gnutls currently, enabled with rustls) -# - 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? ( rustls ) - httpsrr? ( adns ) - quic? ( - ^^ ( - curl_quic_openssl - curl_quic_ngtcp2 - ) - http3 - ssl - ) - ssl? ( - ^^ ( - curl_ssl_gnutls - curl_ssl_mbedtls - curl_ssl_openssl - curl_ssl_rustls - ) - ) - curl_quic_openssl? ( - curl_ssl_openssl - !gnutls - !mbedtls - !rustls - ) - curl_quic_ngtcp2? ( - curl_ssl_gnutls - !mbedtls - !openssl - !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) -# 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? ( - curl_quic_openssl? ( >=dev-libs/openssl-3.3.0:=[quic,${MULTILIB_USEDEP}] ) - curl_quic_ngtcp2? ( >=net-libs/ngtcp2-1.2.0[gnutls,ssl,-openssl,${MULTILIB_USEDEP}] ) - ) - rtmp? ( media-video/rtmpdump[${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? ( - >=dev-libs/openssl-1.0.2:=[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,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-5.patch" - "${FILESDIR}/${PN}-respect-cflags-3.patch" - "${FILESDIR}/${P}-ssl_verifyhost.patch" - "${FILESDIR}/${P}-pthread_cancel.patch" -) - -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[@]}") - if use quic; then - myconf+=( - $(use_with curl_quic_ngtcp2 ngtcp2) - $(use_with curl_quic_openssl openssl-quic) - ) - else - # Without a REQUIRED_USE to ensure that QUIC was requested when at least one default backend is - # enabled we need ensure that we don't try to build QUIC support - myconf+=( --without-ngtcp2 --without-openssl-quic ) - fi - 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) - $(use_enable samba smb) - $(use_with ssh libssh2) # enables scp/sftp - $(use_with rtmp librtmp) - --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) - ) - - # --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 - --enable-ntlm - --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 - ) - - 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) - # -k: keep test files after completion - # -am: automake style TAP output - # -p: print logs if test fails - # 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 -k -am -p -j$((2*$(makeopts_jobs))) !241 !1083" -} - -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.17.0-r1.ebuild b/sdk_container/src/third_party/portage-stable/net-misc/curl/curl-8.17.0-r1.ebuild deleted file mode 100644 index 5a11fa5389c..00000000000 --- a/sdk_container/src/third_party/portage-stable/net-misc/curl/curl-8.17.0-r1.ebuild +++ /dev/null @@ -1,450 +0,0 @@ -# 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 - 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 rtmp rustls samba 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_quic_openssl curl_quic_ngtcp2 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 (requires patched openssl or gnutls currently, enabled with rustls) -# - 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? ( rustls ) - httpsrr? ( adns ) - quic? ( - ^^ ( - curl_quic_openssl - curl_quic_ngtcp2 - ) - http3 - ssl - ) - ssl? ( - ^^ ( - curl_ssl_gnutls - curl_ssl_mbedtls - curl_ssl_openssl - curl_ssl_rustls - ) - ) - curl_quic_openssl? ( - curl_ssl_openssl - !gnutls - !mbedtls - !rustls - ) - curl_quic_ngtcp2? ( - curl_ssl_gnutls - !mbedtls - !openssl - !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) -# 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. -# TODO: OpenSSL-QUIC support is going to be removed in 2026; depend on ngtcp2[{gnutls,openssl}] before that point. -# - https://github.com/curl/curl/pull/18820 (Deprecate OpenSSL QUIC support) -# - https://github.com/curl/curl/issues/18336 (curl w/ OpenSSL QUIC fails to fetch Google.com) -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? ( - curl_quic_openssl? ( >=dev-libs/openssl-3.3.0:=[quic,${MULTILIB_USEDEP}] ) - curl_quic_ngtcp2? ( >=net-libs/ngtcp2-1.2.0[gnutls,ssl,-openssl,${MULTILIB_USEDEP}] ) - ) - rtmp? ( media-video/rtmpdump[${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? ( - >=dev-libs/openssl-1.0.2:=[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,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-5.patch" - "${FILESDIR}/${PN}-respect-cflags-3.patch" - "${FILESDIR}/${P}-progress-parallel.patch" - "${FILESDIR}/${P}-curlopt-capath.patch" - "${FILESDIR}/${P}-wcurl-CVE-2025-11563.patch" -) - -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[@]}") - if use quic; then - myconf+=( - $(use_with curl_quic_ngtcp2 ngtcp2) - $(use_with curl_quic_openssl openssl-quic) - ) - else - # Without a REQUIRED_USE to ensure that QUIC was requested when at least one default backend is - # enabled we need ensure that we don't try to build QUIC support - myconf+=( --without-ngtcp2 --without-openssl-quic ) - fi - 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) - $(use_enable samba smb) - $(use_with ssh libssh2) # enables scp/sftp - $(use_with rtmp librtmp) - --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) - ) - - # --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 - --enable-ntlm - --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 - ) - - 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) - # -k: keep test files after completion - # -am: automake style TAP output - # -p: print logs if test fails - # 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 -k -am -p -j$((2*$(makeopts_jobs))) !241 !1083" -} - -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.17.0.ebuild b/sdk_container/src/third_party/portage-stable/net-misc/curl/curl-8.17.0.ebuild deleted file mode 100644 index 1b2ccf8c874..00000000000 --- a/sdk_container/src/third_party/portage-stable/net-misc/curl/curl-8.17.0.ebuild +++ /dev/null @@ -1,442 +0,0 @@ -# Copyright 1999-2025 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 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 - 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 rtmp rustls samba 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_quic_openssl curl_quic_ngtcp2 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 (requires patched openssl or gnutls currently, enabled with rustls) -# - 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? ( rustls ) - httpsrr? ( adns ) - quic? ( - ^^ ( - curl_quic_openssl - curl_quic_ngtcp2 - ) - http3 - ssl - ) - ssl? ( - ^^ ( - curl_ssl_gnutls - curl_ssl_mbedtls - curl_ssl_openssl - curl_ssl_rustls - ) - ) - curl_quic_openssl? ( - curl_ssl_openssl - !gnutls - !mbedtls - !rustls - ) - curl_quic_ngtcp2? ( - curl_ssl_gnutls - !mbedtls - !openssl - !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) -# 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. -# TODO: OpenSSL-QUIC support is going to be removed in 2026; depend on ngtcp2[{gnutls,openssl}] before that point. -# - https://github.com/curl/curl/pull/18820 (Deprecate OpenSSL QUIC support) -# - https://github.com/curl/curl/issues/18336 (curl w/ OpenSSL QUIC fails to fetch Google.com) -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? ( - curl_quic_openssl? ( >=dev-libs/openssl-3.3.0:=[quic,${MULTILIB_USEDEP}] ) - curl_quic_ngtcp2? ( >=net-libs/ngtcp2-1.2.0[gnutls,ssl,-openssl,${MULTILIB_USEDEP}] ) - ) - rtmp? ( media-video/rtmpdump[${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? ( - >=dev-libs/openssl-1.0.2:=[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,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-5.patch" - "${FILESDIR}/${PN}-respect-cflags-3.patch" -) - -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() { - # 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[@]}") - if use quic; then - myconf+=( - $(use_with curl_quic_ngtcp2 ngtcp2) - $(use_with curl_quic_openssl openssl-quic) - ) - else - # Without a REQUIRED_USE to ensure that QUIC was requested when at least one default backend is - # enabled we need ensure that we don't try to build QUIC support - myconf+=( --without-ngtcp2 --without-openssl-quic ) - fi - 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) - $(use_enable samba smb) - $(use_with ssh libssh2) # enables scp/sftp - $(use_with rtmp librtmp) - --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) - ) - - # --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 - --enable-ntlm - --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 - ) - - 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) - # -k: keep test files after completion - # -am: automake style TAP output - # -p: print logs if test fails - # 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 -k -am -p -j$((2*$(makeopts_jobs))) !241 !1083" -} - -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 - 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.18.0.ebuild b/sdk_container/src/third_party/portage-stable/net-misc/curl/curl-8.18.0.ebuild index ebfe40a02bf..1080a5384d4 100644 --- a/sdk_container/src/third_party/portage-stable/net-misc/curl/curl-8.18.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/net-misc/curl/curl-8.18.0.ebuild @@ -178,6 +178,7 @@ QA_CONFIG_IMPL_DECL_SKIP=( PATCHES=( "${FILESDIR}/${PN}-prefix-6.patch" "${FILESDIR}/${PN}-respect-cflags-3.patch" + "${FILESDIR}/${P}-restore-heimdal.patch" ) src_prepare() { diff --git a/sdk_container/src/third_party/portage-stable/net-misc/curl/curl-8.19.0_rc2.ebuild b/sdk_container/src/third_party/portage-stable/net-misc/curl/curl-8.19.0.ebuild similarity index 99% rename from sdk_container/src/third_party/portage-stable/net-misc/curl/curl-8.19.0_rc2.ebuild rename to sdk_container/src/third_party/portage-stable/net-misc/curl/curl-8.19.0.ebuild index 20096ddf96c..253079ac6bf 100644 --- a/sdk_container/src/third_party/portage-stable/net-misc/curl/curl-8.19.0_rc2.ebuild +++ b/sdk_container/src/third_party/portage-stable/net-misc/curl/curl-8.19.0.ebuild @@ -166,6 +166,7 @@ QA_CONFIG_IMPL_DECL_SKIP=( PATCHES=( "${FILESDIR}/${PN}-prefix-6.patch" "${FILESDIR}/${PN}-respect-cflags-3.patch" + "${FILESDIR}/${PN}-8.18.0-restore-heimdal.patch" ) src_prepare() { diff --git a/sdk_container/src/third_party/portage-stable/net-misc/curl/curl-9999.ebuild b/sdk_container/src/third_party/portage-stable/net-misc/curl/curl-9999.ebuild index 20096ddf96c..9a7175c41e4 100644 --- a/sdk_container/src/third_party/portage-stable/net-misc/curl/curl-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/net-misc/curl/curl-9999.ebuild @@ -33,7 +33,7 @@ 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 rtmp rustls samba sasl-scram +smtp ssh ssl static-libs test" +IUSE+=" mbedtls +openssl +pop3 +psl +quic rustls samba 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" @@ -103,7 +103,6 @@ RDEPEND=" gnutls? ( >=net-libs/ngtcp2-1.20.0-r1[gnutls,ssl,${MULTILIB_USEDEP}] ) openssl? ( >=net-libs/ngtcp2-1.20.0-r1[openssl,ssl,${MULTILIB_USEDEP}] ) ) - rtmp? ( media-video/rtmpdump[${MULTILIB_USEDEP}] ) ssh? ( >=net-libs/libssh2-1.2.8[${MULTILIB_USEDEP}] ) sasl-scram? ( >=net-misc/gsasl-2.2.0[static-libs?,${MULTILIB_USEDEP}] ) ssl? ( @@ -261,7 +260,6 @@ multilib_src_configure() { $(use_enable pop3) $(use_enable samba smb) $(use_with ssh libssh2) # enables scp/sftp - $(use_with rtmp librtmp) --enable-rtsp $(use_enable smtp) $(use_enable telnet) diff --git a/sdk_container/src/third_party/portage-stable/net-misc/curl/files/curl-8.16.0-pthread_cancel.patch b/sdk_container/src/third_party/portage-stable/net-misc/curl/files/curl-8.16.0-pthread_cancel.patch deleted file mode 100644 index 1cc185c2e4f..00000000000 --- a/sdk_container/src/third_party/portage-stable/net-misc/curl/files/curl-8.16.0-pthread_cancel.patch +++ /dev/null @@ -1,399 +0,0 @@ -https://github.com/curl/curl/commit/de3fc1d7adb78c078e4cc7ccc48e550758094ad3 -From: Stefan Eissing -Date: Sat, 13 Sep 2025 15:25:53 +0200 -Subject: [PATCH] asyn-thrdd: drop pthread_cancel - -Remove use of pthread_cancel in asnyc threaded resolving. While there -are system where this works, others might leak to resource leakage -(memory, files, etc.). The popular nsswitch is one example where resolve -code can be dragged in that is not prepared. - -The overall promise and mechanism of pthread_cancel() is just too -brittle and the historcal design of getaddrinfo() continues to haunt us. - -Fixes #18532 -Reported-by: Javier Blazquez -Closes #18540 ---- a/docs/libcurl/libcurl-env-dbg.md -+++ b/docs/libcurl/libcurl-env-dbg.md -@@ -83,11 +83,6 @@ When built with c-ares for name resolving, setting this environment variable - to `[IP:port]` makes libcurl use that DNS server instead of the system - default. This is used by the curl test suite. - --## `CURL_DNS_DELAY_MS` -- --Delay the DNS resolve by this many milliseconds. This is used in the test --suite to check proper handling of CURLOPT_CONNECTTIMEOUT(3). -- - ## `CURL_FTP_PWD_STOP` - - When set, the first transfer - when using ftp: - returns before sending ---- a/lib/asyn-thrdd.c -+++ b/lib/asyn-thrdd.c -@@ -199,14 +199,6 @@ addr_ctx_create(struct Curl_easy *data, - return NULL; - } - --static void async_thrd_cleanup(void *arg) --{ -- struct async_thrdd_addr_ctx *addr_ctx = arg; -- -- Curl_thread_disable_cancel(); -- addr_ctx_unlink(&addr_ctx, NULL); --} -- - #ifdef HAVE_GETADDRINFO - - /* -@@ -220,15 +212,6 @@ static CURL_THREAD_RETURN_T CURL_STDCALL getaddrinfo_thread(void *arg) - struct async_thrdd_addr_ctx *addr_ctx = arg; - bool do_abort; - --/* clang complains about empty statements and the pthread_cleanup* macros -- * are pretty ill defined. */ --#if defined(__clang__) --#pragma clang diagnostic push --#pragma clang diagnostic ignored "-Wextra-semi-stmt" --#endif -- -- Curl_thread_push_cleanup(async_thrd_cleanup, addr_ctx); -- - Curl_mutex_acquire(&addr_ctx->mutx); - do_abort = addr_ctx->do_abort; - Curl_mutex_release(&addr_ctx->mutx); -@@ -237,9 +220,6 @@ static CURL_THREAD_RETURN_T CURL_STDCALL getaddrinfo_thread(void *arg) - char service[12]; - int rc; - --#ifdef DEBUGBUILD -- Curl_resolve_test_delay(); --#endif - msnprintf(service, sizeof(service), "%d", addr_ctx->port); - - rc = Curl_getaddrinfo_ex(addr_ctx->hostname, service, -@@ -274,11 +254,6 @@ static CURL_THREAD_RETURN_T CURL_STDCALL getaddrinfo_thread(void *arg) - - } - -- Curl_thread_pop_cleanup(); --#if defined(__clang__) --#pragma clang diagnostic pop --#endif -- - addr_ctx_unlink(&addr_ctx, NULL); - return 0; - } -@@ -293,24 +268,11 @@ static CURL_THREAD_RETURN_T CURL_STDCALL gethostbyname_thread(void *arg) - struct async_thrdd_addr_ctx *addr_ctx = arg; - bool do_abort; - --/* clang complains about empty statements and the pthread_cleanup* macros -- * are pretty ill defined. */ --#if defined(__clang__) --#pragma clang diagnostic push --#pragma clang diagnostic ignored "-Wextra-semi-stmt" --#endif -- -- Curl_thread_push_cleanup(async_thrd_cleanup, addr_ctx); -- - Curl_mutex_acquire(&addr_ctx->mutx); - do_abort = addr_ctx->do_abort; - Curl_mutex_release(&addr_ctx->mutx); - - if(!do_abort) { --#ifdef DEBUGBUILD -- Curl_resolve_test_delay(); --#endif -- - addr_ctx->res = Curl_ipv4_resolve_r(addr_ctx->hostname, addr_ctx->port); - if(!addr_ctx->res) { - addr_ctx->sock_error = SOCKERRNO; -@@ -337,12 +299,7 @@ static CURL_THREAD_RETURN_T CURL_STDCALL gethostbyname_thread(void *arg) - #endif - } - -- Curl_thread_pop_cleanup(); --#if defined(__clang__) --#pragma clang diagnostic pop --#endif -- -- async_thrd_cleanup(addr_ctx); -+ addr_ctx_unlink(&addr_ctx, NULL); - return 0; - } - -@@ -381,12 +338,12 @@ static void async_thrdd_destroy(struct Curl_easy *data) - CURL_TRC_DNS(data, "async_thrdd_destroy, thread joined"); - } - else { -- /* thread is still running. Detach the thread while mutexed, it will -- * trigger the cleanup when it releases its reference. */ -+ /* thread is still running. Detach it. */ - Curl_thread_destroy(&addr->thread_hnd); - CURL_TRC_DNS(data, "async_thrdd_destroy, thread detached"); - } - } -+ /* release our reference to the shared context */ - addr_ctx_unlink(&thrdd->addr, data); - } - -@@ -532,10 +489,12 @@ static void async_thrdd_shutdown(struct Curl_easy *data) - done = addr_ctx->thrd_done; - Curl_mutex_release(&addr_ctx->mutx); - -- DEBUGASSERT(addr_ctx->thread_hnd != curl_thread_t_null); -- if(!done && (addr_ctx->thread_hnd != curl_thread_t_null)) { -- CURL_TRC_DNS(data, "cancelling resolve thread"); -- (void)Curl_thread_cancel(&addr_ctx->thread_hnd); -+ /* Wait for the thread to terminate if it is already marked done. If it is -+ not done yet we cannot do anything here. We had tried pthread_cancel but -+ it caused hanging and resource leaks (#18532). */ -+ if(done && (addr_ctx->thread_hnd != curl_thread_t_null)) { -+ Curl_thread_join(&addr_ctx->thread_hnd); -+ CURL_TRC_DNS(data, "async_thrdd_shutdown, thread joined"); - } - } - -@@ -553,9 +512,11 @@ static CURLcode asyn_thrdd_await(struct Curl_easy *data, - if(!entry) - async_thrdd_shutdown(data); - -- CURL_TRC_DNS(data, "resolve, wait for thread to finish"); -- if(!Curl_thread_join(&addr_ctx->thread_hnd)) { -- DEBUGASSERT(0); -+ if(addr_ctx->thread_hnd != curl_thread_t_null) { -+ CURL_TRC_DNS(data, "resolve, wait for thread to finish"); -+ if(!Curl_thread_join(&addr_ctx->thread_hnd)) { -+ DEBUGASSERT(0); -+ } - } - - if(entry) ---- a/lib/curl_threads.c -+++ b/lib/curl_threads.c -@@ -100,34 +100,6 @@ int Curl_thread_join(curl_thread_t *hnd) - return ret; - } - --/* do not use pthread_cancel if: -- * - pthread_cancel seems to be absent -- * - on FreeBSD, as we see hangers in CI testing -- * - this is a -fsanitize=thread build -- * (clang sanitizer reports false positive when functions to not return) -- */ --#if defined(PTHREAD_CANCEL_ENABLE) && !defined(__FreeBSD__) --#if defined(__has_feature) --# if !__has_feature(thread_sanitizer) --#define USE_PTHREAD_CANCEL --# endif --#else /* __has_feature */ --#define USE_PTHREAD_CANCEL --#endif /* !__has_feature */ --#endif /* PTHREAD_CANCEL_ENABLE && !__FreeBSD__ */ -- --int Curl_thread_cancel(curl_thread_t *hnd) --{ -- (void)hnd; -- if(*hnd != curl_thread_t_null) --#ifdef USE_PTHREAD_CANCEL -- return pthread_cancel(**hnd); --#else -- return 1; /* not supported */ --#endif -- return 0; --} -- - #elif defined(USE_THREADS_WIN32) - - curl_thread_t Curl_thread_create(CURL_THREAD_RETURN_T -@@ -182,12 +154,4 @@ int Curl_thread_join(curl_thread_t *hnd) - return ret; - } - --int Curl_thread_cancel(curl_thread_t *hnd) --{ -- if(*hnd != curl_thread_t_null) { -- return 1; /* not supported */ -- } -- return 0; --} -- - #endif /* USE_THREADS_* */ ---- a/lib/curl_threads.h -+++ b/lib/curl_threads.h -@@ -66,22 +66,6 @@ void Curl_thread_destroy(curl_thread_t *hnd); - - int Curl_thread_join(curl_thread_t *hnd); - --int Curl_thread_cancel(curl_thread_t *hnd); -- --#if defined(USE_THREADS_POSIX) && defined(PTHREAD_CANCEL_ENABLE) --#define Curl_thread_push_cleanup(a,b) pthread_cleanup_push(a,b) --#define Curl_thread_pop_cleanup() pthread_cleanup_pop(0) --#define Curl_thread_enable_cancel() \ -- pthread_setcancelstate(PTHREAD_CANCEL_ENABLE, NULL) --#define Curl_thread_disable_cancel() \ -- pthread_setcancelstate(PTHREAD_CANCEL_DISABLE, NULL) --#else --#define Curl_thread_push_cleanup(a,b) ((void)a,(void)b) --#define Curl_thread_pop_cleanup() Curl_nop_stmt --#define Curl_thread_enable_cancel() Curl_nop_stmt --#define Curl_thread_disable_cancel() Curl_nop_stmt --#endif -- - #endif /* USE_THREADS_POSIX || USE_THREADS_WIN32 */ - - #endif /* HEADER_CURL_THREADS_H */ ---- a/lib/hostip.c -+++ b/lib/hostip.c -@@ -1132,10 +1132,6 @@ CURLcode Curl_resolv_timeout(struct Curl_easy *data, - prev_alarm = alarm(curlx_sltoui(timeout/1000L)); - } - --#ifdef DEBUGBUILD -- Curl_resolve_test_delay(); --#endif -- - #else /* !USE_ALARM_TIMEOUT */ - #ifndef CURLRES_ASYNCH - if(timeoutms) -@@ -1639,18 +1635,3 @@ CURLcode Curl_resolver_error(struct Curl_easy *data, const char *detail) - return result; - } - #endif /* USE_CURL_ASYNC */ -- --#ifdef DEBUGBUILD --#include "curlx/wait.h" -- --void Curl_resolve_test_delay(void) --{ -- const char *p = getenv("CURL_DNS_DELAY_MS"); -- if(p) { -- curl_off_t l; -- if(!curlx_str_number(&p, &l, TIME_T_MAX) && l) { -- curlx_wait_ms((timediff_t)l); -- } -- } --} --#endif ---- a/lib/hostip.h -+++ b/lib/hostip.h -@@ -216,8 +216,4 @@ struct Curl_addrinfo *Curl_sync_getaddrinfo(struct Curl_easy *data, - - #endif - --#ifdef DEBUGBUILD --void Curl_resolve_test_delay(void); --#endif -- - #endif /* HEADER_CURL_HOSTIP_H */ ---- a/tests/data/Makefile.am -+++ b/tests/data/Makefile.am -@@ -112,7 +112,7 @@ test754 test755 test756 test757 test758 test759 test760 test761 test762 \ - test763 \ - \ - test780 test781 test782 test783 test784 test785 test786 test787 test788 \ --test789 test790 test791 test792 test793 test794 test795 test796 test797 \ -+test789 test790 test791 test792 test793 test794 test796 test797 \ - \ - test799 test800 test801 test802 test803 test804 test805 test806 test807 \ - test808 test809 test810 test811 test812 test813 test814 test815 test816 \ ---- a/tests/data/test795 -+++ /dev/null -@@ -1,36 +0,0 @@ -- -- -- --DNS -- -- -- --# Client-side -- -- --http --Debug --!c-ares --!win32 -- -- --Delayed resolve --connect-timeout check -- -- --CURL_DNS_DELAY_MS=5000 -- -- --http://test.invalid -v --no-progress-meter --trace-config dns --connect-timeout 1 -w \%{time_total} -- -- -- --# Verify data after the test has been "shot" -- -- --28 -- -- --%SRCDIR/libtest/test795.pl %LOGDIR/stdout%TESTNUMBER 2 >> %LOGDIR/stderr%TESTNUMBER -- -- -- ---- a/tests/libtest/Makefile.am -+++ b/tests/libtest/Makefile.am -@@ -42,7 +42,7 @@ AM_CPPFLAGS = -I$(top_srcdir)/include \ - include Makefile.inc - - EXTRA_DIST = CMakeLists.txt $(FIRST_C) $(FIRST_H) $(UTILS_C) $(UTILS_H) $(TESTS_C) \ -- test307.pl test610.pl test613.pl test795.pl test1013.pl test1022.pl mk-lib1521.pl -+ test307.pl test610.pl test613.pl test1013.pl test1022.pl mk-lib1521.pl - - CFLAGS += @CURL_CFLAG_EXTRAS@ - ---- a/tests/libtest/test795.pl -+++ /dev/null -@@ -1,46 +0,0 @@ --#!/usr/bin/env perl --#*************************************************************************** --# _ _ ____ _ --# Project ___| | | | _ \| | --# / __| | | | |_) | | --# | (__| |_| | _ <| |___ --# \___|\___/|_| \_\_____| --# --# Copyright (C) Daniel Stenberg, , et al. --# --# This software is licensed as described in the file COPYING, which --# you should have received as part of this distribution. The terms --# are also available at https://curl.se/docs/copyright.html. --# --# You may opt to use, copy, modify, merge, publish, distribute and/or sell --# copies of the Software, and permit persons to whom the Software is --# furnished to do so, under the terms of the COPYING file. --# --# This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY --# KIND, either express or implied. --# --# SPDX-License-Identifier: curl --# --########################################################################### --use strict; --use warnings; -- --my $ok = 1; --my $exp_duration = $ARGV[1] + 0.0; -- --# Read the output of curl --version --open(F, $ARGV[0]) || die "Can't open test result from $ARGV[0]\n"; --$_ = ; --chomp; --/\s*([\.\d]+)\s*/; --my $duration = $1 + 0.0; --close F; -- --if ($duration <= $exp_duration) { -- print "OK: duration of $duration in expected range\n"; -- $ok = 0; --} --else { -- print "FAILED: duration of $duration is larger than $exp_duration\n"; --} --exit $ok; diff --git a/sdk_container/src/third_party/portage-stable/net-misc/curl/files/curl-8.16.0-ssl_verifyhost.patch b/sdk_container/src/third_party/portage-stable/net-misc/curl/files/curl-8.16.0-ssl_verifyhost.patch deleted file mode 100644 index 4d08f7f796b..00000000000 --- a/sdk_container/src/third_party/portage-stable/net-misc/curl/files/curl-8.16.0-ssl_verifyhost.patch +++ /dev/null @@ -1,63 +0,0 @@ -https://github.com/curl/curl/commit/f7cac7cc07a45481b246c875e8113d741ba2a6e1 -From: Daniel Stenberg -Date: Sun, 14 Sep 2025 23:28:03 +0200 -Subject: [PATCH] setopt: accept *_SSL_VERIFYHOST set to 2L - -... without outputing a verbose message about it. In the early days we -had 2L and 1L have different functionalities. - -Reported-by: Jicea -Bug: https://curl.se/mail/lib-2025-09/0031.html -Closes #18547 ---- a/lib/setopt.c -+++ b/lib/setopt.c -@@ -443,6 +443,7 @@ static CURLcode setopt_bool(struct Curl_easy *data, CURLoption option, - long arg, bool *set) - { - bool enabled = !!arg; -+ int ok = 1; - struct UserDefined *s = &data->set; - switch(option) { - case CURLOPT_FORBID_REUSE: -@@ -619,7 +620,7 @@ static CURLcode setopt_bool(struct Curl_easy *data, CURLoption option, - * Enable verification of the hostname in the peer certificate for proxy - */ - s->proxy_ssl.primary.verifyhost = enabled; -- -+ ok = 2; - /* Update the current connection proxy_ssl_config. */ - Curl_ssl_conn_config_update(data, TRUE); - break; -@@ -723,6 +724,7 @@ static CURLcode setopt_bool(struct Curl_easy *data, CURLoption option, - * Enable verification of the hostname in the peer certificate for DoH - */ - s->doh_verifyhost = enabled; -+ ok = 2; - break; - case CURLOPT_DOH_SSL_VERIFYSTATUS: - /* -@@ -732,6 +734,7 @@ static CURLcode setopt_bool(struct Curl_easy *data, CURLoption option, - return CURLE_NOT_BUILT_IN; - - s->doh_verifystatus = enabled; -+ ok = 2; - break; - #endif /* ! CURL_DISABLE_DOH */ - case CURLOPT_SSL_VERIFYHOST: -@@ -743,6 +746,7 @@ static CURLcode setopt_bool(struct Curl_easy *data, CURLoption option, - this argument took a boolean when it was not and misused it. - Treat 1 and 2 the same */ - s->ssl.primary.verifyhost = enabled; -+ ok = 2; - - /* Update the current connection ssl_config. */ - Curl_ssl_conn_config_update(data, FALSE); -@@ -844,7 +848,7 @@ static CURLcode setopt_bool(struct Curl_easy *data, CURLoption option, - default: - return CURLE_OK; - } -- if((arg > 1) || (arg < 0)) -+ if((arg > ok) || (arg < 0)) - /* reserve other values for future use */ - infof(data, "boolean setopt(%d) got unsupported argument %ld," - " treated as %d", option, arg, enabled); diff --git a/sdk_container/src/third_party/portage-stable/net-misc/curl/files/curl-8.17.0-curlopt-capath.patch b/sdk_container/src/third_party/portage-stable/net-misc/curl/files/curl-8.17.0-curlopt-capath.patch deleted file mode 100644 index 32e96f38995..00000000000 --- a/sdk_container/src/third_party/portage-stable/net-misc/curl/files/curl-8.17.0-curlopt-capath.patch +++ /dev/null @@ -1,289 +0,0 @@ -https://github.com/curl/curl/pull/19408 - -From f36ab2dd6f33b9a9c069a034cf4f1451006d0f21 Mon Sep 17 00:00:00 2001 -From: Stefan Eissing -Date: Sat, 8 Nov 2025 14:28:38 +0100 -Subject: [PATCH 1/4] fix --capath use - -A regression in curl 8.17.0 led to a customer CAPATH set by the application -(or the curl command) to be ignored unless licurl was built with a default -CAPATH. - -Add test cases using `--capath` on the custom pytest CA, generated with -the help of the openssl command when available. - -refs #19401 ---- - lib/vtls/vtls.c | 4 ++-- - tests/http/test_17_ssl_use.py | 23 +++++++++++++++++++++++ - tests/http/testenv/certs.py | 16 ++++++++++++++++ - tests/http/testenv/curl.py | 3 ++- - tests/http/testenv/env.py | 20 ++++++++++++++++++++ - 5 files changed, 63 insertions(+), 3 deletions(-) - -diff --git a/lib/vtls/vtls.c b/lib/vtls/vtls.c -index 3b7a095c8b75..3858cad98312 100644 ---- a/lib/vtls/vtls.c -+++ b/lib/vtls/vtls.c -@@ -310,7 +310,6 @@ CURLcode Curl_ssl_easy_config_complete(struct Curl_easy *data) - if(result) - return result; - } -- sslc->primary.CApath = data->set.str[STRING_SSL_CAPATH]; - #endif - #ifdef CURL_CA_BUNDLE - if(!sslc->custom_cafile && !set->str[STRING_SSL_CAFILE]) { -@@ -322,6 +321,7 @@ CURLcode Curl_ssl_easy_config_complete(struct Curl_easy *data) - } - sslc->primary.CAfile = data->set.str[STRING_SSL_CAFILE]; - sslc->primary.CRLfile = data->set.str[STRING_SSL_CRLFILE]; -+ sslc->primary.CApath = data->set.str[STRING_SSL_CAPATH]; - sslc->primary.issuercert = data->set.str[STRING_SSL_ISSUERCERT]; - sslc->primary.issuercert_blob = data->set.blobs[BLOB_SSL_ISSUERCERT]; - sslc->primary.cipher_list = data->set.str[STRING_SSL_CIPHER_LIST]; -@@ -358,7 +358,6 @@ CURLcode Curl_ssl_easy_config_complete(struct Curl_easy *data) - if(result) - return result; - } -- sslc->primary.CApath = data->set.str[STRING_SSL_CAPATH_PROXY]; - #endif - #ifdef CURL_CA_BUNDLE - if(!sslc->custom_cafile && !set->str[STRING_SSL_CAFILE_PROXY]) { -@@ -370,6 +369,7 @@ CURLcode Curl_ssl_easy_config_complete(struct Curl_easy *data) - #endif - } - sslc->primary.CAfile = data->set.str[STRING_SSL_CAFILE_PROXY]; -+ sslc->primary.CApath = data->set.str[STRING_SSL_CAPATH_PROXY]; - sslc->primary.cipher_list = data->set.str[STRING_SSL_CIPHER_LIST_PROXY]; - sslc->primary.cipher_list13 = data->set.str[STRING_SSL_CIPHER13_LIST_PROXY]; - sslc->primary.pinned_key = data->set.str[STRING_SSL_PINNEDPUBLICKEY_PROXY]; -diff --git a/tests/http/test_17_ssl_use.py b/tests/http/test_17_ssl_use.py -index 57e1c014042b..20b6fdaef18b 100644 ---- a/tests/http/test_17_ssl_use.py -+++ b/tests/http/test_17_ssl_use.py -@@ -597,3 +597,26 @@ def test_17_20_correct_pin(self, env: Env, proto, httpd): - ]) - # expect NOT_IMPLEMENTED or OK - assert r.exit_code in [0, 2], f'{r.dump_logs()}' -+ -+ @pytest.mark.skipif(condition=not Env.have_openssl(), reason="needs openssl command") -+ def test_17_21_capath_valid(self, env: Env, httpd): -+ proto = 'http/1.1' -+ curl = CurlClient(env=env) -+ url = f'https://{env.authority_for(env.domain1, proto)}/curltest/sslinfo' -+ r = curl.http_get(url=url, alpn_proto=proto, extra_args=[ -+ '--capath', os.path.join(env.gen_dir, 'ca/hashdir') -+ ]) -+ assert r.exit_code == 0, f'{r.dump_logs()}' -+ assert r.json['HTTPS'] == 'on', f'{r.json}' -+ -+ @pytest.mark.skipif(condition=not Env.have_openssl(), reason="needs openssl command") -+ def test_17_22_capath_invalid(self, env: Env, httpd): -+ proto = 'http/1.1' -+ curl = CurlClient(env=env) -+ url = f'https://{env.authority_for(env.domain1, proto)}/curltest/sslinfo' -+ r = curl.http_get(url=url, alpn_proto=proto, extra_args=[ -+ '--capath', os.path.join(env.gen_dir, 'ca/invalid') -+ ]) -+ # CURLE_PEER_FAILED_VERIFICATION -+ assert r.exit_code == 60, f'{r.dump_logs()}' -+ -diff --git a/tests/http/testenv/certs.py b/tests/http/testenv/certs.py -index e59b1ea147e1..c9a30aaac065 100644 ---- a/tests/http/testenv/certs.py -+++ b/tests/http/testenv/certs.py -@@ -28,6 +28,8 @@ - import ipaddress - import os - import re -+import shutil -+import subprocess - from datetime import timedelta, datetime, timezone - from typing import List, Any, Optional - -@@ -200,6 +202,10 @@ def pkey_file(self) -> Optional[str]: - def combined_file(self) -> Optional[str]: - return self._combined_file - -+ @property -+ def hashdir(self) -> Optional[str]: -+ return os.path.join(self._store.path, 'hashdir') -+ - def get_first(self, name) -> Optional['Credentials']: - creds = self._store.get_credentials_for_name(name) if self._store else [] - return creds[0] if len(creds) else None -@@ -236,6 +242,16 @@ def issue_cert(self, spec: CertificateSpec, - creds.issue_certs(spec.sub_specs, chain=subchain) - return creds - -+ def create_hashdir(self, openssl): -+ os.makedirs(self.hashdir, exist_ok=True) -+ p = subprocess.run(args=[ -+ openssl, 'x509', '-hash', '-noout', '-in', self.cert_file -+ ], capture_output=True, text=True) -+ if p.returncode != 0: -+ raise Exception(f'openssl failed to compute cert hash: {p}') -+ cert_hname = f'{p.stdout.strip()}.0' -+ shutil.copy(self.cert_file, os.path.join(self.hashdir, cert_hname)) -+ - - class CertStore: - -diff --git a/tests/http/testenv/curl.py b/tests/http/testenv/curl.py -index dc885ab8cba9..a92e4f681f34 100644 ---- a/tests/http/testenv/curl.py -+++ b/tests/http/testenv/curl.py -@@ -987,7 +987,8 @@ def _complete_args(self, urls, timeout=None, options=None, - pass - elif insecure: - args.append('--insecure') -- elif active_options and "--cacert" in active_options: -+ elif active_options and ("--cacert" in active_options or \ -+ "--capath" in active_options): - pass - elif u.hostname: - args.extend(["--cacert", self.env.ca.cert_file]) -diff --git a/tests/http/testenv/env.py b/tests/http/testenv/env.py -index ff8741530b70..859b704a35a3 100644 ---- a/tests/http/testenv/env.py -+++ b/tests/http/testenv/env.py -@@ -199,6 +199,16 @@ def __init__(self, pytestconfig: Optional[pytest.Config] = None, - ]), - ] - -+ self.openssl = 'openssl' -+ p = subprocess.run(args=[self.openssl, 'version'], -+ capture_output=True, text=True) -+ if p.returncode != 0: -+ # no openssl in path -+ self.openssl = None -+ self.openssl_version = None -+ else: -+ self.openssl_version = p.stdout.strip() -+ - self.nghttpx = self.config['nghttpx']['nghttpx'] - if len(self.nghttpx.strip()) == 0: - self.nghttpx = None -@@ -372,6 +382,10 @@ def setup_incomplete() -> bool: - def incomplete_reason() -> Optional[str]: - return Env.CONFIG.get_incomplete_reason() - -+ @staticmethod -+ def have_openssl() -> bool: -+ return Env.CONFIG.openssl is not None -+ - @staticmethod - def have_nghttpx() -> bool: - return Env.CONFIG.nghttpx is not None -@@ -548,6 +562,8 @@ def issue_certs(self): - store_dir=ca_dir, - key_type="rsa2048") - self._ca.issue_certs(self.CONFIG.cert_specs) -+ if self.have_openssl(): -+ self._ca.create_hashdir(self.openssl) - - def setup(self): - os.makedirs(self.gen_dir, exist_ok=True) -@@ -703,6 +719,10 @@ def ws_port(self) -> int: - def curl(self) -> str: - return self.CONFIG.curl - -+ @property -+ def openssl(self) -> Optional[str]: -+ return self.CONFIG.openssl -+ - @property - def httpd(self) -> str: - return self.CONFIG.httpd - -From 02a595146a0bd3036f653ec48d5bfc9a0187ab75 Mon Sep 17 00:00:00 2001 -From: Stefan Eissing -Date: Sat, 8 Nov 2025 14:37:22 +0100 -Subject: [PATCH 2/4] use correct hashdir - ---- - tests/http/test_17_ssl_use.py | 3 +-- - 1 file changed, 1 insertion(+), 2 deletions(-) - -diff --git a/tests/http/test_17_ssl_use.py b/tests/http/test_17_ssl_use.py -index 20b6fdaef18b..0019bb1239d2 100644 ---- a/tests/http/test_17_ssl_use.py -+++ b/tests/http/test_17_ssl_use.py -@@ -604,7 +604,7 @@ def test_17_21_capath_valid(self, env: Env, httpd): - curl = CurlClient(env=env) - url = f'https://{env.authority_for(env.domain1, proto)}/curltest/sslinfo' - r = curl.http_get(url=url, alpn_proto=proto, extra_args=[ -- '--capath', os.path.join(env.gen_dir, 'ca/hashdir') -+ '--capath', env.ca.hashdir - ]) - assert r.exit_code == 0, f'{r.dump_logs()}' - assert r.json['HTTPS'] == 'on', f'{r.json}' -@@ -619,4 +619,3 @@ def test_17_22_capath_invalid(self, env: Env, httpd): - ]) - # CURLE_PEER_FAILED_VERIFICATION - assert r.exit_code == 60, f'{r.dump_logs()}' -- - -From 5a952c670b0cf6e5735c2178014600af062390c4 Mon Sep 17 00:00:00 2001 -From: Stefan Eissing -Date: Sat, 8 Nov 2025 14:50:23 +0100 -Subject: [PATCH 3/4] test_17_21 skip for rustls test_17_22 accept error 77 as - well - ---- - tests/http/test_17_ssl_use.py | 8 ++++++-- - 1 file changed, 6 insertions(+), 2 deletions(-) - -diff --git a/tests/http/test_17_ssl_use.py b/tests/http/test_17_ssl_use.py -index 0019bb1239d2..76f20080b3d6 100644 ---- a/tests/http/test_17_ssl_use.py -+++ b/tests/http/test_17_ssl_use.py -@@ -600,6 +600,8 @@ def test_17_20_correct_pin(self, env: Env, proto, httpd): - - @pytest.mark.skipif(condition=not Env.have_openssl(), reason="needs openssl command") - def test_17_21_capath_valid(self, env: Env, httpd): -+ if env.curl_uses_lib('rustls'): -+ pytest.skip('rustls does not support CURLOPT_CAPATH') - proto = 'http/1.1' - curl = CurlClient(env=env) - url = f'https://{env.authority_for(env.domain1, proto)}/curltest/sslinfo' -@@ -611,11 +613,13 @@ def test_17_21_capath_valid(self, env: Env, httpd): - - @pytest.mark.skipif(condition=not Env.have_openssl(), reason="needs openssl command") - def test_17_22_capath_invalid(self, env: Env, httpd): -+ # we can test all TLS backends here. the ones not supporting CAPATH -+ # need to fail as well as the ones which do, but get an invalid path. - proto = 'http/1.1' - curl = CurlClient(env=env) - url = f'https://{env.authority_for(env.domain1, proto)}/curltest/sslinfo' - r = curl.http_get(url=url, alpn_proto=proto, extra_args=[ - '--capath', os.path.join(env.gen_dir, 'ca/invalid') - ]) -- # CURLE_PEER_FAILED_VERIFICATION -- assert r.exit_code == 60, f'{r.dump_logs()}' -+ # CURLE_PEER_FAILED_VERIFICATION or CURLE_SSL_CACERT_BADFILE -+ assert r.exit_code in [60, 77], f'{r.dump_logs()}' - -From 10d57fbbe4c1036780d36feed6f55a87307c6e25 Mon Sep 17 00:00:00 2001 -From: Stefan Eissing -Date: Sat, 8 Nov 2025 14:58:25 +0100 -Subject: [PATCH 4/4] use 'rustls-ffi' to check for rustsls backend - ---- - tests/http/test_17_ssl_use.py | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/tests/http/test_17_ssl_use.py b/tests/http/test_17_ssl_use.py -index 76f20080b3d6..615658f06c01 100644 ---- a/tests/http/test_17_ssl_use.py -+++ b/tests/http/test_17_ssl_use.py -@@ -600,7 +600,7 @@ def test_17_20_correct_pin(self, env: Env, proto, httpd): - - @pytest.mark.skipif(condition=not Env.have_openssl(), reason="needs openssl command") - def test_17_21_capath_valid(self, env: Env, httpd): -- if env.curl_uses_lib('rustls'): -+ if env.curl_uses_lib('rustls-ffi'): - pytest.skip('rustls does not support CURLOPT_CAPATH') - proto = 'http/1.1' - curl = CurlClient(env=env) - diff --git a/sdk_container/src/third_party/portage-stable/net-misc/curl/files/curl-8.17.0-progress-parallel.patch b/sdk_container/src/third_party/portage-stable/net-misc/curl/files/curl-8.17.0-progress-parallel.patch deleted file mode 100644 index 8bfd90e577c..00000000000 --- a/sdk_container/src/third_party/portage-stable/net-misc/curl/files/curl-8.17.0-progress-parallel.patch +++ /dev/null @@ -1,54 +0,0 @@ -https://github.com/curl/curl/pull/19383 - -From a5038ff41f83907c896a41716f4f78a80a144cd1 Mon Sep 17 00:00:00 2001 -From: Stefan Eissing -Date: Thu, 6 Nov 2025 12:47:33 +0100 -Subject: [PATCH] curl: fix progress meter in parallel mode - -With `check_finished()` triggered by notifications now, the -`progress_meter()` was no longer called at regular intervals. - -Move `progress_meter()` out of `check_finishe()` into the perform -loop and event callbacks. ---- - src/tool_operate.c | 5 ++++- - 1 file changed, 4 insertions(+), 1 deletion(-) - -diff --git a/src/tool_operate.c b/src/tool_operate.c -index 74f5da5fa915..e1f61a2ba519 100644 ---- a/src/tool_operate.c -+++ b/src/tool_operate.c -@@ -1549,6 +1549,7 @@ static void on_uv_socket(uv_poll_t *req, int status, int events) - - curl_multi_socket_action(c->uv->s->multi, c->sockfd, flags, - &c->uv->s->still_running); -+ progress_meter(c->uv->s->multi, &c->uv->s->start, FALSE); - } - - /* callback from libuv when timeout expires */ -@@ -1561,6 +1562,7 @@ static void on_uv_timeout(uv_timer_t *req) - if(uv && uv->s) { - curl_multi_socket_action(uv->s->multi, CURL_SOCKET_TIMEOUT, 0, - &uv->s->still_running); -+ progress_meter(uv->s->multi, &uv->s->start, FALSE); - } - } - -@@ -1733,7 +1735,6 @@ static CURLcode check_finished(struct parastate *s) - int rc; - CURLMsg *msg; - bool checkmore = FALSE; -- progress_meter(s->multi, &s->start, FALSE); - do { - msg = curl_multi_info_read(s->multi, &rc); - if(msg) { -@@ -1875,6 +1876,8 @@ static CURLcode parallel_transfers(CURLSH *share) - s->mcode = curl_multi_poll(s->multi, NULL, 0, 1000, NULL); - if(!s->mcode) - s->mcode = curl_multi_perform(s->multi, &s->still_running); -+ -+ progress_meter(s->multi, &s->start, FALSE); - } - - (void)progress_meter(s->multi, &s->start, TRUE); - diff --git a/sdk_container/src/third_party/portage-stable/net-misc/curl/files/curl-8.17.0-wcurl-CVE-2025-11563.patch b/sdk_container/src/third_party/portage-stable/net-misc/curl/files/curl-8.17.0-wcurl-CVE-2025-11563.patch deleted file mode 100644 index a5cc6fa5588..00000000000 --- a/sdk_container/src/third_party/portage-stable/net-misc/curl/files/curl-8.17.0-wcurl-CVE-2025-11563.patch +++ /dev/null @@ -1,27 +0,0 @@ -https://bugs.gentoo.org/966140 -https://github.com/curl/wcurl/commit/65546bae0164a97d89d42176e366d9c7c7796261 - -From 65546bae0164a97d89d42176e366d9c7c7796261 Mon Sep 17 00:00:00 2001 -From: Xi Ruoyao -Date: Sun, 9 Nov 2025 14:30:34 +0800 -Subject: [PATCH] wcurl: Really fix CVE-2025-11563 - -When we pass a string to is_safe_percent_encode, it always begins with -"%'. But the lookup table UNSAFE_PERCENT_ENCODE does not contain "%" so -nothing can be matched. - -Also update the test suite to fix the false positive. - -Signed-off-by: Xi Ruoyao - ---- a/scripts/wcurl -+++ b/scripts/wcurl -@@ -118,7 +118,7 @@ readonly PER_URL_PARAMETERS="\ - # characters. - # 2F = / - # 5C = \ --readonly UNSAFE_PERCENT_ENCODE="2F 5C" -+readonly UNSAFE_PERCENT_ENCODE="%2F %5C" - - # Whether to invoke curl or not. - DRY_RUN="false" diff --git a/sdk_container/src/third_party/portage-stable/net-misc/curl/files/curl-8.18.0-restore-heimdal.patch b/sdk_container/src/third_party/portage-stable/net-misc/curl/files/curl-8.18.0-restore-heimdal.patch new file mode 100644 index 00000000000..509049644cd --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/net-misc/curl/files/curl-8.18.0-restore-heimdal.patch @@ -0,0 +1,191 @@ +diff -Naurp curl-8.16.0/CMake/FindGSS.cmake curl-8.16.0_orig/CMake/FindGSS.cmake +--- curl-8.16.0/CMake/FindGSS.cmake 2025-11-11 10:04:08.786293188 +0000 ++++ curl-8.16.0/CMake/FindGSS.cmake 2025-11-11 09:54:12.223957480 +0000 +@@ -37,6 +37,7 @@ + + set(_gnu_modname "gss") + set(_mit_modname "mit-krb5-gssapi") ++set(_heimdal_modname "heimdal-gssapi") + + include(CheckIncludeFile) + include(CheckIncludeFiles) +@@ -51,7 +52,7 @@ set(_gss_LIBRARY_DIRS "") + if(NOT GSS_ROOT_DIR AND NOT "$ENV{GSS_ROOT_DIR}") + if(CURL_USE_PKGCONFIG) + find_package(PkgConfig QUIET) +- pkg_search_module(_gss ${_gnu_modname} ${_mit_modname}) ++ pkg_search_module(_gss ${_gnu_modname} ${_mit_modname} ${_heimdal_modname}) + list(APPEND _gss_root_hints "${_gss_PREFIX}") + set(_gss_version "${_gss_VERSION}") + endif() +@@ -139,8 +140,14 @@ if(NOT _gss_FOUND) # Not found by pkg-c + OUTPUT_STRIP_TRAILING_WHITESPACE) + + # Older versions may not have the "--vendor" parameter. In this case we just do not care. +- if(NOT _gss_configure_failed AND NOT _gss_vendor MATCHES "Heimdal|heimdal") +- set(_gss_flavour "MIT") # assume a default, should not really matter ++ if(_gss_configure_failed) ++ set(_gss_flavour "Heimdal") # most probably, should not really matter ++ else() ++ if(_gss_vendor MATCHES "Heimdal|heimdal") ++ set(_gss_flavour "Heimdal") ++ else() ++ set(_gss_flavour "MIT") ++ endif() + endif() + + else() # Either there is no config script or we are on a platform that does not provide one (Windows?) +@@ -149,30 +156,46 @@ if(NOT _gss_FOUND) # Not found by pkg-c + cmake_push_check_state() + list(APPEND CMAKE_REQUIRED_INCLUDES "${_gss_INCLUDE_DIRS}") + check_include_files("gssapi/gssapi_generic.h;gssapi/gssapi_krb5.h" _gss_have_mit_headers) +- cmake_pop_check_state() + + if(_gss_have_mit_headers) + set(_gss_flavour "MIT") + if(WIN32) + if(CMAKE_SIZEOF_VOID_P EQUAL 8) + list(APPEND _gss_libdir_suffixes "lib/AMD64") + set(_gss_libname "gssapi64") + else() + list(APPEND _gss_libdir_suffixes "lib/i386") + set(_gss_libname "gssapi32") + endif() + else() + list(APPEND _gss_libdir_suffixes "lib" "lib64") # those suffixes are not checked for HINTS + set(_gss_libname "gssapi_krb5") + endif() ++ else() ++ # Prevent compiling the header - just check if we can include it ++ list(APPEND CMAKE_REQUIRED_DEFINITIONS "-D__ROKEN_H__") ++ check_include_file("roken.h" _gss_have_roken_h) ++ ++ check_include_file("heimdal/roken.h" _gss_have_heimdal_roken_h) ++ if(_gss_have_roken_h OR _gss_have_heimdal_roken_h) ++ set(_gss_flavour "Heimdal") ++ endif() + endif() ++ cmake_pop_check_state() + else() +- find_path(_gss_INCLUDE_DIRS NAMES "gss.h" HINTS ${_gss_root_hints} PATH_SUFFIXES "include") + + if(_gss_INCLUDE_DIRS) +- set(_gss_flavour "GNU") +- set(_gss_pc_requires ${_gnu_modname}) +- set(_gss_libname "gss") ++ set(_gss_flavour "Heimdal") ++ set(_gss_pc_requires ${_heimdal_modname}) ++ set(_gss_libname "libgssapi") ++ else() ++ find_path(_gss_INCLUDE_DIRS NAMES "gss.h" HINTS ${_gss_root_hints} PATH_SUFFIXES "include") ++ ++ if(_gss_INCLUDE_DIRS) ++ set(_gss_flavour "GNU") ++ set(_gss_pc_requires ${_gnu_modname}) ++ set(_gss_libname "gss") ++ endif() + endif() + endif() + +@@ -189,9 +210,6 @@ if(NOT _gss_FOUND) # Not found by pkg-c + find_library(_gss_LIBRARIES NAMES ${_gss_libname} HINTS ${_gss_libdir_hints} PATH_SUFFIXES ${_gss_libdir_suffixes}) + endif() + endif() +- if(NOT _gss_flavour) +- message(FATAL_ERROR "GNU or MIT GSS is required") +- endif() + else() + # _gss_MODULE_NAME set since CMake 3.16. + # _pkg_check_modules_pkg_name is undocumented and used as a fallback for CMake <3.16 versions. +@@ -202,15 +226,33 @@ else() + set(_gss_flavour "MIT") + set(_gss_pc_requires ${_mit_modname}) + else() +- message(FATAL_ERROR "GNU or MIT GSS is required") ++ set(_gss_flavour "Heimdal") ++ set(_gss_pc_requires ${_heimdal_modname}) + endif() + message(STATUS "Found GSS/${_gss_flavour} (via pkg-config): ${_gss_INCLUDE_DIRS} (found version \"${_gss_version}\")") + endif() + + set(GSS_VERSION ${_gss_version}) + +-if(NOT GSS_VERSION) +- if(_gss_flavour STREQUAL "MIT") ++if(_gss_flavour) ++ if(NOT GSS_VERSION AND _gss_flavour STREQUAL "Heimdal") ++ if(CMAKE_SIZEOF_VOID_P EQUAL 8) ++ set(_heimdal_manifest_file "Heimdal.Application.amd64.manifest") ++ else() ++ set(_heimdal_manifest_file "Heimdal.Application.x86.manifest") ++ endif() ++ ++ if(EXISTS "${_gss_INCLUDE_DIRS}/${_heimdal_manifest_file}") ++ file(STRINGS "${_gss_INCLUDE_DIRS}/${_heimdal_manifest_file}" _heimdal_version_str ++ REGEX "^.*version=\"[0-9]\\.[^\"]+\".*$") ++ ++ string(REGEX MATCH "[0-9]\\.[^\"]+" GSS_VERSION "${_heimdal_version_str}") ++ endif() ++ ++ if(NOT GSS_VERSION) ++ set(GSS_VERSION "Heimdal Unknown") ++ endif() ++ elseif(NOT GSS_VERSION AND _gss_flavour STREQUAL "MIT") + if(CMAKE_VERSION VERSION_GREATER_EQUAL 3.24) + cmake_host_system_information(RESULT _mit_version QUERY WINDOWS_REGISTRY + "HKLM/SOFTWARE/MIT/Kerberos/SDK/CurrentVersion" VALUE "VersionString") +@@ -223,7 +339,7 @@ if(NOT GSS_VERSION) + else() + set(GSS_VERSION "MIT Unknown") + endif() +- else() # GNU ++ elseif(NOT GSS_VERSION AND _gss_flavour STREQUAL "GNU") + if(_gss_INCLUDE_DIRS AND EXISTS "${_gss_INCLUDE_DIRS}/gss.h") + set(_version_regex "#[\t ]*define[\t ]+GSS_VERSION[\t ]+\"([^\"]*)\"") + file(STRINGS "${_gss_INCLUDE_DIRS}/gss.h" _version_str REGEX "${_version_regex}") +diff -Naurp curl-8.16.0/configure.ac curl-8.16.0_orig/configure.ac +--- curl-8.16.0/configure.ac 2025-11-11 08:59:46.795915379 +0000 ++++ curl-8.16.0/configure.ac 2025-11-11 08:57:58.852575571 +0000 +@@ -1860,14 +1860,21 @@ if test x"$want_gss" = xyes; then + gnu_gss=yes + ], + [ +- dnl not found, check for MIT ++ dnl not found, check Heimdal or MIT + AC_CHECK_HEADERS( + [gssapi/gssapi.h gssapi/gssapi_generic.h gssapi/gssapi_krb5.h], + [], + [not_mit=1]) + if test "$not_mit" = "1"; then +- dnl MIT not found +- AC_MSG_ERROR([MIT or GNU GSS library required, but not found]) ++ dnl MIT not found, check for Heimdal ++ AC_CHECK_HEADER(gssapi.h, ++ [], ++ [ ++ dnl no header found, disabling GSS ++ want_gss=no ++ AC_MSG_WARN(disabling GSS-API support since no header files were found) ++ ] ++ ) + fi + ] + ) +@@ -1877,7 +1884,7 @@ fi + if test "$want_gss" = "yes"; then + AC_DEFINE(HAVE_GSSAPI, 1, [if you have GSS-API libraries]) + HAVE_GSSAPI=1 +- curl_gss_msg="enabled (MIT Kerberos)" ++ curl_gss_msg="enabled (MIT Kerberos/Heimdal)" + link_pkgconfig='' + + if test -n "$gnu_gss"; then +@@ -1956,6 +1963,8 @@ if test x"$want_gss" = xyes; then + if test -n "$link_pkgconfig"; then + if test -n "$gnu_gss"; then + LIBCURL_PC_REQUIRES_PRIVATE="$LIBCURL_PC_REQUIRES_PRIVATE gss" ++ elif test "x$not_mit" = "x1"; then ++ LIBCURL_PC_REQUIRES_PRIVATE="$LIBCURL_PC_REQUIRES_PRIVATE heimdal-gssapi" + else + LIBCURL_PC_REQUIRES_PRIVATE="$LIBCURL_PC_REQUIRES_PRIVATE mit-krb5-gssapi" + fi diff --git a/sdk_container/src/third_party/portage-stable/net-misc/curl/files/curl-prefix-4.patch b/sdk_container/src/third_party/portage-stable/net-misc/curl/files/curl-prefix-4.patch deleted file mode 100644 index 796b67fd927..00000000000 --- a/sdk_container/src/third_party/portage-stable/net-misc/curl/files/curl-prefix-4.patch +++ /dev/null @@ -1,35 +0,0 @@ -From f18f4362d7ca60fb12248a559dab26aea330771c Mon Sep 17 00:00:00 2001 -From: Matt Jolly -Date: Wed, 5 Feb 2025 17:27:11 +1000 -Subject: [PATCH] Update prefix patch for 8.12.0 - -Signed-off-by: Matt Jolly ---- - curl-config.in | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/curl-config.in b/curl-config.in -index 55184167b..df31fdb46 100644 ---- a/curl-config.in -+++ b/curl-config.in -@@ -141,7 +141,7 @@ while test "$#" -gt 0; do - ;; - - --cflags) -- if test "X@includedir@" = 'X/usr/include'; then -+ if test "X@includedir@" = "X@GENTOO_PORTAGE_EPREFIX@/usr/include"; then - echo '@LIBCURL_PC_CFLAGS@' - else - echo "@LIBCURL_PC_CFLAGS@ -I@includedir@" -@@ -149,7 +149,7 @@ while test "$#" -gt 0; do - ;; - - --libs) -- if test "X@libdir@" != 'X/usr/lib' -a "X@libdir@" != 'X/usr/lib64'; then -+ if test "X@libdir@" != "X@GENTOO_PORTAGE_EPREFIX@/usr/lib" -a "X@libdir@" != "X@GENTOO_PORTAGE_EPREFIX@/usr/lib64"; then - curllibdir="-L@libdir@ " - else - curllibdir='' --- -2.48.0 - diff --git a/sdk_container/src/third_party/portage-stable/net-misc/curl/files/curl-prefix-5.patch b/sdk_container/src/third_party/portage-stable/net-misc/curl/files/curl-prefix-5.patch deleted file mode 100644 index 77070171aed..00000000000 --- a/sdk_container/src/third_party/portage-stable/net-misc/curl/files/curl-prefix-5.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 05d97da1f669a1486489897128c2374b562ab176 Mon Sep 17 00:00:00 2001 -From: Matt Jolly -Date: Tue, 2 Sep 2025 08:41:51 +1000 -Subject: [PATCH] Update prefix patch for 8.16.0 - -Signed-off-by: Matt Jolly ---- a/curl-config.in -+++ b/curl-config.in -@@ -141,7 +141,7 @@ while test "$#" -gt 0; do - ;; - - --cflags) -- if test "@includedir@" = '/usr/include'; then -+ if test "@includedir@" = "GENTOO_PORTAGE_EPREFIX@/usr/include"; then - echo '@LIBCURL_PC_CFLAGS@' - else - echo "@LIBCURL_PC_CFLAGS@ -I@includedir@" -@@ -149,7 +149,7 @@ while test "$#" -gt 0; do - ;; - - --libs) -- if test "@libdir@" != '/usr/lib' -a "@libdir@" != '/usr/lib64'; then -+ if test "@libdir@" != "@GENTOO_PORTAGE_EPREFIX@/usr/lib" -a "@libdir@" != "@GENTOO_PORTAGE_EPREFIX@/usr/lib64"; then - curllibdir="-L@libdir@ " - else - curllibdir='' --- -2.50.1 - diff --git a/sdk_container/src/third_party/portage-stable/net-misc/rsync/rsync-3.4.1-r2.ebuild b/sdk_container/src/third_party/portage-stable/net-misc/rsync/rsync-3.4.1-r2.ebuild index d4e0ff8e38b..052f932664c 100644 --- a/sdk_container/src/third_party/portage-stable/net-misc/rsync/rsync-3.4.1-r2.ebuild +++ b/sdk_container/src/third_party/portage-stable/net-misc/rsync/rsync-3.4.1-r2.ebuild @@ -27,7 +27,7 @@ else SRC_DIR="src-previews" else SRC_DIR="src" - 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="https://rsync.samba.org/ftp/rsync/${SRC_DIR}/${P/_/}.tar.gz diff --git a/sdk_container/src/third_party/portage-stable/net-misc/socat/socat-1.8.1.1.ebuild b/sdk_container/src/third_party/portage-stable/net-misc/socat/socat-1.8.1.1.ebuild index 9d2e42d82cb..abb836e44ea 100644 --- a/sdk_container/src/third_party/portage-stable/net-misc/socat/socat-1.8.1.1.ebuild +++ b/sdk_container/src/third_party/portage-stable/net-misc/socat/socat-1.8.1.1.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. diff --git a/sdk_container/src/third_party/portage-stable/net-misc/whois/Manifest b/sdk_container/src/third_party/portage-stable/net-misc/whois/Manifest index 815ef1fa07e..3c2c97a88d6 100644 --- a/sdk_container/src/third_party/portage-stable/net-misc/whois/Manifest +++ b/sdk_container/src/third_party/portage-stable/net-misc/whois/Manifest @@ -1,3 +1,2 @@ -DIST whois-5.5.20.tar.gz 109648 BLAKE2B 17b6a795ac517a81cde44530df3e835cccc020a1750ab28d50551a7bd08d132aa10768ff146b0a7943a8348cc7f3f3f7096262caf1d91fbb2d3610ae9f6473e8 SHA512 1d602ec817411a36b3d175e34f166c06186639f4eeea145751decc45372953df40fc76b57c7589d93c49ab0be1276459dffc6424a4344ddbca23f35a9f492fc7 -DIST whois-5.5.21.tar.gz 109621 BLAKE2B b1cf42f1a60e5009e5882f154432d5974f45c1bf89d8b36b73f6e5f55ff2dba02e8ca7900926d2824200f5422d5e9f00abde524d4e2d8a25ba37376cc2e8d04a SHA512 4f3ffbd875df89e910aa9d20616f2d04e773d3e5cd0c5d0262dca481fd6228214033b854ac4eebe078cfde14ab90429d826f24ce6c21ec14cfe8ad56e78ae6e9 DIST whois-5.5.23.tar.gz 109709 BLAKE2B 4985c26b90d8afa678e8cdca2b25f7b5a55c300555c5ac1595ff0c35fb65e35bf6e5dc5733e0364172fecdc2071565f08d1fb38ff5b9671714792d6b7baa2a63 SHA512 6e2caf1ce28edcd561287ea7a072a069851caee42fd47850b8555e03dd353ad79a338ceae2f9b8fa98c0e06a16dbeef5a7a6d422a76d8a141c92d8e9e82aebc3 +DIST whois-5.6.6.tar.gz 110330 BLAKE2B bf89556c8c77a3b2ac20b8cd01f4bc7007ed642812df6958f6b89a8ea42681f3fc67cfef6a28f6d99a60adcfcd869de308cc99aab830cff755e1394fb1f7859e SHA512 eaf347cf4ed7154f5b431e895f86ce0340fc3893928d8509bf9389461e7721ed51efd89407f457ee92f6283ab9e11fc1db41c463681d57f102199479ce427601 diff --git a/sdk_container/src/third_party/portage-stable/net-misc/whois/whois-5.5.20.ebuild b/sdk_container/src/third_party/portage-stable/net-misc/whois/whois-5.5.20.ebuild deleted file mode 100644 index 4c9b5630420..00000000000 --- a/sdk_container/src/third_party/portage-stable/net-misc/whois/whois-5.5.20.ebuild +++ /dev/null @@ -1,81 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit bash-completion-r1 toolchain-funcs - -MY_P=${P/-/_} -DESCRIPTION="Improved Whois Client" -HOMEPAGE="https://github.com/rfc1036/whois" - -if [[ ${PV} == *9999 ]] ; then - inherit git-r3 - EGIT_REPO_URI="https://github.com/rfc1036/whois.git" -else - #SRC_URI="mirror://debian/pool/main/w/whois/${MY_P}.tar.xz" - SRC_URI="https://github.com/rfc1036/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" - #S="${WORKDIR}"/${PN} - - KEYWORDS="~alpha amd64 arm arm64 ~hppa ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" -fi - -LICENSE="GPL-2" -SLOT="0" -IUSE="iconv idn nls xcrypt" - -RDEPEND=" - iconv? ( virtual/libiconv ) - idn? ( net-dns/libidn2:= ) - nls? ( virtual/libintl ) - xcrypt? ( >=sys-libs/libxcrypt-4.1:= ) - !xcrypt? ( virtual/libcrypt:= ) -" -DEPEND="${RDEPEND}" -BDEPEND=" - app-arch/xz-utils - >=dev-lang/perl-5 - virtual/pkgconfig - nls? ( sys-devel/gettext )" - -PATCHES=( - "${FILESDIR}"/${PN}-4.7.2-config-file.patch - "${FILESDIR}"/${PN}-5.3.0-libidn_automagic.patch - "${FILESDIR}"/${PN}-5.5.6-libxcrypt_automagic.patch -) - -src_prepare() { - default - - if use nls ; then - sed -i -e 's:#\(.*pos\):\1:' Makefile || die - else - sed -i -e '/ENABLE_NLS/s:define:undef:' config.h || die - - # don't generate po files when nls is disabled (bug #419889) - sed -i -e '/^all:/s/ pos//' \ - -e '/^install:/s/ install-pos//' Makefile || die - fi -} - -src_configure() { :; } # expected no-op - -src_compile() { - unset HAVE_ICONV HAVE_LIBIDN - - use iconv && export HAVE_ICONV=1 - use idn && export HAVE_LIBIDN=1 - use xcrypt && export HAVE_XCRYPT=1 - - tc-export CC - - emake CFLAGS="${CFLAGS} ${CPPFLAGS}" -} - -src_install() { - emake DESTDIR="${D}" prefix="${EPREFIX}/usr" BASHCOMPDIR="$(get_bashcompdir)" install - - insinto /etc - doins whois.conf - dodoc README debian/changelog -} diff --git a/sdk_container/src/third_party/portage-stable/net-misc/whois/whois-5.5.21.ebuild b/sdk_container/src/third_party/portage-stable/net-misc/whois/whois-5.5.21.ebuild deleted file mode 100644 index 4c9b5630420..00000000000 --- a/sdk_container/src/third_party/portage-stable/net-misc/whois/whois-5.5.21.ebuild +++ /dev/null @@ -1,81 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit bash-completion-r1 toolchain-funcs - -MY_P=${P/-/_} -DESCRIPTION="Improved Whois Client" -HOMEPAGE="https://github.com/rfc1036/whois" - -if [[ ${PV} == *9999 ]] ; then - inherit git-r3 - EGIT_REPO_URI="https://github.com/rfc1036/whois.git" -else - #SRC_URI="mirror://debian/pool/main/w/whois/${MY_P}.tar.xz" - SRC_URI="https://github.com/rfc1036/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" - #S="${WORKDIR}"/${PN} - - KEYWORDS="~alpha amd64 arm arm64 ~hppa ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" -fi - -LICENSE="GPL-2" -SLOT="0" -IUSE="iconv idn nls xcrypt" - -RDEPEND=" - iconv? ( virtual/libiconv ) - idn? ( net-dns/libidn2:= ) - nls? ( virtual/libintl ) - xcrypt? ( >=sys-libs/libxcrypt-4.1:= ) - !xcrypt? ( virtual/libcrypt:= ) -" -DEPEND="${RDEPEND}" -BDEPEND=" - app-arch/xz-utils - >=dev-lang/perl-5 - virtual/pkgconfig - nls? ( sys-devel/gettext )" - -PATCHES=( - "${FILESDIR}"/${PN}-4.7.2-config-file.patch - "${FILESDIR}"/${PN}-5.3.0-libidn_automagic.patch - "${FILESDIR}"/${PN}-5.5.6-libxcrypt_automagic.patch -) - -src_prepare() { - default - - if use nls ; then - sed -i -e 's:#\(.*pos\):\1:' Makefile || die - else - sed -i -e '/ENABLE_NLS/s:define:undef:' config.h || die - - # don't generate po files when nls is disabled (bug #419889) - sed -i -e '/^all:/s/ pos//' \ - -e '/^install:/s/ install-pos//' Makefile || die - fi -} - -src_configure() { :; } # expected no-op - -src_compile() { - unset HAVE_ICONV HAVE_LIBIDN - - use iconv && export HAVE_ICONV=1 - use idn && export HAVE_LIBIDN=1 - use xcrypt && export HAVE_XCRYPT=1 - - tc-export CC - - emake CFLAGS="${CFLAGS} ${CPPFLAGS}" -} - -src_install() { - emake DESTDIR="${D}" prefix="${EPREFIX}/usr" BASHCOMPDIR="$(get_bashcompdir)" install - - insinto /etc - doins whois.conf - dodoc README debian/changelog -} diff --git a/sdk_container/src/third_party/portage-stable/net-misc/whois/whois-5.6.6.ebuild b/sdk_container/src/third_party/portage-stable/net-misc/whois/whois-5.6.6.ebuild new file mode 100644 index 00000000000..cae7e5ec96c --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/net-misc/whois/whois-5.6.6.ebuild @@ -0,0 +1,83 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit bash-completion-r1 toolchain-funcs + +DESCRIPTION="Improved Whois Client" +HOMEPAGE="https://github.com/rfc1036/whois" + +if [[ ${PV} == *9999 ]] ; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/rfc1036/whois.git" +else + SRC_URI="https://github.com/rfc1036/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +fi + +LICENSE="GPL-2" +SLOT="0" +IUSE="iconv idn nls" + +RDEPEND=" + virtual/libcrypt:= + iconv? ( virtual/libiconv ) + idn? ( net-dns/libidn2:= ) + nls? ( virtual/libintl ) +" +DEPEND="${RDEPEND}" +BDEPEND=" + >=dev-lang/perl-5 + virtual/pkgconfig + nls? ( sys-devel/gettext ) +" + +PATCHES=( + "${FILESDIR}"/${PN}-5.3.0-libidn_automagic.patch +) + +src_prepare() { + default + if ! use nls; then + sed -i -e '/ENABLE_NLS/s:define:undef:' config.h || die + fi +} + +src_configure() { :; } # expected no-op + +src_compile() { + tc-export CC PKG_CONFIG + local myemakeargs=( + prefix="${EPREFIX}/usr" + CONFIG_FILE="${EPREFIX}/etc/whois.conf" + $(usev iconv HAVE_ICONV=1) + $(usev idn HAVE_LIBIDN=1) + $(usev nls LOCALEDIR=1) + + # targets + whois + mkpasswd + $(usev nls pos) + ) + emake "${myemakeargs[@]}" +} + +src_install() { + local myemakeargs=( + prefix="${EPREFIX}/usr" + DESTDIR="${D}" + BASHCOMPDIR="$(get_bashcompdir)" + + # targets + install-whois + install-mkpasswd + install-bashcomp + $(usev nls install-pos) + ) + emake "${myemakeargs[@]}" + + insinto /etc + doins whois.conf + dodoc README debian/changelog +} diff --git a/sdk_container/src/third_party/portage-stable/net-misc/whois/whois-9999.ebuild b/sdk_container/src/third_party/portage-stable/net-misc/whois/whois-9999.ebuild index 2e8630e931a..cae7e5ec96c 100644 --- a/sdk_container/src/third_party/portage-stable/net-misc/whois/whois-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/net-misc/whois/whois-9999.ebuild @@ -1,11 +1,10 @@ -# Copyright 1999-2023 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 inherit bash-completion-r1 toolchain-funcs -MY_P=${P/-/_} DESCRIPTION="Improved Whois Client" HOMEPAGE="https://github.com/rfc1036/whois" @@ -13,67 +12,70 @@ if [[ ${PV} == *9999 ]] ; then inherit git-r3 EGIT_REPO_URI="https://github.com/rfc1036/whois.git" else - #SRC_URI="mirror://debian/pool/main/w/whois/${MY_P}.tar.xz" SRC_URI="https://github.com/rfc1036/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" - #S="${WORKDIR}"/${PN} - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" fi LICENSE="GPL-2" SLOT="0" -IUSE="iconv idn nls xcrypt" +IUSE="iconv idn nls" RDEPEND=" + virtual/libcrypt:= iconv? ( virtual/libiconv ) idn? ( net-dns/libidn2:= ) nls? ( virtual/libintl ) - xcrypt? ( >=sys-libs/libxcrypt-4.1:= ) - !xcrypt? ( virtual/libcrypt:= ) " DEPEND="${RDEPEND}" BDEPEND=" - app-arch/xz-utils >=dev-lang/perl-5 virtual/pkgconfig - nls? ( sys-devel/gettext )" + nls? ( sys-devel/gettext ) +" PATCHES=( - "${FILESDIR}"/${PN}-4.7.2-config-file.patch "${FILESDIR}"/${PN}-5.3.0-libidn_automagic.patch - "${FILESDIR}"/${PN}-5.5.6-libxcrypt_automagic.patch ) src_prepare() { default - - if use nls ; then - sed -i -e 's:#\(.*pos\):\1:' Makefile || die - else + if ! use nls; then sed -i -e '/ENABLE_NLS/s:define:undef:' config.h || die - - # don't generate po files when nls is disabled (bug #419889) - sed -i -e '/^all:/s/ pos//' \ - -e '/^install:/s/ install-pos//' Makefile || die fi } src_configure() { :; } # expected no-op src_compile() { - unset HAVE_ICONV HAVE_LIBIDN - - use iconv && export HAVE_ICONV=1 - use idn && export HAVE_LIBIDN=1 - use xcrypt && export HAVE_XCRYPT=1 - - tc-export CC - - emake CFLAGS="${CFLAGS} ${CPPFLAGS}" + tc-export CC PKG_CONFIG + local myemakeargs=( + prefix="${EPREFIX}/usr" + CONFIG_FILE="${EPREFIX}/etc/whois.conf" + $(usev iconv HAVE_ICONV=1) + $(usev idn HAVE_LIBIDN=1) + $(usev nls LOCALEDIR=1) + + # targets + whois + mkpasswd + $(usev nls pos) + ) + emake "${myemakeargs[@]}" } src_install() { - emake DESTDIR="${D}" prefix="${EPREFIX}/usr" BASHCOMPDIR="$(get_bashcompdir)" install + local myemakeargs=( + prefix="${EPREFIX}/usr" + DESTDIR="${D}" + BASHCOMPDIR="$(get_bashcompdir)" + + # targets + install-whois + install-mkpasswd + install-bashcomp + $(usev nls install-pos) + ) + emake "${myemakeargs[@]}" insinto /etc doins whois.conf diff --git a/sdk_container/src/third_party/portage-stable/net-nds/openldap/Manifest b/sdk_container/src/third_party/portage-stable/net-nds/openldap/Manifest index 3a3a73a3a4d..b24b1d07bec 100644 --- a/sdk_container/src/third_party/portage-stable/net-nds/openldap/Manifest +++ b/sdk_container/src/third_party/portage-stable/net-nds/openldap/Manifest @@ -1,6 +1,10 @@ DIST openldap-2.5.19.tgz 6458108 BLAKE2B f1cea685c6bc7691cb77b2a12be74b56d479bb152d4c97e87d2e0de8767d33a277557c3ca291928abb0b62d986fcd474969c9618fa499dd9202cdaac39b3b3ce SHA512 12838fd5ac93b18fabda14e8f55c59d1bba169a114c59ac81e621f09f407d87e8ef9244aae951d984b8c8971f4c907c385e57ead671ea0a434282f7d616358b9 DIST openldap-2.5.19.tgz.asc 833 BLAKE2B 3d56134d65de1ae7a2e4e7d4c44d5fd166fdca136f8580897fedb26dc195b0730dbb7502a6cbe1b8991857a725bedb0398e703d933166459b39d16265c143ff8 SHA512 d322a61f1872062f5594091455bd0d2ecbe1741db5852d4ee5c9c77b162c5ee0750de33dc56cd87b4bdbcc954121cebf2dd39eeedd9bdcc9b39821e44ceeff09 -DIST openldap-2.6.9.tgz 6516669 BLAKE2B b86ee6cf275632a4c963d33c6ceb1a4eef4611a5e678e6369458c6b70d5251ee4d299a941c9a42241855996dc81b55c8aef09e92da46f19766e5501bf0355aba SHA512 d3f839d3cf1030caa410e54f968e9c0caf3bc371c06ea0f64cf3a6ece6d31013c9dbfb08a3a63ea9137a2062aa6edc6e0bc542b365fe4ad66608df4cdbe94a4e -DIST openldap-2.6.9.tgz.asc 833 BLAKE2B 781ecffc73d79829658e9796040e71245fbdd0cd6b68311318d9c9acc84694acd4c365806c1e08bfe137fd4f32ffca04d3ea2d2528a275eae7b3fb7df6475d79 SHA512 c5a477b69e14b6b951c4bd6bc124538d79bd0a6b321f37fec99483a8310c64db285993aafc9adebe7f252a67d198e0c5993e6c25156ee51c4311f4ae6ff53268 +DIST openldap-2.5.20.tgz 6462390 BLAKE2B 87d4adfdbb6e4c16024ef3fe0a6f0a74e0381005a75c71cad9a1ab6e71740773a901304bf5a2265a68c020a3cbb9f925c26301701321640590996a429ee47ad5 SHA512 fb96682f8981aa9c5b234f71cd5d48c218aedd8d1301d8c9cef729b36029391b477b551fb129977aeeaffa006ca67f7af30d7614b26dbac8033367880023e3a9 +DIST openldap-2.5.20.tgz.asc 833 BLAKE2B b225091950a5c49768dced11b45750e6e70d69c62443824d16e8e0c4eaf8321e467863cc146fe00f9e0954aeb891f9277acd81d8ea36757d654b823e269d8893 SHA512 5954ed2e200172807c4cd6d9bba7194284bb057d847d9698cf6adf4cb5745c398284d9eadf75347b6e321903fd3cf4cbba362b8686f823b67e367f860bac8be8 +DIST openldap-2.6.12.tgz 6524579 BLAKE2B e1ba63a73276728bea66d14c872f59a4e8d0187d057ee28765a3fd51f4f1f4e9c739da689131fdebe049b188bc134f17dfc51289710886163f75b19e76c35cce SHA512 951b510393433114939f386d43e202a62803724f395e4e400a556ca451f90ff1e179fe580b3db51f275859257b32814e66a13145d46f68bded4ff61c1fa37f36 +DIST openldap-2.6.12.tgz.asc 833 BLAKE2B 94ec571c15574c480348a2c845fdf3f99de4f6916b3cc8d262add1246674e079587c8e9307bfd2fc69cbb611e81762e49a693a31af715c9cc1440c7167ec206d SHA512 7bd45db97615a39982b7eff61b08e7f643b87d9d729c6dd001d01d179abee191223557b53b1ec7af57caab2dab13482da4b85c72814bb065f3bb3db49a6b669f +DIST openldap-2.6.13.tgz 6525768 BLAKE2B 056579a32ffa082aafc988ba74d9be52eab06ccd67c40bf7c2e14690d6d82fe43596e6bc0caf580f4d326b0b6654c3090d0560f81ba0f5399ccb205c9be67aaa SHA512 a64b222bee2e8693e534f64eeb7afcd1f0c7a4b9ae2288ce2c53be9b532902fac3a1e3318c82545cf30c7f982a68b5167ee8baba1f4be5c1a72abdb7c75ac80b +DIST openldap-2.6.13.tgz.asc 833 BLAKE2B 61a3baca03509b3d66efdba2467604c696188e8d5ba4a59a9c84b21dc7850592e92ec0a518ca4118b7ce991f02b595b486ca3fb63adf6063238ded24a8662417 SHA512 8ad1ecfbcbfec001579d4dd50fbbceb2d4af61600b1805c33e79def562c434a1fed59cb3e30cf8886fb193d9a688122961689378a67420a3f3f54c4549b5d7f2 DIST openldap-OPENLDAP_REL_ENG_2_6_8.tar.bz2 5065637 BLAKE2B d55345c11bd8892a594c3f7114cd1368e017c2e29997da7a80bdd915308d498f62dfb5cc3a3360b50df78ef5f90a48a566a8ce3ace85ebf9aa6b288a37c4eff2 SHA512 556d1377afc73a84ee325c4d7bcc8446def936b67d3f07df4bd2a243ff30f268c5c0c298977482df1e1a86b2b7a0cd7846fc1f51d706748d39f67f5d621ccc04 DIST rfc2307bis.schema-20140524 12262 BLAKE2B 98031f49e9bde1e4821e637af3382364d8344ed7017649686a088070d96a632dffa6c661552352656b1b159c0fd962965580069a64c7f3d5bb6a3ed75f60fd99 SHA512 83b89a1deeefc8566b97e7e865b9b6d04541099cbdf719e24538a7d27d61b6209e87ab9003a9f140bd9afd018ec569e71721e3a24090e1902c8b6659d2ba103e diff --git a/sdk_container/src/third_party/portage-stable/net-nds/openldap/metadata.xml b/sdk_container/src/third_party/portage-stable/net-nds/openldap/metadata.xml index 115e7b62132..2f0b38bce5f 100644 --- a/sdk_container/src/third_party/portage-stable/net-nds/openldap/metadata.xml +++ b/sdk_container/src/third_party/portage-stable/net-nds/openldap/metadata.xml @@ -10,12 +10,12 @@ Enable use of cleartext passwords Enable experimental backend options Enable support for kerberos init + Build libraries & userspace tools only. Does not install any server code Enable ODBC and SQL backend options Enable contributed OpenLDAP overlays - Enable overlay for syncing ldap, unix and lanman passwords - Build libraries & userspace tools only. Does not install any server code Enable support for pbkdf2 passwords Enable support for pw-sha2 password hashes + Enable overlay for syncing ldap, unix and lanman passwords https://bugs.openldap.org/ diff --git a/sdk_container/src/third_party/portage-stable/net-nds/openldap/openldap-2.5.20.ebuild b/sdk_container/src/third_party/portage-stable/net-nds/openldap/openldap-2.5.20.ebuild new file mode 100644 index 00000000000..c91b2b42351 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/net-nds/openldap/openldap-2.5.20.ebuild @@ -0,0 +1,881 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# Re cleanups: +# 2.5.x is an LTS release so we want to keep it for a while. + +inherit autotools flag-o-matic multilib multilib-minimal preserve-libs +inherit ssl-cert toolchain-funcs systemd tmpfiles verify-sig + +MY_PV="$(ver_rs 1-2 _)" + +DESCRIPTION="LDAP suite of application and development tools" +HOMEPAGE="https://www.openldap.org/" +SRC_URI=" + https://openldap.org/software/download/OpenLDAP/${PN}-release/${P}.tgz + verify-sig? ( https://openldap.org/software/download/OpenLDAP/${PN}-release/${P}.tgz.asc ) +" +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/openldap.asc + +LICENSE="OPENLDAP GPL-2" +# Subslot added for bug #835654 +SLOT="0/$(ver_cut 1-2)" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + +IUSE_DAEMON="argon2 +cleartext crypt experimental minimal samba tcpd" +IUSE_OVERLAY="overlays perl autoca" +IUSE_OPTIONAL="debug gnutls iodbc ipv6 odbc sasl ssl selinux static-libs +syslog test" +IUSE_CONTRIB="kerberos kinit pbkdf2 sha2 smbkrb5passwd" +IUSE_CONTRIB="${IUSE_CONTRIB} cxx" +IUSE="systemd ${IUSE_DAEMON} ${IUSE_BACKEND} ${IUSE_OVERLAY} ${IUSE_OPTIONAL} ${IUSE_CONTRIB}" +REQUIRED_USE=" + cxx? ( sasl ) + pbkdf2? ( ssl ) + test? ( cleartext sasl debug ) + autoca? ( !gnutls ) + ?? ( test minimal ) + kerberos? ( ?? ( kinit smbkrb5passwd ) ) +" +RESTRICT="!test? ( test )" + +SYSTEM_LMDB_VER=0.9.33 +# openssl is needed to generate lanman-passwords required by samba +COMMON_DEPEND=" + kernel_linux? ( sys-apps/util-linux ) + ssl? ( + !gnutls? ( + >=dev-libs/openssl-1.0.1h-r2:0=[${MULTILIB_USEDEP}] + ) + gnutls? ( + >=net-libs/gnutls-2.12.23-r6:=[${MULTILIB_USEDEP}] + >=dev-libs/libgcrypt-1.5.3:0=[${MULTILIB_USEDEP}] + ) + ) + sasl? ( dev-libs/cyrus-sasl:= ) + !minimal? ( + dev-libs/libltdl + sys-fs/e2fsprogs + >=dev-db/lmdb-${SYSTEM_LMDB_VER}:= + argon2? ( app-crypt/argon2:= ) + crypt? ( virtual/libcrypt:= ) + tcpd? ( sys-apps/tcp-wrappers ) + odbc? ( !iodbc? ( dev-db/unixODBC ) + iodbc? ( dev-db/libiodbc ) ) + perl? ( dev-lang/perl:=[-build(-)] ) + samba? ( + dev-libs/openssl:0= + ) + smbkrb5passwd? ( + dev-libs/openssl:0= + kerberos? ( app-crypt/heimdal ) + ) + kerberos? ( + virtual/krb5 + kinit? ( !app-crypt/heimdal ) + ) + ) +" +DEPEND=" + ${COMMON_DEPEND} + sys-apps/groff +" +RDEPEND=" + ${COMMON_DEPEND} + selinux? ( sec-policy/selinux-ldap ) +" + +# The user/group are only used for running daemons which are +# disabled in minimal builds, so elide the accounts too. +BDEPEND=" + !minimal? ( + acct-group/ldap + acct-user/ldap + ) + verify-sig? ( >=sec-keys/openpgp-keys-openldap-20201216 ) +" + +# for tracking versions +OPENLDAP_VERSIONTAG=".version-tag" +OPENLDAP_DEFAULTDIR_VERSIONTAG="/var/lib/openldap-data" + +MULTILIB_WRAPPED_HEADERS=( + # USE=cxx + /usr/include/LDAPAsynConnection.h + /usr/include/LDAPAttrType.h + /usr/include/LDAPAttribute.h + /usr/include/LDAPAttributeList.h + /usr/include/LDAPConnection.h + /usr/include/LDAPConstraints.h + /usr/include/LDAPControl.h + /usr/include/LDAPControlSet.h + /usr/include/LDAPEntry.h + /usr/include/LDAPEntryList.h + /usr/include/LDAPException.h + /usr/include/LDAPExtResult.h + /usr/include/LDAPMessage.h + /usr/include/LDAPMessageQueue.h + /usr/include/LDAPModList.h + /usr/include/LDAPModification.h + /usr/include/LDAPObjClass.h + /usr/include/LDAPRebind.h + /usr/include/LDAPRebindAuth.h + /usr/include/LDAPReferenceList.h + /usr/include/LDAPResult.h + /usr/include/LDAPSaslBindResult.h + /usr/include/LDAPSchema.h + /usr/include/LDAPSearchReference.h + /usr/include/LDAPSearchResult.h + /usr/include/LDAPSearchResults.h + /usr/include/LDAPUrl.h + /usr/include/LDAPUrlList.h + /usr/include/LdifReader.h + /usr/include/LdifWriter.h + /usr/include/SaslInteraction.h + /usr/include/SaslInteractionHandler.h + /usr/include/StringList.h + /usr/include/TlsOptions.h +) + +PATCHES=( + "${FILESDIR}"/${PN}-2.4.28-fix-dash.patch + "${FILESDIR}"/${PN}-2.6.1-system-mdb.patch + "${FILESDIR}"/${PN}-2.6.1-cloak.patch + "${FILESDIR}"/${PN}-2.6.1-flags.patch + "${FILESDIR}"/${PN}-2.5.19-gcc14-SDWORD-vs-SQLINTEGER.patch +) + +openldap_filecount() { + local dir="$1" + find "${dir}" -type f ! -name '.*' ! -name 'DB_CONFIG*' | wc -l +} + +openldap_find_versiontags() { + # scan for all datadirs + local openldap_datadirs=() + if [[ -f "${EROOT}"/etc/openldap/slapd.conf ]]; then + openldap_datadirs=( $(awk '{if($1 == "directory") print $2 }' "${EROOT}"/etc/openldap/slapd.conf) ) + fi + openldap_datadirs+=( ${OPENLDAP_DEFAULTDIR_VERSIONTAG} ) + + einfo + einfo "Scanning datadir(s) from slapd.conf and" + einfo "the default installdir for Versiontags" + einfo "(${OPENLDAP_DEFAULTDIR_VERSIONTAG} may appear twice)" + einfo + + # scan datadirs if we have a version tag + openldap_found_tag=0 + have_files=0 + for each in ${openldap_datadirs[@]} ; do + CURRENT_TAGDIR="${EROOT}$(sed "s:\/::" <<< ${each})" + CURRENT_TAG="${CURRENT_TAGDIR}/${OPENLDAP_VERSIONTAG}" + if [[ -d "${CURRENT_TAGDIR}" ]] && [[ "${openldap_found_tag}" == 0 ]] ; then + einfo "- Checking ${each}..." + if [[ -r "${CURRENT_TAG}" ]] ; then + # yey, we have one :) + einfo " Found Versiontag in ${each}" + source "${CURRENT_TAG}" + if [[ "${OLDPF}" == "" ]] ; then + eerror "Invalid Versiontag found in ${CURRENT_TAGDIR}" + eerror "Please delete it" + eerror + die "Please kill the invalid versiontag in ${CURRENT_TAGDIR}" + fi + + OLD_MAJOR=$(ver_cut 2-3 ${OLDPF}) + + [[ "$(openldap_filecount ${CURRENT_TAGDIR})" -gt 0 ]] && have_files=1 + + # are we on the same branch? + if [[ "${OLD_MAJOR}" != "${PV:0:3}" ]] ; then + ewarn " Versiontag doesn't match current major release!" + if [[ "${have_files}" == "1" ]] ; then + eerror " Versiontag says other major and you (probably) have datafiles!" + echo + openldap_upgrade_howto + else + einfo " No real problem, seems there's no database." + fi + else + einfo " Versiontag is fine here :)" + fi + else + einfo " Non-tagged dir ${each}" + [[ "$(openldap_filecount ${each})" -gt 0 ]] && have_files=1 + if [[ "${have_files}" == "1" ]] ; then + einfo " EEK! Non-empty non-tagged datadir, counting `ls -a ${each} | wc -l` files" + echo + + eerror + eerror "Your OpenLDAP Installation has a non tagged datadir that" + eerror "possibly contains a database at ${CURRENT_TAGDIR}" + eerror + eerror "Please export data if any entered and empty or remove" + eerror "the directory, installation has been stopped so you" + eerror "can take required action" + eerror + eerror "For a HOWTO on exporting the data, see instructions in the ebuild" + eerror + openldap_upgrade_howto + die "Please move the datadir ${CURRENT_TAGDIR} away" + fi + fi + einfo + fi + done + [[ "${have_files}" == "1" ]] && einfo "DB files present" || einfo "No DB files present" + + # Now we must check for the major version of sys-libs/db linked against. + # TODO: remove this as we dropped bdb support (gone upstream) in 2.6.1? + SLAPD_PATH="${EROOT}/usr/$(get_libdir)/openldap/slapd" + if [[ "${have_files}" == "1" ]] && [[ -f "${SLAPD_PATH}" ]]; then + OLDVER="$(/usr/bin/ldd ${SLAPD_PATH} \ + | awk '/libdb-/{gsub("^libdb-","",$1);gsub(".so$","",$1);print $1}')" + local fail=0 + + # This will not cover detection of cn=Config based configuration, but + # it's hopefully good enough. + if grep -sq '^backend.*shell' "${EROOT}"/etc/openldap/slapd.conf; then + eerror " OpenLDAP >= 2.6.x has dropped support for Shell backend." + eerror " You will need to migrate per upstream's migration notes" + eerror " at https://www.openldap.org/doc/admin25/appendix-upgrading.html." + eerror " Your existing database will not be accessible until it is" + eerror " converted away from backend shell!" + echo + fail=1 + fi + if has_version "${CATEGORY}/${PN}[berkdb]" || grep -sq '^backend.*(bdb|hdb)' /etc/openldap/slapd.conf; then + eerror " OpenLDAP >= 2.5.x has dropped support for Berkeley DB." + eerror " You will need to migrate per upstream's migration notes" + eerror " at https://www.openldap.org/doc/admin25/appendix-upgrading.html." + eerror " Your existing database will not be accessible until it is" + eerror " converted to mdb!" + echo + fail=1 + elif [[ -z "${OLDVER}" ]] && [[ -z "${NEWVER}" ]]; then + : + # Nothing wrong here. + elif [[ -z "${OLDVER}" ]] && [[ -n "${NEWVER}" ]]; then + eerror " Your existing version of OpenLDAP was not built against" + eerror " any version of sys-libs/db, but the new one will build" + eerror " against ${NEWVER} and your database may be inaccessible." + echo + fail=1 + elif [[ -n "${OLDVER}" ]] && [[ -z "${NEWVER}" ]]; then + eerror " Your existing version of OpenLDAP was built against" + eerror " sys-libs/db:${OLDVER}, but the new one will not be" + eerror " built against any version and your database may be" + eerror " inaccessible." + echo + fail=1 + elif [[ "${OLDVER}" != "${NEWVER}" ]]; then + eerror " Your existing version of OpenLDAP was built against" + eerror " sys-libs/db:${OLDVER}, but the new one will build against" + eerror " ${NEWVER} and your database would be inaccessible." + echo + fail=1 + fi + [[ "${fail}" == "1" ]] && openldap_upgrade_howto + fi + + echo + einfo + einfo "All datadirs are fine, proceeding with merge now..." + einfo +} + +openldap_upgrade_howto() { + local d l i + eerror + eerror "A (possible old) installation of OpenLDAP was detected," + eerror "installation will not proceed for now." + eerror + eerror "As major version upgrades can corrupt your database," + eerror "you need to dump your database and re-create it afterwards." + eerror + eerror "Additionally, rebuilding against different major versions of the" + eerror "sys-libs/db libraries will cause your database to be inaccessible." + eerror "" + d="$(date -u +%s)" + l="/root/ldapdump.${d}" + i="${l}.raw" + eerror " 1. /etc/init.d/slapd stop" + eerror " 2. slapcat -l ${i}" + eerror " 3. grep -E -v '^(entry|context)CSN:' <${i} >${l}" + eerror " 4. mv /var/lib/openldap-data/ /var/lib/openldap-data-backup/" + eerror " 5. emerge --update \=net-nds/${PF}" + eerror " 6. etc-update, and ensure that you apply the changes" + eerror " 7. slapadd -l ${l}" + eerror " 8. chown ldap:ldap /var/lib/openldap-data/*" + eerror " 9. /etc/init.d/slapd start" + eerror "10. Check that your data is intact." + eerror "11. Set up the new replication system." + eerror + if [[ "${FORCE_UPGRADE}" != "1" ]]; then + die "You need to upgrade your database first" + else + eerror "You have the magical FORCE_UPGRADE=1 in place." + eerror "Don't say you weren't warned about data loss." + fi +} + +pkg_setup() { + if ! use sasl && use cxx ; then + die "To build the ldapc++ library you must emerge openldap with sasl support" + fi + # Bug #322787 + if use minimal && ! has_version "net-nds/openldap" ; then + einfo "No datadir scan needed, openldap not installed" + elif use minimal && has_version 'net-nds/openldap[minimal]' ; then + einfo "Skipping scan for previous datadirs as requested by minimal useflag" + else + openldap_find_versiontags + fi +} + +src_unpack() { + use verify-sig && + verify-sig_verify_detached "${DISTDIR}"/${P}.tgz{,.asc} + default +} + +src_prepare() { + # The system copy of dev-db/lmdb must match the version that this copy + # of OpenLDAP shipped with! See bug #588792. + # + # Fish out MDB_VERSION_MAJOR/MDB_VERSION_MINOR/MDB_VERSION_PATCH from + # the bundled lmdb's header to find out the version. + local bundled_lmdb_version=$( + sed -En '/^#define MDB_VERSION_(MAJOR|MINOR|PATCH)(\s+)?/{s/[^0-9.]//gp}' \ + libraries/liblmdb/lmdb.h || die + ) + printf -v bundled_lmdb_version "%s." ${bundled_lmdb_version} + + if [[ ${SYSTEM_LMDB_VER}. != ${bundled_lmdb_version} ]] ; then + eerror "Source lmdb version: ${bundled_lmdb_version}" + eerror "Ebuild lmdb version: ${SYSTEM_LMDB_VER}" + die "Ebuild needs to update SYSTEM_LMDB_VER!" + fi + + rm -r libraries/liblmdb || die 'could not removed bundled lmdb directory' + + local filename + for filename in doc/drafts/draft-ietf-ldapext-acl-model-xx.txt; do + iconv -f iso-8859-1 -t utf-8 "${filename}" > "${filename}.utf8" + mv "${filename}.utf8" "${filename}" + done + + default + + sed -i \ + -e "s:\$(localstatedir)/run:${EPREFIX}/run:" \ + -e '/MKDIR.*.(DESTDIR)\/run/d' \ + -e '/MKDIR.*.(DESTDIR).*.(runstatedir)/d' \ + servers/slapd/Makefile.in || die 'adjusting slapd Makefile.in failed' + + pushd build &>/dev/null || die "pushd build" + einfo "Making sure upstream build strip does not do stripping too early" + sed -i.orig \ + -e '/^STRIP/s,-s,,g' \ + top.mk || die "Failed to remove too early stripping" + popd &>/dev/null || die + + # Fails with OpenSSL 3, bug #848894 + # https://bugs.openldap.org/show_bug.cgi?id=10009 + rm tests/scripts/test076-authid-rewrite || die + + eautoreconf + multilib_copy_sources +} + +build_contrib_module() { + # [] + pushd "${S}/contrib/slapd-modules/$1" &>/dev/null || die "pushd contrib/slapd-modules/$1" + einfo "Compiling contrib-module: $1" + local target="${2:-all}" + emake \ + CC="${CC}" \ + LDAP_BUILD="${BUILD_DIR}" \ + libexecdir="${EPREFIX}/usr/$(get_libdir)/openldap" \ + prefix="${EPREFIX}/usr" \ + "${target}" + popd &>/dev/null || die +} + +multilib_src_configure() { + # Optional Features + myconf+=( + --enable-option-checking + $(use_enable debug) + --enable-dynamic + $(use_enable syslog) + $(use_enable ipv6) + --enable-local + ) + + # Optional Packages + myconf+=( + --without-fetch + ) + + if use experimental ; then + # connectionless ldap per bug #342439 + # connectionless is a unsupported feature according to Howard Chu + # see https://bugs.openldap.org/show_bug.cgi?id=9739 + # (see also bug #892009) + append-flags -DLDAP_CONNECTIONLESS + fi + + if ! use minimal && multilib_is_native_abi; then + # SLAPD (Standalone LDAP Daemon) Options + # overlay chaining requires '--enable-ldap' #296567 + # see https://www.openldap.org/doc/admin26/overlays.html#Chaining + myconf+=( + --enable-ldap=yes + --enable-slapd + $(use_enable cleartext) + $(use_enable crypt) + $(multilib_native_use_enable sasl spasswd) + --disable-slp + $(use_enable tcpd wrappers) + ) + if use experimental ; then + myconf+=( + --enable-dynacl + # ACI build as dynamic module not supported (yet) + --enable-aci=yes + ) + fi + + for option in modules rlookups slapi; do + myconf+=( --enable-${option} ) + done + + # static SLAPD backends + for backend in mdb; do + myconf+=( --enable-${backend}=yes ) + done + + # module SLAPD backends + for backend in asyncmeta dnssrv meta null passwd relay sock; do + # missing modules: wiredtiger (not available in portage) + myconf+=( --enable-${backend}=mod ) + done + + use perl && myconf+=( --enable-perl=mod ) + + if use odbc ; then + myconf+=( --enable-sql=mod ) + if use iodbc ; then + myconf+=( --with-odbc="iodbc" ) + append-cflags -I"${EPREFIX}"/usr/include/iodbc + else + myconf+=( --with-odbc="unixodbc" ) + fi + fi + + use overlays && myconf+=( --enable-overlays=mod ) + use autoca && myconf+=( --enable-autoca=mod ) || myconf+=( --enable-autoca=no ) + # compile-in the syncprov + myconf+=( --enable-syncprov=yes ) + + # SLAPD Password Module Options + myconf+=( + $(use_enable argon2) + ) + + # Optional Packages + myconf+=( + $(use_with systemd) + $(multilib_native_use_with sasl cyrus-sasl) + ) + else + myconf+=( + --disable-backends + --disable-slapd + --disable-mdb + --disable-overlays + --disable-autoca + --disable-syslog + --without-systemd + ) + fi + + # Library Generation & Linking Options + myconf+=( + $(use_enable static-libs static) + --enable-shared + --enable-versioning + --with-pic + ) + + # some cross-compiling tests don't pan out well. + tc-is-cross-compiler && myconf+=( + --with-yielding-select=yes + ) + + local ssl_lib="no" + if use ssl || ( ! use minimal && use samba ) ; then + if use gnutls ; then + myconf+=( --with-tls="gnutls" ) + else + # disable MD2 hash function + append-cflags -DOPENSSL_NO_MD2 + myconf+=( --with-tls="openssl" ) + fi + else + myconf+=( --with-tls="no" ) + fi + + tc-export AR CC CXX + + ECONF_SOURCE="${S}" \ + econf \ + --libexecdir="${EPREFIX}"/usr/$(get_libdir)/openldap \ + --localstatedir="${EPREFIX}"/var \ + --runstatedir="${EPREFIX}"/run \ + --sharedstatedir="${EPREFIX}"/var/lib \ + "${myconf[@]}" + + # argument '--runstatedir' seems to have no effect therefore this workaround + sed -i \ + -e 's:^runstatedir=.*:runstatedir=${EPREFIX}/run:' \ + configure contrib/ldapc++/configure contrib/ldaptcl/configure || die 'could not set runstatedir' + + sed -i \ + -e "s:/var/run/sasl2/mux:${EPREFIX}/run/sasl2/mux:" \ + doc/guide/admin/security.sdf || die 'could not fix run path in doc' + + emake depend +} + +src_configure_cxx() { + # This needs the libraries built by the first build run. + # we have to run it AFTER the main build, not just after the main configure + local myconf_ldapcpp=( + --with-libldap="${E}/lib" + --with-ldap-includes="${S}/include" + ) + + mkdir -p "${BUILD_DIR}"/contrib/ldapc++ || die "could not create ${BUILD_DIR}/contrib/ldapc++ directory" + pushd "${BUILD_DIR}/contrib/ldapc++" &>/dev/null || die "pushd contrib/ldapc++" + + local LDFLAGS="${LDFLAGS}" + local CPPFLAGS="${CPPFLAGS}" + + append-ldflags -L"${BUILD_DIR}"/libraries/liblber/.libs -L"${BUILD_DIR}"/libraries/libldap/.libs + append-cppflags -I"${BUILD_DIR}"/include + + ECONF_SOURCE="${S}"/contrib/ldapc++ \ + econf \ + "${myconf_ldapcpp[@]}" + popd &>/dev/null || die "popd contrib/ldapc++" +} + +multilib_src_compile() { + tc-export AR CC CXX + emake \ + CC="$(tc-getCC)" \ + SHELL="${EPREFIX}"/bin/sh + + if ! use minimal && multilib_is_native_abi ; then + if use cxx ; then + einfo "Building contrib library: ldapc++" + src_configure_cxx + pushd "${BUILD_DIR}/contrib/ldapc++" &>/dev/null || die "pushd contrib/ldapc++" + emake + popd &>/dev/null || die + fi + + if use smbkrb5passwd ; then + einfo "Building contrib-module: smbk5pwd" + pushd "${S}/contrib/slapd-modules/smbk5pwd" &>/dev/null || die "pushd contrib/slapd-modules/smbk5pwd" + + MY_DEFS="-DDO_SHADOW" + if use samba ; then + MY_DEFS="${MY_DEFS} -DDO_SAMBA" + MY_KRB5_INC="" + fi + if use kerberos ; then + MY_DEFS="${MY_DEFS} -DDO_KRB5" + MY_KRB5_INC="$(krb5-config --cflags)" + fi + + emake \ + DEFS="${MY_DEFS}" \ + KRB5_INC="${MY_KRB5_INC}" \ + LDAP_BUILD="${BUILD_DIR}" \ + libexecdir="${EPREFIX}/usr/$(get_libdir)/openldap" + popd &>/dev/null || die + fi + + if use overlays ; then + einfo "Building contrib-module: samba4" + pushd "${S}/contrib/slapd-modules/samba4" &>/dev/null || die "pushd contrib/slapd-modules/samba4" + + emake \ + CC="$(tc-getCC)" \ + LDAP_BUILD="${BUILD_DIR}" \ + libexecdir="${EPREFIX}/usr/$(get_libdir)/openldap" + popd &>/dev/null || die + fi + + if use kerberos ; then + if use kinit ; then + build_contrib_module "kinit" "kinit.c" "kinit" + fi + build_contrib_module "passwd" "pw-kerberos.la" + fi + + if use pbkdf2; then + build_contrib_module "passwd/pbkdf2" + fi + + if use sha2 ; then + build_contrib_module "passwd/sha2" + fi + + # We could build pw-radius if GNURadius would install radlib.h + build_contrib_module "passwd" "pw-netscape.la" + + #build_contrib_module "acl" "posixgroup.la" # example code only + #build_contrib_module "acl" "gssacl.la" # example code only, also needs kerberos + build_contrib_module "addpartial" + build_contrib_module "allop" + build_contrib_module "allowed" + build_contrib_module "autogroup" + build_contrib_module "cloak" + # build_contrib_module "comp_match" # really complex, adds new external deps, questionable demand + build_contrib_module "denyop" + build_contrib_module "dsaschema" + build_contrib_module "dupent" + build_contrib_module "lastbind" + # lastmod may not play well with other overlays + build_contrib_module "lastmod" + build_contrib_module "noopsrch" + #build_contrib_module "nops" https://bugs.gentoo.org/641576 + #build_contrib_module "nssov" RESO:LATER + build_contrib_module "trace" + # build slapi-plugins + pushd "${S}/contrib/slapi-plugins/addrdnvalues" &>/dev/null || die "pushd contrib/slapi-plugins/addrdnvalues" + einfo "Building contrib-module: addrdnvalues plugin" + $(tc-getCC) -shared \ + -I"${BUILD_DIR}"/include \ + -I../../../include \ + ${CPPFLAGS} \ + ${CFLAGS} \ + -fPIC \ + ${LDFLAGS} \ + -o libaddrdnvalues-plugin.so \ + addrdnvalues.c || die "Building libaddrdnvalues-plugin.so failed" + popd &>/dev/null || die + fi +} + +multilib_src_test() { + if multilib_is_native_abi; then + cd tests || die + pwd + + # Increase various test timeouts/delays, bug #894012 + # We can't just double everything as there's a cumulative effect. + export SLEEP0=2 # originally 1 + export SLEEP1=10 # originally 7 + export SLEEP2=20 # originally 15 + export TIMEOUT=16 # originally 8 + + # emake test => runs only lloadd & mdb, in serial; skips ldif,sql,wt,regression + # emake partests => runs ALL of the tests in parallel + # wt/WiredTiger is not supported in Gentoo + TESTS=( lloadd mdb ) + #TESTS+=( pldif ) # not done by default, so also exclude here + #use odbc && TESTS+=( psql ) # not done by default, so also exclude here + + emake -Onone "${TESTS[@]}" + fi +} + +multilib_src_install() { + emake \ + CC="$(tc-getCC)" \ + DESTDIR="${D}" \ + SHELL="${EPREFIX}"/bin/sh \ + install + + if ! use minimal && multilib_is_native_abi; then + # openldap modules go here + # TODO: write some code to populate slapd.conf with moduleload statements + keepdir /usr/$(get_libdir)/openldap/openldap/ + + # initial data storage dir + keepdir /var/lib/openldap-data + use prefix || fowners ldap:ldap /var/lib/openldap-data + fperms 0700 /var/lib/openldap-data + + echo "OLDPF='${PF}'" > "${ED}${OPENLDAP_DEFAULTDIR_VERSIONTAG}/${OPENLDAP_VERSIONTAG}" + echo "# do NOT delete this. it is used" >> "${ED}${OPENLDAP_DEFAULTDIR_VERSIONTAG}/${OPENLDAP_VERSIONTAG}" + echo "# to track versions for upgrading." >> "${ED}${OPENLDAP_DEFAULTDIR_VERSIONTAG}/${OPENLDAP_VERSIONTAG}" + + # use our config + rm "${ED}"/etc/openldap/slapd.conf + insinto /etc/openldap + newins "${FILESDIR}"/${PN}-2.6.3-slapd-conf slapd.conf + configfile="${ED}"/etc/openldap/slapd.conf + + # populate with built backends + einfo "populate config with built backends" + for x in "${ED}"/usr/$(get_libdir)/openldap/openldap/back_*.so; do + einfo "Adding $(basename ${x})" + sed -e "/###INSERTDYNAMICMODULESHERE###$/a# moduleload\t$(basename ${x})" -i "${configfile}" || die + done + sed -e "s:###INSERTDYNAMICMODULESHERE###$:# modulepath\t${EPREFIX}/usr/$(get_libdir)/openldap/openldap:" \ + -i "${configfile}" || die + use prefix || fowners root:ldap /etc/openldap/slapd.conf + fperms 0640 /etc/openldap/slapd.conf + cp "${configfile}" "${configfile}".default || die + + # install our own init scripts and systemd unit files + einfo "Install init scripts" + sed -e "s,/usr/lib/,/usr/$(get_libdir)/," "${FILESDIR}"/slapd-initd-2.4.40-r2 > "${T}"/slapd || die + doinitd "${T}"/slapd + newconfd "${FILESDIR}"/slapd-confd-2.6.1 slapd + + if use systemd; then + # The systemd unit uses Type=notify, so it is useless without USE=systemd + einfo "Install systemd service" + rm -rf "${ED}"/{,usr/}lib/systemd + sed -e "s,/usr/lib/,/usr/$(get_libdir)/," "${FILESDIR}"/slapd-2.6.1.service > "${T}"/slapd.service || die + systemd_dounit "${T}"/slapd.service + systemd_install_serviced "${FILESDIR}"/slapd.service.conf + newtmpfiles "${FILESDIR}"/slapd.tmpfilesd slapd.conf + fi + + # if built without SLP, we don't need to be before avahi + sed -i \ + -e '/before/{s/avahi-daemon//g}' \ + "${ED}"/etc/init.d/slapd \ + || die + + if use cxx ; then + einfo "Install the ldapc++ library" + cd "${BUILD_DIR}/contrib/ldapc++" || die + emake DESTDIR="${D}" libexecdir="${EPREFIX}/usr/$(get_libdir)/openldap" install + cd "${S}"/contrib/ldapc++ || die + newdoc README ldapc++-README + fi + + if use smbkrb5passwd ; then + einfo "Install the smbk5pwd module" + cd "${S}/contrib/slapd-modules/smbk5pwd" || die + emake DESTDIR="${D}" \ + prefix="${EPREFIX}/usr" \ + LDAP_BUILD="${BUILD_DIR}" \ + libexecdir="${EPREFIX}/usr/$(get_libdir)/openldap" install + newdoc README smbk5pwd-README + fi + + if use overlays ; then + einfo "Install the samba4 module" + cd "${S}/contrib/slapd-modules/samba4" || die + emake DESTDIR="${D}" \ + LDAP_BUILD="${BUILD_DIR}" \ + libexecdir="${EPREFIX}/usr/$(get_libdir)/openldap" install + newdoc README samba4-README + fi + + einfo "Installing contrib modules" + cd "${S}/contrib/slapd-modules" || die + for l in */*.la */*/*.la; do + [[ -e ${l} ]] || continue + libtool --mode=install cp ${l} \ + "${ED}"/usr/$(get_libdir)/openldap/openldap || \ + die "installing ${l} failed" + done + + dodoc "${FILESDIR}"/DB_CONFIG.fast.example + docinto contrib + doman */*.5 + #newdoc acl/README* + newdoc addpartial/README addpartial-README + newdoc allop/README allop-README + newdoc allowed/README allowed-README + newdoc autogroup/README autogroup-README + newdoc dsaschema/README dsaschema-README + newdoc passwd/README passwd-README + cd "${S}/contrib/slapi-plugins" || die + insinto /usr/$(get_libdir)/openldap/openldap + doins */*.so + docinto contrib + newdoc addrdnvalues/README addrdnvalues-README + + docinto back-sock ; dodoc "${S}"/servers/slapd/back-sock/searchexample* + docinto back-perl ; dodoc "${S}"/servers/slapd/back-perl/SampleLDAP.pm + + dosbin "${S}"/contrib/slapd-tools/statslog + newdoc "${S}"/contrib/slapd-tools/README README.statslog + fi + + if ! use static-libs ; then + find "${ED}" \( -name '*.a' -o -name '*.la' \) -delete || die + fi +} + +multilib_src_install_all() { + dodoc ANNOUNCEMENT CHANGES COPYRIGHT README + docinto rfc ; dodoc doc/rfc/*.txt +} + +pkg_preinst() { + # keep old libs if any + preserve_old_lib /usr/$(get_libdir)/{liblber,libldap,libldap_r}-2.4$(get_libname 0) + # bug 440470, only display the getting started help there was no openldap before, + # or we are going to a non-minimal build + ! has_version net-nds/openldap || has_version 'net-nds/openldap[minimal]' + OPENLDAP_PRINT_MESSAGES=$((! $?)) +} + +pkg_postinst() { + if ! use minimal ; then + if use systemd; then + tmpfiles_process slapd.conf + fi + + # You cannot build SSL certificates during src_install that will make + # binary packages containing your SSL key, which is both a security risk + # and a misconfiguration if multiple machines use the same key and cert. + if use ssl; then + install_cert /etc/openldap/ssl/ldap + use prefix || chown ldap:ldap "${EROOT}"/etc/openldap/ssl/ldap.* + ewarn "Self-signed SSL certificates are treated harshly by OpenLDAP 2.[12]" + ewarn "Self-signed SSL certificates are treated harshly by OpenLDAP 2.[12]" + ewarn "add 'TLS_REQCERT allow' if you want to use them." + fi + + if use prefix; then + # Warn about prefix issues with slapd + eerror "slapd might NOT be usable on Prefix systems as it requires root privileges" + eerror "to start up, and requires that certain files directories be owned by" + eerror "ldap:ldap. As Prefix does not support changing ownership of files and" + eerror "directories, you will have to manually fix this yourself." + fi + + # These lines force the permissions of various content to be correct + if [[ -d "${EROOT}"/var/run/openldap ]]; then + use prefix || { chown ldap:ldap "${EROOT}"/var/run/openldap || die; } + chmod 0755 "${EROOT}"/var/run/openldap || die + fi + use prefix || chown root:ldap "${EROOT}"/etc/openldap/slapd.conf{,.default} + chmod 0640 "${EROOT}"/etc/openldap/slapd.conf{,.default} || die + use prefix || chown ldap:ldap "${EROOT}"/var/lib/openldap-data + fi + + if has_version 'net-nds/openldap[-minimal]' && ((${OPENLDAP_PRINT_MESSAGES})); then + elog "Getting started using OpenLDAP? There is some documentation available:" + elog "Gentoo Guide to OpenLDAP Authentication" + elog "(https://wiki.gentoo.org/wiki/Centralized_authentication_using_OpenLDAP)" + fi + + preserve_old_lib_notify /usr/$(get_libdir)/{liblber,libldap,libldap_r}-2.4$(get_libname 0) +} diff --git a/sdk_container/src/third_party/portage-stable/net-nds/openldap/openldap-2.6.9.ebuild b/sdk_container/src/third_party/portage-stable/net-nds/openldap/openldap-2.6.12.ebuild similarity index 98% rename from sdk_container/src/third_party/portage-stable/net-nds/openldap/openldap-2.6.9.ebuild rename to sdk_container/src/third_party/portage-stable/net-nds/openldap/openldap-2.6.12.ebuild index 392a6aa8f55..611d7b3cdac 100644 --- a/sdk_container/src/third_party/portage-stable/net-nds/openldap/openldap-2.6.9.ebuild +++ b/sdk_container/src/third_party/portage-stable/net-nds/openldap/openldap-2.6.12.ebuild @@ -1,29 +1,23 @@ -# Copyright 1999-2025 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 # Re cleanups: -# 2.5.x is an LTS release so we want to keep it for a while. +# 2.6.12 is an LTS release so we want to keep it for a while. inherit autotools flag-o-matic multilib multilib-minimal preserve-libs inherit ssl-cert toolchain-funcs systemd tmpfiles verify-sig MY_PV="$(ver_rs 1-2 _)" -BIS_PN=rfc2307bis.schema -BIS_PV=20140524 -BIS_P="${BIS_PN}-${BIS_PV}" - DESCRIPTION="LDAP suite of application and development tools" HOMEPAGE="https://www.openldap.org/" SRC_URI=" https://openldap.org/software/download/OpenLDAP/${PN}-release/${P}.tgz - mirror://gentoo/${BIS_P} verify-sig? ( https://openldap.org/software/download/OpenLDAP/${PN}-release/${P}.tgz.asc ) " VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/openldap.asc -#S="${WORKDIR}"/${P} LICENSE="OPENLDAP GPL-2" # Subslot added for bug #835654 @@ -46,7 +40,7 @@ REQUIRED_USE=" " RESTRICT="!test? ( test )" -SYSTEM_LMDB_VER=0.9.33 +SYSTEM_LMDB_VER=0.9.35 # openssl is needed to generate lanman-passwords required by samba COMMON_DEPEND=" kernel_linux? ( sys-apps/util-linux ) @@ -827,9 +821,6 @@ multilib_src_install() { docinto contrib newdoc addrdnvalues/README addrdnvalues-README - insinto /etc/openldap/schema - newins "${DISTDIR}"/${BIS_P} ${BIS_PN} - docinto back-sock ; dodoc "${S}"/servers/slapd/back-sock/searchexample* docinto back-perl ; dodoc "${S}"/servers/slapd/back-perl/SampleLDAP.pm diff --git a/sdk_container/src/third_party/portage-stable/net-nds/openldap/openldap-2.6.13.ebuild b/sdk_container/src/third_party/portage-stable/net-nds/openldap/openldap-2.6.13.ebuild new file mode 100644 index 00000000000..9886e5e610f --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/net-nds/openldap/openldap-2.6.13.ebuild @@ -0,0 +1,893 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# Re cleanups: +# 2.6.x and 2.5.x are both maintained streams. We keep the latest of each. + +inherit autotools flag-o-matic multilib multilib-minimal preserve-libs +inherit ssl-cert toolchain-funcs systemd tmpfiles verify-sig + +MY_PV="$(ver_rs 1-2 _)" + +DESCRIPTION="LDAP suite of application and development tools" +HOMEPAGE="https://www.openldap.org/" +SRC_URI=" + https://openldap.org/software/download/OpenLDAP/${PN}-release/${P}.tgz + verify-sig? ( https://openldap.org/software/download/OpenLDAP/${PN}-release/${P}.tgz.asc ) +" +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/openldap.asc + +LICENSE="OPENLDAP GPL-2" +# Subslot added for bug #835654 +SLOT="0/$(ver_cut 1-2)" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + +IUSE_DAEMON="argon2 +cleartext crypt experimental minimal samba tcpd" +IUSE_OVERLAY="overlays perl autoca" +IUSE_OPTIONAL="debug gnutls iodbc odbc sasl ssl selinux static-libs +syslog test" +IUSE_CONTRIB="kerberos kinit pbkdf2 sha2 smbkrb5passwd" +IUSE_CONTRIB="${IUSE_CONTRIB} cxx" +IUSE="systemd ${IUSE_DAEMON} ${IUSE_BACKEND} ${IUSE_OVERLAY} ${IUSE_OPTIONAL} ${IUSE_CONTRIB}" +REQUIRED_USE=" + cxx? ( sasl ) + pbkdf2? ( ssl ) + test? ( cleartext sasl debug ) + autoca? ( !gnutls ) + ?? ( test minimal ) + kerberos? ( ?? ( kinit smbkrb5passwd ) ) +" +RESTRICT="!test? ( test )" + +SYSTEM_LMDB_VER=0.9.35 +# openssl is needed to generate lanman-passwords required by samba +COMMON_DEPEND=" + kernel_linux? ( sys-apps/util-linux ) + ssl? ( + !gnutls? ( + >=dev-libs/openssl-1.0.1h-r2:0=[${MULTILIB_USEDEP}] + ) + gnutls? ( + >=net-libs/gnutls-2.12.23-r6:=[${MULTILIB_USEDEP}] + >=dev-libs/libgcrypt-1.5.3:0=[${MULTILIB_USEDEP}] + ) + ) + sasl? ( dev-libs/cyrus-sasl:= ) + !minimal? ( + dev-libs/libevent:= + dev-libs/libltdl + sys-fs/e2fsprogs + >=dev-db/lmdb-${SYSTEM_LMDB_VER}:= + argon2? ( app-crypt/argon2:= ) + crypt? ( virtual/libcrypt:= ) + tcpd? ( sys-apps/tcp-wrappers ) + odbc? ( !iodbc? ( dev-db/unixODBC ) + iodbc? ( dev-db/libiodbc ) ) + perl? ( dev-lang/perl:=[-build(-)] ) + samba? ( + dev-libs/openssl:0= + ) + smbkrb5passwd? ( + dev-libs/openssl:0= + kerberos? ( app-crypt/heimdal ) + ) + kerberos? ( + virtual/krb5 + kinit? ( !app-crypt/heimdal ) + ) + ) +" +DEPEND=" + ${COMMON_DEPEND} + sys-apps/groff +" +RDEPEND=" + ${COMMON_DEPEND} + selinux? ( sec-policy/selinux-ldap ) +" + +# The user/group are only used for running daemons which are +# disabled in minimal builds, so elide the accounts too. +BDEPEND=" + !minimal? ( + acct-group/ldap + acct-user/ldap + ) + verify-sig? ( >=sec-keys/openpgp-keys-openldap-20201216 ) +" + +# for tracking versions +OPENLDAP_VERSIONTAG=".version-tag" +OPENLDAP_DEFAULTDIR_VERSIONTAG="/var/lib/openldap-data" + +MULTILIB_WRAPPED_HEADERS=( + # USE=cxx + /usr/include/LDAPAsynConnection.h + /usr/include/LDAPAttrType.h + /usr/include/LDAPAttribute.h + /usr/include/LDAPAttributeList.h + /usr/include/LDAPConnection.h + /usr/include/LDAPConstraints.h + /usr/include/LDAPControl.h + /usr/include/LDAPControlSet.h + /usr/include/LDAPEntry.h + /usr/include/LDAPEntryList.h + /usr/include/LDAPException.h + /usr/include/LDAPExtResult.h + /usr/include/LDAPMessage.h + /usr/include/LDAPMessageQueue.h + /usr/include/LDAPModList.h + /usr/include/LDAPModification.h + /usr/include/LDAPObjClass.h + /usr/include/LDAPRebind.h + /usr/include/LDAPRebindAuth.h + /usr/include/LDAPReferenceList.h + /usr/include/LDAPResult.h + /usr/include/LDAPSaslBindResult.h + /usr/include/LDAPSchema.h + /usr/include/LDAPSearchReference.h + /usr/include/LDAPSearchResult.h + /usr/include/LDAPSearchResults.h + /usr/include/LDAPUrl.h + /usr/include/LDAPUrlList.h + /usr/include/LdifReader.h + /usr/include/LdifWriter.h + /usr/include/SaslInteraction.h + /usr/include/SaslInteractionHandler.h + /usr/include/StringList.h + /usr/include/TlsOptions.h +) + +PATCHES=( + "${FILESDIR}"/${PN}-2.4.28-fix-dash.patch + "${FILESDIR}"/${PN}-2.6.1-system-mdb.patch + "${FILESDIR}"/${PN}-2.6.1-cloak.patch + "${FILESDIR}"/${PN}-2.6.1-flags.patch + "${FILESDIR}"/${PN}-2.6.1-fix-missing-mapping.v2.patch + "${FILESDIR}"/${PN}-2.5.19-gcc14-SDWORD-vs-SQLINTEGER.patch +) + +openldap_filecount() { + local dir="$1" + find "${dir}" -type f ! -name '.*' ! -name 'DB_CONFIG*' | wc -l +} + +openldap_find_versiontags() { + # scan for all datadirs + local openldap_datadirs=() + if [[ -f "${EROOT}"/etc/openldap/slapd.conf ]]; then + openldap_datadirs=( $(awk '{if($1 == "directory") print $2 }' "${EROOT}"/etc/openldap/slapd.conf) ) + fi + openldap_datadirs+=( ${OPENLDAP_DEFAULTDIR_VERSIONTAG} ) + + einfo + einfo "Scanning datadir(s) from slapd.conf and" + einfo "the default installdir for Versiontags" + einfo "(${OPENLDAP_DEFAULTDIR_VERSIONTAG} may appear twice)" + einfo + + # scan datadirs if we have a version tag + openldap_found_tag=0 + have_files=0 + for each in ${openldap_datadirs[@]} ; do + CURRENT_TAGDIR="${EROOT}$(sed "s:\/::" <<< ${each})" + CURRENT_TAG="${CURRENT_TAGDIR}/${OPENLDAP_VERSIONTAG}" + if [[ -d "${CURRENT_TAGDIR}" ]] && [[ "${openldap_found_tag}" == 0 ]] ; then + einfo "- Checking ${each}..." + if [[ -r "${CURRENT_TAG}" ]] ; then + # yey, we have one :) + einfo " Found Versiontag in ${each}" + source "${CURRENT_TAG}" + if [[ "${OLDPF}" == "" ]] ; then + eerror "Invalid Versiontag found in ${CURRENT_TAGDIR}" + eerror "Please delete it" + eerror + die "Please kill the invalid versiontag in ${CURRENT_TAGDIR}" + fi + + OLD_MAJOR=$(ver_cut 2-3 ${OLDPF}) + + [[ "$(openldap_filecount ${CURRENT_TAGDIR})" -gt 0 ]] && have_files=1 + + # are we on the same branch? + if [[ "${OLD_MAJOR}" != "${PV:0:3}" ]] ; then + ewarn " Versiontag doesn't match current major release!" + if [[ "${have_files}" == "1" ]] ; then + eerror " Versiontag says other major and you (probably) have datafiles!" + echo + openldap_upgrade_howto + else + einfo " No real problem, seems there's no database." + fi + else + einfo " Versiontag is fine here :)" + fi + else + einfo " Non-tagged dir ${each}" + [[ "$(openldap_filecount ${each})" -gt 0 ]] && have_files=1 + if [[ "${have_files}" == "1" ]] ; then + einfo " EEK! Non-empty non-tagged datadir, counting `ls -a ${each} | wc -l` files" + echo + + eerror + eerror "Your OpenLDAP Installation has a non tagged datadir that" + eerror "possibly contains a database at ${CURRENT_TAGDIR}" + eerror + eerror "Please export data if any entered and empty or remove" + eerror "the directory, installation has been stopped so you" + eerror "can take required action" + eerror + eerror "For a HOWTO on exporting the data, see instructions in the ebuild" + eerror + openldap_upgrade_howto + die "Please move the datadir ${CURRENT_TAGDIR} away" + fi + fi + einfo + fi + done + [[ "${have_files}" == "1" ]] && einfo "DB files present" || einfo "No DB files present" + + # Now we must check for the major version of sys-libs/db linked against. + # TODO: remove this as we dropped bdb support (gone upstream) in 2.6.1? + SLAPD_PATH="${EROOT}/usr/$(get_libdir)/openldap/slapd" + if [[ "${have_files}" == "1" ]] && [[ -f "${SLAPD_PATH}" ]]; then + OLDVER="$(/usr/bin/ldd ${SLAPD_PATH} \ + | awk '/libdb-/{gsub("^libdb-","",$1);gsub(".so$","",$1);print $1}')" + local fail=0 + + # This will not cover detection of cn=Config based configuration, but + # it's hopefully good enough. + if grep -sq '^backend.*shell' "${EROOT}"/etc/openldap/slapd.conf; then + eerror " OpenLDAP >= 2.5.x has dropped support for Shell backend." + eerror " You will need to migrate per upstream's migration notes" + eerror " at https://www.openldap.org/doc/admin25/appendix-upgrading.html." + eerror " Your existing database will not be accessible until it is" + eerror " converted away from backend shell!" + echo + fail=1 + fi + if has_version "${CATEGORY}/${PN}[berkdb]" || grep -sq '^backend.*(bdb|hdb)' /etc/openldap/slapd.conf; then + eerror " OpenLDAP >= 2.5.x has dropped support for Berkeley DB." + eerror " You will need to migrate per upstream's migration notes" + eerror " at https://www.openldap.org/doc/admin25/appendix-upgrading.html." + eerror " Your existing database will not be accessible until it is" + eerror " converted to mdb!" + echo + fail=1 + elif [[ -z "${OLDVER}" ]] && [[ -z "${NEWVER}" ]]; then + : + # Nothing wrong here. + elif [[ -z "${OLDVER}" ]] && [[ -n "${NEWVER}" ]]; then + eerror " Your existing version of OpenLDAP was not built against" + eerror " any version of sys-libs/db, but the new one will build" + eerror " against ${NEWVER} and your database may be inaccessible." + echo + fail=1 + elif [[ -n "${OLDVER}" ]] && [[ -z "${NEWVER}" ]]; then + eerror " Your existing version of OpenLDAP was built against" + eerror " sys-libs/db:${OLDVER}, but the new one will not be" + eerror " built against any version and your database may be" + eerror " inaccessible." + echo + fail=1 + elif [[ "${OLDVER}" != "${NEWVER}" ]]; then + eerror " Your existing version of OpenLDAP was built against" + eerror " sys-libs/db:${OLDVER}, but the new one will build against" + eerror " ${NEWVER} and your database would be inaccessible." + echo + fail=1 + fi + [[ "${fail}" == "1" ]] && openldap_upgrade_howto + fi + + echo + einfo + einfo "All datadirs are fine, proceeding with merge now..." + einfo +} + +openldap_upgrade_howto() { + local d l i + eerror + eerror "A (possible old) installation of OpenLDAP was detected," + eerror "installation will not proceed for now." + eerror + eerror "As major version upgrades can corrupt your database," + eerror "you need to dump your database and re-create it afterwards." + eerror + eerror "Additionally, rebuilding against different major versions of the" + eerror "sys-libs/db libraries will cause your database to be inaccessible." + eerror "" + d="$(date -u +%s)" + l="/root/ldapdump.${d}" + i="${l}.raw" + eerror " 1. /etc/init.d/slapd stop" + eerror " 2. slapcat -l ${i}" + eerror " 3. grep -E -v '^(entry|context)CSN:' <${i} >${l}" + eerror " 4. mv /var/lib/openldap-data/ /var/lib/openldap-data-backup/" + eerror " 5. emerge --update \=net-nds/${PF}" + eerror " 6. etc-update, and ensure that you apply the changes" + eerror " 7. slapadd -l ${l}" + eerror " 8. chown ldap:ldap /var/lib/openldap-data/*" + eerror " 9. /etc/init.d/slapd start" + eerror "10. Check that your data is intact." + eerror "11. Set up the new replication system." + eerror + if [[ "${FORCE_UPGRADE}" != "1" ]]; then + die "You need to upgrade your database first" + else + eerror "You have the magical FORCE_UPGRADE=1 in place." + eerror "Don't say you weren't warned about data loss." + fi +} + +pkg_setup() { + if ! use sasl && use cxx ; then + die "To build the ldapc++ library you must emerge openldap with sasl support" + fi + # Bug #322787 + if use minimal && ! has_version "net-nds/openldap" ; then + einfo "No datadir scan needed, openldap not installed" + elif use minimal && has_version 'net-nds/openldap[minimal]' ; then + einfo "Skipping scan for previous datadirs as requested by minimal useflag" + else + openldap_find_versiontags + fi +} + +src_unpack() { + use verify-sig && + verify-sig_verify_detached "${DISTDIR}"/${P}.tgz{,.asc} + default +} + +src_prepare() { + # The system copy of dev-db/lmdb must match the version that this copy + # of OpenLDAP shipped with! See bug #588792. + # + # Fish out MDB_VERSION_MAJOR/MDB_VERSION_MINOR/MDB_VERSION_PATCH from + # the bundled lmdb's header to find out the version. + local bundled_lmdb_version=$(sed -En '/^#define MDB_VERSION_(MAJOR|MINOR|PATCH)(\s+)?/{s/[^0-9.]//gp}' \ + libraries/liblmdb/lmdb.h || die) + printf -v bundled_lmdb_version "%s." ${bundled_lmdb_version} + + if [[ ${SYSTEM_LMDB_VER}. != ${bundled_lmdb_version} ]] ; then + eerror "Source lmdb version: ${bundled_lmdb_version}" + eerror "Ebuild lmdb version: ${SYSTEM_LMDB_VER}" + die "Ebuild needs to update SYSTEM_LMDB_VER!" + fi + + rm -r libraries/liblmdb || die 'could not removed bundled lmdb directory' + + local filename + for filename in doc/drafts/draft-ietf-ldapext-acl-model-xx.txt; do + iconv -f iso-8859-1 -t utf-8 "${filename}" > "${filename}.utf8" + mv "${filename}.utf8" "${filename}" + done + + default + + sed -i \ + -e "s:\$(localstatedir)/run:${EPREFIX}/run:" \ + -e '/MKDIR.*.(DESTDIR)\/run/d' \ + servers/slapd/Makefile.in || die 'adjusting slapd Makefile.in failed' + + pushd build &>/dev/null || die "pushd build" + einfo "Making sure upstream build strip does not do stripping too early" + sed -i.orig \ + -e '/^STRIP/s,-s,,g' \ + top.mk || die "Failed to remove too early stripping" + popd &>/dev/null || die + + # Fails with OpenSSL 3, bug #848894 + # https://bugs.openldap.org/show_bug.cgi?id=10009 + rm tests/scripts/test076-authid-rewrite || die + + eautoreconf + multilib_copy_sources +} + +build_contrib_module() { + # [] + pushd "${S}/contrib/slapd-modules/$1" &>/dev/null || die "pushd contrib/slapd-modules/$1" + einfo "Compiling contrib-module: $1" + local target="${2:-all}" + emake \ + CC="${CC}" \ + LDAP_BUILD="${BUILD_DIR}" \ + libexecdir="${EPREFIX}/usr/$(get_libdir)/openldap" \ + prefix="${EPREFIX}/usr" \ + STRIP=/bin/true \ + "${target}" + popd &>/dev/null || die +} + +multilib_src_configure() { + # Workaround for bug #923334, #938553, #946816 + append-ldflags $(test-flags-CCLD -Wl,--undefined-version) + + # Optional Features + myconf+=( + --enable-option-checking + $(use_enable debug) + --enable-dynamic + $(use_enable syslog) + --enable-ipv6 + --enable-local + ) + + # Optional Packages + myconf+=( + --without-fetch + $(multilib_native_use_with sasl cyrus-sasl) + ) + + if use experimental ; then + # connectionless ldap per bug #342439 + # connectionless is a unsupported feature according to Howard Chu + # see https://bugs.openldap.org/show_bug.cgi?id=9739 + # (see also bug #892009) + append-flags -DLDAP_CONNECTIONLESS + fi + + if ! use minimal && multilib_is_native_abi; then + # SLAPD (Standalone LDAP Daemon) Options + # overlay chaining requires '--enable-ldap' #296567 + # see https://www.openldap.org/doc/admin26/overlays.html#Chaining + myconf+=( + --enable-ldap=yes + --enable-slapd + $(use_enable cleartext) + $(use_enable crypt) + $(multilib_native_use_enable sasl spasswd) + --disable-slp + $(use_enable tcpd wrappers) + ) + if use experimental ; then + myconf+=( + --enable-dynacl + # ACI build as dynamic module not supported (yet) + --enable-aci=yes + ) + fi + + for option in modules rlookups slapi; do + myconf+=( --enable-${option} ) + done + + # static SLAPD backends + for backend in mdb; do + myconf+=( --enable-${backend}=yes ) + done + + # module SLAPD backends + for backend in asyncmeta dnssrv meta null passwd relay sock; do + # missing modules: wiredtiger (not available in portage) + myconf+=( --enable-${backend}=mod ) + done + + use perl && myconf+=( --enable-perl=mod ) + + if use odbc ; then + myconf+=( --enable-sql=mod ) + if use iodbc ; then + myconf+=( --with-odbc="iodbc" ) + append-cflags -I"${EPREFIX}"/usr/include/iodbc + else + myconf+=( --with-odbc="unixodbc" ) + fi + fi + + use overlays && myconf+=( --enable-overlays=mod ) + use autoca && myconf+=( --enable-autoca=mod ) || myconf+=( --enable-autoca=no ) + # compile-in the syncprov + myconf+=( --enable-syncprov=yes ) + + # Build the standalone load balancer (lloadd) - also available as a slapd module; --enable-balancer=mod + myconf+=( --enable-balancer=yes ) + + # SLAPD Password Module Options + myconf+=( + $(use_enable argon2) + ) + + # Optional Packages + myconf+=( + $(use_with systemd) + ) + else + myconf+=( + --disable-backends + --disable-slapd + --disable-mdb + --disable-overlays + --disable-autoca + --disable-syslog + --without-systemd + ) + fi + + # Library Generation & Linking Options + myconf+=( + $(use_enable static-libs static) + --enable-shared + --enable-versioning + --with-pic + ) + + # some cross-compiling tests don't pan out well. + tc-is-cross-compiler && myconf+=( + --with-yielding-select=yes + ) + + local ssl_lib="no" + if use ssl || ( ! use minimal && use samba ) ; then + if use gnutls ; then + myconf+=( --with-tls="gnutls" ) + else + # disable MD2 hash function + append-cflags -DOPENSSL_NO_MD2 + myconf+=( --with-tls="openssl" ) + fi + else + myconf+=( --with-tls="no" ) + fi + + tc-export AR CC CXX + + ECONF_SOURCE="${S}" \ + STRIP=/bin/true \ + econf \ + --libexecdir="${EPREFIX}"/usr/$(get_libdir)/openldap \ + --localstatedir="${EPREFIX}"/var \ + --runstatedir="${EPREFIX}"/run \ + --sharedstatedir="${EPREFIX}"/var/lib \ + "${myconf[@]}" + + # argument '--runstatedir' seems to have no effect therefore this workaround + sed -i \ + -e 's:^runstatedir=.*:runstatedir=${EPREFIX}/run:' \ + configure contrib/ldapc++/configure contrib/ldaptcl/configure || die 'could not set runstatedir' + + sed -i \ + -e "s:/var/run/sasl2/mux:${EPREFIX}/run/sasl2/mux:" \ + doc/guide/admin/security.sdf || die 'could not fix run path in doc' + + emake depend +} + +src_configure_cxx() { + # This needs the libraries built by the first build run. + # we have to run it AFTER the main build, not just after the main configure + local myconf_ldapcpp=( + --with-libldap="${E}/lib" + --with-ldap-includes="${S}/include" + ) + + mkdir -p "${BUILD_DIR}"/contrib/ldapc++ || die "could not create ${BUILD_DIR}/contrib/ldapc++ directory" + pushd "${BUILD_DIR}/contrib/ldapc++" &>/dev/null || die "pushd contrib/ldapc++" + + local LDFLAGS="${LDFLAGS}" + local CPPFLAGS="${CPPFLAGS}" + + append-ldflags -L"${BUILD_DIR}"/libraries/liblber/.libs -L"${BUILD_DIR}"/libraries/libldap/.libs + append-cppflags -I"${BUILD_DIR}"/include + + ECONF_SOURCE="${S}"/contrib/ldapc++ \ + STRIP=/bin/true \ + econf \ + "${myconf_ldapcpp[@]}" + popd &>/dev/null || die "popd contrib/ldapc++" +} + +multilib_src_compile() { + tc-export AR CC CXX + emake \ + CC="$(tc-getCC)" \ + SHELL="${EPREFIX}"/bin/sh \ + STRIP="/bin/true" + + if ! use minimal && multilib_is_native_abi ; then + if use cxx ; then + einfo "Building contrib library: ldapc++" + src_configure_cxx + pushd "${BUILD_DIR}/contrib/ldapc++" &>/dev/null || die "pushd contrib/ldapc++" + emake + popd &>/dev/null || die + fi + + if use smbkrb5passwd ; then + einfo "Building contrib-module: smbk5pwd" + pushd "${S}/contrib/slapd-modules/smbk5pwd" &>/dev/null || die "pushd contrib/slapd-modules/smbk5pwd" + + MY_DEFS="-DDO_SHADOW" + if use samba ; then + MY_DEFS="${MY_DEFS} -DDO_SAMBA" + MY_KRB5_INC="" + fi + if use kerberos ; then + MY_DEFS="${MY_DEFS} -DDO_KRB5" + MY_KRB5_INC="$(krb5-config --cflags)" + fi + + emake \ + DEFS="${MY_DEFS}" \ + KRB5_INC="${MY_KRB5_INC}" \ + LDAP_BUILD="${BUILD_DIR}" \ + libexecdir="${EPREFIX}/usr/$(get_libdir)/openldap" + popd &>/dev/null || die + fi + + if use overlays ; then + einfo "Building contrib-module: samba4" + pushd "${S}/contrib/slapd-modules/samba4" &>/dev/null || die "pushd contrib/slapd-modules/samba4" + + emake \ + CC="$(tc-getCC)" \ + LDAP_BUILD="${BUILD_DIR}" \ + libexecdir="${EPREFIX}/usr/$(get_libdir)/openldap" \ + STRIP=/bin/true + popd &>/dev/null || die + fi + + if use kerberos ; then + if use kinit ; then + build_contrib_module "kinit" "kinit.c" "kinit" + fi + build_contrib_module "passwd" "pw-kerberos.la" + fi + + if use pbkdf2; then + build_contrib_module "passwd/pbkdf2" + fi + + if use sha2 ; then + build_contrib_module "passwd/sha2" + fi + + # We could build pw-radius if GNURadius would install radlib.h + build_contrib_module "passwd" "pw-netscape.la" + + #build_contrib_module "acl" "posixgroup.la" # example code only + #build_contrib_module "acl" "gssacl.la" # example code only, also needs kerberos + build_contrib_module "addpartial" + build_contrib_module "allop" + build_contrib_module "allowed" + build_contrib_module "autogroup" + build_contrib_module "cloak" + # build_contrib_module "comp_match" # really complex, adds new external deps, questionable demand + build_contrib_module "denyop" + build_contrib_module "dsaschema" + build_contrib_module "dupent" + build_contrib_module "lastbind" + # lastmod may not play well with other overlays + build_contrib_module "lastmod" + build_contrib_module "noopsrch" + #build_contrib_module "nops" https://bugs.gentoo.org/641576 + #build_contrib_module "nssov" RESO:LATER + build_contrib_module "trace" + # build slapi-plugins + pushd "${S}/contrib/slapi-plugins/addrdnvalues" &>/dev/null || die "pushd contrib/slapi-plugins/addrdnvalues" + einfo "Building contrib-module: addrdnvalues plugin" + $(tc-getCC) -shared \ + -I"${BUILD_DIR}"/include \ + -I../../../include \ + ${CPPFLAGS} \ + ${CFLAGS} \ + -fPIC \ + ${LDFLAGS} \ + -o libaddrdnvalues-plugin.so \ + addrdnvalues.c || die "Building libaddrdnvalues-plugin.so failed" + popd &>/dev/null || die + fi +} + +multilib_src_test() { + if multilib_is_native_abi; then + cd tests || die + pwd + + # Increase various test timeouts/delays, bug #894012 + # We can't just double everything as there's a cumulative effect. + export SLEEP0=2 # originally 1 + export SLEEP1=10 # originally 7 + export SLEEP2=20 # originally 15 + export TIMEOUT=16 # originally 8 + + # emake test => runs only lloadd & mdb, in serial; skips ldif,sql,wt,regression + # emake partests => runs ALL of the tests in parallel + # wt/WiredTiger is not supported in Gentoo + TESTS=( plloadd pmdb ) + #TESTS+=( pldif ) # not done by default, so also exclude here + #use odbc && TESTS+=( psql ) # not done by default, so also exclude here + + emake -Onone "${TESTS[@]}" + fi +} + +multilib_src_install() { + emake \ + CC="$(tc-getCC)" \ + DESTDIR="${D}" \ + SHELL="${EPREFIX}"/bin/sh \ + STRIP=/bin/true \ + install + + if ! use minimal && multilib_is_native_abi; then + # openldap modules go here + # TODO: write some code to populate slapd.conf with moduleload statements + keepdir /usr/$(get_libdir)/openldap/openldap/ + + # initial data storage dir + keepdir /var/lib/openldap-data + use prefix || fowners ldap:ldap /var/lib/openldap-data + fperms 0700 /var/lib/openldap-data + + echo "OLDPF='${PF}'" > "${ED}${OPENLDAP_DEFAULTDIR_VERSIONTAG}/${OPENLDAP_VERSIONTAG}" + echo "# do NOT delete this. it is used" >> "${ED}${OPENLDAP_DEFAULTDIR_VERSIONTAG}/${OPENLDAP_VERSIONTAG}" + echo "# to track versions for upgrading." >> "${ED}${OPENLDAP_DEFAULTDIR_VERSIONTAG}/${OPENLDAP_VERSIONTAG}" + + # use our config + rm "${ED}"/etc/openldap/slapd.conf + insinto /etc/openldap + newins "${FILESDIR}"/${PN}-2.6.3-slapd-conf slapd.conf + configfile="${ED}"/etc/openldap/slapd.conf + + # populate with built backends + einfo "populate config with built backends" + for x in "${ED}"/usr/$(get_libdir)/openldap/openldap/back_*.so; do + einfo "Adding $(basename ${x})" + sed -e "/###INSERTDYNAMICMODULESHERE###$/a# moduleload\t$(basename ${x})" -i "${configfile}" || die + done + sed -e "s:###INSERTDYNAMICMODULESHERE###$:# modulepath\t${EPREFIX}/usr/$(get_libdir)/openldap/openldap:" \ + -i "${configfile}" || die + use prefix || fowners root:ldap /etc/openldap/slapd.conf + fperms 0640 /etc/openldap/slapd.conf + cp "${configfile}" "${configfile}".default || die + + # install our own init scripts and systemd unit files + einfo "Install init scripts" + sed -e "s,/usr/lib/,/usr/$(get_libdir)/," "${FILESDIR}"/slapd-initd-2.4.40-r2 > "${T}"/slapd || die + doinitd "${T}"/slapd + newconfd "${FILESDIR}"/slapd-confd-2.6.1 slapd + + if use systemd; then + # The systemd unit uses Type=notify, so it is useless without USE=systemd + einfo "Install systemd service" + rm -rf "${ED}"/{,usr/}lib/systemd + sed -e "s,/usr/lib/,/usr/$(get_libdir)/," "${FILESDIR}"/slapd-2.6.1.service > "${T}"/slapd.service || die + systemd_dounit "${T}"/slapd.service + systemd_install_serviced "${FILESDIR}"/slapd.service.conf + newtmpfiles "${FILESDIR}"/slapd.tmpfilesd slapd.conf + fi + + # if built without SLP, we don't need to be before avahi + sed -i \ + -e '/before/{s/avahi-daemon//g}' \ + "${ED}"/etc/init.d/slapd \ + || die + + if use cxx ; then + einfo "Install the ldapc++ library" + cd "${BUILD_DIR}/contrib/ldapc++" || die + emake DESTDIR="${D}" libexecdir="${EPREFIX}/usr/$(get_libdir)/openldap" install + cd "${S}"/contrib/ldapc++ || die + newdoc README ldapc++-README + fi + + if use smbkrb5passwd ; then + einfo "Install the smbk5pwd module" + cd "${S}/contrib/slapd-modules/smbk5pwd" || die + emake DESTDIR="${D}" \ + prefix="${EPREFIX}/usr" \ + LDAP_BUILD="${BUILD_DIR}" \ + libexecdir="${EPREFIX}/usr/$(get_libdir)/openldap" install + newdoc README smbk5pwd-README + fi + + if use overlays ; then + einfo "Install the samba4 module" + cd "${S}/contrib/slapd-modules/samba4" || die + emake DESTDIR="${D}" \ + LDAP_BUILD="${BUILD_DIR}" \ + libexecdir="${EPREFIX}/usr/$(get_libdir)/openldap" install + newdoc README samba4-README + fi + + einfo "Installing contrib modules" + cd "${S}/contrib/slapd-modules" || die + for l in */*.la */*/*.la; do + [[ -e ${l} ]] || continue + libtool --mode=install cp ${l} \ + "${ED}"/usr/$(get_libdir)/openldap/openldap || \ + die "installing ${l} failed" + done + + dodoc "${FILESDIR}"/DB_CONFIG.fast.example + docinto contrib + doman */*.5 + #newdoc acl/README* + newdoc addpartial/README addpartial-README + newdoc allop/README allop-README + newdoc allowed/README allowed-README + newdoc autogroup/README autogroup-README + newdoc dsaschema/README dsaschema-README + newdoc passwd/README passwd-README + cd "${S}/contrib/slapi-plugins" || die + insinto /usr/$(get_libdir)/openldap/openldap + doins */*.so + docinto contrib + newdoc addrdnvalues/README addrdnvalues-README + + docinto back-sock ; dodoc "${S}"/servers/slapd/back-sock/searchexample* + docinto back-perl ; dodoc "${S}"/servers/slapd/back-perl/SampleLDAP.pm + + dosbin "${S}"/contrib/slapd-tools/statslog + newdoc "${S}"/contrib/slapd-tools/README README.statslog + fi + + if ! use static-libs ; then + find "${ED}" \( -name '*.a' -o -name '*.la' \) -delete || die + fi +} + +multilib_src_install_all() { + dodoc ANNOUNCEMENT CHANGES COPYRIGHT README + docinto rfc ; dodoc doc/rfc/*.txt + rmdir -p "${D}"/var/openldap-lloadd # Created but not used by any part of current codebase. +} + +pkg_preinst() { + # keep old libs if any + preserve_old_lib /usr/$(get_libdir)/{liblber,libldap,libldap_r}-2.4$(get_libname 0) + # bug 440470, only display the getting started help there was no openldap before, + # or we are going to a non-minimal build + ! has_version net-nds/openldap || has_version 'net-nds/openldap[minimal]' + OPENLDAP_PRINT_MESSAGES=$((! $?)) +} + +pkg_postinst() { + if ! use minimal ; then + if use systemd; then + tmpfiles_process slapd.conf + fi + + # You cannot build SSL certificates during src_install that will make + # binary packages containing your SSL key, which is both a security risk + # and a misconfiguration if multiple machines use the same key and cert. + if use ssl; then + install_cert /etc/openldap/ssl/ldap + use prefix || chown ldap:ldap "${EROOT}"/etc/openldap/ssl/ldap.* + ewarn "Self-signed SSL certificates are treated harshly by OpenLDAP 2.[12]" + ewarn "Self-signed SSL certificates are treated harshly by OpenLDAP 2.[12]" + ewarn "add 'TLS_REQCERT allow' if you want to use them." + fi + + if use prefix; then + # Warn about prefix issues with slapd + eerror "slapd might NOT be usable on Prefix systems as it requires root privileges" + eerror "to start up, and requires that certain files directories be owned by" + eerror "ldap:ldap. As Prefix does not support changing ownership of files and" + eerror "directories, you will have to manually fix this yourself." + fi + + # These lines force the permissions of various content to be correct + if [[ -d "${EROOT}"/var/run/openldap ]]; then + use prefix || { chown ldap:ldap "${EROOT}"/var/run/openldap || die; } + chmod 0755 "${EROOT}"/var/run/openldap || die + fi + use prefix || chown root:ldap "${EROOT}"/etc/openldap/slapd.conf{,.default} + chmod 0640 "${EROOT}"/etc/openldap/slapd.conf{,.default} || die + use prefix || chown ldap:ldap "${EROOT}"/var/lib/openldap-data + fi + + if has_version 'net-nds/openldap[-minimal]' && ((${OPENLDAP_PRINT_MESSAGES})); then + elog "Getting started using OpenLDAP? There is some documentation available:" + elog "Gentoo Guide to OpenLDAP Authentication" + elog "(https://wiki.gentoo.org/wiki/Centralized_authentication_using_OpenLDAP)" + fi + + preserve_old_lib_notify /usr/$(get_libdir)/{liblber,libldap,libldap_r}-2.4$(get_libname 0) +} 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 53230e04f1c..1315e8fccb5 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,14 @@ # Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 +# Robin H. Johnson (2026-03-22) +# sys-block/vdo not keyworded here +sys-fs/lvm2 vdo + +# Ionen Wolkens (2026-03-16) +# media-libs/opencolorio is not keyworded here +media-video/ffmpeg opencolorio + # Sam James (2026-02-11) # sys-libs/libnvme not keyworded here sys-fs/lvm2 nvme 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 31fa93e2275..dbe13416648 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,11 @@ #--- END OF EXAMPLES --- +# MichaÅ‚ Górny (2026-03-14) +# SPIRV target requires dev-libs/level-zero. +llvm-runtimes/offload -llvm_targets_SPIRV +llvm-runtimes/openmp -level-zero + # MichaÅ‚ Górny (2026-03-03) # OpenMP offloading GPU runtimes are not keyworded everywhre. llvm-runtimes/clang-runtime -llvm_targets_AMDGPU -llvm_targets_NVPTX @@ -119,6 +124,7 @@ dev-lang/rust -mrustc-bootstrap # MichaÅ‚ Górny (2024-12-24) # OpenMP offloading is supported on 64-bit architectures only. llvm-runtimes/clang-runtime -offload +llvm-runtimes/openmp -offload # Alfred Wingate (2024-12-16) # Only available on amd64. 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 941ceb0b0ea..0e7577bfc46 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 @@ -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 # When you add an entry to the top of this file, add your name, the date, and @@ -17,6 +17,10 @@ #--- END OF EXAMPLES --- +# Matt Jolly (2026-03-10) +# mrustc is not yet stable on amd64, but we want bootstrap for Rust +~dev-lang/rust-1.90.0 mrustc-bootstrap + # Paul Zander (2025-12-01) # no stable llvm-runtimes/offload dev-cpp/eigen clang-cuda 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 d654d45d6b8..63cff771840 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,6 +1,10 @@ # Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 +# Robin H. Johnson (2026-03-22) +# sys-block/vdo not keyworded here +sys-fs/lvm2 vdo + # Nicolas PARLANT (2026-02-23) # x11-libs/qtermwidget is not keyworded here app-office/texstudio qtermwidget @@ -150,6 +154,7 @@ games-emulation/rmg -dynarec # Needs as-yet-unkeyworded KF6 (bug #934215) app-crypt/pinentry qt6 >=app-office/libreoffice-24.2.7.2-r1 kde +>media-video/vlc-3.9999 gui skins # Nowa Ammerlaan (2024-06-01) # qtnetworkauth, qtremoteobjects and qthttpserver not yet keyworded here 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 3f15c2d3308..7868812fa94 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,14 @@ # Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 +# Robin H. Johnson (2026-03-22) +# sys-block/vdo not keyworded here +sys-fs/lvm2 vdo + +# Alfredo Tupone (2026-03-16) +# dependencies not arm64 ready +sci-ml/torchvision rocm + # Fabian Groffen (2026-02-11) # bitwarden-cli is not available for linux-arm64 app-admin/vaultwarden cli @@ -132,6 +140,7 @@ dev-build/meson -test-full # MichaÅ‚ Górny (2024-12-24) # OpenMP offloading is supported on 64-bit architectures only. llvm-runtimes/clang-runtime -offload +llvm-runtimes/openmp -offload # Nowa Ammerlaan (2024-12-20) # qtremoteobjects and qthttpserver not yet keyworded here 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 fdac31d54db..34555da9026 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,11 @@ # Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 +# MichaÅ‚ Górny (2026-03-14) +# SPIRV target requires dev-libs/level-zero. +llvm-runtimes/offload llvm_targets_SPIRV +llvm-runtimes/openmp -level-zero + # MichaÅ‚ Górny (2026-03-03) # OpenMP offloading GPU runtimes are not keyworded everywhre. llvm-runtimes/clang-runtime llvm_targets_AMDGPU llvm_targets_NVPTX @@ -96,6 +101,7 @@ dev-lang/rust mrustc-bootstrap # MichaÅ‚ Górny (2024-12-24) # OpenMP offloading is supported on 64-bit architectures only. llvm-runtimes/clang-runtime offload +llvm-runtimes/openmp offload # Sv. Lockal (2024-11-30) # Only available for amd64. diff --git a/sdk_container/src/third_party/portage-stable/profiles/arch/hppa/package.use.mask b/sdk_container/src/third_party/portage-stable/profiles/arch/hppa/package.use.mask index 3269f9f10d3..955bc0e608d 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/arch/hppa/package.use.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/arch/hppa/package.use.mask @@ -4,6 +4,18 @@ # NOTE: When masking a USE flag due to missing keywords, please file a keyword # request bug for the hppa arch. +# Robin H. Johnson (2026-03-22) +# sys-block/vdo not keyworded here +sys-fs/lvm2 vdo + +# Robin H. Johnson (2026-03-22) +# sys-block/thin-provisioning-tools not keyworded here +sys-fs/lvm2 thin + +# Ionen Wolkens (2026-03-16) +# media-libs/opencolorio is not keyworded here +media-video/ffmpeg opencolorio + # Sam James (2026-02-11) # sys-libs/libnvme not keyworded here sys-fs/lvm2 nvme diff --git a/sdk_container/src/third_party/portage-stable/profiles/arch/loong/package.use.mask b/sdk_container/src/third_party/portage-stable/profiles/arch/loong/package.use.mask index 635ce12ec2d..606910fa961 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/arch/loong/package.use.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/arch/loong/package.use.mask @@ -1,6 +1,14 @@ # Copyright 2022-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 +# Robin H. Johnson (2026-03-22) +# sys-block/vdo not keyworded here +sys-fs/lvm2 vdo + +# Ionen Wolkens (2026-03-16) +# media-libs/opencolorio is not keyworded here +media-video/ffmpeg opencolorio + # Sam James (2026-01-16) # Unkeyworded dependencies (bug #968238) media-video/pipewire libcamera diff --git a/sdk_container/src/third_party/portage-stable/profiles/arch/m68k/package.use.mask b/sdk_container/src/third_party/portage-stable/profiles/arch/m68k/package.use.mask index e4106351d1d..cce7ce0c832 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/arch/m68k/package.use.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/arch/m68k/package.use.mask @@ -1,6 +1,10 @@ # Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 +# Robin H. Johnson (2026-03-22) +# sys-block/vdo not keyworded here +sys-fs/lvm2 vdo + # James Le Cuirot (2026-02-09) # There is almost certainly no m68k hardware that supports DDC. app-misc/fastfetch ddcutil diff --git a/sdk_container/src/third_party/portage-stable/profiles/arch/mips/package.use.mask b/sdk_container/src/third_party/portage-stable/profiles/arch/mips/package.use.mask index 87fbd55885b..fcd74da5d57 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/arch/mips/package.use.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/arch/mips/package.use.mask @@ -1,6 +1,18 @@ # Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 +# Robin H. Johnson (2026-03-22) +# sys-block/vdo not keyworded here +sys-fs/lvm2 vdo + +# Ionen Wolkens (2026-03-22) +# app-text/mdbook is not keyworded here +>=dev-libs/wayland-1.25.0 doc + +# Ionen Wolkens (2026-03-16) +# media-libs/opencolorio is not keyworded here +media-video/ffmpeg opencolorio + # Sam James (2026-01-16) # Unkeyworded dependencies (bug #968238) media-video/pipewire libcamera diff --git a/sdk_container/src/third_party/portage-stable/profiles/arch/powerpc/package.use.mask b/sdk_container/src/third_party/portage-stable/profiles/arch/powerpc/package.use.mask index d839408031b..cebef5a8b2c 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/arch/powerpc/package.use.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/arch/powerpc/package.use.mask @@ -1,6 +1,10 @@ # Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 +# Robin H. Johnson (2026-03-22) +# sys-block/vdo not keyworded here +sys-fs/lvm2 vdo + # Sam James (2026-01-16) # Unkeyworded dependencies (bug #968238) media-video/pipewire libcamera 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 463a3241cff..a5dc0d75c81 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,18 @@ -# Copyright 1999-2025 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 +# Andreas Sturmlechner (2026-03-21) +# Needs as-yet-unkeyworded KF6 (bug #934215) +>media-video/vlc-3.9999 gui skins + +# Ionen Wolkens (2026-03-16) +# media-libs/opencolorio is not keyworded here +media-video/ffmpeg opencolorio + +# Mike Gilbert (2026-03-15) +# net-misc/freerdp is missing ppc keyword. +net-analyzer/hydra rdp + # Sam James (2025-08-29) # net-misc/passt not yet keyworded here app-emulation/qemu passt 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 94ffcd85985..4c156bd55b7 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 @@ -1,6 +1,10 @@ -# Copyright 2019-2025 Gentoo Authors +# Copyright 2019-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 +# Ionen Wolkens (2026-03-16) +# media-libs/opencolorio is available on ppc64le +media-video/ffmpeg -opencolorio + # Marek Szuba (2023-12-05) # Needs USE=video_cards_amdgpu, which IS available on ppc64le. >=sys-apps/fwupd-1.9.10 -amdgpu @@ -9,11 +13,6 @@ # Doesn't work on ppc64, #871921 sci-mathematics/gmp-ecm custom-tune -# MichaÅ‚ Górny (2021-12-31) -# Don't apply stable masks to python-exec since we're forcing every -# impl there anyway. Please keep this in sync with use.stable.mask. -dev-lang/python-exec -python_targets_pypy3_11 - # Georgy Yakovlev (2021-06-02) # altivec code is big-endian only, #773100 media-libs/libdvbcsa cpu_flags_ppc_altivec @@ -40,7 +39,6 @@ mail-client/thunderbird clang # vulkan tested and works on ppc64le media-libs/mesa -vulkan -vulkan-overlay media-video/mpv -vulkan -media-video/vlc -libplacebo # Robin H. Johnson (2019-12-06) # PPS should work on all arches, but only keyworded on some arches diff --git a/sdk_container/src/third_party/portage-stable/profiles/arch/powerpc/ppc64/64le/use.mask b/sdk_container/src/third_party/portage-stable/profiles/arch/powerpc/ppc64/64le/use.mask index 2b94493dde3..5199ed2b972 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/arch/powerpc/ppc64/64le/use.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/arch/powerpc/ppc64/64le/use.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 # Paul Zander (2024-03-29) @@ -8,11 +8,6 @@ -openimageio -osl -# MichaÅ‚ Górny (2021-12-31) -# PyPy3 is keyworded here. --python_targets_pypy3_11 --python_single_target_pypy3_11 - # Sam James (2021-10-16) # media-libs/openexr doesn't work on BE, but should on LE. # ...and openscenegraph needs openexr. diff --git a/sdk_container/src/third_party/portage-stable/profiles/arch/powerpc/ppc64/64le/use.stable.mask b/sdk_container/src/third_party/portage-stable/profiles/arch/powerpc/ppc64/64le/use.stable.mask index 80c74af5629..fd05b87fb18 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/arch/powerpc/ppc64/64le/use.stable.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/arch/powerpc/ppc64/64le/use.stable.mask @@ -1,11 +1,6 @@ -# Copyright 2019-2025 Gentoo Authors +# Copyright 2019-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -# MichaÅ‚ Górny (2021-12-31) -# PyPy3 target is not ready for stable. -python_targets_pypy3_11 -python_single_target_pypy3_11 - # Sam James (2021-11-14) # media-libs/openexr is not marked stable on ppc64 # (it's broken on BE and it's more convenient to keep it at ~arch here for now) diff --git a/sdk_container/src/third_party/portage-stable/profiles/arch/powerpc/ppc64/64ul/package.use.mask b/sdk_container/src/third_party/portage-stable/profiles/arch/powerpc/ppc64/64ul/package.use.mask index 3d7620ef256..da465285276 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/arch/powerpc/ppc64/64ul/package.use.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/arch/powerpc/ppc64/64ul/package.use.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 # Joonas Niilola (2023-08-24) @@ -10,11 +10,6 @@ www-client/firefox hwaccel # dev-python/networkx is keyworded here app-portage/nattka -depgraph-order -# MichaÅ‚ Górny (2021-12-31) -# Don't apply stable masks to python-exec since we're forcing every -# impl there anyway. Please keep this in sync with use.stable.mask. -dev-lang/python-exec -python_targets_pypy3_11 - # Georgy Yakovlev (2021-07-27) # deps not keyworded media-gfx/gnome-photos upnp-av diff --git a/sdk_container/src/third_party/portage-stable/profiles/arch/powerpc/ppc64/64ul/use.mask b/sdk_container/src/third_party/portage-stable/profiles/arch/powerpc/ppc64/64ul/use.mask index b405a2be3be..0ce4dc7432b 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/arch/powerpc/ppc64/64ul/use.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/arch/powerpc/ppc64/64ul/use.mask @@ -1,11 +1,6 @@ -# Copyright 1999-2025 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -# MichaÅ‚ Górny (2021-12-31) -# PyPy3 is keyworded here. --python_targets_pypy3_11 --python_single_target_pypy3_11 - # Georgy Yakovlev (2020-06-03) # clang is keyworded and works on ppc64 -clang diff --git a/sdk_container/src/third_party/portage-stable/profiles/arch/powerpc/ppc64/64ul/use.stable.mask b/sdk_container/src/third_party/portage-stable/profiles/arch/powerpc/ppc64/64ul/use.stable.mask index eb000ce9a1f..b94ace14de8 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/arch/powerpc/ppc64/64ul/use.stable.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/arch/powerpc/ppc64/64ul/use.stable.mask @@ -1,11 +1,6 @@ -# Copyright 1999-2025 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -# MichaÅ‚ Górny (2021-12-31) -# PyPy3 target is not ready for stable. -python_targets_pypy3_11 -python_single_target_pypy3_11 - # Georgy Yakovlev (2020-01-26) # media-plugins/frei0r-plugins not stable yet frei0r diff --git a/sdk_container/src/third_party/portage-stable/profiles/arch/powerpc/ppc64/package.use.mask b/sdk_container/src/third_party/portage-stable/profiles/arch/powerpc/ppc64/package.use.mask index 8009e7e664e..afcb240140e 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/arch/powerpc/ppc64/package.use.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/arch/powerpc/ppc64/package.use.mask @@ -1,6 +1,10 @@ # Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 +# Ionen Wolkens (2026-03-16) +# media-libs/opencolorio is masked on ppc64(be) +media-video/ffmpeg opencolorio + # Andreas Sturmlechner (2026-02-14) # =sys-cluster/ceph-20 jaeger @@ -62,6 +66,7 @@ www-servers/nginx test # MichaÅ‚ Górny (2024-12-24) # OpenMP offloading is supported on 64-bit architectures only. llvm-runtimes/clang-runtime -offload +llvm-runtimes/openmp -offload # Sam James (2024-12-17) # dev-lang/ada-bootstrap exists here @@ -112,11 +117,6 @@ sci-libs/symengine tcmalloc # https://github.com/rustsec/rustsec/issues/707 dev-util/cargo-audit fix -# MichaÅ‚ Górny (2021-12-31) -# Don't apply stable masks to python-exec since we're forcing every -# impl there anyway. Please keep this in sync with use.stable.mask. -dev-lang/python-exec -python_targets_pypy3_11 - # Marek Szuba (2021-07-18) # media-plugins/zam-plugins not keyworded here media-sound/easyeffects zamaudio diff --git a/sdk_container/src/third_party/portage-stable/profiles/arch/powerpc/ppc64/use.mask b/sdk_container/src/third_party/portage-stable/profiles/arch/powerpc/ppc64/use.mask index 8aff9be942b..c349f77b94d 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/arch/powerpc/ppc64/use.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/arch/powerpc/ppc64/use.mask @@ -1,4 +1,4 @@ -# Copyright 2008-2025 Gentoo Authors +# Copyright 2008-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 ### THIS FILE IS ONLY FOR PACKAGES MASKED ON BOTH 64-BIT AND 32-BIT USERLAND!!! @@ -11,11 +11,6 @@ embree openimageio osl -# MichaÅ‚ Górny (2021-12-31) -# PyPy3 is keyworded here. --python_targets_pypy3_11 --python_single_target_pypy3_11 - # Sam James (2021-10-16) # media-libs/openexr doesn't work on BE (bug #818424) # ...and openscenegraph needs openexr. diff --git a/sdk_container/src/third_party/portage-stable/profiles/arch/powerpc/ppc64/use.stable.mask b/sdk_container/src/third_party/portage-stable/profiles/arch/powerpc/ppc64/use.stable.mask index 1e7699edcda..d505fbefd46 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/arch/powerpc/ppc64/use.stable.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/arch/powerpc/ppc64/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 # New entries go on top. @@ -8,11 +8,6 @@ # dev-lang/php:8.2 is not marked stable here yet (bug #920701) php_targets_php8-2 -# MichaÅ‚ Górny (2021-12-31) -# PyPy3 target is not ready for stable. -python_targets_pypy3_11 -python_single_target_pypy3_11 - # Sam James (2021-11-14) # media-libs/openexr is not marked stable on ppc64 # (it's broken on BE and it's more convenient to keep it at ~arch here for now) 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 77412e738a2..2222fb66b14 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,6 +1,10 @@ # Copyright 2023-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 +# Robin H. Johnson (2026-03-22) +# sys-block/vdo not keyworded here +sys-fs/lvm2 vdo + # Nicolas PARLANT (2026-02-23) # x11-libs/qtermwidget is not keyworded here app-office/texstudio qtermwidget diff --git a/sdk_container/src/third_party/portage-stable/profiles/arch/riscv/package.use.mask b/sdk_container/src/third_party/portage-stable/profiles/arch/riscv/package.use.mask index 78ad2cb8c2b..de6530b760f 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/arch/riscv/package.use.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/arch/riscv/package.use.mask @@ -1,6 +1,10 @@ # Copyright 2019-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 +# Robin H. Johnson (2026-03-22) +# sys-block/vdo not keyworded here +sys-fs/lvm2 vdo + # Alfred Wingate (2025-12-24) # media-libs/jasper is not keyworded here media-libs/gegl jpeg2k diff --git a/sdk_container/src/third_party/portage-stable/profiles/arch/s390/package.use.mask b/sdk_container/src/third_party/portage-stable/profiles/arch/s390/package.use.mask index 03795ce89a9..48ce1d6f66e 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/arch/s390/package.use.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/arch/s390/package.use.mask @@ -1,6 +1,10 @@ # Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 +# Robin H. Johnson (2026-03-22) +# sys-block/vdo not keyworded here +sys-fs/lvm2 vdo + # Sam James (2026-02-11) # sys-libs/libnvme not keyworded here sys-fs/lvm2 nvme 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 9ac1f206c8c..1302c00a5cf 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,14 @@ # Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 +# Robin H. Johnson (2026-03-22) +# sys-block/vdo not keyworded here +sys-fs/lvm2 vdo + +# Ionen Wolkens (2026-03-16) +# media-libs/opencolorio is not keyworded here +media-video/ffmpeg opencolorio + # Jaco Kroon (2026-02-06) # Requires sys-auth/libyubikey net-dialup/freeradius yubikey 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 4e0ca50ea8c..67a1a558e70 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,10 @@ # Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 +# Robin H. Johnson (2026-03-22) +# sys-block/vdo not keyworded here +sys-fs/lvm2 vdo + # Mike Gilbert (2025-12-15) # arch-specific platform values sys-boot/grub -grub_platforms_pc @@ -361,10 +365,6 @@ app-admin/syslog-ng test # The JIT feature only works on amd64 and x86. app-emulation/aranym -jit -# Andreas Sturmlechner (2019-11-20) -# media-libs/libplacebo is keyworded on x86 -media-video/vlc -libplacebo - # Thomas Deutschmann (2019-11-11) # dev-python/pandas is keyworded for x86 sys-block/fio -python -gnuplot 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 0cf671e0cbc..0a3d11ddb47 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 @@ -8,7 +8,7 @@ IUSE_IMPLICIT="prefix prefix-guest prefix-stack" USE_EXPAND_IMPLICIT="ELIBC KERNEL" USE_EXPAND_VALUES_ELIBC="bionic Darwin glibc mingw musl SunOS" -USE_EXPAND_VALUES_KERNEL="Darwin linux SunOS" +USE_EXPAND_VALUES_KERNEL="Darwin Hurd linux SunOS" # Env vars to expand into USE vars. Modifying this requires prior # discussion on gentoo-dev@lists.gentoo.org. diff --git a/sdk_container/src/third_party/portage-stable/profiles/base/package.mask b/sdk_container/src/third_party/portage-stable/profiles/base/package.mask index b92b4b417b5..f096e79ab52 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/base/package.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/base/package.mask @@ -1,6 +1,12 @@ # Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 +# Sam James (2026-03-17) +# Hurd-only packages +dev-util/mig +sys-kernel/gnumach +sys-kernel/hurd + # Sam James (2026-02-18) # Needs systemd so unmasked in targets/systemd kde-plasma/plasma-login-manager 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 ff10e3cfffb..e51155081f1 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 @@ -5,11 +5,6 @@ # Fails to build without. Bug #968803 =sci-libs/opencascade-7.8* opengl -# Michael Orlitzky (2025-02-22) -# 2.50.5 fails to non-jumbo build (bug 970412). -=net-libs/webkit-gtk-2.50.5-r410 jumbo-build -=net-libs/webkit-gtk-2.50.5-r600 jumbo-build - # Andreas Sturmlechner (2025-06-22) # This is currently more footgun than real option. Bugs #958638, #968227 (2026-03-20) +# Only meant for bootstrapping a cross-compiler. +sys-libs/libxcrypt headers-only + +# MichaÅ‚ Górny (2026-03-19) +# dev-python/mkdocs have been last rited. +dev-debug/gef doc +dev-python/bracex doc +dev-python/pyspelling doc +dev-python/wcmatch doc +media-gfx/hydrus doc +net-vpn/eduvpn-client doc + # Volkmar W. Pogatzki (2026-01-30) # No suitable versions of dev-libs/protobuf available. ~dev-java/protobuf-java-4.33.5 system-protoc @@ -62,10 +75,6 @@ gui-wm/hyprland qtutils # Needs not-yet-released GCC 16. dev-lang/python tail-call-interp -# Volkmar W. Pogatzki (2025-12-06) -# No suitable versions of dev-libs/protobuf available. -~dev-java/protobuf-java-4.33.2 system-protoc - # Lukas Schmelting (2026-03-15) +# Hurd-only packages +-dev-util/mig +-sys-kernel/hurd +-sys-kernel/gnumach diff --git a/sdk_container/src/third_party/portage-stable/profiles/default/hurd/amd64/package.use.mask b/sdk_container/src/third_party/portage-stable/profiles/default/hurd/amd64/package.use.mask new file mode 100644 index 00000000000..34f5ae16b13 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/profiles/default/hurd/amd64/package.use.mask @@ -0,0 +1,18 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# Jaco Kroon (2025-11-11) +# This target has the dependencies keyworded. +dev-db/mariadb -aws-km + +# idealseal (2025-07-08) +# This target supports distributing tasks. +dev-util/sccache -dist-server + +# Mike Frysinger (2016-05-08) +# This target supports VTV #547040. +>=sys-devel/gcc-4.9 -vtv + +# Mike Frysinger (2014-10-21) +# This target supports ASAN/etc... #504200. +sys-devel/gcc -sanitize diff --git a/sdk_container/src/third_party/portage-stable/profiles/default/hurd/amd64/parent b/sdk_container/src/third_party/portage-stable/profiles/default/hurd/amd64/parent new file mode 100644 index 00000000000..9f9d2cbed24 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/profiles/default/hurd/amd64/parent @@ -0,0 +1,2 @@ +../../../base +.. diff --git a/sdk_container/src/third_party/portage-stable/profiles/default/hurd/eapi b/sdk_container/src/third_party/portage-stable/profiles/default/hurd/eapi new file mode 100644 index 00000000000..7ed6ff82de6 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/profiles/default/hurd/eapi @@ -0,0 +1 @@ +5 diff --git a/sdk_container/src/third_party/portage-stable/profiles/default/hurd/make.defaults b/sdk_container/src/third_party/portage-stable/profiles/default/hurd/make.defaults new file mode 100644 index 00000000000..153f0dbb47d --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/profiles/default/hurd/make.defaults @@ -0,0 +1,66 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# 'Sane' defaults +ELIBC="glibc" +KERNEL="Hurd" + +# Override the branding.eclass defaults. +BRANDING_OS_NAME="Gentoo GNU/Hurd" +BRANDING_OS_PRETTY_NAME="${BRANDING_OS_NAME}" + +# Default starting set of USE flags for all default/hurd profiles. +USE="crypt ipv6 ncurses nls pam readline ssl zlib" + +# Disable various Linux-only features +USE="${USE} -seccomp -caps -filecaps" +USE="${USE} -udev -netifrc -iptables -kmod" +# Hurd does support DHCP but DHCP clients need to be ported. net-misc/dhcpcd +# is a work-in-progress. Avoid pulling in a possibly-broken client by default. +USE="${USE} -dhcp" + +# Sam James (2026-03-18) +# sys-apps/sandbox is not available on Hurd (ptrace for static binaries) +FEATURES="-sandbox" + +# +# Inherited from default/linux +# + +# Ole Markus With (2010-10-21) +# These USE flags were originally inserted here because of PHP +# and were later removed by me. Reinserting the USE flags again because they are +# global USE flags that may be expected to be set by other packages. +# Andreas K. Hüttel (2024-03-22) +# Moving cli to 17.0, so it can be unset in 23.0 and this way overridden by +# use defaults... +USE="${USE} pcre" + +# Luca Barbato (2006-10-28) +# on glibc system you cannot turn it off +USE="${USE} iconv" + +# Matt Turner (2017-01-17) +# Sane defaults for input drivers +INPUT_DEVICES="libinput" + +# Donnie Berkholz (2006-08-18) +# Lowest common denominator defaults for video drivers +VIDEO_CARDS="dummy fbdev" + +# Doug Goldstein (2008-07-09) +# Adding LDFLAGS="-Wl,-O1 for all Linux profiles by default +# after discussion on the gentoo-dev ML. As we bang out a clear +# direction with how LDFLAGS will be set by default, this entry +# may move. +# Samuli Suominen (2010-07-12) +# Note that adding LDFLAGS="-Wl,-O1 ${LDFLAGS}" breaks dev-util/boost-build +# because of whitespace. +LDFLAGS="-Wl,-O1 -Wl,--as-needed" + +# Sam James (2024-01-22) +# Workaround for sandbox bug which causes this gnulib configure test to take +# many real hours on slower machines, and certainly a huge amount of CPU hours +# on others. Spoof the same result as configure gets on a modern glibc system +# for now. See bug #447970 and bug #922652. +gl_cv_func_getcwd_path_max="yes" diff --git a/sdk_container/src/third_party/portage-stable/profiles/default/hurd/package.mask b/sdk_container/src/third_party/portage-stable/profiles/default/hurd/package.mask new file mode 100644 index 00000000000..62bcab6c345 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/profiles/default/hurd/package.mask @@ -0,0 +1,15 @@ +# Copyright 2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# Broken on Hurd or needs porting to do the right thing +sys-apps/makedev +sys-fs/static-dev + +# Linux-specific +net-misc/iputils +sys-libs/libcap +sys-apps/kmod +sys-apps/kbd +sys-apps/systemd +sys-apps/systemd-utils +sys-kernel/linux-headers diff --git a/sdk_container/src/third_party/portage-stable/profiles/default/hurd/package.use b/sdk_container/src/third_party/portage-stable/profiles/default/hurd/package.use new file mode 100644 index 00000000000..23e8687211e --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/profiles/default/hurd/package.use @@ -0,0 +1,34 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# Sam James (2026-03-18) +# sys-kernel/hurd installs some static binaries +app-arch/bzip2 static-libs +sys-apps/util-linux static-libs +sys-libs/libxcrypt static-libs +sys-libs/zlib static-libs +x11-libs/libpciaccess static-libs +virtual/libcrypt static-libs +virtual/zlib static-libs + +# Sam James (2026-03-18) +# PAM is untested here +sys-apps/util-linux -su + +# Sam James (2026-03-18) +# Prefer inetutils wherever possible as they're the canonical set +# of tools and less Linux-centric. +net-misc/inetutils hostname ifconfig logger ping ping6 syslogd +sys-apps/util-linux -logger + +# +# Inherited from default/linux +# + +# Mike Gilbert (2017-10-29) +# Override default from make.defaults, bug 635822. +net-libs/mbedtls -zlib + +# Arfrever Frehtes Taifersar Arahesis (2011-02-13) +# Disable deprecated bsddb module of Python 2 by default. +=dev-lang/python-2* -berkdb diff --git a/sdk_container/src/third_party/portage-stable/profiles/default/hurd/package.use.force b/sdk_container/src/third_party/portage-stable/profiles/default/hurd/package.use.force new file mode 100644 index 00000000000..a64b1808b7d --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/profiles/default/hurd/package.use.force @@ -0,0 +1,6 @@ +# Copyright 2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# Matt Turner (2024-12-11) +# Forced on to avoid potential breakage. +virtual/opengl X 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 new file mode 100644 index 00000000000..7aa7565c604 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/profiles/default/hurd/package.use.mask @@ -0,0 +1,79 @@ +# Copyright 2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# Sam James (2026-03-10) +# Fails to link +net-libs/gnutls post-quantum + +# +# Inherited entries from default/linux +# + +# Jaco Kroon (2025-11-11) +# The depended on packages will need to be keyworded for various arches +# to which I don't have access. +dev-db/mariadb aws-km + +# Patrick Lauer (2025-09-19) +# Dependency currently in ::guru +games-board/lc0 onnx + +# Conrad Kostecki (2025-09-06) +# Currently does not build in headless mode. +# See: https://github.com/OpenRCT2/OpenRCT2/issues/25119 +>=games-simulation/openrct2-0.4.26 dedicated + +# idealseal (2025-07-08) +# Only supported on x86-64. +dev-util/sccache dist-server + +# Matt Turner (2025-04-23) +# Requires osmesa, which was removed in mesa-25.1 +app-emulation/aranym osmesa +app-emulation/crossover-bin osmesa + +# Sam James (2023-06-06) +# Needs linux-only dev-libs/libaio. +app-emulation/qemu -aio + +# Peter Levine (2019-10-01) +# Native inotify support is preferred on linux. +# bug #697476 +net-fs/samba fam + +# Patrick McLean (2019-09-17) +# Masked due to upstream build failures (bug #693018) +# One example: https://tracker.ceph.com/issues/41523 +>=sys-cluster/ceph-14.2 dpdk + +# Michael Palimaka (2015-09-03) +# Native inotify support is preferred on linux. +kde-frameworks/kcoreaddons fam + +# Diego Elio Pettenò (2012-08-27) +# The libpci access is only used for linux. +net-analyzer/net-snmp -pci + +# Richard Yao (2012-08-22) +# USE=kernel-builtin is dangerous. Only those that know what they are doing +# should use it until documentation improves. +sys-fs/zfs kernel-builtin + +# Diego Elio Pettenò (2012-08-20) +# The prevent-removal USE flag is only implemented for Linux. +sys-auth/pam_mktemp -prevent-removal + +# Samuli Suominen (2012-01-10) +# Masked in base/package.use.mask as Linux -only feature +app-arch/libarchive -e2fsprogs + +# Diego E. Pettenò (2011-03-27) +# +# Unmask pdnsd's Linux-specific USE flags. +net-dns/pdnsd -urandom + +# Diego E. Pettenò (2009-08-20) +# Mask oss USE flag for PulseAudio; it's present for compatibility +# with FreeBSD and other operating systems that have no better +# interfaces, but people would probably abuse it with Linux as well. +media-sound/pulseaudio-daemon oss diff --git a/sdk_container/src/third_party/portage-stable/profiles/default/hurd/packages b/sdk_container/src/third_party/portage-stable/profiles/default/hurd/packages new file mode 100644 index 00000000000..f54872bfe50 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/profiles/default/hurd/packages @@ -0,0 +1,15 @@ +# Copyright 2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +*net-mail/mailbase +*net-misc/inetutils +*sys-apps/man-pages +*sys-apps/util-linux +*sys-kernel/hurd +*sys-kernel/gnumach + +-*net-misc/iputils +-*sys-apps/kmod +-*sys-apps/kbd +-*sys-apps/which +-*virtual/dev-manager diff --git a/sdk_container/src/third_party/portage-stable/profiles/default/hurd/packages.build b/sdk_container/src/third_party/portage-stable/profiles/default/hurd/packages.build new file mode 100644 index 00000000000..b31fdd6681b --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/profiles/default/hurd/packages.build @@ -0,0 +1,41 @@ +# Copyright 2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# This file describes the packages needed to build a stage1 based on this +# profile. Packages in this file are built in order. + +app-admin/eselect +app-alternatives/awk +app-arch/bzip2 +app-arch/gzip +app-arch/xz-utils +app-arch/tar +app-shells/bash:0 +dev-build/autoconf +dev-build/automake +dev-build/libtool +dev-build/make +net-misc/rsync +net-misc/wget +sys-apps/baselayout +sys-apps/coreutils +sys-apps/diffutils +sys-apps/file +sys-apps/findutils +sys-apps/gawk +sys-apps/grep +sys-apps/less +sys-apps/portage +sys-apps/sed +sys-apps/shadow +sys-devel/binutils +sys-devel/bison +sys-devel/flex +sys-devel/gcc +sys-devel/gettext +sys-devel/gnuconfig +sys-devel/patch +virtual/editor +virtual/libc +virtual/os-headers +virtual/pkgconfig diff --git a/sdk_container/src/third_party/portage-stable/profiles/default/hurd/use.force b/sdk_container/src/third_party/portage-stable/profiles/default/hurd/use.force new file mode 100644 index 00000000000..dab89f8fa85 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/profiles/default/hurd/use.force @@ -0,0 +1,6 @@ +# Copyright 2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# Welcome to the Hurd! +elibc_glibc +kernel_Hurd diff --git a/sdk_container/src/third_party/portage-stable/profiles/default/hurd/use.mask b/sdk_container/src/third_party/portage-stable/profiles/default/hurd/use.mask new file mode 100644 index 00000000000..62f4ef9e02b --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/profiles/default/hurd/use.mask @@ -0,0 +1,27 @@ +# Copyright 2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# Linux-specific (for now) +# https://sourceware.org/PR34016 +debuginfod + +# Linux-specific +acl +epoll +eventfd +kmod +netlink +iptables +nftables +udev +seccomp +systemd +inotify + +# May work after testing +pam +xattr + +# Welcome to the Hurd! +-elibc_glibc +-kernel_Hurd diff --git a/sdk_container/src/third_party/portage-stable/profiles/default/hurd/x86/23.0/eapi b/sdk_container/src/third_party/portage-stable/profiles/default/hurd/x86/23.0/eapi new file mode 100644 index 00000000000..7ed6ff82de6 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/profiles/default/hurd/x86/23.0/eapi @@ -0,0 +1 @@ +5 diff --git a/sdk_container/src/third_party/portage-stable/profiles/default/hurd/x86/23.0/i686/eapi b/sdk_container/src/third_party/portage-stable/profiles/default/hurd/x86/23.0/i686/eapi new file mode 100644 index 00000000000..7ed6ff82de6 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/profiles/default/hurd/x86/23.0/i686/eapi @@ -0,0 +1 @@ +5 diff --git a/sdk_container/src/third_party/portage-stable/profiles/default/hurd/x86/23.0/i686/make.defaults b/sdk_container/src/third_party/portage-stable/profiles/default/hurd/x86/23.0/i686/make.defaults new file mode 100644 index 00000000000..43eda4f7296 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/profiles/default/hurd/x86/23.0/i686/make.defaults @@ -0,0 +1,6 @@ +# Copyright 2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +CHOST="i686-gnu" + +LDFLAGS="-Wl,-O1 -Wl,--as-needed -Wl,-z,pack-relative-relocs" diff --git a/sdk_container/src/third_party/portage-stable/profiles/default/hurd/x86/23.0/i686/parent b/sdk_container/src/third_party/portage-stable/profiles/default/hurd/x86/23.0/i686/parent new file mode 100644 index 00000000000..7cba910cc93 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/profiles/default/hurd/x86/23.0/i686/parent @@ -0,0 +1,2 @@ +.. +../../../../../arch/x86/i686 diff --git a/sdk_container/src/third_party/portage-stable/profiles/default/hurd/x86/23.0/parent b/sdk_container/src/third_party/portage-stable/profiles/default/hurd/x86/23.0/parent new file mode 100644 index 00000000000..50be433109e --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/profiles/default/hurd/x86/23.0/parent @@ -0,0 +1,2 @@ +.. +../../../../releases/23.0 diff --git a/sdk_container/src/third_party/portage-stable/profiles/default/hurd/x86/eapi b/sdk_container/src/third_party/portage-stable/profiles/default/hurd/x86/eapi new file mode 100644 index 00000000000..7ed6ff82de6 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/profiles/default/hurd/x86/eapi @@ -0,0 +1 @@ +5 diff --git a/sdk_container/src/third_party/portage-stable/profiles/default/hurd/x86/make.defaults b/sdk_container/src/third_party/portage-stable/profiles/default/hurd/x86/make.defaults new file mode 100644 index 00000000000..f2e1f94d506 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/profiles/default/hurd/x86/make.defaults @@ -0,0 +1,8 @@ +USE="${USE} pic" + +# Sam James (2026-03-18) +# Prevent automagic use of 64-bit time_t (bug #828001), but it also isn't +# supported (yet?) on 32-bit Hurd anyway. This allows suppressing the +# 'recommended y2038 support' check from autoconf once +# https://savannah.gnu.org/support/index.php?111394 is fixed. +enable_year2038="no" diff --git a/sdk_container/src/third_party/portage-stable/profiles/default/hurd/x86/package.mask b/sdk_container/src/third_party/portage-stable/profiles/default/hurd/x86/package.mask new file mode 100644 index 00000000000..0873b120d89 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/profiles/default/hurd/x86/package.mask @@ -0,0 +1,8 @@ +# Copyright 2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# Sam James (2026-03-15) +# Hurd-only packages +-dev-util/mig +-sys-kernel/hurd +-sys-kernel/gnumach diff --git a/sdk_container/src/third_party/portage-stable/profiles/default/hurd/x86/package.use.mask b/sdk_container/src/third_party/portage-stable/profiles/default/hurd/x86/package.use.mask new file mode 100644 index 00000000000..4ce1f144855 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/profiles/default/hurd/x86/package.use.mask @@ -0,0 +1,22 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# Patrick McLean (2020-02-06) +# sys-cluster/ceph no longer supports x86, versions that support +# it no longer build thanks to python2 removals +# for some reason profiles/arch/x86 is not catching everything +app-emulation/libvirt rbd +app-emulation/qemu rbd +net-analyzer/rrdtool rados +net-fs/samba ceph +sys-block/fio rbd +sys-block/tgt rbd +www-servers/uwsgi uwsgi_plugins_rados + +# Mike Frysinger (2016-05-08) +# This target supports VTV #547040. +>=sys-devel/gcc-4.9 -vtv + +# Mike Frysinger (2014-10-21) +# This target supports ASAN/etc... #504200. +sys-devel/gcc -sanitize diff --git a/sdk_container/src/third_party/portage-stable/profiles/default/hurd/x86/parent b/sdk_container/src/third_party/portage-stable/profiles/default/hurd/x86/parent new file mode 100644 index 00000000000..03cb31cedb0 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/profiles/default/hurd/x86/parent @@ -0,0 +1,3 @@ +../../../base +.. +../../../arch/x86 diff --git a/sdk_container/src/third_party/portage-stable/profiles/default/linux/amd64/23.0/musl/hardened/systemd/eapi b/sdk_container/src/third_party/portage-stable/profiles/default/linux/amd64/23.0/musl/hardened/systemd/eapi new file mode 100644 index 00000000000..7ed6ff82de6 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/profiles/default/linux/amd64/23.0/musl/hardened/systemd/eapi @@ -0,0 +1 @@ +5 diff --git a/sdk_container/src/third_party/portage-stable/profiles/default/linux/amd64/23.0/musl/hardened/systemd/parent b/sdk_container/src/third_party/portage-stable/profiles/default/linux/amd64/23.0/musl/hardened/systemd/parent new file mode 100644 index 00000000000..44f88d3e2df --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/profiles/default/linux/amd64/23.0/musl/hardened/systemd/parent @@ -0,0 +1,2 @@ +.. +../../../../../../../targets/systemd diff --git a/sdk_container/src/third_party/portage-stable/profiles/default/linux/amd64/23.0/musl/hardened/systemd/use.mask b/sdk_container/src/third_party/portage-stable/profiles/default/linux/amd64/23.0/musl/hardened/systemd/use.mask new file mode 100644 index 00000000000..6f371455069 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/profiles/default/linux/amd64/23.0/musl/hardened/systemd/use.mask @@ -0,0 +1,6 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# Alfred Wingate (2025-09-20) +# Generic images are built with systemd and only available on arm64 and amd64 +-generic-uki diff --git a/sdk_container/src/third_party/portage-stable/profiles/default/linux/amd64/23.0/musl/llvm/systemd/eapi b/sdk_container/src/third_party/portage-stable/profiles/default/linux/amd64/23.0/musl/llvm/systemd/eapi new file mode 100644 index 00000000000..7ed6ff82de6 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/profiles/default/linux/amd64/23.0/musl/llvm/systemd/eapi @@ -0,0 +1 @@ +5 diff --git a/sdk_container/src/third_party/portage-stable/profiles/default/linux/amd64/23.0/musl/llvm/systemd/parent b/sdk_container/src/third_party/portage-stable/profiles/default/linux/amd64/23.0/musl/llvm/systemd/parent new file mode 100644 index 00000000000..44f88d3e2df --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/profiles/default/linux/amd64/23.0/musl/llvm/systemd/parent @@ -0,0 +1,2 @@ +.. +../../../../../../../targets/systemd diff --git a/sdk_container/src/third_party/portage-stable/profiles/default/linux/amd64/23.0/musl/llvm/systemd/use.mask b/sdk_container/src/third_party/portage-stable/profiles/default/linux/amd64/23.0/musl/llvm/systemd/use.mask new file mode 100644 index 00000000000..6f371455069 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/profiles/default/linux/amd64/23.0/musl/llvm/systemd/use.mask @@ -0,0 +1,6 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# Alfred Wingate (2025-09-20) +# Generic images are built with systemd and only available on arm64 and amd64 +-generic-uki diff --git a/sdk_container/src/third_party/portage-stable/profiles/default/linux/amd64/package.use.mask b/sdk_container/src/third_party/portage-stable/profiles/default/linux/amd64/package.use.mask index 02acf487d53..34f5ae16b13 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/default/linux/amd64/package.use.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/default/linux/amd64/package.use.mask @@ -1,12 +1,12 @@ -# Copyright 1999-2025 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -# Jaco Kroon (2052-11-11) +# Jaco Kroon (2025-11-11) # This target has the dependencies keyworded. dev-db/mariadb -aws-km # idealseal (2025-07-08) -# This target support distributing tasks. +# This target supports distributing tasks. dev-util/sccache -dist-server # Mike Frysinger (2016-05-08) diff --git a/sdk_container/src/third_party/portage-stable/profiles/default/linux/arm/23.0/armv6j_hf/musl/hardened/systemd/eapi b/sdk_container/src/third_party/portage-stable/profiles/default/linux/arm/23.0/armv6j_hf/musl/hardened/systemd/eapi new file mode 100644 index 00000000000..7ed6ff82de6 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/profiles/default/linux/arm/23.0/armv6j_hf/musl/hardened/systemd/eapi @@ -0,0 +1 @@ +5 diff --git a/sdk_container/src/third_party/portage-stable/profiles/default/linux/arm/23.0/armv6j_hf/musl/hardened/systemd/parent b/sdk_container/src/third_party/portage-stable/profiles/default/linux/arm/23.0/armv6j_hf/musl/hardened/systemd/parent new file mode 100644 index 00000000000..f7739b40587 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/profiles/default/linux/arm/23.0/armv6j_hf/musl/hardened/systemd/parent @@ -0,0 +1,2 @@ +.. +../../../../../../../../targets/systemd diff --git a/sdk_container/src/third_party/portage-stable/profiles/default/linux/arm/23.0/armv6j_hf/musl/systemd/eapi b/sdk_container/src/third_party/portage-stable/profiles/default/linux/arm/23.0/armv6j_hf/musl/systemd/eapi new file mode 100644 index 00000000000..7ed6ff82de6 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/profiles/default/linux/arm/23.0/armv6j_hf/musl/systemd/eapi @@ -0,0 +1 @@ +5 diff --git a/sdk_container/src/third_party/portage-stable/profiles/default/linux/arm/23.0/armv6j_hf/musl/systemd/parent b/sdk_container/src/third_party/portage-stable/profiles/default/linux/arm/23.0/armv6j_hf/musl/systemd/parent new file mode 100644 index 00000000000..44f88d3e2df --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/profiles/default/linux/arm/23.0/armv6j_hf/musl/systemd/parent @@ -0,0 +1,2 @@ +.. +../../../../../../../targets/systemd diff --git a/sdk_container/src/third_party/portage-stable/profiles/default/linux/arm/23.0/armv7a_hf/musl/hardened/systemd/eapi b/sdk_container/src/third_party/portage-stable/profiles/default/linux/arm/23.0/armv7a_hf/musl/hardened/systemd/eapi new file mode 100644 index 00000000000..7ed6ff82de6 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/profiles/default/linux/arm/23.0/armv7a_hf/musl/hardened/systemd/eapi @@ -0,0 +1 @@ +5 diff --git a/sdk_container/src/third_party/portage-stable/profiles/default/linux/arm/23.0/armv7a_hf/musl/hardened/systemd/parent b/sdk_container/src/third_party/portage-stable/profiles/default/linux/arm/23.0/armv7a_hf/musl/hardened/systemd/parent new file mode 100644 index 00000000000..f7739b40587 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/profiles/default/linux/arm/23.0/armv7a_hf/musl/hardened/systemd/parent @@ -0,0 +1,2 @@ +.. +../../../../../../../../targets/systemd diff --git a/sdk_container/src/third_party/portage-stable/profiles/default/linux/arm/23.0/armv7a_hf/musl/systemd/eapi b/sdk_container/src/third_party/portage-stable/profiles/default/linux/arm/23.0/armv7a_hf/musl/systemd/eapi new file mode 100644 index 00000000000..7ed6ff82de6 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/profiles/default/linux/arm/23.0/armv7a_hf/musl/systemd/eapi @@ -0,0 +1 @@ +5 diff --git a/sdk_container/src/third_party/portage-stable/profiles/default/linux/arm/23.0/armv7a_hf/musl/systemd/parent b/sdk_container/src/third_party/portage-stable/profiles/default/linux/arm/23.0/armv7a_hf/musl/systemd/parent new file mode 100644 index 00000000000..44f88d3e2df --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/profiles/default/linux/arm/23.0/armv7a_hf/musl/systemd/parent @@ -0,0 +1,2 @@ +.. +../../../../../../../targets/systemd diff --git a/sdk_container/src/third_party/portage-stable/profiles/default/linux/m68k/23.0/musl/systemd/eapi b/sdk_container/src/third_party/portage-stable/profiles/default/linux/m68k/23.0/musl/systemd/eapi new file mode 100644 index 00000000000..7ed6ff82de6 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/profiles/default/linux/m68k/23.0/musl/systemd/eapi @@ -0,0 +1 @@ +5 diff --git a/sdk_container/src/third_party/portage-stable/profiles/default/linux/m68k/23.0/musl/systemd/parent b/sdk_container/src/third_party/portage-stable/profiles/default/linux/m68k/23.0/musl/systemd/parent new file mode 100644 index 00000000000..7e061533c15 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/profiles/default/linux/m68k/23.0/musl/systemd/parent @@ -0,0 +1,2 @@ +.. +../../../../../../targets/systemd diff --git a/sdk_container/src/third_party/portage-stable/profiles/default/linux/mips/23.0/mipsel/o32/musl/systemd/eapi b/sdk_container/src/third_party/portage-stable/profiles/default/linux/mips/23.0/mipsel/o32/musl/systemd/eapi new file mode 100644 index 00000000000..7ed6ff82de6 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/profiles/default/linux/mips/23.0/mipsel/o32/musl/systemd/eapi @@ -0,0 +1 @@ +5 diff --git a/sdk_container/src/third_party/portage-stable/profiles/default/linux/mips/23.0/mipsel/o32/musl/systemd/parent b/sdk_container/src/third_party/portage-stable/profiles/default/linux/mips/23.0/mipsel/o32/musl/systemd/parent new file mode 100644 index 00000000000..f7739b40587 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/profiles/default/linux/mips/23.0/mipsel/o32/musl/systemd/parent @@ -0,0 +1,2 @@ +.. +../../../../../../../../targets/systemd diff --git a/sdk_container/src/third_party/portage-stable/profiles/default/linux/mips/23.0/o32/musl/systemd/eapi b/sdk_container/src/third_party/portage-stable/profiles/default/linux/mips/23.0/o32/musl/systemd/eapi new file mode 100644 index 00000000000..7ed6ff82de6 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/profiles/default/linux/mips/23.0/o32/musl/systemd/eapi @@ -0,0 +1 @@ +5 diff --git a/sdk_container/src/third_party/portage-stable/profiles/default/linux/mips/23.0/o32/musl/systemd/parent b/sdk_container/src/third_party/portage-stable/profiles/default/linux/mips/23.0/o32/musl/systemd/parent new file mode 100644 index 00000000000..44f88d3e2df --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/profiles/default/linux/mips/23.0/o32/musl/systemd/parent @@ -0,0 +1,2 @@ +.. +../../../../../../../targets/systemd diff --git a/sdk_container/src/third_party/portage-stable/profiles/desc/kernel.desc b/sdk_container/src/third_party/portage-stable/profiles/desc/kernel.desc index 6658d525396..b6c2167ee63 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/desc/kernel.desc +++ b/sdk_container/src/third_party/portage-stable/profiles/desc/kernel.desc @@ -1,4 +1,4 @@ -# Copyright 1999-2022 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 # This file contains descriptions of KERNEL USE_EXPAND flags. @@ -6,5 +6,6 @@ # Keep it sorted. Darwin - KERNEL setting for system using the Darwin kernel (i.e.: Mac OS X). linux - KERNEL setting for system using the Linux kernel +Hurd - KERNEL setting for system using the GNU Hurd SunOS - KERNEL setting for system using an SunOS (i.e.: Solaris) kernel Winnt - KERNEL setting for systems on Windows (Cygwin, MinGW, Winnt, ...) 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 e85b587c6ae..3a93ab4c034 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 @@ -25,7 +25,7 @@ USE_EXPAND_IMPLICIT="ARCH ELIBC KERNEL" USE_EXPAND_VALUES_ARCH="alpha amd64 arm arm64 hppa loong m68k mips ppc ppc64 riscv s390 sparc x64-macos x64-solaris x86" USE_EXPAND_VALUES_ELIBC="bionic Darwin glibc mingw musl SunOS" # Note that we keep Winnt here for cross, especially for cmake.eclass (bug #910605) -USE_EXPAND_VALUES_KERNEL="Darwin linux SunOS Winnt" +USE_EXPAND_VALUES_KERNEL="Darwin Hurd linux SunOS Winnt" # Env vars to expand into USE vars. Modifying this requires prior # discussion on gentoo-dev@lists.gentoo.org. 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 4a8c4b4ef4b..343af800707 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 @@ -5,17 +5,6 @@ # Fails to build on musl (bug #968134, https://sourceware.org/PR33747) ~dev-debug/gdb-17.1 -# Mike Gilbert (2026-02-07) -# Waiting for >=sys-apps/systemd-259 to be stable. -dev-python/python-systemd -gnome-extra/office-runner -gnome-extra/gnome-logs -sys-apps/dbus-broker -sys-apps/systemd-readahead -sys-block/wait-for-dri-devices-rules -sys-process/systemd-cron ->=www-misc/profile-sync-daemon-6 - # Andreas K. Hüttel (2026-02-04) # New systemd now has experimental support for musl (2023-11-22) -# Requires systemd which is not supported on musl. -sys-power/sandmann-bin - # Brahmajit Das (2023-06-15) # The package uses innetgr which is not available in musl, bug 898556 # The package is only for long-obsolete polkit policies anyway. diff --git a/sdk_container/src/third_party/portage-stable/profiles/features/musl/package.use.mask b/sdk_container/src/third_party/portage-stable/profiles/features/musl/package.use.mask index 4611c2833eb..e252d48ffff 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/features/musl/package.use.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/features/musl/package.use.mask @@ -1,11 +1,6 @@ # Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -# Mike Gilbert (2026-02-07) -# Requires dev-python/python-systemd. -net-analyzer/fail2ban systemd -net-im/synapse systemd - # Andreas K. Hüttel (2026-02-04) # Some systemd features will never work on musl. sys-apps/systemd homed @@ -51,10 +46,6 @@ app-emulation/libvirt dtrace gui-libs/neatvnc tracing gui-apps/wayvnc tracing -# Nowa Ammerlaan (2024-07-25) -# Requires systemd-detect-virt -app-emulation/virt-firmware test - # Sam James (2024-06-03) # Poor rendering performance otherwise (bug #931215) but it doesn't # work on musl. Bugs #946505, #946643 diff --git a/sdk_container/src/third_party/portage-stable/profiles/features/musl/package.use.stable.mask b/sdk_container/src/third_party/portage-stable/profiles/features/musl/package.use.stable.mask index bba03526b85..80280bd2765 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/features/musl/package.use.stable.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/features/musl/package.use.stable.mask @@ -1,13 +1,6 @@ # Copyright 2022-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -# Sam James (2026-02-05) -# >=sys-apps/systemd-259 does not yet have stable keywords -dev-qt/qtbase journald -net-analyzer/wireshark sdjournal -sys-kernel/installkernel -systemd -sys-apps/ipmitool openbmc - # Andreas K. Hüttel (2024-03-07) # This doesn't work yet with musl-1.2.4, bug 906603 llvm-runtimes/compiler-rt-sanitizers msan diff --git a/sdk_container/src/third_party/portage-stable/profiles/features/musl/use.mask b/sdk_container/src/third_party/portage-stable/profiles/features/musl/use.mask index 6c03021614a..eb7d342d814 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/features/musl/use.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/features/musl/use.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 # Select the correct ELIBC diff --git a/sdk_container/src/third_party/portage-stable/profiles/features/musl/use.stable.mask b/sdk_container/src/third_party/portage-stable/profiles/features/musl/use.stable.mask deleted file mode 100644 index e5c6898c45a..00000000000 --- a/sdk_container/src/third_party/portage-stable/profiles/features/musl/use.stable.mask +++ /dev/null @@ -1,8 +0,0 @@ -# Copyright 1999-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -# Sam James (2026-02-05) -# >=sys-apps/systemd-259 does not yet have stable keywords -systemd -generic-uki -uwsgi_plugins_systemd_logger diff --git a/sdk_container/src/third_party/portage-stable/profiles/features/split-usr/package.mask b/sdk_container/src/third_party/portage-stable/profiles/features/split-usr/package.mask index 2d04a03bd00..cd016023223 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/features/split-usr/package.mask +++ b/sdk_container/src/third_party/portage-stable/profiles/features/split-usr/package.mask @@ -1,4 +1,4 @@ -# Copyright 2023-2025 Gentoo Authors +# Copyright 2023-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 # Mike Gilbert (2025-06-03) @@ -20,4 +20,5 @@ sys-power/sandmann-bin # Does not support split-usr filesystem geometry. Please migrate to # a merged-usr profile. sys-apps/systemd +sys-apps/systemd-initctl sys-process/systemd-cron 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 575d675bcd4..3505abdb39c 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 @@ -340,6 +340,7 @@ dev-python/cfn-lint >=dev-python/cryptography-36 dev-python/aioquic dev-python/apprise +dev-python/bitstring dev-python/cramjam dev-python/dirty-equals dev-python/hatch-jupyter-builder @@ -422,6 +423,7 @@ dev-python/setuptools-rust dev-python/sshpubkeys dev-python/sshtunnel dev-python/tempest +dev-python/tibs dev-python/trustme dev-python/trio dev-python/trio-websocket 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 f4696f651c7..06116b1ae91 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,10 @@ # Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 +# Ionen Wolkens (2026-03-22) +# app-text/mdbook is written in rust +>=dev-libs/wayland-1.25.0 doc + # Alfred Wingate (2026-02-18) # Requires behave->cucumber-expressions->uv-build dev-db/mycli test 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 773090032b3..c35df53f541 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 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 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 tablelist 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 X11-Lucent 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 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 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 tablelist 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 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 dfd1733d31a..2a76e9f8617 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,141 @@ #--- END OF EXAMPLES --- +# Sam James (2026-03-22) +# Commits since the last release of Crypt-OpenSSL-RSA (0.370) are heavily +# driven by LLM automation. Avoid exposing users to this (bug #971488). +# Sadly, other dists by the same maintainers upstream are also affected, +# and so these are includeed here too. +>dev-perl/Crypt-OpenSSL-RSA-0.370.0 +>dev-perl/B-COW-0.7.0 +>dev-perl/Business-UPS-2.20.0 +>dev-perl/CDB_File-1.50.0-r1 +>dev-perl/Clone-0.470.0 +>dev-perl/Crypt-RIPEMD160-0.80.0 +>dev-perl/IO-Stty-0.40.0 +>dev-perl/IO-Tty-1.200.0 +>dev-perl/IPC-Run-20250809.0.0 +>dev-perl/Net-Daemon-0.490.0 +>dev-perl/Net-Ident-1.250.0 +>dev-perl/Safe-Hole-0.140.0 +>dev-perl/Schedule-Cron-Events-1.960.0 +>dev-perl/Sys-Mmap-0.200.0 +>dev-perl/Template-Toolkit-3.102.0 +>dev-perl/TimeDate-2.330.0-r1 +>dev-perl/XML-Parser-2.510.0 +>dev-perl/XString-0.5.0 +>dev-perl/YAML-Syck-1.360.0 + +# MichaÅ‚ Górny (2026-03-22) +# Cyclic dependency through dev-python/vcs-versioning → +# dev-python/hatchling → dev-python/pluggy. +>=dev-python/setuptools-scm-10 +dev-python/vcs-versioning + +# MichaÅ‚ Górny (2026-03-20) +# Low-value package with a test suite that requires tons of effort to +# work offline. Upstream made that harder again in the most recent +# release. If you need pipx functionality, dev-python/uv provides uvx +# executable. +# Removal on 2026-04-19. Bug #971387. +dev-python/pipx + +# MichaÅ‚ Górny (2026-03-19) +# +# MkDocs 1.x are no longer maintained upstream. MkDocs 2.x, while not +# yet released, are not backwards compatible and have made some +# questionable design choices, such as removing plugin support. MkDocs +# 1.x have been then forked into ProperDocs, which are not a drop-in +# replacment. Also, Zensical started being independently developed. +# +# Over all this time, MkDocs have been barely used in ::gentoo, +# and the work invested in keeping the whole stack working, along with +# all the plugins and NIH dependencies, greatly exceeded the benefit. +# It does not help that most of this is developed with the assumption +# that docs will be built straight from the git repository. +# +# Removal on 2026-04-18. Bug #971358. +dev-python/csscompressor +dev-python/dunamai +dev-python/ghp-import +dev-python/griffe +dev-python/griffe-inherited-docstrings +dev-python/jsmin +dev-python/markdown-exec +dev-python/mergedeep +dev-python/mkdocs +dev-python/mkdocs-autorefs +dev-python/mkdocs-bootstrap +dev-python/mkdocs-bootswatch +dev-python/mkdocs-gen-files +dev-python/mkdocs-get-deps +dev-python/mkdocs-git-authors-plugin +dev-python/mkdocs-git-revision-date-localized-plugin +dev-python/mkdocs-htmlproofer-plugin +dev-python/mkdocs-i18n +dev-python/mkdocs-material +dev-python/mkdocs-material-extensions +dev-python/mkdocs-minify-plugin +dev-python/mkdocs-monorepo-plugin +dev-python/mkdocs-pymdownx-material-extras +dev-python/mkdocs-redirects +dev-python/mkdocs-static-i18n +dev-python/mkdocstrings +dev-python/mkdocstrings-python +dev-python/paginate +dev-python/pygments-ansi-color +dev-python/pyyaml-env-tag +dev-python/readtime +dev-python/uv-dynamic-versioning + +# Jakov Smolić (2026-03-13) +# sqlite-3.52.0 has been withdrawn shortly after its release due to +# backwards-compatibility issues +# https://sqlite.org/releaselog/3_52_0.html +=dev-db/sqlite-3.52.0-r1 +=dev-python/apsw-3.52.0.0 + +# Mike Pagano (2026-03-13) +# Upstream has announced the archiving of this application +# at repo location: https://github.com/nginx/unit/ +# This announcement includes the statement that security +# issues may not be addressed. Possible alternatives +# are www-servers/nginx or www-servers/apache +# depending on your application needs. +# Removal on 2026-04-13. +www-servers/nginx-unit + +# Alfredo Tupone (2026-03-12) +# No reverse dependency. Included in dev-tcltk/tklib +# Removeal on 2026-04-12. Bug #971127 +dev-tcltk/tablelist + +# Volkmar W. Pogatzki (2026-03-10) +# Unused Java library. +# Last consumer was net-p2p/freenet-0.7.5_p1505-r0. +# Removal on 2026-04-10. Bug #971058. +dev-java/mersennetwister + +# Andreas Sturmlechner (2026-03-09) +# Latest release is >21 years old, no one else packages this, buffer overflow +# at launch, packaged only in gentoo. Alternatives exist, including the dockapp +# x11-plugins/wmamixer. Bug #969091 +# Removal on 2026-04-08. +media-sound/alsamixer-app + +# Andreas Sturmlechner (2026-03-09) +# Dead CORBA implementation, no one else packages this, impossible to build. +# Many bugs: #298101, #515938, #725192, #871237, #874090, #882479, #882633, +# #898086, #919509, #952927, #967177 +# Removal on 2026-04-08. +net-misc/mico + +# Arthur Zamarin (2026-03-09) +# Live only package, Upstream archived, integrated into +# app-shells/bash-completion-2.17.0, which was already stabled. +# Removal on 2026-04-08. Bugs #792303, #960480. +app-shells/tmux-bash-completion + # Alfredo Tupone (2026-03-05) # Need more testing >=dev-lang/tcl-9 @@ -128,20 +263,13 @@ media-plugins/vdr-skinelchi # Andreas Sturmlechner (2026-02-15) # Masked for testing and possible libvlc revdeps breakage. -~media-video/vlc-4.0.0_pre20260215 +~media-video/vlc-4.0.0_pre20260320 # Conrad Kostecki (2026-02-15) # Supports only Qt5 and upstream not making any progress towards Qt6. # Removal on 2026-03-01. Bug #953260. x11-misc/projecteur -# Volkmar W. Pogatzki (2026-02-10) -# Unused Java library. Upstream is gone. SRC_URI points to -# 'https://dev.gentoo.org/~monsieurp' which does not exist. -# Last consumer was net-p2p/freenet-0.7.5_p1503-r2. -# Removal on 2026-03-10. Bug #969322. -dev-java/fec - # Thomas Beierlein (2026-02-14) # Move ebuild versioning to classical x.y.z number scheme # Should be kept until net-wireless/sdrplay-3.15.2 (dep for coming @@ -191,6 +319,7 @@ net-misc/lanmap # Removal on 2026-03-12. Bug #963013. net-libs/libpcapnav +# David Seifert (2026-02-10) # Noone packages this anymore, dead upstream, lots of C23 and QA issues. # Removal on 2026-03-12. Bug #945187. net-analyzer/trafshow @@ -200,6 +329,7 @@ net-analyzer/trafshow # issues. Removal on 2026-03-12. Bug #945190. net-analyzer/tcptrace +# David Seifert (2026-02-10) # Removed by most distros, last release over 20 years ago, C23 issues. # Removal on 2026-03-12. Bug #945193. net-analyzer/labrea @@ -241,19 +371,6 @@ net-analyzer/echoping <=dev-libs/hyprgraphics-0.1.5 <=gui-wm/hyprland-0.51.1 -# Andreas Sturmlechner (2026-02-09) -# Broken for ages with dev-libs/boost-1.85 but no one except tinderbox -# complained, still needs porting to Python 3.13, no revdeps. Upstream -# available 2025.1 claims to fix at least boost, but needs a maintainer. -# Bugs #936978, #952658. Removal on 2026-03-11. -sci-chemistry/votca - -# Andreas Sturmlechner (2026-02-09) -# Broken for >1 year with dev-libs/boost-1.87 but no one except tinderbox -# complained, no revdeps. Upstream disappeared, almost no one else is -# packaging this. Bug #946533. Removal on 2026-03-11. -net-analyzer/sinfo - # MichaÅ‚ Górny (2026-02-09) # setuptools-82 removes pkg_sources, inevitably leading to breakage. >=dev-python/ensurepip-setuptools-82 @@ -370,10 +487,6 @@ net-analyzer/arp-sk # Bug #969685 =gui-apps/slurp-1.6.0 -# Sam James (2026-01-22) -# eclean-dist -d needs fixing -=app-portage/gentoolkit-0.7 - # Eray Aslan (2025-12-24) # Mask experimental software =mail-mta/postfix-3.12* @@ -510,10 +623,6 @@ dev-db/mysql:8.4 # https://github.com/lkrg-org/lkrg/issues/364 =app-antivirus/lkrg-0.9.9 -# Eray Aslan (2025-02-24) -# Mask experimental software -=mail-mta/postfix-3.11* - # Sam James (2025-02-22) # (Only) needed for no-yet-released LibreOffice. Mask for now to avoid # unnecessary conflicts/backtracking for LO users. diff --git a/sdk_container/src/third_party/portage-stable/profiles/profiles.desc b/sdk_container/src/third_party/portage-stable/profiles/profiles.desc index bfd8e40c3dd..af784dbba36 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/profiles.desc +++ b/sdk_container/src/third_party/portage-stable/profiles/profiles.desc @@ -70,6 +70,9 @@ amd64 default/linux/amd64/23.0/x32 dev amd64 default/linux/amd64/23.0/x32/systemd exp amd64 default/linux/amd64/23.0/split-usr/x32 exp +# AMD64 Profiles for GNU Hurd +# MAINTAINER: sam@gentoo.org +amd64 default/hurd/amd64/23.0 exp # ARM Profiles # @MAINTAINER: arm@gentoo.org @@ -450,22 +453,32 @@ x86 default/linux/x86/23.0/i486/time64/split-usr dev x86 default/linux/x86/23.0/i486/time64/split-usr/hardened dev x86 default/linux/x86/23.0/i486/time64/split-usr/hardened/selinux dev +# X86 Profiles for GNU Hurd +# MAINTAINER: sam@gentoo.org +x86 default/hurd/x86/23.0/i686 exp # musl profiles # @MAINTAINER: musl@gentoo.org amd64 default/linux/amd64/23.0/musl dev +amd64 default/linux/amd64/23.0/musl/systemd dev amd64 default/linux/amd64/23.0/musl/llvm exp +amd64 default/linux/amd64/23.0/musl/llvm/systemd exp amd64 default/linux/amd64/23.0/musl/hardened exp +amd64 default/linux/amd64/23.0/musl/hardened/systemd exp amd64 default/linux/amd64/23.0/musl/hardened/selinux exp amd64 default/linux/amd64/23.0/split-usr/musl dev amd64 default/linux/amd64/23.0/split-usr/musl/llvm exp amd64 default/linux/amd64/23.0/split-usr/musl/hardened exp amd64 default/linux/amd64/23.0/split-usr/musl/hardened/selinux exp arm default/linux/arm/23.0/armv6j_hf/musl dev +arm default/linux/arm/23.0/armv6j_hf/musl/systemd exp arm default/linux/arm/23.0/armv6j_hf/musl/hardened exp +arm default/linux/arm/23.0/armv6j_hf/musl/hardened/systemd exp arm default/linux/arm/23.0/armv6j_hf/musl/hardened/selinux exp arm default/linux/arm/23.0/armv7a_hf/musl dev +arm default/linux/arm/23.0/armv7a_hf/musl/systemd dev arm default/linux/arm/23.0/armv7a_hf/musl/hardened exp +arm default/linux/arm/23.0/armv7a_hf/musl/hardened/systemd exp arm default/linux/arm/23.0/armv7a_hf/musl/hardened/selinux exp arm default/linux/arm/23.0/split-usr/armv6j_hf/musl dev arm default/linux/arm/23.0/split-usr/armv6j_hf/musl/hardened exp @@ -482,10 +495,13 @@ arm64 default/linux/arm64/23.0/split-usr/musl/llvm exp arm64 default/linux/arm64/23.0/split-usr/musl/hardened exp arm64 default/linux/arm64/23.0/split-usr/musl/hardened/selinux exp m68k default/linux/m68k/23.0/musl exp +m68k default/linux/m68k/23.0/musl/systemd exp m68k default/linux/m68k/23.0/split-usr/musl exp mips default/linux/mips/23.0/mipsel/o32/musl dev +mips default/linux/mips/23.0/mipsel/o32/musl/systemd exp mips default/linux/mips/23.0/mipsel/n64/musl exp mips default/linux/mips/23.0/o32/musl dev +mips default/linux/mips/23.0/o32/musl/systemd exp mips default/linux/mips/23.0/n64/musl exp mips default/linux/mips/23.0/split-usr/mipsel/o32/musl exp mips default/linux/mips/23.0/split-usr/mipsel/n64/musl exp 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 0dff4380a9e..85a176f4176 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 @@ -1,6 +1,10 @@ # Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 +# Sam James (2026-03-09) +# kdenetwork-meta[zeroconf] -> kio-zeroconf -> kdnssd +net-dns/avahi mdnsresponder-compat + # Marek Szuba (2023-11-12) # FUSE cannot be built with multiple audio drivers, and desktop/gnome # profiles set both USE=pulseaudio (directly) and USE=alsa (inherited diff --git a/sdk_container/src/third_party/portage-stable/profiles/targets/systemd/package.use b/sdk_container/src/third_party/portage-stable/profiles/targets/systemd/package.use index be658f6e6a5..d36ea1b8a13 100644 --- a/sdk_container/src/third_party/portage-stable/profiles/targets/systemd/package.use +++ b/sdk_container/src/third_party/portage-stable/profiles/targets/systemd/package.use @@ -1,6 +1,11 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 +# Mike Gilbert (2026-03-16) +# Enable sysvinit symlinks by default. +sys-apps/systemd sysv-utils +sys-apps/openrc -sysv-utils + # Mike Gilbert (2018-03-12) # Satisfy REQUIRED_USE by default, bug 650030. net-nds/rpcbind warmstarts diff --git a/sdk_container/src/third_party/portage-stable/profiles/updates/1Q-2026 b/sdk_container/src/third_party/portage-stable/profiles/updates/1Q-2026 new file mode 100644 index 00000000000..53ac18f1121 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/profiles/updates/1Q-2026 @@ -0,0 +1,2 @@ +move llvm-runtimes/openmp-amdgcn llvm-runtimes/openmp-amdgcn-amd-amdhsa +move llvm-runtimes/openmp-nvptx64 llvm-runtimes/openmp-nvptx64-nvidia-cuda diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/coreutils/Manifest b/sdk_container/src/third_party/portage-stable/sys-apps/coreutils/Manifest index d65ec1a083f..8c0cdc6a6b6 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/coreutils/Manifest +++ b/sdk_container/src/third_party/portage-stable/sys-apps/coreutils/Manifest @@ -1,9 +1,5 @@ DIST coreutils-9.10.tar.xz 6507600 BLAKE2B 7f9f93afc996dea7b6ab412703b1706f40616ae4fee1eea9e5cad0f1e8e95b03df9570084a2703fa4b5bb1cb2eaf8bbe55368c0c7ff58af985b30d09227f9309 SHA512 976ccfb8b906273a687ec330938a25ab72fb130988ca2fcad4fb6e12f4b621eb76b6e9ee091ad060361e95a8da26835b2484fffd3b5f9c7cdb100c1eb7b7d676 DIST coreutils-9.10.tar.xz.sig 833 BLAKE2B 37d4a26a7b211feb773f1abb939a4ab742a6da6cecdbd723eca6f29362f90183fd02175e26c8409232166a395c8bd4bcb12a2709b062ac5ab82f36c6e219189b SHA512 83ec7f4a313ed425bf362bf3512042f9562df20daa03465090025a54e85f98c301b7be770340b08193bdf78b413a3bd87b218b71234443e756472205ce840c67 DIST coreutils-9.6-patches.tar.xz 5904 BLAKE2B 1abe214914007804362b9d7c1a7c39f07d74c51857e84484179f11bb8fa512356ee97c811ef62469aaa52db5cc90f2f7587c2dc57ed130ebbfdacc59755dcb90 SHA512 5a609b21da7c78e41184e5d7bca87da4f868975635b6e8aa4bd8f4d18c98a2fabd5b7e8ad6bf7780ca77f6d532bfa5cb1ed618e4bc32617ba2977d4b8a885b9f -DIST coreutils-9.7.tar.xz 6158960 BLAKE2B e5e5f7ec26c3952eb6a25988f78d3a1f8a70cf97a2fbc7b433dfcd1721cd38e6e0a8b9cb83f854a22df325bcb5ea8c4534c5a217273762cd5d575b381db69ee8 SHA512 fe81e6ba4fb492095153d5baac1eca8f07ece0957849de746a2a858cf007893cc2ded595a31a5e5d43d13216cc44b9d74a3245d9f23221ecc8cd00f428f27414 -DIST coreutils-9.7.tar.xz.sig 833 BLAKE2B 18dee5a1b5dc1811b277748fe6ee079dc6320bc6d67e01f108415c6afe21ad0367ece46f8c6dfb0976b1e5f62ae15c2d61fba916ea232c71a1b2f66c81b983bf SHA512 48d86a19cee3c153f01f7478847f4621685c02e59942540bb20b30e314df05230817b87d0e73acd953e79fab35718e5bea57f25fe511a2c275a85ced4b317bae -DIST coreutils-9.8.tar.xz 6234824 BLAKE2B a93e26c8dda875b11541808d82ff8d6537f521b9c44e2a9959ee8f452823a4df5aed2793ac32766e2d3f832606d7190f7f53ea5870419f585aa66429a9626d98 SHA512 7b6c420907f0e33e4aff3dd92270f8cbd3e94b2ae8cf7caa2d5d1cfd5e9958319904a6547127abd55ee63aae0316f5b1228586b2da34ea402da032e925a25e53 -DIST coreutils-9.8.tar.xz.sig 833 BLAKE2B 8d195ebeaf7b383d05b8ae977a4566b0b5c48df21470062f4e4d6763a383c28d9315b56d2ff86b6ce6c8678d71009629f66642411deb22db3e74fa18bd081433 SHA512 0fa9ab4404cd2157584797de22a1f28ec4e0353dae05a7476198dc77e23bf59aaeb1aabf9f7dc22f5d80df311e6ef1490add75ae1663b4091e58cc29db4dcfa3 DIST coreutils-9.9.tar.xz 6295160 BLAKE2B ddae0c1ff882739712e901d6eb1373e4172de9335b95b4c1004773aadc6b7e3cb3bf5aa583f13034062a75dc9194bf8534b0f7f1258c8ff64595b1301964e124 SHA512 e7b0e59f7732d2c098ea4934014f470248bd5c4764210e9200a698010a8e3b95bbb26e543f0cd73ed5a4b8e1f8cda932c73f39954d68175e4deaa47526610c65 DIST coreutils-9.9.tar.xz.sig 833 BLAKE2B 83f7c87520234169aa9e49428ca97d19e3356e19fe0b508b42a546667effcff2c19829516510ac45a1cd2b6db1a14abf1cfbef1e53f6845afd61fd82651d361f SHA512 0a3dfdfa6b4234e2e1d42142269f959bdf3cf8f6605a50270a27eff84dd22588f182121f7dd3eeb04be45f5109d02690215065b3d3b43882874d0e165a1435d0 diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/coreutils/coreutils-9.7.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/coreutils/coreutils-9.7.ebuild deleted file mode 100644 index 907e629cd4d..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-apps/coreutils/coreutils-9.7.ebuild +++ /dev/null @@ -1,302 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -# Try to keep an eye on Fedora's packaging: https://src.fedoraproject.org/rpms/coreutils -# The upstream coreutils maintainers also maintain the package in Fedora and may -# backport fixes which we want to pick up. -# -# Also recommend subscribing to the coreutils and bug-coreutils MLs. - -PYTHON_COMPAT=( python3_{11..13} ) -VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/coreutils.asc -inherit flag-o-matic python-any-r1 toolchain-funcs verify-sig - -MY_PATCH="${PN}-9.6-patches" -DESCRIPTION="Standard GNU utilities (chmod, cp, dd, ls, sort, tr, head, wc, who,...)" -HOMEPAGE="https://www.gnu.org/software/coreutils/" - -if [[ ${PV} == 9999 ]] ; then - EGIT_REPO_URI="https://git.savannah.gnu.org/git/coreutils.git" - inherit git-r3 -elif [[ ${PV} == *_p* ]] ; then - # Note: could put this in devspace, but if it's gone, we don't want - # it in tree anyway. It's just for testing. - MY_SNAPSHOT="$(ver_cut 1-2).53-14af8" - SRC_URI="https://www.pixelbeat.org/cu/coreutils-${MY_SNAPSHOT}.tar.xz -> ${P}.tar.xz" - SRC_URI+=" verify-sig? ( https://www.pixelbeat.org/cu/coreutils-${MY_SNAPSHOT}.tar.xz.sig -> ${P}.tar.xz.sig )" - S="${WORKDIR}"/${PN}-${MY_SNAPSHOT} -else - SRC_URI=" - mirror://gnu/${PN}/${P}.tar.xz - verify-sig? ( mirror://gnu/${PN}/${P}.tar.xz.sig ) - " - - KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" -fi - -SRC_URI+=" !vanilla? ( https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${MY_PATCH}.tar.xz )" - -LICENSE="GPL-3+" -SLOT="0" -IUSE="acl caps gmp hostname kill multicall nls +openssl selinux +split-usr static test vanilla xattr" -RESTRICT="!test? ( test )" - -LIB_DEPEND=" - acl? ( sys-apps/acl[static-libs] ) - caps? ( sys-libs/libcap ) - gmp? ( dev-libs/gmp:=[static-libs] ) - openssl? ( dev-libs/openssl:=[static-libs] ) - xattr? ( sys-apps/attr[static-libs] ) -" -RDEPEND=" - !static? ( ${LIB_DEPEND//\[static-libs]} ) - selinux? ( sys-libs/libselinux ) - nls? ( virtual/libintl ) -" -DEPEND=" - ${RDEPEND} - static? ( ${LIB_DEPEND} ) -" -BDEPEND=" - app-arch/xz-utils - dev-lang/perl - test? ( - dev-debug/strace - dev-lang/perl - dev-perl/Expect - ${PYTHON_DEPS} - ) - verify-sig? ( sec-keys/openpgp-keys-coreutils ) -" -RDEPEND+=" - hostname? ( !sys-apps/net-tools[hostname] ) - kill? ( - !sys-apps/util-linux[kill] - !sys-process/procps[kill] - ) - !9.4?), we may want to wire up USE=systemd: - # still experimental at the moment, but: - # https://git.savannah.gnu.org/cgit/coreutils.git/commit/?id=85edb4afbd119fb69a0d53e1beb71f46c9525dd0 - local myconf=( - --with-packager="Gentoo" - --with-packager-version="${PVR} (p${PATCH_VER:-0})" - --with-packager-bug-reports="https://bugs.gentoo.org/" - # kill/uptime - procps - # groups/su - shadow - # hostname - net-tools - --enable-install-program="arch,$(usev hostname),$(usev kill)" - --enable-no-install-program="groups,$(usev !hostname),$(usev !kill),su,uptime" - $(usev !caps --disable-libcap) - $(use_enable nls) - $(use_enable acl) - $(use_enable multicall single-binary) - $(use_enable xattr) - $(use_with gmp libgmp) - $(use_with openssl) - ) - - if use gmp ; then - myconf+=( --with-libgmp-prefix="${ESYSROOT}"/usr ) - fi - - if tc-is-cross-compiler && [[ ${CHOST} == *linux* ]] ; then - # bug #311569 - export fu_cv_sys_stat_statfs2_bsize=yes - # bug #416629 - export gl_cv_func_realpath_works=yes - fi - - # bug #409919 - export gl_cv_func_mknod_works=yes - - if use static ; then - append-ldflags -static - # bug #321821 - sed -i '/elf_sys=yes/s:yes:no:' configure || die - fi - - if ! use selinux ; then - # bug #301782 - export ac_cv_{header_selinux_{context,flash,selinux}_h,search_setfilecon}=no - fi - - econf "${myconf[@]}" -} - -src_test() { - # Non-root tests will fail if the full path isn't - # accessible to non-root users - chmod -R go-w "${WORKDIR}" || die - chmod a+rx "${WORKDIR}" || die - - # coreutils tests like to do `mount` and such with temp dirs, - # so make sure: - # - /etc/mtab is writable (bug #265725) - # - /dev/loop* can be mounted (bug #269758) - mkdir -p "${T}"/mount-wrappers || die - mkwrap() { - local w ww - for w in "${@}" ; do - ww="${T}/mount-wrappers/${w}" - cat <<-EOF > "${ww}" - #!${EPREFIX}/bin/sh - exec env SANDBOX_WRITE="\${SANDBOX_WRITE}:/etc/mtab:/dev/loop" $(type -P ${w}) "\$@" - EOF - chmod a+rx "${ww}" || die - done - } - mkwrap mount umount - - addwrite /dev/full - - #local -x RUN_EXPENSIVE_TESTS="yes" - #local -x COREUTILS_GROUPS="portage wheel" - local -x PATH="${T}/mount-wrappers:${PATH}" - local -x gl_public_submodule_commit= - - local xfail_tests=() - - if [[ -n ${SANDBOX_ACTIVE} ]]; then - xfail_tests+=( - # bug #629660 - # Commented out again in 9.6 as it XPASSes on linux-6.12.10 - # with sandbox-2.43 on tmpfs. Let's see if it lasts.. - #tests/dd/no-allocate.sh - - # bug #675802 - tests/env/env-S - tests/env/env-S.pl - - # We have a patch which fixes this (bug #259876) - #tests/touch/not-owner - #tests/touch/not-owner.sh - ) - fi - - # This test is flaky (bug #910640). - cat > tests/tty/tty-eof.pl <<-EOF || die - #!/usr/bin/perl - exit 77; - EOF - - # We set DISABLE_HARD_ERRORS because some of the tests hard error-out - # because of sandbox. They're skipped above but DISABLE_HARD_ERRORS is needed - # to downgrade them to FAIL. - emake -k check \ - VERBOSE=yes \ - DISABLE_HARD_ERRORS=yes \ - XFAIL_TESTS="${xfail_tests[*]}" -} - -src_install() { - default - - insinto /etc - newins src/dircolors.hin DIR_COLORS - - if use split-usr ; then - cd "${ED}"/usr/bin || die - dodir /bin - - # Move critical binaries into /bin (required by FHS) - local fhs="cat chgrp chmod chown cp date dd df echo false ln ls - mkdir mknod mv pwd rm rmdir stty sync true uname" - mv ${fhs} ../../bin/ || die "Could not move FHS bins!" - - if use hostname ; then - mv hostname ../../bin/ || die - fi - - if use kill ; then - mv kill ../../bin/ || die - fi - - # Move critical binaries into /bin (common scripts) - # (Why are these required for booting?) - local com="basename chroot cut dir dirname du env expr head mkfifo - mktemp readlink seq sleep sort tail touch tr tty vdir wc yes" - mv ${com} ../../bin/ || die "Could not move common bins!" - - # Create a symlink for uname in /usr/bin/ since autotools require it. - # (Other than uname, we need to figure out why we are - # creating symlinks for these in /usr/bin instead of leaving - # the files there in the first place...) - local x - for x in ${com} uname ; do - dosym ../../bin/${x} /usr/bin/${x} - done - fi -} - -pkg_postinst() { - ewarn "Make sure you run 'hash -r' in your active shells." - ewarn "You should also re-source your shell settings for LS_COLORS" - ewarn " changes, such as: source /etc/profile" -} diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/coreutils/coreutils-9.8-r1.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/coreutils/coreutils-9.8-r1.ebuild deleted file mode 100644 index 7b50ba8a47f..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-apps/coreutils/coreutils-9.8-r1.ebuild +++ /dev/null @@ -1,313 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -# Try to keep an eye on Fedora's packaging: https://src.fedoraproject.org/rpms/coreutils -# The upstream coreutils maintainers also maintain the package in Fedora and may -# backport fixes which we want to pick up. -# -# Also recommend subscribing to the coreutils and bug-coreutils MLs. - -PYTHON_COMPAT=( python3_{11..13} ) -VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/coreutils.asc -inherit flag-o-matic python-any-r1 toolchain-funcs verify-sig - -MY_PATCH="${PN}-9.6-patches" -DESCRIPTION="Standard GNU utilities (chmod, cp, dd, ls, sort, tr, head, wc, who,...)" -HOMEPAGE="https://www.gnu.org/software/coreutils/" - -if [[ ${PV} == 9999 ]] ; then - EGIT_REPO_URI="https://git.savannah.gnu.org/git/coreutils.git" - inherit git-r3 -elif [[ ${PV} == *_p* ]] ; then - # Note: could put this in devspace, but if it's gone, we don't want - # it in tree anyway. It's just for testing. - MY_SNAPSHOT="$(ver_cut 1-2).327-71a8c" - SRC_URI="https://www.pixelbeat.org/cu/coreutils-${MY_SNAPSHOT}.tar.xz -> ${P}.tar.xz" - SRC_URI+=" verify-sig? ( https://www.pixelbeat.org/cu/coreutils-${MY_SNAPSHOT}.tar.xz.sig -> ${P}.tar.xz.sig )" - S="${WORKDIR}"/${PN}-${MY_SNAPSHOT} -else - SRC_URI=" - mirror://gnu/${PN}/${P}.tar.xz - verify-sig? ( mirror://gnu/${PN}/${P}.tar.xz.sig ) - " - - KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" -fi - -SRC_URI+=" !vanilla? ( https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${MY_PATCH}.tar.xz )" - -LICENSE="GPL-3+" -SLOT="0" -IUSE="acl caps gmp hostname kill multicall nls +openssl selinux +split-usr static test test-full vanilla xattr" -RESTRICT="!test? ( test )" - -LIB_DEPEND=" - acl? ( sys-apps/acl[static-libs] ) - caps? ( sys-libs/libcap ) - gmp? ( dev-libs/gmp:=[static-libs] ) - openssl? ( dev-libs/openssl:=[static-libs] ) - xattr? ( sys-apps/attr[static-libs] ) -" -RDEPEND=" - !static? ( ${LIB_DEPEND//\[static-libs]} ) - selinux? ( sys-libs/libselinux ) - nls? ( virtual/libintl ) -" -DEPEND=" - ${RDEPEND} - static? ( ${LIB_DEPEND} ) -" -BDEPEND=" - app-arch/xz-utils - dev-lang/perl - test? ( - dev-debug/strace - dev-lang/perl - dev-perl/Expect - ${PYTHON_DEPS} - ) - verify-sig? ( sec-keys/openpgp-keys-coreutils ) -" -RDEPEND+=" - hostname? ( !sys-apps/net-tools[hostname] ) - kill? ( - !sys-apps/util-linux[kill] - !sys-process/procps[kill] - ) - !> init.cfg || die - require_valgrind_() - { - skip_ "requires a working valgrind" - } - EOF - - # TODO: in future (>9.4?), we may want to wire up USE=systemd: - # still experimental at the moment, but: - # https://git.savannah.gnu.org/cgit/coreutils.git/commit/?id=85edb4afbd119fb69a0d53e1beb71f46c9525dd0 - local myconf=( - --with-packager="Gentoo" - --with-packager-version="${PVR} (p${PATCH_VER:-0})" - --with-packager-bug-reports="https://bugs.gentoo.org/" - # kill/uptime - procps - # groups/su - shadow - # hostname - net-tools - --enable-install-program="arch,$(usev hostname),$(usev kill)" - --enable-no-install-program="groups,$(usev !hostname),$(usev !kill),su,uptime" - $(usev !caps --disable-libcap) - $(use_enable nls) - $(use_enable acl) - $(use_enable multicall single-binary) - $(use_enable xattr) - $(use_with gmp libgmp) - $(use_with openssl) - ) - - if use gmp ; then - myconf+=( --with-libgmp-prefix="${ESYSROOT}"/usr ) - fi - - if tc-is-cross-compiler && [[ ${CHOST} == *linux* ]] ; then - # bug #311569 - export fu_cv_sys_stat_statfs2_bsize=yes - # bug #416629 - export gl_cv_func_realpath_works=yes - fi - - # bug #409919 - export gl_cv_func_mknod_works=yes - - if use static ; then - append-ldflags -static - # bug #321821 - sed -i '/elf_sys=yes/s:yes:no:' configure || die - fi - - if ! use selinux ; then - # bug #301782 - export ac_cv_{header_selinux_{context,flash,selinux}_h,search_setfilecon}=no - fi - - econf "${myconf[@]}" -} - -src_test() { - # Non-root tests will fail if the full path isn't - # accessible to non-root users - chmod -R go-w "${WORKDIR}" || die - chmod a+rx "${WORKDIR}" || die - - # coreutils tests like to do `mount` and such with temp dirs, - # so make sure: - # - /etc/mtab is writable (bug #265725) - # - /dev/loop* can be mounted (bug #269758) - mkdir -p "${T}"/mount-wrappers || die - mkwrap() { - local w ww - for w in "${@}" ; do - ww="${T}/mount-wrappers/${w}" - cat <<-EOF > "${ww}" - #!${EPREFIX}/bin/sh - exec env SANDBOX_WRITE="\${SANDBOX_WRITE}:/etc/mtab:/dev/loop" $(type -P ${w}) "\$@" - EOF - chmod a+rx "${ww}" || die - done - } - mkwrap mount umount - - addwrite /dev/full - - local -x RUN_{VERY_,}EXPENSIVE_TESTS=$(usex test-full yes no) - #local -x COREUTILS_GROUPS="portage wheel" - local -x PATH="${T}/mount-wrappers:${PATH}" - local -x gl_public_submodule_commit= - - local xfail_tests=() - - if [[ -n ${SANDBOX_ACTIVE} ]]; then - xfail_tests+=( - # bug #629660 - # Commented out again in 9.6 as it XPASSes on linux-6.12.10 - # with sandbox-2.43 on tmpfs. Let's see if it lasts.. - #tests/dd/no-allocate.sh - - # bug #675802 - tests/env/env-S - tests/env/env-S.pl - - # We have a patch which fixes this (bug #259876) - #tests/touch/not-owner - #tests/touch/not-owner.sh - ) - fi - - # This test is flaky (bug #910640). - cat > tests/tty/tty-eof.pl <<-EOF || die - #!/usr/bin/perl - exit 77; - EOF - - # We set DISABLE_HARD_ERRORS because some of the tests hard error-out - # because of sandbox. They're skipped above but DISABLE_HARD_ERRORS is needed - # to downgrade them to FAIL. - emake -k check \ - VERBOSE=yes \ - DISABLE_HARD_ERRORS=yes \ - XFAIL_TESTS="${xfail_tests[*]}" -} - -src_install() { - default - - insinto /etc - newins src/dircolors.hin DIR_COLORS - - if use split-usr ; then - cd "${ED}"/usr/bin || die - dodir /bin - - # Move critical binaries into /bin (required by FHS) - local fhs="cat chgrp chmod chown cp date dd df echo false ln ls - mkdir mknod mv pwd rm rmdir stty sync true uname" - mv ${fhs} ../../bin/ || die "Could not move FHS bins!" - - if use hostname ; then - mv hostname ../../bin/ || die - fi - - if use kill ; then - mv kill ../../bin/ || die - fi - - # Move critical binaries into /bin (common scripts) - # (Why are these required for booting?) - local com="basename chroot cut dir dirname du env expr head mkfifo - mktemp readlink seq sleep sort tail touch tr tty vdir wc yes" - mv ${com} ../../bin/ || die "Could not move common bins!" - - # Create a symlink for uname in /usr/bin/ since autotools require it. - # (Other than uname, we need to figure out why we are - # creating symlinks for these in /usr/bin instead of leaving - # the files there in the first place...) - local x - for x in ${com} uname ; do - dosym ../../bin/${x} /usr/bin/${x} - done - fi -} - -pkg_postinst() { - ewarn "Make sure you run 'hash -r' in your active shells." - ewarn "You should also re-source your shell settings for LS_COLORS" - ewarn " changes, such as: source /etc/profile" -} diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/coreutils/coreutils-9.9-r11.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/coreutils/coreutils-9.9-r11.ebuild deleted file mode 100644 index 010153b2aec..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-apps/coreutils/coreutils-9.9-r11.ebuild +++ /dev/null @@ -1,312 +0,0 @@ -# Copyright 1999-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -# Try to keep an eye on Fedora's packaging: https://src.fedoraproject.org/rpms/coreutils -# The upstream coreutils maintainers also maintain the package in Fedora and may -# backport fixes which we want to pick up. -# -# Also recommend subscribing to the coreutils and bug-coreutils MLs. - -PYTHON_COMPAT=( python3_{11..13} ) -VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/coreutils.asc -inherit flag-o-matic python-any-r1 toolchain-funcs verify-sig - -MY_PATCH="${PN}-9.6-patches" -DESCRIPTION="Standard GNU utilities (chmod, cp, dd, ls, sort, tr, head, wc, who,...)" -HOMEPAGE="https://www.gnu.org/software/coreutils/" - -if [[ ${PV} == 9999 ]] ; then - EGIT_REPO_URI="https://git.savannah.gnu.org/git/coreutils.git" - inherit git-r3 -elif [[ ${PV} == *_p* ]] ; then - # Note: could put this in devspace, but if it's gone, we don't want - # it in tree anyway. It's just for testing. - MY_SNAPSHOT="$(ver_cut 1-2).327-71a8c" - SRC_URI="https://www.pixelbeat.org/cu/coreutils-${MY_SNAPSHOT}.tar.xz -> ${P}.tar.xz" - SRC_URI+=" verify-sig? ( https://www.pixelbeat.org/cu/coreutils-${MY_SNAPSHOT}.tar.xz.sig -> ${P}.tar.xz.sig )" - S="${WORKDIR}"/${PN}-${MY_SNAPSHOT} -else - SRC_URI=" - mirror://gnu/${PN}/${P}.tar.xz - verify-sig? ( mirror://gnu/${PN}/${P}.tar.xz.sig ) - " - - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" -fi - -SRC_URI+=" !vanilla? ( https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${MY_PATCH}.tar.xz )" - -LICENSE="GPL-3+" -SLOT="0" -IUSE="acl caps gmp hostname kill multicall nls +openssl selinux +split-usr static test test-full vanilla xattr" -RESTRICT="!test? ( test )" - -LIB_DEPEND=" - acl? ( sys-apps/acl[static-libs] ) - caps? ( sys-libs/libcap ) - gmp? ( dev-libs/gmp:=[static-libs] ) - openssl? ( dev-libs/openssl:=[static-libs] ) - xattr? ( sys-apps/attr[static-libs] ) -" -RDEPEND=" - !static? ( ${LIB_DEPEND//\[static-libs]} ) - selinux? ( sys-libs/libselinux ) - nls? ( virtual/libintl ) -" -DEPEND=" - ${RDEPEND} - static? ( ${LIB_DEPEND} ) -" -BDEPEND=" - app-arch/xz-utils - dev-lang/perl - test? ( - dev-debug/strace - dev-lang/perl - dev-perl/Expect - ${PYTHON_DEPS} - ) - verify-sig? ( sec-keys/openpgp-keys-coreutils ) -" -RDEPEND+=" - hostname? ( !sys-apps/net-tools[hostname] ) - kill? ( - !sys-apps/util-linux[kill] - !sys-process/procps[kill] - ) - !> init.cfg || die - require_valgrind_() - { - skip_ "requires a working valgrind" - } - EOF - - # TODO: in future (>9.4?), we may want to wire up USE=systemd: - # still experimental at the moment, but: - # https://git.savannah.gnu.org/cgit/coreutils.git/commit/?id=85edb4afbd119fb69a0d53e1beb71f46c9525dd0 - local myconf=( - --with-packager="Gentoo" - --with-packager-version="${PVR} (p${PATCH_VER:-0})" - --with-packager-bug-reports="https://bugs.gentoo.org/" - # kill/uptime - procps - # hostname - net-tools - --enable-install-program="arch,$(usev hostname),$(usev kill)" - --enable-no-install-program="$(usev !hostname),$(usev !kill),su,uptime" - $(usev !caps --disable-libcap) - $(use_enable nls) - $(use_enable acl) - $(use_enable multicall single-binary) - $(use_enable xattr) - $(use_with gmp libgmp) - $(use_with openssl) - ) - - if use gmp ; then - myconf+=( --with-libgmp-prefix="${ESYSROOT}"/usr ) - fi - - if tc-is-cross-compiler && [[ ${CHOST} == *linux* ]] ; then - # bug #311569 - export fu_cv_sys_stat_statfs2_bsize=yes - # bug #416629 - export gl_cv_func_realpath_works=yes - fi - - # bug #409919 - export gl_cv_func_mknod_works=yes - - if use static ; then - append-ldflags -static - # bug #321821 - sed -i '/elf_sys=yes/s:yes:no:' configure || die - fi - - if ! use selinux ; then - # bug #301782 - export ac_cv_{header_selinux_{context,flash,selinux}_h,search_setfilecon}=no - fi - - econf "${myconf[@]}" -} - -src_test() { - # Non-root tests will fail if the full path isn't - # accessible to non-root users - chmod -R go-w "${WORKDIR}" || die - chmod a+rx "${WORKDIR}" || die - - # coreutils tests like to do `mount` and such with temp dirs, - # so make sure: - # - /etc/mtab is writable (bug #265725) - # - /dev/loop* can be mounted (bug #269758) - mkdir -p "${T}"/mount-wrappers || die - mkwrap() { - local w ww - for w in "${@}" ; do - ww="${T}/mount-wrappers/${w}" - cat <<-EOF > "${ww}" - #!${EPREFIX}/bin/sh - exec env SANDBOX_WRITE="\${SANDBOX_WRITE}:/etc/mtab:/dev/loop" $(type -P ${w}) "\$@" - EOF - chmod a+rx "${ww}" || die - done - } - mkwrap mount umount - - addwrite /dev/full - - local -x RUN_{VERY_,}EXPENSIVE_TESTS=$(usex test-full yes no) - #local -x COREUTILS_GROUPS="portage wheel" - local -x PATH="${T}/mount-wrappers:${PATH}" - local -x gl_public_submodule_commit= - - local xfail_tests=() - - if [[ -n ${SANDBOX_ACTIVE} ]]; then - xfail_tests+=( - # bug #629660 - # Commented out again in 9.6 as it XPASSes on linux-6.12.10 - # with sandbox-2.43 on tmpfs. Let's see if it lasts.. - #tests/dd/no-allocate.sh - - # bug #675802 - tests/env/env-S - tests/env/env-S.pl - - # We have a patch which fixes this (bug #259876) - #tests/touch/not-owner - #tests/touch/not-owner.sh - ) - fi - - # This test is flaky (bug #910640). - cat > tests/tty/tty-eof.pl <<-EOF || die - #!/usr/bin/perl - exit 77; - EOF - - # We set DISABLE_HARD_ERRORS because some of the tests hard error-out - # because of sandbox. They're skipped above but DISABLE_HARD_ERRORS is needed - # to downgrade them to FAIL. - emake -k check \ - VERBOSE=yes \ - DISABLE_HARD_ERRORS=yes \ - XFAIL_TESTS="${xfail_tests[*]}" -} - -src_install() { - default - - insinto /etc - newins src/dircolors.hin DIR_COLORS - - if use split-usr ; then - cd "${ED}"/usr/bin || die - dodir /bin - - # Move critical binaries into /bin (required by FHS) - local fhs="cat chgrp chmod chown cp date dd df echo false ln ls - mkdir mknod mv pwd rm rmdir stty sync true uname" - mv ${fhs} ../../bin/ || die "Could not move FHS bins!" - - if use hostname ; then - mv hostname ../../bin/ || die - fi - - if use kill ; then - mv kill ../../bin/ || die - fi - - # Move critical binaries into /bin (common scripts) - # (Why are these required for booting?) - local com="basename chroot cut dir dirname du env expr head mkfifo - mktemp readlink seq sleep sort tail touch tr tty vdir wc yes" - mv ${com} ../../bin/ || die "Could not move common bins!" - - # Create a symlink for uname in /usr/bin/ since autotools require it. - # (Other than uname, we need to figure out why we are - # creating symlinks for these in /usr/bin instead of leaving - # the files there in the first place...) - local x - for x in ${com} uname ; do - dosym ../../bin/${x} /usr/bin/${x} - done - fi -} - -pkg_postinst() { - ewarn "Make sure you run 'hash -r' in your active shells." - ewarn "You should also re-source your shell settings for LS_COLORS" - ewarn " changes, such as: source /etc/profile" -} diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/coreutils/coreutils-9.9-r12.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/coreutils/coreutils-9.9-r12.ebuild index f6694e13a4b..ab7d2c04d67 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/coreutils/coreutils-9.9-r12.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-apps/coreutils/coreutils-9.9-r12.ebuild @@ -33,7 +33,7 @@ else verify-sig? ( mirror://gnu/${PN}/${P}.tar.xz.sig ) " - 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 SRC_URI+=" !vanilla? ( https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${MY_PATCH}.tar.xz )" diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/coreutils/coreutils-9.9.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/coreutils/coreutils-9.9.ebuild deleted file mode 100644 index 718831c052e..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-apps/coreutils/coreutils-9.9.ebuild +++ /dev/null @@ -1,311 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -# Try to keep an eye on Fedora's packaging: https://src.fedoraproject.org/rpms/coreutils -# The upstream coreutils maintainers also maintain the package in Fedora and may -# backport fixes which we want to pick up. -# -# Also recommend subscribing to the coreutils and bug-coreutils MLs. - -PYTHON_COMPAT=( python3_{11..13} ) -VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/coreutils.asc -inherit flag-o-matic python-any-r1 toolchain-funcs verify-sig - -MY_PATCH="${PN}-9.6-patches" -DESCRIPTION="Standard GNU utilities (chmod, cp, dd, ls, sort, tr, head, wc, who,...)" -HOMEPAGE="https://www.gnu.org/software/coreutils/" - -if [[ ${PV} == 9999 ]] ; then - EGIT_REPO_URI="https://git.savannah.gnu.org/git/coreutils.git" - inherit git-r3 -elif [[ ${PV} == *_p* ]] ; then - # Note: could put this in devspace, but if it's gone, we don't want - # it in tree anyway. It's just for testing. - MY_SNAPSHOT="$(ver_cut 1-2).327-71a8c" - SRC_URI="https://www.pixelbeat.org/cu/coreutils-${MY_SNAPSHOT}.tar.xz -> ${P}.tar.xz" - SRC_URI+=" verify-sig? ( https://www.pixelbeat.org/cu/coreutils-${MY_SNAPSHOT}.tar.xz.sig -> ${P}.tar.xz.sig )" - S="${WORKDIR}"/${PN}-${MY_SNAPSHOT} -else - SRC_URI=" - mirror://gnu/${PN}/${P}.tar.xz - verify-sig? ( mirror://gnu/${PN}/${P}.tar.xz.sig ) - " - - KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" -fi - -SRC_URI+=" !vanilla? ( https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${MY_PATCH}.tar.xz )" - -LICENSE="GPL-3+" -SLOT="0" -IUSE="acl caps gmp hostname kill multicall nls +openssl selinux +split-usr static test test-full vanilla xattr" -RESTRICT="!test? ( test )" - -LIB_DEPEND=" - acl? ( sys-apps/acl[static-libs] ) - caps? ( sys-libs/libcap ) - gmp? ( dev-libs/gmp:=[static-libs] ) - openssl? ( dev-libs/openssl:=[static-libs] ) - xattr? ( sys-apps/attr[static-libs] ) -" -RDEPEND=" - !static? ( ${LIB_DEPEND//\[static-libs]} ) - selinux? ( sys-libs/libselinux ) - nls? ( virtual/libintl ) -" -DEPEND=" - ${RDEPEND} - static? ( ${LIB_DEPEND} ) -" -BDEPEND=" - app-arch/xz-utils - dev-lang/perl - test? ( - dev-debug/strace - dev-lang/perl - dev-perl/Expect - ${PYTHON_DEPS} - ) - verify-sig? ( sec-keys/openpgp-keys-coreutils ) -" -RDEPEND+=" - hostname? ( !sys-apps/net-tools[hostname] ) - kill? ( - !sys-apps/util-linux[kill] - !sys-process/procps[kill] - ) - !> init.cfg || die - require_valgrind_() - { - skip_ "requires a working valgrind" - } - EOF - - # TODO: in future (>9.4?), we may want to wire up USE=systemd: - # still experimental at the moment, but: - # https://git.savannah.gnu.org/cgit/coreutils.git/commit/?id=85edb4afbd119fb69a0d53e1beb71f46c9525dd0 - local myconf=( - --with-packager="Gentoo" - --with-packager-version="${PVR} (p${PATCH_VER:-0})" - --with-packager-bug-reports="https://bugs.gentoo.org/" - # kill/uptime - procps - # groups/su - shadow - # hostname - net-tools - --enable-install-program="arch,$(usev hostname),$(usev kill)" - --enable-no-install-program="groups,$(usev !hostname),$(usev !kill),su,uptime" - $(usev !caps --disable-libcap) - $(use_enable nls) - $(use_enable acl) - $(use_enable multicall single-binary) - $(use_enable xattr) - $(use_with gmp libgmp) - $(use_with openssl) - ) - - if use gmp ; then - myconf+=( --with-libgmp-prefix="${ESYSROOT}"/usr ) - fi - - if tc-is-cross-compiler && [[ ${CHOST} == *linux* ]] ; then - # bug #311569 - export fu_cv_sys_stat_statfs2_bsize=yes - # bug #416629 - export gl_cv_func_realpath_works=yes - fi - - # bug #409919 - export gl_cv_func_mknod_works=yes - - if use static ; then - append-ldflags -static - # bug #321821 - sed -i '/elf_sys=yes/s:yes:no:' configure || die - fi - - if ! use selinux ; then - # bug #301782 - export ac_cv_{header_selinux_{context,flash,selinux}_h,search_setfilecon}=no - fi - - econf "${myconf[@]}" -} - -src_test() { - # Non-root tests will fail if the full path isn't - # accessible to non-root users - chmod -R go-w "${WORKDIR}" || die - chmod a+rx "${WORKDIR}" || die - - # coreutils tests like to do `mount` and such with temp dirs, - # so make sure: - # - /etc/mtab is writable (bug #265725) - # - /dev/loop* can be mounted (bug #269758) - mkdir -p "${T}"/mount-wrappers || die - mkwrap() { - local w ww - for w in "${@}" ; do - ww="${T}/mount-wrappers/${w}" - cat <<-EOF > "${ww}" - #!${EPREFIX}/bin/sh - exec env SANDBOX_WRITE="\${SANDBOX_WRITE}:/etc/mtab:/dev/loop" $(type -P ${w}) "\$@" - EOF - chmod a+rx "${ww}" || die - done - } - mkwrap mount umount - - addwrite /dev/full - - local -x RUN_{VERY_,}EXPENSIVE_TESTS=$(usex test-full yes no) - #local -x COREUTILS_GROUPS="portage wheel" - local -x PATH="${T}/mount-wrappers:${PATH}" - local -x gl_public_submodule_commit= - - local xfail_tests=() - - if [[ -n ${SANDBOX_ACTIVE} ]]; then - xfail_tests+=( - # bug #629660 - # Commented out again in 9.6 as it XPASSes on linux-6.12.10 - # with sandbox-2.43 on tmpfs. Let's see if it lasts.. - #tests/dd/no-allocate.sh - - # bug #675802 - tests/env/env-S - tests/env/env-S.pl - - # We have a patch which fixes this (bug #259876) - #tests/touch/not-owner - #tests/touch/not-owner.sh - ) - fi - - # This test is flaky (bug #910640). - cat > tests/tty/tty-eof.pl <<-EOF || die - #!/usr/bin/perl - exit 77; - EOF - - # We set DISABLE_HARD_ERRORS because some of the tests hard error-out - # because of sandbox. They're skipped above but DISABLE_HARD_ERRORS is needed - # to downgrade them to FAIL. - emake -k check \ - VERBOSE=yes \ - DISABLE_HARD_ERRORS=yes \ - XFAIL_TESTS="${xfail_tests[*]}" -} - -src_install() { - default - - insinto /etc - newins src/dircolors.hin DIR_COLORS - - if use split-usr ; then - cd "${ED}"/usr/bin || die - dodir /bin - - # Move critical binaries into /bin (required by FHS) - local fhs="cat chgrp chmod chown cp date dd df echo false ln ls - mkdir mknod mv pwd rm rmdir stty sync true uname" - mv ${fhs} ../../bin/ || die "Could not move FHS bins!" - - if use hostname ; then - mv hostname ../../bin/ || die - fi - - if use kill ; then - mv kill ../../bin/ || die - fi - - # Move critical binaries into /bin (common scripts) - # (Why are these required for booting?) - local com="basename chroot cut dir dirname du env expr head mkfifo - mktemp readlink seq sleep sort tail touch tr tty vdir wc yes" - mv ${com} ../../bin/ || die "Could not move common bins!" - - # Create a symlink for uname in /usr/bin/ since autotools require it. - # (Other than uname, we need to figure out why we are - # creating symlinks for these in /usr/bin instead of leaving - # the files there in the first place...) - local x - for x in ${com} uname ; do - dosym ../../bin/${x} /usr/bin/${x} - done - fi -} - -pkg_postinst() { - ewarn "Make sure you run 'hash -r' in your active shells." - ewarn "You should also re-source your shell settings for LS_COLORS" - ewarn " changes, such as: source /etc/profile" -} diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/coreutils/files/coreutils-9.8-basenc-base58.patch b/sdk_container/src/third_party/portage-stable/sys-apps/coreutils/files/coreutils-9.8-basenc-base58.patch deleted file mode 100644 index d8ccb11a81f..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-apps/coreutils/files/coreutils-9.8-basenc-base58.patch +++ /dev/null @@ -1,137 +0,0 @@ -https://cgit.git.savannah.gnu.org/cgit/coreutils.git/commit/?id=2ef53e5b0477f9d9361a11a471d704a96b1c99b8 -(Dropped the test to avoid autoreconf.) - -From 2ef53e5b0477f9d9361a11a471d704a96b1c99b8 Mon Sep 17 00:00:00 2001 -From: Pádraig Brady -Date: Tue, 23 Sep 2025 15:38:51 +0100 -Subject: basenc: --base58: fix buffer overflow with input > 15MB - -base58_length() operated naively on an int -which resulted in an overflow to a negative number -for any input > 2^31-1/138, i.e. 15,561,475 bytes. - -* src/basenc.c (base_length): Change input and output -parameter types from int to idx_t since this needs to -cater for the full input size in the base58 case. -(base58_length): Likewise. Also reorder the calculation -to be less exact, but doing the division first -to minimize the chance of overflow (which now on 64 bit -would only happen for inputs > around 6 Exa bytes). -* tests/basenc/basenc-large.sh: Add a new test, -that triggers with valgrind or ASAN. -* tests/local.mk: Reference the new test. -* NEWS: Mention the bug fix. ---- - src/basenc.c | 43 +++++++++++++++++++++++++------------------ - 4 files changed, 58 insertions(+), 18 deletions(-) - create mode 100755 tests/basenc/basenc-large.sh - -diff --git a/src/basenc.c b/src/basenc.c -index 1fb7a16f5..ae55f8e32 100644 ---- a/src/basenc.c -+++ b/src/basenc.c -@@ -253,7 +253,7 @@ static_assert (DEC_BLOCKSIZE % 12 == 0); /* Complete encoded blocks are used. */ - static_assert (DEC_BLOCKSIZE % 40 == 0); /* complete encoded blocks for base32*/ - static_assert (DEC_BLOCKSIZE % 12 == 0); /* complete encoded blocks for base64*/ - --static int (*base_length) (int i); -+static idx_t (*base_length) (idx_t len); - static int (*required_padding) (int i); - static bool (*isubase) (unsigned char ch); - static void (*base_encode) (char const *restrict in, idx_t inlen, -@@ -427,8 +427,8 @@ decode_ctx_finalize (struct base_decode_context *ctx, - - #if BASE_TYPE == 42 - --static int --base64_length_wrapper (int len) -+static idx_t -+base64_length_wrapper (idx_t len) - { - return BASE64_LENGTH (len); - } -@@ -526,8 +526,8 @@ base64url_decode_ctx_wrapper (struct base_decode_context *ctx, - - - --static int --base32_length_wrapper (int len) -+static idx_t -+base32_length_wrapper (idx_t len) - { - return BASE32_LENGTH (len); - } -@@ -740,8 +740,8 @@ isubase16 (unsigned char ch) - return ch < sizeof base16_to_int && 0 <= base16_to_int[ch]; - } - --static int --base16_length (int len) -+static idx_t -+base16_length (idx_t len) - { - return len * 2; - } -@@ -820,13 +820,14 @@ base16_decode_ctx (struct base_decode_context *ctx, - - - -- --static int --z85_length (int len) -+ATTRIBUTE_PURE -+static idx_t -+z85_length (idx_t len) - { - /* Z85 does not allow padding, so no need to round to highest integer. */ -- int outlen = (len * 5) / 4; -- return outlen; -+ idx_t z85_len = (len * 5) / 4; -+ affirm (0 <= z85_len); -+ return z85_len; - } - - static bool -@@ -1015,8 +1016,8 @@ isubase2 (unsigned char ch) - return ch == '0' || ch == '1'; - } - --static int --base2_length (int len) -+static idx_t -+base2_length (idx_t len) - { - return len * 8; - } -@@ -1206,12 +1207,17 @@ isubase58 (unsigned char ch) - } - - --static int --base58_length (int len) -+ATTRIBUTE_PURE -+static idx_t -+base58_length (idx_t len) - { - /* Base58 output length is approximately log(256)/log(58), -- so ensure we've enough place for that + NUL. */ -- return (len * 138) / 100 + 1; -+ which is approximately len * 138 / 100, -+ which is at most ((len + 100 - 1) / 100) * 138 -+ +1 to ensure we've enough place for NUL */ -+ idx_t base58_len = ((len + 99) / 100) * 138 + 1; -+ affirm (0 < base58_len); -+ return base58_len; - } - - -@@ -1268,6 +1274,7 @@ base58_encode (char const* data, size_t data_len, - if (data_len - zeros) - { - mpz_import (num, data_len - zeros, 1, 1, 0, 0, data + zeros); -+ affirm (mpz_sizeinbase (num, 58) + 1 <= *outlen); - for (p = mpz_get_str (p, 58, num); *p; p++) - *p = gmp_to_base58[to_uchar (*p)]; - } --- -cgit v1.2.3 diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/coreutils/files/coreutils-9.8-no-pclmul.patch b/sdk_container/src/third_party/portage-stable/sys-apps/coreutils/files/coreutils-9.8-no-pclmul.patch deleted file mode 100644 index 4242ae752a6..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-apps/coreutils/files/coreutils-9.8-no-pclmul.patch +++ /dev/null @@ -1,18 +0,0 @@ -https://bugs.gentoo.org/959467 -https://debbugs.gnu.org/79491 - -GL_CRC_X86_64_PCLMUL in effect overrides the earlier configure check which -sets USE_PCLMUL_CRC32, so -mno-pclmul leads to a build failure. Just use -the coreutils config check result for now. - -Thanks to Ionen Wolkens for the investigation and -workaround. ---- a/src/cksum.c -+++ b/src/cksum.c -@@ -145,5 +145,5 @@ - pclmul_supported (void) - { --# if USE_PCLMUL_CRC32 || GL_CRC_X86_64_PCLMUL -+# if USE_PCLMUL_CRC32 - bool pclmul_enabled = (0 < __builtin_cpu_supports ("pclmul") - && 0 < __builtin_cpu_supports ("avx")); diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/coreutils/files/coreutils-9.8-tail-offset.patch b/sdk_container/src/third_party/portage-stable/sys-apps/coreutils/files/coreutils-9.8-tail-offset.patch deleted file mode 100644 index 44b7334b54a..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-apps/coreutils/files/coreutils-9.8-tail-offset.patch +++ /dev/null @@ -1,35 +0,0 @@ -https://cgit.git.savannah.gnu.org/cgit/coreutils.git/commit/?id=914972e80dbf82aac9ffe3ff1f67f1028e1a788b -(Dropped the test to avoid autoreconf.) - -From 914972e80dbf82aac9ffe3ff1f67f1028e1a788b Mon Sep 17 00:00:00 2001 -From: Hannes Braun -Date: Wed, 24 Sep 2025 21:20:49 +0200 -Subject: tail: fix tailing larger number of lines in regular files - -* src/tail.c (file_lines): Seek to the previous block instead of the -beginning (or a little before) of the block that was just scanned. -Otherwise, the same block is read and scanned (at least partially) -again. This bug was introduced by commit v9.7-219-g976f8abc1. -* tests/tail/basic-seek.sh: Add a new test. -* tests/local.mk: Reference the new test. -* NEWS: mention the bug fix. ---- - src/tail.c | 2 +- - tests/local.mk | 1 + - tests/tail/basic-seek.sh | 28 ++++++++++++++++++++++++++++ - 4 files changed, 34 insertions(+), 1 deletion(-) - create mode 100755 tests/tail/basic-seek.sh - -diff --git a/src/tail.c b/src/tail.c -index b8bef1d91..c7779c77d 100644 ---- a/src/tail.c -+++ b/src/tail.c -@@ -596,7 +596,7 @@ file_lines (char const *prettyname, int fd, struct stat const *sb, - goto free_buffer; - } - -- pos = xlseek (fd, -bufsize, SEEK_CUR, prettyname); -+ pos = xlseek (fd, -(bufsize + bytes_read), SEEK_CUR, prettyname); - bytes_read = read (fd, buffer, bufsize); - if (bytes_read < 0) - { diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/iucode_tool/iucode_tool-2.3.1-r2.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/iucode_tool/iucode_tool-2.3.1-r2.ebuild index 75c903aa169..8ae0570baa4 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/iucode_tool/iucode_tool-2.3.1-r2.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-apps/iucode_tool/iucode_tool-2.3.1-r2.ebuild @@ -10,7 +10,7 @@ S="${WORKDIR}/${PN/_/-}-${PV}" LICENSE="GPL-2" SLOT="0" -KEYWORDS="~amd64 ~arm64 ~x86" +KEYWORDS="amd64 arm64 x86" RDEPEND="elibc_musl? ( sys-libs/argp-standalone )" DEPEND="${RDEPEND}" diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/kexec-tools/kexec-tools-2.0.32-r1.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/kexec-tools/kexec-tools-2.0.32-r1.ebuild index bea3824ccea..c1e702ce5a1 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/kexec-tools/kexec-tools-2.0.32-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-apps/kexec-tools/kexec-tools-2.0.32-r1.ebuild @@ -11,7 +11,7 @@ if [[ ${PV} == "9999" ]] ; then else SRC_URI="https://www.kernel.org/pub/linux/utils/kernel/kexec/${P/_/-}.tar.xz" [[ "${PV}" == *_rc* ]] || \ - KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86" + KEYWORDS="amd64 arm64 ~ppc64 x86" fi DESCRIPTION="Load another kernel from the currently executing Linux kernel" diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/less/less-692.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/less/less-692.ebuild index 698a1775159..932628242af 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/less/less-692.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-apps/less/less-692.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 diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/man-pages/man-pages-6.16-r2.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/man-pages/man-pages-6.16-r2.ebuild index 383abd06318..f988dce309d 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/man-pages/man-pages-6.16-r2.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-apps/man-pages/man-pages-6.16-r2.ebuild @@ -52,7 +52,7 @@ else BDEPEND="verify-sig? ( >=sec-keys/openpgp-keys-alejandro-colomar-20260122 )" fi - 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+=" diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/pcsc-lite/pcsc-lite-2.4.1.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/pcsc-lite/pcsc-lite-2.4.1.ebuild index 57149a23351..03ac67bc533 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/pcsc-lite/pcsc-lite-2.4.1.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-apps/pcsc-lite/pcsc-lite-2.4.1.ebuild @@ -18,7 +18,7 @@ SRC_URI=" # upstream. LICENSE="BSD GPL-3+ BSD-2 ISC 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" # This is called libusb so that it doesn't fool people in thinking that # it is _required_ for USB support. Otherwise they'll disable udev and # that's going to be worse. diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/portage/portage-3.0.72-r1.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/portage/portage-3.0.72-r1.ebuild index 39aad3c0850..c44316aa254 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/portage/portage-3.0.72-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-apps/portage/portage-3.0.72-r1.ebuild @@ -71,9 +71,11 @@ RDEPEND=" >=app-portage/gemato-14.5[${PYTHON_USEDEP}] ) ) - elibc_glibc? ( >=sys-apps/sandbox-2.2 ) - elibc_musl? ( >=sys-apps/sandbox-2.2 ) - kernel_linux? ( sys-apps/util-linux ) + 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 diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/portage/portage-3.0.77-r1.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/portage/portage-3.0.77-r1.ebuild index ebc2bac9754..8cc87763990 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/portage/portage-3.0.77-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-apps/portage/portage-3.0.77-r1.ebuild @@ -71,9 +71,11 @@ RDEPEND=" >=app-portage/gemato-14.5[${PYTHON_USEDEP}] ) ) - elibc_glibc? ( >=sys-apps/sandbox-2.2 ) - elibc_musl? ( >=sys-apps/sandbox-2.2 ) - kernel_linux? ( sys-apps/util-linux ) + 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 diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/portage/portage-3.0.77-r3.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/portage/portage-3.0.77-r3.ebuild index ce54cfa4db4..3dbc5fc06ef 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/portage/portage-3.0.77-r3.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-apps/portage/portage-3.0.77-r3.ebuild @@ -72,9 +72,11 @@ RDEPEND=" >=app-portage/gemato-14.5[${PYTHON_USEDEP}] ) ) - elibc_glibc? ( >=sys-apps/sandbox-2.2 ) - elibc_musl? ( >=sys-apps/sandbox-2.2 ) - kernel_linux? ( sys-apps/util-linux ) + 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 diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/portage/portage-3.0.77.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/portage/portage-3.0.77.ebuild index 21fad59014b..d5aba3270f3 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/portage/portage-3.0.77.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-apps/portage/portage-3.0.77.ebuild @@ -71,9 +71,11 @@ RDEPEND=" >=app-portage/gemato-14.5[${PYTHON_USEDEP}] ) ) - elibc_glibc? ( >=sys-apps/sandbox-2.2 ) - elibc_musl? ( >=sys-apps/sandbox-2.2 ) - kernel_linux? ( sys-apps/util-linux ) + 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 diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/portage/portage-9999.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/portage/portage-9999.ebuild index 0e0def53378..62f87f2f1b9 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/portage/portage-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-apps/portage/portage-9999.ebuild @@ -72,9 +72,11 @@ RDEPEND=" >=app-portage/gemato-14.5[${PYTHON_USEDEP}] ) ) - elibc_glibc? ( >=sys-apps/sandbox-2.2 ) - elibc_musl? ( >=sys-apps/sandbox-2.2 ) - kernel_linux? ( sys-apps/util-linux ) + 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 diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/pv/Manifest b/sdk_container/src/third_party/portage-stable/sys-apps/pv/Manifest index 79bca6cf563..194b9ceb90a 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/pv/Manifest +++ b/sdk_container/src/third_party/portage-stable/sys-apps/pv/Manifest @@ -2,5 +2,7 @@ DIST pv-1.10.2.tar.gz 427370 BLAKE2B bb139aef5de446515ffb563f6581eab6a6bc180e2ad DIST pv-1.10.2.tar.gz.asc 691 BLAKE2B 88e583b277e5e6d8dbcc2d741c4606244f4a8de8e61aa83b3f834fc11bcf1315c485c937559aff6ad2789c5fd6aae268fc0f619fd1feeade46352fa6d002d813 SHA512 8bc3bb21c5daa1adbdc8b04cb699e6cb62c47a9c3b4167485cf6f0f8b920dba5c3fdcb0cbf2fdfe59339927c4e1595b04a9271f4ddd585462cb3b859bf5f69c0 DIST pv-1.10.3.tar.gz 427463 BLAKE2B 29ccafa12fbed54cffc54b515794595f8efeb71f09524b431219e5050a052ffaa998ebbea19d4f7dd28556229b0246fc1e352bfbbbc7ab290185c3530a47ab43 SHA512 19d48f004cf06e36b1157c701afb4612a3a38997d74195cf9e79250cda085d4bf724d954504c4d88368a6af099a9eaa872da33e96848bbdce325f52ad40e6947 DIST pv-1.10.3.tar.gz.asc 691 BLAKE2B 11785a09dd2736ca738cd955bb9323ca4aeb975158f0e5d088796202e8ee55058fae3a47166f9be477b18722f41bd899273fec0befc47e1a0ce4cb909e2f402c SHA512 ab457e451c1e3c7ce26d5a5911202327170086d0fd909ff86a84a5c111f71bc3f098bd56f55840fa644df0c354554b03e338f50ed48d15543947f42028b958d6 +DIST pv-1.10.4.tar.gz 439553 BLAKE2B 43a53daa989774ba5013982401258f329e34449f0c41d08984e52db015e7101f3fe9fe3eb05472c524a505bc49a5b50b7aa0a8dea924a42f02a9215e7f3d8372 SHA512 619fc401d1c7c4cde12a6e77cbc7c3ba17dea92f0cbf97e2c4c4bcdc42167b1008a99e568cfbdf331990010c313ef40f0235021f0bc12890645c9947754b8d46 +DIST pv-1.10.4.tar.gz.asc 691 BLAKE2B 8c6883ebe370a08975ad99b56b65b00ff234b63ec021b1388f03362b52c9fe19b47c1f873d103638064a6a8cf59511339c38a5083548cbe18cc6401a45c37279 SHA512 22f03424a82b8a92b7dff115fbc108e519902d562d8751c38102dab4eacb123199bd55e67a1d544ccb9778128c9a9bb4560bac9ed38d2bbaebf70710a639d4a7 DIST pv-1.9.42.tar.gz 425511 BLAKE2B f523605491faca77591d84c092663edcf5c3f7a3717676fb1ad282d0768553a444dc97a8adadd8ca32c264978471c3c60c44667679e733251bf7f9b59779de30 SHA512 be21370c7cb18cb68f5a63db6f0a4c5c36efd007675df29af06017f9dfd1e416270cbe733792015a3d3ae0f5165a27e1a6dfce6abebbf0581c50cbb66ef2d9c7 DIST pv-1.9.42.tar.gz.asc 691 BLAKE2B 2f107e4520554629ee6be60e6145f3219a34db7b0b73081d3c86080834458eae3f9a90d4cc364dab5f9218c403f65a7d42a419b1520269a7bb5cc0884f5affbb SHA512 a0ca0dcb383036c433c202dd7c9dbd24d60e00e7bbfe6945a5868f629bf856cebfb5564b51532d67e8c241646243354be9cc7e5a313714b9d9ea478ee5853719 diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/pv/pv-1.10.4.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/pv/pv-1.10.4.ebuild new file mode 100644 index 00000000000..faa1cdbba6b --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-apps/pv/pv-1.10.4.ebuild @@ -0,0 +1,59 @@ +# 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/pv.asc +inherit linux-info toolchain-funcs verify-sig + +DESCRIPTION="Pipe Viewer: a tool for monitoring the progress of data through a pipe" +HOMEPAGE="https://ivarch.com/p/pv https://codeberg.org/ivarch/pv" + +if [[ ${PV} == 9999 ]] ; then + EGIT_REPO_URI="https://codeberg.org/ivarch/pv" + inherit autotools git-r3 +else + SRC_URI=" + https://ivarch.com/s/${P}.tar.gz + verify-sig? ( https://ivarch.com/s/${P}.tar.gz.txt -> ${P}.tar.gz.asc ) + " + + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86 ~x64-macos" +fi + +LICENSE="GPL-3+" +SLOT="0" +IUSE="debug ncurses nls" + +RDEPEND="ncurses? ( sys-libs/ncurses:= )" +DEPEND="${RDEPEND}" +BDEPEND="verify-sig? ( >=sec-keys/openpgp-keys-pv-20251012 )" + +pkg_setup() { + if use kernel_linux; then + CONFIG_CHECK="~SYSVIPC" + ERROR_SYSVIPC="You will need to enable CONFIG_SYSVIPC in your kernel to use the --remote option." + linux-info_pkg_setup + fi +} + +src_prepare() { + default + + [[ ${PV} == 9999 ]] && eautoreconf +} + +src_configure() { + tc-export AR + + econf \ + $(use_enable debug debugging) \ + $(use_with ncurses) \ + $(use_enable nls) +} + +src_test() { + # Valgrind is unreliable within sandbox + local -x SKIP_VALGRIND_TESTS=1 + emake -Onone check +} 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 08f98f36a34..784ad614d2e 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,6 +1,6 @@ DIST shadow-4.14.8.tar.xz 1806352 BLAKE2B a6ed45e44560c68baec97072399c106060be859a0f9514da2e5b0ec373e5b9c9f54b402132f39c20401496a5b3faeaa0bc90e1b9f02dd2e3b3ffc7389d0745bb SHA512 6f98ef412874f91cfa3f08877f3fe058d725636705b07d473aa1ea44cb6864059701bd11513caf692d270a7ed8ab1956e04421e53dfb8c74e925b8ec12ab8634 DIST shadow-4.14.8.tar.xz.asc 833 BLAKE2B 1b8b8f3f36e06c1dda0a4e0d1508b1ad0ef85f0fa993a92a583831687076ba22d05f47109d56c1e740b60632c3bbeeb6c8cc001e41f46b1a2f9177ce62854f8c SHA512 1db2647babe3f434204c93e7700ff6a0ece078f6c5adb96ae0c0ac9d82a862835c4ab8afb37b0ffc80cf62e9a59f1ba33a92ff454e7ae0ca2aa535b19627615e -DIST shadow-4.19.2.tar.xz 2339472 BLAKE2B f2fc64f071e8fe09ed76545abe64e30cff780d7d1c276ebdb05e04ebc36dddb3db86b2537808755049d342e2101247bd76d01c8861b53246f5c81b780952a1e5 SHA512 b03b2fca7bc65dc6b78d465f0b2ab170bb799cbfbdd588b8ae239c1ec99045864302cbd17d27beb1ea0c63ea33370aa28c0231dfb8864e007de21220de8c2f48 -DIST shadow-4.19.2.tar.xz.asc 488 BLAKE2B f2d76a47b5a8d97ce6528bfa0a4f4b0f3b23c434cc4bd8db9dff186e2b014063907c53d358e59c2c8dd4fbaebccfd6b5063150ed79b0b20b0fe719cf6917b7e0 SHA512 2c434fd939a0a2faca76e48ab3dd1c0afac763fa6b5bfc73c859f552335590d60506fe7649b5ff045692fcc7f378f6ba97dfe798c8682286fd4a9a0eaa4c1f81 DIST shadow-4.19.3.tar.xz 2347720 BLAKE2B 8c9f6faa37bba130364086635c91562bfc786740a0276366d9771aaa289dcbba5cd7550437596e43f91348ab29bab77e9894232feffc8498c4cc1bbd48bec3d3 SHA512 f2b41f8186681eb98dae0da87ed1a1f03327c5005c9d4bf9500801352e318de6f5954dc5b8f30ab9aece728b1efb74b4ff8fb2720acc4c2aaef701331a4a5a05 DIST shadow-4.19.3.tar.xz.asc 833 BLAKE2B 936a9103b65c3564b1d5f00259965921e7aa1615714b04e783441f2fa79e78c386cf9056758cba4f8c36f740490dedb8acd68d88979cc153bb78d2a800d01156 SHA512 295a6bffefd333a9ea84fa59b368f5c48d0ac5224199624b768087098110b0f0c19bef37f5c474c45277980758dcb6728e8bb17eb7ab1a57603cad41f1dd00ab +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 diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/shadow/shadow-4.14.8-r1.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/shadow/shadow-4.14.8-r1.ebuild index 79887e7b0dc..7ca5fc933cb 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/shadow/shadow-4.14.8-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-apps/shadow/shadow-4.14.8-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 EAPI=8 @@ -42,7 +42,7 @@ COMMON_DEPEND=" " DEPEND=" ${COMMON_DEPEND} - >=sys-kernel/linux-headers-4.14 + kernel_linux? ( >=sys-kernel/linux-headers-4.14 ) " RDEPEND=" ${COMMON_DEPEND} diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/shadow/shadow-4.14.8-r2.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/shadow/shadow-4.14.8-r2.ebuild index b623295477e..5bfde451c78 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/shadow/shadow-4.14.8-r2.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-apps/shadow/shadow-4.14.8-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 EAPI=8 @@ -42,7 +42,7 @@ COMMON_DEPEND=" " DEPEND=" ${COMMON_DEPEND} - >=sys-kernel/linux-headers-4.14 + kernel_linux? ( >=sys-kernel/linux-headers-4.14 ) " RDEPEND=" ${COMMON_DEPEND} diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/shadow/shadow-4.14.8.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/shadow/shadow-4.14.8.ebuild deleted file mode 100644 index 582d2920ae2..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-apps/shadow/shadow-4.14.8.ebuild +++ /dev/null @@ -1,271 +0,0 @@ -# Copyright 1999-2025 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 verify-sig - -DESCRIPTION="Utilities to deal with user accounts" -HOMEPAGE="https://github.com/shadow-maint/shadow" -SRC_URI="https://github.com/shadow-maint/shadow/releases/download/${PV}/${P}.tar.xz" -SRC_URI+=" verify-sig? ( https://github.com/shadow-maint/shadow/releases/download/${PV}/${P}.tar.xz.asc )" - -LICENSE="BSD GPL-2" -# Subslot is for libsubid's SONAME. -SLOT="0/4" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" -IUSE="acl audit cracklib nls pam selinux skey split-usr su systemd xattr" -# Taken from the man/Makefile.am file. -LANGS=( cs da de es fi fr hu id it ja ko pl pt_BR ru sv tr zh_CN zh_TW ) - -REQUIRED_USE="?? ( cracklib pam )" - -COMMON_DEPEND=" - virtual/libcrypt:= - acl? ( sys-apps/acl:= ) - audit? ( >=sys-process/audit-2.6:= ) - cracklib? ( >=sys-libs/cracklib-2.7-r3:= ) - nls? ( virtual/libintl ) - pam? ( sys-libs/pam:= ) - skey? ( sys-auth/skey:= ) - selinux? ( - >=sys-libs/libselinux-1.28:= - sys-libs/libsemanage:= - ) - systemd? ( sys-apps/systemd:= ) - xattr? ( sys-apps/attr:= ) - !/s:^:#:" \ - "${ED}"/etc/login.defs || die - else - sed -i -r \ - -e "/^#?${opt}\>/s:.*:${opt} ${val}:" \ - "${ED}"/etc/login.defs - fi - local res=$(grep "^${comment}${opt}\>" "${ED}"/etc/login.defs) - einfo "${res:-Unable to find ${opt} in /etc/login.defs}" -} - -src_install() { - emake DESTDIR="${D}" suidperms=4755 install - - # 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 - if ! use pam ; then - insopts -m0600 - doins etc/login.access etc/limits - fi - - # needed for 'useradd -D' - insinto /etc/default - insopts -m0600 - doins "${FILESDIR}"/default/useradd - - 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 - - cd "${S}" || die - insinto /etc - insopts -m0644 - newins etc/login.defs login.defs - - set_login_opt CREATE_HOME yes - if ! use pam ; then - set_login_opt MAIL_CHECK_ENAB no - set_login_opt SU_WHEEL_ONLY yes - set_login_opt CRACKLIB_DICTPATH /usr/lib/cracklib_dict - set_login_opt LOGIN_RETRIES 3 - set_login_opt ENCRYPT_METHOD SHA512 - set_login_opt CONSOLE - else - dopamd "${FILESDIR}"/pam.d-include/shadow - - for x in chsh chfn ; do - newpamd "${FILESDIR}"/pam.d-include/passwd ${x} - done - - for x in chpasswd newusers ; do - newpamd "${FILESDIR}"/pam.d-include/chpasswd ${x} - done - - newpamd "${FILESDIR}"/pam.d-include/shadow-r1 groupmems - - # Comment out login.defs options that pam hates - local opt sed_args=() - for opt in \ - CHFN_AUTH \ - CONSOLE \ - CRACKLIB_DICTPATH \ - 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 - do - set_login_opt ${opt} - sed_args+=( -e "/^#${opt}\>/b pamnote" ) - done - sed -i "${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' \ - "${ED}"/etc/login.defs || die - - # 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 id.1 -o -name getspnam.3 ')' \ - -delete || die - - if ! use su ; then - find "${ED}"/usr/share/man -type f -name su.1 -delete || die - fi - - cd "${S}" || die - dodoc ChangeLog NEWS TODO - newdoc README README.download - cd doc || die - dodoc HOWTO README* WISHLIST *.txt - - if use elibc_musl; then - QA_CONFIG_IMPL_DECL_SKIP+=( sgetsgent ) - fi -} - -pkg_preinst() { - rm -f "${EROOT}"/etc/pam.d/system-auth.new \ - "${EROOT}/etc/login.defs.new" -} - -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 - - # Enable shadow groups. - if [[ ! -f "${EROOT}"/etc/gshadow ]] ; then - if grpck -r -R "${EROOT:-/}" 2>/dev/null ; then - grpconv -R "${EROOT:-/}" - 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 - - einfo "The 'adduser' symlink to 'useradd' has been dropped." -} diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/shadow/shadow-4.19.3.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/shadow/shadow-4.19.3.ebuild index 6116aa4a8d9..0783a8679cb 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/shadow/shadow-4.19.3.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-apps/shadow/shadow-4.19.3.ebuild @@ -20,7 +20,7 @@ S="${WORKDIR}/${MY_P}" LICENSE="BSD GPL-2" # Subslot is for libsubid's SONAME. SLOT="0/5" -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="acl audit nls pam selinux skey split-usr su systemd test xattr" RESTRICT="!test? ( test )" @@ -41,7 +41,7 @@ COMMON_DEPEND=" " DEPEND=" ${COMMON_DEPEND} - >=sys-kernel/linux-headers-4.14 + kernel_linux? ( >=sys-kernel/linux-headers-4.14 ) " RDEPEND=" ${COMMON_DEPEND} @@ -86,7 +86,7 @@ src_configure() { --enable-lastlog --disable-account-tools-setuid --disable-static - --with-btrfs + $(use_with kernel_linux btrfs) # Use bundled replacements for readpassphrase and freezero --without-libbsd --without-group-name-max-length @@ -221,6 +221,11 @@ src_install() { if use elibc_musl; then QA_CONFIG_IMPL_DECL_SKIP+=( sgetsgent ) fi + + if use kernel_Hurd ; then + # sys-kernel/hurd provides this instead + rm "${ED}"/bin/login || die + fi } pkg_postinst() { diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/shadow/shadow-4.19.2.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/shadow/shadow-4.19.4.ebuild similarity index 94% rename from sdk_container/src/third_party/portage-stable/sys-apps/shadow/shadow-4.19.2.ebuild rename to sdk_container/src/third_party/portage-stable/sys-apps/shadow/shadow-4.19.4.ebuild index 48c05848417..910a15e1641 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/shadow/shadow-4.19.2.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-apps/shadow/shadow-4.19.4.ebuild @@ -41,7 +41,7 @@ COMMON_DEPEND=" " DEPEND=" ${COMMON_DEPEND} - >=sys-kernel/linux-headers-4.14 + kernel_linux? ( >=sys-kernel/linux-headers-4.14 ) " RDEPEND=" ${COMMON_DEPEND} @@ -56,8 +56,8 @@ BDEPEND=" test? ( dev-util/cmocka ) " -BDEPEND+=" verify-sig? ( sec-keys/openpgp-keys-sergehallyn )" -VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/sergehallyn.asc +BDEPEND+=" verify-sig? ( >=sec-keys/openpgp-keys-alejandro-colomar-20260122 )" +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/alejandro-colomar.asc src_prepare() { default @@ -86,7 +86,7 @@ src_configure() { --enable-lastlog --disable-account-tools-setuid --disable-static - --with-btrfs + $(use_with kernel_linux btrfs) # Use bundled replacements for readpassphrase and freezero --without-libbsd --without-group-name-max-length @@ -221,6 +221,11 @@ src_install() { if use elibc_musl; then QA_CONFIG_IMPL_DECL_SKIP+=( sgetsgent ) fi + + if use kernel_Hurd ; then + # sys-kernel/hurd provides this instead + rm "${ED}"/bin/login || die + fi } pkg_postinst() { diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/systemd/Manifest b/sdk_container/src/third_party/portage-stable/sys-apps/systemd/Manifest index 33ca9cacbc4..7eb4b092d30 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/systemd/Manifest +++ b/sdk_container/src/third_party/portage-stable/sys-apps/systemd/Manifest @@ -1,4 +1,4 @@ DIST systemd-258.3.tar.gz 17034328 BLAKE2B 668f5829d78412b256f49c3f46dffad5cf70fa335de3e5ca822bdc13e4f67874ac28005b616e7fdc0f3235f760c68809ae3ac97e1f53d3ca43fb7e0934ec0de9 SHA512 9f4261e1703efd1f38c90e4166e6d85fa9379c99ac7f3c66caa62955c3cbe8a43ab259c261ab20bce0dd84dd682258192ace66b4dee0390bf3740c32f4569fed -DIST systemd-259.1.tar.gz 17274033 BLAKE2B 08d3b640e699ecaae9f2e2471db4547870786a5b5e2953671a0a9460b13a4d942c605942f95c144e68a04ffd6be1a72d8a084fe1f59c4d49c0ac3dc1eda55533 SHA512 7cbeca5dad6413a876809200583854ddc706b7a69deff958eb1ca1afb726cf4dec014006c10d1945c450b754811d4b95a80fe1778cb3136997f6d11b11c0560e -DIST systemd-259.2.tar.gz 17284532 BLAKE2B a0826ef6f1cc8546957cbd558283e9bf634e434893de526d39b00f7d5ecdc982ccadf0f5397f74a8c9090887d14acbbe20dac27905376b72aa07b5246436c1ed SHA512 1cb677c98a56210948bfc9a6e296aa92dde030ceeca6b6e4fe3f4014d051f4d0f1d83584cfdceb921d7d578952b85112b2ba497385faefca4d6c871bf8de48cf -DIST systemd-259.tar.gz 17250241 BLAKE2B 59ba6edea59338fc30d4cf72b197e8eda2ccd4fc7d53f016c0b9bd4422433839696fe553b58dcf1f31345ec92080a426a04a2878fd97cb17b3b1e3f92f08e135 SHA512 ef46b13661df43e3cfbeee1bc22f0b1eb902e8ebe39c19868c465efd08b35a199c2a2cd9d8021a6bc4d692fa0c6e0eab3f13eecd6ce24dde81d3945464a25b50 +DIST systemd-259.3.tar.gz 17285135 BLAKE2B 81a66ec1aadeef14ca8fd53b23a8ebeb9fa23aed4298419fb5cb612c7a8f1b4c33f391a643e4d313dbef0385c339726c8f327306785852c8427416009c944f8d SHA512 ea7314fcde3c0e541c9399f2d165f114bd7bf37cec294680964352da374435ddd3949432f939f35ecb49f0ce6a3b7aaaddf2b65cc8107abc65e2ec3806c99dac +DIST systemd-259.4.tar.gz 17336661 BLAKE2B 5e90410698e21e8fc8f5f22e3e26858f51d2cdfc362870f09ecccf8ed882602cdcef2614843738b14601349b05cfd3a8358a1771fc1fcd8e75d831940a8683c8 SHA512 bf572f92b0b01ecaf08f36ea5e13a2c05a79e6c0c2d9ef191855d1b83ae791a2977841ca85541ace1d30945d5f879d703d390767f708294986b29aeda1449b1f +DIST systemd-260.tar.gz 17577889 BLAKE2B 75db560c9d4d8f9ba24f46f70e38a9adc4f8be6ce08a04c900b1d3557739288faf85372b5b1943c59d9be13cdb8dc0fefe09aecb9310211ec479253c7e1aa12b SHA512 2b81a327319c6b06c04742aa8ee5f36ebc7b78aa6db2a82f2a7376fda8bf2079bfc418db290b0522e1d01a3449b3a4e847ebe22d260cc83aeb86a7a4de714d41 diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/systemd/files/systemd-259-vmspawn-use-indexed-loop.patch b/sdk_container/src/third_party/portage-stable/sys-apps/systemd/files/systemd-259-vmspawn-use-indexed-loop.patch deleted file mode 100644 index 72f2cff0785..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-apps/systemd/files/systemd-259-vmspawn-use-indexed-loop.patch +++ /dev/null @@ -1,71 +0,0 @@ -https://bugs.gentoo.org/968936 -https://github.com/systemd/systemd/issues/40380 - -From 8a5fb3627a1518d2d2ef70919c81448158d64ac0 Mon Sep 17 00:00:00 2001 -From: Yu Watanabe -Date: Mon, 19 Jan 2026 23:14:26 +0900 -Subject: [PATCH] vmspawn: use indexed loop - -Previously, the index is obtained from the pointer offset. The -pointer offset is expressed by ptrdiff_t and may be different from -ssize_t. - -Let's avoid to use FOREACH_ARRAY() but use an indexed loop. -This also renames `mount` to `m` to avoid conflict with `mount()`. - -Fixes #40380. ---- - src/vmspawn/vmspawn.c | 15 ++++++++------- - 1 file changed, 8 insertions(+), 7 deletions(-) - -diff --git a/src/vmspawn/vmspawn.c b/src/vmspawn/vmspawn.c -index 43817954a3d22..b12e260fa4d1f 100644 ---- a/src/vmspawn/vmspawn.c -+++ b/src/vmspawn/vmspawn.c -@@ -2408,7 +2408,8 @@ static int run_virtual_machine(int kvm_device_fd, int vhost_device_fd) { - if (r < 0) - return log_oom(); - -- FOREACH_ARRAY(mount, arg_runtime_mounts.mounts, arg_runtime_mounts.n_mounts) { -+ for (size_t j = 0; j < arg_runtime_mounts.n_mounts; j++) { -+ RuntimeMount *m = arg_runtime_mounts.mounts + j; - _cleanup_free_ char *listen_address = NULL; - _cleanup_(fork_notify_terminate) PidRef child = PIDREF_NULL; - -@@ -2417,9 +2418,9 @@ static int run_virtual_machine(int kvm_device_fd, int vhost_device_fd) { - - r = start_virtiofsd( - unit, -- mount->source, -- /* source_uid= */ mount->source_uid, -- /* target_uid= */ mount->target_uid, -+ m->source, -+ /* source_uid= */ m->source_uid, -+ /* target_uid= */ m->target_uid, - /* uid_range= */ 1U, - runtime_dir, - sd_socket_activate, -@@ -2444,7 +2445,7 @@ static int run_virtual_machine(int kvm_device_fd, int vhost_device_fd) { - return log_oom(); - - _cleanup_free_ char *id = NULL; -- if (asprintf(&id, "mnt%zi", mount - arg_runtime_mounts.mounts) < 0) -+ if (asprintf(&id, "mnt%zu", j) < 0) - return log_oom(); - - if (strv_extendf(&cmdline, "socket,id=%s,path=%s", id, escaped_listen_address) < 0) -@@ -2456,12 +2457,12 @@ static int run_virtual_machine(int kvm_device_fd, int vhost_device_fd) { - if (strv_extendf(&cmdline, "vhost-user-fs-pci,queue-size=1024,chardev=%1$s,tag=%1$s", id) < 0) - return log_oom(); - -- _cleanup_free_ char *clean_target = xescape(mount->target, "\":"); -+ _cleanup_free_ char *clean_target = xescape(m->target, "\":"); - if (!clean_target) - return log_oom(); - - if (strv_extendf(&arg_kernel_cmdline_extra, "systemd.mount-extra=\"%s:%s:virtiofs:%s\"", -- id, clean_target, mount->read_only ? "ro" : "rw") < 0) -+ id, clean_target, m->read_only ? "ro" : "rw") < 0) - return log_oom(); - } - diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/systemd/files/systemd-260-kernel-install.patch b/sdk_container/src/third_party/portage-stable/sys-apps/systemd/files/systemd-260-kernel-install.patch new file mode 100644 index 00000000000..7c412373737 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-apps/systemd/files/systemd-260-kernel-install.patch @@ -0,0 +1,30 @@ +https://bugs.gentoo.org/971388 +https://github.com/systemd/systemd/pull/41225 + +From 54db03334813a16721fa96c59b884f1591c758b5 Mon Sep 17 00:00:00 2001 +From: Robin Ebert +Date: Fri, 20 Mar 2026 13:32:04 +0100 +Subject: [PATCH] kernel-install: fix assert in context_copy + +(cherry picked from commit 55e7dc5ce4999ba9f01499dccdeba0235a86aaa4) +--- + src/kernel-install/kernel-install.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/kernel-install/kernel-install.c b/src/kernel-install/kernel-install.c +index a38dcaab8b556..618fa746c9bed 100644 +--- a/src/kernel-install/kernel-install.c ++++ b/src/kernel-install/kernel-install.c +@@ -152,10 +152,10 @@ static int context_copy(const Context *source, Context *ret) { + + assert(source); + assert(ret); +- assert(source->rfd >= 0 || source->rfd == AT_FDCWD); ++ assert(source->rfd >= 0 || source->rfd == AT_FDCWD || source->rfd == XAT_FDROOT); + + _cleanup_(context_done) Context copy = (Context) { +- .rfd = AT_FDCWD, ++ .rfd = source->rfd, + .action = source->action, + .machine_id = source->machine_id, + .machine_id_is_random = source->machine_id_is_random, diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/systemd/files/systemd-260-mips.patch b/sdk_container/src/third_party/portage-stable/sys-apps/systemd/files/systemd-260-mips.patch new file mode 100644 index 00000000000..9268ee6cecd --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-apps/systemd/files/systemd-260-mips.patch @@ -0,0 +1,114 @@ +https://bugs.gentoo.org/971376 +https://github.com/systemd/systemd/pull/41240 + +From 26fe43d2189cc7eab3b5c710673f04a23627caf0 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Andreas=20K=2E=20H=C3=BCttel?= +Date: Fri, 20 Mar 2026 13:52:17 +0100 +Subject: [PATCH] mips: Fix conditional inclusion of +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +systemd now has a system call wrapper that does a long series of #ifdef's to +differentiate between architectures and ABIs. This wrapper has two problems. + +1. On mips, it needs to differentiate between O32, N32, N64 ABI. It does that +via a code block in src/include/override/sys/generate-syscall.py (and derived +files): + + 76 # elif defined(_MIPS_SIM) + 77 # if _MIPS_SIM == _MIPS_SIM_ABI32 + 78 # define systemd_NR_{syscall} {nr_mipso32} + 79 # elif _MIPS_SIM == _MIPS_SIM_NABI32 + 80 # define systemd_NR_{syscall} {nr_mips64n32} + 81 # elif _MIPS_SIM == _MIPS_SIM_ABI64 + 82 # define systemd_NR_{syscall} {nr_mips64} + 83 # else + 84 # error "Unknown MIPS ABI" + 85 # endif + 86 # elif defined(__hppa__) + +Now the _MIPS_SIM* constants stem from a vendor-specific header file sgidefs.h, +which is included with glibc, but not with musl. It is however always present +in the Linux kernel headers as asm/sgidefs.h ... + +2. To work around this, the syscall wrapper already has a block + + 47 #ifdef ARCH_MIPS + 48 #include + 49 #endif + +Turns out, ARCH_MIPS is defined nowhere in Gentoo, neither on glibc nor on musl. +As a result the code (by accident, probably sgidefs.h is included transitively +somehow) works on glibc, but not on musl. + +The simplest fix is to replace line 47 in the generator and the derived file +with + + 47 #ifdef __mips__ + +Two other source code files require a similar fix since they rely on the +constants. + +Bug: https://github.com/systemd/systemd/issues/41239 +Bug: https://bugs.gentoo.org/971376 +Signed-off-by: Andreas K. Hüttel +--- + src/include/override/sys/generate-syscall.py | 2 +- + src/include/override/sys/syscall.h | 2 +- + src/shared/base-filesystem.c | 2 +- + src/shared/seccomp-util.c | 2 +- + 4 files changed, 4 insertions(+), 4 deletions(-) + +diff --git a/src/include/override/sys/generate-syscall.py b/src/include/override/sys/generate-syscall.py +index 6f449f9dc1330..1c90ad0e38402 100755 +--- a/src/include/override/sys/generate-syscall.py ++++ b/src/include/override/sys/generate-syscall.py +@@ -44,7 +44,7 @@ def parse_syscall_tables(filenames): + + #include_next /* IWYU pragma: export */ + +-#ifdef ARCH_MIPS ++#ifdef __mips__ + #include + #endif + +diff --git a/src/include/override/sys/syscall.h b/src/include/override/sys/syscall.h +index da2f780bed39c..0233f254b421c 100644 +--- a/src/include/override/sys/syscall.h ++++ b/src/include/override/sys/syscall.h +@@ -11,7 +11,7 @@ + + #include_next /* IWYU pragma: export */ + +-#ifdef ARCH_MIPS ++#ifdef __mips__ + #include + #endif + +diff --git a/src/shared/base-filesystem.c b/src/shared/base-filesystem.c +index bad3b46f3ad3a..9e8856ba48ce6 100644 +--- a/src/shared/base-filesystem.c ++++ b/src/shared/base-filesystem.c +@@ -5,7 +5,7 @@ + #include + #include + +-#ifdef ARCH_MIPS ++#ifdef __mips__ + #include + #endif + +diff --git a/src/shared/seccomp-util.c b/src/shared/seccomp-util.c +index d2f7612a53de5..9785fc45d78f3 100644 +--- a/src/shared/seccomp-util.c ++++ b/src/shared/seccomp-util.c +@@ -12,7 +12,7 @@ + #include + #include + +-#ifdef ARCH_MIPS ++#ifdef __mips__ + #include + #endif + diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/systemd/metadata.xml b/sdk_container/src/third_party/portage-stable/sys-apps/systemd/metadata.xml index c7c46b6219e..9b7e3ed5150 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/systemd/metadata.xml +++ b/sdk_container/src/third_party/portage-stable/sys-apps/systemd/metadata.xml @@ -31,6 +31,7 @@ Enable PKCS#11 support for cryptsetup and homed Use dev-libs/libpwquality for password checking in homed Enable qrcode output support in journal + Enable remote journal access Install resolvconf symlink for systemd-resolve Install sysvinit compatibility symlinks and manpages for init, telinit, halt, poweroff, reboot, runlevel, and shutdown Enable TPM support diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/systemd/systemd-258.3.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/systemd/systemd-258.3.ebuild index 1d462d6ea41..65e000280b6 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/systemd/systemd-258.3.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-apps/systemd/systemd-258.3.ebuild @@ -36,7 +36,7 @@ IUSE=" acl apparmor audit boot bpf cgroup-hybrid cryptsetup curl +dns-over-tls elfutils fido2 +gcrypt gnutls homed http idn importd iptables +kernel-install +kmod +lz4 lzma +openssl pam passwdqc pcre pkcs11 policykit pwquality qrcode - +resolvconf +seccomp selinux split-usr +sysv-utils test tpm ukify vanilla xkb +zstd + +resolvconf +seccomp selinux split-usr sysv-utils test tpm ukify vanilla xkb +zstd " REQUIRED_USE=" ${PYTHON_REQUIRED_USE} diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/systemd/systemd-259.2.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/systemd/systemd-259.3-r2.ebuild similarity index 97% rename from sdk_container/src/third_party/portage-stable/sys-apps/systemd/systemd-259.2.ebuild rename to sdk_container/src/third_party/portage-stable/sys-apps/systemd/systemd-259.3-r2.ebuild index 5a6103b359b..248bed28255 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/systemd/systemd-259.2.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-apps/systemd/systemd-259.3-r2.ebuild @@ -20,7 +20,7 @@ else SRC_URI="https://github.com/systemd/${PN}/archive/refs/tags/v${MY_PV}.tar.gz -> ${MY_P}.tar.gz" if [[ ${PV} != *rc* ]] ; then - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + KEYWORDS="amd64 arm arm64 ppc ppc64 ~s390 x86" fi fi @@ -34,9 +34,9 @@ LICENSE="GPL-2 LGPL-2.1 MIT public-domain" SLOT="0/2" IUSE=" acl apparmor audit boot bpf cgroup-hybrid cryptsetup curl +dns-over-tls elfutils - fido2 +gcrypt gnutls homed http idn importd iptables +kernel-install +kmod + fido2 +gcrypt gnutls homed http idn importd +kernel-install +kmod +lz4 lzma +openssl pam passwdqc pcre pkcs11 policykit pwquality qrcode - +resolvconf +seccomp selinux split-usr +sysv-utils test tpm ukify vanilla xkb +zstd + +resolvconf +seccomp selinux split-usr sysv-utils test tpm ukify vanilla xkb +zstd " REQUIRED_USE=" ${PYTHON_REQUIRED_USE} @@ -79,7 +79,6 @@ COMMON_DEPEND=" kmod? ( >=sys-apps/kmod-15:0= ) lz4? ( >=app-arch/lz4-0_p131:0=[${MULTILIB_USEDEP}] ) lzma? ( >=app-arch/xz-utils-5.0.5-r1:0=[${MULTILIB_USEDEP}] ) - iptables? ( net-firewall/iptables:0= ) openssl? ( >=dev-libs/openssl-1.1.0:0= ) pam? ( sys-libs/pam:=[${MULTILIB_USEDEP}] ) passwdqc? ( sys-auth/passwdqc:0= ) @@ -146,17 +145,19 @@ RDEPEND="${COMMON_DEPEND} ) !sysv-utils? ( sys-apps/sysvinit ) resolvconf? ( !net-dns/openresolv ) - !sys-apps/hwids[udev] !sys-auth/nss-myhostname !sys-fs/eudev !sys-fs/udev " # sys-apps/dbus: the daemon only (+ build-time lib dep for tests) -PDEPEND=">=sys-apps/dbus-1.9.8[systemd] +PDEPEND=" + >=sys-apps/dbus-1.9.8[systemd] >=sys-fs/udev-init-scripts-34 policykit? ( sys-auth/polkit ) - !vanilla? ( sys-apps/gentoo-systemd-integration )" + !sysv-utils? ( sys-apps/systemd-initctl ) + !vanilla? ( sys-apps/gentoo-systemd-integration ) +" BDEPEND=" app-arch/xz-utils:0 @@ -345,7 +346,6 @@ multilib_src_configure() { $(meson_feature lz4) $(meson_feature lzma xz) $(meson_feature zstd) - $(meson_native_use_feature iptables libiptc) $(meson_native_use_feature openssl) $(meson_feature pam) $(meson_native_use_feature passwdqc) diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/systemd/systemd-259.1.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/systemd/systemd-259.4-r1.ebuild similarity index 96% rename from sdk_container/src/third_party/portage-stable/sys-apps/systemd/systemd-259.1.ebuild rename to sdk_container/src/third_party/portage-stable/sys-apps/systemd/systemd-259.4-r1.ebuild index 1750925132c..6e24ac13771 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/systemd/systemd-259.1.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-apps/systemd/systemd-259.4-r1.ebuild @@ -20,7 +20,7 @@ else SRC_URI="https://github.com/systemd/${PN}/archive/refs/tags/v${MY_PV}.tar.gz -> ${MY_P}.tar.gz" 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 fi @@ -34,9 +34,9 @@ LICENSE="GPL-2 LGPL-2.1 MIT public-domain" SLOT="0/2" IUSE=" acl apparmor audit boot bpf cgroup-hybrid cryptsetup curl +dns-over-tls elfutils - fido2 +gcrypt gnutls homed http idn importd iptables +kernel-install +kmod + fido2 +gcrypt gnutls homed http idn importd +kernel-install +kmod +lz4 lzma +openssl pam passwdqc pcre pkcs11 policykit pwquality qrcode - +resolvconf +seccomp selinux split-usr +sysv-utils test tpm ukify vanilla xkb +zstd + +resolvconf +seccomp selinux split-usr sysv-utils test tpm ukify vanilla xkb +zstd " REQUIRED_USE=" ${PYTHON_REQUIRED_USE} @@ -79,7 +79,6 @@ COMMON_DEPEND=" kmod? ( >=sys-apps/kmod-15:0= ) lz4? ( >=app-arch/lz4-0_p131:0=[${MULTILIB_USEDEP}] ) lzma? ( >=app-arch/xz-utils-5.0.5-r1:0=[${MULTILIB_USEDEP}] ) - iptables? ( net-firewall/iptables:0= ) openssl? ( >=dev-libs/openssl-1.1.0:0= ) pam? ( sys-libs/pam:=[${MULTILIB_USEDEP}] ) passwdqc? ( sys-auth/passwdqc:0= ) @@ -146,17 +145,19 @@ RDEPEND="${COMMON_DEPEND} ) !sysv-utils? ( sys-apps/sysvinit ) resolvconf? ( !net-dns/openresolv ) - !sys-apps/hwids[udev] !sys-auth/nss-myhostname !sys-fs/eudev !sys-fs/udev " # sys-apps/dbus: the daemon only (+ build-time lib dep for tests) -PDEPEND=">=sys-apps/dbus-1.9.8[systemd] +PDEPEND=" + >=sys-apps/dbus-1.9.8[systemd] >=sys-fs/udev-init-scripts-34 policykit? ( sys-auth/polkit ) - !vanilla? ( sys-apps/gentoo-systemd-integration )" + !sysv-utils? ( sys-apps/systemd-initctl ) + !vanilla? ( sys-apps/gentoo-systemd-integration ) +" BDEPEND=" app-arch/xz-utils:0 @@ -279,7 +280,7 @@ src_unpack() { src_prepare() { local PATCHES=( - "${FILESDIR}/systemd-259-test-echo.patch" + "${FILESDIR}/systemd-260-mips.patch" ) if ! use vanilla; then @@ -346,7 +347,6 @@ multilib_src_configure() { $(meson_feature lz4) $(meson_feature lzma xz) $(meson_feature zstd) - $(meson_native_use_feature iptables libiptc) $(meson_native_use_feature openssl) $(meson_feature pam) $(meson_native_use_feature passwdqc) diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/systemd/systemd-259.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/systemd/systemd-260-r2.ebuild similarity index 66% rename from sdk_container/src/third_party/portage-stable/sys-apps/systemd/systemd-259.ebuild rename to sdk_container/src/third_party/portage-stable/sys-apps/systemd/systemd-260-r2.ebuild index 83d7f3cc534..8dda9a83a09 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/systemd/systemd-259.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-apps/systemd/systemd-260-r2.ebuild @@ -24,8 +24,8 @@ else fi fi -inherit bash-completion-r1 linux-info meson-multilib optfeature pam python-single-r1 -inherit secureboot systemd toolchain-funcs udev +inherit branding linux-info meson-multilib optfeature pam python-single-r1 +inherit secureboot shell-completion systemd toolchain-funcs udev DESCRIPTION="System and service manager for Linux" HOMEPAGE="https://systemd.io/" @@ -33,13 +33,14 @@ HOMEPAGE="https://systemd.io/" LICENSE="GPL-2 LGPL-2.1 MIT public-domain" SLOT="0/2" IUSE=" - acl apparmor audit boot bpf cgroup-hybrid cryptsetup curl +dns-over-tls elfutils - fido2 +gcrypt gnutls homed http idn importd iptables +kernel-install +kmod - +lz4 lzma +openssl pam passwdqc pcre pkcs11 policykit pwquality qrcode - +resolvconf +seccomp selinux split-usr +sysv-utils test tpm ukify vanilla xkb +zstd + acl apparmor audit boot bpf cryptsetup curl +dns-over-tls elfutils + fido2 +gcrypt gnutls homed idn importd +kernel-install +kmod +lz4 lzma + +openssl pam passwdqc pcre pkcs11 policykit pwquality qrcode remote + +resolvconf +seccomp selinux sysv-utils test tpm ukify vanilla xkb +zstd " REQUIRED_USE=" ${PYTHON_REQUIRED_USE} + boot? ( kernel-install ) dns-over-tls? ( openssl ) fido2? ( cryptsetup openssl ) homed? ( cryptsetup pam openssl ) @@ -47,51 +48,56 @@ REQUIRED_USE=" ?? ( passwdqc pwquality ) passwdqc? ( homed ) pwquality? ( homed ) - boot? ( kernel-install ) + remote? ( curl ) ukify? ( boot ) " RESTRICT="!test? ( test )" -MINKV="4.15" +MINKV="5.10" COMMON_DEPEND=" - >=sys-apps/util-linux-2.32:0=[${MULTILIB_USEDEP}] - sys-libs/libcap:0=[${MULTILIB_USEDEP}] - virtual/libcrypt:=[${MULTILIB_USEDEP}] - acl? ( sys-apps/acl:0= ) - apparmor? ( >=sys-libs/libapparmor-2.13:0= ) - audit? ( >=sys-process/audit-2:0= ) - bpf? ( >=dev-libs/libbpf-1.4.0:0= ) - cryptsetup? ( >=sys-fs/cryptsetup-2.0.1:0= ) + >=sys-apps/util-linux-2.37 + acl? ( sys-apps/acl ) + apparmor? ( >=sys-libs/libapparmor-2.13 ) + audit? ( >=sys-process/audit-2 ) + bpf? ( >=dev-libs/libbpf-1.4.0 ) + cryptsetup? ( >=sys-fs/cryptsetup-2.4.0:= ) curl? ( >=net-misc/curl-7.32.0:0= ) - elfutils? ( >=dev-libs/elfutils-0.158:0= ) + elfutils? ( >=dev-libs/elfutils-0.177 ) + elibc_glibc? ( + >=sys-libs/glibc-2.34 + >=sys-libs/libxcrypt-4.4.0 + ) + elibc_musl? ( + >=sys-libs/musl-1.2.5-r8 + virtual/libcrypt + ) fido2? ( - dev-libs/libfido2:0= + dev-libs/libfido2 ) - gcrypt? ( >=dev-libs/libgcrypt-1.4.5:0=[${MULTILIB_USEDEP}] ) + gcrypt? ( >=dev-libs/libgcrypt-1.4.5 ) gnutls? ( >=net-libs/gnutls-3.6.0:0= ) - http? ( >=net-libs/libmicrohttpd-0.9.33:0=[epoll(+)] ) - idn? ( net-dns/libidn2:= ) + remote? ( >=net-libs/libmicrohttpd-0.9.33:0=[epoll(+)] ) + idn? ( net-dns/libidn2 ) importd? ( app-arch/bzip2:0= virtual/zlib:= ) kmod? ( >=sys-apps/kmod-15:0= ) - lz4? ( >=app-arch/lz4-0_p131:0=[${MULTILIB_USEDEP}] ) - lzma? ( >=app-arch/xz-utils-5.0.5-r1:0=[${MULTILIB_USEDEP}] ) - iptables? ( net-firewall/iptables:0= ) - openssl? ( >=dev-libs/openssl-1.1.0:0= ) + lz4? ( >=app-arch/lz4-0_p131:0= ) + lzma? ( >=app-arch/xz-utils-5.0.5-r1:0= ) + openssl? ( >=dev-libs/openssl-3.0.0:0= ) pam? ( sys-libs/pam:=[${MULTILIB_USEDEP}] ) - passwdqc? ( sys-auth/passwdqc:0= ) - pkcs11? ( >=app-crypt/p11-kit-0.23.3:0= ) + passwdqc? ( sys-auth/passwdqc ) + pkcs11? ( >=app-crypt/p11-kit-0.23.3 ) pcre? ( dev-libs/libpcre2 ) - pwquality? ( >=dev-libs/libpwquality-1.4.1:0= ) + pwquality? ( >=dev-libs/libpwquality-1.4.1 ) qrcode? ( >=media-gfx/qrencode-3:0= ) - seccomp? ( >=sys-libs/libseccomp-2.3.3:0= ) - selinux? ( >=sys-libs/libselinux-2.1.9:0= ) - tpm? ( app-crypt/tpm2-tss:0= ) - xkb? ( >=x11-libs/libxkbcommon-0.4.1:0= ) - zstd? ( >=app-arch/zstd-1.4.0:0=[${MULTILIB_USEDEP}] ) + seccomp? ( >=sys-libs/libseccomp-2.4.0 ) + selinux? ( >=sys-libs/libselinux-2.1.9 ) + tpm? ( app-crypt/tpm2-tss ) + xkb? ( >=x11-libs/libxkbcommon-0.4.1 ) + zstd? ( >=app-arch/zstd-1.4.0:0= ) " # Newer linux-headers needed by ia64, bug #480218 @@ -131,7 +137,6 @@ RDEPEND="${COMMON_DEPEND} >=acct-user/systemd-resolve-0-r1 >=acct-user/systemd-timesync-0-r1 >=sys-apps/baselayout-2.2 - elibc_musl? ( >=sys-libs/musl-1.2.5-r8 ) ukify? ( ${PYTHON_DEPS} $(python_gen_cond_dep "${PEFILE_DEPEND}") @@ -146,17 +151,19 @@ RDEPEND="${COMMON_DEPEND} ) !sysv-utils? ( sys-apps/sysvinit ) resolvconf? ( !net-dns/openresolv ) - !sys-apps/hwids[udev] !sys-auth/nss-myhostname !sys-fs/eudev !sys-fs/udev " # sys-apps/dbus: the daemon only (+ build-time lib dep for tests) -PDEPEND=">=sys-apps/dbus-1.9.8[systemd] +PDEPEND=" + >=sys-apps/dbus-1.9.8[systemd] >=sys-fs/udev-init-scripts-34 policykit? ( sys-auth/polkit ) - !vanilla? ( sys-apps/gentoo-systemd-integration )" + !sysv-utils? ( sys-apps/systemd-initctl ) + !vanilla? ( sys-apps/gentoo-systemd-integration ) +" BDEPEND=" app-arch/xz-utils:0 @@ -172,6 +179,7 @@ BDEPEND=" test? ( app-text/tree dev-lang/perl + >=dev-libs/glib-2.22.0:2 sys-apps/dbus ) app-text/docbook-xml-dtd:4.2 @@ -192,38 +200,7 @@ BDEPEND=" QA_FLAGS_IGNORED="usr/lib/systemd/boot/efi/.*" QA_EXECSTACK="usr/lib/systemd/boot/efi/*" -check_cgroup_layout() { - # https://bugs.gentoo.org/935261 - [[ ${MERGE_TYPE} != buildonly ]] || return - [[ -z ${ROOT} ]] || return - [[ -e /sys/fs/cgroup/unified ]] || return - grep -q 'SYSTEMD_CGROUP_ENABLE_LEGACY_FORCE=1' /proc/cmdline && return - - eerror "This system appears to be booted with the 'hybrid' cgroup layout." - eerror "This layout obsolete and is disabled in systemd." - - if grep -qF 'systemd.unified_cgroup_hierarchy'; then - eerror "Remove the systemd.unified_cgroup_hierarchy option" - eerror "from the kernel command line and reboot." - die "hybrid cgroup layout detected" - fi -} - pkg_pretend() { - if use split-usr; then - eerror "Please complete the migration to merged-usr." - eerror "https://wiki.gentoo.org/wiki/Merge-usr" - die "systemd no longer supports split-usr" - fi - - check_cgroup_layout - - if use cgroup-hybrid; then - eerror "Disable the 'cgroup-hybrid' USE flag." - eerror "Rebuild any initramfs images after rebuilding systemd." - die "cgroup-hybrid is no longer supported" - fi - if [[ ${MERGE_TYPE} != buildonly ]]; then local CONFIG_CHECK="~BLK_DEV_BSG ~CGROUPS ~CGROUP_BPF ~DEVTMPFS ~EPOLL ~FANOTIFY ~FHANDLE @@ -279,7 +256,8 @@ src_unpack() { src_prepare() { local PATCHES=( - "${FILESDIR}/systemd-259-vmspawn-use-indexed-loop.patch" + "${FILESDIR}/systemd-260-mips.patch" + "${FILESDIR}/systemd-260-kernel-install.patch" ) if ! use vanilla; then @@ -304,102 +282,125 @@ multilib_src_configure() { local myconf=( --localstatedir="${EPREFIX}/var" -Ddocdir="share/doc/${PF}" - # default is developer, bug 918671 - -Dmode=release - -Dsupport-url="https://gentoo.org/support/" - -Dpamlibdir="$(getpam_mod_dir)" + -Dmode=release # default is developer, bug 918671 -Dlibc=$(usex elibc_musl musl glibc) - # avoid bash-completion dep + -Dsupport-url="${BRANDING_OS_SUPPORT_URL}" + -Dpamlibdir="$(getpam_mod_dir)" -Dbashcompletiondir="$(get_bashcompdir)" + -Dzshcompletiondir="$(get_zshcompdir)" -Dsplit-bin=false - # Disable compatibility with sysvinit - -Dsysvinit-path= - -Dsysvrcnd-path= - # no deps - -Dima=true - # Match /etc/shells, bug 919749 - -Ddebug-shell="${EPREFIX}/bin/sh" + -Dima=true # no deps + -Ddebug-shell="${EPREFIX}/bin/sh" # Match /etc/shells, bug 919749 -Ddefault-user-shell="${EPREFIX}/bin/bash" - # Optional components/dependencies - $(meson_native_use_feature acl) - $(meson_native_use_feature apparmor) - $(meson_native_use_feature audit) - $(meson_native_use_feature boot bootloader) - $(meson_native_use_feature bpf bpf-framework) -Dbpf-compiler=gcc - $(meson_native_use_feature cryptsetup libcryptsetup) - $(meson_native_use_feature curl libcurl) - $(meson_native_use_bool dns-over-tls dns-over-tls) - $(meson_native_use_feature elfutils) - $(meson_native_use_feature fido2 libfido2) - $(meson_feature gcrypt) - $(meson_native_use_feature gnutls) - $(meson_native_use_feature homed) - $(meson_native_use_feature http microhttpd) - $(meson_native_use_bool idn) - $(meson_native_use_feature importd) - $(meson_native_use_feature importd bzip2) - $(meson_native_use_feature importd zlib) - $(meson_native_use_bool kernel-install) - $(meson_native_use_feature kmod) - $(meson_feature lz4) - $(meson_feature lzma xz) - $(meson_use test tests) - $(meson_feature zstd) - $(meson_native_use_feature iptables libiptc) - $(meson_native_use_feature openssl) - $(meson_feature pam) - $(meson_native_use_feature passwdqc) - $(meson_native_use_feature pkcs11 p11kit) - $(meson_native_use_feature pcre pcre2) - $(meson_native_use_feature policykit polkit) - $(meson_native_use_feature pwquality) - $(meson_native_use_feature qrcode qrencode) - $(meson_native_use_feature seccomp) - $(meson_native_use_feature selinux) - $(meson_native_use_feature tpm tpm2) - $(meson_native_use_feature test dbus) - $(meson_native_use_feature ukify) - $(meson_native_use_feature xkb xkbcommon) -Dntp-servers="0.gentoo.pool.ntp.org 1.gentoo.pool.ntp.org 2.gentoo.pool.ntp.org 3.gentoo.pool.ntp.org" # Breaks screen, tmux, etc. -Ddefault-kill-user-processes=false -Dcreate-log-dirs=false - - # multilib options - $(meson_native_true backlight) - $(meson_native_true binfmt) - $(meson_native_true coredump) - $(meson_native_true environment-d) - $(meson_native_true firstboot) - $(meson_native_true hibernate) - $(meson_native_true hostnamed) - $(meson_native_true ldconfig) - $(meson_native_true localed) - $(meson_native_enabled man) - $(meson_native_true networkd) - $(meson_native_true quotacheck) - $(meson_native_true randomseed) - $(meson_native_true rfkill) - $(meson_native_true sysusers) - $(meson_native_true timedated) - $(meson_native_true timesyncd) - $(meson_native_true tmpfiles) - $(meson_native_true vconsole) + -Dlibcrypt=enabled + -Dcompat-mutable-uid-boundaries=true + + # options affecting multilib + $(meson_use !elibc_musl nss-myhostname) + $(meson_feature !elibc_musl nss-mymachines) + $(meson_feature !elibc_musl nss-resolve) + $(meson_use !elibc_musl nss-systemd) + $(meson_feature pam) ) - case $(tc-arch) in - amd64|arm|arm64|loong|ppc|ppc64|riscv|s390|x86) - # src/vmspawn/vmspawn-util.h: QEMU_MACHINE_TYPE - myconf+=( $(meson_native_enabled vmspawn) ) ;; - *) - myconf+=( -Dvmspawn=disabled ) ;; - esac + # workaround for bug 969103 + if [[ ${CHOST} == riscv32* ]] ; then + myconf+=( -Dtests=true ) + else + myconf+=( $(meson_use test tests) ) + fi + + if multilib_is_native_abi; then + myconf+=( + --auto-features=enabled + -Dman=enabled + -Dxenctrl=disabled + + # Optional components/dependencies + $(meson_feature acl) + $(meson_feature apparmor) + $(meson_feature audit) + $(meson_feature boot bootloader) + $(meson_feature bpf bpf-framework) + $(meson_feature cryptsetup libcryptsetup) + $(meson_feature cryptsetup libcryptsetup-plugins) + $(meson_feature curl libcurl) + $(meson_use dns-over-tls dns-over-tls) + $(meson_feature elfutils) + $(meson_feature fido2 libfido2) + $(meson_feature gcrypt) + $(meson_feature gnutls) + $(meson_feature homed) + $(meson_use idn) + $(meson_feature importd) + $(meson_feature importd bzip2) + $(meson_feature importd sysupdate) + $(meson_feature importd zlib) + $(meson_use kernel-install) + $(meson_feature kmod) + $(meson_feature lz4) + $(meson_feature lzma xz) + $(meson_feature zstd) + $(meson_feature openssl) + $(meson_feature passwdqc) + $(meson_feature pkcs11 p11kit) + $(meson_feature pcre pcre2) + $(meson_feature policykit polkit) + $(meson_feature pwquality) + $(meson_feature qrcode qrencode) + $(meson_feature remote) + $(meson_feature remote microhttpd) + $(meson_feature seccomp) + $(meson_feature selinux) + $(meson_feature tpm tpm2) + $(meson_feature test dbus) + $(meson_feature test glib) + $(meson_feature ukify) + $(meson_feature xkb xkbcommon) + ) + + case $(tc-arch) in + amd64|arm|arm64|loong|ppc|ppc64|riscv|s390|x86) + # src/vmspawn/vmspawn-util.h: QEMU_MACHINE_TYPE + myconf+=( $(meson_native_enabled vmspawn) ) ;; + *) + myconf+=( -Dvmspawn=disabled ) ;; + esac + else + myconf+=( + --auto-features=disabled + ) + fi meson_src_configure "${myconf[@]}" } +multilib_src_compile() { + local args=() + if ! multilib_is_native_abi; then + args+=( + devel libsystemd libudev + $(usex elibc_musl '' nss) + $(usev pam) + ) + fi + meson_src_compile "${args[@]}" +} + multilib_src_test() { + local args=( --timeout-multiplier=10 ) + if ! multilib_is_native_abi; then + args+=( + --suite libsystemd --suite libudev + $(usex elibc_musl '' '--suite nss') + $(usex pam '--suite pam' '') + ) + fi ( unset DBUS_SESSION_BUS_ADDRESS XDG_RUNTIME_DIR export COLUMNS=80 @@ -407,10 +408,21 @@ multilib_src_test() { addpredict /proc addpredict /run addpredict /sys/fs/cgroup - meson_src_test --timeout-multiplier=10 + meson_src_test "${args[@]}" ) || die } +multilib_src_install() { + local args=() + if ! multilib_is_native_abi; then + local tags=devel,libsystemd,libudev + use !elibc_musl && tags+=,nss + use pam && tags+=,pam + args+=( --tags "${tags}" ) + fi + meson_src_install "${args[@]}" +} + multilib_src_install_all() { einstalldocs dodoc "${FILESDIR}"/nsswitch.conf @@ -531,6 +543,9 @@ pkg_postinst() { # between OpenRC & systemd migrate_locale + # Bug 971385 + systemd_reenable getty@.service + if [[ -z ${REPLACING_VERSIONS} ]]; then if type systemctl &>/dev/null; then systemctl --root="${ROOT:-/}" enable getty@.service remote-fs.target || FAIL=1 diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/systemd/systemd-9999.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/systemd/systemd-9999.ebuild index 5a6103b359b..1b2f11cf8ff 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/systemd/systemd-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-apps/systemd/systemd-9999.ebuild @@ -33,13 +33,14 @@ HOMEPAGE="https://systemd.io/" LICENSE="GPL-2 LGPL-2.1 MIT public-domain" SLOT="0/2" IUSE=" - acl apparmor audit boot bpf cgroup-hybrid cryptsetup curl +dns-over-tls elfutils - fido2 +gcrypt gnutls homed http idn importd iptables +kernel-install +kmod - +lz4 lzma +openssl pam passwdqc pcre pkcs11 policykit pwquality qrcode - +resolvconf +seccomp selinux split-usr +sysv-utils test tpm ukify vanilla xkb +zstd + acl apparmor audit boot bpf cryptsetup curl +dns-over-tls elfutils + fido2 +gcrypt gnutls homed idn importd +kernel-install +kmod +lz4 lzma + +openssl pam passwdqc pcre pkcs11 policykit pwquality qrcode remote + +resolvconf +seccomp selinux sysv-utils test tpm ukify vanilla xkb +zstd " REQUIRED_USE=" ${PYTHON_REQUIRED_USE} + boot? ( kernel-install ) dns-over-tls? ( openssl ) fido2? ( cryptsetup openssl ) homed? ( cryptsetup pam openssl ) @@ -47,51 +48,56 @@ REQUIRED_USE=" ?? ( passwdqc pwquality ) passwdqc? ( homed ) pwquality? ( homed ) - boot? ( kernel-install ) + remote? ( curl ) ukify? ( boot ) " RESTRICT="!test? ( test )" -MINKV="4.15" +MINKV="5.10" COMMON_DEPEND=" - >=sys-apps/util-linux-2.32:0=[${MULTILIB_USEDEP}] - sys-libs/libcap:0=[${MULTILIB_USEDEP}] - virtual/libcrypt:=[${MULTILIB_USEDEP}] - acl? ( sys-apps/acl:0= ) - apparmor? ( >=sys-libs/libapparmor-2.13:0= ) - audit? ( >=sys-process/audit-2:0= ) - bpf? ( >=dev-libs/libbpf-1.4.0:0= ) - cryptsetup? ( >=sys-fs/cryptsetup-2.0.1:0= ) + >=sys-apps/util-linux-2.37 + acl? ( sys-apps/acl ) + apparmor? ( >=sys-libs/libapparmor-2.13 ) + audit? ( >=sys-process/audit-2 ) + bpf? ( >=dev-libs/libbpf-1.4.0 ) + cryptsetup? ( >=sys-fs/cryptsetup-2.4.0:= ) curl? ( >=net-misc/curl-7.32.0:0= ) - elfutils? ( >=dev-libs/elfutils-0.158:0= ) + elfutils? ( >=dev-libs/elfutils-0.177 ) + elibc_glibc? ( + >=sys-libs/glibc-2.34 + >=sys-libs/libxcrypt-4.4.0 + ) + elibc_musl? ( + >=sys-libs/musl-1.2.5-r8 + virtual/libcrypt + ) fido2? ( - dev-libs/libfido2:0= + dev-libs/libfido2 ) - gcrypt? ( >=dev-libs/libgcrypt-1.4.5:0=[${MULTILIB_USEDEP}] ) + gcrypt? ( >=dev-libs/libgcrypt-1.4.5 ) gnutls? ( >=net-libs/gnutls-3.6.0:0= ) - http? ( >=net-libs/libmicrohttpd-0.9.33:0=[epoll(+)] ) - idn? ( net-dns/libidn2:= ) + remote? ( >=net-libs/libmicrohttpd-0.9.33:0=[epoll(+)] ) + idn? ( net-dns/libidn2 ) importd? ( app-arch/bzip2:0= virtual/zlib:= ) kmod? ( >=sys-apps/kmod-15:0= ) - lz4? ( >=app-arch/lz4-0_p131:0=[${MULTILIB_USEDEP}] ) - lzma? ( >=app-arch/xz-utils-5.0.5-r1:0=[${MULTILIB_USEDEP}] ) - iptables? ( net-firewall/iptables:0= ) - openssl? ( >=dev-libs/openssl-1.1.0:0= ) + lz4? ( >=app-arch/lz4-0_p131:0= ) + lzma? ( >=app-arch/xz-utils-5.0.5-r1:0= ) + openssl? ( >=dev-libs/openssl-3.0.0:0= ) pam? ( sys-libs/pam:=[${MULTILIB_USEDEP}] ) - passwdqc? ( sys-auth/passwdqc:0= ) - pkcs11? ( >=app-crypt/p11-kit-0.23.3:0= ) + passwdqc? ( sys-auth/passwdqc ) + pkcs11? ( >=app-crypt/p11-kit-0.23.3 ) pcre? ( dev-libs/libpcre2 ) - pwquality? ( >=dev-libs/libpwquality-1.4.1:0= ) + pwquality? ( >=dev-libs/libpwquality-1.4.1 ) qrcode? ( >=media-gfx/qrencode-3:0= ) - seccomp? ( >=sys-libs/libseccomp-2.3.3:0= ) - selinux? ( >=sys-libs/libselinux-2.1.9:0= ) - tpm? ( app-crypt/tpm2-tss:0= ) - xkb? ( >=x11-libs/libxkbcommon-0.4.1:0= ) - zstd? ( >=app-arch/zstd-1.4.0:0=[${MULTILIB_USEDEP}] ) + seccomp? ( >=sys-libs/libseccomp-2.4.0 ) + selinux? ( >=sys-libs/libselinux-2.1.9 ) + tpm? ( app-crypt/tpm2-tss ) + xkb? ( >=x11-libs/libxkbcommon-0.4.1 ) + zstd? ( >=app-arch/zstd-1.4.0:0= ) " # Newer linux-headers needed by ia64, bug #480218 @@ -131,7 +137,6 @@ RDEPEND="${COMMON_DEPEND} >=acct-user/systemd-resolve-0-r1 >=acct-user/systemd-timesync-0-r1 >=sys-apps/baselayout-2.2 - elibc_musl? ( >=sys-libs/musl-1.2.5-r8 ) ukify? ( ${PYTHON_DEPS} $(python_gen_cond_dep "${PEFILE_DEPEND}") @@ -146,17 +151,19 @@ RDEPEND="${COMMON_DEPEND} ) !sysv-utils? ( sys-apps/sysvinit ) resolvconf? ( !net-dns/openresolv ) - !sys-apps/hwids[udev] !sys-auth/nss-myhostname !sys-fs/eudev !sys-fs/udev " # sys-apps/dbus: the daemon only (+ build-time lib dep for tests) -PDEPEND=">=sys-apps/dbus-1.9.8[systemd] +PDEPEND=" + >=sys-apps/dbus-1.9.8[systemd] >=sys-fs/udev-init-scripts-34 policykit? ( sys-auth/polkit ) - !vanilla? ( sys-apps/gentoo-systemd-integration )" + !sysv-utils? ( sys-apps/systemd-initctl ) + !vanilla? ( sys-apps/gentoo-systemd-integration ) +" BDEPEND=" app-arch/xz-utils:0 @@ -172,6 +179,7 @@ BDEPEND=" test? ( app-text/tree dev-lang/perl + >=dev-libs/glib-2.22.0:2 sys-apps/dbus ) app-text/docbook-xml-dtd:4.2 @@ -192,38 +200,7 @@ BDEPEND=" QA_FLAGS_IGNORED="usr/lib/systemd/boot/efi/.*" QA_EXECSTACK="usr/lib/systemd/boot/efi/*" -check_cgroup_layout() { - # https://bugs.gentoo.org/935261 - [[ ${MERGE_TYPE} != buildonly ]] || return - [[ -z ${ROOT} ]] || return - [[ -e /sys/fs/cgroup/unified ]] || return - grep -q 'SYSTEMD_CGROUP_ENABLE_LEGACY_FORCE=1' /proc/cmdline && return - - eerror "This system appears to be booted with the 'hybrid' cgroup layout." - eerror "This layout obsolete and is disabled in systemd." - - if grep -qF 'systemd.unified_cgroup_hierarchy'; then - eerror "Remove the systemd.unified_cgroup_hierarchy option" - eerror "from the kernel command line and reboot." - die "hybrid cgroup layout detected" - fi -} - pkg_pretend() { - if use split-usr; then - eerror "Please complete the migration to merged-usr." - eerror "https://wiki.gentoo.org/wiki/Merge-usr" - die "systemd no longer supports split-usr" - fi - - check_cgroup_layout - - if use cgroup-hybrid; then - eerror "Disable the 'cgroup-hybrid' USE flag." - eerror "Rebuild any initramfs images after rebuilding systemd." - die "cgroup-hybrid is no longer supported" - fi - if [[ ${MERGE_TYPE} != buildonly ]]; then local CONFIG_CHECK="~BLK_DEV_BSG ~CGROUPS ~CGROUP_BPF ~DEVTMPFS ~EPOLL ~FANOTIFY ~FHANDLE @@ -303,88 +280,30 @@ multilib_src_configure() { local myconf=( --localstatedir="${EPREFIX}/var" -Ddocdir="share/doc/${PF}" - # default is developer, bug 918671 - -Dmode=release + -Dmode=release # default is developer, bug 918671 + -Dlibc=$(usex elibc_musl musl glibc) -Dsupport-url="${BRANDING_OS_SUPPORT_URL}" -Dpamlibdir="$(getpam_mod_dir)" - -Dlibc=$(usex elibc_musl musl glibc) - # avoid bash-completion dep -Dbashcompletiondir="$(get_bashcompdir)" -Dzshcompletiondir="$(get_zshcompdir)" -Dsplit-bin=false - # Disable compatibility with sysvinit - -Dsysvinit-path= - -Dsysvrcnd-path= - # no deps - -Dima=true - # Match /etc/shells, bug 919749 - -Ddebug-shell="${EPREFIX}/bin/sh" + -Dima=true # no deps + -Ddebug-shell="${EPREFIX}/bin/sh" # Match /etc/shells, bug 919749 -Ddefault-user-shell="${EPREFIX}/bin/bash" - # Optional components/dependencies - $(meson_native_use_feature acl) - $(meson_native_use_feature apparmor) - $(meson_native_use_feature audit) - $(meson_native_use_feature boot bootloader) - $(meson_native_use_feature bpf bpf-framework) -Dbpf-compiler=gcc - $(meson_native_use_feature cryptsetup libcryptsetup) - $(meson_native_use_feature curl libcurl) - $(meson_native_use_bool dns-over-tls dns-over-tls) - $(meson_native_use_feature elfutils) - $(meson_native_use_feature fido2 libfido2) - $(meson_feature gcrypt) - $(meson_native_use_feature gnutls) - $(meson_native_use_feature homed) - $(meson_native_use_feature http microhttpd) - $(meson_native_use_bool idn) - $(meson_native_use_feature importd) - $(meson_native_use_feature importd bzip2) - $(meson_native_use_feature importd zlib) - $(meson_native_use_bool kernel-install) - $(meson_native_use_feature kmod) - $(meson_feature lz4) - $(meson_feature lzma xz) - $(meson_feature zstd) - $(meson_native_use_feature iptables libiptc) - $(meson_native_use_feature openssl) - $(meson_feature pam) - $(meson_native_use_feature passwdqc) - $(meson_native_use_feature pkcs11 p11kit) - $(meson_native_use_feature pcre pcre2) - $(meson_native_use_feature policykit polkit) - $(meson_native_use_feature pwquality) - $(meson_native_use_feature qrcode qrencode) - $(meson_native_use_feature seccomp) - $(meson_native_use_feature selinux) - $(meson_native_use_feature tpm tpm2) - $(meson_native_use_feature test dbus) - $(meson_native_use_feature ukify) - $(meson_native_use_feature xkb xkbcommon) -Dntp-servers="0.gentoo.pool.ntp.org 1.gentoo.pool.ntp.org 2.gentoo.pool.ntp.org 3.gentoo.pool.ntp.org" # Breaks screen, tmux, etc. -Ddefault-kill-user-processes=false -Dcreate-log-dirs=false - - # multilib options - $(meson_native_true backlight) - $(meson_native_true binfmt) - $(meson_native_true coredump) - $(meson_native_true environment-d) - $(meson_native_true firstboot) - $(meson_native_true hibernate) - $(meson_native_true hostnamed) - $(meson_native_true ldconfig) - $(meson_native_true localed) - $(meson_native_enabled man) - $(meson_native_true networkd) - $(meson_native_true quotacheck) - $(meson_native_true randomseed) - $(meson_native_true rfkill) - $(meson_native_true sysusers) - $(meson_native_true timedated) - $(meson_native_true timesyncd) - $(meson_native_true tmpfiles) - $(meson_native_true vconsole) + -Dlibcrypt=enabled + -Dcompat-mutable-uid-boundaries=true + + # options affecting multilib + $(meson_use !elibc_musl nss-myhostname) + $(meson_feature !elibc_musl nss-mymachines) + $(meson_feature !elibc_musl nss-resolve) + $(meson_use !elibc_musl nss-systemd) + $(meson_feature pam) ) # workaround for bug 969103 @@ -394,18 +313,92 @@ multilib_src_configure() { myconf+=( $(meson_use test tests) ) fi - case $(tc-arch) in - amd64|arm|arm64|loong|ppc|ppc64|riscv|s390|x86) - # src/vmspawn/vmspawn-util.h: QEMU_MACHINE_TYPE - myconf+=( $(meson_native_enabled vmspawn) ) ;; - *) - myconf+=( -Dvmspawn=disabled ) ;; - esac + if multilib_is_native_abi; then + myconf+=( + --auto-features=enabled + -Dman=enabled + -Dxenctrl=disabled + + # Optional components/dependencies + $(meson_feature acl) + $(meson_feature apparmor) + $(meson_feature audit) + $(meson_feature boot bootloader) + $(meson_feature bpf bpf-framework) + $(meson_feature cryptsetup libcryptsetup) + $(meson_feature cryptsetup libcryptsetup-plugins) + $(meson_feature curl libcurl) + $(meson_use dns-over-tls dns-over-tls) + $(meson_feature elfutils) + $(meson_feature fido2 libfido2) + $(meson_feature gcrypt) + $(meson_feature gnutls) + $(meson_feature homed) + $(meson_use idn) + $(meson_feature importd) + $(meson_feature importd bzip2) + $(meson_feature importd sysupdate) + $(meson_feature importd zlib) + $(meson_use kernel-install) + $(meson_feature kmod) + $(meson_feature lz4) + $(meson_feature lzma xz) + $(meson_feature zstd) + $(meson_feature openssl) + $(meson_feature passwdqc) + $(meson_feature pkcs11 p11kit) + $(meson_feature pcre pcre2) + $(meson_feature policykit polkit) + $(meson_feature pwquality) + $(meson_feature qrcode qrencode) + $(meson_feature remote) + $(meson_feature remote microhttpd) + $(meson_feature seccomp) + $(meson_feature selinux) + $(meson_feature tpm tpm2) + $(meson_feature test dbus) + $(meson_feature test glib) + $(meson_feature ukify) + $(meson_feature xkb xkbcommon) + ) + + case $(tc-arch) in + amd64|arm|arm64|loong|ppc|ppc64|riscv|s390|x86) + # src/vmspawn/vmspawn-util.h: QEMU_MACHINE_TYPE + myconf+=( $(meson_native_enabled vmspawn) ) ;; + *) + myconf+=( -Dvmspawn=disabled ) ;; + esac + else + myconf+=( + --auto-features=disabled + ) + fi meson_src_configure "${myconf[@]}" } +multilib_src_compile() { + local args=() + if ! multilib_is_native_abi; then + args+=( + devel libsystemd libudev + $(usex elibc_musl '' nss) + $(usev pam) + ) + fi + meson_src_compile "${args[@]}" +} + multilib_src_test() { + local args=( --timeout-multiplier=10 ) + if ! multilib_is_native_abi; then + args+=( + --suite libsystemd --suite libudev + $(usex elibc_musl '' '--suite nss') + $(usex pam '--suite pam' '') + ) + fi ( unset DBUS_SESSION_BUS_ADDRESS XDG_RUNTIME_DIR export COLUMNS=80 @@ -413,10 +406,21 @@ multilib_src_test() { addpredict /proc addpredict /run addpredict /sys/fs/cgroup - meson_src_test --timeout-multiplier=10 + meson_src_test "${args[@]}" ) || die } +multilib_src_install() { + local args=() + if ! multilib_is_native_abi; then + local tags=devel,libsystemd,libudev + use !elibc_musl && tags+=,nss + use pam && tags+=,pam + args+=( --tags "${tags}" ) + fi + meson_src_install "${args[@]}" +} + multilib_src_install_all() { einstalldocs dodoc "${FILESDIR}"/nsswitch.conf @@ -537,6 +541,9 @@ pkg_postinst() { # between OpenRC & systemd migrate_locale + # Bug 971385 + systemd_reenable getty@.service + if [[ -z ${REPLACING_VERSIONS} ]]; then if type systemctl &>/dev/null; then systemctl --root="${ROOT:-/}" enable getty@.service remote-fs.target || FAIL=1 diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/util-linux/util-linux-2.41.3.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/util-linux/util-linux-2.41.3-r1.ebuild similarity index 97% rename from sdk_container/src/third_party/portage-stable/sys-apps/util-linux/util-linux-2.41.3.ebuild rename to sdk_container/src/third_party/portage-stable/sys-apps/util-linux/util-linux-2.41.3-r1.ebuild index 28ef863e8f6..e162ab76d15 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/util-linux/util-linux-2.41.3.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-apps/util-linux/util-linux-2.41.3-r1.ebuild @@ -341,6 +341,21 @@ multilib_src_configure() { ) fi + if use kernel_Hurd ; then + # Disable Linux-specific features + myeconfargs+=( + --disable-partx + --disable-rfkill + --disable-schedutils + --disable-fsck + ) + + # This is explicitly needed for some reason? TODO + myeconfargs+=( + --enable-agetty + ) + fi + ECONF_SOURCE="${S}" econf "${myeconfargs[@]}" if multilib_is_native_abi && use python ; then diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/util-linux/util-linux-9999.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/util-linux/util-linux-9999.ebuild index be530b836b1..702d5039261 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/util-linux/util-linux-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-apps/util-linux/util-linux-9999.ebuild @@ -316,6 +316,21 @@ multilib_src_configure() { ) fi + if use kernel_Hurd ; then + # Disable Linux-specific features + emesonargs+=( + -Dbuild-partx=disabled + -Dbuild-rfkill=disabled + -Dbuild-schedutils=disabled + -Dbuild-fsck=disabled + ) + + # This is explicitly needed for some reason? TODO + emesonargs+=( + -Dbuild-agetty=enabled + ) + fi + local native_file="${T}"/meson.${CHOST}.${ABI}.ini.local cat >> ${native_file} <<-EOF || die [binaries] diff --git a/sdk_container/src/third_party/portage-stable/sys-boot/grub/grub-9999.ebuild b/sdk_container/src/third_party/portage-stable/sys-boot/grub/grub-9999.ebuild index 1c175f98607..42c2ed896e7 100644 --- a/sdk_container/src/third_party/portage-stable/sys-boot/grub/grub-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-boot/grub/grub-9999.ebuild @@ -32,10 +32,13 @@ inherit bash-completion-r1 eapi9-ver flag-o-matic multibuild optfeature inherit python-any-r1 secureboot toolchain-funcs verify-sig DESCRIPTION="GNU GRUB boot loader" -HOMEPAGE="https://www.gnu.org/software/grub/" +HOMEPAGE="https://gnu-grub.freedesktop.org/" MY_P=${P} -if [[ ${PV} != 9999 ]]; then +if [[ ${PV} == 9999 ]]; then + inherit git-r3 + EGIT_REPO_URI="https://gitlab.freedesktop.org/gnu-grub/grub.git" +else if [[ ${PV} == *_alpha* || ${PV} == *_beta* || ${PV} == *_rc* ]]; then # The quote style is to work with <=bash-4.2 and >=bash-4.3 #503860 MY_P=${P/_/'~'} @@ -58,9 +61,6 @@ if [[ ${PV} != 9999 ]]; then ) " KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86" -else - inherit git-r3 - EGIT_REPO_URI="https://git.savannah.gnu.org/git/grub.git" fi DEJAVU_VER=2.37 diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/binutils/binutils-2.46.0.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/binutils/binutils-2.46.0.ebuild index d7ff48ad1fd..4ce6485a396 100644 --- a/sdk_container/src/third_party/portage-stable/sys-devel/binutils/binutils-2.46.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-devel/binutils/binutils-2.46.0.ebuild @@ -35,7 +35,7 @@ else [[ -z ${PATCH_VER} ]] || SRC_URI="${SRC_URI} https://dev.gentoo.org/~${PATCH_DEV}/distfiles/binutils-${PATCH_BINUTILS_VER}-patches-${PATCH_VER}.tar.xz" SLOT=$(ver_cut 1-2) - 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 # diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/crossdev/Manifest b/sdk_container/src/third_party/portage-stable/sys-devel/crossdev/Manifest index 80cad371dc9..f93b6e04407 100644 --- a/sdk_container/src/third_party/portage-stable/sys-devel/crossdev/Manifest +++ b/sdk_container/src/third_party/portage-stable/sys-devel/crossdev/Manifest @@ -1,4 +1,3 @@ -DIST crossdev-20250410.tar.xz 33292 BLAKE2B b4c41757ff705866fb3c7420e10d1325977937c50801600002639984dd39b90ebf4fadbde5a09bae02eba2ca17261db32f5275b1599858b2b7c961e3eb85d82f SHA512 aa6c1657d23c96b6109e49ac517dd9550d731f0af508359be55fa8c641675bd4205223eb492e7c94fd69dd86999124d7d0f4766cf1bc17a3dd953f457bf85c9b -DIST crossdev-20250622.tar.xz 33316 BLAKE2B 6e91e757174ce6b5c5f6ec5276725e0432f061ea7c21b0c215998d453deed285c422c1f25c313c80de2d2fe86a00751fbb516f40b63f1bcc25602d3eb0353351 SHA512 bdba3da3724d56b43e0d307b4f9fc00f9680ec541a9397d91f92d237980f7e4b300618e8e8484ee8410ecfd3b0c8854d54057ddb646e2182e407e21c503b9fa9 DIST crossdev-20251008.tar.xz 33852 BLAKE2B 4b689da747d73eb592cd6a1b0913084e28ab9882762a24c3fe90b845247ad13fad2c5e61a9d05312607716dfa464b7f1647eb731def555010bdc9bcdaaffe2a4 SHA512 414f45ede604dd6a770bec9032619f153d585d03a4f967e34b46253fcfaa7cace495f3ddbb00921b5efa4f2e3a6b68db9e15117559e557048203b273a0d29a3e DIST crossdev-20251214.tar.xz 33892 BLAKE2B 02a97ef33ad3515a0bca9dd09636fe1b1bc9f5ac47663655cf4343d6b46738bf2281ae14ee28fb02f5c9bfdd06aaca41ef04559c3fcb9595c853a79d56099fae SHA512 a78e1cce83514d46de42a3e55a261e25fca9dbf8c4264a752fe896a8a9ed431db37214d69ec65062b3e981482d6fa7ff4e82e02c881612fd7e0ea1c1c6a6b0a0 +DIST crossdev-20260318.tar.xz 34200 BLAKE2B 12e534b54d7f7a26afdf55327b57c12fd91d67653fcb942b2beea45054d83be4c8667fc28cd7f6cb9d5ae6970faf63609fdb531dcc98bb03be1820bfac850c13 SHA512 b96e36a247066dff2533afb16f90aebf80da869ba323c775009ed79df973d57cbd186b437ad19d48361ca2d7d9bb7c114fdf9a7b209804da2ce5c172ad4e9aeb diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/crossdev/crossdev-20250410.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/crossdev/crossdev-20250410.ebuild deleted file mode 100644 index 6ba1801e842..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-devel/crossdev/crossdev-20250410.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" - -if [[ ${PV} == "99999999" ]] ; then - inherit git-r3 - EGIT_REPO_URI=" - https://anongit.gentoo.org/git/proj/crossdev.git - https://github.com/gentoo/crossdev - " -else - SRC_URI="https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${P}.tar.xz" - KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" -fi - -DESCRIPTION="Gentoo Cross-toolchain generator" -HOMEPAGE="https://wiki.gentoo.org/wiki/Project:Crossdev" - -LICENSE="GPL-2" -SLOT="0" - -RDEPEND=" - >=sys-apps/portage-2.1 - app-shells/bash - sys-apps/gentoo-functions - sys-apps/config-site -" -BDEPEND="app-arch/xz-utils" - -src_install() { - default - - if [[ ${PV} == "99999999" ]] ; then - sed -i "s:@CDEVPV@:${EGIT_VERSION}:" "${ED}"/usr/bin/crossdev || die - else - sed -i "s:@CDEVPV@:${PV}:" "${ED}"/usr/bin/crossdev || die - fi - - dodir /usr/share/config.site.d - mv "${ED}"/usr/share/config.site{,.d/80crossdev.conf} || die -} diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/crossdev/crossdev-20250622.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/crossdev/crossdev-20260318.ebuild similarity index 96% rename from sdk_container/src/third_party/portage-stable/sys-devel/crossdev/crossdev-20250622.ebuild rename to sdk_container/src/third_party/portage-stable/sys-devel/crossdev/crossdev-20260318.ebuild index 450f5772eaa..90ec73bc630 100644 --- a/sdk_container/src/third_party/portage-stable/sys-devel/crossdev/crossdev-20250622.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-devel/crossdev/crossdev-20260318.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" 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 aff5dc7b1c5..b68f04095c2 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 @@ -16,6 +16,8 @@ DIST gcc-13-20260212.tar.xz 84576196 BLAKE2B c637df92a9948bd88654509a9e03813daca DIST gcc-13-20260219.tar.xz 84574608 BLAKE2B 72f5f1f292c5cd609ef05089dc9d524ce4a894a28aedbae38aa45369d8691efb2bb6aafc34870b5668634ccabbb68a029049767cae83678153f1cafedb422859 SHA512 037a489177de2fd42463d3993d857c33f3d2f7a78f9213070930f8226820b6546ba6b3a3c8fbfb47f2df4250154ac5f30e79f563b43ff850643bc4b9fc17d4c0 DIST gcc-13-20260226.tar.xz 84576560 BLAKE2B 02ad5b8bb991f5fcc951eb5d33492dea80747f4193d83d24bc308af54fb5d68a58274160f00ef0abeb731e9b72b2e9cd11312442835766d036bb7c8b203b4953 SHA512 19aa010b674edcf9a54cc2e5669cce6fd08c70b2233f9431d5d7cc89f6638f7a95b7cb9944f7d36ecf2c3c3074c21ecfa78b1b4e79ae0ff3185febaf5b87f0cd DIST gcc-13-20260305.tar.xz 84579092 BLAKE2B 9141ecd9bc92282e6823ffb389557163912b22122140a6d30c63860e6855fcdd04a8203dc6678bb450467ead4c886c2460a83a5adefa58149e995db6a1eca911 SHA512 c204297cc5bfaf48aaecbcd08868d2fc97cd2813be3ce7e176e0b1074bdc12758bee4c6dec36f7681a2a7ee29daa07b092eec8fd19f02d26a171f5715268202f +DIST gcc-13-20260312.tar.xz 84573676 BLAKE2B e2920ee94fc0e5eeff082bc1c9b5d3d5e100f4d0ed28fe5d8c1fd879bf6b2946559ee7b67c08905d7595caea5b29484e4892c3cf17c43872679ea86d823a02bd SHA512 e273253b89cb3c932e81e3220a42e02b9c2e5212e60c4b6fd1d4bfad1c7377bf65dac641ab7851081a41afb6262c9fd214c38455e902b1dfeb5db83e0fbf7db4 +DIST gcc-13-20260319.tar.xz 84577216 BLAKE2B b4ab5db6772814eaf33e0ff4909e260fd78fd2d8940532655f12637a910450dd0df793c721995b722036f24b4b228c8ab106fc3ba806426ab34d13ea5c2172e0 SHA512 6963d0fa574680493550c49c5651c1899858a6dbbc0313b02149c515bec479933392b456838889170d8dd3e13e27a6320fb40612696854ee31991a4e32e62474 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 @@ -31,9 +33,12 @@ DIST gcc-14-20260213.tar.xz 88372424 BLAKE2B 7831805a232eb732cba36853849a2b3e7df DIST gcc-14-20260220.tar.xz 88374408 BLAKE2B e06578c3e17aded587bc857b67229a49b7dc9070b8989f440f1861fbf88b466e603e5398b467f1f88a2fd990d7cb6cd3533fac47c95d53b7a1baa7bbdf712048 SHA512 a9080da674d31bb7b29685c49c4b0546ce8fe1a2bec607f50a3a94ead1ad4ac2015f0ae5510ce5ceb0c2ad089745ca0f55905bc36b087fe09f87c9471021e418 DIST gcc-14-20260227.tar.xz 88377520 BLAKE2B 1b542572649e0200934ddb2ee096f1ef4b06e12a86b12a98991f3e4cc8738659a2b02f4b6d77afd70064d59f731a4e6400c51e764598aa0facdd028ee1e9be0a SHA512 fac95c7f487463af7508f5ed6504a0d72f2a507d679dd4f3f10c827f2d0095e9743feabf410376a1995e0387d1e51939f112253ea0ff02c114731dd2bcd5d372 DIST gcc-14-20260306.tar.xz 88371144 BLAKE2B 88708d5bc8102cda936f22b00e8710d01e93bf38fc482cdcedd623fbf145697ca3aaecfb2a3238b9f40aaa5b8934a1747699fca1d2af27365bbe2c823c0e9420 SHA512 c0c36b9c02127fa246aea0aa86a20eb843505236646b47524f8eeac06bb210da05f94f6e52f4337b7bf384a776f5ca8adf65adb8f2604ed22a7b626fd7ca7c6c +DIST gcc-14-20260313.tar.xz 88375016 BLAKE2B 411849b4ec7a1b9f1abdb74d2c8659017285e0e1f33f290782d3977e6abe57ca3bc967415cd641baab945348494dfd811477a191d0211db0f404581dde9f7484 SHA512 13e6a5f85ee42f6f3361d2b0b1a9d85915564b1a12f6c735cdee7d15a5a7ccf60da7bd967e6c91e16fbdd4a711d25cb4b97a7441e75444da722818c85be523b3 +DIST gcc-14-20260320.tar.xz 88412768 BLAKE2B 631f571de4e80b8af48f140a610872855f0855186b0567152d726e489f834243b0159d7e27ef37a1726775bea57e87601860639a4afdf4f31a2b5153c0be2fdd SHA512 b8e2d4c492c14d6cbe693dc4e1622812623c6a102d3e6e2834e88c2e8aa0dbce874967d6b93f1e69df9f493dde309a941cda08bbd09d3e506967c5bebdd019a4 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 +DIST gcc-14.3.0-patches-6.tar.xz 28148 BLAKE2B ba80a00289da26d3b5a813a9878aae6b34640e5cf8f37431ef846894087096dc84869e120ed17f23062bd2702a8059d73ead3ba28115e9c3bad55f46e7f474ee SHA512 7ee900f327bd92484ffba03ff80827b42ffba75d7527e26e09ea07e6d61622d812e1a00f77f3d669d7bde0366bab43085552d6140b28bc319edab9eb0e9a73f5 DIST gcc-15-20251108.tar.xz 92349104 BLAKE2B 40c890e2d61dd02f20a190c8d82175a1df271bd77a1d7cf1bae296ca47941cd43f672ada0fed0c8b27a65d469aedefd0fccd9282418f28feebff29f0b940ef1a SHA512 cc12ff495ba08d37e719278aac7bd526f53609d6cce1f4b45183ff336b78e26eb97967fe5405f791528d0913378084ad6c596e246a5a85b550b84051e5b3974b DIST gcc-15-20251115.tar.xz 92358784 BLAKE2B 8dcf640bd61c0e2379df666bdf9afb6a43492ac5aeb1023dc322b136dff7831166931a6953ac5b883fed45efa855740013e385cd478d0449f61eb8ff7ad296b0 SHA512 fc609f058a6683d6e0496d48ff4240e4f871b378ce1765844c56c5ac96cac04c556f3418b1e1b03a615a0b968c1e92ecfc3e4310e93a654327a718d00672fd14 DIST gcc-15-20251122.tar.xz 92364288 BLAKE2B 6c7795992430e3a650f43033b135613c5cd56e4b6e4ff5b121f665dba47c038b4ccc339c50b3e3367e2f6436f5a7cf761bca1cd13dc3d42a50b1f1105b8b1c3c SHA512 0534c9ea6c2684e01d93b32301ed11df4a716637e0d68fae4659730dbfc5e23f3e28c41a6b86b25c1bf8b97816b076abcd24f5c2841516031dbc4473bdf28797 @@ -44,6 +49,8 @@ DIST gcc-15-20260214.tar.xz 92376288 BLAKE2B 36aad1794fa23574501dc27b4ce88cce9ae DIST gcc-15-20260221.tar.xz 92364832 BLAKE2B 899d0963c0b688fd8249cf9201b003e08b24f67ec397b0d29df24a972313560954c146d2eacb01ed894df1932091c8e1d77508d16c692dca71949263e6c10a11 SHA512 01485ac36fca7df2f132db7468158532ff8083d9227c1d57582b65047932e8202ab3ac1caf2c2bdedad58bcd31a6568217f51d3492e461ee7415b8e6506aa77d DIST gcc-15-20260228.tar.xz 92382472 BLAKE2B e1f0aa167133e634248e940b8bd4e0b05d032b9fed03e6540d1497e3fa33f74a67e70fa22586a781e9305b99fe42bab60af694caba30de7277ef869a49640f0f SHA512 051918fd499be7ac77e3281e655f444ddb3e2e825ae3d895d56db3440b9ab67d374899fd52699adbd036458c5701b9dfa36806fa019b6bbf762de818432343b2 DIST gcc-15-20260307.tar.xz 92385576 BLAKE2B 8bedda7ff2cc8f75af831ff5ba36be1db1191cf18974a7f61961519188281053034b5eca74ee8b231a4c268303f3e7c89cea103c92e6ba550f17ba812d5d20a0 SHA512 8e0eefcb2c4cdaf266f4b2355784ae79d0c11881a0136b703113641663c76e74db2c3afdad7600ee08a909d28019e7ef4916298b2fd0ae7a0eff20c22574b989 +DIST gcc-15-20260314.tar.xz 92390324 BLAKE2B e97d9b5dc1950f8cf361263aea27171bee6c61c5c4aad71666c66df321216edf09887322be93b5f8fda66c201d5833de944fba47f7a05a1150df3095431027c6 SHA512 366ac7e7248d60e34a807533333d8f0367d292658c1eb4a28fe0b3dce797feff8625da5358556298e27d42133f7592786449dad9ddf308435a75f4904996d18a +DIST gcc-15-20260321.tar.xz 92394228 BLAKE2B e9a2d93ff9a8c6de0658781728e32bdd07ec4d708109fc5357aca16e59a517a7defaebfa0d6634fdeaa7486902fc6011cefb92f94a39f3006f774b793dbe0e7a SHA512 e1ebe4f837df49aea4476c1db47ee444620d07cc8e71f0916b9b84022101b031a0b31c5e36e6836f3c231bf83e11b53eba9d14f512e3166cf61f5f707c054aea 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-3.tar.xz 17436 BLAKE2B ae72e3c5feb7b96c10eb0706efe95047f0516a66ec19488ad7281dd4c62d4c6f1d1d594c6a865c808293b30b4f57ee8bc018b90fcf5944ccb935bc391752aa74 SHA512 4d23fd0dacc33c069528ef0bd6ece3029a4b221e55c82347c2df8a6fa8b890c6e7eeaf15284204a4a29841678b033af2272481bde6fca8ebcc08f8c233f4e7e3 @@ -56,6 +63,8 @@ DIST gcc-16-20260215.tar.xz 98388052 BLAKE2B 924334293d0628a7457cda91aa46f5a3fa9 DIST gcc-16-20260222.tar.xz 98490280 BLAKE2B a78546fe74ff97593cfc0e4c35d8bd67faa21fe2853918578f48b3e53170a295c6a98db0e5c1c252fe38b786bc35af5e7aa2db2f5ce39145025a31f298ff5834 SHA512 3dc5bbcb2ecbc0fa0262bbfeb8af75e5c90c3935bca825055d984e8cda87b31b03b16949eb2a3a88b3f89996302d9fd2b624fab6cdeea5b3e4a1f40c280a68ee DIST gcc-16-20260301.tar.xz 98581536 BLAKE2B ab779e3c30965b182c13a7f25388f19b757cb071420d6ec17e1dbdc0364645f48d225a60c3f14f02e1d19b769b2741a46a4ffadbcf207b28a61a1e8238b5263f SHA512 3a9bb3d41793e780adf704690ae4d60345b504f6b19ee4c545b68f8df0ab1afce07046a7f90ac11710de87762d710bbf6d652f53bb3bbd4eef0db20db25c5acc DIST gcc-16-20260308.tar.xz 98605400 BLAKE2B 757a6ddc67f21f733e0469bf0c8832281fd5457b93ec436812b8dab7d3e74c79482e7dc526a9d76fcfd819c4a42b5fce3c71fb36b278cf11e6cc87610f2229ac SHA512 2b4644dd3f225ed89d14eff1436a1d7977b7f39c55683bf789a7afe74ef2e699aa2ac25934ca5f3474397ff6d50fa5debfe46a56d47cb622f8d88ecb010d95d0 +DIST gcc-16-20260315.tar.xz 98655696 BLAKE2B 7e436e7cd4d4c8c34f58bf63030c4db5f1ae0097c43992d2d95357c29af00dd8fe2c462f09ba6f3dd2fcbaa397d5155ff9852d60984fd4710a5f8982fce092e5 SHA512 bc3205eb33455c0d171f9fe3c9babc02485e5c04f6502d5a056f7e3d7aac051a6a2e5ea104322d172e1129dc823ab664214a145cca82103fff5d461c932d5f00 +DIST gcc-16-20260322.tar.xz 98722428 BLAKE2B cb7b23a377d59304b1540c054e0abeb3239e7e9ded369b46ec903b54f6d7c353ee7e6d76c858e86fde0945fb120a3016a632339eb4e444c411e024ae822c2373 SHA512 cb090529657a776d6312390640a9ea310d621d721fb35b7ee38d1f10fc121c9a9b3bd437e5a0ff951e3a74b93c5fdf7a2493f04d6f1282534ae95592ad5859fd DIST gcc-16.0.0-musl-patches-1.tar.xz 3040 BLAKE2B 18b16357699780eb470cf44a10710281955140103198e0bd55b75e1efe3dbec233689edb11e1b9a62f782f3d97293af4906c18c2c41613b422eda085ee819467 SHA512 5ba580c7c7bb9e62935a5162d44d357cc31185a113acff7498ed7b1ac43fd0a35de7c3de0c87f02fe0be46b5e55b49bb35d1f5cd470058d21a9ea4096a37e13d DIST gcc-16.0.0-patches-34.tar.xz 27964 BLAKE2B 69cb42657f2e52c8d54c98023261a2deb811d1dc7a63064eaf24936ea10ef6826350339f2273b9bb276959d10c8e819fcb671de9d96e16ce5ce6f1c8dd4071c5 SHA512 16ab66ed14083a5c00e28d2f8ae06319a6187049fbf0cea0929f0c80acb647801bc08dc7621472d9d639b763311dce586f81e6a8bb0c13a1fe796a9036a325e4 DIST gcc-16.0.0-patches-35.tar.xz 25940 BLAKE2B e6a7f7e550a83a706914a46d9226690e0fc8c130492f1c0c6e000a3bcfbcc28cab07437d6e0cbbfc9f511e9130f49272096bf1335e5e9bdbe9aa5812ca99ba42 SHA512 70f8128e24a5fcff4cafcddf2847bd439cf445359cf37d908749133ae0f69d6da18bfc6a8de9bc968963eec86f3eec9684df2db5eb66fe25717a4ed8b2533f4e @@ -63,6 +72,7 @@ DIST gcc-16.0.0-patches-36.tar.xz 26860 BLAKE2B 87387001fa68c9d1007cc257168a5c2c DIST gcc-16.0.0-patches-37.tar.xz 25552 BLAKE2B 6fcd16c4d3e40ebb61bd371b1e234e3ccae4f869501b2affd3c705a385f0cfe6390ead5fb212e43999c62177d15149c1737ae32321d034eac8db7601458400bd SHA512 857ed03394b9222d46a4d908167a77b8ff5e0ebdce7eddaeb9eb73666c6f227d8074d4d1afb0bd5fdcdcd44ff9c99c27aba8ef27bbba0d91b7a6a459bb60739a DIST gcc-16.0.0-patches-38.tar.xz 26208 BLAKE2B a2d717e2eca757bc8e2cf8eed7c03c7022847f7a8100555c098b447035cf802eba3aa5f3ea042a1464b8225368e8019ba30f486a1307b5050befb7bcb7f9678e SHA512 967bf16a72dd45bde5cc059a4a6a51453d1a039edfaf8634f8f631e33d0395f933a0fdc48406fd82dd824b221389d776ed0301d0d0a0db8dfe94dcde18feaa46 DIST gcc-16.0.0-patches-39.tar.xz 27360 BLAKE2B 33680cf4e1cd74c772d93d923d5500fd3ca5cbcc78c04e91c4ce996416c493f85a3e8d9cb9e61df56142485083c532321d8b0642930c5af3dadd7b18a836c41d SHA512 4c996fe13f6717645f953682c898bd464b094a6bf9a34464f51b39deeae7411f11d8eaa6e1d2d7c2ebb44c88bd7f01e161a9ba490e721a2b93decbe0dabda396 +DIST gcc-16.0.0-patches-40.tar.xz 25804 BLAKE2B 47e38b02d021bad1c403950d1f0a0ee1f82eee3b9638842a00343f53e0a232bda67d7b709c97941c233f229a16fff38c07256e2156d2a138527027bf06738f9d SHA512 908d250583089b43603c52e511ad722ca6d0a42d101c14e2fccaa01184c3d12bd01c703daf39e100d6914f0554422c577a8f0b4f04d634515675b74d1d9b143d DIST gcc-8.5.0-patches-5.tar.xz 20188 BLAKE2B 45b29161105edc6344bb48f5bdf17e1aad6e8d9edb4d9434816425996c1b12c10f1303963776adad9db866d845f864d80d198a30e35ee6c204ca3659cf7a1401 SHA512 f22ab5d8e3116e2e896a5dcbbf5cef67dc5090182af364ef64fc22d2b28c029da5ed39f126f446721e388e7b6848239d01f5fc0346e49b96d5c04068b557f8f8 DIST gcc-8.5.0.tar.xz 63841008 BLAKE2B aa81a1a730fd7371360f6abed6ba78b5843fd18c58d5de5687acc320741b9e430e85df3535a1ef7a26051409be8d2f0945f503e5968480d919103123a99d4b12 SHA512 92f599680e6b7fbce88bcdda810f468777d541e5fddfbb287f7977d51093de2a5178bd0e6a08dfe37090ea10a0508a43ccd00220041abbbec33f1179bfc174d8 DIST gcc-9.5.0-patches-3.tar.xz 17888 BLAKE2B f2be05f32f4ecca41ebf4f402bf8fb3c11a36a8b7bd912ee9fe6baea980929774b629e12df7afb3405f1f5d044766a437b3eca5433f4af6c757f4a9dbb2e77eb SHA512 d31bb1964cdb2376572e4981b22c7ffa6fa695259c27af5d0d12aebc334cd1122c2f75739033f25f1e672300adeab2b3772622cb16099d002f3f8c5a8fe694f9 diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/files/gcc-15-m68k-workaround.patch b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/files/gcc-15-m68k-workaround.patch new file mode 100644 index 00000000000..1d57484577d --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/files/gcc-15-m68k-workaround.patch @@ -0,0 +1,49 @@ +From 0795902a1eea6a6f54249fe542eb6efbdea22f6e Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Andreas=20K=2E=20H=C3=BCttel?= +Date: Wed, 11 Mar 2026 18:37:59 +0100 +Subject: [PATCH] Workaround to sanitize m68k until upstream has fixed things +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +* Disable fold_mem_offsets by default +* Do not enable late_combine_instructions with -O2 or higher + +Bug: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=123853 +Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=33850 +Bug: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113357 +Bug: https://bugs.gentoo.org/932733 +Signed-off-by: Andreas K. Hüttel +--- + gcc/common.opt | 2 +- + gcc/opts.cc | 1 - + 2 files changed, 1 insertion(+), 2 deletions(-) + +diff --git a/gcc/common.opt b/gcc/common.opt +index e3fa0dacec4c..a562b598153f 100644 +--- a/gcc/common.opt ++++ b/gcc/common.opt +@@ -1297,7 +1297,7 @@ Common Var(flag_cprop_registers) Optimization + Perform a register copy-propagation optimization pass. + + ffold-mem-offsets +-Common Var(flag_fold_mem_offsets) Init(1) Optimization ++Common Var(flag_fold_mem_offsets) Init(0) Optimization + Fold instructions calculating memory offsets to the memory access instruction if possible. + + fcrossjumping +diff --git a/gcc/opts.cc b/gcc/opts.cc +index ffcbdfef0bd9..beac74705929 100644 +--- a/gcc/opts.cc ++++ b/gcc/opts.cc +@@ -666,7 +666,6 @@ static const struct default_options default_options_table[] = + { OPT_LEVELS_2_PLUS, OPT_finline_functions, NULL, 1 }, + { OPT_LEVELS_2_PLUS, OPT_ftree_loop_distribute_patterns, NULL, 1 }, + { OPT_LEVELS_2_PLUS, OPT_foptimize_crc, NULL, 1 }, +- { OPT_LEVELS_2_PLUS, OPT_flate_combine_instructions, NULL, 1 }, + + /* -O2 and above optimizations, but not -Os or -Og. */ + { OPT_LEVELS_2_PLUS_SPEED_ONLY, OPT_falign_functions, NULL, 1 }, +-- +2.52.0 + diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.4.1_p20260312.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.4.1_p20260312.ebuild new file mode 100644 index 00000000000..2448afba4b1 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.4.1_p20260312.ebuild @@ -0,0 +1,69 @@ +# 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_PATCH_DEV="sam" +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_p20260319.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.4.1_p20260319.ebuild new file mode 100644 index 00000000000..2448afba4b1 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-13.4.1_p20260319.ebuild @@ -0,0 +1,69 @@ +# 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_PATCH_DEV="sam" +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.3.1_p20260313.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.3.1_p20260313.ebuild new file mode 100644 index 00000000000..58030521832 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.3.1_p20260313.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_PATCH_DEV="sam" +TOOLCHAIN_HAS_TESTS=1 +PATCH_GCC_VER="14.3.0" +PATCH_VER="5" +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.3.1_p20260320.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.3.1_p20260320.ebuild new file mode 100644 index 00000000000..b6c44d735a3 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-14.3.1_p20260320.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_PATCH_DEV="sam" +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.2.1_p20260214.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.2.1_p20260214.ebuild index f04dde562c9..5a34a76a028 100644 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.2.1_p20260214.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.2.1_p20260214.ebuild @@ -30,7 +30,7 @@ if tc_is_live ; then EGIT_BRANCH=master elif [[ -z ${TOOLCHAIN_USE_GIT_PATCHES} ]] ; then # Don't keyword live ebuilds - KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" + KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" :; fi @@ -52,5 +52,6 @@ src_prepare() { 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.2.1_p20260221.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.2.1_p20260221.ebuild index bd7ab16f42a..137388e82fc 100644 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.2.1_p20260221.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.2.1_p20260221.ebuild @@ -30,7 +30,7 @@ if tc_is_live ; then EGIT_BRANCH=master elif [[ -z ${TOOLCHAIN_USE_GIT_PATCHES} ]] ; then # Don't keyword live ebuilds - #KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + #KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" :; fi @@ -52,5 +52,6 @@ src_prepare() { 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.2.1_p20260228.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.2.1_p20260228.ebuild index bd7ab16f42a..137388e82fc 100644 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.2.1_p20260228.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.2.1_p20260228.ebuild @@ -30,7 +30,7 @@ if tc_is_live ; then EGIT_BRANCH=master elif [[ -z ${TOOLCHAIN_USE_GIT_PATCHES} ]] ; then # Don't keyword live ebuilds - #KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + #KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" :; fi @@ -52,5 +52,6 @@ src_prepare() { 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.2.1_p20260307.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.2.1_p20260307.ebuild index bd7ab16f42a..137388e82fc 100644 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.2.1_p20260307.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.2.1_p20260307.ebuild @@ -30,7 +30,7 @@ if tc_is_live ; then EGIT_BRANCH=master elif [[ -z ${TOOLCHAIN_USE_GIT_PATCHES} ]] ; then # Don't keyword live ebuilds - #KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + #KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" :; fi @@ -52,5 +52,6 @@ src_prepare() { 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.2.1_p20260314.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.2.1_p20260314.ebuild new file mode 100644 index 00000000000..137388e82fc --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.2.1_p20260314.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_PATCH_DEV="sam" +TOOLCHAIN_HAS_TESTS=1 +PATCH_GCC_VER="15.2.0" +PATCH_VER="5" +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.2.1_p20260321.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.2.1_p20260321.ebuild new file mode 100644 index 00000000000..137388e82fc --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.2.1_p20260321.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_PATCH_DEV="sam" +TOOLCHAIN_HAS_TESTS=1 +PATCH_GCC_VER="15.2.0" +PATCH_VER="5" +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.9999.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.3.9999.ebuild index e4f9afcc48e..757ab8f09d6 100644 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.3.9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-15.3.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 @@ -28,7 +28,7 @@ if tc_is_live ; then 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 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + #KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" :; fi @@ -50,5 +50,6 @@ src_prepare() { 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.0.1_p20260215.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-16.0.1_p20260215.ebuild index bd4fb971be2..7aa84a02fb7 100644 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-16.0.1_p20260215.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-16.0.1_p20260215.ebuild @@ -52,5 +52,6 @@ src_prepare() { 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.0.1_p20260222.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-16.0.1_p20260222.ebuild index deab73994c4..45fd51ea37f 100644 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-16.0.1_p20260222.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-16.0.1_p20260222.ebuild @@ -52,5 +52,6 @@ src_prepare() { 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.0.1_p20260301.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-16.0.1_p20260301.ebuild index deab73994c4..45fd51ea37f 100644 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-16.0.1_p20260301.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-16.0.1_p20260301.ebuild @@ -52,5 +52,6 @@ src_prepare() { 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.0.1_p20260308.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-16.0.1_p20260308.ebuild index f0674c77da3..34f248837a7 100644 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-16.0.1_p20260308.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-16.0.1_p20260308.ebuild @@ -52,5 +52,6 @@ src_prepare() { 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.0.1_p20260315.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-16.0.1_p20260315.ebuild new file mode 100644 index 00000000000..63a680a334d --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-16.0.1_p20260315.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_PATCH_DEV="sam" +TOOLCHAIN_HAS_TESTS=1 +PATCH_GCC_VER="16.0.0" +PATCH_VER="40" +MUSL_VER="1" +MUSL_GCC_VER="16.0.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.0.1_p20260322.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-16.0.1_p20260322.ebuild new file mode 100644 index 00000000000..63a680a334d --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-16.0.1_p20260322.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_PATCH_DEV="sam" +TOOLCHAIN_HAS_TESTS=1 +PATCH_GCC_VER="16.0.0" +PATCH_VER="40" +MUSL_VER="1" +MUSL_GCC_VER="16.0.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.0.9999.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-16.0.9999.ebuild index 3a4e5db657f..2046aae02f4 100644 --- a/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-16.0.9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-devel/gcc/gcc-16.0.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 @@ -50,5 +50,6 @@ src_prepare() { 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/m4/m4-1.4.21.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/m4/m4-1.4.21.ebuild index e23189552f0..3861a687012 100644 --- a/sdk_container/src/third_party/portage-stable/sys-devel/m4/m4-1.4.21.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-devel/m4/m4-1.4.21.ebuild @@ -24,7 +24,7 @@ if [[ ${PV} == *_p* ]] ; then else SRC_URI="mirror://gnu/${PN}/${P}.tar.xz" SRC_URI+=" verify-sig? ( mirror://gnu/${PN}/${P}.tar.xz.sig )" - 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 LICENSE="GPL-3+" 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 6b969ebfcd9..bb283656a81 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 @@ -1,4 +1,6 @@ DIST btrfs-progs-v6.17.1.tar.sign 566 BLAKE2B 0313dce425d84f16eb64085f4144bcfc21172f96223de0a36d78a8dc5f4da4d0ff5b2453961c99607426ce412a3f0d7acfc205788e897684b68d7da5758e339d SHA512 39dabbc3546e32468ae71b5d83606aabc38d9ef1996e1c40d8b5976cd4924b4877c373e05888b284988e35d5b363801f0c67f93ae43d907cba76dff145fc9f7b DIST btrfs-progs-v6.17.1.tar.xz 4964964 BLAKE2B 6340fb5f87d3dcf9598785fbb00ccd2278e268c1b798a1013ede9d25fc8e2005376c2333c84befcf95ec9ae2b7e75562750a2bf8fbfc7bbf966d713e1feb5818 SHA512 7723dd924025e7d6d6cfa081dcbe86bfe86cc6f226c8eb7317d86871864807257bd96c19c715b819e76125b33b90100f6897f4eb665d8414f30a3aa7a5aba631 +DIST btrfs-progs-v6.19.1.tar.sign 566 BLAKE2B f743d46a80b03ae63dfe0eea262577228db56b305fc105ac9b24d5672dc60dac59e35673ee96a3f5cc72e4d048fdf7b92c8ea1e96f089bc96bb0d36628af1c97 SHA512 364b858320aa976807d58532b96fb4baaf814e9c6ed54b675275f101d7fb3b9f9187a6e07b0a85e53bae831f7217107c0e838436fda9b6788c3dbf2cd807ae5b +DIST btrfs-progs-v6.19.1.tar.xz 4977432 BLAKE2B 555bf1c0625afd30dae3cc38f293de195450133cea701096010cadde3d8be405681ed2c4b5e43db777df146e1d2d90697746bc9eea253211df216bd4456e04a1 SHA512 ece500bf512a7970bd6a611c4f74aa3f7285eb55b86987fb8a21bc82cb7d0b1e6b683d02efc34ec8c4ff7f6d620b5ec12ef277af0d6d831586f9f70087355ca9 DIST btrfs-progs-v6.19.tar.sign 566 BLAKE2B 04a10b6df9149fe1cac4b5162b6d03f0de4f213f624bf188698445de86d73bb64142ecc9b3d9c9120d457d84cf1fb12a08283ab56026babdba18a2c64eb83fc9 SHA512 00ff5b059092c7475bec698571d9b010c00e1bbd55305982b9528c0120d027d72162c6c9829aa0251e973d6897706164f3d188353762dff743bae77832ea5067 DIST btrfs-progs-v6.19.tar.xz 5816796 BLAKE2B a2deec1d1f9528f8e1e07f44dc6afda537ef6490ba4de6773906b42d2e3b5917fc6b92f650f24a502a7d8b6487dc07528d61a46b2b3bc422158ff3fe9deb204f SHA512 6cd5bb863c164a11d999be7aec15441ac8ab91f1e4da2cd6355781edd5251c7fcd4639bacfe7014c8dc260fb02505374fc4c82140418b769fbe14f889fc03ce9 diff --git a/sdk_container/src/third_party/portage-stable/sys-fs/btrfs-progs/btrfs-progs-6.19.1.ebuild b/sdk_container/src/third_party/portage-stable/sys-fs/btrfs-progs/btrfs-progs-6.19.1.ebuild new file mode 100644 index 00000000000..711f1d01589 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-fs/btrfs-progs/btrfs-progs-6.19.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_{11..14} ) +inherit bash-completion-r1 python-any-r1 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 ~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/cryptsetup/cryptsetup-2.8.4.ebuild b/sdk_container/src/third_party/portage-stable/sys-fs/cryptsetup/cryptsetup-2.8.4.ebuild index 8409a39b547..688b1d8096d 100644 --- a/sdk_container/src/third_party/portage-stable/sys-fs/cryptsetup/cryptsetup-2.8.4.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-fs/cryptsetup/cryptsetup-2.8.4.ebuild @@ -18,7 +18,7 @@ S="${WORKDIR}"/${P/_/-} LICENSE="GPL-2+" SLOT="0/12" # libcryptsetup.so version if [[ ${PV} != *_rc* ]] ; then - 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 CRYPTO_BACKENDS="gcrypt kernel nettle +openssl" diff --git a/sdk_container/src/third_party/portage-stable/sys-fs/fuse-common/fuse-common-3.10.4-r2.ebuild b/sdk_container/src/third_party/portage-stable/sys-fs/fuse-common/fuse-common-3.10.4-r3.ebuild similarity index 89% rename from sdk_container/src/third_party/portage-stable/sys-fs/fuse-common/fuse-common-3.10.4-r2.ebuild rename to sdk_container/src/third_party/portage-stable/sys-fs/fuse-common/fuse-common-3.10.4-r3.ebuild index b699cca528b..a33c5546b1f 100644 --- a/sdk_container/src/third_party/portage-stable/sys-fs/fuse-common/fuse-common-3.10.4-r2.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-fs/fuse-common/fuse-common-3.10.4-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 @@ -22,9 +22,8 @@ RDEPEND=" " src_install() { - udev_newrules util/udev.rules 99-fuse.rules udev_newrules - 99-cuse.rules <<-EOF - KERNEL=="cuse", GROUP="cuse" + KERNEL=="cuse", GROUP="cuse", OPTIONS+="static_node=cuse" EOF newtmpfiles - static-nodes-permissions-cuse.conf <<-EOF z /dev/cuse 0660 root cuse - - diff --git a/sdk_container/src/third_party/portage-stable/sys-fs/lvm2/Manifest b/sdk_container/src/third_party/portage-stable/sys-fs/lvm2/Manifest index e6fa65555fb..bfcee0e7d4c 100644 --- a/sdk_container/src/third_party/portage-stable/sys-fs/lvm2/Manifest +++ b/sdk_container/src/third_party/portage-stable/sys-fs/lvm2/Manifest @@ -1,3 +1,4 @@ DIST LVM2.2.03.22.tgz 2755031 BLAKE2B 79bbea84bd82f111c1bb5de336e6a9f1368b2c9e43f075dccaa90c7746a364259ad278adf650379eca75f2803ed74e74dd372be2cca8518462182657f96a0033 SHA512 17cd24ceee8026481566824b688dafd03ec816201d5cb3549cb7fc8a36f4cdaa982faaef4dcd26debfe775dea5ffa2744798164314ea6dc99a84f8ccccfc33ff DIST LVM2.2.03.37.tgz 2983951 BLAKE2B 4762ebe827b886c0e72a91c545c8c4fa9c9d1629e987f13d0c52ee41b80444c3c5c8a81a90566ed9bd7b68d67684749a7ad2cc066b20a3fa44eb8466ae0cc82e SHA512 c67e9e47c9f117d82b458e43c98e7b2bbf0f176fc86b7fa1a90d04209df14df442f576fd9b1e41be86b161aa744f0db5b6cac9d7b118bc4156354307314c441a DIST LVM2.2.03.38.tgz 2985871 BLAKE2B 2cdec7e7256855ec1d40f690e3b3b2d0538cef275c68bfaa15235b10890f05c4d9e861607fc611e420619e9e07a0dd431b1a0d9258c8ccf4af7a5b772281f33e SHA512 97fd1849cd632943c8233f06f181b1899b0e6937444d672abef10307c66d207c16325701ac669d5ff438490a11596c19d1dbbcff50e4e7c00c9b6e4eb1ecf87c +DIST LVM2.2.03.39.tgz 2877966 BLAKE2B 24dc0f3a07dbd07a808343bb35078b6fe9e0372052c5d58c1d18b525ed23621434accce891d0a9390f9b5bd790c2d67dd22280746aada409e02c7cef9d9fae1f SHA512 7d00f676af77f4921b10182b0c87420e196c1ec7ec6faad46fc475566b921c62b838ca29b06cddc907e6a4a1033f6ae5020abe64566fa11872eb836af6869988 diff --git a/sdk_container/src/third_party/portage-stable/sys-fs/lvm2/lvm2-2.03.37.ebuild b/sdk_container/src/third_party/portage-stable/sys-fs/lvm2/lvm2-2.03.37.ebuild index 404f6fb37d8..3c9bcae0946 100644 --- a/sdk_container/src/third_party/portage-stable/sys-fs/lvm2/lvm2-2.03.37.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-fs/lvm2/lvm2-2.03.37.ebuild @@ -13,14 +13,16 @@ S="${WORKDIR}/${PN^^}.${PV}" LICENSE="GPL-2 LGPL-2.1" SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" -IUSE="lvm nvme readline sanlock selinux static static-libs systemd thin +udev valgrind" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" +IUSE="lvm nvme readline sanlock selinux static static-libs systemd test thin +udev valgrind" REQUIRED_USE=" static? ( !systemd !udev !nvme ) static-libs? ( static !udev ) systemd? ( udev ) + test? ( lvm ) thin? ( lvm ) " +RESTRICT="!test? ( test )" # Doesn't strictly need >=sanlock-4.0.0 but autodetects features, so pick # the best we have for predictability. Ditto systemd. @@ -33,6 +35,7 @@ DEPEND_COMMON=" sanlock? ( >=sys-cluster/sanlock-4.0.0 ) systemd? ( >=sys-apps/systemd-234:= ) ) + nvme? ( >=sys-libs/libnvme-1.1 ) " # /run is now required for locking during early boot. /var cannot be assumed to # be available -- thus, pull in recent enough baselayout for /run. @@ -41,7 +44,6 @@ RDEPEND=" ${DEPEND_COMMON} >=sys-apps/baselayout-2.2 lvm? ( virtual/tmpfiles ) - nvme? ( >=sys-libs/libnvme-1.1 ) " PDEPEND=" diff --git a/sdk_container/src/third_party/portage-stable/sys-fs/lvm2/lvm2-2.03.38.ebuild b/sdk_container/src/third_party/portage-stable/sys-fs/lvm2/lvm2-2.03.38.ebuild index a73547570b5..ddd6bf41c67 100644 --- a/sdk_container/src/third_party/portage-stable/sys-fs/lvm2/lvm2-2.03.38.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-fs/lvm2/lvm2-2.03.38.ebuild @@ -35,6 +35,7 @@ DEPEND_COMMON=" sanlock? ( >=sys-cluster/sanlock-4.0.0 ) systemd? ( >=sys-apps/systemd-234:= ) ) + nvme? ( >=sys-libs/libnvme-1.1 ) " # /run is now required for locking during early boot. /var cannot be assumed to # be available -- thus, pull in recent enough baselayout for /run. @@ -43,7 +44,6 @@ RDEPEND=" ${DEPEND_COMMON} >=sys-apps/baselayout-2.2 lvm? ( virtual/tmpfiles ) - nvme? ( >=sys-libs/libnvme-1.1 ) " PDEPEND=" diff --git a/sdk_container/src/third_party/portage-stable/sys-fs/lvm2/lvm2-2.03.39.ebuild b/sdk_container/src/third_party/portage-stable/sys-fs/lvm2/lvm2-2.03.39.ebuild new file mode 100644 index 00000000000..b9704da3e74 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-fs/lvm2/lvm2-2.03.39.ebuild @@ -0,0 +1,333 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +TMPFILES_OPTIONAL=1 +inherit autotools linux-info systemd toolchain-funcs tmpfiles udev flag-o-matic + +DESCRIPTION="User-land utilities for LVM2 (device-mapper) software" +HOMEPAGE="https://sourceware.org/lvm2/" +SRC_URI="https://sourceware.org/ftp/lvm2/${PN^^}.${PV}.tgz" +S="${WORKDIR}/${PN^^}.${PV}" + +LICENSE="GPL-2 LGPL-2.1" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +IUSE="lvm nvme readline sanlock selinux static static-libs systemd test thin +udev valgrind vdo xfs" +REQUIRED_USE=" + static? ( !systemd !udev !nvme ) + static-libs? ( static !udev ) + systemd? ( udev ) + test? ( lvm ) + thin? ( lvm ) + sanlock? ( lvm ) + vdo? ( lvm ) +" +RESTRICT="!test? ( test )" + +# Doesn't strictly need >=sanlock-4.0.0 but autodetects features, so pick +# the best we have for predictability. Ditto systemd. +DEPEND_COMMON=" + udev? ( virtual/libudev:= ) + lvm? ( + dev-libs/libaio + >=sys-apps/util-linux-2.24 + readline? ( sys-libs/readline:= ) + sanlock? ( >=sys-cluster/sanlock-4.0.0 ) + systemd? ( >=sys-apps/systemd-234:= ) + vdo? ( >=sys-block/vdo-8.3.2.1 ) + ) + nvme? ( >=sys-libs/libnvme-1.1 ) +" +# /run is now required for locking during early boot. /var cannot be assumed to +# be available -- thus, pull in recent enough baselayout for /run. +# This version of LVM is incompatible with cryptsetup <1.1.2. +RDEPEND=" + ${DEPEND_COMMON} + >=sys-apps/baselayout-2.2 + lvm? ( virtual/tmpfiles ) +" + +PDEPEND=" + lvm? ( + thin? ( >=sys-block/thin-provisioning-tools-1.0.6 ) + ) +" +# note: thin-0.3.0 is required to avoid --disable-thin_check_needs_check +DEPEND=" + ${DEPEND_COMMON} + static? ( + sys-apps/util-linux[static-libs] + lvm? ( + dev-libs/libaio[static-libs] + readline? ( sys-libs/readline[static-libs] ) + ) + selinux? ( sys-libs/libselinux[static-libs] ) + ) + valgrind? ( >=dev-debug/valgrind-3.6 ) + xfs? ( sys-fs/xfsprogs ) +" +BDEPEND=" + dev-build/autoconf-archive + virtual/pkgconfig +" + +PATCHES=( + # Gentoo specific modification(s): + "${FILESDIR}"/${PN}-2.03.20-example.conf.in.patch + + # For upstream -- review and forward: + "${FILESDIR}"/${PN}-2.03.37-dmeventd-no-idle-exit.patch + "${FILESDIR}"/${PN}-2.03.20-freopen-musl.patch + "${FILESDIR}"/${PN}-2.03.22-autoconf-2.72-egrep.patch + "${FILESDIR}"/${PN}-2.03.22-thin-autodetect.patch +) + +pkg_setup() { + local CONFIG_CHECK="~SYSVIPC" + + if use udev; then + local WARNING_SYSVIPC="CONFIG_SYSVIPC:\tis not set (required for udev sync)\n" + if linux_config_exists; then + local uevent_helper_path=$(linux_chkconfig_string UEVENT_HELPER_PATH) + if [[ -n "${uevent_helper_path}" ]] && [[ "${uevent_helper_path}" != '""' ]]; then + ewarn "It's recommended to set an empty value to the following kernel config option:" + ewarn "CONFIG_UEVENT_HELPER_PATH=${uevent_helper_path}" + fi + fi + fi + + check_extra_config + + # 1. Genkernel no longer copies /sbin/lvm blindly. + if use static; then + elog "Warning, we no longer overwrite /sbin/lvm and /sbin/dmsetup with" + elog "their static versions. If you need the static binaries," + elog "you must append .static to the filename!" + fi +} + +src_prepare() { + default + + # Users without systemd get no auto-activation of any logical volume + if ! use systemd ; then + eapply "${FILESDIR}"/${PN}-2.03.20-dm_lvm_rules_no_systemd.patch + fi + + eautoreconf +} + +src_configure() { + filter-lto + + export ac_cv_header_xfs_xfs_h=$(usex xfs) + + # Most of this package does weird stuff. + # The build options are tristate, and --without is NOT supported + # options: 'none', 'internal', 'shared' + local myeconfargs=( + $(use_enable lvm dmfilemapd) + $(use_enable lvm dmeventd) + $(use_enable lvm cmdlib) + $(use_enable lvm fsadm) + $(use_enable lvm lvmpolld) + # This only causes the .static versions to become available + $(usev static --enable-static_link) + + # dmeventd requires mirrors to be internal, and snapshot available + # so we cannot disable them + --with-mirrors="$(usex lvm internal none)" + --with-snapshots="$(usex lvm internal none)" + # vdo is internal or none only + --with-vdo="$(usex vdo internal none)" + + ) + + if use lvm && use thin; then + myeconfargs+=( + --with-thin=internal + --enable-thin_check_needs_check + --with-cache=internal + --enable-cache_check_needs_check + ) + local texec + for texec in check dump repair restore; do + myeconfargs+=( --with-thin-${texec}="${EPREFIX}"/usr/sbin/thin_${texec} ) + myeconfargs+=( --with-cache-${texec}="${EPREFIX}"/usr/sbin/cache_${texec} ) + done + else + myeconfargs+=( --with-thin=none --with-cache=none ) + fi + + myeconfargs+=( + # musl doesn't do symbol versioning so can end up with + # runtime breakage. + --with-symvers=$(usex elibc_glibc 'gnu' 'no') + $(use_enable readline) + $(use_enable selinux) + --enable-pkgconfig + --with-confdir="${EPREFIX}"/etc + --exec-prefix="${EPREFIX}" + --sbindir="${EPREFIX}/sbin" + --with-staticdir="${EPREFIX}"/sbin + --libdir="${EPREFIX}/$(get_libdir)" + --with-usrlibdir="${EPREFIX}/usr/$(get_libdir)" + --with-default-dm-run-dir=/run + --with-default-run-dir=/run/lvm + --with-default-locking-dir=/run/lock/lvm + --with-default-pid-dir=/run + $(use_enable udev udev_rules) + $(use_enable udev udev_sync) + $(use_with udev udevdir "${EPREFIX}$(get_udevdir)"/rules.d) + # USE=sanlock requires USE=lvm + $(use_enable $(usex lvm sanlock lvm) lvmlockd-sanlock) + $(use_with systemd) + $(use_enable systemd sd-notify) + $(use_enable systemd systemd-journal) + $(use_enable systemd notify-dbus) + $(use_enable systemd app-machineid) + $(use_enable systemd systemd-journal) + $(use_with systemd systemd-run "/usr/bin/systemd-run") + $(use_enable valgrind valgrind-pool) + $(use_with nvme libnvme) + $(use_enable nvme nvme-wwid) + --with-systemdsystemunitdir="$(systemd_get_systemunitdir)" + CLDFLAGS="${LDFLAGS}" + ) + + econf "${myeconfargs[@]}" +} + +src_compile() { + emake V=1 -C include + + if use lvm ; then + emake V=1 + emake V=1 CC="$(tc-getCC)" -C scripts + else + emake V=1 device-mapper + # https://bugs.gentoo.org/878131 + emake V=1 -C libdm/dm-tools device-mapper + fi +} + +src_test() { + einfo "Tests other than unit tests are disabled because of device-node" + einfo "mucking, run tests, compile the package and see ${S}/tests" + + # run only unit tests + emake V=1 -C "${S}"/test -j1 run-unit-test +} + +src_install() { + local targets=() + if use lvm; then + targets+=( install install_tmpfiles_configuration ) + if use systemd; then + # install systemd related files only when requested, bug #522430 + targets+=( install_systemd_units ) + fi + else + targets+=( install_device-mapper ) + fi + + # -j1 for bug #918125 + emake -j1 V=1 DESTDIR="${D}" "${targets[@]}" + + newinitd "${FILESDIR}"/device-mapper.rc-r3 device-mapper + newconfd "${FILESDIR}"/device-mapper.conf-r4 device-mapper + + if use lvm ; then + newinitd "${FILESDIR}"/dmeventd.initd-r3 dmeventd + newinitd "${FILESDIR}"/lvm.rc-r1 lvm + newconfd "${FILESDIR}"/lvm.confd-r4 lvm + if ! use udev ; then + # We keep the variable but remove udev from it. + sed -r -i \ + -e '/^rc_need=/s/\//g' \ + "${ED}"/etc/conf.d/lvm || die "Could not drop udev from rc_need" + fi + + newinitd "${FILESDIR}"/lvm-monitoring.initd-r3 lvm-monitoring + newinitd "${FILESDIR}"/lvmpolld.initd-r1 lvmpolld + + if use sanlock; then + newinitd "${FILESDIR}"/lvmlockd.initd-r2 lvmlockd + fi + fi + + if use static-libs; then + dolib.a libdm/ioctl/libdevmapper.a + if use lvm; then + # depends on lvmetad + dolib.a libdaemon/client/libdaemonclient.a #462908 + # depends on dmeventd + dolib.a daemons/dmeventd/libdevmapper-event.a + fi + else + rm -f "${ED}"/usr/$(get_libdir)/{libdevmapper-event,liblvm2cmd,liblvm2app,libdevmapper}.a || die + fi + + insinto /etc + doins "${FILESDIR}"/dmtab + + dodoc README VERSION* WHATS_NEW WHATS_NEW_DM doc/*.{c,txt} conf/*.conf +} + +pkg_preinst() { + HAD_LVM=0 + + if has_version 'sys-fs/lvm2[lvm(+)]' ; then + HAD_LVM=1 + fi +} + +pkg_postinst() { + use lvm && tmpfiles_process lvm2.conf + use udev && udev_reload + + # This is a new installation + if [[ -z "${REPLACING_VERSIONS}" ]]; then + if use lvm ; then + ewarn "Make sure the \"lvm\" init script is in the runlevels:" + ewarn "# rc-update add lvm boot" + ewarn + ewarn "Make sure to enable lvmetad in ${EROOT}/etc/lvm/lvm.conf if you want" + ewarn "to enable lvm autoactivation and metadata caching." + else + ewarn "Please enable USE=lvm if you need the LVM daemon and" + ewarn "tools like 'lvchange', 'vgchange', etc!" + fi + else + if ! use lvm && [[ ${HAD_LVM} -eq 1 ]] ; then + ewarn "LVM was previously enabled but is now disabled." + ewarn "Please enable USE=lvm if you need the LVM daemon and" + ewarn "tools like 'lvchange', 'vgchange', etc!" + ewarn "See the 2022-11-19-lvm2-default-USE-flags news item for more details." + fi + fi + + if use udev && [[ -d /run ]] ; then + local permission_run_expected="drwxr-xr-x" + local permission_run=$(stat -c "%A" /run) + if [[ "${permission_run}" != "${permission_run_expected}" ]] ; then + ewarn "Found the following problematic permissions:" + ewarn "" + ewarn " ${permission_run} /run" + ewarn "" + ewarn "Expected:" + ewarn "" + ewarn " ${permission_run_expected} /run" + ewarn "" + ewarn "This is known to cause problems for udev-enabled LVM services." + fi + fi +} + +pkg_postrm() { + if use udev && [[ -z ${REPLACED_BY_VERSION} ]]; then + udev_reload + fi +} diff --git a/sdk_container/src/third_party/portage-stable/sys-fs/lvm2/metadata.xml b/sdk_container/src/third_party/portage-stable/sys-fs/lvm2/metadata.xml index 22ea530f19b..31261d3f898 100644 --- a/sdk_container/src/third_party/portage-stable/sys-fs/lvm2/metadata.xml +++ b/sdk_container/src/third_party/portage-stable/sys-fs/lvm2/metadata.xml @@ -17,6 +17,7 @@ Build and install NVMe plugin for determining the World-Wide Identification (WWID) of an NVME device via sys-libs/libnvme. + Support for Virtual Disk Optimizer (VDO) Support XFS for 'lvextend --resizefs'. 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 32d891f72ff..36969330472 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,7 +1,5 @@ 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.4.tar.gz 106751 BLAKE2B 4f05cb5e31ed1f313eeb42ac7cc9e68031011af363992e9d15266d7c831fb83078821a42181142cb58418dc87b6ae71ccd79559e0c77c19b5810cb2f5dde98ab SHA512 27e27dd14e3ab6d6f33b78f3316d1d15ccdb5af76fd3631770fe8ff4e1d1a3cc6d7a8009a604660fccc63e4fa5f1601c6505f66ab76c11dcfcddd3baf7ff173b -DIST lxcfs-6.0.4.tar.gz.asc 833 BLAKE2B 71d552694273e6b3fbeaa4fd2a07ad783ca66824fa7fef69ba79a343b65e57295a702efe580c17e77c6fdb3f79364e98206a099ef3ac99b1d1238178cd343e20 SHA512 fecc002f39f841f3ffbfd7c543cdfed61b9276e962a75230b2962a36bbef04f5444481bb1409ba38ed8f619d0887313f1cc84389f64755d6168c017f68bbaeb2 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 diff --git a/sdk_container/src/third_party/portage-stable/sys-fs/lxcfs/lxcfs-6.0.4.ebuild b/sdk_container/src/third_party/portage-stable/sys-fs/lxcfs/lxcfs-6.0.4.ebuild deleted file mode 100644 index 689cbffefb5..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-fs/lxcfs/lxcfs-6.0.4.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/mdadm/mdadm-4.5-r1.ebuild b/sdk_container/src/third_party/portage-stable/sys-fs/mdadm/mdadm-4.5-r1.ebuild index 1ee495c90b0..7911df8b5b2 100644 --- a/sdk_container/src/third_party/portage-stable/sys-fs/mdadm/mdadm-4.5-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-fs/mdadm/mdadm-4.5-r1.ebuild @@ -14,7 +14,7 @@ SRC_URI+=" mirror://debian/pool/main/m/mdadm/${PN}_${DEB_PF}.debian.tar.xz" LICENSE="GPL-2" SLOT="0" if [[ ${PV} != *_rc* ]] ; then - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86" + KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ppc ppc64 ~riscv ~sparc x86" fi IUSE="static systemd +udev corosync" REQUIRED_USE="static? ( !udev )" diff --git a/sdk_container/src/third_party/portage-stable/sys-fs/multipath-tools/multipath-tools-0.14.3.ebuild b/sdk_container/src/third_party/portage-stable/sys-fs/multipath-tools/multipath-tools-0.14.3.ebuild index 9540fdcd050..37c5bb28f1c 100644 --- a/sdk_container/src/third_party/portage-stable/sys-fs/multipath-tools/multipath-tools-0.14.3.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-fs/multipath-tools/multipath-tools-0.14.3.ebuild @@ -11,7 +11,7 @@ SRC_URI="https://github.com/opensvc/${PN}/archive/refs/tags/${PV}.tar.gz -> ${P} LICENSE="GPL-2" SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86" +KEYWORDS="~alpha amd64 ~arm arm64 ~loong ppc ppc64 ~riscv x86" IUSE="systemd test" RESTRICT="!test? ( test )" diff --git a/sdk_container/src/third_party/portage-stable/sys-fs/xfsprogs/Manifest b/sdk_container/src/third_party/portage-stable/sys-fs/xfsprogs/Manifest index 4a34617aea9..427f9740838 100644 --- a/sdk_container/src/third_party/portage-stable/sys-fs/xfsprogs/Manifest +++ b/sdk_container/src/third_party/portage-stable/sys-fs/xfsprogs/Manifest @@ -1,2 +1,3 @@ DIST xfsprogs-6.17.0.tar.xz 1563092 BLAKE2B e841526add6c17d036a709c1fafe879a50ba7d568008865eac8d166182be5514d8abc94b8facbe113aa6106ac394ea01049b6a555ebd280ee1cd5d64fff1b5da SHA512 bcdd5a632ac1eae4ad68ac1b18a0289820fcef997da2b3b132e97f035f21e951f20f19de9d09e0babd7d7feb8ad14c0782aa81c698b39c19e4349e603892287e DIST xfsprogs-6.18.0.tar.xz 1563944 BLAKE2B 225cb49a39a2539e48513985d72602c0c067f73597e3fe1d9d4062989ed98c3a0b2c85bb9d465c60acefce3243a7e2320808727e6ce527fbc35216bde235144e SHA512 95fcbfdd91d9b02ec9adef50e23a39240056bf3bfed3d973e048a50dd0d0b040f80e8cf72537cca7e560718e4444ed1bbcf8b99ee4c82e044ca52d916536f7f5 +DIST xfsprogs-6.19.0.tar.xz 1564764 BLAKE2B 30ef424589e96175aa38776d809c7a0e1ce2d74ba3ccfca83c00bf102836f93f131afd63e5be8d639aee4e3c8831f6d536029b4e7d6dd44b9297426d6c028d2c SHA512 9ca8ba19a3cc3a4e8a03ca4fe641ae958eb5fd9c4a8b09430a9fa4891d27f63506acd543c061887fec5ba22d2883c69f8c52a155f4f58af96206999725e25bf7 diff --git a/sdk_container/src/third_party/portage-stable/sys-fs/xfsprogs/xfsprogs-6.19.0.ebuild b/sdk_container/src/third_party/portage-stable/sys-fs/xfsprogs/xfsprogs-6.19.0.ebuild new file mode 100644 index 00000000000..fd6f587864e --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-fs/xfsprogs/xfsprogs-6.19.0.ebuild @@ -0,0 +1,110 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit flag-o-matic systemd udev + +DESCRIPTION="XFS filesystem utilities" +HOMEPAGE="https://xfs.wiki.kernel.org/ https://git.kernel.org/pub/scm/fs/xfs/xfsprogs-dev.git/" +SRC_URI="https://www.kernel.org/pub/linux/utils/fs/xfs/${PN}/${P}.tar.xz" + +LICENSE="LGPL-2.1" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +IUSE="icu libedit nls selinux static-libs" + +RDEPEND=" + dev-libs/inih + dev-libs/userspace-rcu:= + >=sys-apps/util-linux-2.17.2 + icu? ( dev-libs/icu:= ) + libedit? ( dev-libs/libedit ) +" +DEPEND=" + ${RDEPEND} + >=sys-kernel/linux-headers-6.11 +" +BDEPEND="nls? ( sys-devel/gettext )" +RDEPEND+=" selinux? ( sec-policy/selinux-xfs )" + +src_prepare() { + default + + # Fix doc dir + sed -i \ + -e "/^PKG_DOC_DIR/s:@pkg_name@:${PF}:" \ + include/builddefs.in || die + + # Don't install compressed docs + sed 's@\(CHANGES\)\.gz[[:space:]]@\1 @' -i doc/Makefile || die +} + +src_configure() { + # include/builddefs.in will add FCFLAGS to CFLAGS which will + # unnecessarily clutter CFLAGS (and fortran isn't used) + unset FCFLAGS + + # If set in user env, this breaks configure + unset PLATFORM + + export DEBUG=-DNDEBUG + + # Package is honoring CFLAGS; No need to use OPTIMIZER anymore. + # However, we have to provide an empty value to avoid default + # flags. + export OPTIMIZER=" " + + # Avoid automagic on libdevmapper (bug #709694) + export ac_cv_search_dm_task_create=no + + # bug 903611 + use elibc_musl && append-flags -D_LARGEFILE64_SOURCE + + # Upstream does NOT support --disable-static anymore, + # https://www.spinics.net/lists/linux-xfs/msg30185.html + # https://www.spinics.net/lists/linux-xfs/msg30272.html + local myconf=( + --enable-static + # Doesn't do anything beyond adding -flto (bug #930947). + --disable-lto + # The default value causes double 'lib' + --localstatedir="${EPREFIX}/var" + --with-crond-dir="${EPREFIX}/etc/cron.d" + --with-systemd-unit-dir="$(systemd_get_systemunitdir)" + --with-udev-rule-dir="$(get_udevdir)/rules.d" + $(use_enable icu libicu) + $(use_enable nls gettext) + $(use_enable libedit editline) + ) + + econf "${myconf[@]}" +} + +src_compile() { + emake V=1 +} + +src_install() { + # XXX: There's a missing dep in the install-dev target, so split it + emake DIST_ROOT="${ED}" HAVE_ZIPPED_MANPAGES=false install + emake DIST_ROOT="${ED}" HAVE_ZIPPED_MANPAGES=false install-dev + + # Not actually used but --localstatedir causes this empty dir + # to be installed. + rmdir "${ED}"/var/lib/xfsprogs "${ED}"/var/lib || die + + if ! use static-libs; then + rm "${ED}/usr/$(get_libdir)/libhandle.a" || die + fi + + find "${ED}" -name '*.la' -delete || die +} + +pkg_postrm() { + udev_reload +} + +pkg_postinst() { + udev_reload +} diff --git a/sdk_container/src/third_party/portage-stable/sys-fs/zfs-kmod/zfs-kmod-2.3.6.ebuild b/sdk_container/src/third_party/portage-stable/sys-fs/zfs-kmod/zfs-kmod-2.3.6.ebuild index 61848bbc33d..05758343ad6 100644 --- a/sdk_container/src/third_party/portage-stable/sys-fs/zfs-kmod/zfs-kmod-2.3.6.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-fs/zfs-kmod/zfs-kmod-2.3.6.ebuild @@ -31,7 +31,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 diff --git a/sdk_container/src/third_party/portage-stable/sys-fs/zfs/zfs-2.3.6.ebuild b/sdk_container/src/third_party/portage-stable/sys-fs/zfs/zfs-2.3.6.ebuild index 8895cb72db3..62d5e6af657 100644 --- a/sdk_container/src/third_party/portage-stable/sys-fs/zfs/zfs-2.3.6.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-fs/zfs/zfs-2.3.6.ebuild @@ -30,7 +30,7 @@ else S="${WORKDIR}/${MY_P}" if [[ ${PV} != *_rc* ]]; then - KEYWORDS="~amd64 ~arm64 ~loong ~ppc64 ~riscv ~sparc" + KEYWORDS="amd64 arm64 ~loong ppc64 ~riscv ~sparc" fi fi diff --git a/sdk_container/src/third_party/portage-stable/sys-kernel/dracut/dracut-108-r5.ebuild b/sdk_container/src/third_party/portage-stable/sys-kernel/dracut/dracut-108-r6.ebuild similarity index 99% rename from sdk_container/src/third_party/portage-stable/sys-kernel/dracut/dracut-108-r5.ebuild rename to sdk_container/src/third_party/portage-stable/sys-kernel/dracut/dracut-108-r6.ebuild index 13e24bf4a15..f466e367817 100644 --- a/sdk_container/src/third_party/portage-stable/sys-kernel/dracut/dracut-108-r5.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-kernel/dracut/dracut-108-r6.ebuild @@ -38,7 +38,7 @@ RDEPEND="${COMMON_DEPEND} || ( >=sys-apps/sysvinit-2.87-r3 sys-apps/openrc[sysv-utils(-),selinux?] - sys-apps/systemd[sysv-utils] + sys-apps/systemd[sysv-utils(+)] sys-apps/s6-linux-init[sysv-utils(-)] ) >=sys-apps/util-linux-2.21 diff --git a/sdk_container/src/third_party/portage-stable/sys-kernel/dracut/dracut-109-r1.ebuild b/sdk_container/src/third_party/portage-stable/sys-kernel/dracut/dracut-109-r2.ebuild similarity index 99% rename from sdk_container/src/third_party/portage-stable/sys-kernel/dracut/dracut-109-r1.ebuild rename to sdk_container/src/third_party/portage-stable/sys-kernel/dracut/dracut-109-r2.ebuild index 59515121d45..0525bc48ed0 100644 --- a/sdk_container/src/third_party/portage-stable/sys-kernel/dracut/dracut-109-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-kernel/dracut/dracut-109-r2.ebuild @@ -38,7 +38,7 @@ RDEPEND="${COMMON_DEPEND} || ( >=sys-apps/sysvinit-2.87-r3 sys-apps/openrc[sysv-utils(-),selinux?] - sys-apps/systemd[sysv-utils] + sys-apps/systemd[sysv-utils(+)] sys-apps/s6-linux-init[sysv-utils(-)] ) >=sys-apps/util-linux-2.21 diff --git a/sdk_container/src/third_party/portage-stable/sys-kernel/dracut/dracut-110-r2.ebuild b/sdk_container/src/third_party/portage-stable/sys-kernel/dracut/dracut-110-r3.ebuild similarity index 99% rename from sdk_container/src/third_party/portage-stable/sys-kernel/dracut/dracut-110-r2.ebuild rename to sdk_container/src/third_party/portage-stable/sys-kernel/dracut/dracut-110-r3.ebuild index 95c6ead6476..200586d0161 100644 --- a/sdk_container/src/third_party/portage-stable/sys-kernel/dracut/dracut-110-r2.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-kernel/dracut/dracut-110-r3.ebuild @@ -38,7 +38,7 @@ RDEPEND="${COMMON_DEPEND} || ( >=sys-apps/sysvinit-2.87-r3 sys-apps/openrc[sysv-utils(-),selinux?] - sys-apps/systemd[sysv-utils] + sys-apps/systemd[sysv-utils(+)] sys-apps/s6-linux-init[sysv-utils(-)] ) >=sys-apps/util-linux-2.21 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 95c6ead6476..200586d0161 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 @@ -38,7 +38,7 @@ RDEPEND="${COMMON_DEPEND} || ( >=sys-apps/sysvinit-2.87-r3 sys-apps/openrc[sysv-utils(-),selinux?] - sys-apps/systemd[sysv-utils] + sys-apps/systemd[sysv-utils(+)] sys-apps/s6-linux-init[sysv-utils(-)] ) >=sys-apps/util-linux-2.21 diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/binutils-libs/binutils-libs-2.46.0.ebuild b/sdk_container/src/third_party/portage-stable/sys-libs/binutils-libs/binutils-libs-2.46.0.ebuild index c21f4131e09..8d5208cac91 100644 --- a/sdk_container/src/third_party/portage-stable/sys-libs/binutils-libs/binutils-libs-2.46.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-libs/binutils-libs/binutils-libs-2.46.0.ebuild @@ -38,7 +38,7 @@ else https://dev.gentoo.org/~${PATCH_DEV}/distfiles/${MY_P}.tar.xz https://dev.gentoo.org/~${PATCH_DEV}/distfiles/${MY_PN}-${PATCH_BINUTILS_VER}-patches-${PATCH_VER}.tar.xz" SLOT="0/${PV}" - 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=" diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/glibc/files/glibc-2.43-hurd-link-helpers.patch b/sdk_container/src/third_party/portage-stable/sys-libs/glibc/files/glibc-2.43-hurd-link-helpers.patch new file mode 100644 index 00000000000..24a3fc887df --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-libs/glibc/files/glibc-2.43-hurd-link-helpers.patch @@ -0,0 +1,34 @@ +https://salsa.debian.org/glibc-team/glibc/-/raw/sid/debian/patches/hurd-i386/tg-mach-hurd-link.diff + +From: Samuel Thibault +Subject: [PATCH] Add -lmachuser -lhurduser to libc.so on GNU/Hurd. + +http://lists.gnu.org/archive/html/bug-hurd/2011-03/msg00112.html + +2011-03-29 Samuel Thibault + + * Makerules ($(inst_libdir)/libc.so): Add -lmachuser -lhurduser to + libc.so on GNU/Hurd. + +It's still unclear what we want to aim for. + +--- + Makerules | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/Makerules b/Makerules +index 53eabfaba8..b0f5e1b3a0 100644 +--- a/Makerules ++++ b/Makerules +@@ -1066,6 +1066,9 @@ $(inst_libdir)/libc.so: $(common-objpfx)format.lds \ + '$(libdir)/$(patsubst %,$(libtype.oS),$(libprefix)$(libc-name))'\ + ' AS_NEEDED (' $(rtlddir)/$(rtld-installed-name) ') )' \ + ) > $@.new ++ifeq ($(patsubst gnu%,,$(config-os)),) ++ echo 'INPUT ( AS_NEEDED ( -lmachuser -lhurduser ) )' >> $@.new ++endif + mv -f $@.new $@ + + endif +-- +tg: (7bb5f8a836..) t/mach-hurd-link (depends on: baseline) diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/glibc/glibc-2.42-r5.ebuild b/sdk_container/src/third_party/portage-stable/sys-libs/glibc/glibc-2.42-r5.ebuild index b5bd16ec72f..95b782d7b59 100644 --- a/sdk_container/src/third_party/portage-stable/sys-libs/glibc/glibc-2.42-r5.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-libs/glibc/glibc-2.42-r5.ebuild @@ -246,6 +246,15 @@ is_crosscompile() { [[ ${CHOST} != ${CTARGET} ]] } +is_linux() { + [[ ${CTARGET} == *-linux-* ]] +} + +is_hurd() { + # Let's hope this holds for a long time + [[ ${CTARGET} != *-linux-* ]] +} + just_headers() { is_crosscompile && use headers-only } @@ -1454,47 +1463,56 @@ glibc_do_src_install() { # 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 - 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 + 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 ) - ;; - 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 + 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 ) - ;; - esac + fi if [[ ${SYMLINK_LIB} == "yes" ]] && [[ ! -e ${ED}/$(alt_prefix)/lib ]] ; then dosym $(get_abi_LIBDIR ${DEFAULT_ABI}) $(alt_prefix)/lib fi @@ -1508,26 +1526,42 @@ glibc_do_src_install() { fi done - # 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}" + 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 + + if is_hurd && has x86 $(get_install_abis) ; then + # On ix86, glibc and (unpatched) gcc disagree about the proper location for the dynamic loader. + # Which is maximally stupid since this one information is hardcoded into every single + # binary... + + # First, let's check for sanity + if [[ -f "$(alt_prefix)/$(get_abi_LIBDIR x86)/ld.so" ]] ; then + die "Somehow your hurd glibc installed a literal ld.so ... this should not happen." fi - done + + # 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 diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/glibc/glibc-2.43.ebuild b/sdk_container/src/third_party/portage-stable/sys-libs/glibc/glibc-2.43.ebuild index 5779dfe29eb..43c6ac5e29a 100644 --- a/sdk_container/src/third_party/portage-stable/sys-libs/glibc/glibc-2.43.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-libs/glibc/glibc-2.43.ebuild @@ -151,7 +151,15 @@ if [[ ${CATEGORY} == cross-* ]] ; then >=${CATEGORY}/binutils-2.27 >=${CATEGORY}/gcc-6.2 )" - [[ ${CATEGORY} == *-linux* ]] && DEPEND+=" ${CATEGORY}/linux-headers" + + case ${CATEGORY} in + *-linux*) + DEPEND+=" ${CATEGORY}/linux-headers" + ;; + *-gnu) + DEPEND+=" ${CATEGORY}/gnumach[-headers-only]" + ;; + esac else BDEPEND+=" >=sys-devel/binutils-2.27 @@ -249,6 +257,15 @@ is_crosscompile() { [[ ${CHOST} != ${CTARGET} ]] } +is_linux() { + [[ ${CTARGET} == *-linux-* ]] +} + +is_hurd() { + # Let's hope this holds for a long time + [[ ${CTARGET} != *-linux-* ]] +} + just_headers() { is_crosscompile && use headers-only } @@ -499,6 +516,16 @@ setup_flags() { # #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) @@ -992,6 +1019,9 @@ src_prepare() { einfo "Applying Gentoo Glibc patchset ${patchsetname}" eapply "${WORKDIR}"/patches einfo "Done." + + # TODO: Put into our patchset + eapply "${FILESDIR}"/glibc-2.43-hurd-link-helpers.patch fi case ${CTARGET} in @@ -1097,7 +1127,6 @@ glibc_do_configure() { --with-bugurl=https://bugs.gentoo.org/ --with-pkgversion="$(glibc_banner)" $(use_multiarch || echo --disable-multi-arch) - $(use_enable systemtap) $(use_enable nscd) # /usr/bin/mtrace has a Perl shebang. Gentoo Prefix QA checks fail if @@ -1123,6 +1152,12 @@ glibc_do_configure() { # 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) @@ -1457,47 +1492,56 @@ glibc_do_src_install() { # 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 - 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 + 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 ) - ;; - 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 + 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 ) - ;; - esac + fi if [[ ${SYMLINK_LIB} == "yes" ]] && [[ ! -e ${ED}/$(alt_prefix)/lib ]] ; then dosym $(get_abi_LIBDIR ${DEFAULT_ABI}) $(alt_prefix)/lib fi @@ -1511,26 +1555,42 @@ glibc_do_src_install() { fi done - # 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}" + 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 + + if is_hurd && has x86 $(get_install_abis) ; then + # On ix86, glibc and (unpatched) gcc disagree about the proper location for the dynamic loader. + # Which is maximally stupid since this one information is hardcoded into every single + # binary... + + # First, let's check for sanity + if [[ -f "$(alt_prefix)/$(get_abi_LIBDIR x86)/ld.so" ]] ; then + die "Somehow your hurd glibc installed a literal ld.so ... this should not happen." fi - done + + # 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 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 8e93624a19f..2a072bed250 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 @@ -151,7 +151,15 @@ if [[ ${CATEGORY} == cross-* ]] ; then >=${CATEGORY}/binutils-2.27 >=${CATEGORY}/gcc-6.2 )" - [[ ${CATEGORY} == *-linux* ]] && DEPEND+=" ${CATEGORY}/linux-headers" + + case ${CATEGORY} in + *-linux*) + DEPEND+=" ${CATEGORY}/linux-headers" + ;; + *-gnu) + DEPEND+=" ${CATEGORY}/gnumach[-headers-only]" + ;; + esac else BDEPEND+=" >=sys-devel/binutils-2.27 @@ -249,6 +257,15 @@ is_crosscompile() { [[ ${CHOST} != ${CTARGET} ]] } +is_linux() { + [[ ${CTARGET} == *-linux-* ]] +} + +is_hurd() { + # Let's hope this holds for a long time + [[ ${CTARGET} != *-linux-* ]] +} + just_headers() { is_crosscompile && use headers-only } @@ -499,6 +516,16 @@ setup_flags() { # #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) @@ -992,6 +1019,9 @@ src_prepare() { einfo "Applying Gentoo Glibc patchset ${patchsetname}" eapply "${WORKDIR}"/patches einfo "Done." + + # TODO: Put into our patchset + eapply "${FILESDIR}"/glibc-2.43-hurd-link-helpers.patch fi case ${CTARGET} in @@ -1097,7 +1127,6 @@ glibc_do_configure() { --with-bugurl=https://bugs.gentoo.org/ --with-pkgversion="$(glibc_banner)" $(use_multiarch || echo --disable-multi-arch) - $(use_enable systemtap) $(use_enable nscd) # /usr/bin/mtrace has a Perl shebang. Gentoo Prefix QA checks fail if @@ -1123,6 +1152,12 @@ glibc_do_configure() { # 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) @@ -1457,47 +1492,56 @@ glibc_do_src_install() { # 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 - 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 + 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 ) - ;; - 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 + 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 ) - ;; - esac + fi if [[ ${SYMLINK_LIB} == "yes" ]] && [[ ! -e ${ED}/$(alt_prefix)/lib ]] ; then dosym $(get_abi_LIBDIR ${DEFAULT_ABI}) $(alt_prefix)/lib fi @@ -1511,26 +1555,42 @@ glibc_do_src_install() { fi done - # 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}" + 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 + + if is_hurd && has x86 $(get_install_abis) ; then + # On ix86, glibc and (unpatched) gcc disagree about the proper location for the dynamic loader. + # Which is maximally stupid since this one information is hardcoded into every single + # binary... + + # First, let's check for sanity + if [[ -f "$(alt_prefix)/$(get_abi_LIBDIR x86)/ld.so" ]] ; then + die "Somehow your hurd glibc installed a literal ld.so ... this should not happen." fi - done + + # 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 diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/libcap/Manifest b/sdk_container/src/third_party/portage-stable/sys-libs/libcap/Manifest index e066cb64c3d..f3aa0575c5e 100644 --- a/sdk_container/src/third_party/portage-stable/sys-libs/libcap/Manifest +++ b/sdk_container/src/third_party/portage-stable/sys-libs/libcap/Manifest @@ -1,3 +1 @@ -DIST libcap-2.71.tar.xz 193512 BLAKE2B a4bc55d8b58db5d75b4615f287a15614c075f8f7e690e7a833c453658c80d6f99e633132bc8a3b8cc7d1393e513763d924bf2cbe6bc29c7a40e2a5f19755e662 SHA512 59bb6781d96776595ad3df890f4e5188380634eabbb6128f3a5307946b01cf3bd19dee8a29d3e501de1d9e1c6ed0092c4cd5adc91da227a1260c1f4356cc0bf3 -DIST libcap-2.76.tar.xz 199200 BLAKE2B 301c74ceae00e915f70ff8f0a32c86a5ddf405a00522f4299390e4e0b6bc4270fc7e3c4ba5c53db2ddc5f7de6a97b43e310097a4ecc1d678f721f9dfa53cef53 SHA512 f9448628ce036a10ce71958b25e5dd31032c4d86d8d34d905d2dfa32890ad443804169d4c6b825fd4bfe260b5de20f046cee958e40268bcadbbe7f7731ae40ad DIST libcap-2.77.tar.xz 199688 BLAKE2B 9725a5f886907f718a7149841003ac04aced8d322ae190b7035873dc823098c58311f15b9fe7e2a3fec683de6e2eeea108cd008f5f79e8dba24bb20595351812 SHA512 c783cb43ffb40eb005fb880efe18e72667c743af79d647f67ee3201d5ff1e64446f9c850cced935a04b63a8ee3380bbf28dd91e2dfbcbddb561c8d096da610d0 diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/libcap/libcap-2.71.ebuild b/sdk_container/src/third_party/portage-stable/sys-libs/libcap/libcap-2.71.ebuild deleted file mode 100644 index c3a81ac19ab..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-libs/libcap/libcap-2.71.ebuild +++ /dev/null @@ -1,96 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit dot-a multilib-minimal toolchain-funcs pam - -if [[ ${PV} == *9999 ]]; then - inherit git-r3 - EGIT_REPO_URI="https://git.kernel.org/pub/scm/libs/libcap/libcap.git" -else - SRC_URI="https://www.kernel.org/pub/linux/libs/security/linux-privs/libcap2/${P}.tar.xz" - - KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" -fi - -DESCRIPTION="POSIX 1003.1e capabilities" -HOMEPAGE="https://sites.google.com/site/fullycapable/" - -LICENSE="|| ( GPL-2 BSD ) pam? ( || ( LGPL-2+ BSD ) )" -SLOT="0" -IUSE="pam static-libs tools" - -# While the build system optionally uses gperf, we don't DEPEND on it because -# the build automatically falls back when it's unavailable. #604802 -PDEPEND="pam? ( sys-libs/pam[${MULTILIB_USEDEP}] )" -DEPEND="${PDEPEND} - sys-kernel/linux-headers" -BDEPEND=" - sys-apps/diffutils - tools? ( dev-lang/go )" - -QA_FLAGS_IGNORED="sbin/captree" # go binaries don't use LDFLAGS - -PATCHES=( - "${FILESDIR}"/${PN}-2.62-ignore-RAISE_SETFCAP-install-failures.patch -) - -src_prepare() { - default - multilib_copy_sources -} - -run_emake() { - local args=( - AR="$(tc-getAR)" - CC="$(tc-getCC)" - OBJCOPY="$(tc-getOBJCOPY)" - RANLIB="$(tc-getRANLIB)" - exec_prefix="${EPREFIX}" - lib_prefix="${EPREFIX}/usr" - lib="$(get_libdir)" - prefix="${EPREFIX}/usr" - PAM_CAP="$(usex pam yes no)" - DYNAMIC=yes - GOLANG="$(multilib_native_usex tools yes no)" - ) - emake "${args[@]}" "$@" -} - -src_configure() { - use static-libs && lto-guarantee-fat - tc-export_build_env BUILD_CC - multilib-minimal_src_configure -} - -multilib_src_compile() { - run_emake -} - -multilib_src_test() { - run_emake test -} - -multilib_src_install() { - # no configure, needs explicit install line #444724#c3 - run_emake DESTDIR="${D}" install - - if use static-libs ; then - strip-lto-bytecode - else - rm "${ED}"/usr/$(get_libdir)/lib{cap,psx}.a || die - fi - - # install pam plugins ourselves - rm -rf "${ED}"/usr/$(get_libdir)/security || die - - if use pam ; then - dopammod pam_cap/pam_cap.so - dopamsecurity '' pam_cap/capability.conf - fi -} - -multilib_src_install_all() { - dodoc CHANGELOG README doc/capability.md -} diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/libcap/libcap-2.76.ebuild b/sdk_container/src/third_party/portage-stable/sys-libs/libcap/libcap-2.76.ebuild deleted file mode 100644 index c3a81ac19ab..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-libs/libcap/libcap-2.76.ebuild +++ /dev/null @@ -1,96 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit dot-a multilib-minimal toolchain-funcs pam - -if [[ ${PV} == *9999 ]]; then - inherit git-r3 - EGIT_REPO_URI="https://git.kernel.org/pub/scm/libs/libcap/libcap.git" -else - SRC_URI="https://www.kernel.org/pub/linux/libs/security/linux-privs/libcap2/${P}.tar.xz" - - KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" -fi - -DESCRIPTION="POSIX 1003.1e capabilities" -HOMEPAGE="https://sites.google.com/site/fullycapable/" - -LICENSE="|| ( GPL-2 BSD ) pam? ( || ( LGPL-2+ BSD ) )" -SLOT="0" -IUSE="pam static-libs tools" - -# While the build system optionally uses gperf, we don't DEPEND on it because -# the build automatically falls back when it's unavailable. #604802 -PDEPEND="pam? ( sys-libs/pam[${MULTILIB_USEDEP}] )" -DEPEND="${PDEPEND} - sys-kernel/linux-headers" -BDEPEND=" - sys-apps/diffutils - tools? ( dev-lang/go )" - -QA_FLAGS_IGNORED="sbin/captree" # go binaries don't use LDFLAGS - -PATCHES=( - "${FILESDIR}"/${PN}-2.62-ignore-RAISE_SETFCAP-install-failures.patch -) - -src_prepare() { - default - multilib_copy_sources -} - -run_emake() { - local args=( - AR="$(tc-getAR)" - CC="$(tc-getCC)" - OBJCOPY="$(tc-getOBJCOPY)" - RANLIB="$(tc-getRANLIB)" - exec_prefix="${EPREFIX}" - lib_prefix="${EPREFIX}/usr" - lib="$(get_libdir)" - prefix="${EPREFIX}/usr" - PAM_CAP="$(usex pam yes no)" - DYNAMIC=yes - GOLANG="$(multilib_native_usex tools yes no)" - ) - emake "${args[@]}" "$@" -} - -src_configure() { - use static-libs && lto-guarantee-fat - tc-export_build_env BUILD_CC - multilib-minimal_src_configure -} - -multilib_src_compile() { - run_emake -} - -multilib_src_test() { - run_emake test -} - -multilib_src_install() { - # no configure, needs explicit install line #444724#c3 - run_emake DESTDIR="${D}" install - - if use static-libs ; then - strip-lto-bytecode - else - rm "${ED}"/usr/$(get_libdir)/lib{cap,psx}.a || die - fi - - # install pam plugins ourselves - rm -rf "${ED}"/usr/$(get_libdir)/security || die - - if use pam ; then - dopammod pam_cap/pam_cap.so - dopamsecurity '' pam_cap/capability.conf - fi -} - -multilib_src_install_all() { - dodoc CHANGELOG README doc/capability.md -} diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/pam/Manifest b/sdk_container/src/third_party/portage-stable/sys-libs/pam/Manifest index 1c528fb780d..453c007b5f9 100644 --- a/sdk_container/src/third_party/portage-stable/sys-libs/pam/Manifest +++ b/sdk_container/src/third_party/portage-stable/sys-libs/pam/Manifest @@ -1,5 +1,2 @@ -DIST Linux-PAM-1.7.1.tar.xz 510828 BLAKE2B 0a64d7dbf6bb7e3d2c36ea1f29c3217d3e43a1cc0ba8adf2ee8a117946a53bd26634ebd70ff3b99a72f7373df6694ee054dc7eddab04e43bbc8f5b0e9e56b3bc SHA512 0724c3636c10e2c7d98c9325bb9c20eb3e59b7cbc2f8fa7636b77af497524afe595b895386d7e6723fdb89247b94f6db6f179d552015ac78469beaa33e0413f0 -DIST Linux-PAM-1.7.1.tar.xz.asc 801 BLAKE2B 566123f49e26862ffc2261db38e35914dd91175c9f66a4756b9a473808dfeda2a4dad25337afa5121ca68a2411a26249b0d40556a22385f4494d355d6c3b4047 SHA512 7d559895e7988ea815955a4788925597073f1a66204dc9f437de306e1b7a77f2f2a9f1bdb2827aba03444500c790fa03e4bba2c94a2089b23bdd6505f9c3601f DIST Linux-PAM-1.7.2.tar.xz 511724 BLAKE2B d7ebfac4393af3f889fef973946f1e6d60f118f2e048448708c5fdf0ef7fa7780945cda3b0abf6e0e2e15bbc2dd23be52389efabd00647381b3bc971f1aadcd8 SHA512 b035c0abeb5afb6b3067341767ace6d68ded4c061870afff2ab9494713b1dc9d2ff0995a5d1f0852a49b6e8b2123a7cc2f40342e16c7863a58df3c102b9010c5 DIST Linux-PAM-1.7.2.tar.xz.asc 833 BLAKE2B 86c4eb129af7afe8348eddf78d764c0658dd9597b62ed0657ea23cca80dd29a052cdef8f588abe3615a2a40062c210fe0c04cca29309dfb3dcb70d13be4ab8db SHA512 01f6e770e8a0eb60f76d95581f66c4eece6436ec8f2e5766e57a4240014ab43e5ad991fa7f77cfc4c57809a0e0c47ccf60118cb49dee790413cf824ebd80b879 -DIST pam-1.7.0_p20241230.gh.tar.gz 719108 BLAKE2B c37daabae380ce75c630a0af1b9960676bc973c773025bc7f65ae87aebff4ca3b667e16ec9635c7677e8a00e6b26eb590f84b798529c3340cdc2c262e7e5649e SHA512 d9d53ddd420fe754c76303b99c37e5cc2eca3d4af9f64043f3f9e69c3abfc3c05d5a1efdbbdfb39ad46a301a0df7a18425d0e8c110c1d76bad3e62dfa97b61ef diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/pam/files/pam-1.7.1-32-bit-lastlog.patch b/sdk_container/src/third_party/portage-stable/sys-libs/pam/files/pam-1.7.1-32-bit-lastlog.patch deleted file mode 100644 index c27f9a6459a..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-libs/pam/files/pam-1.7.1-32-bit-lastlog.patch +++ /dev/null @@ -1,37 +0,0 @@ -https://github.com/linux-pam/linux-pam/commit/4176cf25a3ae8b5fd2956b41b068221b39932c3a - -From 4176cf25a3ae8b5fd2956b41b068221b39932c3a Mon Sep 17 00:00:00 2001 -From: "Dmitry V. Levin" -Date: Tue, 17 Jun 2025 13:00:00 +0000 -Subject: [PATCH] pam_lastlog: fix compilation warning on some of 32-bit - architectures - -On those of 32-bit architectures where glibc defines -__WORDSIZE_TIME64_COMPAT32, struct utmp.ut_tv.tv_sec is unsigned, -while time_t is signed, causing the following compiler diagnostics: - - pam_lastlog.c: In function 'last_login_failed': - pam_lastlog.c:572:29: warning: comparison of integer expressions of different signedness: '__uint32_t' {aka 'unsigned int'} and 'time_t' {aka 'long int'} [-Wsign-compare] - 572 | if (ut.ut_tv.tv_sec >= lltime && strncmp(ut.ut_user, user, UT_NAMESIZE) == 0) { - -Given that by its nature these values are treated as unsigned, fix this -by zero-extending both values to unsigned long long before the comparison. ---- - modules/pam_lastlog/pam_lastlog.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/modules/pam_lastlog/pam_lastlog.c b/modules/pam_lastlog/pam_lastlog.c -index 01545a696..c68b5fb04 100644 ---- a/modules/pam_lastlog/pam_lastlog.c -+++ b/modules/pam_lastlog/pam_lastlog.c -@@ -569,7 +569,8 @@ last_login_failed(pam_handle_t *pamh, int announce, const char *user, time_t llt - - while ((retval=pam_modutil_read(fd, (void *)&ut, - sizeof(ut))) == sizeof(ut)) { -- if (ut.ut_tv.tv_sec >= lltime && strncmp(ut.ut_user, user, UT_NAMESIZE) == 0) { -+ if (zero_extend_signed_to_ull(ut.ut_tv.tv_sec) >= zero_extend_signed_to_ull(lltime) -+ && strncmp(ut.ut_user, user, UT_NAMESIZE) == 0) { - memcpy(&utuser, &ut, sizeof(utuser)); - failed++; - } - diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/pam/files/pam-1.7.1-32-bit-timestamp.patch b/sdk_container/src/third_party/portage-stable/sys-libs/pam/files/pam-1.7.1-32-bit-timestamp.patch deleted file mode 100644 index e0e12cc313d..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-libs/pam/files/pam-1.7.1-32-bit-timestamp.patch +++ /dev/null @@ -1,37 +0,0 @@ -https://github.com/linux-pam/linux-pam/commit/e3b66a60e4209e019cf6a45f521858cec2dbefa1 - -From e3b66a60e4209e019cf6a45f521858cec2dbefa1 Mon Sep 17 00:00:00 2001 -From: "Dmitry V. Levin" -Date: Tue, 17 Jun 2025 13:00:00 +0000 -Subject: [PATCH] pam_timestamp: fix compilation warning on some of 32-bit - architectures - -On those of 32-bit architectures where glibc defines -__WORDSIZE_TIME64_COMPAT32, struct utmp.ut_tv.tv_sec is unsigned, -while time_t is signed, causing the following compiler diagnostics: - - pam_timestamp.c: In function 'check_login_time': - pam_timestamp.c:247:55: warning: comparison of integer expressions of different signedness: 'time_t' {aka 'long int'} and '__uint32_t' {aka 'unsigned int'} [-Wsign-compare] - 247 | if (oldest_login == 0 || oldest_login > ut->ut_tv.tv_sec) { - -Given that by its nature these values are treated as unsigned, fix this -by zero-extending both values to unsigned long long before the comparison. ---- - modules/pam_timestamp/pam_timestamp.c | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -diff --git a/modules/pam_timestamp/pam_timestamp.c b/modules/pam_timestamp/pam_timestamp.c -index 0172d1ef9..030fa2b8f 100644 ---- a/modules/pam_timestamp/pam_timestamp.c -+++ b/modules/pam_timestamp/pam_timestamp.c -@@ -244,7 +244,9 @@ check_login_time( - if (strncmp(ruser, ut->ut_user, sizeof(ut->ut_user)) != 0) { - continue; - } -- if (oldest_login == 0 || oldest_login > ut->ut_tv.tv_sec) { -+ if (oldest_login == 0 || -+ zero_extend_signed_to_ull(oldest_login) -+ > zero_extend_signed_to_ull(ut->ut_tv.tv_sec)) { - oldest_login = ut->ut_tv.tv_sec; - } - } diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/pam/pam-1.7.0_p20241230-r3.ebuild b/sdk_container/src/third_party/portage-stable/sys-libs/pam/pam-1.7.0_p20241230-r3.ebuild deleted file mode 100644 index 1478d04ec17..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-libs/pam/pam-1.7.0_p20241230-r3.ebuild +++ /dev/null @@ -1,192 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -MY_P="Linux-${PN^^}-${PV}" - -# Avoid QA warnings -# Can reconsider w/ EAPI 8 and IDEPEND, bug #810979 -TMPFILES_OPTIONAL=1 - -inherit db-use fcaps flag-o-matic meson-multilib toolchain-funcs - -DESCRIPTION="Linux-PAM (Pluggable Authentication Modules)" -HOMEPAGE="https://github.com/linux-pam/linux-pam" - -if [[ ${PV} == *_p* ]] ; then - PAM_COMMIT="e634a3a9be9484ada6e93970dfaf0f055ca17332" - SRC_URI=" - https://github.com/linux-pam/linux-pam/archive/${PAM_COMMIT}.tar.gz -> ${P}.gh.tar.gz - " - S="${WORKDIR}"/linux-${PN}-${PAM_COMMIT} -else - VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/pam.asc - inherit verify-sig - - SRC_URI=" - https://github.com/linux-pam/linux-pam/releases/download/v${PV}/${MY_P}.tar.xz - verify-sig? ( https://github.com/linux-pam/linux-pam/releases/download/v${PV}/${MY_P}.tar.xz.asc ) - " - S="${WORKDIR}/${MY_P}" - - BDEPEND="verify-sig? ( sec-keys/openpgp-keys-pam )" -fi - -LICENSE="|| ( BSD GPL-2 )" -SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" -IUSE="audit berkdb elogind examples debug nis nls selinux systemd" -REQUIRED_USE="?? ( elogind systemd )" - -# meson.build specifically checks for bison and then byacc -# also requires xsltproc -BDEPEND+=" - || ( sys-devel/bison dev-util/byacc ) - app-text/docbook-xsl-ns-stylesheets - dev-libs/libxslt - sys-devel/flex - virtual/pkgconfig - nls? ( sys-devel/gettext ) -" -DEPEND=" - virtual/libcrypt:=[${MULTILIB_USEDEP}] - >=virtual/libintl-0-r1[${MULTILIB_USEDEP}] - audit? ( >=sys-process/audit-2.2.2[${MULTILIB_USEDEP}] ) - berkdb? ( >=sys-libs/db-4.8.30-r1:=[${MULTILIB_USEDEP}] ) - !berkdb? ( sys-libs/gdbm:=[${MULTILIB_USEDEP}] ) - elogind? ( >=sys-auth/elogind-254 ) - selinux? ( >=sys-libs/libselinux-2.2.2-r4[${MULTILIB_USEDEP}] ) - systemd? ( >=sys-apps/systemd-254:= ) - nis? ( - net-libs/libnsl:=[${MULTILIB_USEDEP}] - >=net-libs/libtirpc-0.2.4-r2:=[${MULTILIB_USEDEP}] - ) -" -RDEPEND="${DEPEND}" -PDEPEND=">=sys-auth/pambase-20200616" - -src_configure() { - # meson.build sets -Wl,--fatal-warnings and with e.g. mold, we get: - # cannot assign version `global` to symbol `pam_sm_open_session`: symbol not found - append-ldflags $(test-flags-CCLD -Wl,--undefined-version) - - # Do not let user's BROWSER setting mess us up, bug #549684 - unset BROWSER - - meson-multilib_src_configure -} - -multilib_src_configure() { - local machine_file="${T}/meson.${CHOST}.${ABI}.ini.local" - # Workaround for docbook5 not being packaged (bug #913087#c4) - # It's only used for validation of output, so stub it out. - # Also, stub out elinks+w3m which are only used for an index. - cat >> "${machine_file}" <<-EOF || die - [binaries] - xmlcatalog='true' - xmllint='true' - elinks='true' - w3m='true' - EOF - - local emesonargs=() - - if tc-is-cross-compiler; then - emesonargs+=( --cross-file "${machine_file}" ) - else - emesonargs+=( --native-file "${machine_file}" ) - fi - - emesonargs+=( - $(meson_feature audit) - $(meson_native_use_bool examples) - $(meson_use debug pam-debug) - $(meson_feature nis) - $(meson_feature nls i18n) - $(meson_feature selinux) - - -Disadir='.' - -Dxml-catalog="${BROOT}"/etc/xml/catalog - -Dsbindir="${EPREFIX}"/sbin - -Dsecuredir="${EPREFIX}"/$(get_libdir)/security - -Ddocdir="${EPREFIX}"/usr/share/doc/${PF} - -Dhtmldir="${EPREFIX}"/usr/share/doc/${PF}/html - -Dpdfdir="${EPREFIX}"/usr/share/doc/${PF}/pdf - - $(meson_native_enabled docs) - - -Dpam_unix=enabled - - # TODO: wire this up now it's more useful as of 1.5.3 (bug #931117) - -Deconf=disabled - - # TODO: lastlog is enabled again for now by us as elogind support - # wasn't available at first. Even then, disabling lastlog will - # probably need a news item. - $(meson_native_use_feature systemd logind) - $(meson_native_use_feature elogind) - $(meson_feature !elibc_musl pam_lastlog) - ) - - if use berkdb; then - local dbver - dbver="$(db_findver sys-libs/db)" || die "could not find db version" - local -x CPPFLAGS="${CPPFLAGS} -I$(db_includedir "${dbver}")" - emesonargs+=( - -Ddb=db - -Ddb-uniquename="-${dbver}" - ) - else - emesonargs+=( - -Ddb=gdbm - ) - fi - - # This whole weird has_version libxcrypt block can go once - # musl systems have libxcrypt[system] if we ever make - # that mandatory. See bug #867991. - #if use elibc_musl && ! has_version sys-libs/libxcrypt[system] ; then - # # Avoid picking up symbol-versioned compat symbol on musl systems - # export ac_cv_search_crypt_gensalt_rn=no - # - # # Need to avoid picking up the libxcrypt headers which define - # # CRYPT_GENSALT_IMPLEMENTS_AUTO_ENTROPY. - # cp "${ESYSROOT}"/usr/include/crypt.h "${T}"/crypt.h || die - # append-cppflags -I"${T}" - #fi - - meson_src_configure -} - -multilib_src_install_all() { - find "${ED}" -type f -name '*.la' -delete || die - - # tmpfiles.eclass is impossible to use because - # there is the pam -> tmpfiles -> systemd -> pam dependency loop - dodir /usr/lib/tmpfiles.d - - cat ->> "${ED}"/usr/lib/tmpfiles.d/${CATEGORY}-${PN}.conf <<-_EOF_ - d /run/faillock 0755 root root - _EOF_ - use selinux && cat ->> "${ED}"/usr/lib/tmpfiles.d/${CATEGORY}-${PN}-selinux.conf <<-_EOF_ - d /run/sepermit 0755 root root - _EOF_ -} - -pkg_postinst() { - ewarn "Some software with pre-loaded PAM libraries might experience" - ewarn "warnings or failures related to missing symbols and/or versions" - ewarn "after any update. While unfortunate this is a limit of the" - ewarn "implementation of PAM and the software, and it requires you to" - ewarn "restart the software manually after the update." - ewarn "" - ewarn "You can get a list of such software running a command like" - ewarn " lsof / | grep -E -i 'del.*libpam\\.so'" - ewarn "" - ewarn "Alternatively, simply reboot your system." - - # The pam_unix module needs to check the password of the user which requires - # read access to /etc/shadow only. - fcaps -m u+s cap_dac_override sbin/unix_chkpwd -} diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/pam/pam-1.7.1-r1.ebuild b/sdk_container/src/third_party/portage-stable/sys-libs/pam/pam-1.7.1-r1.ebuild deleted file mode 100644 index ecd11e989f8..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-libs/pam/pam-1.7.1-r1.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 - -MY_P="Linux-${PN^^}-${PV}" - -# Avoid QA warnings -# Can reconsider w/ EAPI 8 and IDEPEND, bug #810979 -TMPFILES_OPTIONAL=1 - -inherit db-use fcaps flag-o-matic meson-multilib - -DESCRIPTION="Linux-PAM (Pluggable Authentication Modules)" -HOMEPAGE="https://github.com/linux-pam/linux-pam" - -if [[ ${PV} == *_p* ]] ; then - PAM_COMMIT="e634a3a9be9484ada6e93970dfaf0f055ca17332" - SRC_URI=" - https://github.com/linux-pam/linux-pam/archive/${PAM_COMMIT}.tar.gz -> ${P}.gh.tar.gz - " - S="${WORKDIR}"/linux-${PN}-${PAM_COMMIT} -else - VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/pam.asc - inherit verify-sig - - SRC_URI=" - https://github.com/linux-pam/linux-pam/releases/download/v${PV}/${MY_P}.tar.xz - verify-sig? ( https://github.com/linux-pam/linux-pam/releases/download/v${PV}/${MY_P}.tar.xz.asc ) - " - S="${WORKDIR}/${MY_P}" - - BDEPEND="verify-sig? ( sec-keys/openpgp-keys-pam )" -fi - -LICENSE="|| ( BSD GPL-2 )" -SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" -IUSE="audit berkdb elogind examples debug nis nls selinux systemd" -REQUIRED_USE="?? ( elogind systemd )" - -# meson.build specifically checks for bison and then byacc -# also requires xsltproc -BDEPEND+=" - || ( sys-devel/bison dev-util/byacc ) - app-text/docbook-xsl-ns-stylesheets - dev-libs/libxslt - sys-devel/flex - virtual/pkgconfig - nls? ( sys-devel/gettext ) -" -DEPEND=" - virtual/libcrypt:=[${MULTILIB_USEDEP}] - >=virtual/libintl-0-r1[${MULTILIB_USEDEP}] - audit? ( >=sys-process/audit-2.2.2[${MULTILIB_USEDEP}] ) - berkdb? ( >=sys-libs/db-4.8.30-r1:=[${MULTILIB_USEDEP}] ) - !berkdb? ( sys-libs/gdbm:=[${MULTILIB_USEDEP}] ) - elogind? ( >=sys-auth/elogind-254 ) - selinux? ( >=sys-libs/libselinux-2.2.2-r4[${MULTILIB_USEDEP}] ) - systemd? ( >=sys-apps/systemd-254:= ) - nis? ( - net-libs/libnsl:=[${MULTILIB_USEDEP}] - >=net-libs/libtirpc-0.2.4-r2:=[${MULTILIB_USEDEP}] - ) -" -RDEPEND="${DEPEND}" -PDEPEND=">=sys-auth/pambase-20200616" - -PATCHES=( - "${FILESDIR}"/${P}-32-bit-lastlog.patch - "${FILESDIR}"/${P}-32-bit-timestamp.patch -) - -src_configure() { - # meson.build sets -Wl,--fatal-warnings and with e.g. mold, we get: - # cannot assign version `global` to symbol `pam_sm_open_session`: symbol not found - append-ldflags $(test-flags-CCLD -Wl,--undefined-version) - - # Do not let user's BROWSER setting mess us up, bug #549684 - unset BROWSER - - meson-multilib_src_configure -} - -multilib_src_configure() { - local machine_file="${T}/meson.${CHOST}.${ABI}.ini.local" - # Workaround for docbook5 not being packaged (bug #913087#c4) - # It's only used for validation of output, so stub it out. - # Also, stub out elinks+w3m which are only used for an index. - cat >> "${machine_file}" <<-EOF || die - [binaries] - xmlcatalog='true' - xmllint='true' - elinks='true' - w3m='true' - EOF - - local emesonargs=( - --native-file "${machine_file}" - - $(meson_feature audit) - $(meson_native_use_bool examples) - $(meson_use debug pam-debug) - $(meson_feature nis) - $(meson_feature nls i18n) - $(meson_feature selinux) - - -Disadir='.' - -Dxml-catalog="${BROOT}"/etc/xml/catalog - -Dsbindir="${EPREFIX}"/sbin - -Dsecuredir="${EPREFIX}"/$(get_libdir)/security - -Ddocdir="${EPREFIX}"/usr/share/doc/${PF} - -Dhtmldir="${EPREFIX}"/usr/share/doc/${PF}/html - -Dpdfdir="${EPREFIX}"/usr/share/doc/${PF}/pdf - - $(meson_native_enabled docs) - - -Dpam_unix=enabled - - # TODO: wire this up now it's more useful as of 1.5.3 (bug #931117) - -Deconf=disabled - - # TODO: lastlog is enabled again for now by us as elogind support - # wasn't available at first. Even then, disabling lastlog will - # probably need a news item. - $(meson_native_use_feature systemd logind) - $(meson_native_use_feature elogind) - $(meson_feature !elibc_musl pam_lastlog) - ) - - if use berkdb; then - local dbver - dbver="$(db_findver sys-libs/db)" || die "could not find db version" - local -x CPPFLAGS="${CPPFLAGS} -I$(db_includedir "${dbver}")" - emesonargs+=( - -Ddb=db - -Ddb-uniquename="-${dbver}" - ) - else - emesonargs+=( - -Ddb=gdbm - ) - fi - - # This whole weird has_version libxcrypt block can go once - # musl systems have libxcrypt[system] if we ever make - # that mandatory. See bug #867991. - #if use elibc_musl && ! has_version sys-libs/libxcrypt[system] ; then - # # Avoid picking up symbol-versioned compat symbol on musl systems - # export ac_cv_search_crypt_gensalt_rn=no - # - # # Need to avoid picking up the libxcrypt headers which define - # # CRYPT_GENSALT_IMPLEMENTS_AUTO_ENTROPY. - # cp "${ESYSROOT}"/usr/include/crypt.h "${T}"/crypt.h || die - # append-cppflags -I"${T}" - #fi - - meson_src_configure -} - -multilib_src_install_all() { - find "${ED}" -type f -name '*.la' -delete || die - - # tmpfiles.eclass is impossible to use because - # there is the pam -> tmpfiles -> systemd -> pam dependency loop - dodir /usr/lib/tmpfiles.d - - cat ->> "${ED}"/usr/lib/tmpfiles.d/${CATEGORY}-${PN}.conf <<-_EOF_ - d /run/faillock 0755 root root - _EOF_ - use selinux && cat ->> "${ED}"/usr/lib/tmpfiles.d/${CATEGORY}-${PN}-selinux.conf <<-_EOF_ - d /run/sepermit 0755 root root - _EOF_ -} - -pkg_postinst() { - ewarn "Some software with pre-loaded PAM libraries might experience" - ewarn "warnings or failures related to missing symbols and/or versions" - ewarn "after any update. While unfortunate this is a limit of the" - ewarn "implementation of PAM and the software, and it requires you to" - ewarn "restart the software manually after the update." - ewarn "" - ewarn "You can get a list of such software running a command like" - ewarn " lsof / | grep -E -i 'del.*libpam\\.so'" - ewarn "" - ewarn "Alternatively, simply reboot your system." - - # The pam_unix module needs to check the password of the user which requires - # read access to /etc/shadow only. - fcaps -m u+s cap_dac_read_search sbin/unix_chkpwd -} diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/pam/pam-1.7.1-r3.ebuild b/sdk_container/src/third_party/portage-stable/sys-libs/pam/pam-1.7.1-r3.ebuild deleted file mode 100644 index 33791259ba1..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-libs/pam/pam-1.7.1-r3.ebuild +++ /dev/null @@ -1,202 +0,0 @@ -# Copyright 1999-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -MY_P="Linux-${PN^^}-${PV}" - -# Avoid QA warnings -# Can reconsider w/ EAPI 8 and IDEPEND, bug #810979 -TMPFILES_OPTIONAL=1 - -inherit db-use flag-o-matic meson-multilib user-info - -DESCRIPTION="Linux-PAM (Pluggable Authentication Modules)" -HOMEPAGE="https://github.com/linux-pam/linux-pam" - -if [[ ${PV} == *_p* ]] ; then - PAM_COMMIT="e634a3a9be9484ada6e93970dfaf0f055ca17332" - SRC_URI=" - https://github.com/linux-pam/linux-pam/archive/${PAM_COMMIT}.tar.gz -> ${P}.gh.tar.gz - " - S="${WORKDIR}"/linux-${PN}-${PAM_COMMIT} -else - VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/pam.asc - inherit verify-sig - - SRC_URI=" - https://github.com/linux-pam/linux-pam/releases/download/v${PV}/${MY_P}.tar.xz - verify-sig? ( https://github.com/linux-pam/linux-pam/releases/download/v${PV}/${MY_P}.tar.xz.asc ) - " - S="${WORKDIR}/${MY_P}" - - BDEPEND="verify-sig? ( ~sec-keys/openpgp-keys-pam-20230330 )" -fi - -LICENSE="|| ( BSD GPL-2 )" -SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" -IUSE="audit berkdb elogind examples debug nis nls selinux systemd" -REQUIRED_USE="?? ( elogind systemd )" - -# meson.build specifically checks for bison and then byacc -# also requires xsltproc -BDEPEND+=" - acct-group/shadow - || ( sys-devel/bison dev-util/byacc ) - app-text/docbook-xsl-ns-stylesheets - dev-libs/libxslt - sys-devel/flex - virtual/pkgconfig - nls? ( sys-devel/gettext ) -" -DEPEND=" - virtual/libcrypt:=[${MULTILIB_USEDEP}] - >=virtual/libintl-0-r1[${MULTILIB_USEDEP}] - audit? ( >=sys-process/audit-2.2.2[${MULTILIB_USEDEP}] ) - berkdb? ( >=sys-libs/db-4.8.30-r1:=[${MULTILIB_USEDEP}] ) - !berkdb? ( sys-libs/gdbm:=[${MULTILIB_USEDEP}] ) - elogind? ( >=sys-auth/elogind-254 ) - selinux? ( >=sys-libs/libselinux-2.2.2-r4[${MULTILIB_USEDEP}] ) - systemd? ( >=sys-apps/systemd-254:= ) - nis? ( - net-libs/libnsl:=[${MULTILIB_USEDEP}] - >=net-libs/libtirpc-0.2.4-r2:=[${MULTILIB_USEDEP}] - ) -" -RDEPEND="${DEPEND} - acct-group/shadow -" -PDEPEND=">=sys-auth/pambase-20200616" - -PATCHES=( - "${FILESDIR}"/${P}-32-bit-lastlog.patch - "${FILESDIR}"/${P}-32-bit-timestamp.patch -) - -src_configure() { - # meson.build sets -Wl,--fatal-warnings and with e.g. mold, we get: - # cannot assign version `global` to symbol `pam_sm_open_session`: symbol not found - append-ldflags $(test-flags-CCLD -Wl,--undefined-version) - - # Do not let user's BROWSER setting mess us up, bug #549684 - unset BROWSER - - meson-multilib_src_configure -} - -multilib_src_configure() { - local machine_file="${T}/meson.${CHOST}.${ABI}.ini.local" - # Workaround for docbook5 not being packaged (bug #913087#c4) - # It's only used for validation of output, so stub it out. - # Also, stub out elinks+w3m which are only used for an index. - cat >> "${machine_file}" <<-EOF || die - [binaries] - xmlcatalog='true' - xmllint='true' - elinks='true' - w3m='true' - EOF - - local emesonargs=( - --native-file "${machine_file}" - - $(meson_feature audit) - $(meson_native_use_bool examples) - $(meson_use debug pam-debug) - $(meson_feature nis) - $(meson_feature nls i18n) - $(meson_feature selinux) - - -Disadir='.' - -Dxml-catalog="${BROOT}"/etc/xml/catalog - -Dsbindir="${EPREFIX}"/sbin - -Dsecuredir="${EPREFIX}"/$(get_libdir)/security - -Ddocdir="${EPREFIX}"/usr/share/doc/${PF} - -Dhtmldir="${EPREFIX}"/usr/share/doc/${PF}/html - -Dpdfdir="${EPREFIX}"/usr/share/doc/${PF}/pdf - - $(meson_native_enabled docs) - - -Dpam_unix=enabled - - # TODO: wire this up now it's more useful as of 1.5.3 (bug #931117) - -Deconf=disabled - - # TODO: lastlog is enabled again for now by us as elogind support - # wasn't available at first. Even then, disabling lastlog will - # probably need a news item. - $(meson_native_use_feature systemd logind) - $(meson_native_use_feature elogind) - $(meson_feature !elibc_musl pam_lastlog) - ) - - if use berkdb; then - local dbver - dbver="$(db_findver sys-libs/db)" || die "could not find db version" - local -x CPPFLAGS="${CPPFLAGS} -I$(db_includedir "${dbver}")" - emesonargs+=( - -Ddb=db - -Ddb-uniquename="-${dbver}" - ) - else - emesonargs+=( - -Ddb=gdbm - ) - fi - - # This whole weird has_version libxcrypt block can go once - # musl systems have libxcrypt[system] if we ever make - # that mandatory. See bug #867991. - #if use elibc_musl && ! has_version sys-libs/libxcrypt[system] ; then - # # Avoid picking up symbol-versioned compat symbol on musl systems - # export ac_cv_search_crypt_gensalt_rn=no - # - # # Need to avoid picking up the libxcrypt headers which define - # # CRYPT_GENSALT_IMPLEMENTS_AUTO_ENTROPY. - # cp "${ESYSROOT}"/usr/include/crypt.h "${T}"/crypt.h || die - # append-cppflags -I"${T}" - #fi - - meson_src_configure -} - -multilib_src_install_all() { - find "${ED}" -type f -name '*.la' -delete || die - - fowners :shadow /sbin/unix_chkpwd - fperms g+s /sbin/unix_chkpwd - - # tmpfiles.eclass is impossible to use because - # there is the pam -> tmpfiles -> systemd -> pam dependency loop - dodir /usr/lib/tmpfiles.d - - cat ->> "${ED}"/usr/lib/tmpfiles.d/${CATEGORY}-${PN}.conf <<-_EOF_ - d /run/faillock 0755 root root - _EOF_ - use selinux && cat ->> "${ED}"/usr/lib/tmpfiles.d/${CATEGORY}-${PN}-selinux.conf <<-_EOF_ - d /run/sepermit 0755 root root - _EOF_ -} - -pkg_postinst() { - if [[ -n ${ROOT} ]]; then - # Portage does not currently update the gid on installed files - # based on ${EROOT}/etc/group. - local gid=$(egetent group shadow | cut -d: -f3) - if [[ -n ${gid} ]]; then - chgrp "${gid}" "${EROOT}/sbin/unix_chkpwd" && - chmod g+s "${EROOT}/sbin/unix_chkpwd" - fi - fi - ewarn "Some software with pre-loaded PAM libraries might experience" - ewarn "warnings or failures related to missing symbols and/or versions" - ewarn "after any update. While unfortunate this is a limit of the" - ewarn "implementation of PAM and the software, and it requires you to" - ewarn "restart the software manually after the update." - ewarn "" - ewarn "You can get a list of such software running a command like" - ewarn " lsof / | grep -E -i 'del.*libpam\\.so'" - ewarn "" - ewarn "Alternatively, simply reboot your system." -} diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/tdb/tdb-1.4.14.ebuild b/sdk_container/src/third_party/portage-stable/sys-libs/tdb/tdb-1.4.14.ebuild index d4431304f17..18fc349d6af 100644 --- a/sdk_container/src/third_party/portage-stable/sys-libs/tdb/tdb-1.4.14.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-libs/tdb/tdb-1.4.14.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 @@ -13,7 +13,7 @@ SRC_URI="https://samba.org/ftp/tdb/${P}.tar.gz" LICENSE="GPL-3" SLOT="0" -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" IUSE="python test" REQUIRED_USE="${PYTHON_REQUIRED_USE}" diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/tevent/tevent-0.17.1.ebuild b/sdk_container/src/third_party/portage-stable/sys-libs/tevent/tevent-0.17.1.ebuild index df9b7e12df6..ddfdda52086 100644 --- a/sdk_container/src/third_party/portage-stable/sys-libs/tevent/tevent-0.17.1.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-libs/tevent/tevent-0.17.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 @@ -13,7 +13,7 @@ SRC_URI="https://samba.org/ftp/tevent/${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" IUSE="python test" REQUIRED_USE="${PYTHON_REQUIRED_USE}" RESTRICT="!test? ( test )" diff --git a/sdk_container/src/third_party/portage-stable/sys-libs/zlib/zlib-1.3.2.ebuild b/sdk_container/src/third_party/portage-stable/sys-libs/zlib/zlib-1.3.2.ebuild deleted file mode 100644 index 4e1b9e6eeb1..00000000000 --- a/sdk_container/src/third_party/portage-stable/sys-libs/zlib/zlib-1.3.2.ebuild +++ /dev/null @@ -1,175 +0,0 @@ -# Copyright 1999-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -# Worth keeping an eye on 'develop' branch upstream for possible backports. -AUTOTOOLS_AUTO_DEPEND="no" -VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/madler.asc -inherit autotools dot-a edo multilib-minimal flag-o-matic verify-sig - -DESCRIPTION="Standard (de)compression library" -HOMEPAGE="https://zlib.net/" -SRC_URI=" - https://zlib.net/${P}.tar.xz - https://zlib.net/fossils/${P}.tar.xz - https://zlib.net/current/beta/${P}.tar.xz - https://github.com/madler/zlib/releases/download/v${PV}/${P}.tar.xz - verify-sig? ( - https://zlib.net/${P}.tar.xz.asc - https://github.com/madler/zlib/releases/download/v${PV}/${P}.tar.xz.asc - ) -" - -LICENSE="ZLIB" -SLOT="0/1" # subslot = SONAME -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris" -IUSE="minizip static-libs" - -RDEPEND="!sys-libs/zlib-ng[compat]" -DEPEND="${RDEPEND}" -BDEPEND=" - minizip? ( ${AUTOTOOLS_DEPEND} ) - verify-sig? ( sec-keys/openpgp-keys-madler ) -" - -PATCHES=( - # Don't install unexpected & unused crypt.h header (which would clash with other pkgs) - # Pending upstream. bug #658536 - "${FILESDIR}"/${PN}-1.2.11-minizip-drop-crypt-header.patch - - # Respect AR, RANLIB, NM during build. Pending upstream. bug #831628 - "${FILESDIR}"/${PN}-1.3.1-configure-fix-AR-RANLIB-NM-detection.patch - - # On Darwin, don't force /usr/bin/libtool as AR. bug #924839 - "${FILESDIR}"/${PN}-1.3.1-configure-fix-AR-libtool-on-darwin.patch -) - -src_prepare() { - default - - if use minizip ; then - cd contrib/minizip || die - eautoreconf - fi - - case ${CHOST} in - *-mingw*|mingw*) - # Uses preconfigured Makefile rather than configure script - multilib_copy_sources - - ;; - esac -} - -src_configure() { - use static-libs && lto-guarantee-fat - multilib-minimal_src_configure -} - -multilib_src_configure() { - append-ldflags $(test-flags-CCLD -Wl,--undefined-version) - - case ${CHOST} in - *-mingw*|mingw*) - ;; - - *) - # bug #347167 - local uname=$("${BROOT}"/usr/share/gnuconfig/config.sub "${CHOST}" | cut -d- -f3) - - # for GNU Hurd - if [[ ${uname} == gnu ]] ; then - uname=GNU - fi - - local myconf=( - --shared - --prefix="${EPREFIX}/usr" - --libdir="${EPREFIX}/usr/$(get_libdir)" - ${uname:+--uname=${uname}} - ) - - # Not an autoconf script, so can't use econf - edo "${S}"/configure "${myconf[@]}" - - ;; - esac - - if use minizip ; then - local minizipdir="contrib/minizip" - mkdir -p "${BUILD_DIR}/${minizipdir}" || die - - cd ${minizipdir} || die - ECONF_SOURCE="${S}/${minizipdir}" econf $(use_enable static-libs static) - fi -} - -multilib_src_compile() { - case ${CHOST} in - *-mingw*|mingw*) - emake -f win32/Makefile.gcc STRIP=true PREFIX=${CHOST}- - sed \ - -e 's|@prefix@|'"${EPREFIX}"'/usr|g' \ - -e 's|@exec_prefix@|${prefix}|g' \ - -e 's|@libdir@|${exec_prefix}/'$(get_libdir)'|g' \ - -e 's|@sharedlibdir@|${exec_prefix}/'$(get_libdir)'|g' \ - -e 's|@includedir@|${prefix}/include|g' \ - -e 's|@VERSION@|'${PV}'|g' \ - zlib.pc.in > zlib.pc || die - ;; - - *) - emake - - ;; - esac - - use minizip && emake -C contrib/minizip -} - -multilib_src_install() { - case ${CHOST} in - *-mingw*|mingw*) - emake -f win32/Makefile.gcc install \ - BINARY_PATH="${ED}/usr/bin" \ - LIBRARY_PATH="${ED}/usr/$(get_libdir)" \ - INCLUDE_PATH="${ED}/usr/include" \ - SHARED_MODE=1 - - # Overwrites zlib.pc created from win32/Makefile.gcc, bug #620136 - insinto /usr/$(get_libdir)/pkgconfig - doins zlib.pc - - ;; - - *) - emake install DESTDIR="${D}" LDCONFIG=: - - ;; - esac - - if use minizip ; then - emake -C contrib/minizip install DESTDIR="${D}" - - # This might not exist if slibtool is used. - # bug #816756 - rm -f "${ED}"/usr/$(get_libdir)/libminizip.la || die - fi - - if ! use static-libs ; then - # bug #419645 - rm "${ED}"/usr/$(get_libdir)/libz.a || die - fi -} - -multilib_src_install_all() { - strip-lto-bytecode - - dodoc FAQ README ChangeLog doc/*.txt - - if use minizip ; then - dodoc contrib/minizip/*.txt - doman contrib/minizip/*.1 - fi -} diff --git a/sdk_container/src/third_party/portage-stable/sys-process/procps/files/procps-4.0.6-hurd.patch b/sdk_container/src/third_party/portage-stable/sys-process/procps/files/procps-4.0.6-hurd.patch new file mode 100644 index 00000000000..b425b8cddc8 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-process/procps/files/procps-4.0.6-hurd.patch @@ -0,0 +1,140 @@ +https://gitlab.com/procps-ng/procps/-/merge_requests/286 + +From c116ebd4b759ff79b391d18802a227738be9d94c Mon Sep 17 00:00:00 2001 +From: Svante Signell +Date: Wed, 11 Feb 2026 16:10:37 +0100 +Subject: [PATCH] Add support for GNU/Hurd + +--- + library/pids.c | 12 ++++++++++++ + library/readproc.c | 4 ++++ + library/uptime.c | 4 ++++ + src/top/top.c | 6 ++++++ + testsuite/ps.test/test-hugetlb.c | 2 +- + 5 files changed, 27 insertions(+), 1 deletion(-) + +diff --git a/library/pids.c b/library/pids.c +index 8855920a..b7b6e3c6 100644 +--- a/library/pids.c ++++ b/library/pids.c +@@ -1039,9 +1039,15 @@ static inline int pids_items_check_failed ( + * if (procps_pids_new(&info, PIDS_noop, 3) < 0) + * ^~~~~~~~~~~~~~~~ + */ ++/* (void*)items=0x3010<(void*)0x8000 causing FAIL:procps_pids new then unref */ ++#ifdef __GNU__ ++ if (numitems < 1) ++ return 1; ++#else + if (numitems < 1 + || (void *)items < (void *)0x8000) // twice as big as our largest enum + return 1; ++#endif + + for (i = 0; i < numitems; i++) { + // a pids_item is currently unsigned, but we'll protect our future +@@ -1523,8 +1529,10 @@ fresh_start: + pids_containers_check(); + + info->boot_tics = 0; ++#ifdef CLOCK_BOOTTIME + if (0 >= clock_gettime(CLOCK_BOOTTIME, &ts)) + info->boot_tics = (ts.tv_sec + ts.tv_nsec * 1.0e-9) * info->hertz; ++#endif + + if (NULL == info->read_something(info->get_PT, &info->get_proc)) + return NULL; +@@ -1567,8 +1575,10 @@ PROCPS_EXPORT struct pids_fetch *procps_pids_reap ( + info->read_something = which ? readeither : readproc; + + info->boot_tics = 0; ++#ifdef CLOCK_BOOTTIME + if (0 >= clock_gettime(CLOCK_BOOTTIME, &ts)) + info->boot_tics = (ts.tv_sec + ts.tv_nsec * 1.0e-9) * info->hertz; ++#endif + + rc = pids_stacks_fetch(info); + +@@ -1676,8 +1686,10 @@ PROCPS_EXPORT struct pids_fetch *procps_pids_select ( + info->read_something = (which & PIDS_FETCH_THREADS_TOO) ? readeither : readproc; + + info->boot_tics = 0; ++#ifdef CLOCK_BOOTTIME + if (0 >= clock_gettime(CLOCK_BOOTTIME, &ts)) + info->boot_tics = (ts.tv_sec + ts.tv_nsec * 1.0e-9) * info->hertz; ++#endif + + rc = pids_stacks_fetch(info); + +diff --git a/library/readproc.c b/library/readproc.c +index a7f79051..7bb81625 100644 +--- a/library/readproc.c ++++ b/library/readproc.c +@@ -1745,7 +1745,11 @@ int look_up_our_self(void) { + int fd; + + memset(&p, 0, sizeof(proc_t)); ++#ifdef O_PATH + fd = open("/proc/self", O_PATH|O_DIRECTORY); ++#else ++ fd = open("/proc/self", O_DIRECTORY); ++#endif + if(fd < 0 || file2str(fd, "stat", &ub) == -1) { + fprintf(stderr, "Error, do this: mount -t proc proc /proc\n"); + _exit(47); +diff --git a/library/uptime.c b/library/uptime.c +index dfff8e6e..6c09fc90 100644 +--- a/library/uptime.c ++++ b/library/uptime.c +@@ -177,8 +177,12 @@ PROCPS_EXPORT int procps_container_uptime( + if (!uptime_secs) + return 0; //valid, but odd call + ++#ifdef CLOCK_BOOTTIME + if ( (rv = clock_gettime(CLOCK_BOOTTIME, &tp) < 0)) + return rv; ++#else ++ return -1; ++#endif + + if ( (rv = procps_pids_new(&info, items, 1) < 0)) + return rv; +diff --git a/src/top/top.c b/src/top/top.c +index a62b7e1b..d5cad3ad 100644 +--- a/src/top/top.c ++++ b/src/top/top.c +@@ -2847,6 +2847,8 @@ static void *tasks_refresh (void *unused) { + #ifdef THREADED_TSK + sem_wait(&Semaphore_tasks_beg); + #endif ++ ++#ifdef CLOCK_BOOTTIME + if (0 != clock_gettime(CLOCK_BOOTTIME, &ts)) + Frame_etscale = 0; + else { +@@ -2857,6 +2859,10 @@ static void *tasks_refresh (void *unused) { + // if in Solaris mode, adjust our scaling for all cpus + Frame_etscale = 100.0f / ((float)Hertz * (float)et * (Rc.mode_irixps ? 1 : Cpu_cnt)); + } ++#else ++ Frame_etscale = 0; ++ ++#endif + what = Thread_mode ? PIDS_FETCH_THREADS_TOO : PIDS_FETCH_TASKS_ONLY; + if (Monpidsidx) { + what |= PIDS_SELECT_PID; +diff --git a/testsuite/ps.test/test-hugetlb.c b/testsuite/ps.test/test-hugetlb.c +index cfd5c30f..38b8488c 100644 +--- a/testsuite/ps.test/test-hugetlb.c ++++ b/testsuite/ps.test/test-hugetlb.c +@@ -59,7 +59,7 @@ int main(int argc, const char *argv[]) + usage(argv[0], "Invalid size"); + + if (MAP_FAILED == (addr = mmap(NULL, (kbytes*1024), (PROT_READ | PROT_WRITE), +- (MAP_PRIVATE | MAP_ANONYMOUS | MAP_HUGETLB), 0, 0))) { ++ (MAP_PRIVATE | MAP_ANONYMOUS), 0, 0))) { + perror("mmap"); + exit(EXIT_FAILURE); + } +-- +GitLab diff --git a/sdk_container/src/third_party/portage-stable/sys-process/procps/procps-4.0.5-r4.ebuild b/sdk_container/src/third_party/portage-stable/sys-process/procps/procps-4.0.5-r4.ebuild index 9fe1ed695fd..d57aaf675b1 100644 --- a/sdk_container/src/third_party/portage-stable/sys-process/procps/procps-4.0.5-r4.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-process/procps/procps-4.0.5-r4.ebuild @@ -15,7 +15,7 @@ S="${WORKDIR}"/${PN}-ng-${PV} # See bug #913210 LICENSE="GPL-2+ LGPL-2+ LGPL-2.1+" SLOT="0/1-ng" -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="elogind +kill modern-top +ncurses nls selinux static-libs skill systemd test unicode" RESTRICT="!test? ( test )" diff --git a/sdk_container/src/third_party/portage-stable/sys-process/procps/procps-4.0.6.ebuild b/sdk_container/src/third_party/portage-stable/sys-process/procps/procps-4.0.6.ebuild index f424fded520..4e1dd012308 100644 --- a/sdk_container/src/third_party/portage-stable/sys-process/procps/procps-4.0.6.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-process/procps/procps-4.0.6.ebuild @@ -56,6 +56,7 @@ PATCHES=( "${FILESDIR}"/${PN}-4.0.5-sysctl-manpage.patch # bug #565304 "${FILESDIR}"/${PN}-4.0.6-sysctl-ignore_failure.patch "${FILESDIR}"/${PN}-4.0.6-pid-off-by-one.patch + "${FILESDIR}"/${PN}-4.0.6-hurd.patch ) src_prepare() { @@ -98,6 +99,20 @@ multilib_src_configure() { myeconfargs+=( $(multilib_native_use_enable unicode watch8bit) ) fi + # Needs epoll + if ! use kernel_linux ; then + myeconfargs+=( + --disable-pidwait + ) + fi + + if use kernel_Hurd ; then + # Provided by sys-kernel/hurd + myeconfargs+=( + --disable-w + ) + fi + ECONF_SOURCE="${S}" econf "${myeconfargs[@]}" } @@ -125,6 +140,12 @@ multilib_src_install() { mv "${ED}"/usr/bin/kill "${ED}"/bin/ || die fi fi + + if use kernel_Hurd ; then + # Provided by sys-kernel/hurd + rm "${ED}"/usr/bin/{uptime,vmstat} || die + rm "${ED}"/bin/ps || die + fi } multilib_src_install_all() { diff --git a/sdk_container/src/third_party/portage-stable/sys-process/psmisc/psmisc-23.7.ebuild b/sdk_container/src/third_party/portage-stable/sys-process/psmisc/psmisc-23.7.ebuild index f90c3d132eb..be269ac8c66 100644 --- a/sdk_container/src/third_party/portage-stable/sys-process/psmisc/psmisc-23.7.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-process/psmisc/psmisc-23.7.ebuild @@ -68,6 +68,8 @@ src_install() { [[ -e ${ED}/usr/bin/peekfd ]] || rm -f "${ED}"/usr/share/man/man1/peekfd.1 # fuser is needed by init.d scripts; use * wildcard for #458250 - dodir /bin - mv "${ED}"/usr/bin/*fuser "${ED}"/bin || die + if use kernel_linux ; then + dodir /bin + mv "${ED}"/usr/bin/*fuser "${ED}"/bin || die + fi } diff --git a/sdk_container/src/third_party/portage-stable/virtual/ldb/ldb-2.11.0.ebuild b/sdk_container/src/third_party/portage-stable/virtual/ldb/ldb-2.11.0.ebuild index e2bc5e11067..2d385749e9e 100644 --- a/sdk_container/src/third_party/portage-stable/virtual/ldb/ldb-2.11.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/virtual/ldb/ldb-2.11.0.ebuild @@ -1,4 +1,4 @@ -# Copyright 2024-2025 Gentoo Authors +# Copyright 2024-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -6,6 +6,6 @@ EAPI=8 DESCRIPTION="Virtual for samba project's ldb" SLOT="0/2.11.0" -KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86" +KEYWORDS="amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~sparc x86" RDEPEND="net-fs/samba:${SLOT}" diff --git a/sdk_container/src/third_party/portage-stable/virtual/service-manager/service-manager-2-r1.ebuild b/sdk_container/src/third_party/portage-stable/virtual/service-manager/service-manager-2-r1.ebuild new file mode 100644 index 00000000000..5856d2ce7e6 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/virtual/service-manager/service-manager-2-r1.ebuild @@ -0,0 +1,24 @@ +# Copyright 1999-2025 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(-)] + ) ) + ) + ) + ) +" diff --git a/sdk_container/src/third_party/portage-stable/virtual/tmpfiles/tmpfiles-0-r5.ebuild b/sdk_container/src/third_party/portage-stable/virtual/tmpfiles/tmpfiles-0-r6.ebuild similarity index 66% rename from sdk_container/src/third_party/portage-stable/virtual/tmpfiles/tmpfiles-0-r5.ebuild rename to sdk_container/src/third_party/portage-stable/virtual/tmpfiles/tmpfiles-0-r6.ebuild index db167d97834..92e132409a2 100644 --- a/sdk_container/src/third_party/portage-stable/virtual/tmpfiles/tmpfiles-0-r5.ebuild +++ b/sdk_container/src/third_party/portage-stable/virtual/tmpfiles/tmpfiles-0-r6.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 @@ -9,8 +9,10 @@ KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 IUSE="systemd" RDEPEND=" - !prefix-guest? ( - systemd? ( sys-apps/systemd ) - !systemd? ( sys-apps/systemd-utils[tmpfiles] ) + kernel_linux? ( + !prefix-guest? ( + systemd? ( sys-apps/systemd ) + !systemd? ( sys-apps/systemd-utils[tmpfiles] ) + ) ) " diff --git a/sdk_container/src/third_party/portage-stable/virtual/tmpfiles/tmpfiles-0-r7.ebuild b/sdk_container/src/third_party/portage-stable/virtual/tmpfiles/tmpfiles-0-r7.ebuild new file mode 100644 index 00000000000..a783e042240 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/virtual/tmpfiles/tmpfiles-0-r7.ebuild @@ -0,0 +1,18 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DESCRIPTION="Virtual to select between different tmpfiles.d handlers" +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=" + kernel_linux? ( + !prefix-guest? ( + systemd? ( sys-apps/systemd ) + !systemd? ( || ( sys-apps/systemd-utils[tmpfiles] sys-apps/seedfiles ) ) + ) + ) +" 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 af9c71aff74..e699c5b525e 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 @@ -1,6 +1,7 @@ DIST NVIDIA-Linux-aarch64-535.288.01.run 269886661 BLAKE2B 9f9e994fcefd81e75db9a9c280668ad55423085e34eb9083043bad3f1317379ba14ffc9442fe94ee26b600f1ecf2e19f83708dae1c599b6a9df69d94ac3e116f SHA512 e8df9e97500a87d68e8c8d1f9601a8b37f2dd93773928a96b605a515d37e9382782cbdc0900cd6151923ae385045c644af3e37cc006771830ac0b0a532afb09c DIST NVIDIA-Linux-aarch64-570.211.01.run 290912556 BLAKE2B 4335d6a6b7a55bc7d2717071c6be968b63c90932592534be8eff28290a8bf98614b37bb52b4ee0f9563a6f0fdacf6b0e8a04b8eedbe8081587962f3599209a88 SHA512 22816d8f798d6ce141ff2ce750b5df1ca4fef9b1ba79762157fd7f93c1ea905c74f421dc6ac2b7bf5b383192d2baa735d7a7d240523be815defb68be54c4a6be DIST NVIDIA-Linux-aarch64-580.126.18.run 313585073 BLAKE2B 9cf8680392434126ae60cc4260f6a3ee44a74c8a5c5623e9990feb6b73cd4fc4661c2111214b192957ccc0c0e2623c3649685e739bc7440e36cbcbf4949bfc3f SHA512 b453b8aa9fa4fdaa1ce532f69a52317606d41728958a49f05e9725c093ebe8e90c65b5e5ad095ebcf5febdcd2d712bf0246ce06746078d8333c75bb7559b4245 +DIST NVIDIA-Linux-aarch64-580.142.run 314153601 BLAKE2B 6eb7db2f8ad7eba611a0591dc2aeb914a071d1edb08a601963c911f7c1a9c737bab0938e2ef1000503b39acfef418e58b4d8b94e0d14eab31ca8d75769cf7a48 SHA512 b5ed762d1acc884093a3fc233ea48008138c70483b5b551c406a473f3920e73bbb79fc76fc5539e5fb2921aa2e2983214ddd013de30aa20e9e77af3e5163d071 DIST NVIDIA-Linux-aarch64-590.48.01.run 319634379 BLAKE2B ff1b0641f8d4dfc834d9627fa934c5491bddcb9e6f5396a07d6d7831c15e2ab396614ff1ab6b5af4a69b42b8c6a022215cc1e3531eca7ca177c9d940f52281ea SHA512 ec81da1a11dd9609427e40434cba69d7c0426e4d60cb5c078c66ec992b6dd44483df2c9dfe02deb4db3a815a4c801b3c42f6ac2b08f0506327f1cdfe5446211d DIST NVIDIA-Linux-aarch64-595.45.04.run 316623169 BLAKE2B 0596a7896b895d9f96545e30231056885d8688ce0cf144d56c87a2cf91877d7e8573a821dd522968da09c4aad72565861a2f6c27065b9457a8d4df536b336327 SHA512 a75b927d660f22fd353a500ed4732fd7bdfe12b30d8c7aeb00d7a6d770d9df080d441aa070f302a5d0e386eeeae3fb82a7629108d31c8cc77a142e7de9d352dd DIST NVIDIA-Linux-x86-390.157.run 49417041 BLAKE2B 435b5e0e60468cc74b41cc5d9b5bb0105d29c11a2d408457835212a96519c9334ecf19278b36749d3ff7f498f5b0ae45a2efae2d428703dac21245c62f1efebe SHA512 dae9ac2c12f9ad90f7441e00e01a984147c577892421911d7f67f6a31e616ac1cb7d434bc9c7f58fbd9b8ae909521b5bece607a63c79588c0bb9d99c6bad5fb0 @@ -9,12 +10,15 @@ DIST NVIDIA-Linux-x86_64-470.256.02.run 272850014 BLAKE2B 0fdc867f92b82b2a60810c DIST NVIDIA-Linux-x86_64-535.288.01.run 341968325 BLAKE2B e37428855b41c295e5c6df66a029f4a1f6916af932a159587002c6b20b58c8280faee1a4fd6edf4791439df4da6bd21d18b3c9bdf300b3923f5dd30666f44d90 SHA512 8ccd90cc37cef6591412c9c0d3a48af9fe08bf5d715a2e8a9c0adab1fb8e72b716ec75c8b81bc0ac9d09d6f82fa8e01af144bfba5d58cfe7a524c47aa97ae6e1 DIST NVIDIA-Linux-x86_64-570.211.01.run 376192072 BLAKE2B 56a135681eba576377106b5ee4bad4e0ec7e41e512db8e32297fbafe03455ee4e9e0dafe782588dd3832fde74ecfd9ee5858ec662f3dc2ef3f1e1dab7a9c909d SHA512 3e751d90a8f126e369c5167e2d5ba8b218dd306ccf00907290ae70fb1c3f752f0ad0b973ce356a1a24cd0f19c31a07169cfd5705613a6bbb5918881635650839 DIST NVIDIA-Linux-x86_64-580.126.18.run 396862844 BLAKE2B fa2d992d4f23beac7a10bc5d17695ee0c211e3afcb6fb9135f09b8eebed86db226b1cb4b9646917ab28f6127136b349fbc02deeecef2c5625f2be6a178cd268e SHA512 3007896838256c5534d7a04958f38f2837314b09d05e595966ba68789b0166fd8c1a574b29c8dd9ee5414822c9aebad9f9c7e5db777b811701fcac2b92245f0f +DIST NVIDIA-Linux-x86_64-580.142.run 398046590 BLAKE2B 35334970e7d233113a989436f71eb1ce6f374f8071e4c1933779d23c3d54511b49b9a5709989863d50095cc858aae839e47d9020b6d010b7eab201eed1362b20 SHA512 1091bb1ee4e603b48b6122d226c7406b5aed001d631dca7562723b641a2915bf41cc2578c21e89e6dcc41c571bc65fc9df206acba72ff26ea83ba500de422ec3 DIST NVIDIA-Linux-x86_64-580.94.18.run 397082112 BLAKE2B c8ca38518debb4ed7bc26114aeb375acfe7da7f63056f08a9422f8e785f8488b1bfb9a66410985e8f883266f0befcd5bcd08e6bd4e0489c31bdf6374abe42bd1 SHA512 b1141f13cf2160e25004c9147328e60afb48b17866c907adfe1db6730ed50163fe5b8ff641d180c4b0420c0f47c0928585e52bf23c196d43a375d7a9466f8fe7 DIST NVIDIA-Linux-x86_64-590.48.01.run 416273526 BLAKE2B 57bc232f3d5cc52b3ba7c097e5c04b0e128947b34f75c8c7a75135ebbdda565dd9ae829f3707cfef35a9b8b554f2b46a50756f6b256a0f0280c22cf9ecefb2e1 SHA512 31fd82af707dbe9a6d3848766925386f5e91c5fae0a605819450eb8e5a5a52eaab3ae5cff50b4dd36bc5c32fe1aabc29a6a79438d6614988c7b08f509ef0da6d +DIST NVIDIA-Linux-x86_64-595.44.03.run 423207579 BLAKE2B 34620488400b7be01746c90500f9418ac58d73b95866591ebcf18da98a9b25d5ff5bd3941c135380e499a1b71f4eb7081dec3db3438dcee569f7fb6234cc2c3e SHA512 d1e0189c480faf19a75ca7a1f6d31a7ba147d4d9d056c64823bf9ddb950e9754c3ae66914e921e8dddc447309d39e7009f5cc2c04fc04114784f36a2cfd27609 DIST NVIDIA-Linux-x86_64-595.45.04.run 423188245 BLAKE2B 262bad2e9caf54c54968a5bdd3385d4ce725a4fe97537d92be20cf20c692c2d6fbaf875e8af5d62685158db6cafc22c656f33b08bfd0353cc137822211e90c2c SHA512 36907e0329564787e42eb598eff48e04c4058856bc95115cd5448eb4dfd351ac3d0df95b0fe5d2ef68e7ce9e848689955f40b3a9302d5231366efa89cfb21f7d DIST NVIDIA-kernel-module-source-535.288.01.tar.xz 12538144 BLAKE2B 597c58a62591e82b77fb29527d240bd2043b37439a1e7089ce5ab7ecb514ca3cae5be415aa4324f1156c08ddc1138c02e58337df5f38eaf7f19294773e4bcebc SHA512 b70d95af6737c36f8573d877a3473d38ecf3d7a4a35b899c38c1682888b455dcc60f6738ccee60a584477856b79dd25e6a10ffd1a4503c1d78a88902ba8329b4 DIST NVIDIA-kernel-module-source-570.211.01.tar.xz 17951900 BLAKE2B d40d2c1b4a92dfe8da95e1000413dfb484c9c96ad232dd5db14246378f6df8e73f04706592a536025c3d5512d5e663e7841de8bda782e3611b4b594b9b107ad4 SHA512 c988270d3aaa707310c3924de83eb5f5bdc4d022d1666eb3f41ed46eff35e98a765d4d6d34c22c02ac507016bed3c34af1da2e1befc285ec9158031a4a1447e4 DIST NVIDIA-kernel-module-source-580.126.18.tar.xz 22192576 BLAKE2B ed2b39aaed517a3a55633c6e0fc5605641bf85fcf370b1c8e7eb3950d3cf9112b6c3656ef3aff3fedbbbb769bb7f975a87f218b91c4131a9930cc04c8df27bf0 SHA512 810c596cdb40666b5dbccf9c1d358ef155e9171a489513f78fee73f48d73798fee0f655d8a9c994144d933ff9a9e0fc362f7c4918f87c8dfa9f00d30beee102e +DIST NVIDIA-kernel-module-source-580.142.tar.xz 22252916 BLAKE2B d062d17d4f06d8299dfdf1aa10da9c90945a41602d439751f8b2366bece701828d2bee4d544aea2266b6ba149532bb718b2b7e3602ad603c501222730fa19058 SHA512 fd1276f64114dcd2fea13800d01e810adc0b4ff3d17e46a5b32e6778907426b35c71dddf48343c8141be97a035d7b277a2d1f72a2c9f249c2ad0aae30d541850 DIST NVIDIA-kernel-module-source-590.48.01.tar.xz 22530000 BLAKE2B eae57ceccc78f0730fc4962b20f08f270bd21960e84ad5985433590e5229403a74bfc2518540f9e2ef07d319d9cb2288edfbe0d5f7a27cc7e0903aa61fed388c SHA512 6fe32d5d1a84df0baeaaecd4a847ba73a89bcd1b51d5f9c7525efd2af891f6d5512c1ac97c8b766ba1d1103312c53e5406653589e22684df9260fd75977591a6 DIST NVIDIA-kernel-module-source-595.45.04.tar.xz 23778508 BLAKE2B 604dbf06c03ac2002efbebb0581711f2a4e698353bde84a3fc78b5fbb5b0b1bd358a6c0bd418ca91b0d7e7d4d44f23ec7e47844b357675584b31e47c8b96b05c SHA512 c1179c9ea356d41b29ca9cc9f9771294575667dd72ba5dba208679a2197119ddd82f8345797661ef064b07dbfcbe123e964d52cd3516e3b9555833c3b964635d DIST nvidia-installer-390.157.tar.bz2 150323 BLAKE2B 8058ca87a6dea956d564af9f7eab9b1fc82b1f2382bd5cb2f6d97cbe2e19292533522d5f8f2eacbeb16520372715fcb72f8f9b0998962af5d4e75522c8d74524 SHA512 93a7ece648602157496c8e27a88864ede341a100f5328a4c1a25faf8f0b94d252060e5e2f71d0c302fd0566c10773c30b76b3b5f431d8039b71c90a7969f7d7e @@ -22,6 +26,7 @@ DIST nvidia-installer-470.256.02.tar.bz2 146269 BLAKE2B 4402e725c8fd0157eb84d4ec DIST nvidia-installer-535.288.01.tar.bz2 148906 BLAKE2B c559bfaeddd1af6c72647fb2e5c46638817339bd59ced80bcc6acfa14304f5ab07123aa0e43d18feff5d2582f08ceb0f84d2b97eef783bcd833c12f751e4c945 SHA512 b5d92a68b39a11709dae83ded0d9b860f9ff4cef514a1eb957305daf80d4354a272a88e4a58db61547b0073e57c2913f2dc038c2d51b2eb649fc9ae25eb42954 DIST nvidia-installer-570.211.01.tar.bz2 169330 BLAKE2B 100cdb3e0cccb19e3bbf69d4289d079a64cbca95fc20f4d48179190b5e61cfdcbfeb5b95c381c70824c185975356a70af4c89efb53ca0cbc5c61fc95d974ca77 SHA512 90efcd442feacd7f9d9bf25fddb77c521b2e7c79063703c320ce2bbd50a5cce950b0937ec926e89081634c6606c18861efda0e6288e24fab5ee31cd5d52d211f DIST nvidia-installer-580.126.18.tar.bz2 169283 BLAKE2B 87e64a32358d5547dee98293b7a507465d1375bc1262f011d181112aa4d3f2103b2820587d688f92cf3cc8f6bf0e120e695998d47ca98de9c950c16f0428b0a9 SHA512 54bb99cd8b17004f7ed0ab87ef781104410d6eb57be2789c15550fbb2215473cc1180410c8dd2b2f75af3132c1047eeb5e906f45fcd7d6931dec3b1bb1db9d9c +DIST nvidia-installer-580.142.tar.bz2 169744 BLAKE2B ff718da9c9e04dc216a5fc7f17440215ce2e130bcd3d3a5caff283d0b8f922f2905baa7fdc419a44068f88cbd68a7db1d1a3b1d14ec3e1e72cbfd77c8c6941d7 SHA512 6587195ad86ca966107fc8c00e5c5c980e7612be128c9083fbd6ae2038139913e0fa240771c8ada5ddcb68ffc6ef654acca938a458738f093f4c289ee537d1f5 DIST nvidia-installer-590.48.01.tar.bz2 170826 BLAKE2B 450bd298e6c574ae6dc085714c130984058f6e606c3de628c5adeefddbfde3bf2e025b1e422948311e9e028cfbc6e8d4c68a22a10d30a9a28466f3105aa7c13c SHA512 4c776ad602594a5d2ced2570fd26b51e5fdf5b7613c43263a7f647a5d3d550c6c35960a6cd8884766a71f0b34c397e7d8bd0507b84043cbbc1c04a82ec067932 DIST nvidia-installer-595.45.04.tar.bz2 171588 BLAKE2B ec9ac1711672be755e03aabbb83fc35d108dd524304798f7c893f57d93ef47337f61103a7a853262776d5577b679660f5129e1784eec7b9283aee4ced47015f4 SHA512 13769efd203b29dfb36f2e1a77b96dd868322d0674fc9b2e6fc7e147e043cd8280fc4ff41cc1e5356a0078dd5c88dedce657bcb00ac0642ba24172e104500df9 DIST nvidia-modprobe-390.157.tar.bz2 35306 BLAKE2B 80d202b39c2f95ec0f909712c2e101483af50124092c32efb33bd98ff58ddfb97b737ff07f1ddc941f688c1b4c26a15f392566d522e18506771f10422fcd571c SHA512 109bbe24a3758b568ea65fe1e9d78f69fae6108ec0497b796c885a3912825fe04ffd7389a3e22987f1a10a2926bf6eaa384faabc59478aa3ee244dd3ac91c6d3 @@ -29,6 +34,7 @@ DIST nvidia-modprobe-470.256.02.tar.bz2 38769 BLAKE2B 0db444b09b0b6d24c04877fae9 DIST nvidia-modprobe-535.288.01.tar.bz2 40729 BLAKE2B 60a8a22bcbaefb4d7ab1bbddba814939078b88a0ffb3f3fafece04910b476370f5e1f38878b1c0f109abe4449193dcbfcd308efadd03d28786b78dd2eaeac75b SHA512 0acb8e676fbc230978b97302df98450ee11fc7d59927c46643a8f92d5aec99a5d1d1bca861203a013cfbc61cadf89ed74e2fa999932264b833e3b5a53d42836e DIST nvidia-modprobe-570.211.01.tar.bz2 41631 BLAKE2B 953113337b742ea246bf24a47cbe679f03d89ecfa48a655f179b0913dd7d9c1742f4b1bd765c4d4263c9d45c352de87bff9f0a5a2c3aa48c86f221177cd5d1fb SHA512 c1bbba303b587f18e824cd2dd9a74341d5a03ee56c6adff67bb33c4f65ed16742f094dca9457a04d68b676c3671756e47d996090523827f42c8780329988e3fb DIST nvidia-modprobe-580.126.18.tar.bz2 41651 BLAKE2B f2b8c639e50841f844e32ec4e41381af034c99ec81250fec68d7a79af5e61b005fd43c802d2dc9983f74b9816b8f6996b2580d21aca21ba3dcf4097fdb6dc11c SHA512 a179eb37f9513f962976d58c16417f90e6b51d43dacbed720d05727f1d6404dff1f81b4206dc913161198776028636187fab6812c2ec96fa9cca70d9e63c0652 +DIST nvidia-modprobe-580.142.tar.bz2 41674 BLAKE2B 7d6d0282bbb1492825216f370fcfe605012f6e65c1c731e0a4bde58f8129b19abc40804c80691c50ede66298894fd0590057f80952c179fa908b82d872d1a5b3 SHA512 f6305dc71dc31219202262f94ec17f747da267aaf1e89a5bf8aa4096e52eb5ea6bee3a1653a525157b188f35763fc4420b78f658b13c530e42ba9a9c67cbf125 DIST nvidia-modprobe-590.48.01.tar.bz2 41660 BLAKE2B 0780a1aa529d95323b37115efa529dab030cbea589a03ddc70460f4176e7aa88388401ce8508a093a2e9a0ad406589e9e94ff0391021307e879cbcacec8b6759 SHA512 805a70d5012fbc26af3787104e39b3626b2ed7d53a4989365d2fbf6926daf817eec1dc6b7cd50dfbfe29bbd71569ac3095f0a37cad2199994dbdaa76720d8fb0 DIST nvidia-modprobe-595.45.04.tar.bz2 41723 BLAKE2B 1dfd5c71de90f7522d7a33e90597706f407fc68c60d2c9e2f2827803b4b41b6431a7e00ef64382c2e0760b3f09c2d0b4227e75bdde64080d736d9c5b380b214a SHA512 9c3d77077cc53ab41047ca8ebc838d1345fd14a039a118fca04a88de832ebfde241d3714eb7720431021f3ea521202f2a88b0d66a9c1273429515a0c919c3463 DIST nvidia-persistenced-390.157.tar.bz2 48654 BLAKE2B 2cf6c92da90acff55e8c180a06b0c6a29d48be9fd8ca3c541202fd14f0697220fba6b66452942aa7ae7cc8821f5c5eb9fa8f7a31d2248624e5f9141d83a176b8 SHA512 70f0707ed6f2b877e69ef90cf782f66cbc9d2071db53ca09ceb7b89427b0fe176708517340621fa251539b7d481b238adeeb60261674eed74de1f62db6dbb72e @@ -36,6 +42,7 @@ DIST nvidia-persistenced-470.256.02.tar.bz2 46567 BLAKE2B 8f837322a3b88412fd2f6a DIST nvidia-persistenced-535.288.01.tar.bz2 48600 BLAKE2B 025d2d28a078354898a501eef857d496e504279e45ab2b167a4abd5345d50e8effa1432a46da7ffc0276faed5698fb02afec21eee810335daac638e4656d7ce8 SHA512 b92c96b12346d8e26321679ae51532e8d28eff6c2998b6e781ea840eecf022823e47b48ac0c918c1069eb04a601833c4e70c88f66eb4891bdea2a85666597d90 DIST nvidia-persistenced-570.211.01.tar.bz2 61779 BLAKE2B 02ac6f53eb4c053ca894f79b49d2a4b1b1f8e9f1a349053794542e72112bf0fab87aa2ee317d486758aaf77811c929d0aa8fbbcef9de8cc59836445ef845cb7d SHA512 5cb8feb56bf245e8e51e65d3d6d31f2b588e7b84ca29330e564d3c27ab37ceb67df0f80f8b37dfafb49a9fe8d7fef6b26d6334c6403902737298e8f3b23d1cb3 DIST nvidia-persistenced-580.126.18.tar.bz2 62246 BLAKE2B 2dd91f79713631afebd574bd3eed8fe2867083bece0ba9f57ffc3d41221729e39b2e04a2514b137c7a9407b0cb9569de3dc0c8f5ae78f9a15c78600c6feb8198 SHA512 32394ef4922b466a56f666ecea913831338af02a9768b85275ad1bbd9a7f75379e17597828412a4080a0dcfafb7e9bd5510d6244539594ca60a22a541de8458e +DIST nvidia-persistenced-580.142.tar.bz2 62217 BLAKE2B aacca7d951bba2a47c5e8daf816b304c122e89a8adb4a80c693883d619a263e99acd4013874cb843f1b9b5b02affd91dad32334c766f66cef51ad654e23e9fe2 SHA512 92266c22ff1e37c4a1f92b1ae27eff41a3db56a3568646e6e4662572b2aa61b8338df34b7864343a7557e5dab1380fc9b37ed1038730b35123d88e7bc7ce4117 DIST nvidia-persistenced-590.48.01.tar.bz2 62193 BLAKE2B e6f03ce2f24f1ddc6b1dc9b7a8dd22de4541d5ec82f85c58943cf48f295e7f77555765b01edcce1c7f5ba67580c51273de8b8200d522c49e2321cffcfc8aeb6b SHA512 960f37355e58da20af92f0f0df091709623e32d9ef4eaba34d1f6b52f71227ac7c3a7f84aec64460952fa32986672f9373774ab1e65149ed426c59be47d7f2d8 DIST nvidia-persistenced-595.45.04.tar.bz2 62427 BLAKE2B 9e637fd80a7ee75a7ec8f28d62aef2b3c544b00f53b37ddd218a2cbe74715e6880f7edf4662e5662a859ebad2690e901bee369c372c6aa761ef1c4b0704d45a8 SHA512 53816fceeaa47753ca4ae733dab276b9c808283a4fb91c9377c101e9a7b1ea87e8e48a9226f3f05dc6b8343325ea0f6581404f1919c752bf7f7c484a1ca8d820 DIST nvidia-settings-390.157.tar.bz2 1108938 BLAKE2B d9ec1ab5d7f157d74627272adf752a671dd17e2ede02069437b6180b927fe315b15cc6416d584ab2f038b76fe01e5b64514a834f24d88ac16676e55205fdecdd SHA512 b16699009bf56a1ff3b623a528c58061c4f5a2c5c4a373756a07bcd667743a1df7c733a572d2d0baa835a904ac2fda8a5c85890dcc00c3a0f223e0467aea902d @@ -43,6 +50,7 @@ DIST nvidia-settings-470.256.02.tar.bz2 1062273 BLAKE2B 8e66201e7861469b12932595 DIST nvidia-settings-535.288.01.tar.bz2 1094513 BLAKE2B 8b7112b44bbe3445b63ddc245edbdb717436432482e9f87398863ffd08c520b6ac3527d3d47a75cc7e0ddec3931302e3029ccd7050db1abcc317ebf697284e01 SHA512 f1a817d9463a928fe47fed14da5d1bc0b9cbe0a910cbf01fca0d4edbee0effa989ec1cbf34e0aba6cc8516cf7bdadbc60ee6f0e4178e3c6cfb78301a1ef5aa8b DIST nvidia-settings-570.211.01.tar.bz2 1123957 BLAKE2B 7355319d29f96aeeada3cd1ffd08b053fa76a5f2f0dd35fac383ff5c1ffd4abba95d0a7f0f421fc4b74a11f2c94352c9e2db363034e5361a0d18017a321261f2 SHA512 8f29c02597eedd934531e703c617aaa7504effe836257de07c664145e07690b0b34b8c893c01e9e561bf90cb3c15b1b6c116e2a7a88ea1a733f2872490c10441 DIST nvidia-settings-580.126.18.tar.bz2 1132578 BLAKE2B d903f91d84de3f98fcb6c32601c77297ad8cb34e74dc5719a36e5777a4f2003207f7ec3c41defaea4b26af739099a84648f994720db700090b81f7980d3e7cdb SHA512 6980829ba2e4517f0765b3a0321e408182627ed4f08601b9a44cbb7fd35bac46ba6eedc890e585ac9d1feb971fc0a0f3ae6992f3ee30bfe496cdec97ef4d6f30 +DIST nvidia-settings-580.142.tar.bz2 1132719 BLAKE2B 1ec635ad85070570c544a8fa8df6e28625132bbeb09864e6ec30871b38f99f26dc35068aef33f2a2d9a2ed4584c9e54ab54aa2843a77474a21ceba127f54386e SHA512 23b9a3b67f4fe1c697b6093facf26ad25cca38022620725e3f0104ec184ee2cdae9fe7b2b258564335328937dc97b635055345a095c263ff090431f58f4e9ce7 DIST nvidia-settings-590.48.01.tar.bz2 1134292 BLAKE2B 901a3bad03d4eaca3f78afc154539f72aa882ae19052b43b6bfb267a3be1ded4af607fbc05d1a379a8038a22fa5a9c19dd6c393f3436cda97cc7049820f1ec57 SHA512 c82737dc8894a35b7e87afd99fb98c0a4093ec8fd48590cc8e09154d55f948ceaf48fff31c7d015adcceab31a00c5ec4334fe1e90aec94c4bb076118b789dd4c DIST nvidia-settings-595.45.04.tar.bz2 1135962 BLAKE2B 4df308484ffc82b81acc7f19af778f8b2fb98efec7750a1293f57cf894589589a2bbd5791bb042fe9618674c4e112033ddf199b7915d3a229f222f56078c0a5d SHA512 aaab0cfa803e635adb855fdf7874d8b0da90fe8e5d192a99d24e0f810dba3afd13b476427c1ef171daf03feb82a35c0d215f0c2d205d90ab4716cd66461eaec2 DIST nvidia-xconfig-390.157.tar.bz2 107399 BLAKE2B 0cbb3b1ba508ddc3ba4a161c290b31bf7a67f67880bdbd01171a962c5fa97ca945b1ef17932403f8589309380743f1da632c728d8accb6d4e56dbd895e7486bb SHA512 50b390811c9bf091b14add41f886925b17496b41006b7d3981d2398caa65cf5db8a579c8cebed78278384bf3acc629befb07b54339c61abcc75852c0dcb8b8ca @@ -50,6 +58,8 @@ DIST nvidia-xconfig-470.256.02.tar.bz2 108698 BLAKE2B e468574e4bc57e7279d4120e2b DIST nvidia-xconfig-535.288.01.tar.bz2 110671 BLAKE2B 94f8f5c651df7d43de308938312b2c97e8a0292a2575914250e22dc62e139cba36be038453d6f1688e8ebb90883ce0806424eee7ca6fd3a5cee5e9884cfc8d60 SHA512 4368625df5eec5ec8296b9f561a8dc32fda958fd4ea37a4bc9da42303529d6366b41a028d2d9614ba0dcd029a3a5740c15e4fa1febec31da7df51b0b276a831c DIST nvidia-xconfig-570.211.01.tar.bz2 111263 BLAKE2B 9d6e7e973156d91ce1a213a95aa31269d811024ebf358dfad42c0771cafc6c4f2d4257994d67e67ac637a1107527511d8f8219446e9a57560bab8ba7d4d2684c SHA512 8e8be1e95998fde590bdb5c0246764a426d623c8bf9e705e7bff649f1daebb86726cead4add570622e34aea9a38b697d31d11d7a2fc741dd91af2ccaaa024cd1 DIST nvidia-xconfig-580.126.18.tar.bz2 111880 BLAKE2B 669b02a4dd3d3b08937f67f7812ac6b4f715d471526b3c5178623699fff2b89c596c199d1b8fa1837bb2a5c784f8adf68d1977686da8c586c5abd3f8b49d71f9 SHA512 769cff278522fd3a5435d0b2c31c627f4091be996f2e13ede2df064e025a32cdbe6818e5a81e86a0338a6e7b9c96b9aa4bd7d8a9ff737f738a46f0be63c9b90a +DIST nvidia-xconfig-580.142.tar.bz2 111478 BLAKE2B cb972f8bcc4c24998671fc50a6946825ee7e25b4175e9fdc6646e0b49946a0172607d8525cf7e5e4f9211aee93014867a9fcfa06e0dba81caab2aac24ff19f5c SHA512 1431131b9c74be5a46c56bdac2d92dcc9f12d7003fd9667565828a6e92f636e251d6d4b98c4e82d67754ba2be61b56f44c881dc3ce10eff00a6bc83930345ad7 DIST nvidia-xconfig-590.48.01.tar.bz2 110986 BLAKE2B 6ec7f5eee2ca4c4a96f0607ac94ec3d491137a0e8750a6ae4c46feddced61f7a8b1eb77aa333008a69ceab7ad071671b7449bb2ed9ba285359fd1cb991a9c9b2 SHA512 e85dbd9ba5e056fb6f8a4618df35fa1692d0037e50122a5659ebda043a9b380fdf72aaa56f82b64e5525c36f429ed9bbd7f0e319c608f7c50355d47ab3b24077 DIST nvidia-xconfig-595.45.04.tar.bz2 111057 BLAKE2B 89cab70e2ed1aaf6af883966eed8597010497485ab6b019e8f237ab03c4a4a1bc37aab8ea24f67e96118f7315c21bf4b5056f97b188ce622b390919761e8b3d0 SHA512 85a64cf414f6a2ebf07466c7ecb9ca838810031f59c9fecfff3325fa4db0b37edeae7f6cf94a1127be074fe34af44e9ade06ea36d5c3764a0907d1706b49e8e4 DIST open-gpu-kernel-modules-580.94.18.tar.gz 23301123 BLAKE2B d05530e8dd763a5305a20fd7a47a99f5bb9088cee68fc023f00c94c48f6477b0db504fa95f3ff1262d21cd57b05af529341bebfc69ec3ce904ac0315d424b0f7 SHA512 71fb699c57061d226ddfc1e8974c9c3f50d68af651e0d56afb425482b35c8892c67f60f9a41bde86e3f6d93b15bb8661d1f57b55b0fc18c84a6b8775ca5328c4 +DIST open-gpu-kernel-modules-595.44.03.tar.gz 24797855 BLAKE2B bd058596f70f6c57a35ca0d2681eb12a7c194cba44fd90bb63fab51e293bf6e42a2b315bd60de1847e89f87850aa38968a8bfab3aa76039d6be2437de3b87726 SHA512 61e4155e176e41e2ce69edcf2bea1e5c43dfed10f259e130b7d390a880677fcb6a332ba45a87b6a685ca748693958b0afca97220e9ecd7bc999abe52d1c7bfc5 diff --git a/sdk_container/src/third_party/portage-stable/x11-drivers/nvidia-drivers/nvidia-drivers-580.142.ebuild b/sdk_container/src/third_party/portage-stable/x11-drivers/nvidia-drivers/nvidia-drivers-580.142.ebuild new file mode 100644 index 00000000000..8adc84cff92 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/x11-drivers/nvidia-drivers/nvidia-drivers-580.142.ebuild @@ -0,0 +1,595 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +MODULES_OPTIONAL_IUSE=+modules +inherit desktop dot-a eapi9-pipestatus eapi9-ver flag-o-matic linux-mod-r1 +inherit readme.gentoo-r1 systemd toolchain-funcs unpacker user-info + +MODULES_KERNEL_MAX=6.19 +NV_URI="https://download.nvidia.com/XFree86/" + +DESCRIPTION="NVIDIA Accelerated Graphics Driver" +HOMEPAGE="https://www.nvidia.com/" +SRC_URI=" + amd64? ( ${NV_URI}Linux-x86_64/${PV}/NVIDIA-Linux-x86_64-${PV}.run ) + arm64? ( ${NV_URI}Linux-aarch64/${PV}/NVIDIA-Linux-aarch64-${PV}.run ) + $(printf "${NV_URI}%s/%s-${PV}.tar.bz2 " \ + nvidia-{installer,modprobe,persistenced,settings,xconfig}{,}) + ${NV_URI}NVIDIA-kernel-module-source/NVIDIA-kernel-module-source-${PV}.tar.xz +" +# nvidia-installer is unused but here for GPL-2's "distribute sources" +S=${WORKDIR} + +LICENSE=" + NVIDIA-2025 Apache-2.0 Boost-1.0 BSD BSD-2 GPL-2 MIT ZLIB + curl openssl public-domain +" +SLOT="0/${PV%%.*}" +KEYWORDS="-* ~amd64 ~arm64" +IUSE=" + +X abi_x86_32 abi_x86_64 kernel-open persistenced powerd + +static-libs +tools wayland +" + +COMMON_DEPEND=" + acct-group/video + X? ( x11-libs/libpciaccess ) + persistenced? ( + acct-user/nvpd + net-libs/libtirpc:= + ) + tools? ( + >=app-accessibility/at-spi2-core-2.46:2 + dev-libs/glib:2 + dev-libs/jansson:= + media-libs/harfbuzz:= + x11-libs/cairo + x11-libs/gdk-pixbuf:2 + x11-libs/gtk+:3[X] + x11-libs/libX11 + x11-libs/libXext + x11-libs/libXxf86vm + x11-libs/pango + ) +" +RDEPEND=" + ${COMMON_DEPEND} + dev-libs/openssl:0/3 + sys-libs/glibc + X? ( + media-libs/libglvnd[X,abi_x86_32(-)?] + x11-libs/libX11[abi_x86_32(-)?] + x11-libs/libXext[abi_x86_32(-)?] + ) + powerd? ( sys-apps/dbus[abi_x86_32(-)?] ) + wayland? ( + >=gui-libs/egl-gbm-1.1.1-r2[abi_x86_32(-)?] + >=gui-libs/egl-wayland-1.1.13.1[abi_x86_32(-)?] + X? ( gui-libs/egl-x11[abi_x86_32(-)?] ) + ) +" +DEPEND=" + ${COMMON_DEPEND} + static-libs? ( + x11-base/xorg-proto + x11-libs/libX11 + x11-libs/libXext + ) + tools? ( + dev-util/vulkan-headers + media-libs/libglvnd + sys-apps/dbus + x11-base/xorg-proto + x11-libs/libXrandr + x11-libs/libXv + x11-libs/libvdpau + ) +" +BDEPEND=" + app-alternatives/awk + sys-devel/m4 + virtual/pkgconfig +" + +# there is some non-prebuilt exceptions but rather not maintain a list +QA_PREBUILT="lib/firmware/* usr/bin/* usr/lib*" + +PATCHES=( + "${FILESDIR}"/nvidia-modprobe-390.141-uvm-perms.patch + "${FILESDIR}"/nvidia-settings-530.30.02-desktop.patch +) + +pkg_setup() { + use modules && [[ ${MERGE_TYPE} != binary ]] || return + + # do early before linux-mod-r1 so can use chkconfig to setup CONFIG_CHECK + get_version + require_configured_kernel + + local CONFIG_CHECK=" + PROC_FS + ~DRM_KMS_HELPER + ~DRM_FBDEV_EMULATION + ~SYSVIPC + ~!LOCKDEP + ~!PREEMPT_RT + ~!SLUB_DEBUG_ON + !DEBUG_MUTEXES + $(usev powerd '~CPU_FREQ') + " + + kernel_is -ge 6 11 && linux_chkconfig_present DRM_FBDEV_EMULATION && + CONFIG_CHECK+=" DRM_TTM_HELPER" + + use amd64 && kernel_is -ge 5 8 && CONFIG_CHECK+=" X86_PAT" #817764 + + use kernel-open && CONFIG_CHECK+=" MMU_NOTIFIER" #843827 + + local drm_helper_msg="Cannot be directly selected in the kernel's config menus, and may need + selection of a DRM device even if unused, e.g. CONFIG_DRM_QXL=m or + DRM_AMDGPU=m (among others, consult the kernel config's help), can + also use DRM_NOUVEAU=m as long as built as module *not* built-in." + local ERROR_DRM_KMS_HELPER="CONFIG_DRM_KMS_HELPER: is not set but is needed for nvidia-drm.modeset=1 + support (see ${EPREFIX}/etc/modprobe.d/nvidia.conf) which is needed for wayland + and for config-less Xorg auto-detection. + ${drm_helper_msg}" + local ERROR_DRM_TTM_HELPER="CONFIG_DRM_TTM_HELPER: is not set but is needed to compile when using + kernel version 6.11.x or newer while DRM_FBDEV_EMULATION is set. + ${drm_helper_msg}" + local ERROR_DRM_FBDEV_EMULATION="CONFIG_DRM_FBDEV_EMULATION: is not set but is needed for + nvidia-drm.fbdev=1 support (see ${EPREFIX}/etc/modprobe.d/nvidia.conf), may + result in a blank console/tty." + local ERROR_MMU_NOTIFIER="CONFIG_MMU_NOTIFIER: is not set but needed to build with USE=kernel-open. + Cannot be directly selected in the kernel's menuconfig, and may need + selection of another option that requires it such as CONFIG_AMD_IOMMU=y, + or DRM_I915=m (among others, consult the kernel config's help)." + local ERROR_PREEMPT_RT="CONFIG_PREEMPT_RT: is set but is unsupported by NVIDIA upstream and + will fail to build unless the env var IGNORE_PREEMPT_RT_PRESENCE=1 is + set. Please do not report issues if run into e.g. kernel panics while + ignoring this." + + linux-mod-r1_pkg_setup +} + +src_prepare() { + # make patches usable across versions + rm nvidia-modprobe && mv nvidia-modprobe{-${PV},} || die + rm nvidia-persistenced && mv nvidia-persistenced{-${PV},} || die + rm nvidia-settings && mv nvidia-settings{-${PV},} || die + rm nvidia-xconfig && mv nvidia-xconfig{-${PV},} || die + mv NVIDIA-kernel-module-source-${PV} kernel-module-source || die + + default + + # prevent detection of incomplete kernel DRM support (bug #603818) + sed 's/defined(CONFIG_DRM/defined(CONFIG_DRM_KMS_HELPER/g' \ + -i kernel{,-module-source/kernel-open}/conftest.sh || die + + sed 's/__USER__/nvpd/' \ + nvidia-persistenced/init/systemd/nvidia-persistenced.service.template \ + > "${T}"/nvidia-persistenced.service || die + + # use alternative vulkan icd option if USE=-X (bug #909181) + use X || sed -i 's/"libGLX/"libEGL/' nvidia_{layers,icd}.json || die + + # makefile attempts to install wayland library even if not built + use wayland || sed -i 's/ WAYLAND_LIB_install$//' \ + nvidia-settings/src/Makefile || die +} + +src_compile() { + tc-export AR CC CXX LD OBJCOPY OBJDUMP PKG_CONFIG + + # extra flags for the libXNVCtrl.a static library + local xnvflags=-fPIC #840389 + tc-is-lto && xnvflags+=" $(test-flags-CC -ffat-lto-objects)" + + # Same as uname -m. + local target_arch + case ${ARCH} in + amd64) target_arch=x86_64 ;; + arm64) target_arch=aarch64 ;; + *) die "Unrecognised architecture: ${ARCH}" ;; + esac + + NV_ARGS=( + PREFIX="${EPREFIX}"/usr + HOST_CC="$(tc-getBUILD_CC)" + HOST_LD="$(tc-getBUILD_LD)" + BUILD_GTK2LIB= + NV_USE_BUNDLED_LIBJANSSON=0 + NV_VERBOSE=1 DO_STRIP= MANPAGE_GZIP= OUTPUTDIR=out + TARGET_ARCH="${target_arch}" + WAYLAND_AVAILABLE=$(usex wayland 1 0) + XNVCTRL_CFLAGS="${xnvflags}" + ) + + if use modules; then + local o_cflags=${CFLAGS} o_cxxflags=${CXXFLAGS} o_ldflags=${LDFLAGS} + + local modlistargs=video:kernel + if use kernel-open; then + modlistargs+=-module-source:kernel-module-source/kernel-open + + # environment flags are normally unused for modules, but nvidia + # uses it for building the "blob" and it is a bit fragile + filter-flags -fno-plt #912949 + filter-lto + CC=${KERNEL_CC} CXX=${KERNEL_CXX} strip-unsupported-flags + + LDFLAGS=$(raw-ldflags) + fi + + local modlist=( nvidia{,-drm,-modeset,-peermem,-uvm}=${modlistargs} ) + local modargs=( + IGNORE_CC_MISMATCH=yes NV_VERBOSE=1 + SYSOUT="${KV_OUT_DIR}" SYSSRC="${KV_DIR}" + TARGET_ARCH="${target_arch}" + + # kernel takes "x86" and "x86_64" as meaning the same, but nvidia + # makes the distinction (since 550.135) and is not happy with "x86" + # TODO?: it should be ok/better for tc-arch-kernel to do x86_64 + $(usev amd64 ARCH=x86_64) + ) + + # temporary workaround for bug #914468 + addpredict "${KV_OUT_DIR}" + + linux-mod-r1_src_compile + CFLAGS=${o_cflags} CXXFLAGS=${o_cxxflags} LDFLAGS=${o_ldflags} + fi + + emake "${NV_ARGS[@]}" -C nvidia-modprobe + use persistenced && emake "${NV_ARGS[@]}" -C nvidia-persistenced + use X && emake "${NV_ARGS[@]}" -C nvidia-xconfig + + if use tools; then + # avoid noisy *very* noisy logs with deprecation warnings + CFLAGS="-Wno-deprecated-declarations ${CFLAGS}" \ + emake "${NV_ARGS[@]}" -C nvidia-settings + elif use static-libs; then + # pretend GTK+3 is available, not actually used (bug #880879) + emake "${NV_ARGS[@]}" BUILD_GTK3LIB=1 \ + -C nvidia-settings/src out/libXNVCtrl.a + fi +} + +src_install() { + local libdir=$(get_libdir) libdir32=$(ABI=x86 get_libdir) + + NV_ARGS+=( DESTDIR="${D}" LIBDIR="${ED}"/usr/${libdir} ) + + local -A paths=( + [APPLICATION_PROFILE]=/usr/share/nvidia + [CUDA_ICD]=/etc/OpenCL/vendors + [EGL_EXTERNAL_PLATFORM_JSON]=/usr/share/egl/egl_external_platform.d + [FIRMWARE]=/lib/firmware/nvidia/${PV} + [GBM_BACKEND_LIB_SYMLINK]=/usr/${libdir}/gbm + [GLVND_EGL_ICD_JSON]=/usr/share/glvnd/egl_vendor.d + [OPENGL_DATA]=/usr/share/nvidia + [VULKANSC_ICD_JSON]=/usr/share/vulkansc + [VULKAN_ICD_JSON]=/usr/share/vulkan + [WINE_LIB]=/usr/${libdir}/nvidia/wine + [XORG_OUTPUTCLASS_CONFIG]=/usr/share/X11/xorg.conf.d + + [GLX_MODULE_SHARED_LIB]=/usr/${libdir}/xorg/modules/extensions + [GLX_MODULE_SYMLINK]=/usr/${libdir}/xorg/modules + [XMODULE_SHARED_LIB]=/usr/${libdir}/xorg/modules + ) + + local skip_files=( + $(usev !X "libGLX_nvidia libglxserver_nvidia") + libGLX_indirect # non-glvnd unused fallback + libnvidia-{gtk,wayland-client} nvidia-{settings,xconfig} # from source + libnvidia-egl-gbm 15_nvidia_gbm # gui-libs/egl-gbm + libnvidia-egl-wayland 10_nvidia_wayland # gui-libs/egl-wayland + libnvidia-egl-xcb 20_nvidia_xcb.json # gui-libs/egl-x11 + libnvidia-egl-xlib 20_nvidia_xlib.json # gui-libs/egl-x11 + libnvidia-pkcs11.so # using the openssl3 version instead + ) + local skip_modules=( + $(usev !X "nvfbc vdpau xdriver") + $(usev !modules gsp) + $(usev !powerd nvtopps) + installer nvpd # handled separately / built from source + ) + local skip_types=( + GLVND_LIB GLVND_SYMLINK EGL_CLIENT.\* GLX_CLIENT.\* # media-libs/libglvnd + OPENCL_WRAPPER.\* # virtual/opencl + DOCUMENTATION DOT_DESKTOP .\*_SRC DKMS_CONF SYSTEMD_UNIT # handled separately / unused + ) + + local DOCS=( + README.txt NVIDIA_Changelog supported-gpus/supported-gpus.json + nvidia-settings/doc/{FRAMELOCK,NV-CONTROL-API}.txt + ) + local HTML_DOCS=( html/. ) + einstalldocs + + local DISABLE_AUTOFORMATTING=yes + local DOC_CONTENTS="\ +Trusted users should be in the 'video' group to use NVIDIA devices. +You can add yourself by using: gpasswd -a my-user video\ +$(usev modules " + +Like all out-of-tree kernel modules, it is necessary to rebuild +${PN} after upgrading or rebuilding the Linux kernel +by for example running \`emerge @module-rebuild\`. Alternatively, +if using a distribution kernel (sys-kernel/gentoo-kernel{,-bin}), +this can be automated by setting USE=dist-kernel globally. + +Loaded kernel modules also must not mismatch with the installed +${PN} version (excluding -r revision), meaning should +ensure \`eselect kernel list\` points to the kernel that will be +booted before building and preferably reboot after upgrading +${PN} (the ebuild will emit a warning if mismatching). + +See '${EPREFIX}/etc/modprobe.d/nvidia.conf' for modules options.")\ +$(use amd64 && usev !abi_x86_32 " + +Note that without USE=abi_x86_32 on ${PN}, 32bit applications +(typically using wine / steam) will not be able to use GPU acceleration.") + +Be warned that USE=kernel-open may need to be either enabled or +disabled for certain cards to function: +- GTX 50xx (blackwell) and higher require it to be enabled +- GTX 1650 and higher (pre-blackwell) should work either way +- Older cards require it to be disabled + +For additional information or for troubleshooting issues, please see +https://wiki.gentoo.org/wiki/NVIDIA/nvidia-drivers and NVIDIA's own +documentation that is installed alongside this README." + readme.gentoo_create_doc + + if use modules; then + linux-mod-r1_src_install + + insinto /etc/modprobe.d + newins "${FILESDIR}"/nvidia-580.conf nvidia.conf + + # used for gpu verification with binpkgs (not kept, see pkg_preinst) + insinto /usr/share/nvidia + doins supported-gpus/supported-gpus.json + fi + + emake "${NV_ARGS[@]}" -C nvidia-modprobe install + fowners :video /usr/bin/nvidia-modprobe #505092 + fperms 4710 /usr/bin/nvidia-modprobe + + if use persistenced; then + emake "${NV_ARGS[@]}" -C nvidia-persistenced install + newconfd "${FILESDIR}"/nvidia-persistenced.confd nvidia-persistenced + newinitd "${FILESDIR}"/nvidia-persistenced.initd nvidia-persistenced + systemd_dounit "${T}"/nvidia-persistenced.service + fi + + if use tools; then + emake "${NV_ARGS[@]}" -C nvidia-settings install + + doicon nvidia-settings/doc/nvidia-settings.png + domenu nvidia-settings/doc/nvidia-settings.desktop + + exeinto /etc/X11/xinit/xinitrc.d + newexe "${FILESDIR}"/95-nvidia-settings-r1 95-nvidia-settings + fi + + if use static-libs; then + dolib.a nvidia-settings/src/out/libXNVCtrl.a + strip-lto-bytecode + + insinto /usr/include/NVCtrl + doins nvidia-settings/src/libXNVCtrl/NVCtrl{Lib,}.h + fi + + use X && emake "${NV_ARGS[@]}" -C nvidia-xconfig install + + # mimic nvidia-installer by reading .manifest to install files + # 0:file 1:perms 2:type 3+:subtype/arguments -:module + local m into + while IFS=' ' read -ra m; do + ! [[ ${#m[@]} -ge 2 && ${m[-1]} =~ MODULE: ]] || + [[ " ${m[0]##*/}" =~ ^(\ ${skip_files[*]/%/.*|\\} )$ ]] || + [[ " ${m[2]}" =~ ^(\ ${skip_types[*]/%/|\\} )$ ]] || + has ${m[-1]#MODULE:} "${skip_modules[@]}" && continue + + case ${m[2]} in + MANPAGE) + gzip -dc ${m[0]} | newman - ${m[0]%.gz} + pipestatus || die + continue + ;; + GBM_BACKEND_LIB_SYMLINK) m[4]=../${m[4]};; # missing ../ + VDPAU_SYMLINK) m[4]=vdpau/; m[5]=${m[5]#vdpau/};; # .so to vdpau/ + esac + + if [[ -v 'paths[${m[2]}]' ]]; then + into=${paths[${m[2]}]} + elif [[ ${m[2]} == EXPLICIT_PATH ]]; then + into=${m[3]} + elif [[ ${m[2]} == *_BINARY ]]; then + into=/usr/bin + elif [[ ${m[3]} == COMPAT32 ]]; then + use abi_x86_32 || continue + into=/usr/${libdir32} + elif [[ ${m[2]} == *_@(LIB|SYMLINK) ]]; then + into=/usr/${libdir} + else + die "No known installation path for ${m[0]}" + fi + [[ ${m[3]: -2} == ?/ ]] && into+=/${m[3]%/} + [[ ${m[4]: -2} == ?/ ]] && into+=/${m[4]%/} + + if [[ ${m[2]} =~ _SYMLINK$ ]]; then + [[ ${m[4]: -1} == / ]] && m[4]=${m[5]} + dosym ${m[4]} ${into}/${m[0]} + continue + fi + # avoid portage warning due to missing soname links in manifest + [[ ${m[0]} =~ ^libnvidia-ngx.so ]] && + dosym ${m[0]} ${into}/${m[0]%.so*}.so.1 + + printf -v m[1] %o $((m[1] | 0200)) # 444->644 + insopts -m${m[1]} + insinto ${into} + doins ${m[0]} + done < .manifest || die + insopts -m0644 # reset + + # MODULE:installer non-skipped extras + : "$(systemd_get_sleepdir)" + exeinto "${_#"${EPREFIX}"}" + doexe systemd/system-sleep/nvidia + dobin systemd/nvidia-sleep.sh + systemd_dounit systemd/system/nvidia-{hibernate,resume,suspend,suspend-then-hibernate}.service + + dobin nvidia-bug-report.sh + + insinto /usr/share/nvidia/files.d + doins sandboxutils-filelist.json + + # MODULE:powerd extras + if use powerd; then + newinitd "${FILESDIR}"/nvidia-powerd.initd nvidia-powerd #923117 + systemd_dounit systemd/system/nvidia-powerd.service + + insinto /usr/share/dbus-1/system.d + doins nvidia-dbus.conf + fi + + # enabling is needed for sleep to work properly and little reason not to do + # it unconditionally for a better user experience + : "$(systemd_get_systemunitdir)" + local unitdir=${_#"${EPREFIX}"} + # not using relative symlinks to match systemd's own links + dosym {"${unitdir}",/etc/systemd/system/systemd-hibernate.service.wants}/nvidia-hibernate.service + dosym {"${unitdir}",/etc/systemd/system/systemd-hibernate.service.wants}/nvidia-resume.service + dosym {"${unitdir}",/etc/systemd/system/systemd-suspend.service.wants}/nvidia-suspend.service + dosym {"${unitdir}",/etc/systemd/system/systemd-suspend.service.wants}/nvidia-resume.service + dosym {"${unitdir}",/etc/systemd/system/systemd-suspend-then-hibernate.service.wants}/nvidia-suspend-then-hibernate.service + dosym {"${unitdir}",/etc/systemd/system/systemd-suspend-then-hibernate.service.wants}/nvidia-resume.service + # also add a custom elogind hook to do the equivalent of the above + exeinto /usr/lib/elogind/system-sleep + newexe "${FILESDIR}"/system-sleep.elogind nvidia + # =systemd-256 or may fail to resume with some setups + # https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1072722 + insinto "${unitdir}"/systemd-homed.service.d + newins - 10-nvidia.conf <<-EOF + [Service] + Environment=SYSTEMD_HOME_LOCK_FREEZE_SESSION=false + EOF + insinto "${unitdir}"/systemd-suspend.service.d + newins - 10-nvidia.conf <<-EOF + [Service] + Environment=SYSTEMD_SLEEP_FREEZE_USER_SESSIONS=false + EOF + dosym -r "${unitdir}"/systemd-{suspend,hibernate}.service.d/10-nvidia.conf + dosym -r "${unitdir}"/systemd-{suspend,hybrid-sleep}.service.d/10-nvidia.conf + dosym -r "${unitdir}"/systemd-{suspend,suspend-then-hibernate}.service.d/10-nvidia.conf + + # symlink non-versioned so nvidia-settings can use it even if misdetected + dosym nvidia-application-profiles-${PV}-key-documentation \ + ${paths[APPLICATION_PROFILE]}/nvidia-application-profiles-key-documentation + + # don't attempt to strip firmware files (silences errors) + dostrip -x ${paths[FIRMWARE]} + + # sandbox issues with /dev/nvidiactl and others (bug #904292,#921578) + # are widespread and sometime affect revdeps of packages built with + # USE=opencl/cuda making it hard to manage in ebuilds (minimal set, + # ebuilds should handle manually if need others or addwrite) + insinto /etc/sandbox.d + newins - 20nvidia <<<'SANDBOX_PREDICT="/dev/nvidiactl:/dev/nvidia-caps:/dev/char"' + + # dracut does not use /etc/modprobe.d if hostonly=no, but want to make sure + # our settings are used for bug 932781#c8 and nouveau blacklist if either + # modules are included (however, just best-effort without initramfs regen) + if use modules; then + echo "install_items+=\" ${EPREFIX}/etc/modprobe.d/nvidia.conf \"" >> \ + "${ED}"/usr/lib/dracut/dracut.conf.d/10-${PN}.conf || die + fi +} + +pkg_preinst() { + has_version "${CATEGORY}/${PN}[kernel-open]" && NV_HAD_KERNEL_OPEN= + + use modules || return + + # set video group id based on live system (bug #491414) + local g=$(egetent group video | cut -d: -f3) + [[ ${g} =~ ^[0-9]+$ ]] || die "Failed to determine video group id (got '${g}')" + sed -i "s/@VIDEOGID@/${g}/" "${ED}"/etc/modprobe.d/nvidia.conf || die + + # try to find driver mismatches using temporary supported-gpus.json + for g in $(grep -l 0x10de /sys/bus/pci/devices/*/vendor 2>/dev/null); do + g=$(grep -io "\"devid\":\"$(<${g%vendor}device)\"[^}]*branch\":\"[0-9]*" \ + "${ED}"/usr/share/nvidia/supported-gpus.json 2>/dev/null) + if [[ ${g} ]]; then + g=$((${g##*\"}+1)) + if ver_test -ge ${g}; then + NV_LEGACY_MASK=">=${CATEGORY}/${PN}-${g}" + break + fi + fi + done + rm "${ED}"/usr/share/nvidia/supported-gpus.json || die +} + +pkg_postinst() { + linux-mod-r1_pkg_postinst + + readme.gentoo_print_elog + + if [[ -r /proc/driver/nvidia/version && + $( ${EROOT}/etc/portage/package.mask/${PN}" + else + ewarn " echo '${NV_LEGACY_MASK}' >> ${EROOT}/etc/portage/package.mask" + fi + ewarn "...then downgrade to a legacy[1] branch if possible (not all old versions" + ewarn "are available or fully functional, may need to consider nouveau[2])." + ewarn "[1] https://www.nvidia.com/object/IO_32667.html" + ewarn "[2] https://wiki.gentoo.org/wiki/Nouveau" + fi + + if use kernel-open && use modules && [[ ! -v NV_HAD_KERNEL_OPEN ]]; then + ewarn "\nOpen source variant of ${PN} was selected, note that it requires" + ewarn "Turing/Ampere+ GPUs (aka GTX 1650+). Try disabling if run into issues." + ewarn "Also see: ${EROOT}/usr/share/doc/${PF}/html/kernel_open.html" + fi + + if ver_replacing -lt 580.126.09-r1; then + elog "\n>=nvidia-drivers-580.126.09-r1 changes some defaults that may or may" + elog "not need attention:" + elog "1. nvidia-drm.modeset=1 is now default regardless of USE=wayland" + elog "2. nvidia-drm.fbdev=1 is now also tentatively default to match upstream" + elog "See ${EROOT}/etc/modprobe.d/nvidia.conf to modify settings if needed," + elog "fbdev=1 *could* cause issues for the console display with some setups." + fi +} diff --git a/sdk_container/src/third_party/portage-stable/x11-drivers/nvidia-drivers/nvidia-drivers-595.44.03.ebuild b/sdk_container/src/third_party/portage-stable/x11-drivers/nvidia-drivers/nvidia-drivers-595.44.03.ebuild new file mode 100644 index 00000000000..4ccfee54896 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/x11-drivers/nvidia-drivers/nvidia-drivers-595.44.03.ebuild @@ -0,0 +1,571 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +MODULES_OPTIONAL_IUSE=+modules +inherit desktop dot-a eapi9-pipestatus eapi9-ver flag-o-matic linux-mod-r1 +inherit readme.gentoo-r1 systemd toolchain-funcs unpacker user-info + +MODULES_KERNEL_MAX=6.19 +NV_PIN=595.45.04 + +DESCRIPTION="NVIDIA Accelerated Graphics Driver" +HOMEPAGE="https://developer.nvidia.com/vulkan-driver/" +SRC_URI=" + https://developer.nvidia.com/downloads/vulkan-beta-${PV//.}-linux + -> NVIDIA-Linux-x86_64-${PV}.run + $(printf "https://download.nvidia.com/XFree86/%s/%s-${NV_PIN}.tar.bz2 " \ + nvidia-{installer,modprobe,persistenced,settings,xconfig}{,}) + https://github.com/NVIDIA/open-gpu-kernel-modules/archive/refs/tags/${PV}.tar.gz + -> open-gpu-kernel-modules-${PV}.tar.gz +" +# nvidia-installer is unused but here for GPL-2's "distribute sources" +S=${WORKDIR} + +LICENSE=" + NVIDIA-2025 Apache-2.0 Boost-1.0 BSD BSD-2 GPL-2 MIT ZLIB + curl openssl public-domain +" +SLOT="0/vulkan" +KEYWORDS="-* ~amd64" +IUSE="+X abi_x86_32 abi_x86_64 persistenced powerd +static-libs +tools wayland" + +COMMON_DEPEND=" + acct-group/video + X? ( x11-libs/libpciaccess ) + persistenced? ( + acct-user/nvpd + net-libs/libtirpc:= + ) + tools? ( + >=app-accessibility/at-spi2-core-2.46:2 + dev-libs/glib:2 + dev-libs/jansson:= + media-libs/harfbuzz:= + x11-libs/cairo + x11-libs/gdk-pixbuf:2 + x11-libs/gtk+:3[X] + x11-libs/libX11 + x11-libs/libXext + x11-libs/libXxf86vm + x11-libs/pango + ) +" +# egl-wayland2: nvidia currently ships both versions so, to ensure +# everything works properly, depend on both at same time for now +# (may use one or the other depending on setup) +RDEPEND=" + ${COMMON_DEPEND} + dev-libs/openssl:0/3 + sys-libs/glibc + X? ( + media-libs/libglvnd[X,abi_x86_32(-)?] + x11-libs/libX11[abi_x86_32(-)?] + x11-libs/libXext[abi_x86_32(-)?] + ) + powerd? ( sys-apps/dbus[abi_x86_32(-)?] ) + wayland? ( + >=gui-libs/egl-gbm-1.1.1-r2[abi_x86_32(-)?] + >=gui-libs/egl-wayland-1.1.13.1[abi_x86_32(-)?] + gui-libs/egl-wayland2[abi_x86_32(-)?] + X? ( gui-libs/egl-x11[abi_x86_32(-)?] ) + ) +" +DEPEND=" + ${COMMON_DEPEND} + static-libs? ( + x11-base/xorg-proto + x11-libs/libX11 + x11-libs/libXext + ) + tools? ( + dev-util/vulkan-headers + media-libs/libglvnd + sys-apps/dbus + x11-base/xorg-proto + x11-libs/libXrandr + x11-libs/libXv + x11-libs/libvdpau + ) +" +BDEPEND=" + app-alternatives/awk + sys-devel/m4 + virtual/pkgconfig +" + +# there is some non-prebuilt exceptions but rather not maintain a list +QA_PREBUILT="lib/firmware/* usr/bin/* usr/lib*" + +PATCHES=( + "${FILESDIR}"/nvidia-modprobe-390.141-uvm-perms.patch + "${FILESDIR}"/nvidia-settings-530.30.02-desktop.patch +) + +pkg_setup() { + use modules && [[ ${MERGE_TYPE} != binary ]] || return + + # do early before linux-mod-r1 so can use chkconfig to setup CONFIG_CHECK + get_version + require_configured_kernel + + local CONFIG_CHECK=" + PROC_FS + ~DRM_KMS_HELPER + ~DRM_FBDEV_EMULATION + ~SYSVIPC + ~!LOCKDEP + ~!PREEMPT_RT + ~!RANDSTRUCT_FULL + ~!RANDSTRUCT_PERFORMANCE + ~!SLUB_DEBUG_ON + !DEBUG_MUTEXES + $(usev powerd '~CPU_FREQ') + " + + kernel_is -ge 6 11 && linux_chkconfig_present DRM_FBDEV_EMULATION && + CONFIG_CHECK+=" DRM_TTM_HELPER" + + use amd64 && kernel_is -ge 5 8 && CONFIG_CHECK+=" X86_PAT" #817764 + + local drm_helper_msg="Cannot be directly selected in the kernel's config menus, and may need + selection of a DRM device even if unused, e.g. CONFIG_DRM_QXL=m or + DRM_AMDGPU=m (among others, consult the kernel config's help), can + also use DRM_NOUVEAU=m as long as built as module *not* built-in." + local ERROR_DRM_KMS_HELPER="CONFIG_DRM_KMS_HELPER: is not set but is needed for wayland support, + tty takeover (e.g. for simpledrm), and config-less Xorg auto-detection. + ${drm_helper_msg}" + local ERROR_DRM_TTM_HELPER="CONFIG_DRM_TTM_HELPER: is not set but is needed to compile when using + kernel version 6.11.x or newer while DRM_FBDEV_EMULATION is set. + ${drm_helper_msg}" + local ERROR_DRM_FBDEV_EMULATION="CONFIG_DRM_FBDEV_EMULATION: is not set but is needed for + nvidia-drm.fbdev=1 support (see ${EPREFIX}/etc/modprobe.d/nvidia.conf), may + result in a blank console/tty." + local ERROR_PREEMPT_RT="CONFIG_PREEMPT_RT: is set but is unsupported by NVIDIA upstream and + will fail to build unless the env var IGNORE_PREEMPT_RT_PRESENCE=1 is + set. Please do not report issues if run into e.g. kernel panics while + ignoring this." + local randstruct_msg="is set but NVIDIA may be unstable with + it such as causing a kernel panic on shutdown, it is recommended to + disable with CONFIG_RANDSTRUCT_NONE=y (https://bugs.gentoo.org/969413 + -- please report if this appears fixed on NVIDIA's side so can remove + this warning)." + local ERROR_RANDSTRUCT_FULL="CONFIG_RANDSTRUCT_FULL: ${randstruct_msg}" + local ERROR_RANDSTRUCT_PERFORMANCE="CONFIG_RANDSTRUCT_PERFORMANCE: ${randstruct_msg}" + + linux-mod-r1_pkg_setup +} + +src_prepare() { + # make patches usable across versions + rm nvidia-modprobe && mv nvidia-modprobe{-${NV_PIN},} || die + rm nvidia-persistenced && mv nvidia-persistenced{-${NV_PIN},} || die + rm nvidia-settings && mv nvidia-settings{-${NV_PIN},} || die + rm nvidia-xconfig && mv nvidia-xconfig{-${NV_PIN},} || die + mv open-gpu-kernel-modules-${PV} kernel-module-source || die + + default + + sed 's/__USER__/nvpd/' \ + nvidia-persistenced/init/systemd/nvidia-persistenced.service.template \ + > "${T}"/nvidia-persistenced.service || die + + # use alternative vulkan icd option if USE=-X (bug #909181) + use X || sed -i 's/"libGLX/"libEGL/' nvidia_{layers,icd}.json || die + + # makefile attempts to install wayland library even if not built + use wayland || sed -i 's/ WAYLAND_LIB_install$//' \ + nvidia-settings/src/Makefile || die +} + +src_compile() { + tc-export AR CC CXX LD OBJCOPY OBJDUMP PKG_CONFIG + + # extra flags for the libXNVCtrl.a static library + local xnvflags=-fPIC #840389 + tc-is-lto && xnvflags+=" $(test-flags-CC -ffat-lto-objects)" + + # Same as uname -m. + local target_arch + case ${ARCH} in + amd64) target_arch=x86_64 ;; + arm64) target_arch=aarch64 ;; + *) die "Unrecognised architecture: ${ARCH}" ;; + esac + + NV_ARGS=( + PREFIX="${EPREFIX}"/usr + HOST_CC="$(tc-getBUILD_CC)" + HOST_LD="$(tc-getBUILD_LD)" + BUILD_GTK2LIB= + NV_USE_BUNDLED_LIBJANSSON=0 + NV_VERBOSE=1 DO_STRIP= MANPAGE_GZIP= OUTPUTDIR=out + TARGET_ARCH="${target_arch}" + WAYLAND_AVAILABLE=$(usex wayland 1 0) + XNVCTRL_CFLAGS="${xnvflags}" + ) + + if use modules; then + local o_cflags=${CFLAGS} o_cxxflags=${CXXFLAGS} o_ldflags=${LDFLAGS} + + # environment flags are normally unused for modules, but nvidia uses + # them for building the formerly closed "blob" and it is a bit fragile + filter-flags -fno-plt #912949 + filter-lto + CC=${KERNEL_CC} CXX=${KERNEL_CXX} strip-unsupported-flags + LDFLAGS=$(raw-ldflags) + + : video:kernel-module-source:kernel-module-source/kernel-open + local modlist=( nvidia{,-drm,-modeset,-peermem,-uvm}=${_} ) + local modargs=( + IGNORE_CC_MISMATCH=yes NV_VERBOSE=1 + SYSOUT="${KV_OUT_DIR}" SYSSRC="${KV_DIR}" + TARGET_ARCH="${target_arch}" + + # kernel takes "x86" and "x86_64" as meaning the same, but nvidia + # makes the distinction (since 550.135) and is not happy with "x86" + # TODO?: it should be ok/better for tc-arch-kernel to do x86_64 + $(usev amd64 ARCH=x86_64) + ) + + # temporary workaround for bug #914468 + addpredict "${KV_OUT_DIR}" + + linux-mod-r1_src_compile + CFLAGS=${o_cflags} CXXFLAGS=${o_cxxflags} LDFLAGS=${o_ldflags} + fi + + emake "${NV_ARGS[@]}" -C nvidia-modprobe + use persistenced && emake "${NV_ARGS[@]}" -C nvidia-persistenced + use X && emake "${NV_ARGS[@]}" -C nvidia-xconfig + + if use tools; then + # avoid noisy *very* noisy logs with deprecation warnings + CFLAGS="-Wno-deprecated-declarations ${CFLAGS}" \ + emake "${NV_ARGS[@]}" -C nvidia-settings + elif use static-libs; then + # pretend GTK+3 is available, not actually used (bug #880879) + emake "${NV_ARGS[@]}" BUILD_GTK3LIB=1 \ + -C nvidia-settings/src out/libXNVCtrl.a + fi +} + +src_install() { + local libdir=$(get_libdir) libdir32=$(ABI=x86 get_libdir) + + NV_ARGS+=( DESTDIR="${D}" LIBDIR="${ED}"/usr/${libdir} ) + + local -A paths=( + [APPLICATION_PROFILE]=/usr/share/nvidia + [CUDA_ICD]=/etc/OpenCL/vendors + [EGL_EXTERNAL_PLATFORM_JSON]=/usr/share/egl/egl_external_platform.d + [FIRMWARE]=/lib/firmware/nvidia/${PV} + [GBM_BACKEND_LIB_SYMLINK]=/usr/${libdir}/gbm + [GLVND_EGL_ICD_JSON]=/usr/share/glvnd/egl_vendor.d + [OPENGL_DATA]=/usr/share/nvidia + [VULKANSC_ICD_JSON]=/usr/share/vulkansc + [VULKAN_ICD_JSON]=/usr/share/vulkan + [WINE_LIB]=/usr/${libdir}/nvidia/wine + [XORG_OUTPUTCLASS_CONFIG]=/usr/share/X11/xorg.conf.d + + [GLX_MODULE_SHARED_LIB]=/usr/${libdir}/xorg/modules/extensions + [GLX_MODULE_SYMLINK]=/usr/${libdir}/xorg/modules + [XMODULE_SHARED_LIB]=/usr/${libdir}/xorg/modules + ) + + local skip_files=( + $(usev !X "libGLX_nvidia libglxserver_nvidia") + libGLX_indirect # non-glvnd unused fallback + libnvidia-{gtk,wayland-client} nvidia-{settings,xconfig} # from source + libnvidia-egl-gbm 15_nvidia_gbm # gui-libs/egl-gbm + libnvidia-egl-wayland 10_nvidia_wayland # gui-libs/egl-wayland + libnvidia-egl-wayland2 09_nvidia_wayland2 # gui-libs/egl-wayland2 + libnvidia-egl-xcb 20_nvidia_xcb.json # gui-libs/egl-x11 + libnvidia-egl-xlib 20_nvidia_xlib.json # gui-libs/egl-x11 + libnvidia-pkcs11.so # using the openssl3 version instead + ) + local skip_modules=( + $(usev !X "nvfbc vdpau xdriver") + $(usev !modules gsp) + $(usev !powerd nvtopps) + installer nvpd # handled separately / built from source + ) + local skip_types=( + GLVND_LIB GLVND_SYMLINK EGL_CLIENT.\* GLX_CLIENT.\* # media-libs/libglvnd + OPENCL_WRAPPER.\* # virtual/opencl + DOCUMENTATION DOT_DESKTOP .\*_SRC DKMS_CONF SYSTEMD_UNIT # handled separately / unused + ) + + local DOCS=( + README.txt NVIDIA_Changelog supported-gpus/supported-gpus.json + nvidia-settings/doc/{FRAMELOCK,NV-CONTROL-API}.txt + ) + local HTML_DOCS=( html/. ) + einstalldocs + + local DISABLE_AUTOFORMATTING=yes + local DOC_CONTENTS="\ +Trusted users should be in the 'video' group to use NVIDIA devices. +You can add yourself by using: gpasswd -a my-user video\ +$(usev modules " + +Like all out-of-tree kernel modules, it is necessary to rebuild +${PN} after upgrading or rebuilding the Linux kernel +by for example running \`emerge @module-rebuild\`. Alternatively, +if using a distribution kernel (sys-kernel/gentoo-kernel{,-bin}), +this can be automated by setting USE=dist-kernel globally. + +Loaded kernel modules also must not mismatch with the installed +${PN} version (excluding -r revision), meaning should +ensure \`eselect kernel list\` points to the kernel that will be +booted before building and preferably reboot after upgrading +${PN} (the ebuild will emit a warning if mismatching). + +See '${EPREFIX}/etc/modprobe.d/nvidia.conf' for modules options.")\ +$(use amd64 && usev !abi_x86_32 " + +Note that without USE=abi_x86_32 on ${PN}, 32bit applications +(typically using wine / steam) will not be able to use GPU acceleration.") + +For additional information or for troubleshooting issues, please see +https://wiki.gentoo.org/wiki/NVIDIA/nvidia-drivers and NVIDIA's own +documentation that is installed alongside this README." + readme.gentoo_create_doc + + if use modules; then + linux-mod-r1_src_install + + insinto /etc/modprobe.d + newins "${FILESDIR}"/nvidia-595.conf nvidia.conf + + # used for gpu verification with binpkgs (not kept, see pkg_preinst) + insinto /usr/share/nvidia + doins supported-gpus/supported-gpus.json + fi + + emake "${NV_ARGS[@]}" -C nvidia-modprobe install + fowners :video /usr/bin/nvidia-modprobe #505092 + fperms 4710 /usr/bin/nvidia-modprobe + + if use persistenced; then + emake "${NV_ARGS[@]}" -C nvidia-persistenced install + newconfd "${FILESDIR}"/nvidia-persistenced.confd nvidia-persistenced + newinitd "${FILESDIR}"/nvidia-persistenced.initd nvidia-persistenced + systemd_dounit "${T}"/nvidia-persistenced.service + fi + + if use tools; then + emake "${NV_ARGS[@]}" -C nvidia-settings install + + doicon nvidia-settings/doc/nvidia-settings.png + domenu nvidia-settings/doc/nvidia-settings.desktop + + exeinto /etc/X11/xinit/xinitrc.d + newexe "${FILESDIR}"/95-nvidia-settings-r1 95-nvidia-settings + fi + + if use static-libs; then + dolib.a nvidia-settings/src/out/libXNVCtrl.a + strip-lto-bytecode + + insinto /usr/include/NVCtrl + doins nvidia-settings/src/libXNVCtrl/NVCtrl{Lib,}.h + fi + + use X && emake "${NV_ARGS[@]}" -C nvidia-xconfig install + + # mimic nvidia-installer by reading .manifest to install files + # 0:file 1:perms 2:type 3+:subtype/arguments -:module + local m into + while IFS=' ' read -ra m; do + ! [[ ${#m[@]} -ge 2 && ${m[-1]} =~ MODULE: ]] || + [[ " ${m[0]##*/}" =~ ^(\ ${skip_files[*]/%/.*|\\} )$ ]] || + [[ " ${m[2]}" =~ ^(\ ${skip_types[*]/%/|\\} )$ ]] || + has ${m[-1]#MODULE:} "${skip_modules[@]}" && continue + + case ${m[2]} in + MANPAGE) + gzip -dc ${m[0]} | newman - ${m[0]%.gz} + pipestatus || die + continue + ;; + GBM_BACKEND_LIB_SYMLINK) m[4]=../${m[4]};; # missing ../ + VDPAU_SYMLINK) m[4]=vdpau/; m[5]=${m[5]#vdpau/};; # .so to vdpau/ + esac + + if [[ -v 'paths[${m[2]}]' ]]; then + into=${paths[${m[2]}]} + elif [[ ${m[2]} == EXPLICIT_PATH ]]; then + into=${m[3]} + elif [[ ${m[2]} == *_BINARY ]]; then + into=/usr/bin + elif [[ ${m[3]} == COMPAT32 ]]; then + use abi_x86_32 || continue + into=/usr/${libdir32} + elif [[ ${m[2]} == *_@(LIB|SYMLINK) ]]; then + into=/usr/${libdir} + else + die "No known installation path for ${m[0]}" + fi + [[ ${m[3]: -2} == ?/ ]] && into+=/${m[3]%/} + [[ ${m[4]: -2} == ?/ ]] && into+=/${m[4]%/} + + if [[ ${m[2]} =~ _SYMLINK$ ]]; then + [[ ${m[4]: -1} == / ]] && m[4]=${m[5]} + dosym ${m[4]} ${into}/${m[0]} + continue + fi + # avoid portage warning due to missing soname links in manifest + [[ ${m[0]} =~ ^libnvidia-ngx.so ]] && + dosym ${m[0]} ${into}/${m[0]%.so*}.so.1 + + printf -v m[1] %o $((m[1] | 0200)) # 444->644 + insopts -m${m[1]} + insinto ${into} + doins ${m[0]} + done < .manifest || die + insopts -m0644 # reset + + # MODULE:installer non-skipped extras + # (sleep services skipped, obsoleted by NVreg_UseKernelSuspendNotifiers=1) + dobin nvidia-bug-report.sh + + insinto /usr/share/nvidia/files.d + doins sandboxutils-filelist.json + + # needed with >=systemd-256 or may fail to resume with some setups + # https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1072722 + : "$(systemd_get_systemunitdir)" + local unitdir=${_#"${EPREFIX}"} + insinto "${unitdir}"/systemd-homed.service.d + newins - 10-nvidia.conf <<-EOF + [Service] + Environment=SYSTEMD_HOME_LOCK_FREEZE_SESSION=false + EOF + insinto "${unitdir}"/systemd-suspend.service.d + newins systemd/system/systemd-suspend.service.d/nvidia-suspend-nofreeze.conf 10-nvidia.conf + dosym -r "${unitdir}"/systemd-{suspend,hibernate}.service.d/10-nvidia.conf + dosym -r "${unitdir}"/systemd-{suspend,hybrid-sleep}.service.d/10-nvidia.conf + dosym -r "${unitdir}"/systemd-{suspend,suspend-then-hibernate}.service.d/10-nvidia.conf + + # MODULE:powerd extras + if use powerd; then + newinitd "${FILESDIR}"/nvidia-powerd.initd nvidia-powerd #923117 + systemd_dounit systemd/system/nvidia-powerd.service + + insinto /usr/share/dbus-1/system.d + doins nvidia-dbus.conf + fi + + # symlink non-versioned so nvidia-settings can use it even if misdetected + dosym nvidia-application-profiles-${PV}-key-documentation \ + ${paths[APPLICATION_PROFILE]}/nvidia-application-profiles-key-documentation + + # don't attempt to strip firmware files (silences errors) + dostrip -x ${paths[FIRMWARE]} + + # sandbox issues with /dev/nvidiactl and others (bug #904292,#921578) + # are widespread and sometime affect revdeps of packages built with + # USE=opencl/cuda making it hard to manage in ebuilds (minimal set, + # ebuilds should handle manually if need others or addwrite) + insinto /etc/sandbox.d + newins - 20nvidia <<<'SANDBOX_PREDICT="/dev/nvidiactl:/dev/nvidia-caps:/dev/char"' + + # dracut does not use /etc/modprobe.d if hostonly=no, but want to make sure + # our settings are used for bug 932781#c8 and nouveau blacklist if either + # modules are included (however, just best-effort without initramfs regen) + if use modules; then + echo "install_items+=\" ${EPREFIX}/etc/modprobe.d/nvidia.conf \"" >> \ + "${ED}"/usr/lib/dracut/dracut.conf.d/10-${PN}.conf || die + fi +} + +pkg_preinst() { + use modules || return + + # set video group id based on live system (bug #491414) + local g=$(egetent group video | cut -d: -f3) + [[ ${g} =~ ^[0-9]+$ ]] || die "Failed to determine video group id (got '${g}')" + sed -i "s/@VIDEOGID@/${g}/" "${ED}"/etc/modprobe.d/nvidia.conf || die + + # try to find driver mismatches using temporary supported-gpus.json + for g in $(grep -l 0x10de /sys/bus/pci/devices/*/vendor 2>/dev/null); do + g=$(grep -io "\"devid\":\"$(<${g%vendor}device)\"[^}]*branch\":\"[0-9]*" \ + "${ED}"/usr/share/nvidia/supported-gpus.json 2>/dev/null) + if [[ ${g} ]]; then + g=$((${g##*\"}+1)) + if ver_test -ge ${g}; then + NV_LEGACY_MASK=">=${CATEGORY}/${PN}-${g}" + break + fi + fi + done + rm "${ED}"/usr/share/nvidia/supported-gpus.json || die +} + +pkg_postinst() { + linux-mod-r1_pkg_postinst + + readme.gentoo_print_elog + + if [[ -r /proc/driver/nvidia/version && + $( ${EROOT}/etc/portage/package.mask/${PN}" + else + ewarn " echo '${NV_LEGACY_MASK}' >> ${EROOT}/etc/portage/package.mask" + fi + ewarn "...then downgrade to a legacy[1] branch if possible (not all old versions" + ewarn "are available or fully functional, may need to consider nouveau[2])." + ewarn "[1] https://www.nvidia.com/object/IO_32667.html" + ewarn "[2] https://wiki.gentoo.org/wiki/Nouveau" + fi + + if ver_replacing -lt 590; then + elog "\n>=${PN}-590 has changes that may or may not need attention:" + elog "1. support for Pascal, Maxwell, and Volta cards has been dropped" + elog " (if affected, there should be a another message about this above)" + elog "2. nvidia-drm.modeset=1 is now default regardless of USE=wayland" + elog "3. nvidia-drm.fbdev=1 is now also tentatively default to match upstream" + elog "(2+3 were also later changed in >=580.126.09-r1, may already be in-use)" + elog "See ${EROOT}/etc/modprobe.d/nvidia.conf to modify settings if needed," + elog "fbdev=1 *could* cause issues for the console display with some setups." + fi + + if ver_replacing -lt 595; then + elog "\n>=${PN}-595 has changes that may or may not need attention:" + elog "1. USE=kernel-open was removed and is now always enabled. If for some" + elog " reason you really need the closed variant (e.g. Runtime D3 on Turing" + elog " GPUs), please use LTS 580.xx instead as Gentoo has no intention to" + elog " support both variants anymore going forward" + elog "2. systemd/elogind sleep services (nvidia-sleep.sh) were tentatively" + elog " removed and replaced by setting NVreg_UseKernelSuspendNotifiers=1 in" + elog " ${EROOT}/etc/modprobe.d/nvidia.conf. If using a non-default custom" + elog " nvidia.conf, please ensure the option is set. Also, systemd users" + elog " may want to ensure that they do not have old sleep/suspend/resume" + elog " *nvidia* files in ${EROOT}/etc/systemd to avoid potential issues." + elog "3. nvidia-drm.modeset=1 was removed from nvidia.conf because it is now" + elog " default enabled regardless (new NVIDIA default)" + fi +} diff --git a/sdk_container/src/third_party/portage-stable/x11-drivers/nvidia-drivers/nvidia-drivers-595.45.04.ebuild b/sdk_container/src/third_party/portage-stable/x11-drivers/nvidia-drivers/nvidia-drivers-595.45.04.ebuild index 56f47c834a8..ee97ba9fadf 100644 --- a/sdk_container/src/third_party/portage-stable/x11-drivers/nvidia-drivers/nvidia-drivers-595.45.04.ebuild +++ b/sdk_container/src/third_party/portage-stable/x11-drivers/nvidia-drivers/nvidia-drivers-595.45.04.ebuild @@ -28,9 +28,6 @@ LICENSE=" " SLOT="0/${PV%%.*}" # unkeyworded due to being a beta, feel free to opt-in if want to test -# TODO: cleanup the suspend "Note:" in postinst elog when restore keywords, -# albeit may be good to add the next version still unkeyworded until some -# testing with this and consider going back to sleep services if needed #KEYWORDS="-* ~amd64 ~arm64" IUSE="+X abi_x86_32 abi_x86_64 persistenced powerd +static-libs +tools wayland" @@ -565,10 +562,9 @@ pkg_postinst() { elog "2. systemd/elogind sleep services (nvidia-sleep.sh) were tentatively" elog " removed and replaced by setting NVreg_UseKernelSuspendNotifiers=1 in" elog " ${EROOT}/etc/modprobe.d/nvidia.conf. If using a non-default custom" - elog " nvidia.conf, please ensure the option is set." - elog " Note: considered experimental at the moment and may cause the" - elog " kernel to crash on suspend, *could* be reverted by the time a" - elog " non-beta 595.xx version is keyworded if has not improved yet." + elog " nvidia.conf, please ensure the option is set. Also, systemd users" + elog " may want to ensure that they do not have old sleep/suspend/resume" + elog " *nvidia* files in ${EROOT}/etc/systemd to avoid potential issues." elog "3. nvidia-drm.modeset=1 was removed from nvidia.conf because it is now" elog " default enabled regardless (new NVIDIA default)" fi