commit: ddd3e500b590d56356fbe5921417a4524f8a35ae
Author: Fabian Groffen <grobian <AT> gentoo <DOT> org>
AuthorDate: Wed Dec 3 18:42:04 2025 +0000
Commit: Fabian Groffen <grobian <AT> gentoo <DOT> org>
CommitDate: Wed Dec 3 18:42:04 2025 +0000
URL: https://gitweb.gentoo.org/repo/proj/prefix.git/commit/?id=ddd3e500
scripts/bootstrap-prefix: ensure >=tar-1.30 for Portage's usage
Portage uses tar -I "bzip2 -c" nowadays, which is mishandled by older
versions of tar (if they accept the option at all).
Signed-off-by: Fabian Groffen <grobian <AT> gentoo.org>
scripts/bootstrap-prefix.sh | 11 +++++++++--
1 file changed, 9 insertions(+), 2 deletions(-)
diff --git a/scripts/bootstrap-prefix.sh b/scripts/bootstrap-prefix.sh
index d815b580af..e128a51e98 100755
--- a/scripts/bootstrap-prefix.sh
+++ b/scripts/bootstrap-prefix.sh
@@ -970,6 +970,11 @@ bootstrap_gnu() {
fi
fi
+ if [[ ${PN} == "tar" ]] ; then
+ # really, not now, by the time we get there, we'll have it fixed
+ myconf+=( --disable-year2038 )
+ fi
+
# SuSE 11.1 has GNU binutils-2.20, choking on crc32_x86
[[ ${PN} == "xz" ]] && myconf+=( "--disable-assembler" )
@@ -1401,7 +1406,9 @@ bootstrap_coreutils() {
}
bootstrap_tar() {
- bootstrap_gnu tar 1.35 || bootstrap_gnu tar 1.32 || bootstrap_gnu tar
1.26
+ bootstrap_gnu tar 1.35 || bootstrap_gnu tar 1.32
+ # tar <=1.26 handles -I "bzip2 -c" wrongly, which is used by Portage
+ # nowadays
}
bootstrap_make() {
@@ -1768,7 +1775,7 @@ bootstrap_stage1() {
|| [[ $(find --version 2>&1) == *GNU* ]] \
|| (bootstrap_findutils) || return 1
[[ -x ${ROOT}/tmp/usr/bin/tar ]] \
- || [[ $(tar --version 2>&1) == *GNU* ]] \
+ || [[ $(tar --version 2>&1) == *"GNU 1."[3456789]* ]] \
|| (bootstrap_tar) || return 1
[[ -x ${ROOT}/tmp/usr/bin/grep ]] \
|| [[ $(grep --version 2>&1) == *GNU* ]] \