Your message dated Fri, 15 May 2020 19:51:00 +0000
with message-id <[email protected]>
and subject line Bug#960667: fixed in tree-puzzle 5.3~rc16+dfsg-2
has caused the Debian Bug report #960667,
regarding tree-puzzle: please make the build reproducible
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 [email protected]
immediately.)


-- 
960667: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=960667
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Source: tree-puzzle
Version: 5.3~rc16+dfsg-1
Severity: wishlist
Tags: patch
User: [email protected]
Usertags: timestamps
X-Debbugs-Cc: [email protected]

Hi,

Whilst working on the Reproducible Builds effort [0] we noticed that
tree-puzzle could not be built reproducibly.

Patch attached that omits a number of timestamps and timing
information during the build, whilst retaining them at runtime.

 [0] https://reproducible-builds.org/


Regards,

-- 
      ,''`.
     : :'  :     Chris Lamb
     `. `'`      [email protected] / chris-lamb.co.uk
       `-
--- a/debian/patches/reproducible-build.patch   1970-01-01 01:00:00.000000000 
+0100
--- b/debian/patches/reproducible-build.patch   2020-05-15 10:04:43.856783106 
+0100
@@ -0,0 +1,88 @@
+Description: Make the build reproducible
+Author: Chris Lamb <[email protected]>
+Last-Update: 2020-05-15
+
+--- tree-puzzle-5.3~rc16+dfsg.orig/src/puzzle1.c
++++ tree-puzzle-5.3~rc16+dfsg/src/puzzle1.c
+@@ -3204,7 +3204,9 @@ void initeps(FILE *ofp)
+               fprintf(ofp, "%%%%Creator: %s (version %s%s)\n", PACKAGE, 
VERSION, ALPHA);
+ #     endif
+       fprintf(ofp, "%%%%Title: Likelihood Mapping Analysis\n");
+-      fprintf(ofp, "%%%%CreationDate: %s", asctime(localtime(&Starttime)) );
++      if (getenv("SOURCE_DATE_EPOCH") == NULL) {
++              fprintf(ofp, "%%%%CreationDate: %s", 
asctime(localtime(&Starttime)) );
++      }
+       fprintf(ofp, "%%%%DocumentFonts: Helvetica\n");
+       fprintf(ofp, "%%%%DocumentNeededFonts: Helvetica\n");
+       fprintf(ofp, "%%%%EndComments\n");
+@@ -3826,6 +3828,10 @@ void timestamp(FILE* ofp)
+       timespan = difftime(Stoptime, Starttime);
+       cpuspan  = ((double) (Stopcpu - Startcpu) / CLOCKS_PER_SEC);
+       fprintf(ofp, "\n\nTIME STAMP\n\n");
++      if (getenv("SOURCE_DATE_EPOCH") != NULL) {
++              fprintf(ofp, "Date and time: (reproducible build)");
++              return;
++      }
+       fprintf(ofp, "Date and time: %s", asctime(localtime(&Starttime)) );
+       fprintf(ofp, "Runtime (excl. input) : %.0f seconds (= %.1f minutes = 
%.1f hours)\n",
+               timespan, timespan/60., timespan/3600.);
+@@ -8924,33 +8930,35 @@ fprintf(stderr, "PPP1: %d (%s:%d)\n", PP
+               fprintftimespan(stdout, PStepStoptime, Stoptime, Starttime, 
"Pstep -> end");
+ #     endif /* DEBUG_PRINTTIMES */
+ 
+-      /* runtime message */
+-      fprintf(STDOUT,
+-              "The parameter estimation took %.2f seconds (= %.2f minutes = 
%.2f hours)\n",
+-                      difftime(PEstStoptime, PEstStarttime), 
difftime(PEstStoptime, PEstStarttime)/60.,
+-                      difftime(PEstStoptime, PEstStarttime)/3600.);
+-      if (puzzlemode == QUARTPUZ && typ_optn == TREERECON_OPTN) {
++      if (getenv("SOURCE_DATE_EPOCH") == NULL) {
++              /* runtime message */
+               fprintf(STDOUT,
+-                      "The ML step took              %.2f seconds (= %.2f 
minutes = %.2f hours)\n",
+-                              difftime(MLstepStoptime, MLstepStarttime), 
difftime(MLstepStoptime, MLstepStarttime)/60.,
+-                              difftime(MLstepStoptime, 
MLstepStarttime)/3600.);
+-              fprintf(STDOUT,
+-                      "The puzzling step took        %.2f seconds (= %.2f 
minutes = %.2f hours)\n",
+-                              difftime(PStepStoptime, PStepStarttime), 
difftime(PStepStoptime, PStepStarttime)/60.,
+-                              difftime(PStepStoptime, PStepStarttime)/3600.);
+-      }
+-      fprintf(STDOUT, 
+-              "The computation took %.2f seconds (= %.2f minutes = %.2f 
hours)\n",
+-                      difftime(Stoptime, Starttime), difftime(Stoptime, 
Starttime)/60.,
+-                      difftime(Stoptime, Starttime)/3600.);
+-      fprintf(STDOUT, 
+-              "     including input %.2f seconds (= %.2f minutes = %.2f 
hours)\n",
+-                      fulltime, fulltime/60., fulltime/3600.);
++                      "The parameter estimation took %.2f seconds (= %.2f 
minutes = %.2f hours)\n",
++                              difftime(PEstStoptime, PEstStarttime), 
difftime(PEstStoptime, PEstStarttime)/60.,
++                              difftime(PEstStoptime, PEstStarttime)/3600.);
++              if (puzzlemode == QUARTPUZ && typ_optn == TREERECON_OPTN) {
++                      fprintf(STDOUT,
++                              "The ML step took              %.2f seconds (= 
%.2f minutes = %.2f hours)\n",
++                                      difftime(MLstepStoptime, 
MLstepStarttime), difftime(MLstepStoptime, MLstepStarttime)/60.,
++                                      difftime(MLstepStoptime, 
MLstepStarttime)/3600.);
++                      fprintf(STDOUT,
++                              "The puzzling step took        %.2f seconds (= 
%.2f minutes = %.2f hours)\n",
++                                      difftime(PStepStoptime, 
PStepStarttime), difftime(PStepStoptime, PStepStarttime)/60.,
++                                      difftime(PStepStoptime, 
PStepStarttime)/3600.);
++              }
++              fprintf(STDOUT, 
++                      "The computation took %.2f seconds (= %.2f minutes = 
%.2f hours)\n",
++                              difftime(Stoptime, Starttime), 
difftime(Stoptime, Starttime)/60.,
++                              difftime(Stoptime, Starttime)/3600.);
++              fprintf(STDOUT, 
++                      "     including input %.2f seconds (= %.2f minutes = 
%.2f hours)\n",
++                              fulltime, fulltime/60., fulltime/3600.);
+ #ifdef TIMEDEBUG
+-      fprintf(STDOUT, 
+-              "and %.0f seconds CPU time (= %.2f minutes = %.2f hours)\n\n",
+-                      fullcpu, fullcpu/60., fullcpu/3600.);
++              fprintf(STDOUT, 
++                      "and %.0f seconds CPU time (= %.2f minutes = %.2f 
hours)\n\n",
++                              fullcpu, fullcpu/60., fullcpu/3600.);
+ #endif /* TIMEDEBUG */
++      }
+ 
+       /* free memory */
+       memcleanup();
--- a/debian/patches/series     2020-05-15 09:38:09.193050479 +0100
--- b/debian/patches/series     2020-05-15 09:44:49.247986506 +0100
@@ -3,3 +3,4 @@
 spelling.patch
 fix-mpi3-build.patch
 update_test_results.patch
+reproducible-build.patch

--- End Message ---
--- Begin Message ---
Source: tree-puzzle
Source-Version: 5.3~rc16+dfsg-2
Done: Andreas Tille <[email protected]>

We believe that the bug you reported is fixed in the latest version of
tree-puzzle, 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 [email protected],
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Andreas Tille <[email protected]> (supplier of updated tree-puzzle 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 [email protected])


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

Format: 1.8
Date: Fri, 15 May 2020 13:12:41 +0200
Source: tree-puzzle
Architecture: source
Version: 5.3~rc16+dfsg-2
Distribution: unstable
Urgency: medium
Maintainer: Debian Med Packaging Team 
<[email protected]>
Changed-By: Andreas Tille <[email protected]>
Closes: 960667
Changes:
 tree-puzzle (5.3~rc16+dfsg-2) unstable; urgency=medium
 .
   [ Chris Lamb ]
   * Make the build reproducible
     Closes: #960667
Checksums-Sha1:
 ba31a6ce843665aca0643e1d6daab722018f84ae 2231 tree-puzzle_5.3~rc16+dfsg-2.dsc
 31247e742a605ee418c72797bb28b5dad0cc1de4 25392 
tree-puzzle_5.3~rc16+dfsg-2.debian.tar.xz
 04819d1efde095d32daeb2aaf807ef907edd336a 8461 
tree-puzzle_5.3~rc16+dfsg-2_amd64.buildinfo
Checksums-Sha256:
 d96eb3e029469d44740afe3cbf4436a00224b94498ed8c2d5047ac9015d148dd 2231 
tree-puzzle_5.3~rc16+dfsg-2.dsc
 6a8aaf7b160e9205b4de17bb68e8280bf74f1925ac49897a7a8cdb353631c71e 25392 
tree-puzzle_5.3~rc16+dfsg-2.debian.tar.xz
 d3fb2699a52c695aa3cdee7622aacc4520ff10ff1eefa8a72d16bc493448a293 8461 
tree-puzzle_5.3~rc16+dfsg-2_amd64.buildinfo
Files:
 3a3b48ff4c61861d1c69e469e2fb4fb4 2231 science optional 
tree-puzzle_5.3~rc16+dfsg-2.dsc
 fcaf2f8bbb2077cc369f2ba26bd8d456 25392 science optional 
tree-puzzle_5.3~rc16+dfsg-2.debian.tar.xz
 5982131be9d230d645b2953dec051692 8461 science optional 
tree-puzzle_5.3~rc16+dfsg-2_amd64.buildinfo

-----BEGIN PGP SIGNATURE-----

iQJFBAEBCgAvFiEE8fAHMgoDVUHwpmPKV4oElNHGRtEFAl6+7l8RHHRpbGxlQGRl
Ymlhbi5vcmcACgkQV4oElNHGRtHnLQ//UQ6JHlSaW10+8GyeIyex8NGV99AtfZA+
0yxqZNmRLTG6oSwcw5xG0sb5icxnfQlC2/2dTB/z/P473wvdOOz4KpXZZCnwRbn0
MGX8Hl134oCDWe5xjeTFFR9A+yWeCPaUK5yfCc88qB6rr/BBUNoybhyDWqmrR6ee
HCutHCVivFo9aQnyB32PFgZQKkO6Eu2QHUtR+PuJaeFYDL9ihi4Bch0L7mABKVzS
PBuzUeqc4zIj4Cy6ej3+XtAoo/3qoJIZ0oT0SV6o0pioEHL8VHWXr1b+aj0qCUcH
/yRdUaxeEZnB0DatdyJSe2NTwN5V2dcWoopDHN1ppNIFL/e5rRLCOh7ffsfhWAfJ
GeDn9ZcUMu35w1yNwgOAZh7sxF+fif5BFX9R8qH5j+OHPjtCPcGekvJ0e2RnwqSV
Lz+JJ9AV2BkPTDTtQvjSyJGKEQ4KvwRvvjOmPQrJ6DQaTB25lyMImLtyePZYpRO5
fCOdYPffApv0534iVwL3bvY+ym+1j8iMcVQg7y60M47+8vOHqL8ydimhLnG1LeUB
929HLTYaHIdanDCEb2+riasJQBUWTpbeqWCf22GQ9tPS0wadNcMRn3nkyvyYNLcY
SEtlkRCQowEUhGB2xEMz4mpNQ7GOdjFHhtkyfitG0vaXe5Dk229W9dsOdQBTNwyU
cDrXMHHpFQA=
=lCzV
-----END PGP SIGNATURE-----

--- End Message ---

Reply via email to