[Reproducible-builds] Bug#792687: gettext: please support timestamps from environment

Bruno Haible bruno at clisp.org
Sat Jul 15 17:40:45 UTC 2017


Hello,

Daniel Shahaf wrote:
> Putting the fix into msgfmt is an option when the .mo file needs to be
> reproducible

Yes, .mo files are binary files, installed on the end users' systems. Therefore
we've made .mo files reproducible [1].

> but I'm facing an issue where I'd like the .pot file
> generated by xgettext to be reproducible as well.
> 
> I'm looking at a build process that generates a tar.gz from an svn tag.
> The build process generates a .pot file from the tag and adds it to the
> tar.gz.  The .pot file embeds the current time, which makes the tar.gz
> unreproducible.  ...
> One way to make the tar.gz reproducible would be ...

There is no point in making a source tarball (.tar.gz) reproducible.
Read the first two paragraphs of [2].
  1) A .pot file does not get installed on the end users' systems.
  2) A .pot file is plain text, and the diffs between one version and another
     version are of reasonable size.

For example, the recursive diff between libidn2-0.15 and libidn2-0.16 contains
this hunk:

diff -r -u libidn2-0.15/po/libidn2.pot libidn2-0.16/po/libidn2.pot
--- libidn2-0.15/po/libidn2.pot	2017-01-14 16:09:47.000000000 +0100
+++ libidn2-0.16/po/libidn2.pot	2017-01-16 09:13:10.000000000 +0100
@@ -6,9 +6,9 @@
 #, fuzzy
 msgid ""
 msgstr ""
-"Project-Id-Version: libidn2 0.15\n"
+"Project-Id-Version: libidn2 0.16\n"
 "Report-Msgid-Bugs-To: bug-libidn2 at gnu.org\n"
-"POT-Creation-Date: 2017-01-14 16:09+0100\n"
+"POT-Creation-Date: 2017-01-16 09:13+0100\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
 "Language-Team: LANGUAGE <LL at li.org>\n"

But SO WHAT? It does not get installed on the end user's system. it's plain
text, and it's a small diff.

Bruno

[1] http://git.savannah.gnu.org/gitweb/?p=gettext.git;a=commit;h=d13f165b83701dffc14f7151419e0c00c00c0d1b
[2] https://reproducible-builds.org/




More information about the Reproducible-builds mailing list