GNU bug report logs - #28016
[PATCH] Reproducible issue for libjpeg-turbo

Previous Next

Package: guix-patches;

Reported by: "Z. Ren" <zren <at> dlut.edu.cn>

Date: Tue, 8 Aug 2017 15:30:04 UTC

Severity: normal

Tags: patch

Done: ludo <at> gnu.org (Ludovic Courtès)

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: help-debbugs <at> gnu.org (GNU bug Tracking System)
To: ludo <at> gnu.org (Ludovic Courtès)
Cc: tracker <at> debbugs.gnu.org
Subject: bug#28016: closed ([PATCH] Reproducible issue for libjpeg-turbo)
Date: Tue, 22 Aug 2017 12:54:02 +0000
[Message part 1 (text/plain, inline)]
Your message dated Tue, 22 Aug 2017 14:53:28 +0200
with message-id <874lsz7ohj.fsf <at> gnu.org>
and subject line Re: [bug#28016] [PATCH] Reproducible issue for libjpeg-turbo
has caused the debbugs.gnu.org bug report #28016,
regarding [PATCH] Reproducible issue for libjpeg-turbo
to be marked as done.

(If you believe you have received this mail in error, please contact
help-debbugs <at> gnu.org.)


-- 
28016: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=28016
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
From: "Z. Ren" <zren <at> dlut.edu.cn>
To: guix-patches <at> gnu.org
Subject: [PATCH] Reproducible issue for libjpeg-turbo
Date: Tue, 8 Aug 2017 15:32:45 +0800 (GMT+08:00)
[Message part 3 (text/plain, inline)]
Hi!
While conducting a study inspired by the "reproducible builds" practice [1], we have noticed that the package libjpeg-turbo could not be built reproducibly.

After investigation, we observe that the unreproducibility is caused by the "configure" script, in which the output of `date` is captured. 

The attached patch substitutes the `date` according to the SOUR_DATE_EPOCH.  Once applied, libjpeg-turbo could be built deterministically.

 [1]: https://wiki.debian.org/ReproducibleBuilds
[0001-reproducible-fix-for-libjpeg-turbo.patch (application/octet-stream, attachment)]
[Message part 5 (message/rfc822, inline)]
From: ludo <at> gnu.org (Ludovic Courtès)
To: "Z. Ren" <zren <at> dlut.edu.cn>
Cc: 28016-done <at> debbugs.gnu.org
Subject: Re: [bug#28016] [PATCH] Reproducible issue for libjpeg-turbo
Date: Tue, 22 Aug 2017 14:53:28 +0200
Hi,

"Z. Ren" <zren <at> dlut.edu.cn> skribis:

> There was a typo (redundant brackets around SOURCE_DATE_EPOCH) in the previous submitted patch, sorry that I'm not very familiar with the Guix system. I attach the modified patch. Following the suggestion of Leo (https://lists.gnu.org/archive/html/help-guix/2017-08/msg00053.html Thanks for the suggestion), I investigate the source code of libjpeg-turbo. It appears that the upstream package supports the argument --with-build-date. Maybe this is more suitable for fixing the unreproducible problem?
>
> Based on this idea, I tried setting configure-flags with SOURCE_DATE_EPOCH. Unfortunately, the flag is not assigned properly with the following snippet:
>
>          #:configure-flags
>          (list (string-append "--with-build-date="
>           (date->string
>            (time-utc->date
>             (make-time time-utc 0
>              (string->number (getenv "SOURCE_DATE_EPOCH")))) "'~Y~m~d'")))
>
> Is it because the environmental variable SOURCE_DATE_EPOCH is not yet
> set at the time of #:configure-flags?

Yes, that’s correct.

I’ve pushed a simple version that does:

  #:configure-flags (list "--with-build-date=1970-01-01")

It’s good enough because we set SOURCE_DATE_EPOCH to 0 anyway.

Thank you for working on reproducibility issues!

Ludo’.


This bug report was last modified 7 years and 333 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.