From: Masahiro Yamada Date: Wed, 18 Dec 2024 10:37:05 +0000 (+0900) Subject: kheaders: exclude include/generated/utsversion.h from kheaders_data.tar.xz X-Git-Tag: v6.14-rc1~16^2~59 X-Git-Url: https://git.kernel.dk/?a=commitdiff_plain;h=41e86fe7ebe9eaf18c394145cc91b08b5ec932a8;p=linux-block.git kheaders: exclude include/generated/utsversion.h from kheaders_data.tar.xz CONFIG_IKHEADERS has a reproducibility issue because the contents of kernel/kheaders_data.tar.xz can vary depending on how you build the kernel. If you build the kernel with CONFIG_IKHEADERS enabled from a pristine state, the tarball does not include include/generated/utsversion.h. $ make -s mrproper $ make -s defconfig $ scripts/config -e CONFIG_IKHEADERS $ make -s $ tar Jtf kernel/kheaders_data.tar.xz | grep utsversion However, if you build the kernel with CONFIG_IKHEADERS disabled first and then enable it later, the tarball does include include/generated/utsversion.h. $ make -s mrproper $ make -s defconfig $ make -s $ scripts/config -e CONFIG_IKHEADERS $ make -s $ tar Jtf kernel/kheaders_data.tar.xz | grep utsversion ./include/generated/utsversion.h It is not predictable whether a stale include/generated/utsversion.h remains when kheaders_data.tar.xz is generated. For better reproducibility, include/generated/utsversions.h should always be omitted. It is not necessary for the kheaders anyway. Signed-off-by: Masahiro Yamada --- diff --git a/kernel/gen_kheaders.sh b/kernel/gen_kheaders.sh index 383fd43ac612..a0e3fbf4afa4 100755 --- a/kernel/gen_kheaders.sh +++ b/kernel/gen_kheaders.sh @@ -83,6 +83,10 @@ for f in $dir_list; do find "$f" -name "*.h"; done | cpio --quiet -pdu $cpio_dir >/dev/null 2>&1 +# Always exclude include/generated/utsversion.h +# Otherwise, the contents of the tarball may vary depending on the build steps. +rm -f "${cpio_dir}/include/generated/utsversion.h" + # Remove comments except SDPX lines find $cpio_dir -type f -print0 | xargs -0 -P8 -n1 perl -pi -e 'BEGIN {undef $/;}; s/\/\*((?!SPDX).)*?\*\///smg;'