Source: grub2 Severity: normal Tags: patch User: [email protected] Usertags: randomness X-Debbugs-Cc: [email protected]
Both grub-xen-dbg and grub-xen-bin generate their lintian overrides from debian/rules using find, which may return results in a non-deterministic order: https://reproduce.debian.net/amd64/api/v1/builds/153376/artifacts/383903/diffoscope https://reproduce.debian.net/amd64/api/v1/builds/153376/artifacts/383902/diffoscope The attached patch sorts each of the find calls used to generate the lintian overrides, which should result in a deterministic ordering... at least if the locale is consistent (which it should be with buildd.debian.org vs. reproduce.debian.net)... the proposed fix for https://bugs.debian.org/991928 might also help with varying locales. This does not resolve all reproducibility issues in grub2 (there are a few other bugs with patches filed that will partly help), but it should at least fix those two packages! live well, vagrant
From 10c89cf6eaa747211aae7f01409ef7753a9393ec Mon Sep 17 00:00:00 2001 From: Vagrant Cascadian <[email protected]> Date: Sun, 31 May 2026 20:34:47 -0700 Subject: [PATCH] debian/rules: Sort calls to find when generating lintian overrides. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The results of the find command may return files in non-deterministic order. for example, running diffoscope on two builds of the same package: --- /srv/rebuilderd/tmp/rebuilderdLk2QMC/inputs/grub-xen-bin_2.14-2_amd64.deb +++ /srv/rebuilderd/tmp/rebuilderdLk2QMC/out/grub-xen-bin_2.14-2_amd64.deb ... │ │ ├── ./usr/share/lintian/overrides/grub-xen-bin │ │ │┄ Ordering differences only │ │ │ @@ -1,22 +1,22 @@ │ │ │ grub-xen-bin: unstripped-binary-or-object **.mod* │ │ │ +grub-xen-bin: statically-linked-binary *usr/lib/grub/i386-xen/kernel.img* │ │ │ grub-xen-bin: statically-linked-binary *usr/lib/grub/i386-xen_pvh/kernel.img* │ │ │ grub-xen-bin: statically-linked-binary *usr/lib/grub/x86_64-xen/kernel.img* │ │ │ -grub-xen-bin: statically-linked-binary *usr/lib/grub/i386-xen/kernel.img* ... │ │ │ +grub-xen-bin: binary-from-other-architecture *usr/lib/grub/i386-xen/kernel.img* │ │ │ grub-xen-bin: binary-from-other-architecture *usr/lib/grub/i386-xen_pvh/kernel.img* │ │ │ grub-xen-bin: binary-from-other-architecture *usr/lib/grub/x86_64-xen/kernel.img* │ │ │ -grub-xen-bin: binary-from-other-architecture *usr/lib/grub/i386-xen/kernel.img* --- debian/rules | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/debian/rules b/debian/rules index e7cefe635..184e8dde8 100755 --- a/debian/rules +++ b/debian/rules @@ -439,10 +439,10 @@ install/grub-pc install/grub-efi-ia32 install/grub-efi-amd64 install/grub-efi-ar mkdir -p debian/$(package_bin)/usr/share/lintian/overrides echo "$(package_bin): unstripped-binary-or-object [*.mod]" \ >> debian/$(package_bin)/usr/share/lintian/overrides/$(package_bin) - cd debian/tmp-$(package) && find usr/lib/grub -name kernel.img \ + cd debian/tmp-$(package) && find usr/lib/grub -name kernel.img | sort \ | sed -e "s%.*%$(package_bin): statically-linked-binary [&]%g" \ >> $(CURDIR)/debian/$(package_bin)/usr/share/lintian/overrides/$(package_bin) - cd debian/tmp-$(package) && find usr/lib/grub -name kernel.img \ + cd debian/tmp-$(package) && find usr/lib/grub -name kernel.img | sort \ | sed -e "s%.*%$(package_bin): unstripped-binary-or-object [&]%g" \ >> $(CURDIR)/debian/$(package_bin)/usr/share/lintian/overrides/$(package_bin) if ([ "$@" = "install/grub-efi-amd64" ] && [ "$(DEB_HOST_ARCH_CPU)" = "i386" ]) || \ @@ -482,7 +482,7 @@ install/grub-pc install/grub-efi-ia32 install/grub-efi-amd64 install/grub-efi-ar >> debian/$(package_dbg)/usr/share/lintian/overrides/$(package_dbg) echo "$(package_dbg): statically-linked-binary [*.image]" \ >> debian/$(package_dbg)/usr/share/lintian/overrides/$(package_dbg) - cd debian/tmp-$(package) && find usr/lib/grub -name kernel.exec \ + cd debian/tmp-$(package) && find usr/lib/grub -name kernel.exec | sort \ | sed -e "s%.*%$(package_dbg): statically-linked-binary [&]%g" \ >> $(CURDIR)/debian/$(package_dbg)/usr/share/lintian/overrides/$(package_dbg) if ([ "$@" = "install/grub-efi-amd64" ] && [ "$(DEB_HOST_ARCH_CPU)" = "i386" ]) || \ @@ -490,7 +490,7 @@ install/grub-pc install/grub-efi-ia32 install/grub-efi-amd64 install/grub-efi-ar [ "$@" = "install/grub-xen" ] ; then \ echo "$(package_dbg): binary-from-other-architecture [*.module]" \ >> debian/$(package_dbg)/usr/share/lintian/overrides/$(package_dbg) ; \ - cd debian/tmp-$(package) && find usr/lib/grub -name kernel.exec \ + cd debian/tmp-$(package) && find usr/lib/grub -name kernel.exec | sort \ | sed -e "s%.*%$(package_dbg): binary-from-other-architecture [&]%g" \ >> $(CURDIR)/debian/$(package_dbg)/usr/share/lintian/overrides/$(package_dbg) ; \ fi -- 2.47.3
signature.asc
Description: PGP signature

