Your message dated Wed, 22 Jun 2016 14:54:16 +0300
with message-id <2096855.PvIHQzMksI@filippos>
and subject line
has caused the Debian Bug report #820815,
regarding freefem++: please make the build reproducible
(fileordering,timestamps)
to be marked as done.
This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.
(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact ow...@bugs.debian.org
immediately.)
--
820815: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=820815
Debian Bug Tracking System
Contact ow...@bugs.debian.org with problems
--- Begin Message ---
Source: freefem++
Version: 3.45-1
Severity: wishlist
Tags: patch upstream
User: reproducible-bui...@lists.alioth.debian.org
Usertags: fileordering timestamps
X-Debbugs-Cc: reproducible-bui...@lists.alioth.debian.org
Dear Maintainer,
While working on the “reproducible builds” effort [1], we have noticed
that 'freefem++' could not be built reproducibly.
The attached patch fixes the order in which files are included in the
edp files, and honours SOURCE_DATE_EPOCH [2] when using the build date.
Once applied, freefem++ can be built reproducibly in our current
experimental framework.
Regards,
Alexis Bienvenüe.
[1]: https://wiki.debian.org/ReproducibleBuilds
[2]: https://reproducible-builds.org/specs/source-date-epoch/
diff -Nru freefem++-3.45/debian/changelog freefem++-3.45/debian/changelog
--- freefem++-3.45/debian/changelog 2016-03-19 23:24:48.000000000 +0100
+++ freefem++-3.45/debian/changelog 2016-04-12 19:10:09.000000000 +0200
@@ -1,3 +1,10 @@
+freefem++ (3.45-1.0~reproducible1) unstable; urgency=medium
+
+ * Set ls locale in Makefiles, for reproducible order.
+ * Honours SOURCE_DATE_EPOCH to date the build.
+
+ -- Alexis Bienvenüe <p...@passoire.fr> Tue, 12 Apr 2016 19:10:09 +0200
+
freefem++ (3.45-1) unstable; urgency=medium
* Imported Upstream version 3.45
diff -Nru freefem++-3.45/debian/patches/build_date_from_SOURCE_DATE_EPOCH.patch freefem++-3.45/debian/patches/build_date_from_SOURCE_DATE_EPOCH.patch
--- freefem++-3.45/debian/patches/build_date_from_SOURCE_DATE_EPOCH.patch 1970-01-01 01:00:00.000000000 +0100
+++ freefem++-3.45/debian/patches/build_date_from_SOURCE_DATE_EPOCH.patch 2016-04-12 18:49:38.000000000 +0200
@@ -0,0 +1,55 @@
+Description: Get build date from SOURCE_DATE_EPOCH
+ Get build date from SOURCE_DATE_EPOCH (if set), to make the build
+ reproducible.
+Author: Alexis Bienvenüe <p...@passoire.fr>
+
+Index: freefem++-3.45/configure.ac
+===================================================================
+--- freefem++-3.45.orig/configure.ac
++++ freefem++-3.45/configure.ac
+@@ -128,8 +128,12 @@ m4_define([TOOL_DISABLE],
+ TOOL_PARAMETERS($1,$2,$3)
+ ])
+
++SOURCE_DATE_EPOCH="${SOURCE_DATE_EPOCH:-$(date +%s)}"
++FF_DATE=$(date -u -d "@$SOURCE_DATE_EPOCH" "+%Y-%m-%d" 2>/dev/null || date -u -r "$SOURCE_DATE_EPOCH" "+%Y-%m-%d" 2>/dev/null || date -u "+%Y-%m-%d")
++AC_SUBST(FF_DATE,$FF_DATE)
++
+ ff_HOSTARCH_pastix=
+-echo "# Build with freefem++ with ./configure " `date` >$ff_where_lib_conf
++echo "# Build with freefem++ with ./configure $FF_DATE" >$ff_where_lib_conf
+ # To allow anonymous CVS version to contain a "./configure" and
+ # Makefiles
+
+@@ -600,7 +604,6 @@ ff_prefix_dir="${prefix}/lib/ff++/$VERSI
+ AC_MSG_CHECKING(prefix dir freefem++ )
+ AC_MSG_RESULT($ff_prefix_dir)
+
+-FF_DATE=`date`
+ AC_DEFINE_UNQUOTED(VersionFreeFemDate,"$FF_DATE",FreeFem++ build date)
+ AC_DEFINE_UNQUOTED(FF_PREFIX_DIR,"${ff_prefix_dir}",FreeFem prefix dir)
+ AC_SUBST(ff_prefix_dir,$ff_prefix_dir)
+Index: freefem++-3.45/src/fflib/Makefile.am
+===================================================================
+--- freefem++-3.45.orig/src/fflib/Makefile.am
++++ freefem++-3.45/src/fflib/Makefile.am
+@@ -64,5 +64,5 @@ AM_CPPFLAGS=-I$(srcdir)/../lglib -I$(src
+ EXTRA_DIST=strversionnumber.m4
+ BUILT_SOURCES=strversionnumber.cpp
+ strversionnumber.cpp: $(libff_a_SOURCES2) ../../configure
+- m4 -DVersionFreeFemDate="`date`" strversionnumber.m4 > $@
++ m4 -DVersionFreeFemDate="@FF_DATE@" strversionnumber.m4 > $@
+ FORCE:
+Index: freefem++-3.45/src/medit/Makefile.am
+===================================================================
+--- freefem++-3.45.orig/src/medit/Makefile.am
++++ freefem++-3.45/src/medit/Makefile.am
+@@ -17,7 +17,7 @@ LDADD=picking.$(OBJEXT) ../libMesh/libMe
+ AM_CPPFLAGS=-I$(srcdir)/../libMesh
+ BUILT_SOURCES=compil.date
+ compil.date: $(ffmedit_SOURCES)
+- echo "#define COMPIL " '"' `date` '(with ff++ $(VERSION))''"' > compil.date
++ echo "#define COMPIL " '" @FF_DATE@ (with ff++ $(VERSION))"' > compil.date
+ #.PHONY: compil.date
+
+ # ALH - during a parallel make, we should make sure that picking.o is not used before being made by a different
diff -Nru freefem++-3.45/debian/patches/ls-locale.patch freefem++-3.45/debian/patches/ls-locale.patch
--- freefem++-3.45/debian/patches/ls-locale.patch 1970-01-01 01:00:00.000000000 +0100
+++ freefem++-3.45/debian/patches/ls-locale.patch 2016-04-12 17:57:07.000000000 +0200
@@ -0,0 +1,85 @@
+Description: Set ls locale to C
+ Set ls locale to C, so that the order is always the same, whatever the
+ current locale is. This makes the build reproducible.
+Author: Alexis Bienvenüe <p...@passoire.fr>
+
+--- freefem++-3.45.orig/examples++-3d/Makefile.am
++++ freefem++-3.45/examples++-3d/Makefile.am
+@@ -16,7 +16,7 @@ EXTRA_DIST=*.edp all.edp regtests.edp r
+
+ all.edp: Makefile
+ (echo "NoGraphicWindow=true;NoUseOfWait=true;int verbosityy=verbosity;int MEM1234=storageused();"; \
+- for i in *`ls *.edp|grep -v -E '^(all|regtests|makeref|ref)\.edp$$'` ; do \
++ for i in `LC_ALL=C ls *.edp|grep -v -E '^(all|regtests|makeref|ref)\.edp$$'` ; do \
+ echo ' cout << "--------- file : '$$i' --------------------------------------------------------" << endl;' ;\
+ echo "verbosity=verbosityy;searchMethod=0;" ; \
+ echo \{ include \"$$i\"\;\}\; ;\
+--- freefem++-3.45.orig/examples++-chapt3/Makefile.am
++++ freefem++-3.45/examples++-chapt3/Makefile.am
+@@ -11,7 +11,7 @@ TESTS_ENVIRONMENT=TEST_FFPP=$(TEST_FFPP)
+
+ all.edp:
+ (echo "NoUseOfWait=true;int verbosityy=verbosity;"; \
+- for i in *`ls *.edp|grep -v -E '^(all|regtests|makeref|ref)\.edp$$'` ; do \
++ for i in `LC_ALL=C ls *.edp|grep -v -E '^(all|regtests|makeref|ref)\.edp$$'` ; do \
+ echo ' cout << "--------- file : '$$i' --------------------------------------------------------" << endl;' ;\
+ echo "verbosity=verbosityy;" ; \
+ echo \{ include \"$$i\"\;\}\; ;\
+@@ -32,4 +32,4 @@ freefem++.pref:
+ echo loadpath = \"../examples++-load/\" >freefem++.pref
+ echo loadpath += \"./\" >>freefem++.pref
+
+-FORCE:
+\ No newline at end of file
++FORCE:
+--- freefem++-3.45.orig/examples++-eigen/Makefile.am
++++ freefem++-3.45/examples++-eigen/Makefile.am
+@@ -11,7 +11,7 @@ EXTRA_DIST=*.edp all.edp
+
+ all.edp:
+ (echo "NoUseOfWait=true;int verbosityy=verbosity;"; \
+- for i in *`ls *.edp|grep -v -E '^(all|regtests|makeref|ref)\.edp$$'` ; do \
++ for i in `LC_ALL=C ls *.edp|grep -v -E '^(all|regtests|makeref|ref)\.edp$$'` ; do \
+ echo ' cout << "--------- file : '$$i' --------------------------------------------------------" << endl;' ;\
+ echo "verbosity=verbosityy;" ; \
+ echo \{ include \"$$i\"\;\}\; ;\
+--- freefem++-3.45.orig/examples++-load/Makefile.am
++++ freefem++-3.45/examples++-load/Makefile.am
+@@ -163,7 +163,7 @@ all-local: all.edp regtests.edp load_com
+
+ all.edp:
+ @(echo "NoGraphicWindow=true;NoUseOfWait=true;int verbosityy=verbosity;"; \
+- for i in *`ls *.edp|grep -v -E '^(all|regtests|makeref|ref)\.edp$$'` ; do \
++ for i in `LC_ALL=C ls *.edp|grep -v -E '^(all|regtests|makeref|ref)\.edp$$'` ; do \
+ if ../src/nw/FreeFem++ -ns -jc -v 0 $$i 1>/dev/null 2>/dev/null ; then \
+ echo ' cout << "--------- file : '$$i' --------------------------------------------------------" << endl;' ;\
+ echo "verbosity=verbosityy;" ; \
+--- freefem++-3.45.orig/examples++-tutorial/Makefile.am
++++ freefem++-3.45/examples++-tutorial/Makefile.am
+@@ -12,7 +12,7 @@ EXTRA_DIST=*.edp *.idp aile.msh xyf all.
+
+ all.edp:
+ (echo "NoUseOfWait=true;int verbosityy=verbosity;"; \
+- for i in *`ls *.edp|grep -v -E '^(all|regtests|makeref|ref)\.edp$$'` ; do \
++ for i in `LC_ALL=C ls *.edp|grep -v -E '^(all|regtests|makeref|ref)\.edp$$'` ; do \
+ echo ' cout << "--------- file : '$$i' --------------------------------------------------------" << endl;' ;\
+ echo "verbosity=verbosityy;" ; \
+ echo \{ include \"$$i\"\;\}\; ;\
+@@ -44,4 +44,4 @@ Laplace_SOURCES=Laplace.cpp
+ # To check the scripts against their reference values
+ regtests.edp: regtests.m4 ../regtests.m4
+ m4 -DASSERT regtests.m4 > regtests.edp
+-FORCE:
+\ No newline at end of file
++FORCE:
+--- freefem++-3.45.orig/examples++/Makefile.am
++++ freefem++-3.45/examples++/Makefile.am
+@@ -10,7 +10,7 @@ EXTRA_DIST=*.edp all.edp regtests.edp re
+
+ all.edp:
+ (echo "NoUseOfWait=true;int verbosityy=verbosity;"; \
+- for i in *`ls *.edp|grep -v -E '^(all|regtests|makeref|ref)\.edp$$'` ; do \
++ for i in `LC_ALL=C ls *.edp|grep -v -E '^(all|regtests|makeref|ref)\.edp$$'` ; do \
+ echo ' cout << "--------- file : '$$i' --------------------------------------------------------" << endl;' ;\
+ echo "verbosity=verbosityy;" ; \
+ echo \{ include \"$$i\"\;\}\; ;\
diff -Nru freefem++-3.45/debian/patches/series freefem++-3.45/debian/patches/series
--- freefem++-3.45/debian/patches/series 2016-02-27 14:33:35.000000000 +0100
+++ freefem++-3.45/debian/patches/series 2016-04-12 18:48:47.000000000 +0200
@@ -1,3 +1,5 @@
examples++-load.patch
examples-bamg.patch
Makefile.patch
+ls-locale.patch
+build_date_from_SOURCE_DATE_EPOCH.patch
--- End Message ---
--- Begin Message ---
Package: src:freefem++
Version: 3.47+dfsg1-1
The bug is closed since the package build has now become reproducible (thanks
to Alexis Bienvenüe <p...@passoire.fr>).
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Format: 1.8
Date: Thu, 16 Jun 2016 10:49:59 +0300
Source: freefem++
Binary: freefem++ libfreefem++ libfreefem++-dev freefem++-doc
Architecture: source amd64 all
Version: 3.47+dfsg1-1
Distribution: unstable
Urgency: medium
Maintainer: Debian Science Maintainers
<debian-science-maintainers@lists.alioth.debian.org>
Changed-By: Dimitrios Eftaxiopoulos <eftax...@otenet.gr>
Description:
freefem++ - Provides the binaries of the FreeFem++ FE suite
freefem++-doc - Provides the documentation of the FreeFem++ FE suite
libfreefem++ - Provides the shared libraries of the FreeFem++ FE suite
libfreefem++-dev - Provides the development files of the FreeFem++ FE suite
Closes: 823449
Changes:
freefem++ (3.47+dfsg1-1) unstable; urgency=medium
.
* Imported Upstream version 3.47+dfsg1
* Disable package testsuite execution at build time (Closes: #823449 #824256)
Checksums-Sha1:
a4722afe535e2425a451ec37e59eb3b383338a57 2813 freefem++_3.47+dfsg1-1.dsc
6316f1ef9298a9a9eed478d403d17c08728b393e 26098361
freefem++_3.47+dfsg1.orig.tar.gz
6b2bb94ba99494a10084d35951618cbe9425c8b9 11976
freefem++_3.47+dfsg1-1.debian.tar.xz
42f83a9bd7d2f5bf60008fe2db57b2c8436dc404 31252058
freefem++-dbgsym_3.47+dfsg1-1_amd64.deb
039e299e9fdd2805f804459fc32be27702c0ad1f 10213286
freefem++-doc_3.47+dfsg1-1_all.deb
de99274218312f1ce44df3009934b235b36d823e 4710216
freefem++_3.47+dfsg1-1_amd64.deb
e257533c7819b2f4110aee4257c5d87979c04362 18575208
libfreefem++-dbgsym_3.47+dfsg1-1_amd64.deb
9951b5ebd75e042a606bf0abe1ba53618b31c0f7 242376
libfreefem++-dev_3.47+dfsg1-1_amd64.deb
9b424d4973ecc9d4c1d2aaca5e757ff6b921d5c3 1270028
libfreefem++_3.47+dfsg1-1_amd64.deb
Checksums-Sha256:
d42445ca9e26e7462d5265798ab00d5110ec1d8cd9dd05acdddd549a2d3fa06c 2813
freefem++_3.47+dfsg1-1.dsc
ddb4b4e45c7520e9d430691a1a6c65eaaed47d007ebf02a66ca9427d0361cfe1 26098361
freefem++_3.47+dfsg1.orig.tar.gz
abd2d7e48a5117d6c8bb6022dc4f494fd8ca0c2e27a2d9d449853176f7e19752 11976
freefem++_3.47+dfsg1-1.debian.tar.xz
3d0beeee86b30e7d4c0c3aca131ce8077f1c4e999cf7dd9036ba793495df94ad 31252058
freefem++-dbgsym_3.47+dfsg1-1_amd64.deb
a26567e5e8f2bdc85c6c6dd1b93d59ee97bade36e4104846f8e7b82d96ecd801 10213286
freefem++-doc_3.47+dfsg1-1_all.deb
73028598d87494949a0c753585306c769992fae2bb434b56c71536ff6471c67f 4710216
freefem++_3.47+dfsg1-1_amd64.deb
7fb5471cc11e5a8a1abb2c448f91f331918fa237c9b2d58bae50a00b730f2caf 18575208
libfreefem++-dbgsym_3.47+dfsg1-1_amd64.deb
faec96b4b1abe3b9bf5b0c8a657202a4ddb4448c11bcd1fa91544f5328b95fbb 242376
libfreefem++-dev_3.47+dfsg1-1_amd64.deb
5b8931019e3d6661ae31f297e755deedc756af5287049599f08c6a83d30af499 1270028
libfreefem++_3.47+dfsg1-1_amd64.deb
Files:
0c1b4d301a9e3b09fc108a5d7b11c836 2813 science optional
freefem++_3.47+dfsg1-1.dsc
650b6f9c71a2f798902fe2d9b213befa 26098361 science optional
freefem++_3.47+dfsg1.orig.tar.gz
1d845d4b18e9d55343f1fd539b326c20 11976 science optional
freefem++_3.47+dfsg1-1.debian.tar.xz
afa81fd5f8713ef4e73818b57db3bd02 31252058 debug extra
freefem++-dbgsym_3.47+dfsg1-1_amd64.deb
25c9b7865b29d5d58ab8ec950d597d84 10213286 doc optional
freefem++-doc_3.47+dfsg1-1_all.deb
c36a9a8ff930ab2d48c8e0a816318798 4710216 math optional
freefem++_3.47+dfsg1-1_amd64.deb
bb2638ac12cfa66e5ec5c2a47a2a8304 18575208 debug extra
libfreefem++-dbgsym_3.47+dfsg1-1_amd64.deb
978abaa22327ea62782626cf2d4f9f75 242376 libdevel optional
libfreefem++-dev_3.47+dfsg1-1_amd64.deb
6033c83a02dc108601473ec807227e01 1270028 libs optional
libfreefem++_3.47+dfsg1-1_amd64.deb
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1
iQIcBAEBAgAGBQJXYpgXAAoJEKA/UghdQkiVlIcP+wVbtXmZuXSl9if7DD8qyc8R
tSnUIdCJeIs8ibc7aUoC51T+MUd1aT5wH/EQ9Yq0sFzkiwbtV1b/i0egjv61irhG
yl0lV98WihfMTV2VeJLF2vtMrL6bYK++Twro9fIK5w5w1Djtv4QGahEzHqlPI3LH
tQsVNSniRqDi2GarId/9/XMYL/m5IaH8dNjNoilOUeBaWdTmYzM6TatlGDS+Ufoi
Bf4Q+hZC65zsxWJZZvsTU2lzv/eh02FFD15RTscqycc6xe+f5UJGxY870jfEGy/G
wYyK3H5xHGcKsSxPwTmkCc8Y/trKQBoOiui//d3wpId3K8Ec6tDpNrTuZyK6WY6V
NyejzGbXaSPJAphtgrpWkI9ACR33VlL94r/VLd2JeeC3bXBViRNcL1QnaSYZ8BXR
Sql/Ti4dYLAkk5ZijELPu91mquWvve/0WfdCSGeTIDzcvXUXQtN5nAn//VxerTSb
RSosBifEFoDsePBbpAGT2YMrjOpqt2ms+tRO+CFqS3AYg6lW7sx9YUUE7T/CCjwc
tt7SmxcLZB/Ga/91sZJhiME3380qFaL8Qn9i5r7CGtAsDl1cBJmwOnhvgdYE5/iH
62QyA3hX8uUKY+44fZZxCpxLOaTNizPwe8tZN/KP8SFPoTaRGZrNjRsc0CWYJwJA
1/e+Od+cm6adUyVf9Ooz
=rbwj
-----END PGP SIGNATURE-----
--- End Message ---
--
debian-science-maintainers mailing list
debian-science-maintainers@lists.alioth.debian.org
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/debian-science-maintainers