sequence of messages in xgettext/msgmerge

Message ID 4DD7B19F.6020102@tvdr.de
State New
Headers

Commit Message

Klaus Schmidinger May 21, 2011, 12:35 p.m. UTC
  On 05/21/11 13:45, Klaus Schmidinger wrote:
> On 05/15/11 19:36, Dominic Evans wrote:
>> On 15 May 2011 13:58, Klaus Schmidinger<Klaus.Schmidinger@tvdr.de> wrote:
>>> I'm just trying to build VDR on openSUSE 11.4, which comes with
>>> xgettext/msgmerge version 0.18.1. For some odd reason, when doing
>>>
>>> make i18n
>>>
>>> the sequence of the messages in the *.po files is completely different
>>> than before, which would cause a huge and unnecessary diff in the next
>>> developer version of VDR.
>>>
>>> Does anybody know if the gettext-tools have been broken at some point?
>>> Is there a way to get the previous sequence of messages back?
>>
>> FYI Ubuntu natty similar has 0.18.1 but doesn't change the order of
>> messages in the .po files when doing make i18n (at least not on the
>> 1.7.18 snapshot).
>
> Strange...
>
> I can't seem to make this beast generate the same *.po files
> as before the switch to openSUSE 11.4 :-(
>
> I guess I need to add the '-s' option to the xgettext call to
> make sure the sequence of texts doesn't depend on the sequence
> of the input files.
> Maybe should have done this from the very beginning...

Well, that was not such a good idea, because it sorts all texts
and doesn't keep them together locally as before.


Turned out using


(i.e. sorting the source file names with 'ls') did the trick.

Klaus
  

Patch

--- Makefile    2011/04/17 13:35:53     2.17
+++ Makefile    2011/05/21 12:21:40
@@ -115,7 +115,7 @@ 
         msgfmt -c -o $@ $<

  $(I18Npot): $(wildcard *.c)
-       xgettext -C -cTRANSLATORS --no-wrap --no-location -k -ktr -ktrNOOP --package-name=VDR --package-version=$(VDRVERSION) --msgid-bugs-address='<vdr-bugs@tvdr.de>' -o $@ $^
+       xgettext -C -cTRANSLATORS --no-wrap --no-location -k -ktr -ktrNOOP --package-name=VDR --package-version=$(VDRVERSION) --msgid-bugs-address='<vdr-bugs@tvdr.de>' -o $@ `ls $^`

  %.po: $(I18Npot)
         msgmerge -U --no-wrap --no-location --backup=none -q $@ $<