bug-gnulib
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: gettext: Sync with gettext 0.23


From: Bruno Haible
Subject: Re: gettext: Sync with gettext 0.23
Date: Fri, 06 Dec 2024 09:19:43 +0100

On 2024-12-02 I wrote:
> This patch syncs the 'gettext' module with gettext 0.23.

But I forgot to update gnulib-tool accordingly. Done like this:


2024-12-06  Bruno Haible  <bruno@clisp.org>

        Update build-aux/po/Makefile.in.in.
        Reported by Assaf Gordon in
        <https://lists.gnu.org/archive/html/bug-gnulib/2019-08/msg00045.html>
        and by Reuben Thomas <rrt@sc3d.org> in
        <https://lists.gnu.org/archive/html/bug-gnulib/2023-02/msg00020.html>.
        * build-aux/po/Makefile.in.in: Sync from GNU gettext 0.23.
        Fixes:
        - Don't fail when 'make' is used with option -j.
        - Pass the option --quiet to 'msgmerge'.
        - Simplify by assuming that 'sed' groks comments.
        * build-aux/po/remove-potcdate.sed: Renamed from
        build-aux/po/remove-potcdate.sin.
        * doc/gnulib.texi (Developer tools): Update file list.
        * gnulib-tool.sh (func_import): Copy remove-potcdate.sed instead of
        remove-potcdate.sin.
        * pygnulib/GLImport.py (GLImport.execute): Likewise.

diff --git a/build-aux/po/Makefile.in.in b/build-aux/po/Makefile.in.in
index 4b966931e9..acff1e1bee 100644
--- a/build-aux/po/Makefile.in.in
+++ b/build-aux/po/Makefile.in.in
@@ -1,14 +1,14 @@
 # Makefile for PO directory in any package using GNU gettext.
 # Copyright (C) 1995-2000 Ulrich Drepper <drepper@gnu.ai.mit.edu>
-# Copyright (C) 2000-2020, 2024 Free Software Foundation, Inc.
+# Copyright (C) 2000-2024 Free Software Foundation, Inc.
 #
 # Copying and distribution of this file, with or without modification,
 # are permitted in any medium without royalty provided the copyright
 # notice and this notice are preserved.  This file is offered as-is,
 # without any warranty.
 #
-# Origin: gettext-0.21
-GETTEXT_MACRO_VERSION = 0.20
+# Origin: gettext-0.23
+GETTEXT_MACRO_VERSION = 0.22
 
 PACKAGE = @PACKAGE@
 VERSION = @VERSION@
@@ -68,7 +68,7 @@ POFILES = @POFILES@
 GMOFILES = @GMOFILES@
 UPDATEPOFILES = @UPDATEPOFILES@
 DUMMYPOFILES = @DUMMYPOFILES@
-DISTFILES.common = Makefile.in.in remove-potcdate.sin \
+DISTFILES.common = Makefile.in.in remove-potcdate.sed \
 $(DISTFILES.common.extra1) $(DISTFILES.common.extra2) 
$(DISTFILES.common.extra3)
 DISTFILES = $(DISTFILES.common) Makevars POTFILES.in \
 $(POFILES) $(GMOFILES) \
@@ -94,7 +94,7 @@ all: all-@USE_NLS@
 
 
 .SUFFIXES:
-.SUFFIXES: .po .gmo .sed .sin .nop .po-create .po-update
+.SUFFIXES: .po .gmo .sed .nop .po-create .po-update
 
 # The .pot file, stamp-po, .po files, and .gmo files appear in release 
tarballs.
 # The GNU Coding Standards say in
@@ -113,6 +113,7 @@ all: all-@USE_NLS@
 $(GMOFILES): $(srcdir)/$(DOMAIN).pot
 .po.gmo:
        @lang=`echo $* | sed -e 's,.*/,,'`; \
+       if test "$(PACKAGE)" = "gettext-tools" && test "$(CROSS_COMPILING)" != 
"yes"; then PATH=`pwd`/../src:$$PATH; fi; \
        test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \
        echo "$${cdcmd}rm -f $${lang}.gmo && $(MSGMERGE) 
$(MSGMERGE_FOR_MSGFMT_OPTION) -o $${lang}.1po $${lang}.po $(DOMAIN).pot && 
$(GMSGFMT) -c --statistics --verbose -o $${lang}.gmo $${lang}.1po && rm -f 
$${lang}.1po"; \
        cd $(srcdir) && \
@@ -122,10 +123,6 @@ $(GMOFILES): $(srcdir)/$(DOMAIN).pot
        mv t-$${lang}.gmo $${lang}.gmo && \
        rm -f $${lang}.1po
 
-.sin.sed:
-       sed -e '/^#/d' $< > t-$@
-       mv t-$@ $@
-
 
 all-yes: $(srcdir)/stamp-po
 all-no:
@@ -170,7 +167,7 @@ $(srcdir)/stamp-po: $(srcdir)/$(DOMAIN).pot
 # The determination of whether the package xyz is a GNU one is based on the
 # heuristic whether some file in the top level directory mentions "GNU xyz".
 # If GNU 'find' is available, we avoid grepping through monster files.
-$(DOMAIN).pot-update: $(POTFILES) $(srcdir)/POTFILES.in remove-potcdate.sed
+$(DOMAIN).pot-update: $(POTFILES) $(srcdir)/POTFILES.in
        package_gnu="$(PACKAGE_GNU)"; \
        test -n "$$package_gnu" || { \
          if { if (LC_ALL=C find --version) 2>/dev/null | grep GNU >/dev/null; 
then \
@@ -222,8 +219,8 @@ $(DOMAIN).pot-update: $(POTFILES) $(srcdir)/POTFILES.in 
remove-potcdate.sed
            || exit 1; \
          fi; \
          if test -f $(srcdir)/$(DOMAIN).pot; then \
-           sed -f remove-potcdate.sed < $(srcdir)/$(DOMAIN).pot > 
$(DOMAIN).1po && \
-           sed -f remove-potcdate.sed < $(DOMAIN).po > $(DOMAIN).2po && \
+           sed -f $(srcdir)/remove-potcdate.sed < $(srcdir)/$(DOMAIN).pot > 
$(DOMAIN).1po && \
+           sed -f $(srcdir)/remove-potcdate.sed < $(DOMAIN).po > $(DOMAIN).2po 
&& \
            if cmp $(DOMAIN).1po $(DOMAIN).2po >/dev/null 2>&1; then \
              rm -f $(DOMAIN).1po $(DOMAIN).2po $(DOMAIN).po; \
            else \
@@ -247,16 +244,19 @@ $(POFILES): $(POFILESDEPS)
        @test -f $(srcdir)/$(DOMAIN).pot || $(MAKE) $(srcdir)/$(DOMAIN).pot
        @lang=`echo $@ | sed -e 's,.*/,,' -e 's/\.po$$//'`; \
        if test -f "$(srcdir)/$${lang}.po"; then \
+         if test "$(PACKAGE)" = "gettext-tools" && test "$(CROSS_COMPILING)" 
!= "yes"; then PATH=`pwd`/../src:$$PATH; fi; \
          test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \
-         echo "$${cdcmd}$(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) --lang=$${lang} 
--previous $${lang}.po $(DOMAIN).pot"; \
+         echo "$${cdcmd}$(MSGMERGE_UPDATE) --quiet $(MSGMERGE_OPTIONS) 
--lang=$${lang} --previous $${lang}.po $(DOMAIN).pot"; \
          cd $(srcdir) \
            && { case `$(MSGMERGE_UPDATE) --version | sed 1q | sed -e 
's,^[^0-9]*,,'` in \
-                  '' | 0.[0-9] | 0.[0-9].* | 0.1[0-5] | 0.1[0-5].*) \
+                  '' | 0.[0-9] | 0.[0-9].* | 0.10 | 0.10.*) \
                     $(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) $${lang}.po 
$(DOMAIN).pot;; \
+                  0.1[1-5] | 0.1[1-5].*) \
+                    $(MSGMERGE_UPDATE) --quiet $(MSGMERGE_OPTIONS) $${lang}.po 
$(DOMAIN).pot;; \
                   0.1[6-7] | 0.1[6-7].*) \
-                    $(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) --previous 
$${lang}.po $(DOMAIN).pot;; \
+                    $(MSGMERGE_UPDATE) --quiet $(MSGMERGE_OPTIONS) --previous 
$${lang}.po $(DOMAIN).pot;; \
                   *) \
-                    $(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) --lang=$${lang} 
--previous $${lang}.po $(DOMAIN).pot;; \
+                    $(MSGMERGE_UPDATE) --quiet $(MSGMERGE_OPTIONS) 
--lang=$${lang} --previous $${lang}.po $(DOMAIN).pot;; \
                 esac; \
               }; \
        else \
@@ -394,7 +394,6 @@ info dvi ps pdf html tags TAGS ctags CTAGS ID:
 install-dvi install-ps install-pdf install-html:
 
 mostlyclean:
-       rm -f remove-potcdate.sed
        rm -f $(srcdir)/stamp-poT
        rm -f core core.* $(DOMAIN).po $(DOMAIN).1po $(DOMAIN).2po *.new.po
        rm -fr *.o
@@ -464,15 +463,17 @@ update-po: Makefile
        tmpdir=`pwd`; \
        echo "$$lang:"; \
        test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \
-       echo "$${cdcmd}$(MSGMERGE) $(MSGMERGE_OPTIONS) --lang=$$lang --previous 
$$lang.po $(DOMAIN).pot -o $$lang.new.po"; \
+       echo "$${cdcmd}$(MSGMERGE) --quiet $(MSGMERGE_OPTIONS) --lang=$$lang 
--previous $$lang.po $(DOMAIN).pot -o $$lang.new.po"; \
        cd $(srcdir); \
        if { case `$(MSGMERGE) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \
-              '' | 0.[0-9] | 0.[0-9].* | 0.1[0-5] | 0.1[0-5].*) \
+              '' | 0.[0-9] | 0.[0-9].* | 0.10 | 0.10.*) \
                 $(MSGMERGE) $(MSGMERGE_OPTIONS) -o $$tmpdir/$$lang.new.po 
$$lang.po $(DOMAIN).pot;; \
+              0.1[1-5] | 0.1[1-5].*) \
+                $(MSGMERGE) --quiet $(MSGMERGE_OPTIONS) -o 
$$tmpdir/$$lang.new.po $$lang.po $(DOMAIN).pot;; \
               0.1[6-7] | 0.1[6-7].*) \
-                $(MSGMERGE) $(MSGMERGE_OPTIONS) --previous -o 
$$tmpdir/$$lang.new.po $$lang.po $(DOMAIN).pot;; \
+                $(MSGMERGE) --quiet $(MSGMERGE_OPTIONS) --previous -o 
$$tmpdir/$$lang.new.po $$lang.po $(DOMAIN).pot;; \
               *) \
-                $(MSGMERGE) $(MSGMERGE_OPTIONS) --lang=$$lang --previous -o 
$$tmpdir/$$lang.new.po $$lang.po $(DOMAIN).pot;; \
+                $(MSGMERGE) --quiet $(MSGMERGE_OPTIONS) --lang=$$lang 
--previous -o $$tmpdir/$$lang.new.po $$lang.po $(DOMAIN).pot;; \
             esac; \
           }; then \
          if cmp $$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \
@@ -508,3 +509,9 @@ force:
 # Tell versions [3.59,3.63) of GNU make not to export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
 .NOEXPORT:
+
+# This Makefile contains rules which don't work with parallel make,
+# namely dist2.
+# See <https://lists.gnu.org/archive/html/bug-gettext/2022-06/msg00022.html>.
+# So, turn off parallel execution in this Makefile.
+.NOTPARALLEL:
diff --git a/build-aux/po/remove-potcdate.sin b/build-aux/po/remove-potcdate.sed
similarity index 91%
rename from build-aux/po/remove-potcdate.sin
rename to build-aux/po/remove-potcdate.sed
index 1fed90e9dc..8c70dfbf14 100644
--- a/build-aux/po/remove-potcdate.sin
+++ b/build-aux/po/remove-potcdate.sed
@@ -1,7 +1,7 @@
 # Sed script that removes the POT-Creation-Date line in the header entry
 # from a POT file.
 #
-# Copyright (C) 2002, 2020-2024 Free Software Foundation, Inc.
+# Copyright (C) 2002 Free Software Foundation, Inc.
 # Copying and distribution of this file, with or without modification,
 # are permitted in any medium without royalty provided the copyright
 # notice and this notice are preserved.  This file is offered as-is,
diff --git a/doc/gnulib.texi b/doc/gnulib.texi
index 75b4df60c6..b7a6110b55 100644
--- a/doc/gnulib.texi
+++ b/doc/gnulib.texi
@@ -8365,7 +8365,7 @@
 top-level directory of your package, you need to customize it.
 
 @item build-aux/po/Makefile.in.in
-@itemx build-aux/po/remove-potcdate.sin
+@itemx build-aux/po/remove-potcdate.sed
 These are auxiliary files used by @code{bootstrap}.  You don't have to
 copy them yourself; @code{bootstrap} will do that.
 @end table
diff --git a/gnulib-tool.sh b/gnulib-tool.sh
index d4f8792898..2a5949f584 100755
--- a/gnulib-tool.sh
+++ b/gnulib-tool.sh
@@ -5798,7 +5798,7 @@ s,//*$,/,'
   # Create po/ directory.
   if test -n "$pobase"; then
     # Create po makefile and auxiliary files.
-    for file in Makefile.in.in remove-potcdate.sin; do
+    for file in Makefile.in.in remove-potcdate.sed; do
       func_dest_tmpfilename $pobase/$file
       func_lookup_file build-aux/po/$file
       cat "$lookedup_file" > "$tmpfile"
diff --git a/pygnulib/GLImport.py b/pygnulib/GLImport.py
index 5d60bd908d..7747761900 100644
--- a/pygnulib/GLImport.py
+++ b/pygnulib/GLImport.py
@@ -1081,7 +1081,7 @@ def execute(self, filetable: GLFileTable, transformers: 
dict[str, tuple[re.Patte
         filesystem = GLFileSystem(self.config)
         if pobase:
             # Create po makefile and auxiliary files.
-            for file in ['Makefile.in.in', 'remove-potcdate.sin']:
+            for file in ['Makefile.in.in', 'remove-potcdate.sed']:
                 tmpfile = assistant.tmpfilename(joinpath(pobase, file))
                 path = joinpath('build-aux', 'po', file)
                 lookedup, flag = filesystem.lookup(path)






reply via email to

[Prev in Thread] Current Thread [Next in Thread]