--- Begin Message ---
- To: submit@bugs.debian.org
- Subject: directfb: please make the build reproducible
- From: Reiner Herrmann <reiner@reiner-h.de>
- Date: Mon, 27 Jun 2016 14:21:07 +0200
- Message-id: <20160627122107.GV17927@reiner-h.de>
Source: directfb
Version: 1.4.3-1.1
Severity: wishlist
Tags: patch upstream
User: reproducible-builds@lists.alioth.debian.org
Usertags: fileordering timestamps
X-Debbugs-Cc: reproducible-builds@lists.alioth.debian.org
Hi!
While working on the "reproducible builds" effort [1], we have noticed
that directfb could not be built reproducibly.
It embeds the current build time into several binaries and does notsort
object files in static libraries.
The attached patch fixes this.
Regards,
Reiner
[1]: https://wiki.debian.org/ReproducibleBuilds
diff --git a/debian/patches/reproducible_build.patch b/debian/patches/reproducible_build.patch
new file mode 100644
index 0000000..9d97fa5
--- /dev/null
+++ b/debian/patches/reproducible_build.patch
@@ -0,0 +1,83 @@
+Author: Reiner Herrmann <reiner@reiner-h.de>
+Description: Enable reproducible building
+ - Sort list of object files while linking
+ - Strip build time from binary
+
+--- a/lib/direct/Makefile.am
++++ b/lib/direct/Makefile.am
+@@ -116,7 +116,7 @@
+
+ libdirect_fixed.a: .libs/libdirect.a
+ rm -f libdirect_fixed.a
+- ${AR} cru libdirect_fixed.a `find . -name "*.o" | grep -v '.libs' | grep -v dtest`
++ ${AR} cru libdirect_fixed.a `find . -name "*.o" | grep -v '.libs' | grep -v dtest | LC_ALL=C sort`
+ ${RANLIB} libdirect_fixed.a
+ cp -pf libdirect_fixed.a .libs/libdirect.a
+
+--- a/src/core/Makefile.am
++++ b/src/core/Makefile.am
+@@ -10,8 +10,7 @@
+ AM_CPPFLAGS = \
+ -DDATADIR=\"${RUNTIME_SYSROOT}@DATADIR@\" \
+ -DSOPATH=\"@SOPATH@\" \
+- -DMODULEDIR=\"${RUNTIME_SYSROOT}@MODULEDIR@\" \
+- "-DBUILDTIME=\"`date -u "+%Y-%m-%d %H:%M"`\""
++ -DMODULEDIR=\"${RUNTIME_SYSROOT}@MODULEDIR@\"
+
+
+ internalincludedir = $(INTERNALINCLUDEDIR)/core
+--- a/src/core/core.c
++++ b/src/core/core.c
+@@ -275,7 +275,7 @@
+ direct_initialize();
+
+
+- D_INFO( "DirectFB/Core: %s Application Core. ("BUILDTIME") %s%s\n",
++ D_INFO( "DirectFB/Core: %s Application Core. %s%s\n",
+ FUSION_BUILD_MULTI ? "Multi" : "Single",
+ DIRECT_BUILD_DEBUG ? "[ DEBUG ]" : "",
+ DIRECT_BUILD_TRACE ? "[ TRACE ]" : "" );
+--- a/src/Makefile.am
++++ b/src/Makefile.am
+@@ -55,7 +55,7 @@
+
+ libdirectfb_fixed.a: .libs/libdirectfb.a
+ rm -f libdirectfb_fixed.a
+- ${AR} cru libdirectfb_fixed.a `find . -name "*.o" | grep -v '.libs'`
++ ${AR} cru libdirectfb_fixed.a `find . -name "*.o" | grep -v '.libs' | LC_ALL=C sort`
+ ${RANLIB} libdirectfb_fixed.a
+ cp -pf libdirectfb_fixed.a .libs/libdirectfb.a
+
+--- a/lib/fusion/Makefile.am
++++ b/lib/fusion/Makefile.am
+@@ -82,7 +82,7 @@
+
+ libfusion_fixed.a: .libs/libfusion.a
+ rm -f libfusion_fixed.a
+- ${AR} cru libfusion_fixed.a `find . -name "*.o" | grep -v '.libs'`
++ ${AR} cru libfusion_fixed.a `find . -name "*.o" | grep -v '.libs' | LC_ALL=C sort`
+ ${RANLIB} libfusion_fixed.a
+ cp -pf libfusion_fixed.a .libs/libfusion.a
+
+--- a/lib/voodoo/Makefile.am
++++ b/lib/voodoo/Makefile.am
+@@ -62,7 +62,7 @@
+
+ libvoodoo_fixed.a: .libs/libvoodoo.a
+ rm -f libvoodoo_fixed.a
+- ${AR} cru libvoodoo_fixed.a `find . -name "*.o"`
++ ${AR} cru libvoodoo_fixed.a `find . -name "*.o" | LC_ALL=C sort`
+ ${RANLIB} libvoodoo_fixed.a
+ cp -pf libvoodoo_fixed.a .libs/libvoodoo.a
+
+--- a/wm/unique/Makefile.am
++++ b/wm/unique/Makefile.am
+@@ -135,7 +135,7 @@
+
+ libuniquewm_fixed.a: .libs/libuniquewm.a
+ rm -f libuniquewm_fixed.a
+- ${AR} cru libuniquewm_fixed.a `find . -name "*.o" | grep -v '.libs'`
++ ${AR} cru libuniquewm_fixed.a `find . -name "*.o" | grep -v '.libs' | LC_ALL=C sort`
+ ${RANLIB} libuniquewm_fixed.a
+ cp -pf libuniquewm_fixed.a .libs/libuniquewm.a
+
diff --git a/debian/patches/series b/debian/patches/series
index 36f3991..6f8f0ec 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -6,3 +6,4 @@
93_fix_unicode_key_handling.patch
94_fix_mknod.patch
directfb-1.2.10_libpng-1.5.patch
+reproducible_build.patch
--- End Message ---
--- Begin Message ---
Source: directfb
Source-Version: 1.7.7-8
We believe that the bug you reported is fixed in the latest version of
directfb, which is due to be installed in the Debian FTP archive.
A summary of the changes between this version and the previous one is
attached.
Thank you for reporting the bug, which will now be closed. If you
have further comments please address them to 828745@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.
Debian distribution maintenance software
pp.
Gianfranco Costamagna <locutusofborg@debian.org> (supplier of updated directfb package)
(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmaster@ftp-master.debian.org)
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
Format: 1.8
Date: Thu, 29 Mar 2018 18:33:45 +0200
Source: directfb
Binary: libdirectfb-dev libdirectfb-1.7-7 lib++dfb-1.7-7 libdirectfb-bin libdirectfb-extra
Architecture: source
Version: 1.7.7-8
Distribution: unstable
Urgency: medium
Maintainer: Debian QA Group <packages@qa.debian.org>
Changed-By: Gianfranco Costamagna <locutusofborg@debian.org>
Description:
lib++dfb-1.7-7 - direct frame buffer graphics (++DFB shared library)
libdirectfb-1.7-7 - direct frame buffer graphics (shared libraries)
libdirectfb-bin - direct frame buffer graphics - binaries
libdirectfb-dev - direct frame buffer graphics library - development files
libdirectfb-extra - direct frame buffer graphics - extra providers
Closes: 828745
Changes:
directfb (1.7.7-8) unstable; urgency=medium
.
* QA upload.
* Tweak reproducible patch on top of new release.
.
[ Reiner Herrmann ]
* d/p/reproducible_build.patch:
Make build reproducible (Closes: #828745)
Checksums-Sha1:
24c3c4cdc002d3c8279ec449a65918b9f15e8608 2760 directfb_1.7.7-8.dsc
310ea340c569d0520c99cf1c03900d582c0214fa 25572 directfb_1.7.7-8.debian.tar.xz
6fbd4317eb10fb94a54ede52d65dc6e4b44ead66 9880 directfb_1.7.7-8_source.buildinfo
Checksums-Sha256:
d944b1ea2f5cc78f997026cdd1b55ddb9e192dab999963b96a75d628c5da022f 2760 directfb_1.7.7-8.dsc
ce804c58737c7e04c3373199b078fdbbc912f478d6eca90eb1c18f9c1eb4ca4e 25572 directfb_1.7.7-8.debian.tar.xz
eb310d45bae1724f9ba1c60e03738503309e21e9cfa0b5ed275a4ac42319ad40 9880 directfb_1.7.7-8_source.buildinfo
Files:
c0386993911d9f77a2b2b3f044812aa1 2760 libs optional directfb_1.7.7-8.dsc
2d52ab85b8248576bcd0d9faa244583b 25572 libs optional directfb_1.7.7-8.debian.tar.xz
5b6df1f7c53d609f9829c55fd242e705 9880 libs optional directfb_1.7.7-8_source.buildinfo
-----BEGIN PGP SIGNATURE-----
iQIcBAEBCAAGBQJavRYKAAoJEPNPCXROn13ZMfIQAJ0hi7AgNOeyOQEnoMRqlrUB
JehYpc1oKTiyQ2UbFpeS/FpspU86zvKTIGaDz/txjdJA7PK/CoNpD92V5aI/nm9s
C2PTOItPbFE0k69P+aSQTIKU975EcV33yDajBV4wSpcmWolu2lIoR76doYaMf9Th
uC6LjycceQIbaTfguHpYWbcNE0l+2+TwveUj6eI/dX71vTfYpYaf+NODaWyQ0ojO
aT0XxqpzYkLF2c6NA79vFm726dXkMerO+M0m+jrGOCb1bnMZkE3EEJZDRKu0eRlv
7b/m7eIZKZLo9paEVVDyEsBdNkXO9jLSFmYXSyGtCOrpjurpIHUGxC8uUdZ3daqg
fHu0T/kPaEj/2QEW8U3IBpxYy6WvwsZXAInlAxWJVCyHCk2B3vaNInnnbnKQnoYE
55OcfGN2Yp0MJ3suo3UdaA9S2QV9sAZrdT6ZOXVL9h9pOVrzuMAUx2vZDnEfXTqc
cY7nMOtBc8eXLvOJ+6O1U1go9Or+xBAWyWP9GypMzlUG/y5A5SUoasmZtd5JpggE
SYmUerOyIX9A0KR5AuntX4qMYXV5XxjniK0iWeW7dgANW/mujVkG6Lcdaq5STdGp
BUIJEQoARIif26P+ZztrDRqxOI72gXI4xOpt4daQNqt8aF6/ZsUBboehUU3lIhZx
UQZ9ThGjz6kF4Em4JpNV
=mYZ2
-----END PGP SIGNATURE-----
--- End Message ---