From: ludo@gnu.org (Ludovic Courtès)
To: Marius Bakke <mbakke@fastmail.com>
Cc: 27593@debbugs.gnu.org
Subject: bug#27593: [PATCH v2] gnu: groff: Remove timestamps.
Date: Sun, 09 Jul 2017 21:51:08 +0200 [thread overview]
Message-ID: <87eftpv177.fsf@gnu.org> (raw)
In-Reply-To: <87wp7hahpm.fsf@fastmail.com> (Marius Bakke's message of "Sun, 09 Jul 2017 15:00:05 +0200")
Marius Bakke <mbakke@fastmail.com> skribis:
> Danny Milosavljevic <dannym@scratchpost.org> writes:
>
>> Fixes <https://bugs.gnu.org/27593>.
>>
>> * gnu/packages/groff.scm (groff)[source]: Remove timestamps.
>> ---
>> gnu/packages/groff.scm | 18 +++++++++++++++++-
>> 1 file changed, 17 insertions(+), 1 deletion(-)
>>
>> diff --git a/gnu/packages/groff.scm b/gnu/packages/groff.scm
>> index 46e1ccf23..1a74194a6 100644
>> --- a/gnu/packages/groff.scm
>> +++ b/gnu/packages/groff.scm
>> @@ -40,7 +40,23 @@
>> (uri (string-append "mirror://gnu/groff/groff-" version
>> ".tar.gz"))
>> (sha256 (base32
>> - "1998v2kcs288d3y7kfxpvl369nqi06zbbvjzafyvyl3pr7bajj1s"))))
>> + "1998v2kcs288d3y7kfxpvl369nqi06zbbvjzafyvyl3pr7bajj1s"))
>> + (modules '((guix build utils)))
>> + (snippet
>> + '(begin
>> + (substitute* "mdate.sh"
>> + (("^LANGUAGE=") "
>> +
>> +echo \"1 Jan 1970\"
>> +exit 0
>> +
>> +"))
>
> It would be more obvious what's going on if we substitute the "mdate.sh"
> invocation from the Makefile instead. OTOH, this is more
> future-proof. No strong opinion, but feels a bit "hacky".
>
> Note that you can use \n here.
>
>> + (substitute* '("src/devices/grops/ps.cpp"
>> + "src/devices/grohtml/post-html.cpp"
>> + "src/roff/troff/input.cpp")
>> + (("time\\(0\\)") "0"))
>> + (substitute* "src/devices/gropdf/gropdf.pl"
>> + (("\\(time\\)") "(0)"))))))
>
> Are all of these really a cause of indeterminism in the build process?
> It looks like this could make "legitimate" uses of groff return epoch 0
> at runtime, I'm not sure if that is okay.
>
> Which output files are fixed by these substitutions? Are there other
> ways to deal with the indeterminism, e.g. substitute them in place?
Sometimes it’s better to make such changes available as a .patch file so
that we can more clearly see from the context that we’re patching the
right thing. Perhaps that’s one such case here.
BTW, looking at issues.yml in
git://git.debian.org/git/reproducible/notes.git leads me to:
https://wiki.debian.org/ReproducibleBuilds/TimestampsInDocumentationGeneratedByGroff
Debian has a SOURCE_DATE_EPOCH patch:
http://sources.debian.net/patches/groff/1.22.3-9/source-date-epoch.patch/
Perhaps we could just use that? That way, the default behavior of groff
would remained unchanged.
Apparently upstream wasn’t convinced by the idea of SOURCE_DATE_EPOCH,
so we could also restart the discussion with upstream in parallel.
However, it would be nice to commit this groff change quickly so we can
go on with core-updates builds. :-)
Thoughts?
Ludo’.
next prev parent reply other threads:[~2017-07-09 19:52 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-07-06 0:54 bug#27593: groff build is not reproducible Danny Milosavljevic
2017-07-06 1:01 ` bug#27593: [PATCH] gnu: groff: Remove timestamps Danny Milosavljevic
2017-07-06 1:47 ` bug#27593: [PATCH v2] " Danny Milosavljevic
2017-07-09 13:00 ` Marius Bakke
2017-07-09 19:51 ` Ludovic Courtès [this message]
2017-07-09 21:27 ` bug#27593: [PATCH v3] " Danny Milosavljevic
2017-07-09 21:55 ` Marius Bakke
2017-07-10 9:05 ` Ludovic Courtès
2017-07-10 10:40 ` Danny Milosavljevic
2017-07-10 16:37 ` bug#27593: [PATCH] gnu: groff: Make build reproducible Danny Milosavljevic
2017-07-10 19:07 ` Marius Bakke
2017-07-10 19:28 ` Danny Milosavljevic
2017-07-11 9:31 ` Ludovic Courtès
2017-09-09 20:31 ` Ludovic Courtès
2017-09-09 21:17 ` Danny Milosavljevic
2017-09-10 13:13 ` Ludovic Courtès
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://guix.gnu.org/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87eftpv177.fsf@gnu.org \
--to=ludo@gnu.org \
--cc=27593@debbugs.gnu.org \
--cc=mbakke@fastmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/guix.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).