Fix misbehavior of msgmerge --for-msgfmt
This fixes build errors in packages with empty .po files: https://gitlab.gnome.org/GNOME/gcr/issues/25 https://github.com/p11-glue/p11-kit/issues/238
This commit is contained in:
parent
f06c2682ab
commit
eca5567f1c
82
gettext-msgmerge-for-msgfmt.patch
Normal file
82
gettext-msgmerge-for-msgfmt.patch
Normal file
@ -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
|
||||||
|
|
@ -7,7 +7,7 @@
|
|||||||
Summary: GNU libraries and utilities for producing multi-lingual messages
|
Summary: GNU libraries and utilities for producing multi-lingual messages
|
||||||
Name: gettext
|
Name: gettext
|
||||||
Version: %{tarversion}
|
Version: %{tarversion}
|
||||||
Release: 1%{?dist}
|
Release: 2%{?dist}
|
||||||
# The following are licensed under LGPLv2+:
|
# The following are licensed under LGPLv2+:
|
||||||
# - libintl and its headers
|
# - libintl and its headers
|
||||||
# - libasprintf and its headers
|
# - libasprintf and its headers
|
||||||
@ -27,6 +27,8 @@ Source: https://ftp.gnu.org/pub/gnu/gettext/%{name}-%{version}.tar.xz
|
|||||||
Source2: msghack.py
|
Source2: msghack.py
|
||||||
Source3: msghack.1
|
Source3: msghack.1
|
||||||
|
|
||||||
|
Patch1: gettext-msgmerge-for-msgfmt.patch
|
||||||
|
|
||||||
# for bootstrapping
|
# for bootstrapping
|
||||||
# BuildRequires: autoconf >= 2.62
|
# BuildRequires: autoconf >= 2.62
|
||||||
# BuildRequires: automake
|
# BuildRequires: automake
|
||||||
@ -394,6 +396,9 @@ make check LIBUNISTRING=-lunistring
|
|||||||
%{_mandir}/man1/msghack.1*
|
%{_mandir}/man1/msghack.1*
|
||||||
|
|
||||||
%changelog
|
%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
|
* Fri Aug 9 2019 Jerry James <loganjerry@gmail.com> - 0.20.1-1
|
||||||
- update to 0.20.1 release, all patches upstreamed
|
- update to 0.20.1 release, all patches upstreamed
|
||||||
- add GFDL to License fields due to info files
|
- add GFDL to License fields due to info files
|
||||||
|
Loading…
Reference in New Issue
Block a user