3
0
Dominique Leuenberger 2020-01-25 12:22:44 +00:00 committed by Git OBS Bridge
commit 607774e225
20 changed files with 450 additions and 1041 deletions

View File

@ -1,3 +1,4 @@
gettext-runtime
obsoletes "gettext-<targettype> <= <version>"
provides "gettext-<targettype> = <version>"
libtextstyle0

View File

@ -1,88 +0,0 @@
--- gettext-0.19.8.1/gettext-runtime/configure.ac 2017-10-03 10:21:39.140553367 +0200
+++ gettext-0.19.8.1/gettext-runtime/configure.ac 2017-10-03 10:21:45.772553392 +0200
@@ -35,7 +35,7 @@
gt_JAVA_CHOICE
-gt_JAVACOMP([1.3], [1.1])
+gt_JAVACOMP([1.6], [1.6])
AC_CHECK_PROG([JAR], [jar], [jar])
if test -n "$HAVE_JAVACOMP" && test -n "$JAR" && test "$JAVA_CHOICE" != no; then
BUILDJAVA=yes
--- gettext-0.19.8.1/gettext-runtime/gnulib-m4/javacomp.m4 2017-10-03 10:21:39.152553367 +0200
+++ gettext-0.19.8.1/gettext-runtime/gnulib-m4/javacomp.m4 2017-10-03 10:40:49.418502181 +0200
@@ -118,6 +118,8 @@
failcode='class conftestfail<T> { T foo() { return null; } }' ;;
1.5) goodcode='class conftest<T> { T foo() { return null; } }'
failcode='class conftestfail syntax error' ;;
+ 1.6) goodcode='class conftest<T> { T foo() { return null; } }'
+ failcode='class conftestfail syntax error' ;;
*) AC_MSG_ERROR([invalid source-version argument to gt_@&t@JAVACOMP: $source_version]) ;;
esac
case "$target_version" in
--- gettext-0.19.8.1/gettext-tools/configure.ac 2017-10-03 10:21:39.180553367 +0200
+++ gettext-0.19.8.1/gettext-tools/configure.ac 2017-10-03 10:46:20.107244296 +0200
@@ -44,7 +44,7 @@
AC_SUBST([BUILDJAVAEXE])
gt_JAVAEXEC
-gt_JAVACOMP([1.3])
+gt_JAVACOMP([1.6], [1.6])
AC_CHECK_PROG([JAR], [jar], [jar])
if test -n "$HAVE_JAVACOMP" && test -n "$JAR" && test "$JAVA_CHOICE" != no; then
BUILDJAVA=yes
--- gettext-0.19.8.1/gettext-tools/examples/hello-java/configure.ac 2017-10-03 10:21:39.260553367 +0200
+++ gettext-0.19.8.1/gettext-tools/examples/hello-java/configure.ac 2017-10-03 10:50:44.964124163 +0200
@@ -24,7 +24,7 @@
dnl Check whether we can execute Java programs.
gt_JAVAEXEC
dnl Check whether we can build Java programs.
-gt_JAVACOMP([1.3])
+gt_JAVACOMP([1.6], [1.6])
AC_CHECK_PROG(JAR, jar, jar)
if test -n "$HAVE_JAVACOMP" && test -n "$JAR"; then
BUILDJAVA=yes
--- gettext-0.19.8.1/gettext-tools/examples/hello-java-awt/configure.ac 2017-10-03 10:21:39.244553367 +0200
+++ gettext-0.19.8.1/gettext-tools/examples/hello-java-awt/configure.ac 2017-10-03 10:51:15.820124280 +0200
@@ -24,7 +24,7 @@
dnl Check whether we can execute Java programs.
gt_JAVAEXEC([TestAWT], [$srcdir/m4])
dnl Check whether we can build Java programs.
-gt_JAVACOMP([1.3])
+gt_JAVACOMP([1.6], [1.6])
AC_CHECK_PROG(JAR, jar, jar)
if test -n "$HAVE_JAVACOMP" && test -n "$JAR"; then
BUILDJAVA=yes
--- gettext-0.19.8.1/gettext-tools/examples/hello-java-qtjambi/configure.ac 2017-10-03 10:21:39.256553367 +0200
+++ gettext-0.19.8.1/gettext-tools/examples/hello-java-qtjambi/configure.ac 2017-10-03 10:23:16.860553736 +0200
@@ -26,7 +26,7 @@
dnl Check whether we can execute Java programs.
gt_JAVAEXEC([Test15], [$srcdir/m4])
dnl Check whether we can build Java programs.
-gt_JAVACOMP([1.5], [1.5])
+gt_JAVACOMP([1.6], [1.6])
AC_CHECK_PROG(JAR, jar, jar)
if test -n "$HAVE_JAVACOMP" && test -n "$JAR"; then
BUILDJAVA=yes
--- gettext-0.19.8.1/gettext-tools/examples/hello-java-swing/configure.ac 2017-10-03 10:21:39.248553367 +0200
+++ gettext-0.19.8.1/gettext-tools/examples/hello-java-swing/configure.ac 2017-10-03 10:51:00.308124221 +0200
@@ -24,7 +24,7 @@
dnl Check whether we can execute Java programs.
gt_JAVAEXEC([TestAWT], [$srcdir/m4])
dnl Check whether we can build Java programs.
-gt_JAVACOMP([1.3])
+gt_JAVACOMP([1.6], [1.6])
AC_CHECK_PROG(JAR, jar, jar)
if test -n "$HAVE_JAVACOMP" && test -n "$JAR"; then
BUILDJAVA=yes
--- gettext-0.19.8.1/gettext-tools/gnulib-m4/javacomp.m4 2017-10-03 10:21:39.268553367 +0200
+++ gettext-0.19.8.1/gettext-tools/gnulib-m4/javacomp.m4 2017-10-03 10:40:23.914502085 +0200
@@ -118,6 +118,8 @@
failcode='class conftestfail<T> { T foo() { return null; } }' ;;
1.5) goodcode='class conftest<T> { T foo() { return null; } }'
failcode='class conftestfail syntax error' ;;
+ 1.6) goodcode='class conftest<T> { T foo() { return null; } }'
+ failcode='class conftestfail syntax error' ;;
*) AC_MSG_ERROR([invalid source-version argument to gt_@&t@JAVACOMP: $source_version]) ;;
esac
case "$target_version" in

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:105556dbc5c3fbbc2aa0edb46d22d055748b6f5c7cd7a8d99f8e7eb84e938be4
size 7209808

View File

@ -1,17 +0,0 @@
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1
iQIcBAABAgAGBQJXXBKgAAoJENYFhI7X5phxb68P/i1Dvm0HzoKsrr2NFQpFq83P
dQlIoiAzZriLzL6tBvVE8cDw+hVgaRCUlAElulniKIDDPl7BH1/Qomf1AoQlPf8P
cU9Nj0sK1dK0TNQKEfk+AGQ20nXLRhZuKMO2k/M+1KAuOr2+KnAhYfUShyQa1hvF
4oNdT0mwA3Wve9hXjEh3022heD/nRkcB3C01dDJSWxEWJBv873JTnVhQ1EpOOMt2
AEpuzVlUOd5dTIV8bOaac8WEBnTnhPnXppbJ+LhSZD6j2DyAvlZBHAfnrWA/nH+h
DIluAFwNUf+fzYY5YIIDkzN24NRTBZEmoWC1dGpkxkcDLSo99ra9RdSumgywf0NL
7rHSsUCxgbyxtsqdNyM6t+AOjSYnmYxGdLasoDWxisFFkKdW337qWV0iY+50Fk1e
IHhwsUhfEHHtu/jE81af8v+20Qg6U68os3k8kCrZQkG9YkDTtPMwloIZNQYnaTO8
+JzhWzs/SdK+CgDjg19FkFkjVErZcQ0JcY3E3PKR8oCUKsWYBm474Z8jUsUieiCd
2irmbu/fO/toSc739YHn2QcRjG/wdzlhhGI5quMM4KOLqdU+ahmeZ3ILnkfMXsrn
BPv6sQ0twXnYC9Ix0K/U/iSXKAkC4D95qpYikw2glZ2eBcl9aI2C+sNsz322cNjl
BmVcwAeWnGuCA9NBrTTH
=wxWU
-----END PGP SIGNATURE-----

3
gettext-0.20.1.tar.gz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:66415634c6e8c3fa8b71362879ec7575e27da43da562c798a8a2f223e6e47f5c
size 23267473

17
gettext-0.20.1.tar.gz.sig Normal file
View File

@ -0,0 +1,17 @@
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2
iQIcBAABCAAGBQJc2D1GAAoJEE9JSpQuRhbCb5AP/2dZEV/tACl49bDq0Vp4Btkr
UoxdTmUy+NmtgCCdZnXbH9FeilWyjtga8uRoa8n5CQ/XIZxNvI0FtVE+FCW7FkBe
Rnv3A+LzQPwzSZAzO9ZmJXUERMlgK1ic4dJA+YrWjBlvlc6T3cs2t+adZdojHsKM
YcLytVlC7Eu5xRu8KwYOWhPvREmSflcM1UvYMB5lK0mfcsn3CKjdBSPQGKXmo3B7
ftNthdeBR3mPIj7QuJOTPF7nPBio3VR0qY2rKWzY+V9Tvif6I0p3b9R5Ygza/4gm
AxiX2r86IosnQnafRJHNV9PfEORjv+qju6DwVQMFjsBeCu0/URontbTr6pGUNPrw
bkA5TW65JdGj2kLGXfH5AYpGvcFpElt7VLoBIPabhM2HlIUmUfAnD+P3Ad7QP9Rk
6zzot9yEukeEgwPRvK0wvhVFVbKSPeBXI4KR3wj3oZnWvpUSlTlplGyDqmGcNQ9W
mRr9q1R+bFvuHj6jEJBPd7hXG+OJm/FZA+kLgscObuuBXoNQnU2+pSx7WJryI79r
bePtHd5PAMGIthTk1h1s1OHNs+ppyVnf7Kmke6zKX0RnGaHDoHbVE2HmgKFMarjW
Ytgg0Luh/WsgboOmmzhF3+RU5q1q7F6OkHEkklPUvAeYTlwBexQ2rBhgw2rT2J94
lTlpb6S9tXf3y9CbNEEs
=rjnh
-----END PGP SIGNATURE-----

View File

@ -1,3 +1,28 @@
-------------------------------------------------------------------
Mon Dec 9 11:17:04 UTC 2019 - Christian Vögl <cvoegl@suse.de>
- Added -lm flag to CFLAGS
-------------------------------------------------------------------
Tue Jun 11 13:08:04 UTC 2019 - Christian Vögl <christian.voegl@suse.com>
- Updated to version 0.20.1:
+ msgfmt now eliminates the POT-Creation-Date header field from .mo files.
+ msgmerge now has an option --for-msgfmt, that produces a PO file meant
for use by msgfmt only. This option saves processing time, in particular
by omitting fuzzy matching that is not useful in this situation.
+ The .pot file in a 'po' directory is now erased by "make maintainer-clean".
+ It is now possible to override xgettext options from the po/Makefile.in.in
through options in XGETTEXT_OPTIONS (declared in po/Makevars).
+ The --intl option of the gettextize program (deprecated since 2010) is
no longer available. Instead of including the intl sources in your package,
we suggest making the libintl library an optional prerequisite of your
package. This will simplify the build system of your package.
+ Accordingly, the Autoconf macro AM_GNU_GETTEXT_INTL_SUBDIR is gone as well.
- Rebased gettext-po-mode.diff
- Removed gettext-needlessly_init_vars.patch (now in upstream)
-------------------------------------------------------------------
Mon May 14 19:56:58 UTC 2018 - antoine.belvire@opensuse.org

View File

@ -1,7 +1,7 @@
#
# spec file for package gettext-csharp
#
# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
# Copyright (c) 2019 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@ -26,26 +26,24 @@ BuildRequires: libxml2-devel
BuildRequires: mono-devel
BuildRequires: perl-libintl-perl
BuildRequires: tcl
BuildRequires: xz
Requires: mono
Url: http://www.gnu.org/software/gettext/
Version: 0.19.8.1
URL: http://www.gnu.org/software/gettext/
Version: 0.20.1
Release: 0
Summary: Native Language Support (NLS) for C#
License: LGPL-2.1-or-later
Group: Development/Tools/Other
BuildRoot: %{_tmppath}/%{name}-%{version}-build
Source: http://ftp.gnu.org/gnu/gettext/gettext-%{version}.tar.xz
Source: http://ftp.gnu.org/gnu/gettext/gettext-%{version}.tar.gz
Source1: gettext-rpmlintrc
Source2: suse-start-po-mode.el
Source3: gettext-linkdupes.sh
Source4: http://ftp.gnu.org/gnu/gettext/gettext-%{version}.tar.xz.sig
Source4: http://ftp.gnu.org/gnu/gettext/gettext-%{version}.tar.gz.sig
Source5: %name.keyring
Patch: gettext-0.12.1-sigfpe.patch
Patch2: gettext-0.12.1-gettextize.patch
Patch4: gettext-po-mode.diff
Patch5: gettext-initialize_vars.patch
Patch9: gettext-needlessly_init_vars.patch
%if 0%{?fedora_version} || 0%{?centos_version} <= 600 || 0%{?scilin_version} <= 600 || 0%{?rhel_version} <= 600
%global debug_package %{nil}
@ -79,10 +77,9 @@ reliably than 'resgen'.
%patch2
%patch4
%patch5
%patch9
%build
export CFLAGS="%{optflags} -pipe -W -Wall -Dgcc_is_lint"
export CFLAGS="%{optflags} -pipe -W -Wall -Dgcc_is_lint -lm"
export CXXFLAGS="%{optflags} -pipe -W -Wall -Dgcc_is_lint"
# expect a couple "You should update your `aclocal.m4' by running aclocal."
#autoreconf -fiv

View File

@ -1,29 +1,26 @@
Subject: This is not gnulib, so don't test it
From: Stephan Kulow <coolo@suse.de>
Index: gettext-0.19.7/gettext-tools/Makefile.am
===================================================================
--- gettext-0.19.7.orig/gettext-tools/Makefile.am
+++ gettext-0.19.7/gettext-tools/Makefile.am
--- gettext-0.20.1.orig/gettext-tools/Makefile.am 2019-06-04 13:12:49.514030196 +0200
+++ gettext-0.20.1/gettext-tools/Makefile.am 2019-06-04 13:13:09.778072816 +0200
@@ -19,7 +19,7 @@
AUTOMAKE_OPTIONS = 1.5 gnu no-dependencies
ACLOCAL_AMFLAGS = -I m4 -I ../gettext-runtime/m4 -I ../m4 -I gnulib-m4 -I libgrep/gnulib-m4 -I libgettextpo/gnulib-m4
-SUBDIRS = doc intl gnulib-lib libgrep src libgettextpo po projects styles misc man m4 tests gnulib-tests examples its
+SUBDIRS = doc intl gnulib-lib libgrep src libgettextpo po projects styles misc man m4 tests examples its
-SUBDIRS = intl gnulib-lib libgrep src libgettextpo po its projects styles emacs misc man m4 tests system-tests gnulib-tests examples doc
+SUBDIRS = intl gnulib-lib libgrep src libgettextpo po its projects styles emacs misc man m4 tests system-tests examples doc
EXTRA_DIST = misc/DISCLAIM
MOSTLYCLEANFILES = core *.stackdump
Index: gettext-0.19.7/gettext-tools/Makefile.in
===================================================================
--- gettext-0.19.7.orig/gettext-tools/Makefile.in
+++ gettext-0.19.7/gettext-tools/Makefile.in
@@ -1865,7 +1865,7 @@ top_builddir = @top_builddir@
--- gettext-0.20.1.orig/gettext-tools/Makefile.in 2019-06-04 13:12:49.514030196 +0200
+++ gettext-0.20.1/gettext-tools/Makefile.in 2019-06-04 13:14:33.546249004 +0200
@@ -2016,7 +2016,7 @@
top_srcdir = @top_srcdir@
AUTOMAKE_OPTIONS = 1.5 gnu no-dependencies
ACLOCAL_AMFLAGS = -I m4 -I ../gettext-runtime/m4 -I ../m4 -I gnulib-m4 -I libgrep/gnulib-m4 -I libgettextpo/gnulib-m4
-SUBDIRS = doc intl gnulib-lib libgrep src libgettextpo po projects styles misc man m4 tests gnulib-tests examples its
+SUBDIRS = doc intl gnulib-lib libgrep src libgettextpo po projects styles misc man m4 tests examples its
-SUBDIRS = intl gnulib-lib libgrep src libgettextpo po its projects styles emacs misc man m4 tests system-tests gnulib-tests examples doc
+SUBDIRS = intl gnulib-lib libgrep src libgettextpo po its projects styles emacs misc man m4 tests system-tests examples doc
# Allow users to use "gnulib-tool --update".

View File

@ -1,3 +1,30 @@
-------------------------------------------------------------------
Tue Jun 11 13:12:37 UTC 2019 - Christian Vögl <christian.voegl@suse.com>
- Updated to version 0.20.1
+ msgfmt now eliminates the POT-Creation-Date header field from .mo files.
+ update-po target in Makefile.in.in now uses msgmerge --previous.
+ msgmerge now has an option --for-msgfmt, that produces a PO file meant
for use by msgfmt only. This option saves processing time, in particular
by omitting fuzzy matching that is not useful in this situation.
+ The .pot file in a 'po' directory is now erased by "make maintainer-clean".
+ It is now possible to override xgettext options from the po/Makefile.in.in
through options in XGETTEXT_OPTIONS (declared in po/Makevars).
+ The --intl option of the gettextize program (deprecated since 2010) is
no longer available. Instead of including the intl sources in your package,
we suggest making the libintl library an optional prerequisite of your
package. This will simplify the build system of your package.
+ Accordingly, the Autoconf macro AM_GNU_GETTEXT_INTL_SUBDIR is gone as well.
+ Java:
* xgettext now supports UTF-8 encoded .properties files (a new feature
of Java 9).
* The build system and tools now support Java 9, 10, and 11. On the
other hand, support for old versions of Java (Java 5 and older,
GCJ 4.2.x and older) has been dropped.
- Rebased gettext-po-mode.diff
- Removed gettext-needlessly_init_vars.patch (now in upstream)
- Removed gettext-0.19.8.1-jdk9.patch (now in upstream)
-------------------------------------------------------------------
Mon May 14 19:45:56 UTC 2018 - antoine.belvire@opensuse.org

View File

@ -1,7 +1,7 @@
#
# spec file for package gettext-java
#
# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
# Copyright (c) 2019 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@ -17,34 +17,32 @@
Name: gettext-java
Version: 0.19.8.1
Version: 0.20.1
Release: 0
Summary: Java Support for Native Language Support (NLS)
License: LGPL-2.1-or-later
Group: Development/Tools/Other
Url: http://www.gnu.org/software/gettext/
Source0: http://ftp.gnu.org/gnu/gettext/gettext-%{version}.tar.xz
URL: http://www.gnu.org/software/gettext/
Source0: http://ftp.gnu.org/gnu/gettext/gettext-%{version}.tar.gz
Source1: gettext-rpmlintrc
Source2: suse-start-po-mode.el
Source3: gettext-linkdupes.sh
Source4: http://ftp.gnu.org/gnu/gettext/gettext-%{version}.tar.xz.sig
Source4: http://ftp.gnu.org/gnu/gettext/gettext-%{version}.tar.gz.sig
Source5: %{name}.keyring
Patch0: gettext-0.12.1-sigfpe.patch
Patch2: gettext-0.12.1-gettextize.patch
Patch4: gettext-po-mode.diff
Patch5: gettext-initialize_vars.patch
Patch9: gettext-needlessly_init_vars.patch
Patch10: gettext-0.19.8.1-jdk9.patch
BuildRequires: fdupes
BuildRequires: gcc-c++
BuildRequires: glib2-devel
BuildRequires: java-devel
BuildRequires: libcroco-devel
BuildRequires: libtextstyle-devel
BuildRequires: libtool
BuildRequires: libxml2-devel
BuildRequires: perl-libintl-perl
BuildRequires: tcl
BuildRequires: xz
%if 0%{?fedora_version} || 0%{?centos_version} <= 600 || 0%{?scilin_version} <= 600 || 0%{?rhel_version} <= 600
%global debug_package %{nil}
@ -61,16 +59,14 @@ java+swing.
%patch2
%patch4
%patch5
%patch9
%patch10 -p1
%build
# expect a couple "You should update your `aclocal.m4' by running aclocal."
autoreconf -fiv
#sh autogen.sh
export CFLAGS="%{optflags} -pipe -W -Wall -Dgcc_is_lint"
export CFLAGS="%{optflags} -pipe -W -Wall -Dgcc_is_lint -lm"
export CXXFLAGS="%{optflags} -pipe -W -Wall -Dgcc_is_lint"
%configure --enable-shared --disable-native-java --enable-java
%configure --enable-shared --enable-java
make GMSGFMT=../src/msgfmt %{?_smp_mflags} V=1
%install
@ -92,7 +88,7 @@ fdupes -r *|while read dupe; do
fi
done
cd ..
find -size 0 -print0 | xargs -0 --no-run-if-empty rm
find -type f -size 0 -delete
mkdir -p %{buildroot}%{_libdir}/gettext
mv %{buildroot}/%{_datadir}/gettext/gettext.jar %{buildroot}%{_libdir}/gettext/
# Create scripts that will launch the tools

View File

@ -1,22 +0,0 @@
Index: gettext-tools/gnulib-lib/gl_array_list.c
===================================================================
--- gettext-tools/gnulib-lib/gl_array_list.c.orig 2010-12-20 18:47:23.871101502 +0100
+++ gettext-tools/gnulib-lib/gl_array_list.c 2010-12-20 18:47:37.666063318 +0100
@@ -454,7 +454,7 @@ gl_array_iterator (gl_list_t list)
result.count = list->count;
result.p = list->elements + 0;
result.q = list->elements + list->count;
-#ifdef lint
+#if defined(lint) || defined(gcc_is_lint)
result.i = 0;
result.j = 0;
#endif
@@ -475,7 +475,7 @@ gl_array_iterator_from_to (gl_list_t lis
result.count = list->count;
result.p = list->elements + start_index;
result.q = list->elements + end_index;
-#ifdef lint
+#if defined(lint) || defined(gcc_is_lint)
result.i = 0;
result.j = 0;
#endif

View File

@ -1,7 +1,7 @@
Index: gettext-tools/misc/po-mode.el
Index: gettext-tools/emacs/po-mode.el
===================================================================
--- gettext-tools/misc/po-mode.el.orig 2010-06-06 14:49:57.000000000 +0200
+++ gettext-tools/misc/po-mode.el 2010-12-20 18:47:11.963132483 +0100
--- gettext-tools/emacs/po-mode.el.orig 2010-06-06 14:49:57.000000000 +0200
+++ gettext-tools/emacs/po-mode.el 2010-12-20 18:47:11.963132483 +0100
@@ -1242,6 +1242,7 @@ all reachable through 'M-x customize', i
;; mode-line-format usually contains global-mode-string, but some
;; people customize this variable. As a last resort, append at the end.

View File

@ -1,8 +1,102 @@
-------------------------------------------------------------------
Wed Jan 15 08:35:10 UTC 2020 - Dominique Leuenberger <dimstar@opensuse.org>
- Add libtextstyle0 to baselibs.conf: gettext-runtime-32bit has a
dependency on it, so we also need the library built as -32bit.
-------------------------------------------------------------------
Sat Dec 21 17:23:21 UTC 2019 - Stefan Brüns <stefan.bruens@rwth-aachen.de>
- Add missing Requires: libtextstyle0 in corresponding devel package,
drop gettext-runtime Requires.
- Skip creation of shared libtextstyle in -mini flavor.
- Statically link to libtextstyle in -mini flavor, fixes
broken bootstrap of gettext.
-------------------------------------------------------------------
Tue Dec 17 10:16:04 UTC 2019 - Christian Vögl <cvoegl@suse.de>
- Add -lm to LDFLAGS (boo#1138806)
-------------------------------------------------------------------
Tue Nov 26 16:04:25 UTC 2019 - Christian Vögl <cvoegl@suse.de>
- Added xz to requires (boo#1141380)
- The previous update to 0.20.1 also fixes (boo#1113719)
-------------------------------------------------------------------
Wed Oct 30 19:05:13 UTC 2019 - Stefan Brüns <stefan.bruens@rwth-aachen.de>
- Remove autoreconf call (not required), and drop the no longer
required libtool build dependency.
-------------------------------------------------------------------
Fri Aug 23 16:56:05 UTC 2019 - Jan Engelhardt <jengelh@inai.de>
- Heed SLPP by placing libtextstyle.so.0 in the right package.
- Drop documentation from libtextstyle0, no one will read it there.
- Drop static library.
- Remove pointless ldconfig calls for libtextstyle-devel.
- Avoid pointless sh invocation of libtextstyle0 scriptlets.
- Avoid unnecessary |xargs rm.
- Remove redundant %clean section.
-------------------------------------------------------------------
Thu Jun 20 09:56:30 UTC 2019 - Martin Liška <mliska@suse.cz>
- Disable LTO (boo#1138806).
-------------------------------------------------------------------
Tue Jun 11 12:34:24 UTC 2019 - Christian Vögl <christian.voegl@suse.com>
- Updatetd to 0.20.1
+ msgfmt now eliminates the POT-Creation-Date header field from .mo files.
+ update-po target in Makefile.in.in now uses msgmerge --previous.
+ msgmerge now has an option --for-msgfmt, that produces a PO file meant
for use by msgfmt only. This option saves processing time, in particular
by omitting fuzzy matching that is not useful in this situation.
+ The .pot file in a 'po' directory is now erased by "make maintainer-clean".
+ It is now possible to override xgettext options from the po/Makefile.in.in
through options in XGETTEXT_OPTIONS (declared in po/Makevars).
+ The --intl option of the gettextize program (deprecated since 2010) is
no longer available. Instead of including the intl sources in your package,
we suggest making the libintl library an optional prerequisite of your
package. This will simplify the build system of your package.
+ Accordingly, the Autoconf macro AM_GNU_GETTEXT_INTL_SUBDIR is gone as well.
+ C, C++:
* xgettext now supports strings in u8"..." syntax, as specified in C11
and C++11.
* xgettext now supports 'p'/'P' exponent markers in number tokens, as
specified in C99 and C++17.
+ C++:
* xgettext now supports single-quotes in number tokens, as specified in
C++14.
+ Shell:
* The programs 'gettext', 'ngettext' now support a --context argument.
* gettext.sh contains new function eval_pgettext and eval_npgettext
for producing translations of messages with context.
+ Perl:
* Native support for context functions (pgettext, dpgettext, dcpgettext,
npgettext, dnpgettext, dcnpgettext).
* better detection of question mark and slash as operators (as opposed
to regular expression delimiters).
+ Scheme:
* xgettext now parses the syntax for specialized byte vectors (#u8(...),
#vu8(...), etc.) correctly.
+ Pascal:
* xgettext can now extract strings from .rsj files, produced by the
Free Pascal compiler version 3.0.0 or newer.
+ Vala:
* xgettext now parses escape sequences in strings more accurately.
+ JavaScript:
* xgettext now parses template literals correctly.
- Rebased gettext-dont-test-gnulib.patch
- Removed gettext-needlessly_init_vars.patch (now in upstream)
- Rebased gettext-po-mode.diff
- Removed msgfmt-remove-pot-creation-date.patch (now in upstream)
- Removed msgfmt-reset-msg-length-after-remove.patch (now in upstream)
- Removed parts of reproducible.patch (now in upstream)
-------------------------------------------------------------------
Sat May 25 11:53:33 UTC 2019 - Marcus Meissner <meissner@suse.com>

View File

@ -1,7 +1,7 @@
#
# spec file for package gettext-runtime-mini
# spec file for package gettext-runtime
#
# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
# Copyright (c) 2019 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@ -17,15 +17,14 @@
%define pacname gettext
# datadir was not changed in 0.19.8.1 patch release
%define dataversion 0.19.8
# datadir was not changed in 0.20.1 patch release
%define dataversion 0.20
%bcond_without mini
Name: gettext-runtime-mini
Version: 0.19.8.1
Version: 0.20.1
Release: 0
BuildRequires: gcc-c++
BuildRequires: libtool
# To get an updated linkdupes.sh (in case there are new dupes), temproarily enable:
#BuildRequires: fdupes
%if %{without mini}
@ -34,7 +33,6 @@ BuildRequires: libcroco-devel
BuildRequires: libxml2-devel
BuildRequires: perl-libintl-perl
BuildRequires: tcl
BuildRequires: xz
# bug437293
%ifarch ppc64
Obsoletes: gettext-64bit
@ -54,14 +52,14 @@ Provides: gettext-runtime = %{version}
Summary: Tools for Native Language Support (NLS)
License: GPL-3.0-or-later AND LGPL-2.0-or-later
Group: Development/Tools/Other
Url: http://www.gnu.org/software/gettext/
URL: http://www.gnu.org/software/gettext/
BuildRoot: %{_tmppath}/%{name}-%{version}-build
Source0: http://ftp.gnu.org/gnu/gettext/gettext-%{version}.tar.xz
Source0: http://ftp.gnu.org/gnu/gettext/gettext-%{version}.tar.gz
Source1: gettext-rpmlintrc
Source2: suse-start-po-mode.el
Source3: gettext-linkdupes.sh
Source4: baselibs.conf
Source5: http://ftp.gnu.org/gnu/gettext/gettext-%{version}.tar.xz.sig
Source5: http://ftp.gnu.org/gnu/gettext/gettext-%{version}.tar.gz.sig
Source6: %name.keyring
Patch: gettext-0.12.1-sigfpe.patch
Patch1: gettext-0.19.3-fix-bashisms.patch
@ -70,13 +68,9 @@ Patch4: gettext-po-mode.diff
Patch5: gettext-initialize_vars.patch
# PATCH-FIX-OPENSUSE gettext-dont-test-gnulib.patch -- coolo@suse.de
Patch6: gettext-dont-test-gnulib.patch
Patch9: gettext-needlessly_init_vars.patch
# PATCH-FIX-UPSTREAM https://savannah.gnu.org/bugs/?49654 -- bmwiedemann@opensuse.org
Patch10: msgfmt-remove-pot-creation-date.patch
# PATCH-FIX-UPSTREAM boo#941629 -- pth@suse.com
Patch11: boo941629-unnessary-rpath-on-standard-path.patch
# PATCH-FIX-SUSE Bug boo#1106843
Patch12: msgfmt-reset-msg-length-after-remove.patch
Patch13: reproducible.patch
%description
@ -92,6 +86,7 @@ Summary: Tools for Native Language Support (NLS)
License: LGPL-2.1-or-later
Group: Development/Tools/Other
Requires: %{name} = %{version}
Requires: xz
%if %{without mini}
Requires(post): info
Requires(preun): info
@ -133,6 +128,28 @@ BuildArch: noarch
This subpackage contains the HTML version of the gettext documentation
as well as project examples.
%if %{without mini}
%package -n libtextstyle0
Summary: Provides textstyling for console output
License: LGPL-2.1-or-later
Group: Development/Tools/Other
%description -n libtextstyle0
GNU libtextstyle provides an easy way to add styling to programs that produce output to a console or terminal emulator window.
It does this in a way that allows the end user to customize the styling using the industry standard, namely Cascading Style Sheets (CSS).
%package -n libtextstyle-devel
Summary: Devel package for libtextstyle
License: LGPL-2.1-or-later
Group: Development/Tools/Other
Requires: libtextstyle0 = %{version}
%description -n libtextstyle-devel
This package provides headers and static libraries for libtextstyle
%endif
%prep
%setup -q -n %{pacname}-%{version}
%patch
@ -141,23 +158,25 @@ as well as project examples.
%patch4
%patch5
%patch6 -p1
%patch9
%patch10 -p1
%patch11 -p1
%patch12 -p0
%patch13 -p1
%build
%define _lto_cflags %{nil}
# expect a couple "You should update your `aclocal.m4' by running aclocal."
autoreconf -fiv
#sh autogen.sh
export CFLAGS="%{optflags} -pipe -W -Wall -Dgcc_is_lint"
export CXXFLAGS="$CFLAGS -Dgcc_is_lint"
export LDFLAGS="-lm"
%if 0%{?qemu_user_space_build:1}
OPTS="--disable-openmp"
%endif
%configure --enable-shared $OPTS
%configure --disable-static $OPTS
%if %{with mini}
# Link statically to libtextstyle from libgettextlib.so
export CFLAGS="${CFLAGS} -fPIC"
export CXXFLAGS="${CXXFLAGS} -fPIC"
(cd libtextstyle; %configure --enable-static --disable-shared ${OPTS})
%endif
make %{?_smp_mflags} GMSGFMT=../src/msgfmt V=1
# use texinfo.tex supplied by the system (texinfo)
# make -C gettext-tools/doc gettext.pdf
@ -165,14 +184,14 @@ make %{?_smp_mflags} GMSGFMT=../src/msgfmt V=1
%install
%define my_docdir %{_defaultdocdir}/%{name}
export LC_CTYPE=ISO-8859-15
make install DESTDIR=%{buildroot} docdir=%{my_docdir}
%make_install docdir=%{my_docdir}
cp -pr AUTHORS NEWS README* %{buildroot}/%{my_docdir}
mkdir -p %{buildroot}/usr/share/emacs/site-lisp
install -m 644 %SOURCE2 %{buildroot}/usr/share/emacs/site-lisp
install -m 644 gettext-tools/misc/po-compat.el %{buildroot}/usr/share/emacs/site-lisp
install -m 644 gettext-tools/misc/po-mode.el %{buildroot}/usr/share/emacs/site-lisp
install -m 644 gettext-tools/misc/start-po.el %{buildroot}/usr/share/emacs/site-lisp
#make -C gettext-tools/doc docdir=%{buildroot}/%{my_docdir} install-pdf
install -m 644 gettext-tools/emacs/po-compat.el %{buildroot}/usr/share/emacs/site-lisp
install -m 644 gettext-tools/emacs/po-mode.el %{buildroot}/usr/share/emacs/site-lisp
install -m 644 gettext-tools/emacs/start-po.el %{buildroot}/usr/share/emacs/site-lisp
#make -C gettext-tools/doc docdir=%%{buildroot}/%%{my_docdir} install-pdf
if [ -e %{buildroot}/%{_libdir}/preloadable_libintl.so ];then
chmod 755 %{buildroot}/%{_libdir}/preloadable_libintl.so
fi
@ -183,7 +202,15 @@ rm -rf %{buildroot}/%_datadir/locale/en@{bold,}quot
#remove unwanted stuff
rm -f %{buildroot}/usr/share/doc/packages/gettext/README.{mingw,vms,woe32}
rm -f %_datadir/%name/gettext.jar
#find %{buildroot} -maxdepth 2 -name '*html' | xargs rm -f
rm -f %{buildroot}/%_libdir/libtextstyle.la
%if %{with mini}
rm -f %{buildroot}/usr/include/textstyle.h
rm -rf %{buildroot}/usr/include/textstyle
rm -rf %{buildroot}/usr/share/doc/packages/gettext-runtime-mini/libtextstyle_*.html
rm -f %{buildroot}/%_libdir/libtextstyle.a
rm -f %{buildroot}/%{_infodir}/libtextstyle.info
%endif
#find %%{buildroot} -maxdepth 2 -name '*html' -delete
# hardlink the dupes in the documentation:
cd %{buildroot}/%{my_docdir}/examples
sh %{SOURCE3}
@ -217,9 +244,6 @@ make check || {
}
%endif
%clean
rm -rf %{buildroot}
%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig
@ -232,6 +256,11 @@ rm -rf %{buildroot}
%install_info_delete --info-dir=%{_infodir} %{_infodir}/gettext.info.gz
%install_info_delete --info-dir=%{_infodir} %{_infodir}/autosprintf.info.gz
%if %{without mini}
%post -n libtextstyle0 -p /sbin/ldconfig
%postun -n libtextstyle0 -p /sbin/ldconfig
%endif
%files -f gettext-runtime.lang
%defattr(-,root,root)
%license COPYING
@ -292,7 +321,6 @@ rm -rf %{buildroot}
%_libdir/preloadable_libintl.so
%_libdir/gettext
%_datadir/%pacname/config.rpath
%_datadir/%pacname/intl
%_datadir/%pacname/po
%_datadir/%pacname/projects
%_datadir/%pacname/gettext.h
@ -300,7 +328,7 @@ rm -rf %{buildroot}
%_datadir/%pacname/javaversion.class
%_datadir/%pacname/styles
%_datadir/%pacname/archive.dir.tar.xz
%_datadir/aclocal/*
%_datadir/aclocal
%dir %{_datadir}/%{pacname}-%{dataversion}
%{_datadir}/%{pacname}-%{dataversion}/its
@ -316,4 +344,22 @@ rm -rf %{buildroot}
%doc %_docdir/%name/xgettext*.html
%doc %_docdir/%name/recode-sr-latin.1.html
%if %{without mini}
%files -n libtextstyle0
%defattr(-,root,root)
%_libdir/libtextstyle.so.0
%_libdir/libtextstyle.so.0.0.0
%files -n libtextstyle-devel
%defattr(-,root,root)
%dir %_includedir/textstyle
%_includedir/textstyle.h
%_includedir/textstyle/stdbool.h
%_includedir/textstyle/version.h
%_includedir/textstyle/woe32dll.h
%_libdir/libtextstyle.so
%doc %_docdir/gettext-runtime%{?with_mini:-mini}/libtextstyle*.html
%doc %_infodir/libtextstyle.info.gz
%endif
%changelog

View File

@ -1,8 +1,102 @@
-------------------------------------------------------------------
Wed Jan 15 08:35:10 UTC 2020 - Dominique Leuenberger <dimstar@opensuse.org>
- Add libtextstyle0 to baselibs.conf: gettext-runtime-32bit has a
dependency on it, so we also need the library built as -32bit.
-------------------------------------------------------------------
Sat Dec 21 17:23:21 UTC 2019 - Stefan Brüns <stefan.bruens@rwth-aachen.de>
- Add missing Requires: libtextstyle0 in corresponding devel package,
drop gettext-runtime Requires.
- Skip creation of shared libtextstyle in -mini flavor.
- Statically link to libtextstyle in -mini flavor, fixes
broken bootstrap of gettext.
-------------------------------------------------------------------
Tue Dec 17 10:16:04 UTC 2019 - Christian Vögl <cvoegl@suse.de>
- Add -lm to LDFLAGS (boo#1138806)
-------------------------------------------------------------------
Tue Nov 26 16:04:25 UTC 2019 - Christian Vögl <cvoegl@suse.de>
- Added xz to requires (boo#1141380)
- The previous update to 0.20.1 also fixes (boo#1113719)
-------------------------------------------------------------------
Wed Oct 30 19:05:13 UTC 2019 - Stefan Brüns <stefan.bruens@rwth-aachen.de>
- Remove autoreconf call (not required), and drop the no longer
required libtool build dependency.
-------------------------------------------------------------------
Fri Aug 23 16:56:05 UTC 2019 - Jan Engelhardt <jengelh@inai.de>
- Heed SLPP by placing libtextstyle.so.0 in the right package.
- Drop documentation from libtextstyle0, no one will read it there.
- Drop static library.
- Remove pointless ldconfig calls for libtextstyle-devel.
- Avoid pointless sh invocation of libtextstyle0 scriptlets.
- Avoid unnecessary |xargs rm.
- Remove redundant %clean section.
-------------------------------------------------------------------
Thu Jun 20 09:56:30 UTC 2019 - Martin Liška <mliska@suse.cz>
- Disable LTO (boo#1138806).
-------------------------------------------------------------------
Tue Jun 11 12:34:24 UTC 2019 - Christian Vögl <christian.voegl@suse.com>
- Updatetd to 0.20.1
+ msgfmt now eliminates the POT-Creation-Date header field from .mo files.
+ update-po target in Makefile.in.in now uses msgmerge --previous.
+ msgmerge now has an option --for-msgfmt, that produces a PO file meant
for use by msgfmt only. This option saves processing time, in particular
by omitting fuzzy matching that is not useful in this situation.
+ The .pot file in a 'po' directory is now erased by "make maintainer-clean".
+ It is now possible to override xgettext options from the po/Makefile.in.in
through options in XGETTEXT_OPTIONS (declared in po/Makevars).
+ The --intl option of the gettextize program (deprecated since 2010) is
no longer available. Instead of including the intl sources in your package,
we suggest making the libintl library an optional prerequisite of your
package. This will simplify the build system of your package.
+ Accordingly, the Autoconf macro AM_GNU_GETTEXT_INTL_SUBDIR is gone as well.
+ C, C++:
* xgettext now supports strings in u8"..." syntax, as specified in C11
and C++11.
* xgettext now supports 'p'/'P' exponent markers in number tokens, as
specified in C99 and C++17.
+ C++:
* xgettext now supports single-quotes in number tokens, as specified in
C++14.
+ Shell:
* The programs 'gettext', 'ngettext' now support a --context argument.
* gettext.sh contains new function eval_pgettext and eval_npgettext
for producing translations of messages with context.
+ Perl:
* Native support for context functions (pgettext, dpgettext, dcpgettext,
npgettext, dnpgettext, dcnpgettext).
* better detection of question mark and slash as operators (as opposed
to regular expression delimiters).
+ Scheme:
* xgettext now parses the syntax for specialized byte vectors (#u8(...),
#vu8(...), etc.) correctly.
+ Pascal:
* xgettext can now extract strings from .rsj files, produced by the
Free Pascal compiler version 3.0.0 or newer.
+ Vala:
* xgettext now parses escape sequences in strings more accurately.
+ JavaScript:
* xgettext now parses template literals correctly.
- Rebased gettext-dont-test-gnulib.patch
- Removed gettext-needlessly_init_vars.patch (now in upstream)
- Rebased gettext-po-mode.diff
- Removed msgfmt-remove-pot-creation-date.patch (now in upstream)
- Removed msgfmt-reset-msg-length-after-remove.patch (now in upstream)
- Removed parts of reproducible.patch (now in upstream)
-------------------------------------------------------------------
Sat May 25 11:53:33 UTC 2019 - Marcus Meissner <meissner@suse.com>

View File

@ -1,7 +1,7 @@
#
# spec file for package gettext-runtime
#
# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
# Copyright (c) 2019 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@ -17,15 +17,14 @@
%define pacname gettext
# datadir was not changed in 0.19.8.1 patch release
%define dataversion 0.19.8
# datadir was not changed in 0.20.1 patch release
%define dataversion 0.20
%bcond_with mini
Name: gettext-runtime
Version: 0.19.8.1
Version: 0.20.1
Release: 0
BuildRequires: gcc-c++
BuildRequires: libtool
# To get an updated linkdupes.sh (in case there are new dupes), temproarily enable:
#BuildRequires: fdupes
%if %{without mini}
@ -34,7 +33,6 @@ BuildRequires: libcroco-devel
BuildRequires: libxml2-devel
BuildRequires: perl-libintl-perl
BuildRequires: tcl
BuildRequires: xz
# bug437293
%ifarch ppc64
Obsoletes: gettext-64bit
@ -54,14 +52,14 @@ Provides: gettext-runtime = %{version}
Summary: Tools for Native Language Support (NLS)
License: GPL-3.0-or-later AND LGPL-2.0-or-later
Group: Development/Tools/Other
Url: http://www.gnu.org/software/gettext/
URL: http://www.gnu.org/software/gettext/
BuildRoot: %{_tmppath}/%{name}-%{version}-build
Source0: http://ftp.gnu.org/gnu/gettext/gettext-%{version}.tar.xz
Source0: http://ftp.gnu.org/gnu/gettext/gettext-%{version}.tar.gz
Source1: gettext-rpmlintrc
Source2: suse-start-po-mode.el
Source3: gettext-linkdupes.sh
Source4: baselibs.conf
Source5: http://ftp.gnu.org/gnu/gettext/gettext-%{version}.tar.xz.sig
Source5: http://ftp.gnu.org/gnu/gettext/gettext-%{version}.tar.gz.sig
Source6: %name.keyring
Patch: gettext-0.12.1-sigfpe.patch
Patch1: gettext-0.19.3-fix-bashisms.patch
@ -70,13 +68,9 @@ Patch4: gettext-po-mode.diff
Patch5: gettext-initialize_vars.patch
# PATCH-FIX-OPENSUSE gettext-dont-test-gnulib.patch -- coolo@suse.de
Patch6: gettext-dont-test-gnulib.patch
Patch9: gettext-needlessly_init_vars.patch
# PATCH-FIX-UPSTREAM https://savannah.gnu.org/bugs/?49654 -- bmwiedemann@opensuse.org
Patch10: msgfmt-remove-pot-creation-date.patch
# PATCH-FIX-UPSTREAM boo#941629 -- pth@suse.com
Patch11: boo941629-unnessary-rpath-on-standard-path.patch
# PATCH-FIX-SUSE Bug boo#1106843
Patch12: msgfmt-reset-msg-length-after-remove.patch
Patch13: reproducible.patch
%description
@ -92,6 +86,7 @@ Summary: Tools for Native Language Support (NLS)
License: LGPL-2.1-or-later
Group: Development/Tools/Other
Requires: %{name} = %{version}
Requires: xz
%if %{without mini}
Requires(post): info
Requires(preun): info
@ -133,6 +128,28 @@ BuildArch: noarch
This subpackage contains the HTML version of the gettext documentation
as well as project examples.
%if %{without mini}
%package -n libtextstyle0
Summary: Provides textstyling for console output
License: LGPL-2.1-or-later
Group: Development/Tools/Other
%description -n libtextstyle0
GNU libtextstyle provides an easy way to add styling to programs that produce output to a console or terminal emulator window.
It does this in a way that allows the end user to customize the styling using the industry standard, namely Cascading Style Sheets (CSS).
%package -n libtextstyle-devel
Summary: Devel package for libtextstyle
License: LGPL-2.1-or-later
Group: Development/Tools/Other
Requires: libtextstyle0 = %{version}
%description -n libtextstyle-devel
This package provides headers and static libraries for libtextstyle
%endif
%prep
%setup -q -n %{pacname}-%{version}
%patch
@ -141,23 +158,25 @@ as well as project examples.
%patch4
%patch5
%patch6 -p1
%patch9
%patch10 -p1
%patch11 -p1
%patch12 -p0
%patch13 -p1
%build
%define _lto_cflags %{nil}
# expect a couple "You should update your `aclocal.m4' by running aclocal."
autoreconf -fiv
#sh autogen.sh
export CFLAGS="%{optflags} -pipe -W -Wall -Dgcc_is_lint"
export CXXFLAGS="$CFLAGS -Dgcc_is_lint"
export LDFLAGS="-lm"
%if 0%{?qemu_user_space_build:1}
OPTS="--disable-openmp"
%endif
%configure --enable-shared $OPTS
%configure --disable-static $OPTS
%if %{with mini}
# Link statically to libtextstyle from libgettextlib.so
export CFLAGS="${CFLAGS} -fPIC"
export CXXFLAGS="${CXXFLAGS} -fPIC"
(cd libtextstyle; %configure --enable-static --disable-shared ${OPTS})
%endif
make %{?_smp_mflags} GMSGFMT=../src/msgfmt V=1
# use texinfo.tex supplied by the system (texinfo)
# make -C gettext-tools/doc gettext.pdf
@ -165,14 +184,14 @@ make %{?_smp_mflags} GMSGFMT=../src/msgfmt V=1
%install
%define my_docdir %{_defaultdocdir}/%{name}
export LC_CTYPE=ISO-8859-15
make install DESTDIR=%{buildroot} docdir=%{my_docdir}
%make_install docdir=%{my_docdir}
cp -pr AUTHORS NEWS README* %{buildroot}/%{my_docdir}
mkdir -p %{buildroot}/usr/share/emacs/site-lisp
install -m 644 %SOURCE2 %{buildroot}/usr/share/emacs/site-lisp
install -m 644 gettext-tools/misc/po-compat.el %{buildroot}/usr/share/emacs/site-lisp
install -m 644 gettext-tools/misc/po-mode.el %{buildroot}/usr/share/emacs/site-lisp
install -m 644 gettext-tools/misc/start-po.el %{buildroot}/usr/share/emacs/site-lisp
#make -C gettext-tools/doc docdir=%{buildroot}/%{my_docdir} install-pdf
install -m 644 gettext-tools/emacs/po-compat.el %{buildroot}/usr/share/emacs/site-lisp
install -m 644 gettext-tools/emacs/po-mode.el %{buildroot}/usr/share/emacs/site-lisp
install -m 644 gettext-tools/emacs/start-po.el %{buildroot}/usr/share/emacs/site-lisp
#make -C gettext-tools/doc docdir=%%{buildroot}/%%{my_docdir} install-pdf
if [ -e %{buildroot}/%{_libdir}/preloadable_libintl.so ];then
chmod 755 %{buildroot}/%{_libdir}/preloadable_libintl.so
fi
@ -183,7 +202,15 @@ rm -rf %{buildroot}/%_datadir/locale/en@{bold,}quot
#remove unwanted stuff
rm -f %{buildroot}/usr/share/doc/packages/gettext/README.{mingw,vms,woe32}
rm -f %_datadir/%name/gettext.jar
#find %{buildroot} -maxdepth 2 -name '*html' | xargs rm -f
rm -f %{buildroot}/%_libdir/libtextstyle.la
%if %{with mini}
rm -f %{buildroot}/usr/include/textstyle.h
rm -rf %{buildroot}/usr/include/textstyle
rm -rf %{buildroot}/usr/share/doc/packages/gettext-runtime-mini/libtextstyle_*.html
rm -f %{buildroot}/%_libdir/libtextstyle.a
rm -f %{buildroot}/%{_infodir}/libtextstyle.info
%endif
#find %%{buildroot} -maxdepth 2 -name '*html' -delete
# hardlink the dupes in the documentation:
cd %{buildroot}/%{my_docdir}/examples
sh %{SOURCE3}
@ -217,9 +244,6 @@ make check || {
}
%endif
%clean
rm -rf %{buildroot}
%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig
@ -232,6 +256,11 @@ rm -rf %{buildroot}
%install_info_delete --info-dir=%{_infodir} %{_infodir}/gettext.info.gz
%install_info_delete --info-dir=%{_infodir} %{_infodir}/autosprintf.info.gz
%if %{without mini}
%post -n libtextstyle0 -p /sbin/ldconfig
%postun -n libtextstyle0 -p /sbin/ldconfig
%endif
%files -f gettext-runtime.lang
%defattr(-,root,root)
%license COPYING
@ -292,7 +321,6 @@ rm -rf %{buildroot}
%_libdir/preloadable_libintl.so
%_libdir/gettext
%_datadir/%pacname/config.rpath
%_datadir/%pacname/intl
%_datadir/%pacname/po
%_datadir/%pacname/projects
%_datadir/%pacname/gettext.h
@ -300,7 +328,7 @@ rm -rf %{buildroot}
%_datadir/%pacname/javaversion.class
%_datadir/%pacname/styles
%_datadir/%pacname/archive.dir.tar.xz
%_datadir/aclocal/*
%_datadir/aclocal
%dir %{_datadir}/%{pacname}-%{dataversion}
%{_datadir}/%{pacname}-%{dataversion}/its
@ -316,4 +344,22 @@ rm -rf %{buildroot}
%doc %_docdir/%name/xgettext*.html
%doc %_docdir/%name/recode-sr-latin.1.html
%if %{without mini}
%files -n libtextstyle0
%defattr(-,root,root)
%_libdir/libtextstyle.so.0
%_libdir/libtextstyle.so.0.0.0
%files -n libtextstyle-devel
%defattr(-,root,root)
%dir %_includedir/textstyle
%_includedir/textstyle.h
%_includedir/textstyle/stdbool.h
%_includedir/textstyle/version.h
%_includedir/textstyle/woe32dll.h
%_libdir/libtextstyle.so
%doc %_docdir/gettext-runtime%{?with_mini:-mini}/libtextstyle*.html
%doc %_infodir/libtextstyle.info.gz
%endif
%changelog

View File

@ -1,759 +0,0 @@
commit d13f165b83701dffc14f7151419e0c00c00c0d1b
Author: John Darrington <john@darrington.wattle.id.au>
Date: Thu Dec 15 21:56:44 2016 +0100
msgfmt: Remove POT-Creation-Date field from the header in the output.
This helps reproducible builds.
Reported at <https://savannah.gnu.org/bugs/?49654>.
* gettext-tools/src/msgl-header.h (message_list_delete_header_field): New
declaration.
* gettext-tools/src/msgl-header.c (known_fields): New variable, extracted from
msgdomain_list_set_header_field.
(message_list_delete_header_field): New function.
* gettext-tools/src/write-mo.c: Include msgl-header.h.
(msgdomain_write_mo): Delete the POT-Creation-Date field.
* gettext-tools/src/write-java.c: Include msgl-header.h.
(msgdomain_write_java): Delete the POT-Creation-Date field.
* gettext-tools/src/write-csharp.c: Include msgl-header.h.
(msgdomain_write_csharp): Delete the POT-Creation-Date field.
* gettext-tools/src/write-resources.c: Include msgl-header.h.
(msgdomain_write_csharp_resources): Delete the POT-Creation-Date field.
* gettext-tools/src/write-tcl.c: Include msgl-header.h.
(msgdomain_write_tcl): Delete the POT-Creation-Date field.
* gettext-tools/src/write-qt.c: Include msgl-header.h.
(msgdomain_write_qt): Delete the POT-Creation-Date field.
* gettext-tools/src/write-desktop.c: Include msgl-header.h.
(msgdomain_write_desktop): Delete the POT-Creation-Date field.
* gettext-tools/src/write-xml.c: Include msgl-header.h.
(msgdomain_write_xml): Delete the POT-Creation-Date field.
* gettext-tools/tests/msgfmt-19: New file, based on
gettext-tools/tests/msgfmt-18.
* gettext-tools/tests/Makefile.am (TESTS): Add it.
diff --git a/gettext-tools/src/msgl-header.c b/gettext-tools/src/msgl-header.c
index 987c1c47e..25ae33af3 100644
--- a/gettext-tools/src/msgl-header.c
+++ b/gettext-tools/src/msgl-header.c
@@ -30,16 +30,12 @@
#define SIZEOF(a) (sizeof(a) / sizeof(a[0]))
-void
-msgdomain_list_set_header_field (msgdomain_list_ty *mdlp,
- const char *field, const char *value)
+/* The known fields in their usual order. */
+static const struct
{
- /* The known fields in their usual order. */
- static const struct
- {
- const char *name;
- size_t len;
- }
+ const char *name;
+ size_t len;
+}
known_fields[] =
{
{ "Project-Id-Version:", sizeof ("Project-Id-Version:") - 1 },
@@ -54,6 +50,11 @@ msgdomain_list_set_header_field (msgdomain_list_ty *mdlp,
{ "Content-Transfer-Encoding:",
sizeof ("Content-Transfer-Encoding:") - 1 }
};
+
+void
+msgdomain_list_set_header_field (msgdomain_list_ty *mdlp,
+ const char *field, const char *value)
+{
size_t field_len;
int field_index;
size_t k, i;
@@ -168,3 +169,71 @@ msgdomain_list_set_header_field (msgdomain_list_ty *mdlp,
}
}
}
+
+
+void
+message_list_delete_header_field (message_list_ty *mlp,
+ const char *field)
+{
+ size_t j;
+ int field_index;
+ size_t k;
+
+ /* Search the field in known_fields[]. */
+ field_index = -1;
+ for (k = 0; k < SIZEOF (known_fields); k++)
+ if (strcmp (known_fields[k].name, field) == 0)
+ {
+ field_index = k;
+ break;
+ }
+
+ size_t field_len;
+ field_len = strlen (field);
+
+ /* Search the header entry. */
+ for (j = 0; j < mlp->nitems; j++)
+ if (is_header (mlp->item[j]) && !mlp->item[j]->obsolete)
+ {
+ message_ty *mp = mlp->item[j];
+
+ /* Modify the header entry. */
+ const char *header = mp->msgstr;
+ char *new_header =
+ XCALLOC (strlen (header) + 1,
+ char);
+
+ /* Test whether the field already occurs in the header entry. */
+ const char *h;
+
+ for (h = header; *h != '\0'; )
+ {
+ if (strncmp (h, field, field_len) == 0)
+ break;
+ h = strchr (h, '\n');
+ if (h == NULL)
+ break;
+ h++;
+ }
+ if (h != NULL && *h != '\0')
+ {
+ /* Replace the field. */
+ char *p = new_header;
+ memcpy (p, header, h - header);
+ p += h - header;
+ h = strchr (h, '\n');
+ if (h != NULL)
+ {
+ h++;
+ stpcpy (p, h);
+ }
+ }
+ else
+ {
+ char *p = new_header;
+ p = stpcpy (p, header);
+ }
+
+ mp->msgstr = new_header;
+ }
+}
diff --git a/gettext-tools/src/msgl-header.h b/gettext-tools/src/msgl-header.h
index 968515711..34726e7b0 100644
--- a/gettext-tools/src/msgl-header.h
+++ b/gettext-tools/src/msgl-header.h
@@ -34,6 +34,9 @@ extern void
msgdomain_list_set_header_field (msgdomain_list_ty *mdlp,
const char *field, const char *value);
+extern void
+ message_list_delete_header_field (message_list_ty *mlp, const char *field);
+
#ifdef __cplusplus
}
diff --git a/gettext-tools/src/write-csharp.c b/gettext-tools/src/write-csharp.c
index 5cf573a0f..30e8411cc 100644
--- a/gettext-tools/src/write-csharp.c
+++ b/gettext-tools/src/write-csharp.c
@@ -78,6 +78,7 @@
#include "message.h"
#include "msgfmt.h"
#include "msgl-iconv.h"
+#include "msgl-header.h"
#include "plural-exp.h"
#include "po-charset.h"
#include "xalloc.h"
@@ -645,6 +646,8 @@ msgdomain_write_csharp (message_list_ty *mlp, const char *canon_encoding,
/* Convert the messages to Unicode. */
iconv_message_list (mlp, canon_encoding, po_charset_utf8, NULL);
+ message_list_delete_header_field (mlp, "POT-Creation-Date:");
+
/* Create a temporary directory where we can put the C# file.
A simple temporary file would also be possible but would require us to
define our own variant of mkstemp(): On one hand the functions mktemp(),
diff --git a/gettext-tools/src/write-desktop.c b/gettext-tools/src/write-desktop.c
index 898ac3024..e568d47fb 100644
--- a/gettext-tools/src/write-desktop.c
+++ b/gettext-tools/src/write-desktop.c
@@ -29,6 +29,7 @@
#include <stdio.h>
#include "error.h"
#include "msgl-iconv.h"
+#include "msgl-header.h"
#include "po-charset.h"
#include "read-catalog.h"
#include "read-po.h"
@@ -203,6 +204,8 @@ msgdomain_write_desktop (message_list_ty *mlp,
/* Convert the messages to Unicode. */
iconv_message_list (mlp, canon_encoding, po_charset_utf8, NULL);
+ message_list_delete_header_field (mlp, "POT-Creation-Date:");
+
/* Create a single-element operands and run the bulk operation on it. */
operand.language = (char *) locale_name;
operand.mlp = mlp;
diff --git a/gettext-tools/src/write-java.c b/gettext-tools/src/write-java.c
index eef8c79d2..039ed94d9 100644
--- a/gettext-tools/src/write-java.c
+++ b/gettext-tools/src/write-java.c
@@ -61,6 +61,7 @@
#include "message.h"
#include "msgfmt.h"
#include "msgl-iconv.h"
+#include "msgl-header.h"
#include "plural-exp.h"
#include "po-charset.h"
#include "xalloc.h"
@@ -1066,6 +1067,8 @@ msgdomain_write_java (message_list_ty *mlp, const char *canon_encoding,
/* Convert the messages to Unicode. */
iconv_message_list (mlp, canon_encoding, po_charset_utf8, NULL);
+ message_list_delete_header_field (mlp, "POT-Creation-Date:");
+
if (output_source)
{
tmpdir = NULL;
diff --git a/gettext-tools/src/write-mo.c b/gettext-tools/src/write-mo.c
index b4a789494..b99dece02 100644
--- a/gettext-tools/src/write-mo.c
+++ b/gettext-tools/src/write-mo.c
@@ -48,6 +48,9 @@
#include "binary-io.h"
#include "fwriteerror.h"
#include "gettext.h"
+#include "read-catalog.h"
+#include "read-stringtable.h"
+#include "msgl-header.h"
#define _(str) gettext (str)
@@ -804,6 +807,7 @@ msgdomain_write_mo (message_list_ty *mlp,
if (output_file != NULL)
{
+ message_list_delete_header_field (mlp, "POT-Creation-Date:");
write_table (output_file, mlp);
/* Make sure nothing went wrong. */
diff --git a/gettext-tools/src/write-qt.c b/gettext-tools/src/write-qt.c
index 978bf0938..4a47d241f 100644
--- a/gettext-tools/src/write-qt.c
+++ b/gettext-tools/src/write-qt.c
@@ -35,6 +35,7 @@
#include "message.h"
#include "po-charset.h"
#include "msgl-iconv.h"
+#include "msgl-header.h"
#include "hash-string.h"
#include "unistr.h"
#include "xalloc.h"
@@ -742,6 +743,7 @@ strings, not in the untranslated strings\n")));
if (output_file != NULL)
{
+ message_list_delete_header_field (mlp, "POT-Creation-Date:");
write_qm (output_file, mlp);
/* Make sure nothing went wrong. */
diff --git a/gettext-tools/src/write-resources.c b/gettext-tools/src/write-resources.c
index e5103c4b0..ec74eadcd 100644
--- a/gettext-tools/src/write-resources.c
+++ b/gettext-tools/src/write-resources.c
@@ -38,6 +38,7 @@
#include "message.h"
#include "msgfmt.h"
#include "msgl-iconv.h"
+#include "msgl-header.h"
#include "po-charset.h"
#include "xalloc.h"
#include "concat-filename.h"
@@ -114,6 +115,8 @@ msgdomain_write_csharp_resources (message_list_ty *mlp,
const char *domain_name,
const char *file_name)
{
+ message_list_delete_header_field (mlp, "POT-Creation-Date:");
+
/* If no entry for this domain don't even create the file. */
if (mlp->nitems != 0)
{
diff --git a/gettext-tools/src/write-tcl.c b/gettext-tools/src/write-tcl.c
index 0dbe3aa88..04b62d9c8 100644
--- a/gettext-tools/src/write-tcl.c
+++ b/gettext-tools/src/write-tcl.c
@@ -34,6 +34,7 @@
#include "xerror.h"
#include "message.h"
#include "msgl-iconv.h"
+#include "msgl-header.h"
#include "po-charset.h"
#include "xalloc.h"
#include "xmalloca.h"
@@ -216,6 +217,7 @@ but the Tcl message catalog format doesn't support plural handling\n")));
return 1;
}
+ message_list_delete_header_field (mlp, "POT-Creation-Date:");
write_msg (output_file, mlp, frobbed_locale_name);
/* Make sure nothing went wrong. */
diff --git a/gettext-tools/src/write-xml.c b/gettext-tools/src/write-xml.c
index 79b7b5dbc..f6cd6c003 100644
--- a/gettext-tools/src/write-xml.c
+++ b/gettext-tools/src/write-xml.c
@@ -29,6 +29,7 @@
#include <stdio.h>
#include "error.h"
#include "msgl-iconv.h"
+#include "msgl-header.h"
#include "po-charset.h"
#include "read-catalog.h"
#include "read-po.h"
@@ -94,6 +95,8 @@ msgdomain_write_xml (message_list_ty *mlp,
/* Convert the messages to Unicode. */
iconv_message_list (mlp, canon_encoding, po_charset_utf8, NULL);
+ message_list_delete_header_field (mlp, "POT-Creation-Date:");
+
/* Create a single-element operands and run the bulk operation on it. */
operand.language = (char *) locale_name;
operand.mlp = mlp;
diff --git a/gettext-tools/tests/Makefile.am b/gettext-tools/tests/Makefile.am
index 0dfb4d867..38b47b922 100644
--- a/gettext-tools/tests/Makefile.am
+++ b/gettext-tools/tests/Makefile.am
@@ -46,7 +46,7 @@ TESTS = gettext-1 gettext-2 gettext-3 gettext-4 gettext-5 gettext-6 gettext-7 \
msgfilter-sr-latin-1 msgfilter-quote-1 \
msgfmt-1 msgfmt-2 msgfmt-3 msgfmt-4 msgfmt-5 msgfmt-6 msgfmt-7 \
msgfmt-8 msgfmt-9 msgfmt-10 msgfmt-11 msgfmt-12 msgfmt-13 msgfmt-14 \
- msgfmt-15 msgfmt-16 msgfmt-17 msgfmt-18 \
+ msgfmt-15 msgfmt-16 msgfmt-17 msgfmt-18 msgfmt-19 \
msgfmt-properties-1 \
msgfmt-qt-1 msgfmt-qt-2 \
msgfmt-desktop-1 msgfmt-desktop-2 \
diff --git a/gettext-tools/tests/msgfmt-19 b/gettext-tools/tests/msgfmt-19
new file mode 100755
index 000000000..88574c817
--- /dev/null
+++ b/gettext-tools/tests/msgfmt-19
@@ -0,0 +1,66 @@
+#! /bin/sh
+. "${srcdir=.}/init.sh"; path_prepend_ . ../src
+
+# Test accelerators.
+
+cat <<\EOF > mf-19-1.po
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR Free Software Foundation, Inc.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: GNU bison\n"
+"POT-Creation-Date: 2017-04-05 19:47+0200\n"
+"PO-Revision-Date: 2017-06-07 09:07+0000\n"
+"Last-Translator: ABC DEF <abc@gnu.uucp>\n"
+"Language-Team: test <test@li.org>\n"
+"Language: test\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+msgid "pen &File"
+msgstr "pen File"
+
+msgid "how _Help"
+msgstr "how Help"
+EOF
+
+
+cat <<\EOF > mf-19-2.po
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR Free Software Foundation, Inc.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: GNU bison\n"
+"POT-Creation-Date: 2016-03-04 18:46+0100\n"
+"PO-Revision-Date: 2017-06-07 09:07+0000\n"
+"Last-Translator: ABC DEF <abc@gnu.uucp>\n"
+"Language-Team: test <test@li.org>\n"
+"Language: test\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+msgid "pen &File"
+msgstr "pen File"
+
+msgid "how _Help"
+msgstr "how Help"
+EOF
+
+
+: ${MSGFMT=msgfmt}
+${MSGFMT} -o mf-19-1.mo mf-19-1.po 2>/dev/null
+test $? = 0 || { Exit 1; }
+
+: ${MSGFMT=msgfmt}
+${MSGFMT} -o mf-19-2.mo mf-19-2.po 2>/dev/null
+test $? = 0 || { Exit 1; }
+
+: ${DIFF=diff}
+${DIFF} mf-19-1.mo mf-19-2.mo
+test $? = 0 || { Exit 1; }
commit dea676293993e16ae50119ce1edfcc18e586c3f7
Author: Bruno Haible <bruno@clisp.org>
Date: Thu Dec 15 22:51:00 2016 +0100
Polish the last commit.
diff --git a/gettext-tools/src/msgl-header.c b/gettext-tools/src/msgl-header.c
index 25ae33af3..219b412ab 100644
--- a/gettext-tools/src/msgl-header.c
+++ b/gettext-tools/src/msgl-header.c
@@ -36,20 +36,20 @@ static const struct
const char *name;
size_t len;
}
- known_fields[] =
- {
- { "Project-Id-Version:", sizeof ("Project-Id-Version:") - 1 },
- { "Report-Msgid-Bugs-To:", sizeof ("Report-Msgid-Bugs-To:") - 1 },
- { "POT-Creation-Date:", sizeof ("POT-Creation-Date:") - 1 },
- { "PO-Revision-Date:", sizeof ("PO-Revision-Date:") - 1 },
- { "Last-Translator:", sizeof ("Last-Translator:") - 1 },
- { "Language-Team:", sizeof ("Language-Team:") - 1 },
- { "Language:", sizeof ("Language:") - 1 },
- { "MIME-Version:", sizeof ("MIME-Version:") - 1 },
- { "Content-Type:", sizeof ("Content-Type:") - 1 },
- { "Content-Transfer-Encoding:",
- sizeof ("Content-Transfer-Encoding:") - 1 }
- };
+known_fields[] =
+ {
+ { "Project-Id-Version:", sizeof ("Project-Id-Version:") - 1 },
+ { "Report-Msgid-Bugs-To:", sizeof ("Report-Msgid-Bugs-To:") - 1 },
+ { "POT-Creation-Date:", sizeof ("POT-Creation-Date:") - 1 },
+ { "PO-Revision-Date:", sizeof ("PO-Revision-Date:") - 1 },
+ { "Last-Translator:", sizeof ("Last-Translator:") - 1 },
+ { "Language-Team:", sizeof ("Language-Team:") - 1 },
+ { "Language:", sizeof ("Language:") - 1 },
+ { "MIME-Version:", sizeof ("MIME-Version:") - 1 },
+ { "Content-Type:", sizeof ("Content-Type:") - 1 },
+ { "Content-Transfer-Encoding:", sizeof ("Content-Transfer-Encoding:") - 1 }
+ };
+
void
msgdomain_list_set_header_field (msgdomain_list_ty *mdlp,
@@ -175,21 +175,8 @@ void
message_list_delete_header_field (message_list_ty *mlp,
const char *field)
{
+ size_t field_len = strlen (field);
size_t j;
- int field_index;
- size_t k;
-
- /* Search the field in known_fields[]. */
- field_index = -1;
- for (k = 0; k < SIZEOF (known_fields); k++)
- if (strcmp (known_fields[k].name, field) == 0)
- {
- field_index = k;
- break;
- }
-
- size_t field_len;
- field_len = strlen (field);
/* Search the header entry. */
for (j = 0; j < mlp->nitems; j++)
@@ -199,11 +186,8 @@ message_list_delete_header_field (message_list_ty *mlp,
/* Modify the header entry. */
const char *header = mp->msgstr;
- char *new_header =
- XCALLOC (strlen (header) + 1,
- char);
- /* Test whether the field already occurs in the header entry. */
+ /* Test whether the field occurs in the header entry. */
const char *h;
for (h = header; *h != '\0'; )
@@ -217,7 +201,9 @@ message_list_delete_header_field (message_list_ty *mlp,
}
if (h != NULL && *h != '\0')
{
- /* Replace the field. */
+ /* Delete the field. */
+ char *new_header = XCALLOC (strlen (header) + 1, char);
+
char *p = new_header;
memcpy (p, header, h - header);
p += h - header;
@@ -225,15 +211,12 @@ message_list_delete_header_field (message_list_ty *mlp,
if (h != NULL)
{
h++;
- stpcpy (p, h);
+ strcpy (p, h);
}
+ else
+ *p = '\0';
+
+ mp->msgstr = new_header;
}
- else
- {
- char *p = new_header;
- p = stpcpy (p, header);
- }
-
- mp->msgstr = new_header;
}
}
diff --git a/gettext-tools/src/msgl-header.h b/gettext-tools/src/msgl-header.h
index 34726e7b0..35524a37f 100644
--- a/gettext-tools/src/msgl-header.h
+++ b/gettext-tools/src/msgl-header.h
@@ -34,8 +34,11 @@ extern void
msgdomain_list_set_header_field (msgdomain_list_ty *mdlp,
const char *field, const char *value);
+/* Remove the given field from the header.
+ The FIELD name ends in a colon. */
extern void
- message_list_delete_header_field (message_list_ty *mlp, const char *field);
+ message_list_delete_header_field (message_list_ty *mlp,
+ const char *field);
#ifdef __cplusplus
diff --git a/gettext-tools/src/write-csharp.c b/gettext-tools/src/write-csharp.c
index 30e8411cc..161cd4f45 100644
--- a/gettext-tools/src/write-csharp.c
+++ b/gettext-tools/src/write-csharp.c
@@ -646,8 +646,10 @@ msgdomain_write_csharp (message_list_ty *mlp, const char *canon_encoding,
/* Convert the messages to Unicode. */
iconv_message_list (mlp, canon_encoding, po_charset_utf8, NULL);
+ /* Support for "reproducible builds": Delete information that may vary
+ between builds in the same conditions. */
message_list_delete_header_field (mlp, "POT-Creation-Date:");
-
+
/* Create a temporary directory where we can put the C# file.
A simple temporary file would also be possible but would require us to
define our own variant of mkstemp(): On one hand the functions mktemp(),
diff --git a/gettext-tools/src/write-desktop.c b/gettext-tools/src/write-desktop.c
index e568d47fb..657620dcb 100644
--- a/gettext-tools/src/write-desktop.c
+++ b/gettext-tools/src/write-desktop.c
@@ -204,8 +204,10 @@ msgdomain_write_desktop (message_list_ty *mlp,
/* Convert the messages to Unicode. */
iconv_message_list (mlp, canon_encoding, po_charset_utf8, NULL);
+ /* Support for "reproducible builds": Delete information that may vary
+ between builds in the same conditions. */
message_list_delete_header_field (mlp, "POT-Creation-Date:");
-
+
/* Create a single-element operands and run the bulk operation on it. */
operand.language = (char *) locale_name;
operand.mlp = mlp;
diff --git a/gettext-tools/src/write-java.c b/gettext-tools/src/write-java.c
index 039ed94d9..9ddfac868 100644
--- a/gettext-tools/src/write-java.c
+++ b/gettext-tools/src/write-java.c
@@ -1067,6 +1067,8 @@ msgdomain_write_java (message_list_ty *mlp, const char *canon_encoding,
/* Convert the messages to Unicode. */
iconv_message_list (mlp, canon_encoding, po_charset_utf8, NULL);
+ /* Support for "reproducible builds": Delete information that may vary
+ between builds in the same conditions. */
message_list_delete_header_field (mlp, "POT-Creation-Date:");
if (output_source)
diff --git a/gettext-tools/src/write-mo.c b/gettext-tools/src/write-mo.c
index b99dece02..69196550c 100644
--- a/gettext-tools/src/write-mo.c
+++ b/gettext-tools/src/write-mo.c
@@ -45,12 +45,10 @@
#include "xsize.h"
#include "xalloc.h"
#include "xmalloca.h"
+#include "msgl-header.h"
#include "binary-io.h"
#include "fwriteerror.h"
#include "gettext.h"
-#include "read-catalog.h"
-#include "read-stringtable.h"
-#include "msgl-header.h"
#define _(str) gettext (str)
@@ -789,6 +787,10 @@ msgdomain_write_mo (message_list_ty *mlp,
/* If no entry for this domain don't even create the file. */
if (mlp->nitems != 0)
{
+ /* Support for "reproducible builds": Delete information that may vary
+ between builds in the same conditions. */
+ message_list_delete_header_field (mlp, "POT-Creation-Date:");
+
if (strcmp (domain_name, "-") == 0)
{
output_file = stdout;
@@ -807,7 +809,6 @@ msgdomain_write_mo (message_list_ty *mlp,
if (output_file != NULL)
{
- message_list_delete_header_field (mlp, "POT-Creation-Date:");
write_table (output_file, mlp);
/* Make sure nothing went wrong. */
diff --git a/gettext-tools/src/write-qt.c b/gettext-tools/src/write-qt.c
index 4a47d241f..b3cca5a8e 100644
--- a/gettext-tools/src/write-qt.c
+++ b/gettext-tools/src/write-qt.c
@@ -725,6 +725,10 @@ strings, not in the untranslated strings\n")));
}
}
+ /* Support for "reproducible builds": Delete information that may vary
+ between builds in the same conditions. */
+ message_list_delete_header_field (mlp, "POT-Creation-Date:");
+
if (strcmp (domain_name, "-") == 0)
{
output_file = stdout;
@@ -743,7 +747,6 @@ strings, not in the untranslated strings\n")));
if (output_file != NULL)
{
- message_list_delete_header_field (mlp, "POT-Creation-Date:");
write_qm (output_file, mlp);
/* Make sure nothing went wrong. */
diff --git a/gettext-tools/src/write-resources.c b/gettext-tools/src/write-resources.c
index ec74eadcd..8cc33cc13 100644
--- a/gettext-tools/src/write-resources.c
+++ b/gettext-tools/src/write-resources.c
@@ -115,8 +115,6 @@ msgdomain_write_csharp_resources (message_list_ty *mlp,
const char *domain_name,
const char *file_name)
{
- message_list_delete_header_field (mlp, "POT-Creation-Date:");
-
/* If no entry for this domain don't even create the file. */
if (mlp->nitems != 0)
{
@@ -161,6 +159,10 @@ but the C# .resources format doesn't support plural handling\n")));
/* Convert the messages to Unicode. */
iconv_message_list (mlp, canon_encoding, po_charset_utf8, NULL);
+ /* Support for "reproducible builds": Delete information that may vary
+ between builds in the same conditions. */
+ message_list_delete_header_field (mlp, "POT-Creation-Date:");
+
/* Execute the WriteResource program. */
{
const char *args[2];
diff --git a/gettext-tools/src/write-tcl.c b/gettext-tools/src/write-tcl.c
index 04b62d9c8..b61608e76 100644
--- a/gettext-tools/src/write-tcl.c
+++ b/gettext-tools/src/write-tcl.c
@@ -185,6 +185,10 @@ but the Tcl message catalog format doesn't support plural handling\n")));
/* Convert the messages to Unicode. */
iconv_message_list (mlp, canon_encoding, po_charset_utf8, NULL);
+ /* Support for "reproducible builds": Delete information that may vary
+ between builds in the same conditions. */
+ message_list_delete_header_field (mlp, "POT-Creation-Date:");
+
/* Now create the file. */
{
size_t len;
@@ -217,7 +221,6 @@ but the Tcl message catalog format doesn't support plural handling\n")));
return 1;
}
- message_list_delete_header_field (mlp, "POT-Creation-Date:");
write_msg (output_file, mlp, frobbed_locale_name);
/* Make sure nothing went wrong. */
diff --git a/gettext-tools/src/write-xml.c b/gettext-tools/src/write-xml.c
index f6cd6c003..5c719f92e 100644
--- a/gettext-tools/src/write-xml.c
+++ b/gettext-tools/src/write-xml.c
@@ -95,8 +95,10 @@ msgdomain_write_xml (message_list_ty *mlp,
/* Convert the messages to Unicode. */
iconv_message_list (mlp, canon_encoding, po_charset_utf8, NULL);
+ /* Support for "reproducible builds": Delete information that may vary
+ between builds in the same conditions. */
message_list_delete_header_field (mlp, "POT-Creation-Date:");
-
+
/* Create a single-element operands and run the bulk operation on it. */
operand.language = (char *) locale_name;
operand.mlp = mlp;
diff --git a/gettext-tools/tests/msgfmt-19 b/gettext-tools/tests/msgfmt-19
index 88574c817..76d4a739d 100755
--- a/gettext-tools/tests/msgfmt-19
+++ b/gettext-tools/tests/msgfmt-19
@@ -1,7 +1,8 @@
#! /bin/sh
. "${srcdir=.}/init.sh"; path_prepend_ . ../src
-# Test accelerators.
+# Test that PO files that differ only in the POT-Creation-Date yield the
+# exact same .mo file.
cat <<\EOF > mf-19-1.po
# SOME DESCRIPTIVE TITLE.
@@ -20,14 +21,13 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-msgid "pen &File"
-msgstr "pen File"
+msgid "Open &File"
+msgstr "Open File"
-msgid "how _Help"
-msgstr "how Help"
+msgid "Show _Help"
+msgstr "Show Help"
EOF
-
cat <<\EOF > mf-19-2.po
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR Free Software Foundation, Inc.
@@ -45,14 +45,13 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-msgid "pen &File"
-msgstr "pen File"
+msgid "Open &File"
+msgstr "Open File"
-msgid "how _Help"
-msgstr "how Help"
+msgid "Show _Help"
+msgstr "Show Help"
EOF
-
: ${MSGFMT=msgfmt}
${MSGFMT} -o mf-19-1.mo mf-19-1.po 2>/dev/null
test $? = 0 || { Exit 1; }

View File

@ -1,20 +0,0 @@
Bug 1106843 -- msgfmt crashes when writing java source code and the .po file has a POT-Creation-Date header
Due d13f165b83701dffc14f7151419e0c00c00c0d1b there will be the
line with the POT-Creation-Date: tag removed but the lenght of
the changed message string does also change with this.
---
gettext-tools/src/msgl-header.c | 1 +
1 file changed, 1 insertion(+)
--- gettext-tools/src/msgl-header.c
+++ gettext-tools/src/msgl-header.c 2018-09-19 08:05:54.340122157 +0000
@@ -217,6 +217,7 @@ message_list_delete_header_field (messag
*p = '\0';
mp->msgstr = new_header;
+ mp->msgstr_len = strlen (new_header) + 1;
}
}
}

View File

@ -1,31 +1,6 @@
merged upstream <https://savannah.gnu.org/bugs/?54367>
Index: gettext-0.19.8.1/gettext-runtime/man/help2man
===================================================================
--- gettext-0.19.8.1.orig/gettext-runtime/man/help2man
+++ gettext-0.19.8.1/gettext-runtime/man/help2man
@@ -179,7 +179,7 @@ my ($help_text, $version_text) = map {
or die "$this_program: can't get `--$_' info from $ARGV[0]\n"
} qw(help version);
-my $date = strftime "%B %Y", localtime;
+my $date = strftime "%B %Y", gmtime($ENV{SOURCE_DATE_EPOCH} || time);
(my $program = $ARGV[0]) =~ s!.*/!!;
my $package = $program;
my $version;
Index: gettext-0.19.8.1/gettext-tools/man/help2man
===================================================================
--- gettext-0.19.8.1.orig/gettext-tools/man/help2man
+++ gettext-0.19.8.1/gettext-tools/man/help2man
@@ -179,7 +179,7 @@ my ($help_text, $version_text) = map {
or die "$this_program: can't get `--$_' info from $ARGV[0]\n"
} qw(help version);
-my $date = strftime "%B %Y", localtime;
+my $date = strftime "%B %Y", gmtime($ENV{SOURCE_DATE_EPOCH} || time);
(my $program = $ARGV[0]) =~ s!.*/!!;
my $package = $program;
my $version;
Index: gettext-0.19.8.1/gettext-tools/src/xgettext.c
===================================================================
--- gettext-0.19.8.1.orig/gettext-tools/src/xgettext.c