From 10c89cf6eaa747211aae7f01409ef7753a9393ec Mon Sep 17 00:00:00 2001
From: Vagrant Cascadian <vagrant@reproducible-builds.org>
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

