sys-apps/portage: Sync with Gentoo

It's from Gentoo commit 58ecc34767a360fb377eb88b45c73d0e5a72f4fc.

Signed-off-by: Flatcar Buildbot <buildbot@flatcar-linux.org>
This commit is contained in:
Flatcar Buildbot 2025-09-22 07:11:20 +00:00 committed by Krzesimir Nowak
parent 448d2d4211
commit bb0b4db9f5
4 changed files with 101 additions and 2 deletions

View File

@ -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

View File

@ -0,0 +1,57 @@
From 479f0daedc332ad2be8973f3ecd176cb78beb9f4 Mon Sep 17 00:00:00 2001
From: Eli Schwartz <eschwartz@gentoo.org>
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 <eschwartz@gentoo.org>
---
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

View File

@ -0,0 +1,37 @@
From 05b422928735492d0448fbcb6b56f03aadc53eef Mon Sep 17 00:00:00 2001
From: Eli Schwartz <eschwartz@gentoo.org>
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 <eschwartz@gentoo.org>
---
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

View File

@ -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"