POT-Creation-Date line not making it into the output of gettext ("")?

Message ID CAKCAbMjv1OttyKJx6UUC35mL6zFcYy-q5GkA1aEs5FuB=8bKVQ@mail.gmail.com
State Superseded
Headers

Commit Message

Zack Weinberg Feb. 7, 2018, 3:03 p.m. UTC
  Lately, whenever I run the test suite locally, intl/tst-gettext fails
due to the output of gettext ("") not being as expected: the
POT-Creation-Date line is missing.  This doesn't happen with the same
patch tested using build-may-glibcs, so I'm pretty sure it's an
environment problem of some sort.  Does anyone have any idea what
might be the issue?

Example of the problem (I created tst-gettext.got and tst-gettext.exp
by hand from tst-gettext.out):

$ diff -u8 intl/tst-gettext.{got,exp}

zw
  

Comments

Andreas Schwab Feb. 7, 2018, 3:10 p.m. UTC | #1
This is bug 21508.

Andreas.
  
Zack Weinberg Feb. 7, 2018, 3:13 p.m. UTC | #2
On Wed, Feb 7, 2018 at 10:10 AM, Andreas Schwab <schwab@suse.de> wrote:
> This is bug 21508.

Hmm, the patch linked from bugzilla might not be appropriate as-is, if
we want to support both old and new msgfmt.

zw
  
Aurelien Jarno Feb. 7, 2018, 3:44 p.m. UTC | #3
On 2018-02-07 10:13, Zack Weinberg wrote:
> On Wed, Feb 7, 2018 at 10:10 AM, Andreas Schwab <schwab@suse.de> wrote:
> > This is bug 21508.
> 
> Hmm, the patch linked from bugzilla might not be appropriate as-is, if
> we want to support both old and new msgfmt.

Why? It creates a new input po file without POT-Creation-Date. The
output pot file will therefore also not have this header, with both old
and new msgfmt.

Aurelien
  
Zack Weinberg Feb. 7, 2018, 5:16 p.m. UTC | #4
On Wed, Feb 7, 2018 at 10:44 AM, Aurelien Jarno <aurelien@aurel32.net> wrote:
> On 2018-02-07 10:13, Zack Weinberg wrote:
>> On Wed, Feb 7, 2018 at 10:10 AM, Andreas Schwab <schwab@suse.de> wrote:
>> > This is bug 21508.
>>
>> Hmm, the patch linked from bugzilla might not be appropriate as-is, if
>> we want to support both old and new msgfmt.
>
> Why? It creates a new input po file without POT-Creation-Date. The
> output pot file will therefore also not have this header, with both old
> and new msgfmt.

I'm sorry, I misunderstood what your patch does.  I have reread it
carefully and I have only one problem with it: the dependency from
catgets/ $(objpfx)de.msg to $(common-objpfx)intl/tst-gettext-de.po
creates an unenforced requirement for "make check" to process the intl
subdirectory before the catgets subdirectory.  We already have too
many of these unenforced subdirectory ordering requirements, and it
doesn't look like catgets->intl is an existing one.  Would you please
instead add the logic to strip POT-Creation-Date to xopen-msg.awk,
which appears only to be used to create the test de.msg file?

OK with that change.

zw
  
Aurelien Jarno Feb. 7, 2018, 9:33 p.m. UTC | #5
On 2018-02-07 12:16, Zack Weinberg wrote:
> On Wed, Feb 7, 2018 at 10:44 AM, Aurelien Jarno <aurelien@aurel32.net> wrote:
> > On 2018-02-07 10:13, Zack Weinberg wrote:
> >> On Wed, Feb 7, 2018 at 10:10 AM, Andreas Schwab <schwab@suse.de> wrote:
> >> > This is bug 21508.
> >>
> >> Hmm, the patch linked from bugzilla might not be appropriate as-is, if
> >> we want to support both old and new msgfmt.
> >
> > Why? It creates a new input po file without POT-Creation-Date. The
> > output pot file will therefore also not have this header, with both old
> > and new msgfmt.
> 
> I'm sorry, I misunderstood what your patch does.  I have reread it
> carefully and I have only one problem with it: the dependency from
> catgets/ $(objpfx)de.msg to $(common-objpfx)intl/tst-gettext-de.po
> creates an unenforced requirement for "make check" to process the intl
> subdirectory before the catgets subdirectory.  We already have too
> many of these unenforced subdirectory ordering requirements, and it
> doesn't look like catgets->intl is an existing one.  Would you please

As far as I understand, we already have this ordering requirement as
catgets/tst-catgets.c includes <intl/msgs.h>, which is generated from
the po file. That's actually the reason why catgets has to be modified
in addition to intl.

> instead add the logic to strip POT-Creation-Date to xopen-msg.awk,
> which appears only to be used to create the test de.msg file?

I can try this way. It only means that the mangling done on intl as
to be kept in sync with catgets.

Aurelien
  

Patch

--- intl/tst-gettext.got    2018-02-07 09:56:47.394818710 -0500
+++ intl/tst-gettext.exp    2018-02-07 09:56:48.398808299 -0500
@@ -1,11 +1,12 @@ 
 # test `gettext' with LANGUAGE set
 # gettext ("") failed
 Project-Id-Version: GNU libc 2.26.9000
+POT-Creation-Date: 2018-01-10 15:00+0000
 PO-Revision-Date: 2018-01-10 21:17+0100
 Last-Translator: Jochen Hein <jochen@jochen.org>
 Language-Team: German <translation-team-de@lists.sourceforge.net>
 Language: de
 MIME-Version: 1.0
 Content-Type: text/plain; charset=UTF-8
 Content-Transfer-Encoding: 8bit
 X-Bugs: Report translation errors to the Language-Team address.