Source: libaqbanking
Version: 5.6.1beta-1
Severity: wishlist
Tags: upstream patch
User: [email protected]
Usertags: fileordering

Hi,

the package can currently not be build reproducibly, because
files are not read in a deterministic order.
The attached patch fixes this by sorting files/items before they
are used to produce output that will land in the package.

Regards,
Micha
Origin: http://git.aqbanking.de/gitweb/?p=aqbanking.git;a=commitdiff;h=4127ab7619aa03ac70dbc06838589278f2a03ca0
From: Micha Lenk <[email protected]>
Date: Mon, 13 Jul 2015 21:42:48 +0200
Subject: Make contents of listdoc.h reproducible

There is a Debian initiative working on making builds reproducible, i.e. to
make it possible to reproduce byte-for-byte identical binary packages from a
given source. https://wiki.debian.org/ReproducibleBuilds

The contents of listdoc.h is generated by the output of "find include -name
'*.h'". Unfortunately the output of this command depends on readdir()'s output,
which in general is non-deterministic. Under some yet unknown conditions this
can result in unreproducible API documentation for Gwenhywfar. By sorting the
output of "find" the generated API documentation should become reliably
reproducible.
---
 Makefile.am | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/Makefile.am b/Makefile.am
index 88875e7..e9c5c84 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -36,7 +36,7 @@ cmakeconfigdir = $(libdir)/cmake/aqbanking-$(AQBANKING_VERSION_MAJOR).$(AQBANKIN
 cmakeconfig_DATA = aqbanking-config.cmake aqbanking-config-version.cmake
 
 listdoc.h:
-	$(gwenhywfar_bindir)/mklistdoc -I $(gwenhywfar_headers) -v `find $(aqbanking_symlinkdir) -name '*.h' ` >listdoc.h
+	$(gwenhywfar_bindir)/mklistdoc -I $(gwenhywfar_headers) -v `find $(aqbanking_symlinkdir) -name '*.h' | LC_ALL=C sort ` >listdoc.h
 
 srcdoc: Doxyfile listdoc.h
 	if test -d apidoc; then rm -Rf apidoc; fi
-- 
2.1.4

Reply via email to