#4 Fix misbehavior of msgmerge --for-msgfmt
Merged 4 years ago by suanand. Opened 4 years ago by ueno.
rpms/ ueno/gettext wip/dueno/fix-for-msgfmt  into  master

@@ -0,0 +1,82 @@ 

+ From 2336451ed68d91ff4b5ae1acbc1eca30e47a86a9 Mon Sep 17 00:00:00 2001

+ From: Bruno Haible <bruno@clisp.org>

+ Date: Sun, 19 May 2019 13:10:06 +0200

+ Subject: [PATCH] msgmerge: Fix behaviour of --for-msgfmt on PO files with no

+  translations.

+ 

+ Reported by Don Lawrence <dlawrence@iecok.com>

+ in <https://lists.freedesktop.org/archives/p11-glue/2019-May/000700.html>

+ via Daiki Ueno

+ in <https://lists.gnu.org/archive/html/bug-gettext/2019-05/msg00124.html>.

+ 

+ * gettext-tools/src/msgmerge.c (main): Treat force_po like true if for_msgfmt

+ is true.

+ * gettext-tools/tests/msgmerge-26: Add test of PO file with no translations.

+ ---

+  gettext-tools/src/msgmerge.c    |  4 ++--

+  gettext-tools/tests/msgmerge-26 | 36 ++++++++++++++++++++++++++++++---

+  2 files changed, 35 insertions(+), 5 deletions(-)

+ 

+ diff --git a/gettext-tools/src/msgmerge.c b/gettext-tools/src/msgmerge.c

+ index cd762c029..92c9b7a8e 100644

+ --- a/gettext-tools/src/msgmerge.c

+ +++ b/gettext-tools/src/msgmerge.c

+ @@ -520,8 +520,8 @@ There is NO WARRANTY, to the extent permitted by law.\n\

+    else

+      {

+        /* Write the merged message list out.  */

+ -      msgdomain_list_print (result, output_file, output_syntax, force_po,

+ -                            false);

+ +      msgdomain_list_print (result, output_file, output_syntax,

+ +                            for_msgfmt || force_po, false);

+      }

+  

+    exit (EXIT_SUCCESS);

+ diff --git a/gettext-tools/tests/msgmerge-26 b/gettext-tools/tests/msgmerge-26

+ index cd3862e33..b86f7a073 100755

+ --- a/gettext-tools/tests/msgmerge-26

+ +++ b/gettext-tools/tests/msgmerge-26

+ @@ -73,7 +73,37 @@ msgstr "Papaya"

+  EOF

+  

+  : ${DIFF=diff}

+ -${DIFF} mm-test26.ok mm-test26.out

+ -result=$?

+ +${DIFF} mm-test26.ok mm-test26.out || Exit 1

+  

+ -exit $result

+ +# Test with a PO file that has no translated messages.

+ +

+ +cat <<\EOF > mm-test26a.in1

+ +msgid ""

+ +msgstr ""

+ +"Content-Type: text/plain; charset=UTF-8\n"

+ +

+ +msgid "Hello world"

+ +msgstr "Hallo Welt"

+ +EOF

+ +

+ +cat <<\EOF > mm-test26a.in2

+ +msgid ""

+ +msgstr ""

+ +"Content-Type: text/plain; charset=ASCII\n"

+ +

+ +msgid "Hello, world!"

+ +msgstr ""

+ +EOF

+ +

+ +: ${MSGMERGE=msgmerge}

+ +${MSGMERGE} --for-msgfmt -o mm-test26a.tmp mm-test26a.in1 mm-test26a.in2 \

+ +    || Exit 1

+ +LC_ALL=C tr -d '\r' < mm-test26a.tmp > mm-test26a.out || Exit 1

+ +

+ +cat <<\EOF > mm-test26a.ok

+ +msgid ""

+ +msgstr "Content-Type: text/plain; charset=UTF-8\n"

+ +EOF

+ +

+ +: ${DIFF=diff}

+ +${DIFF} mm-test26a.ok mm-test26a.out || Exit 1

+ -- 

+ 2.21.0

+ 

file modified
+6 -1
@@ -7,7 +7,7 @@ 

  Summary: GNU libraries and utilities for producing multi-lingual messages

  Name: gettext

  Version: %{tarversion}

- Release: 1%{?dist}

+ Release: 2%{?dist}

  # The following are licensed under LGPLv2+:

  # - libintl and its headers

  # - libasprintf and its headers
@@ -27,6 +27,8 @@ 

  Source2: msghack.py

  Source3: msghack.1

  

+ Patch1: gettext-msgmerge-for-msgfmt.patch

+ 

  # for bootstrapping

  # BuildRequires: autoconf >= 2.62

  # BuildRequires: automake
@@ -394,6 +396,9 @@ 

  %{_mandir}/man1/msghack.1*

  

  %changelog

+ * Tue Aug 20 2019 Daiki Ueno <dueno@redhat.com> - 0.20.1-2

+ - Fix misbehavior of msgmerge --for-msgfmt

+ 

  * Fri Aug  9 2019 Jerry James <loganjerry@gmail.com> - 0.20.1-1

  - update to 0.20.1 release, all patches upstreamed

  - add GFDL to License fields due to info files