From bb0b4db9f50821a7b891bd05bf5821eb263cc970 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 22 Sep 2025 07:11:20 +0000 Subject: [PATCH] sys-apps/portage: Sync with Gentoo It's from Gentoo commit 58ecc34767a360fb377eb88b45c73d0e5a72f4fc. Signed-off-by: Flatcar Buildbot --- .../portage-stable/sys-apps/portage/Manifest | 2 +- .../portage/files/portage-3.0.69.1-gtar.patch | 57 +++++++++++++++++++ .../files/portage-3.0.69.1-unbound.patch | 37 ++++++++++++ ...0.69.ebuild => portage-3.0.69.1-r1.ebuild} | 7 ++- 4 files changed, 101 insertions(+), 2 deletions(-) create mode 100644 sdk_container/src/third_party/portage-stable/sys-apps/portage/files/portage-3.0.69.1-gtar.patch create mode 100644 sdk_container/src/third_party/portage-stable/sys-apps/portage/files/portage-3.0.69.1-unbound.patch rename sdk_container/src/third_party/portage-stable/sys-apps/portage/{portage-3.0.69.ebuild => portage-3.0.69.1-r1.ebuild} (97%) diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/portage/Manifest b/sdk_container/src/third_party/portage-stable/sys-apps/portage/Manifest index f2c4bd4e15..62e673a3b5 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/portage/Manifest +++ b/sdk_container/src/third_party/portage-stable/sys-apps/portage/Manifest @@ -1,3 +1,3 @@ DIST portage-3.0.67.tar.bz2 1196776 BLAKE2B 4a9056d388b012a0fa343d6fc50c9c3b455cb3a4d356210accf86c4ff4434a2d8cb4d23c3f58f3e23ab8bb4a4e9ee244bd1ec1203d5f72fa6f0e0a2caa92e757 SHA512 e725a471dcadaac771aa7f910524232e237efbb944d3e175825ad659b5190d631a91d4c188089c278a79b4709d4a8d6a6e53c55524c4b1c8d1c43580506e0d1c DIST portage-3.0.68.tar.bz2 1198758 BLAKE2B fbe3a14babbe5687d075c7e691027d04e7a34a35c3199c981e176bae365242e1dc7d4122f2d7a385444798b9413c415ca40801825a9dd9c99c3590efca8087e6 SHA512 4ed6d0945ad94ee19260996dd2ba9fa5e013560a50de887eb7e8df87a3649552316cbc62ee8ef9b4a025d9d98fb74e85ee7734b7a8fe7416450b8d6818fdcfab -DIST portage-3.0.69.tar.bz2 1206239 BLAKE2B d5eb4b337c73d7740fd047b58a7b9e7b6e6a2d79ce021c77d4fdc225771bb7c1e6d8b8637c83983ca02ff0c2ab6bee9e0cd2faf93121df89e8a0780b3f566d94 SHA512 9682931279a58ec7b996042e961b43bfd41a8b0b7236cc76c98cd2bd2de270b2329f31bca82950c5c10bea7ee74838aa8d051347281d95acf8027862abd0ea67 +DIST portage-3.0.69.1.tar.bz2 1206337 BLAKE2B d4be740be78e98a2d80e5040d1de33420e6ce821c17762cb0c21e56ea4bd8f1b9852a41ee5e73fc395455c28c8fb351b1a8cc91389206b1b23a9ca0278da1ede SHA512 9b36ba124796cc7019edeb70cca8e1ff93c5a5a525bd1a282b81ef01641f1e988f4961e56335bb175339baab767175d5a2f1138dda1f0c8b6c214dc5271725f6 diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/portage/files/portage-3.0.69.1-gtar.patch b/sdk_container/src/third_party/portage-stable/sys-apps/portage/files/portage-3.0.69.1-gtar.patch new file mode 100644 index 0000000000..557e6a0a36 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-apps/portage/files/portage-3.0.69.1-gtar.patch @@ -0,0 +1,57 @@ +From 479f0daedc332ad2be8973f3ecd176cb78beb9f4 Mon Sep 17 00:00:00 2001 +From: Eli Schwartz +Date: Mon, 15 Sep 2025 11:38:52 -0400 +Subject: [PATCH] ensure GNU tar is used in most places + +Portage makes certain assumptions in various places, such as --xattrs +enabling FEATURES=xattr and its lack *unconditionally* disabling it. Or, +--wildcard existing. + +PMS mandates "GNU Tar" be used to extract files in `unpack`, and a +recent fix went "all in" and used GNU Tar options to improve the +function. + +All this is quite reasonable, but nowhere have we ever enforced that +"gtar" is used. libarchive is a valid app-alternatives/tar, on Gentoo, +has been broken subtly in the past, and now breaks src_unpack. + +emerge-webrsync alone has "is_gnu" support code introduced since commit +23ce89c761c080e7d3163165dded94241a9a9eea, so leave it alone. + +Fixes: 3e89139fae34c9bd2e2b4c0490512f71d1d78546 +Signed-off-by: Eli Schwartz +--- + +diffstat limited to 3.0.69.1 regression fix only + + bin/phase-helpers.sh | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/bin/phase-helpers.sh b/bin/phase-helpers.sh +index 02b1aea4e..47c6f8167 100644 +--- a/bin/phase-helpers.sh ++++ b/bin/phase-helpers.sh +@@ -480,17 +480,17 @@ unpack() { + unrar x -idq -o+ "${srcdir}${f}" + ;; + tar.bz|tar.bz2|tbz|tbz2) +- tar -I "${bzip2_cmd-bzip2} -c" -xof "${srcdir}${f}" ++ gtar -I "${bzip2_cmd-bzip2} -c" -xof "${srcdir}${f}" + ;; + tar|tar.*|tgz) + # GNU tar recognises various file suffixes, for + # which it is able to execute the appropriate + # decompressor. They are documented by the + # (info) manual for the -a option. +- tar --warning=decompress-program -xof "${srcdir}${f}" ++ gtar --warning=decompress-program -xof "${srcdir}${f}" + ;; + txz) +- tar -xJof "${srcdir}${f}" ++ gtar -xJof "${srcdir}${f}" + ;; + xz) + xz -dc -- "${srcdir}${f}" > "${basename%.*}" +-- +2.49.1 + diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/portage/files/portage-3.0.69.1-unbound.patch b/sdk_container/src/third_party/portage-stable/sys-apps/portage/files/portage-3.0.69.1-unbound.patch new file mode 100644 index 0000000000..e4dc5cb300 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-apps/portage/files/portage-3.0.69.1-unbound.patch @@ -0,0 +1,37 @@ +From 05b422928735492d0448fbcb6b56f03aadc53eef Mon Sep 17 00:00:00 2001 +From: Eli Schwartz +Date: Mon, 15 Sep 2025 12:10:18 -0400 +Subject: [PATCH] fix crash when using binhost due to using conditionally + defined variable + +extra_info didn't always exist, so if you get http 304 but no +Last-Modified, portage errors out with: + +``` + File "/usr/lib/python3.13/site-packages/portage/dbapi/bintree.py", line 1519, in _populate_remote + "up-to-date", extra_info + ^^^^^^^^^^ +UnboundLocalError: cannot access local variable 'extra_info' where it is not associated with a value +``` + +Fixes: c83466a50efdee2cac81a5ed6a660c11b9ac746e +Signed-off-by: Eli Schwartz +--- + lib/portage/dbapi/bintree.py | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/lib/portage/dbapi/bintree.py b/lib/portage/dbapi/bintree.py +index f88d5e0aa..ebd0ec08c 100644 +--- a/lib/portage/dbapi/bintree.py ++++ b/lib/portage/dbapi/bintree.py +@@ -1506,6 +1506,7 @@ class binarytree: + if ( + hasattr(err, "code") and err.code == 304 + ): # not modified (since local_timestamp) ++ extra_info = "" + if hasattr(err, "headers") and err.headers.get( + "Last-Modified", "" + ): +-- +2.49.1 + diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/portage/portage-3.0.69.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/portage/portage-3.0.69.1-r1.ebuild similarity index 97% rename from sdk_container/src/third_party/portage-stable/sys-apps/portage/portage-3.0.69.ebuild rename to sdk_container/src/third_party/portage-stable/sys-apps/portage/portage-3.0.69.1-r1.ebuild index db7ae0d527..392499aab7 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/portage/portage-3.0.69.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-apps/portage/portage-3.0.69.1-r1.ebuild @@ -20,7 +20,7 @@ if [[ ${PV} == 9999 ]] ; then " inherit git-r3 else - SRC_URI="https://gitweb.gentoo.org/proj/portage.git/snapshot/${P}.tar.bz2" + SRC_URI="https://gitweb-cdn-origin.gentoo.org/proj/portage.git/snapshot/${P}.tar.bz2" KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" fi @@ -90,6 +90,11 @@ PDEPEND=" ) " +PATCHES=( + "${FILESDIR}"/${P}-gtar.patch + "${FILESDIR}"/${P}-unbound.patch +) + pkg_pretend() { local CONFIG_CHECK="~IPC_NS ~PID_NS ~NET_NS ~UTS_NS"