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-libi...@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@ADDRESS>\n" "Language-Team: LANGUAGE <l...@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/