Re: gettext.m4 update

Pedro Alves <[email protected]>
Newsgroups gmane.comp.gdb.devel
Message-ID <[email protected]>
On 09/13/2017 12:42 PM, Kamil Rytarowski wrote:
> On 11.09.2017 15:36, Kamil Rytarowski wrote:
>> Hello,
>>
>> The current gettext.m4 bundled into GDB is too old for the NetBSD case.
>>
>> We mark GDB as BROKEN_GETTEXT_DETECTION and comment that it fails to add
>> -lintl to the linker command line.
>>
>> Could we please update it to a newer version?
>>
>> gettext.m4 is located in https://ftp.gnu.org/pub/gnu/gettext/
>>
> 
> I know what breaks the NetBSD buildbot [1].
> 
> The following rule (intl/Makefile.in) [2] breaks:
> 
> .c.o:
> 	$(COMPILE) $<
> 
> .y.c:
> 	$(YACC) $(YFLAGS) --output $@ $<
> 	rm -f $*.h
> 
> This means that if plural.y is newer than plural.c it will be regenerated.
> 
> There is required Bison < 3.0 (the last one used for regeneration was
> 1.35), which is already too old to keep it around.
> 
> Git does not track mtime in files, and this enforces regeneration of
> plural.c, at least in random checkouts. The NetBSD buildbot was
> unfortunate to get plural.y newer:
> 
> $ stat -f %Fm ./binutils-gdb-master/intl/plural.c
> 1477324070.931854837
> $ stat -f %Fm ./binutils-gdb-master/intl/plural.y
> 1477324070.931949821
> 
> 
> The cleanest and newfangled solution would be to upgrade to newer
> gettext and enforce regeneration always.
> 
> A kludge would be to insert touch(1) call before execution of intl/Makefile.
> 
> I don't know about any good solutions in the middle.

This date issue is likely to be an issue with any generated
file checked in, all over the tree.  Usually you won't notice
if you have the right tools that regen succeeds.

Maybe the bot should be doing a recursive touch(1) of all files
after checkout, forcing the same mtime on all checked-out files,
with 'touch -d ..' or 'touch -p ..' or
'touch -r .git/FETCH_HEAD' or something like that.

Thanks,
Pedro Alves
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.