[opensuse-kernel] [PATCH] kernel-binary: Strip number of build machine CPUs
Strip number of build machine CPUs to make package build reproducible. Without this patch, /usr/src/linux-@VERSION@-@RELEASE_SHORT@-obj/x86_64/vanilla/.kernel-binary.spec.buildenv contained rpm %_smp_mflags in a line like export MAKE_ARGS=" --output-sync -j4" --- if the file is not actually needed, we could also do a find -delete --- rpm/kernel-binary.spec.in | 2 ++ 1 file changed, 2 insertions(+) diff --git a/rpm/kernel-binary.spec.in b/rpm/kernel-binary.spec.in index 4d941c2eef..1a6b22e3b0 100644 --- a/rpm/kernel-binary.spec.in +++ b/rpm/kernel-binary.spec.in @@ -811,6 +811,8 @@ if [ %CONFIG_MODULES = y ]; then fi rm -rf %{buildroot}/lib/firmware +# strip number of build machine CPUs to make build reproducible +find %{buildroot}/usr/src/linux-*-obj/ -name .kernel-binary.spec.buildenv | xargs sed -i 's/ -j[1-9][0-9]*"$/"/' add_dirs_to_filelist() { sed -rn ' -- 2.16.4 -- To unsubscribe, e-mail: opensuse-kernel+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-kernel+owner@opensuse.org
On Fri, 02 Aug 2019 10:26:17 +0200, Bernhard M. Wiedemann wrote:
Strip number of build machine CPUs to make package build reproducible. Without this patch, /usr/src/linux-@VERSION@-@RELEASE_SHORT@-obj/x86_64/vanilla/.kernel-binary.spec.buildenv contained rpm %_smp_mflags in a line like export MAKE_ARGS=" --output-sync -j4"
--- if the file is not actually needed, we could also do a find -delete
I don't think we need to ship this information in the kernel-*-devel package. It's used during kernel binary build inside the package, but it's basically irrelevant from external module builds, etc. It might be useful only if someone wants to rebuild the whole kernel on the same condition, but it's still invalid without manual modification. So I'm for dropping, but need the double-check by other people. thanks, Takashi
--- rpm/kernel-binary.spec.in | 2 ++ 1 file changed, 2 insertions(+)
diff --git a/rpm/kernel-binary.spec.in b/rpm/kernel-binary.spec.in index 4d941c2eef..1a6b22e3b0 100644 --- a/rpm/kernel-binary.spec.in +++ b/rpm/kernel-binary.spec.in @@ -811,6 +811,8 @@ if [ %CONFIG_MODULES = y ]; then fi
rm -rf %{buildroot}/lib/firmware +# strip number of build machine CPUs to make build reproducible +find %{buildroot}/usr/src/linux-*-obj/ -name .kernel-binary.spec.buildenv | xargs sed -i 's/ -j[1-9][0-9]*"$/"/'
add_dirs_to_filelist() { sed -rn ' -- 2.16.4
-- To unsubscribe, e-mail: opensuse-kernel+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-kernel+owner@opensuse.org
-- To unsubscribe, e-mail: opensuse-kernel+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-kernel+owner@opensuse.org
Without this patch, /usr/src/linux-@VERSION@-@RELEASE_SHORT@-obj/x86_64/vanilla/.kernel-binary.spec.buildenv contained rpm %_smp_mflags in a line like export MAKE_ARGS=" --output-sync -j4" This made it hard to produce bit-identical builds. --- rpm/kernel-binary.spec.in | 2 ++ 1 file changed, 2 insertions(+) diff --git a/rpm/kernel-binary.spec.in b/rpm/kernel-binary.spec.in index a266d64c45..baa5129a4e 100644 --- a/rpm/kernel-binary.spec.in +++ b/rpm/kernel-binary.spec.in @@ -824,6 +824,8 @@ if [ %CONFIG_MODULES = y ]; then fi rm -rf %{buildroot}/lib/firmware +# file contains number of CPUs, making builds hard to reproduce +find %{buildroot}/usr/src/linux-*-obj/ -name .kernel-binary.spec.buildenv -delete add_dirs_to_filelist() { sed -rn ' -- 2.16.4 -- To unsubscribe, e-mail: opensuse-kernel+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-kernel+owner@opensuse.org
participants (2)
-
Bernhard M. Wiedemann
-
Takashi Iwai