Hello again.

I believe you might have heard about the "reproducible builds" effort:

https://reproducible-builds.org/

There is a thing which we have not tested yet but I hope that will be
tested some day: Architecture-independent packages created from a
given source package should ideally not depend on the host
architecture the package is being built.

(This would include packages containing just .mo files).


Before this, Debian had a reason to modify msgfmt so that it always
outputs little endian .mo files. It was called "multiarch": Packages
from different architectures which are to be installed simultaneously
on the same system should have their overlapping files byte-by-byte
identical.


But now we have two reasons for this: multiarch and reproducible builds.


So I think this is the right time to ask:

Would you please reconsider about msgfmt default behaviour?

This is the patch that the Debian gettext package has for this issue
since version 0.18.1.1-8 (dated May 2012).

Is there a possibility that we don't need this patch anymore some day?

If adopting the patch "as is" is not possible, a new ./configure option
for this would be a lot better than nothing, see the previous email
where I explain the undesired msgfmt.1 regeneration that happens
during the build.

Thanks.
From: Santiago Vila <sanv...@debian.org>
Subject: Modified msgfmt to always create little endian .mo files
Bug-Debian: http://bugs.debian.org/671257
X-Debian-version: 0.18.1.1-8

--- a/gettext-tools/src/msgfmt.c
+++ b/gettext-tools/src/msgfmt.c
@@ -252,6 +252,9 @@
   /* Set default value for global variables.  */
   alignment = DEFAULT_OUTPUT_ALIGNMENT;
 
+  /* Changed by Debian: Default is little-endian, not native */
+  byteswap = ENDIANNESS;
+
   /* Set program name for messages.  */
   set_program_name (argv[0]);
   error_print_progname = maybe_print_progname;

Reply via email to