commit: 94bc701a20b843aee37fe6700f5a4e2c9c0d15a2 Author: Mike Pagano <mpagano <AT> gentoo <DOT> org> AuthorDate: Tue Oct 17 22:53:48 2023 +0000 Commit: Mike Pagano <mpagano <AT> gentoo <DOT> org> CommitDate: Tue Oct 17 22:53:48 2023 +0000 URL: https://gitweb.gentoo.org/proj/linux-patches.git/commit/?id=94bc701a
kheaders: make it possible to override TAR Signed-off-by: Mike Pagano <mpagano <AT> gentoo.org> 0000_README | 4 +++ 2930_tar_override.patch | 65 +++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 69 insertions(+) diff --git a/0000_README b/0000_README index 7be69feb..665fa5a2 100644 --- a/0000_README +++ b/0000_README @@ -103,6 +103,10 @@ Patch: 2920_sign-file-patch-for-libressl.patch From: https://bugs.gentoo.org/717166 Desc: sign-file: full functionality with modern LibreSSL +Patch: 2930_tar_override.patch +From: https://lore.kernel.org/lkml/20230412082743.350699-1-mgo...@gentoo.org/#t +Desc: kheaders: make it possible to override TAR + Patch: 3000_Support-printing-firmware-info.patch From: https://bugs.gentoo.org/732852 Desc: Print firmware info (Reqs CONFIG_GENTOO_PRINT_FIRMWARE_INFO). Thanks to Georgy Yakovlev diff --git a/2930_tar_override.patch b/2930_tar_override.patch new file mode 100644 index 00000000..001ff800 --- /dev/null +++ b/2930_tar_override.patch @@ -0,0 +1,65 @@ +From: "Michał Górny" <mgo...@gentoo.org> +To: Dmitry Goldin <dgoldin+l...@protonmail.ch> +Cc: "Masahiro Yamada" <yamada.masah...@socionext.com>, + linux-ker...@vger.kernel.org, "Michał Górny" <mgo...@gentoo.org>, + "Sam James" <s...@gentoo.org>, + "Masahiro Yamada" <masahi...@kernel.org> +Subject: [PATCH v2] kheaders: make it possible to override TAR +Date: Wed, 12 Apr 2023 10:27:43 +0200 [thread overview] +Message-ID: <20230412082743.350699-1-mgo...@gentoo.org> (raw) +In-Reply-To: <CAK7LNATfrxu7BK0ZRq+qSjObiz6GpS3U5L=12vDys5_yy=m...@mail.gmail.com> + +Commit 86cdd2fdc4e39c388d39c7ba2396d1a9dfd66226 ("kheaders: make headers +archive reproducible") introduced a number of options specific to GNU +tar to the `tar` invocation in `gen_kheaders.sh` script. This causes +the script to fail to work on systems where `tar` is not GNU tar. This +can occur e.g. on recent Gentoo Linux installations that support using +bsdtar from libarchive instead. + +Add a `TAR` make variable to make it possible to override the tar +executable used, e.g. by specifying: + + make TAR=gtar + +Link: https://bugs.gentoo.org/884061 +Reported-by: Sam James <s...@gentoo.org> +Tested-by: Sam James <s...@gentoo.org> +Co-developed-by: Masahiro Yamada <masahi...@kernel.org> +Signed-off-by: Michał Górny <mgo...@gentoo.org> +--- + Makefile | 3 ++- + kernel/gen_kheaders.sh | 2 +- + 2 files changed, 3 insertions(+), 2 deletions(-) + +diff --git a/Makefile b/Makefile +index 5aeea3d98..50045059c 100644 +--- a/Makefile ++++ b/Makefile +@@ -520,6 +520,7 @@ LZMA = lzma + LZ4 = lz4c + XZ = xz + ZSTD = zstd ++TAR = tar + + PAHOLE_FLAGS = $(shell PAHOLE=$(PAHOLE) $(srctree)/scripts/pahole-flags.sh) + +@@ -599,7 +600,7 @@ export RUSTC RUSTDOC RUSTFMT RUSTC_OR_CLIPPY_QUIET RUSTC_OR_CLIPPY BINDGEN CARGO + export HOSTRUSTC KBUILD_HOSTRUSTFLAGS + export CPP AR NM STRIP OBJCOPY OBJDUMP READELF PAHOLE RESOLVE_BTFIDS LEX YACC AWK INSTALLKERNEL + export PERL PYTHON3 CHECK CHECKFLAGS MAKE UTS_MACHINE HOSTCXX +-export KGZIP KBZIP2 KLZOP LZMA LZ4 XZ ZSTD ++export KGZIP KBZIP2 KLZOP LZMA LZ4 XZ ZSTD TAR + export KBUILD_HOSTCXXFLAGS KBUILD_HOSTLDFLAGS KBUILD_HOSTLDLIBS LDFLAGS_MODULE + export KBUILD_USERCFLAGS KBUILD_USERLDFLAGS + +--- a/kernel/gen_kheaders.sh 2023-10-17 18:43:00.365033993 -0400 ++++ b/kernel/gen_kheaders.sh 2023-10-17 18:43:36.301750445 -0400 +@@ -83,7 +83,7 @@ find $cpio_dir -type f -print0 | + xargs -0 -P8 -n1 perl -pi -e 'BEGIN {undef $/;}; s/\/\*((?!SPDX).)*?\*\///smg;' + + # Create archive and try to normalize metadata for reproducibility. +-tar "${KBUILD_BUILD_TIMESTAMP:+--mtime=$KBUILD_BUILD_TIMESTAMP}" \ ++${TAR:-tar} "${KBUILD_BUILD_TIMESTAMP:+--mtime=$KBUILD_BUILD_TIMESTAMP}" \ + --owner=0 --group=0 --sort=name --numeric-owner \ + -I $XZ -cf $tarfile -C $cpio_dir/ . > /dev/null +