6
0

13 Commits

Author SHA256 Message Date
438019f8d8 Accepting request 1295330 from Base:System
OBS-URL: https://build.opensuse.org/request/show/1295330
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/gettext-runtime?expand=0&rev=99
2025-08-10 20:20:33 +00:00
Ana Guerrero
aba68e65ed - Do not build support for Java and C# on i586.
OBS-URL: https://build.opensuse.org/package/show/Base:System/gettext-runtime?expand=0&rev=211
2025-07-23 13:30:41 +00:00
Ana Guerrero
2de5237db3 - Update to 0.25.1:
* Bug fixes:
  - autopoint no longer fails if configure.ac contains no
    AM_GNU_GETTEXT_VERSION or AM_GNU_GETTEXT_REQUIRE_VERSION invocation.
  - nls.m4 is installed again under $PREFIX/share/aclocal/.
- Update to 0.25.1:
  * Bug fixes:
  - autopoint no longer fails if configure.ac contains no
    AM_GNU_GETTEXT_VERSION or AM_GNU_GETTEXT_REQUIRE_VERSION invocation.
  - nls.m4 is installed again under $PREFIX/share/aclocal/.
- Update to 0.25.1:
  * Bug fixes:
  - autopoint no longer fails if configure.ac contains no
    AM_GNU_GETTEXT_VERSION or AM_GNU_GETTEXT_REQUIRE_VERSION invocation.
  - nls.m4 is installed again under $PREFIX/share/aclocal/.
- Update to 0.25.1:
  * Bug fixes:
  - autopoint no longer fails if configure.ac contains no
    AM_GNU_GETTEXT_VERSION or AM_GNU_GETTEXT_REQUIRE_VERSION invocation.
  - nls.m4 is installed again under $PREFIX/share/aclocal/.

OBS-URL: https://build.opensuse.org/package/show/Base:System/gettext-runtime?expand=0&rev=210
2025-07-17 12:52:36 +00:00
Ana Guerrero
31b84be44f Accepting request 1278012 from home:AndreasStieger:branches:Base:System
gettext-runtime 0.25

OBS-URL: https://build.opensuse.org/request/show/1278012
OBS-URL: https://build.opensuse.org/package/show/Base:System/gettext-runtime?expand=0&rev=209
2025-05-16 11:22:54 +00:00
f8e5dd4052 Accepting request 1276080 from home:AndreasStieger:branches:Base:System
- update upstream signing key and verify source signatures (again)

OBS-URL: https://build.opensuse.org/request/show/1276080
OBS-URL: https://build.opensuse.org/package/show/Base:System/gettext-runtime?expand=0&rev=208
2025-05-15 15:27:42 +00:00
Ana Guerrero
20de25861b * reproducible-jar.patch
OBS-URL: https://build.opensuse.org/package/show/Base:System/gettext-runtime?expand=0&rev=207
2025-04-09 20:20:34 +00:00
Ana Guerrero
4776349cff Accepting request 1268228 from home:anag:branches:Base:System
- Update to 24.0
  * Programming languages support:
    - C:
      + A new example 'hello-c-http' has been added, showing the use
        of GNU gettext in a multithreaded web server.
    - C++:
      + A new example 'hello-c++-gnome3' has been added.
    - Ruby:
      + A new example 'hello-ruby' has been added.
  * Improvements for maintainers:
    - When xgettext creates the POT file of a package under Git version
      control, the 'POT-Creation-Date' in the POT file usually no longer
      changes gratuitously each time the POT file is regenerated.
- Update to 23.0
  * Internationalized data formats:
    - XML
      + The escaping of characters such as & < > has been changed:
      + No escaping is done any more by xgettext, when creating a POT file.
      + Instead, extra escaping can be requested for the msgfmt pass, when
        merging into an XML file.
      + The default value of 'escape' in the <gt:escapeRule> was "yes";
        now it is "no".
      + This means that existing translations of older POT files may no
        longer fully apply. As a maintainer of a package that has
        translatable XML files, you need to regenerate the POT file and
        pass it on to your translators.
      + XML schemas for .its and .loc files are now provided.
      + The value of the xml:lang attribute, inserted by msgfmt,
        now conforms to W3C standards.
      + 'msgfmt --xml' accept an option --replace-text, that causes

OBS-URL: https://build.opensuse.org/request/show/1268228
OBS-URL: https://build.opensuse.org/package/show/Base:System/gettext-runtime?expand=0&rev=206
2025-04-09 20:10:37 +00:00
62affc6d77 Accepting request 1249829 from Base:System
OBS-URL: https://build.opensuse.org/request/show/1249829
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/gettext-runtime?expand=0&rev=98
2025-03-04 17:31:35 +00:00
bad31401bb - Fix crash while handling po files with malformed header and
process them properly
  (0003-Fix-malformed-header-processing.patch, boo#1227316).

OBS-URL: https://build.opensuse.org/package/show/Base:System/gettext-runtime?expand=0&rev=204
2025-03-03 14:13:22 +00:00
ca82824d8e Accepting request 1202933 from Base:System
OBS-URL: https://build.opensuse.org/request/show/1202933
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/gettext-runtime?expand=0&rev=97
2024-09-25 19:51:11 +00:00
97d317b6ed Move envsubst requires into main package, gettext.sh is not part of gettext-tools, but gettext-runtime, fixes boo#1227070
OBS-URL: https://build.opensuse.org/package/show/Base:System/gettext-runtime?expand=0&rev=202
2024-09-24 11:53:01 +00:00
d555f64a28 Accepting request 1188352 from Base:System
OBS-URL: https://build.opensuse.org/request/show/1188352
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/gettext-runtime?expand=0&rev=96
2024-07-19 13:24:55 +00:00
a9fb771119 Accepting request 1188059 from home:bmwiedemann:branches:Base:System
replace with upstream patch
- Use %autosetup
- Add reproducible-jar.patch to use a constant jar mtime
  for bit-reproducible builds

OBS-URL: https://build.opensuse.org/request/show/1188059
OBS-URL: https://build.opensuse.org/package/show/Base:System/gettext-runtime?expand=0&rev=200
2024-07-18 08:43:30 +00:00
22 changed files with 986 additions and 673 deletions

View File

@@ -1,4 +1,4 @@
From a079538e51c6c6e9855d9e7bde1519eaa59bb94d Mon Sep 17 00:00:00 2001 From dbf95c6ed2239f4831c06d84cf1eef5890cee1c7 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Mark=C3=A9ta=20Cal=C3=A1bkov=C3=A1?= From: =?UTF-8?q?Mark=C3=A9ta=20Cal=C3=A1bkov=C3=A1?=
<meggy.calabkova@gmail.com> <meggy.calabkova@gmail.com>
Date: Thu, 9 Jan 2020 14:40:25 +0100 Date: Thu, 9 Jan 2020 14:40:25 +0100
@@ -6,63 +6,67 @@ Subject: [PATCH 1/2] msgcat: Add feature to use the newest po file.
When concatenating po files, it is often useful to prefer strings from When concatenating po files, it is often useful to prefer strings from
the newest file regardless their ordering on the command line. the newest file regardless their ordering on the command line.
Updated to 0.24
--- ---
gettext-tools/src/Makefile.am | 4 +- gettext-tools/src/Makefile.am | 3 +-
gettext-tools/src/message.c | 6 +++ gettext-tools/src/message.c | 8 +++
gettext-tools/src/message.h | 4 ++ gettext-tools/src/message.h | 4 ++
gettext-tools/src/msgcat.c | 10 ++++ gettext-tools/src/msgcat.c | 10 ++++
gettext-tools/src/msgl-age.c | 96 +++++++++++++++++++++++++++++++++ gettext-tools/src/msgl-age.c | 96 +++++++++++++++++++++++++++++++++
gettext-tools/src/msgl-age.h | 36 +++++++++++++ gettext-tools/src/msgl-age.h | 36 +++++++++++++
gettext-tools/src/msgl-cat.c | 15 ++++++ gettext-tools/src/msgl-cat.c | 15 ++++++
gettext-tools/src/msgl-cat.h | 1 + gettext-tools/src/msgl-cat.h | 1 +
gettext-tools/src/msgl-header.c | 47 ++++++++++++++++ gettext-tools/src/msgl-header.c | 46 ++++++++++++++++
gettext-tools/src/msgl-header.h | 6 +++ gettext-tools/src/msgl-header.h | 6 +++
10 files changed, 223 insertions(+), 2 deletions(-) 10 files changed, 224 insertions(+), 1 deletion(-)
create mode 100644 gettext-tools/src/msgl-age.c create mode 100644 gettext-tools/src/msgl-age.c
create mode 100644 gettext-tools/src/msgl-age.h create mode 100644 gettext-tools/src/msgl-age.h
Index: gettext-0.21/gettext-tools/src/Makefile.am diff --git a/gettext-tools/src/Makefile.am b/gettext-tools/src/Makefile.am
=================================================================== index 27d2340..bb9f92f 100644
--- gettext-0.21.orig/gettext-tools/src/Makefile.am --- a/gettext-tools/src/Makefile.am
+++ gettext-0.21/gettext-tools/src/Makefile.am +++ b/gettext-tools/src/Makefile.am
@@ -43,7 +43,7 @@ noinst_HEADERS = \ @@ -53,7 +53,7 @@ noinst_HEADERS = \
write-catalog.h write-po.h write-properties.h write-stringtable.h \ write-catalog.h write-po.h write-properties.h write-stringtable.h \
dir-list.h file-list.h po-gram-gen.h po-gram-gen2.h cldr-plural.h \ dir-list.h file-list.h read-po-gram.h cldr-plural.h \
cldr-plural-exp.h locating-rule.h its.h search-path.h \ cldr-plural-exp.h locating-rules.h its.h search-path.h \
- msgl-charset.h msgl-equal.h msgl-iconv.h msgl-ascii.h msgl-ofn.h msgl-cat.h \ - msgl-charset.h msgl-equal.h msgl-iconv.h msgl-ascii.h msgl-ofn.h msgl-cat.h \
+ msgl-age.h msgl-charset.h msgl-equal.h msgl-iconv.h msgl-ascii.h msgl-ofn.h msgl-cat.h \ + msgl-age.h msgl-charset.h msgl-equal.h msgl-iconv.h msgl-ascii.h msgl-ofn.h msgl-cat.h \
msgl-header.h msgl-english.h msgl-check.h msgl-fsearch.h msgfmt.h msgunfmt.h \ msgl-header.h msgl-english.h msgl-check.h msgl-fsearch.h msgfmt.h msgunfmt.h \
plural-count.h plural-eval.h plural-distrib.h \ plural-count.h plural-eval.h plural-distrib.h \
read-mo.h write-mo.h \ read-mo.h write-mo.h \
@@ -174,6 +174,7 @@ FORMAT_SOURCE += \ @@ -218,6 +218,7 @@ libgettextsrc_la_SOURCES = \
$(COMMON_SOURCE) \ read-catalog-special.c \
read-catalog.c \ read-catalog.c read-catalog-file.c \
write-catalog.c write-properties.c write-stringtable.c write-po.c \ write-catalog.c write-properties.c write-stringtable.c write-po.c \
+ msgl-age.c \ + msgl-age.c \
msgl-ascii.c \ msgl-ascii.c \
msgl-ofn.c \ msgl-ofn.c \
msgl-iconv.c \ msgl-iconv.c \
Index: gettext-0.21/gettext-tools/src/message.c diff --git a/gettext-tools/src/message.c b/gettext-tools/src/message.c
=================================================================== index ea1f61c..6e3aada 100644
--- gettext-0.21.orig/gettext-tools/src/message.c --- a/gettext-tools/src/message.c
+++ gettext-0.21/gettext-tools/src/message.c +++ b/gettext-tools/src/message.c
@@ -356,6 +356,12 @@ message_list_append (message_list_ty *ml @@ -363,6 +363,14 @@ message_list_append (message_list_ty *mlp, message_ty *mp)
abort ();
} }
+void +void
+message_list_append_list (message_list_ty *mlp, message_list_ty *mlp2) +message_list_append_list (message_list_ty *mlp, message_list_ty *mlp2)
+{ +{
+ for (int i = 0; i < mlp2->nitems; i++) + for (int i = 0; i < mlp2->nitems; i++)
+ message_list_append (mlp,mlp2->item[i]); + message_list_append (mlp,mlp2->item[i]);
+} +}
+
+
void void
message_list_prepend (message_list_ty *mlp, message_ty *mp) message_list_prepend (message_list_ty *mlp, message_ty *mp)
Index: gettext-0.21/gettext-tools/src/message.h {
=================================================================== diff --git a/gettext-tools/src/message.h b/gettext-tools/src/message.h
--- gettext-0.21.orig/gettext-tools/src/message.h index c7c9699..6ca13cd 100644
+++ gettext-0.21/gettext-tools/src/message.h --- a/gettext-tools/src/message.h
+++ b/gettext-tools/src/message.h
@@ -24,6 +24,7 @@ @@ -24,6 +24,7 @@
#include "mem-hash-map.h" #include "mem-hash-map.h"
@@ -71,16 +75,16 @@ Index: gettext-0.21/gettext-tools/src/message.h
#ifdef __cplusplus #ifdef __cplusplus
@@ -269,6 +270,8 @@ extern void @@ -271,6 +272,8 @@ extern void
message_list_free (message_list_ty *mlp, int keep_messages);
extern void extern void
message_list_append (message_list_ty *mlp, message_ty *mp); message_list_append (message_list_ty *mlp, message_ty *mp);
extern void
+ message_list_append_list (message_list_ty *mlp, message_list_ty *mlp2);
+extern void +extern void
+ message_list_append_list (message_list_ty *mlp, message_list_ty *mlp2);
extern void
message_list_prepend (message_list_ty *mlp, message_ty *mp); message_list_prepend (message_list_ty *mlp, message_ty *mp);
extern void extern void
message_list_insert_at (message_list_ty *mlp, size_t n, message_ty *mp); @@ -353,6 +356,7 @@ struct msgdomain_list_ty
@@ -350,6 +353,7 @@ struct msgdomain_list_ty
size_t nitems_max; size_t nitems_max;
bool use_hashtable; bool use_hashtable;
const char *encoding; /* canonicalized encoding or NULL if unknown */ const char *encoding; /* canonicalized encoding or NULL if unknown */
@@ -88,11 +92,11 @@ Index: gettext-0.21/gettext-tools/src/message.h
}; };
extern msgdomain_list_ty * extern msgdomain_list_ty *
Index: gettext-0.21/gettext-tools/src/msgcat.c diff --git a/gettext-tools/src/msgcat.c b/gettext-tools/src/msgcat.c
=================================================================== index 595493e..909f073 100644
--- gettext-0.21.orig/gettext-tools/src/msgcat.c --- a/gettext-tools/src/msgcat.c
+++ gettext-0.21/gettext-tools/src/msgcat.c +++ b/gettext-tools/src/msgcat.c
@@ -88,6 +88,7 @@ static const struct option long_options[ @@ -89,6 +89,7 @@ static const struct option long_options[] =
{ "to-code", required_argument, NULL, 't' }, { "to-code", required_argument, NULL, 't' },
{ "unique", no_argument, NULL, 'u' }, { "unique", no_argument, NULL, 'u' },
{ "use-first", no_argument, NULL, CHAR_MAX + 1 }, { "use-first", no_argument, NULL, CHAR_MAX + 1 },
@@ -100,7 +104,7 @@ Index: gettext-0.21/gettext-tools/src/msgcat.c
{ "version", no_argument, NULL, 'V' }, { "version", no_argument, NULL, 'V' },
{ "width", required_argument, NULL, 'w' }, { "width", required_argument, NULL, 'w' },
{ "more-than", required_argument, NULL, '>' }, { "more-than", required_argument, NULL, '>' },
@@ -141,6 +142,7 @@ main (int argc, char **argv) @@ -144,6 +145,7 @@ main (int argc, char **argv)
more_than = 0; more_than = 0;
less_than = INT_MAX; less_than = INT_MAX;
use_first = false; use_first = false;
@@ -108,7 +112,7 @@ Index: gettext-0.21/gettext-tools/src/msgcat.c
while ((optchar = getopt_long (argc, argv, "<:>:D:eEf:Fhino:pPst:uVw:", while ((optchar = getopt_long (argc, argv, "<:>:D:eEf:Fhino:pPst:uVw:",
long_options, NULL)) != EOF) long_options, NULL)) != EOF)
@@ -277,6 +279,11 @@ main (int argc, char **argv) @@ -280,6 +282,11 @@ main (int argc, char **argv)
message_print_style_filepos (filepos_comment_none); message_print_style_filepos (filepos_comment_none);
break; break;
@@ -120,7 +124,7 @@ Index: gettext-0.21/gettext-tools/src/msgcat.c
default: default:
usage (EXIT_FAILURE); usage (EXIT_FAILURE);
/* NOTREACHED */ /* NOTREACHED */
@@ -428,6 +435,9 @@ Output details:\n")); @@ -432,6 +439,9 @@ Output details:\n"));
--use-first use first available translation for each\n\ --use-first use first available translation for each\n\
message, don't merge several translations\n")); message, don't merge several translations\n"));
printf (_("\ printf (_("\
@@ -130,10 +134,11 @@ Index: gettext-0.21/gettext-tools/src/msgcat.c
--lang=CATALOGNAME set 'Language' field in the header entry\n")); --lang=CATALOGNAME set 'Language' field in the header entry\n"));
printf (_("\ printf (_("\
--color use colors and other text attributes always\n\ --color use colors and other text attributes always\n\
Index: gettext-0.21/gettext-tools/src/msgl-age.c diff --git a/gettext-tools/src/msgl-age.c b/gettext-tools/src/msgl-age.c
=================================================================== new file mode 100644
index 0000000..6a902fa
--- /dev/null --- /dev/null
+++ gettext-0.21/gettext-tools/src/msgl-age.c +++ b/gettext-tools/src/msgl-age.c
@@ -0,0 +1,96 @@ @@ -0,0 +1,96 @@
+/* Message list header time simple parser. +/* Message list header time simple parser.
+ Copyright (C) 2019 Free Software Foundation, Inc. + Copyright (C) 2019 Free Software Foundation, Inc.
@@ -231,10 +236,11 @@ Index: gettext-0.21/gettext-tools/src/msgl-age.c
+ +
+ +
+ +
Index: gettext-0.21/gettext-tools/src/msgl-age.h diff --git a/gettext-tools/src/msgl-age.h b/gettext-tools/src/msgl-age.h
=================================================================== new file mode 100644
index 0000000..af12dd9
--- /dev/null --- /dev/null
+++ gettext-0.21/gettext-tools/src/msgl-age.h +++ b/gettext-tools/src/msgl-age.h
@@ -0,0 +1,36 @@ @@ -0,0 +1,36 @@
+/* Message list header time simple parser. +/* Message list header time simple parser.
+ Copyright (C) 2019 Free Software Foundation, Inc. + Copyright (C) 2019 Free Software Foundation, Inc.
@@ -272,19 +278,19 @@ Index: gettext-0.21/gettext-tools/src/msgl-age.h
+ msgdomain_read_ages (msgdomain_list_ty *); + msgdomain_read_ages (msgdomain_list_ty *);
+ +
+#endif +#endif
Index: gettext-0.21/gettext-tools/src/msgl-cat.c diff --git a/gettext-tools/src/msgl-cat.c b/gettext-tools/src/msgl-cat.c
=================================================================== index afa01f6..728d685 100644
--- gettext-0.21.orig/gettext-tools/src/msgl-cat.c --- a/gettext-tools/src/msgl-cat.c
+++ gettext-0.21/gettext-tools/src/msgl-cat.c +++ b/gettext-tools/src/msgl-cat.c
@@ -37,6 +37,7 @@ @@ -36,6 +36,7 @@
#include "message.h" #include "message.h"
#include "read-catalog.h" #include "read-catalog-file.h"
#include "po-charset.h" #include "po-charset.h"
+#include "msgl-age.h" +#include "msgl-age.h"
#include "msgl-ascii.h" #include "msgl-ascii.h"
#include "msgl-ofn.h" #include "msgl-ofn.h"
#include "msgl-equal.h" #include "msgl-equal.h"
@@ -57,6 +58,11 @@ int less_than; @@ -58,6 +59,11 @@ int less_than;
If false, merge all available translations into one and fuzzy it. */ If false, merge all available translations into one and fuzzy it. */
bool use_first; bool use_first;
@@ -296,7 +302,7 @@ Index: gettext-0.21/gettext-tools/src/msgl-cat.c
/* If true, merge like msgcomm. /* If true, merge like msgcomm.
If false, merge like msgcat and msguniq. */ If false, merge like msgcat and msguniq. */
bool msgcomm_mode = false; bool msgcomm_mode = false;
@@ -123,6 +129,15 @@ catenate_msgdomain_list (string_list_ty @@ -124,6 +130,15 @@ catenate_msgdomain_list (string_list_ty *file_list,
for (n = 0; n < nfiles; n++) for (n = 0; n < nfiles; n++)
mdlps[n] = read_catalog_file (files[n], input_syntax); mdlps[n] = read_catalog_file (files[n], input_syntax);
@@ -312,23 +318,23 @@ Index: gettext-0.21/gettext-tools/src/msgl-cat.c
/* Determine the canonical name of each input file's encoding. */ /* Determine the canonical name of each input file's encoding. */
canon_charsets = XNMALLOC (nfiles, const char **); canon_charsets = XNMALLOC (nfiles, const char **);
for (n = 0; n < nfiles; n++) for (n = 0; n < nfiles; n++)
Index: gettext-0.21/gettext-tools/src/msgl-cat.h diff --git a/gettext-tools/src/msgl-cat.h b/gettext-tools/src/msgl-cat.h
=================================================================== index 878fa05..811244f 100644
--- gettext-0.21.orig/gettext-tools/src/msgl-cat.h --- a/gettext-tools/src/msgl-cat.h
+++ gettext-0.21/gettext-tools/src/msgl-cat.h +++ b/gettext-tools/src/msgl-cat.h
@@ -37,6 +37,7 @@ extern DLL_VARIABLE int less_than; @@ -37,6 +37,7 @@ extern LIBGETTEXTSRC_DLL_VARIABLE int less_than;
/* If true, use the first available translation. /* If true, use the first available translation.
If false, merge all available translations into one and fuzzy it. */ If false, merge all available translations into one and fuzzy it. */
extern DLL_VARIABLE bool use_first; extern LIBGETTEXTSRC_DLL_VARIABLE bool use_first;
+extern DLL_VARIABLE bool use_newest; +extern LIBGETTEXTSRC_DLL_VARIABLE bool use_newest;
/* If true, merge like msgcomm. /* If true, merge like msgcomm.
If false, merge like msgcat and msguniq. */ If false, merge like msgcat and msguniq. */
Index: gettext-0.21/gettext-tools/src/msgl-header.c diff --git a/gettext-tools/src/msgl-header.c b/gettext-tools/src/msgl-header.c
=================================================================== index 0e36375..611c540 100644
--- gettext-0.21.orig/gettext-tools/src/msgl-header.c --- a/gettext-tools/src/msgl-header.c
+++ gettext-0.21/gettext-tools/src/msgl-header.c +++ b/gettext-tools/src/msgl-header.c
@@ -222,3 +222,50 @@ message_list_delete_header_field (messag @@ -244,3 +244,49 @@ message_list_delete_header_field (message_list_ty *mlp,
} }
} }
} }
@@ -378,12 +384,11 @@ Index: gettext-0.21/gettext-tools/src/msgl-header.c
+ } + }
+ } + }
+} +}
+ diff --git a/gettext-tools/src/msgl-header.h b/gettext-tools/src/msgl-header.h
Index: gettext-0.21/gettext-tools/src/msgl-header.h index 4ca5314..b441de2 100644
=================================================================== --- a/gettext-tools/src/msgl-header.h
--- gettext-0.21.orig/gettext-tools/src/msgl-header.h +++ b/gettext-tools/src/msgl-header.h
+++ gettext-0.21/gettext-tools/src/msgl-header.h @@ -48,6 +48,12 @@ extern void
@@ -40,6 +40,12 @@ extern void
message_list_delete_header_field (message_list_ty *mlp, message_list_delete_header_field (message_list_ty *mlp,
const char *field); const char *field);
@@ -396,3 +401,6 @@ Index: gettext-0.21/gettext-tools/src/msgl-header.h
#ifdef __cplusplus #ifdef __cplusplus
} }
--
2.49.0

View File

@@ -1,4 +1,4 @@
From df4aef6209615bdd44cd45208acfe7367451a8fe Mon Sep 17 00:00:00 2001 From 100b03a7efe924eb5e22d2e8d6e3dadbec80c0fa Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Mark=C3=A9ta=20Cal=C3=A1bkov=C3=A1?= From: =?UTF-8?q?Mark=C3=A9ta=20Cal=C3=A1bkov=C3=A1?=
<meggy.calabkova@gmail.com> <meggy.calabkova@gmail.com>
Date: Thu, 9 Jan 2020 14:45:49 +0100 Date: Thu, 9 Jan 2020 14:45:49 +0100
@@ -9,18 +9,20 @@ one header line is present only in the second file.
For example when Plural-Forms: is present only in the second file, For example when Plural-Forms: is present only in the second file,
msgcat could create an invalid output file. msgcat could create an invalid output file.
We also return error when Plural-Forms: values do not match. We also return error when Plural-Forms: values do not match.
Updated for 0.24
--- ---
gettext-tools/src/message.c | 2 - gettext-tools/src/message.c | 2 -
gettext-tools/src/msgl-cat.c | 5 ++ gettext-tools/src/msgl-cat.c | 5 ++
gettext-tools/src/msgl-header.c | 155 +++++++++++++++++++++++++++++--- gettext-tools/src/msgl-header.c | 146 +++++++++++++++++++++++++++++++-
gettext-tools/src/msgl-header.h | 8 ++ gettext-tools/src/msgl-header.h | 10 +++
4 files changed, 157 insertions(+), 13 deletions(-) 4 files changed, 158 insertions(+), 5 deletions(-)
Index: gettext-0.20.1/gettext-tools/src/message.c diff --git a/gettext-tools/src/message.c b/gettext-tools/src/message.c
=================================================================== index 6e3aada..48a0268 100644
--- gettext-0.20.1.orig/gettext-tools/src/message.c --- a/gettext-tools/src/message.c
+++ gettext-0.20.1/gettext-tools/src/message.c +++ b/gettext-tools/src/message.c
@@ -411,7 +411,6 @@ message_list_insert_at (message_list_ty @@ -423,7 +423,6 @@ message_list_insert_at (message_list_ty *mlp, size_t n, message_ty *mp)
} }
@@ -28,7 +30,7 @@ Index: gettext-0.20.1/gettext-tools/src/message.c
void void
message_list_delete_nth (message_list_ty *mlp, size_t n) message_list_delete_nth (message_list_ty *mlp, size_t n)
{ {
@@ -431,7 +430,6 @@ message_list_delete_nth (message_list_ty @@ -443,7 +442,6 @@ message_list_delete_nth (message_list_ty *mlp, size_t n)
mlp->use_hashtable = false; mlp->use_hashtable = false;
} }
} }
@@ -36,19 +38,19 @@ Index: gettext-0.20.1/gettext-tools/src/message.c
void void
Index: gettext-0.20.1/gettext-tools/src/msgl-cat.c diff --git a/gettext-tools/src/msgl-cat.c b/gettext-tools/src/msgl-cat.c
=================================================================== index 728d685..e9a694b 100644
--- gettext-0.20.1.orig/gettext-tools/src/msgl-cat.c --- a/gettext-tools/src/msgl-cat.c
+++ gettext-0.20.1/gettext-tools/src/msgl-cat.c +++ b/gettext-tools/src/msgl-cat.c
@@ -40,6 +40,7 @@ @@ -40,6 +40,7 @@
#include "msgl-ascii.h" #include "msgl-ascii.h"
#include "msgl-ofn.h" #include "msgl-ofn.h"
#include "msgl-equal.h" #include "msgl-equal.h"
+#include "msgl-header.h" +#include "msgl-header.h"
#include "msgl-iconv.h" #include "msgl-iconv.h"
#include "xerror-handler.h"
#include "xalloc.h" #include "xalloc.h"
#include "xmalloca.h" @@ -290,6 +291,10 @@ catenate_msgdomain_list (string_list_ty *file_list,
@@ -286,6 +287,10 @@ catenate_msgdomain_list (string_list_ty
} }
} }
@@ -59,10 +61,10 @@ Index: gettext-0.20.1/gettext-tools/src/msgl-cat.c
/* Create list of resulting messages, but don't fill it. Only count /* Create list of resulting messages, but don't fill it. Only count
the number of translations for each message. the number of translations for each message.
If for a message, there is at least one non-fuzzy, non-empty translation, If for a message, there is at least one non-fuzzy, non-empty translation,
Index: gettext-0.20.1/gettext-tools/src/msgl-header.c diff --git a/gettext-tools/src/msgl-header.c b/gettext-tools/src/msgl-header.c
=================================================================== index 611c540..e021693 100644
--- gettext-0.20.1.orig/gettext-tools/src/msgl-header.c --- a/gettext-tools/src/msgl-header.c
+++ gettext-0.20.1/gettext-tools/src/msgl-header.c +++ b/gettext-tools/src/msgl-header.c
@@ -26,9 +26,12 @@ @@ -26,9 +26,12 @@
#include <string.h> #include <string.h>
@@ -75,9 +77,9 @@ Index: gettext-0.20.1/gettext-tools/src/msgl-header.c
- -
+#define _(str) gettext (str) +#define _(str) gettext (str)
/* The known fields in their usual order. */ void
static const struct header_set_charset (message_ty *header_mp, const char *charsetstr,
@@ -50,6 +53,98 @@ known_fields[] = @@ -72,6 +75,98 @@ known_fields[] =
{ "Content-Transfer-Encoding:", sizeof ("Content-Transfer-Encoding:") - 1 } { "Content-Transfer-Encoding:", sizeof ("Content-Transfer-Encoding:") - 1 }
}; };
@@ -176,7 +178,7 @@ Index: gettext-0.20.1/gettext-tools/src/msgl-header.c
void void
msgdomain_list_set_header_field (msgdomain_list_ty *mdlp, msgdomain_list_set_header_field (msgdomain_list_ty *mdlp,
@@ -81,8 +176,8 @@ msgdomain_list_set_header_field (msgdoma @@ -103,8 +198,8 @@ msgdomain_list_set_header_field (msgdomain_list_ty *mdlp,
{ {
message_ty *mp = mlp->item[j]; message_ty *mp = mlp->item[j];
@@ -187,7 +189,7 @@ Index: gettext-0.20.1/gettext-tools/src/msgl-header.c
char *new_header = char *new_header =
XNMALLOC (strlen (header) + 1 XNMALLOC (strlen (header) + 1
+ strlen (field) + 1 + strlen (value) + 1 + 1, + strlen (field) + 1 + strlen (value) + 1 + 1,
@@ -230,14 +325,14 @@ message_list_read_header_field (message_ @@ -252,6 +347,8 @@ message_list_read_header_field (message_list_ty *mlp,
size_t field_len = strlen (field); size_t field_len = strlen (field);
size_t j; size_t j;
@@ -196,44 +198,11 @@ Index: gettext-0.20.1/gettext-tools/src/msgl-header.c
/* Search the header entry. */ /* Search the header entry. */
for (j = 0; j < mlp->nitems; j++) for (j = 0; j < mlp->nitems; j++)
if (is_header (mlp->item[j]) && !mlp->item[j]->obsolete) if (is_header (mlp->item[j]) && !mlp->item[j]->obsolete)
{ @@ -290,3 +387,46 @@ message_list_read_header_field (message_list_ty *mlp,
- /* We found the correct message. */
+ /* We found the correct message. */
message_ty *mp = mlp->item[j];
-
- /* Tag the header entry. */
const char *header = mp->msgstr;
/* Test whether the field occurs in the header entry. */
@@ -247,7 +342,7 @@ message_list_read_header_field (message_
{
if (strncmp (h, field, field_len) == 0)
break;
- /* Jump by lines. */
+ /* Jump by lines. */
h = strchr (h, '\n');
if (h == NULL)
break;
@@ -257,15 +352,57 @@ message_list_read_header_field (message_
{
/* We found it and it is nonempty. Read the value of the field. */
h += field_len + 1;
- char *enh = strchr (h, '\n');
- if (enh != NULL && *enh != '\0')
+ char *enh = strchr (h, '\n');
+ if (enh != NULL && *enh != '\0')
{
*where_ptr = (char *)XNMALLOC (((enh - h) + 1), char);
memcpy (*where_ptr, h, enh - h);
- /* Make the string null-terminated. */
+ /* Make the string null-terminated. */
(*where_ptr)[enh-h] = '\0';
- }
+ }
} }
} }
} }
+
+message_list_ty * +message_list_ty *
+message_list_header_list (message_list_ty *mlp) +message_list_header_list (message_list_ty *mlp)
+{ +{
@@ -276,29 +245,34 @@ Index: gettext-0.20.1/gettext-tools/src/msgl-header.c
+ } + }
+ return NULL; + return NULL;
+} +}
Index: gettext-0.20.1/gettext-tools/src/msgl-header.h diff --git a/gettext-tools/src/msgl-header.h b/gettext-tools/src/msgl-header.h
=================================================================== index b441de2..1778791 100644
--- gettext-0.20.1.orig/gettext-tools/src/msgl-header.h --- a/gettext-tools/src/msgl-header.h
+++ gettext-0.20.1/gettext-tools/src/msgl-header.h +++ b/gettext-tools/src/msgl-header.h
@@ -33,6 +33,11 @@ extern "C" { @@ -42,6 +42,12 @@ extern void
extern void
msgdomain_list_set_header_field (msgdomain_list_ty *mdlp, msgdomain_list_set_header_field (msgdomain_list_ty *mdlp,
const char *field, const char *value); const char *field, const char *value);
+/* Merge headers of po files. +/* Merge headers of po files.
+ */ + */
+extern void +extern void
+ msgdomain_lists_merge_headers (msgdomain_list_ty **mdlps, + msgdomain_lists_merge_headers (msgdomain_list_ty **mdlps,
+ size_t nfiles); + size_t nfiles);
+
/* Remove the given field from the header. /* Remove the given field from the header.
The FIELD name ends in a colon. */ The FIELD name ends in a colon. */
@@ -46,6 +51,9 @@ extern void extern void
message_list_read_header_field (message_list_ty *mlp, @@ -55,6 +61,10 @@ extern void
const char *field, char **where_ptr); const char *field, char **where_ptr);
+/* List all the headers from a po file. */ +/* List all the headers from a po file. */
+extern message_list_ty * +extern message_list_ty *
+ message_list_header_list (message_list_ty *mlp); + message_list_header_list (message_list_ty *mlp);
+
#ifdef __cplusplus #ifdef __cplusplus
} }
#endif
--
2.49.0

View File

@@ -0,0 +1,98 @@
From 88d67f8eacdd301d836a6902374dc10e8cc05d57 Mon Sep 17 00:00:00 2001
From: Stanislav Brabec <sbrabec@suse.com>
Date: Wed, 26 Feb 2025 03:00:18 +0100
Subject: [PATCH 3/3] Fix malformed header processing
---
gettext-tools/src/msgl-header.c | 68 ++++++++++++++++++++++++---------
1 file changed, 51 insertions(+), 17 deletions(-)
diff --git a/gettext-tools/src/msgl-header.c b/gettext-tools/src/msgl-header.c
index 6fe659e73..fb5186a89 100644
--- a/gettext-tools/src/msgl-header.c
+++ b/gettext-tools/src/msgl-header.c
@@ -397,30 +397,64 @@ message_list_header_list (message_list_ty *mlp)
{
/* We found the correct message. */
message_ty *mp = mlp->item[j];
+
+ /* Test whether the field occurs in the header entry. */
const char *h = mp->msgstr;
+
message_list_ty * header = message_list_alloc (false);
int ctr = 0;
while (*h != '\0')
- {
- char *enh = strchr (h, ':');
- enh++;
- char * msgid = (char *)XNMALLOC (((enh - h) + 1), char);
- memcpy (msgid, h, enh - h);
- /* Make the string null-terminated. */
- (msgid)[enh-h] = '\0';
- h = enh + 1;
-
- enh = strchr (h, '\n');
- if (enh != NULL)
+ {
+ const char *enh;
+ const char *enhz;
+ const char *sep;
+ const char *value;
+
+ enh = strchr (h, '\n');
+ if (enh)
+ {
+ enhz = enh;
+ enh++;
+ }
+ else
+ {
+ /* Missing trailing EOL. */
+ enh = h + strlen(h);
+ enhz = enh;
+ }
+
+ sep = strchr (h, ':');
+ if (sep == NULL || sep >= enhz)
+ {
+ /* Line does not contain ':'. */
+ sep = enhz;
+ value = enhz;
+ }
+ else
+ {
+ sep++;
+ if (*sep != ' ')
+ /* ' ' missing after ':'. */
+ value = sep;
+ else
+ value = sep + 1;
+ }
+
+ char * msgid = (char *)XNMALLOC (((sep - h) + 1), char);
+ memcpy (msgid, h, sep - h);
+ /* Make the string null-terminated. */
+ msgid[sep-h] = '\0';
+ char * msgstr = (char *)XNMALLOC (((enhz - value) + 1), char);
+ memcpy (msgstr, value, enhz - value);
+ /* Make the string null-terminated. */
+ msgstr[enhz-value] = '\0';
+
+ if (h != NULL)
{
- char * msgstr = (char *)XNMALLOC (((enh - h) + 1), char);
- memcpy (msgstr, h, enh - h);
- /* Make the string null-terminated. */
- msgstr[enh-h] = '\0';
lex_pos_ty pos = {NULL, ctr++};
- message_list_append (header, message_alloc (NULL, msgid, NULL, msgstr, enh - h, &pos));
- h = enh + 1;
+ message_list_append (header, message_alloc (NULL, msgid, NULL, msgstr, enhz - value, &pos));
+ h = enh;
}
else return NULL;
}
--
2.48.1

View File

@@ -1,47 +0,0 @@
Index: gettext-runtime/intl/dcigettext.c
===================================================================
--- a/gettext-runtime/intl/dcigettext.c.orig 2010-06-06 14:49:57.000000000 +0200
+++ b/gettext-runtime/intl/dcigettext.c 2010-12-20 18:47:11.543133542 +0100
@@ -68,20 +68,7 @@ extern int errno;
#endif
#include <locale.h>
-
-#ifdef _LIBC
- /* Guess whether integer division by zero raises signal SIGFPE.
- Set to 1 only if you know for sure. In case of doubt, set to 0. */
-# if defined __alpha__ || defined __arm__ || defined __i386__ \
- || defined __m68k__ || defined __s390__
-# define INTDIV0_RAISES_SIGFPE 1
-# else
-# define INTDIV0_RAISES_SIGFPE 0
-# endif
-#endif
-#if !INTDIV0_RAISES_SIGFPE
-# include <signal.h>
-#endif
+#include <signal.h>
#if defined HAVE_SYS_PARAM_H || defined _LIBC
# include <sys/param.h>
Index: gettext-runtime/intl/eval-plural.h
===================================================================
--- a/gettext-runtime/intl/eval-plural.h.orig 2010-06-06 14:49:57.000000000 +0200
+++ b/gettext-runtime/intl/eval-plural.h 2010-12-20 18:48:36.928872823 +0100
@@ -62,16 +62,12 @@ plural_eval (const struct expression *pe
case mult:
return leftarg * rightarg;
case divide:
-#if !INTDIV0_RAISES_SIGFPE
if (rightarg == 0)
raise (SIGFPE);
-#endif
return leftarg / rightarg;
case module:
-#if !INTDIV0_RAISES_SIGFPE
if (rightarg == 0)
raise (SIGFPE);
-#endif
return leftarg % rightarg;
case plus:
return leftarg + rightarg;

BIN
gettext-0.22.5.tar.xz (Stored with Git LFS)

Binary file not shown.

View File

@@ -1,16 +0,0 @@
-----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEkAG4WvnhuD3xvalC9b6LJnxqQG0FAmXWoBsACgkQ9b6LJnxq
QG3T8w//Q81Fg9O8duoSxmmUUTYLjSi5Sn21qS3n3/J+unlj2BkzyXPg9Jyj1IsE
9ZVRHEmPoX+c4zJjWQkDDiVqJWwyEBwc0dXlbdQ48N5oHGYnZwhfaProxggKDKyW
O2XujELz4tKkuXzKpiWtywyf5qKwxkZPmSNG/CjP+8MW0NpRMtyZyEZqlCX7ZyEZ
50Pi32nUagpyA24yRGdzuJpyJ40mPu8idLMj9gkaYmlV3vgitK5YW7ybX8q+3qnr
A96MNA1sDxYx5YdQsI4DEVAyt7KSZd8a0HBdYFMHPTa82GjqamV4RJzb+SF2baPl
dhVtDUOuW6HsQNdKxcDhXE3uUamN3egQoyNCna2We8iq2wUSgddqjkmdK4xDgsyM
LqAUKXaDNg4kSVsG6CQ6RfKc2Z3F9nVh/tofb2+CaAZ6AktiXU9G9Ufni1g4KFqD
5Hlp7z0ENzLSqhAONj3I1uWkWS77Hv52lSiBaN+08wCH06B061zZKeUXA6YCx/JO
hzkYqNa+2nLpu9sKMpaQtN6mCcoJz2MnyMyA+P8eAx+K6mwKJm4wiGW1zanEomHM
3cRgacHxFwlsSc1V8EwoRZkpwUoHPBVkBPm3BQMsRwdNY2mwPZRotPGG8UjdgepW
HQwY2DBt2sPDF2MleQVe1khSBlXQboVfILE1+qzPPQsBEQEstJE=
=BK/C
-----END PGP SIGNATURE-----

3
gettext-0.25.1.tar.xz Normal file
View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:2c8294be238f03fb3fa65b8051057e5b68167f3e21f08008070cf40a7051ba22
size 9930836

View File

@@ -0,0 +1,7 @@
-----BEGIN PGP SIGNATURE-----
iHUEABYKAB0WIQTg/72XU5f3ejKrduy2MB2eG76sCAUCaGRt/QAKCRC2MB2eG76s
CEQfAQDoDURnd8k7lJkx92AnBvhWy1nQA7XWLEW19kWp2cGHxQEAh1IFhCOFTesx
sszUI27xRwkeHkeobEh+eMGHC/V+wwE=
=Yx5A
-----END PGP SIGNATURE-----

View File

@@ -1,3 +1,130 @@
-------------------------------------------------------------------
Wed Jul 23 12:40:45 UTC 2025 - Ana Guerrero <ana.guerrero@suse.com>
- Do not build support for Java and C# on i586.
-------------------------------------------------------------------
Thu Jul 17 07:42:56 UTC 2025 - Ana Guerrero <ana.guerrero@suse.com>
- Update to 0.25.1:
* Bug fixes:
- autopoint no longer fails if configure.ac contains no
AM_GNU_GETTEXT_VERSION or AM_GNU_GETTEXT_REQUIRE_VERSION invocation.
- nls.m4 is installed again under $PREFIX/share/aclocal/.
-------------------------------------------------------------------
Fri May 16 09:35:54 UTC 2025 - Andreas Stieger <andreas.stieger@gmx.de>
- Update to 0.25:
* xgettext now supports Go
* xgettext now supports TypeScript and TSX
* Add support for the D programming language (library and tools)
* Add support for the Modula-2 programming language (same)
* xgettext has a new option '--generated' that customizes the way
the 'POT-Creation-Date' in the POT file is computed
- build with libacl/libattr
-------------------------------------------------------------------
Thu May 15 16:06:29 UTC 2025 - Andreas Stieger <andreas.stieger@gmx.de>
- Update to 0.24.1:
* Fix bad interactions between autoreconf and autopoint
* xgettext: Creating the POT file of a package under Git version
control is now faster. Also, the use of Git can be turned off
by specifying the option --no-git
-------------------------------------------------------------------
Fri May 9 06:49:21 UTC 2025 - Andreas Stieger <andreas.stieger@gmx.de>
- update upstream signing key and verify source signatures (again)
-------------------------------------------------------------------
Wed Apr 9 19:35:55 UTC 2025 - Ana Guerrero <ana.guerrero@suse.com>
- Update to 0.24.0
* Programming languages support:
- C:
+ A new example 'hello-c-http' has been added, showing the use
of GNU gettext in a multithreaded web server.
- C++:
+ A new example 'hello-c++-gnome3' has been added.
- Ruby:
+ A new example 'hello-ruby' has been added.
* Improvements for maintainers:
- When xgettext creates the POT file of a package under Git version
control, the 'POT-Creation-Date' in the POT file usually no longer
changes gratuitously each time the POT file is regenerated.
- Update to 23.0
* Internationalized data formats:
- XML
+ The escaping of characters such as & < > has been changed:
+ No escaping is done any more by xgettext, when creating a POT file.
+ Instead, extra escaping can be requested for the msgfmt pass, when
merging into an XML file.
+ The default value of 'escape' in the <gt:escapeRule> was "yes";
now it is "no".
+ This means that existing translations of older POT files may no
longer fully apply. As a maintainer of a package that has
translatable XML files, you need to regenerate the POT file and
pass it on to your translators.
+ XML schemas for .its and .loc files are now provided.
+ The value of the xml:lang attribute, inserted by msgfmt,
now conforms to W3C standards.
+ 'msgfmt --xml' accept an option --replace-text, that causes
the output to be a mono-lingual XML file instead of a multi-lingual
XML file.
+ xgettext and 'msgfmt --xml' now support DocBook XML files.
- Desktop: xgettext now produces POT files with correct line numbers.
* Programming languages support:
- Java:
+ xgettext now has an improved recognition of format strings when
the String.formatted method is used.
- C#:
+ The build system and tools now also support 'dotnet' (.NET) as
C# implementation. In order to declare a preference for 'dotnet'
over 'mono', you can use the configure option '--enable-csharp=dotnet'.
+ xgettext now recognizes strings with embedded expressions
(a.k.a. interpolated strings).
- Perl:
+ xgettext now reports warnings instead of fatal errors.
+ xgettext now recognizes strings with embedded expressions
(a.k.a. interpolated strings).
* Runtime behaviour:
- In the C.UTF-8 locale, like in the C locale, the *gettext() functions
now return the msgid untranslated. This is relevant for GNU systems,
Linux with musl libc, FreeBSD, NetBSD, OpenBSD, Cygwin, and Android.
* Documentation:
- The section "Preparing Strings" now gives more advice how to deal
with string concatenation and strings with embedded expressions.
* xgettext:
- Most of the diagnostics emitted by xgettext are now labelled as
"warning" or "error".
* msgmerge:
- The option '--sorted-output' is now deprecated.
* libgettextpo library:
- This library is now multithread-safe.
- The function 'po_message_set_format' now supports resetting a format
string mark.
- Remove patches merged upstream:
* gettext-0.12.1-sigfpe.patch
* use-acinit-for-libtextstyle.patch
* reproducible.patch
* reproducible-jar.patch
- Refresh patches
* gettext-dont-test-gnulib.patch
* 0001-msgcat-Add-feature-to-use-the-newest-po-file.patch
* 0002-msgcat-Merge-headers-when-use-first.patch
- Update gettext-linkdupes.sh
-------------------------------------------------------------------
Wed Feb 26 03:01:34 CET 2025 - Stanislav Brabec <sbrabec@suse.com>
- Fix crash while handling po files with malformed header and
process them properly
(0003-Fix-malformed-header-processing.patch, boo#1227316).
------------------------------------------------------------------- -------------------------------------------------------------------
Tue Jul 16 08:42:20 UTC 2024 - Bernhard Wiedemann <bwiedemann@suse.com> Tue Jul 16 08:42:20 UTC 2024 - Bernhard Wiedemann <bwiedemann@suse.com>

View File

@@ -1,7 +1,8 @@
# #
# spec file for package gettext-csharp # spec file for package gettext-csharp
# #
# Copyright (c) 2024 SUSE LLC # Copyright (c) 2025 SUSE LLC
# Copyright (c) 2025 Andreas Stieger <Andreas.Stieger@gmx.de>
# #
# All modifications and additions to the file contributed by third parties # All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed # remain the property of their copyright owners, unless otherwise agreed
@@ -20,7 +21,7 @@
%global debug_package %{nil} %global debug_package %{nil}
%endif %endif
Name: gettext-csharp Name: gettext-csharp
Version: 0.22.5 Version: 0.25.1
Release: 0 Release: 0
Summary: Native Language Support (NLS) for C# Summary: Native Language Support (NLS) for C#
License: LGPL-2.1-or-later License: LGPL-2.1-or-later
@@ -31,22 +32,24 @@ Source1: https://ftp.gnu.org/gnu/gettext/gettext-%{version}.tar.xz.sig
Source2: suse-start-po-mode.el Source2: suse-start-po-mode.el
Source3: gettext-linkdupes.sh Source3: gettext-linkdupes.sh
Source4: gettext-rpmlintrc Source4: gettext-rpmlintrc
# pub ed25519 2025-01-28 [SC]
# E0FF BD97 5397 F77A 32AB 76EC B630 1D9E 1BBE AC08
# uid Bruno Haible (Free Software Development) <bruno@clisp.org>
# https://savannah.gnu.org/users/haible
Source5: gettext-runtime.keyring Source5: gettext-runtime.keyring
Patch0: gettext-0.12.1-sigfpe.patch
Patch1: gettext-0.19.3-fix-bashisms.patch Patch1: gettext-0.19.3-fix-bashisms.patch
Patch2: gettext-0.12.1-gettextize.patch Patch2: gettext-0.12.1-gettextize.patch
Patch3: use-acinit-for-libtextstyle.patch
Patch4: gettext-po-mode.diff Patch4: gettext-po-mode.diff
Patch5: gettext-initialize_vars.patch Patch5: gettext-initialize_vars.patch
# PATCH-FIX-OPENSUSE gettext-dont-test-gnulib.patch -- coolo@suse.de # PATCH-FIX-OPENSUSE gettext-dont-test-gnulib.patch -- coolo@suse.de
Patch6: gettext-dont-test-gnulib.patch Patch6: gettext-dont-test-gnulib.patch
# PATCH-FIX-UPSTREAM boo#941629 -- pth@suse.com # PATCH-FIX-UPSTREAM boo#941629 -- pth@suse.com
Patch11: boo941629-unnessary-rpath-on-standard-path.patch Patch11: boo941629-unnessary-rpath-on-standard-path.patch
# PATCH-FIX-SUSE Bug boo#1106843
Patch13: reproducible.patch
# PATCH-FEATURE bsc#1165138 # PATCH-FEATURE bsc#1165138
Patch14: 0001-msgcat-Add-feature-to-use-the-newest-po-file.patch Patch14: 0001-msgcat-Add-feature-to-use-the-newest-po-file.patch
Patch15: 0002-msgcat-Merge-headers-when-use-first.patch Patch15: 0002-msgcat-Merge-headers-when-use-first.patch
# PATCH-FEATURE-FIX-SUSE boo#1227316 -- sbrabec@suse.com
Patch16: 0003-Fix-malformed-header-processing.patch
BuildRequires: automake >= 1.14 BuildRequires: automake >= 1.14
BuildRequires: fdupes BuildRequires: fdupes
BuildRequires: gcc-c++ BuildRequires: gcc-c++
@@ -56,7 +59,10 @@ BuildRequires: libxml2-devel
BuildRequires: mono-devel BuildRequires: mono-devel
BuildRequires: perl-libintl-perl BuildRequires: perl-libintl-perl
BuildRequires: tcl BuildRequires: tcl
BuildRequires: pkgconfig(libacl)
BuildRequires: pkgconfig(libattr)
Requires: mono Requires: mono
ExcludeArch: i586
%description %description
Mono with its 'resgen' program uses a design that Microsoft created and Mono with its 'resgen' program uses a design that Microsoft created and
@@ -114,16 +120,14 @@ mv csharpdoc %{buildroot}/%{_defaultdocdir}/%{name}
# exclude files packaged via other spec files # exclude files packaged via other spec files
rm -Rf %{buildroot}/%{_bindir} rm -Rf %{buildroot}/%{_bindir}
rm -f %{buildroot}/%{_libdir}/lib* rm -f %{buildroot}/%{_libdir}/lib*
rm -f %{buildroot}/%{_libdir}/gettext/hostname rm -rf %{buildroot}/%{_libexecdir}
rm -f %{buildroot}/%{_libdir}/gettext/project-id
rm -f %{buildroot}/%{_libdir}/gettext/urlget
rm -f %{buildroot}/%{_libdir}/gettext/user-email
rm -f %{buildroot}/%{_libdir}/gettext/cldr-plurals
rm -Rf %{buildroot}/%{_includedir} rm -Rf %{buildroot}/%{_includedir}
rm -f %{buildroot}/%{_libdir}/preloadable_libintl.so rm -f %{buildroot}/%{_libdir}/preloadable_libintl.so
%files %files
%doc %{_defaultdocdir}/%{name} %doc %{_defaultdocdir}/%{name}
%exclude %{_libdir}/gettext/GNU.Gettext.dll
%dir %{_libdir}/gettext
%{_libdir}/GNU.Gettext.dll %{_libdir}/GNU.Gettext.dll
%{_libdir}/gettext/msgfmt.net.exe %{_libdir}/gettext/msgfmt.net.exe
%{_libdir}/gettext/msgunfmt.net.exe %{_libdir}/gettext/msgunfmt.net.exe

View File

@@ -4,23 +4,23 @@ From: Stephan Kulow <coolo@suse.de>
--- gettext-0.20.1.orig/gettext-tools/Makefile.am 2019-06-04 13:12:49.514030196 +0200 --- 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 +++ gettext-0.20.1/gettext-tools/Makefile.am 2019-06-04 13:13:09.778072816 +0200
@@ -19,7 +19,7 @@ @@ -19,7 +19,7 @@
AUTOMAKE_OPTIONS = 1.5 gnu no-dependencies AUTOMAKE_OPTIONS = 1.5 gnu
ACLOCAL_AMFLAGS = -I m4 -I ../gettext-runtime/m4 -I ../m4 -I gnulib-m4 -I libgrep/gnulib-m4 -I libgettextpo/gnulib-m4 ACLOCAL_AMFLAGS = -I m4 -I ../gettext-runtime/m4 -I ../m4 -I gnulib-m4 -I libgrep/gnulib-m4 -I libgettextpo/gnulib-m4 -I tests/gnulib-m4
-SUBDIRS = gnulib-lib libgrep src libgettextpo po its projects styles emacs misc man m4 tests system-tests gnulib-tests examples doc -SUBDIRS = gnulib-lib libgrep src libgettextpo po its projects styles emacs misc man m4 tests system-tests gnulib-tests examples doc
+SUBDIRS = gnulib-lib libgrep src libgettextpo po its projects styles emacs misc man m4 tests system-tests examples doc +SUBDIRS = gnulib-lib libgrep src libgettextpo po its projects styles emacs misc man m4 tests system-tests examples doc
EXTRA_DIST = misc/DISCLAIM EXTRA_DIST = misc/disclaim-translations.txt
MOSTLYCLEANFILES = core *.stackdump MOSTLYCLEANFILES = core *.stackdump
--- gettext-0.20.1.orig/gettext-tools/Makefile.in 2019-06-04 13:12:49.514030196 +0200 --- 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 +++ gettext-0.20.1/gettext-tools/Makefile.in 2019-06-04 13:14:33.546249004 +0200
@@ -2016,7 +2016,7 @@ @@ -2016,7 +2016,7 @@
top_srcdir = @top_srcdir@ top_srcdir = @top_srcdir@
AUTOMAKE_OPTIONS = 1.5 gnu no-dependencies AUTOMAKE_OPTIONS = 1.5 gnu
ACLOCAL_AMFLAGS = -I m4 -I ../gettext-runtime/m4 -I ../m4 -I gnulib-m4 -I libgrep/gnulib-m4 -I libgettextpo/gnulib-m4 ACLOCAL_AMFLAGS = -I m4 -I ../gettext-runtime/m4 -I ../m4 -I gnulib-m4 -I libgrep/gnulib-m4 -I libgettextpo/gnulib-m4 -I tests/gnulib-m4
-SUBDIRS = gnulib-lib libgrep src libgettextpo po its projects styles emacs misc man m4 tests system-tests gnulib-tests examples doc -SUBDIRS = gnulib-lib libgrep src libgettextpo po its projects styles emacs misc man m4 tests system-tests gnulib-tests examples doc
+SUBDIRS = gnulib-lib libgrep src libgettextpo po its projects styles emacs misc man m4 tests system-tests examples doc +SUBDIRS = 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". # Files imported from tree-sitter.

View File

@@ -1,3 +1,130 @@
-------------------------------------------------------------------
Wed Jul 23 12:40:45 UTC 2025 - Ana Guerrero <ana.guerrero@suse.com>
- Do not build support for Java and C# on i586.
-------------------------------------------------------------------
Thu Jul 17 07:42:56 UTC 2025 - Ana Guerrero <ana.guerrero@suse.com>
- Update to 0.25.1:
* Bug fixes:
- autopoint no longer fails if configure.ac contains no
AM_GNU_GETTEXT_VERSION or AM_GNU_GETTEXT_REQUIRE_VERSION invocation.
- nls.m4 is installed again under $PREFIX/share/aclocal/.
-------------------------------------------------------------------
Fri May 16 09:35:54 UTC 2025 - Andreas Stieger <andreas.stieger@gmx.de>
- Update to 0.25:
* xgettext now supports Go
* xgettext now supports TypeScript and TSX
* Add support for the D programming language (library and tools)
* Add support for the Modula-2 programming language (same)
* xgettext has a new option '--generated' that customizes the way
the 'POT-Creation-Date' in the POT file is computed
- build with libacl/libattr
-------------------------------------------------------------------
Thu May 15 16:06:29 UTC 2025 - Andreas Stieger <andreas.stieger@gmx.de>
- Update to 0.24.1:
* Fix bad interactions between autoreconf and autopoint
* xgettext: Creating the POT file of a package under Git version
control is now faster. Also, the use of Git can be turned off
by specifying the option --no-git
-------------------------------------------------------------------
Fri May 9 06:49:21 UTC 2025 - Andreas Stieger <andreas.stieger@gmx.de>
- update upstream signing key and verify source signatures (again)
-------------------------------------------------------------------
Wed Apr 9 19:35:55 UTC 2025 - Ana Guerrero <ana.guerrero@suse.com>
- Update to 0.24.0
* Programming languages support:
- C:
+ A new example 'hello-c-http' has been added, showing the use
of GNU gettext in a multithreaded web server.
- C++:
+ A new example 'hello-c++-gnome3' has been added.
- Ruby:
+ A new example 'hello-ruby' has been added.
* Improvements for maintainers:
- When xgettext creates the POT file of a package under Git version
control, the 'POT-Creation-Date' in the POT file usually no longer
changes gratuitously each time the POT file is regenerated.
- Update to 23.0
* Internationalized data formats:
- XML
+ The escaping of characters such as & < > has been changed:
+ No escaping is done any more by xgettext, when creating a POT file.
+ Instead, extra escaping can be requested for the msgfmt pass, when
merging into an XML file.
+ The default value of 'escape' in the <gt:escapeRule> was "yes";
now it is "no".
+ This means that existing translations of older POT files may no
longer fully apply. As a maintainer of a package that has
translatable XML files, you need to regenerate the POT file and
pass it on to your translators.
+ XML schemas for .its and .loc files are now provided.
+ The value of the xml:lang attribute, inserted by msgfmt,
now conforms to W3C standards.
+ 'msgfmt --xml' accept an option --replace-text, that causes
the output to be a mono-lingual XML file instead of a multi-lingual
XML file.
+ xgettext and 'msgfmt --xml' now support DocBook XML files.
- Desktop: xgettext now produces POT files with correct line numbers.
* Programming languages support:
- Java:
+ xgettext now has an improved recognition of format strings when
the String.formatted method is used.
- C#:
+ The build system and tools now also support 'dotnet' (.NET) as
C# implementation. In order to declare a preference for 'dotnet'
over 'mono', you can use the configure option '--enable-csharp=dotnet'.
+ xgettext now recognizes strings with embedded expressions
(a.k.a. interpolated strings).
- Perl:
+ xgettext now reports warnings instead of fatal errors.
+ xgettext now recognizes strings with embedded expressions
(a.k.a. interpolated strings).
* Runtime behaviour:
- In the C.UTF-8 locale, like in the C locale, the *gettext() functions
now return the msgid untranslated. This is relevant for GNU systems,
Linux with musl libc, FreeBSD, NetBSD, OpenBSD, Cygwin, and Android.
* Documentation:
- The section "Preparing Strings" now gives more advice how to deal
with string concatenation and strings with embedded expressions.
* xgettext:
- Most of the diagnostics emitted by xgettext are now labelled as
"warning" or "error".
* msgmerge:
- The option '--sorted-output' is now deprecated.
* libgettextpo library:
- This library is now multithread-safe.
- The function 'po_message_set_format' now supports resetting a format
string mark.
- Remove patches merged upstream:
* gettext-0.12.1-sigfpe.patch
* use-acinit-for-libtextstyle.patch
* reproducible.patch
* reproducible-jar.patch
- Refresh patches
* gettext-dont-test-gnulib.patch
* 0001-msgcat-Add-feature-to-use-the-newest-po-file.patch
* 0002-msgcat-Merge-headers-when-use-first.patch
- Update gettext-linkdupes.sh
-------------------------------------------------------------------
Wed Feb 26 03:01:34 CET 2025 - Stanislav Brabec <sbrabec@suse.com>
- Fix crash while handling po files with malformed header and
process them properly
(0003-Fix-malformed-header-processing.patch, boo#1227316).
------------------------------------------------------------------- -------------------------------------------------------------------
Tue Jul 16 08:42:20 UTC 2024 - Bernhard Wiedemann <bwiedemann@suse.com> Tue Jul 16 08:42:20 UTC 2024 - Bernhard Wiedemann <bwiedemann@suse.com>

View File

@@ -1,7 +1,8 @@
# #
# spec file for package gettext-java # spec file for package gettext-java
# #
# Copyright (c) 2024 SUSE LLC # Copyright (c) 2025 SUSE LLC
# Copyright (c) 2025 Andreas Stieger <Andreas.Stieger@gmx.de>
# #
# All modifications and additions to the file contributed by third parties # All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed # remain the property of their copyright owners, unless otherwise agreed
@@ -17,7 +18,7 @@
Name: gettext-java Name: gettext-java
Version: 0.22.5 Version: 0.25.1
Release: 0 Release: 0
Summary: Java Support for Native Language Support (NLS) Summary: Java Support for Native Language Support (NLS)
License: LGPL-2.1-or-later License: LGPL-2.1-or-later
@@ -28,24 +29,24 @@ Source1: https://ftp.gnu.org/gnu/gettext/gettext-%{version}.tar.xz.sig
Source2: suse-start-po-mode.el Source2: suse-start-po-mode.el
Source3: gettext-linkdupes.sh Source3: gettext-linkdupes.sh
Source4: gettext-rpmlintrc Source4: gettext-rpmlintrc
# pub ed25519 2025-01-28 [SC]
# E0FF BD97 5397 F77A 32AB 76EC B630 1D9E 1BBE AC08
# uid Bruno Haible (Free Software Development) <bruno@clisp.org>
# https://savannah.gnu.org/users/haible
Source5: gettext-runtime.keyring Source5: gettext-runtime.keyring
Patch0: gettext-0.12.1-sigfpe.patch
Patch1: gettext-0.19.3-fix-bashisms.patch Patch1: gettext-0.19.3-fix-bashisms.patch
Patch2: gettext-0.12.1-gettextize.patch Patch2: gettext-0.12.1-gettextize.patch
Patch3: use-acinit-for-libtextstyle.patch
Patch4: gettext-po-mode.diff Patch4: gettext-po-mode.diff
Patch5: gettext-initialize_vars.patch Patch5: gettext-initialize_vars.patch
# PATCH-FIX-OPENSUSE gettext-dont-test-gnulib.patch -- coolo@suse.de # PATCH-FIX-OPENSUSE gettext-dont-test-gnulib.patch -- coolo@suse.de
Patch6: gettext-dont-test-gnulib.patch Patch6: gettext-dont-test-gnulib.patch
# PATCH-FIX-UPSTREAM boo#941629 -- pth@suse.com # PATCH-FIX-UPSTREAM boo#941629 -- pth@suse.com
Patch11: boo941629-unnessary-rpath-on-standard-path.patch Patch11: boo941629-unnessary-rpath-on-standard-path.patch
# PATCH-FIX-SUSE Bug boo#1106843
Patch13: reproducible.patch
# PATCH-FEATURE bsc#1165138 # PATCH-FEATURE bsc#1165138
Patch14: 0001-msgcat-Add-feature-to-use-the-newest-po-file.patch Patch14: 0001-msgcat-Add-feature-to-use-the-newest-po-file.patch
Patch15: 0002-msgcat-Merge-headers-when-use-first.patch Patch15: 0002-msgcat-Merge-headers-when-use-first.patch
# PATCH-FIX-UPSTREAM https://lists.gnu.org/archive/html/bug-gettext/2024-07/msg00021.html # PATCH-FEATURE-FIX-SUSE boo#1227316 -- sbrabec@suse.com
Patch16: reproducible-jar.patch Patch17: 0003-Fix-malformed-header-processing.patch
BuildRequires: automake >= 1.14 BuildRequires: automake >= 1.14
BuildRequires: fdupes BuildRequires: fdupes
BuildRequires: gcc-c++ BuildRequires: gcc-c++
@@ -56,6 +57,9 @@ BuildRequires: libtool
BuildRequires: libxml2-devel BuildRequires: libxml2-devel
BuildRequires: perl-libintl-perl BuildRequires: perl-libintl-perl
BuildRequires: tcl BuildRequires: tcl
BuildRequires: pkgconfig(libacl)
BuildRequires: pkgconfig(libattr)
ExcludeArch: i586
%if 0%{?fedora_version} || 0%{?centos_version} <= 600 || 0%{?scilin_version} <= 600 || 0%{?rhel_version} <= 600 %if 0%{?fedora_version} || 0%{?centos_version} <= 600 || 0%{?scilin_version} <= 600 || 0%{?rhel_version} <= 600
%global debug_package %{nil} %global debug_package %{nil}
@@ -134,14 +138,11 @@ ls -l %{buildroot}/%{_datadir}
# exclude files packaged via other spec files # exclude files packaged via other spec files
rm -rf %{buildroot}/%{_bindir} rm -rf %{buildroot}/%{_bindir}
rm -f %{buildroot}/%{_libdir}/lib* rm -f %{buildroot}/%{_libdir}/lib*
rm -f %{buildroot}/%{_libdir}/gettext/hostname rm -rf %{buildroot}/%{_libexecdir}
rm -f %{buildroot}/%{_libdir}/gettext/project-id
rm -f %{buildroot}/%{_libdir}/gettext/urlget
rm -f %{buildroot}/%{_libdir}/gettext/user-email
rm -f %{buildroot}/%{_libdir}/gettext/cldr-plurals
%files %files
%{_defaultdocdir}/%{name} %{_defaultdocdir}/%{name}
%dir %{_libdir}/gettext
%{_libdir}/gettext/gettext.jar %{_libdir}/gettext/gettext.jar
%{_libdir}/gettext/gnu.gettext.DumpResource %{_libdir}/gettext/gnu.gettext.DumpResource
%{_libdir}/gettext/gnu.gettext.GetURL %{_libdir}/gettext/gnu.gettext.GetURL

View File

@@ -1,85 +1,138 @@
ln -f 'hello-ycp/po/LINGUAS' 'hello-c/po/LINGUAS' # To update this file, build gettext-runtime.spec with the following steps:
ln -f 'hello-ycp/po/LINGUAS' 'hello-c++/po/LINGUAS' # Do not run this script (look for line with something similar to sh %{SOURCE3})
ln -f 'hello-ycp/po/LINGUAS' 'hello-c++-gnome/po/LINGUAS' # Add BuildRequires: fdupes
ln -f 'hello-ycp/po/LINGUAS' 'hello-c++-kde/po/LINGUAS' # After all files are generated add: %fdupes -s %{buildroot}
ln -f 'hello-ycp/po/LINGUAS' 'hello-c++-qt/po/LINGUAS'
ln -f 'hello-ycp/po/LINGUAS' 'hello-c++-wxwidgets/po/LINGUAS'
ln -f 'hello-ycp/po/LINGUAS' 'hello-c-gnome/po/LINGUAS'
ln -f 'hello-ycp/po/LINGUAS' 'hello-clisp/po/LINGUAS'
ln -f 'hello-ycp/po/LINGUAS' 'hello-gawk/po/LINGUAS'
ln -f 'hello-ycp/po/LINGUAS' 'hello-guile/po/LINGUAS'
ln -f 'hello-ycp/po/LINGUAS' 'hello-librep/po/LINGUAS'
ln -f 'hello-ycp/po/LINGUAS' 'hello-objc/po/LINGUAS'
ln -f 'hello-ycp/po/LINGUAS' 'hello-objc-gnome/po/LINGUAS'
ln -f 'hello-ycp/po/LINGUAS' 'hello-objc-gnustep/po/LINGUAS'
ln -f 'hello-ycp/po/LINGUAS' 'hello-pascal/po/LINGUAS'
ln -f 'hello-ycp/po/LINGUAS' 'hello-perl/po/LINGUAS'
ln -f 'hello-ycp/po/LINGUAS' 'hello-php/po/LINGUAS'
ln -f 'hello-ycp/po/LINGUAS' 'hello-python/po/LINGUAS'
ln -f 'hello-ycp/po/LINGUAS' 'hello-sh/po/LINGUAS'
ln -f 'hello-ycp/po/LINGUAS' 'hello-smalltalk/po/LINGUAS'
ln -f 'hello-ycp/po/LINGUAS' 'hello-tcl/po/LINGUAS'
ln -f 'hello-ycp/po/LINGUAS' 'hello-tcl-tk/po/LINGUAS'
ln -f 'hello-ycp/m4/Makefile.am' 'hello-clisp/m4/Makefile.am'
ln -f 'hello-ycp/m4/Makefile.am' 'hello-gawk/m4/Makefile.am'
ln -f 'hello-ycp/m4/Makefile.am' 'hello-guile/m4/Makefile.am'
ln -f 'hello-ycp/m4/Makefile.am' 'hello-librep/m4/Makefile.am'
ln -f 'hello-ycp/m4/Makefile.am' 'hello-pascal/m4/Makefile.am'
ln -f 'hello-ycp/m4/Makefile.am' 'hello-perl/m4/Makefile.am'
ln -f 'hello-ycp/m4/Makefile.am' 'hello-php/m4/Makefile.am'
ln -f 'hello-ycp/m4/Makefile.am' 'hello-python/m4/Makefile.am'
ln -f 'hello-ycp/m4/Makefile.am' 'hello-sh/m4/Makefile.am'
ln -f 'hello-ycp/m4/Makefile.am' 'hello-smalltalk/m4/Makefile.am'
ln -f 'hello-ycp/m4/Makefile.am' 'hello-tcl/m4/Makefile.am'
ln -f 'hello-ycp/m4/Makefile.am' 'hello-tcl-tk/m4/Makefile.am'
ln -f 'hello-ycp/autogen.sh' 'hello-clisp/autogen.sh'
ln -f 'hello-ycp/autogen.sh' 'hello-gawk/autogen.sh'
ln -f 'hello-ycp/autogen.sh' 'hello-guile/autogen.sh'
ln -f 'hello-ycp/autogen.sh' 'hello-librep/autogen.sh'
ln -f 'hello-ycp/autogen.sh' 'hello-pascal/autogen.sh'
ln -f 'hello-ycp/autogen.sh' 'hello-perl/autogen.sh'
ln -f 'hello-ycp/autogen.sh' 'hello-php/autogen.sh'
ln -f 'hello-ycp/autogen.sh' 'hello-python/autogen.sh'
ln -f 'hello-ycp/autogen.sh' 'hello-sh/autogen.sh'
ln -f 'hello-ycp/autogen.sh' 'hello-smalltalk/autogen.sh'
ln -f 'hello-ycp/autoclean.sh' 'hello-clisp/autoclean.sh'
ln -f 'hello-ycp/autoclean.sh' 'hello-gawk/autoclean.sh'
ln -f 'hello-ycp/autoclean.sh' 'hello-guile/autoclean.sh'
ln -f 'hello-ycp/autoclean.sh' 'hello-librep/autoclean.sh'
ln -f 'hello-ycp/autoclean.sh' 'hello-pascal/autoclean.sh'
ln -f 'hello-ycp/autoclean.sh' 'hello-perl/autoclean.sh'
ln -f 'hello-ycp/autoclean.sh' 'hello-php/autoclean.sh'
ln -f 'hello-ycp/autoclean.sh' 'hello-python/autoclean.sh'
ln -f 'hello-ycp/autoclean.sh' 'hello-sh/autoclean.sh'
ln -f 'hello-ycp/autoclean.sh' 'hello-smalltalk/autoclean.sh'
ln -f 'hello-tcl-tk/po/Makefile.am' 'hello-tcl/po/Makefile.am' ln -f 'hello-tcl-tk/po/Makefile.am' 'hello-tcl/po/Makefile.am'
ln -f 'hello-tcl-tk/Makefile.am' 'hello-gawk/Makefile.am'
ln -f 'hello-tcl-tk/Makefile.am' 'hello-guile/Makefile.am'
ln -f 'hello-tcl-tk/Makefile.am' 'hello-php/Makefile.am'
ln -f 'hello-tcl-tk/Makefile.am' 'hello-sh/Makefile.am'
ln -f 'hello-tcl-tk/Makefile.am' 'hello-tcl/Makefile.am'
ln -f 'hello-tcl-tk/autogen.sh' 'hello-tcl/autogen.sh'
ln -f 'hello-tcl-tk/autoclean.sh' 'hello-tcl/autoclean.sh' ln -f 'hello-tcl-tk/autoclean.sh' 'hello-tcl/autoclean.sh'
ln -f 'hello-objc-gnome/po/POTFILES.in' 'hello-objc/po/POTFILES.in' ln -f 'hello-tcl-tk/autogen.sh' 'hello-tcl/autogen.sh'
ln -f 'hello-objc-gnome/po/Makevars' 'hello-c++-gnome/po/Makevars' ln -f 'hello-tcl-tk/Makefile.am' 'hello-tcl/Makefile.am'
ln -f 'hello-objc-gnome/po/Makevars' 'hello-c-gnome/po/Makevars' ln -f 'hello-sh/Makefile.am' 'hello-tcl/Makefile.am'
ln -f 'hello-objc-gnome/m4/gnome-orbit-check.m4' 'hello-c++-gnome/m4/gnome-orbit-check.m4' ln -f 'hello-ruby/Makefile.am' 'hello-tcl/Makefile.am'
ln -f 'hello-objc-gnome/m4/gnome-orbit-check.m4' 'hello-c-gnome/m4/gnome-orbit-check.m4' ln -f 'hello-php/Makefile.am' 'hello-tcl/Makefile.am'
ln -f 'hello-objc-gnome/m4/gnome-gnorba-check.m4' 'hello-c++-gnome/m4/gnome-gnorba-check.m4' ln -f 'hello-guile/Makefile.am' 'hello-tcl/Makefile.am'
ln -f 'hello-objc-gnome/m4/gnome-gnorba-check.m4' 'hello-c-gnome/m4/gnome-gnorba-check.m4' ln -f 'hello-gawk/Makefile.am' 'hello-tcl/Makefile.am'
ln -f 'hello-objc-gnome/m4/gnome.m4' 'hello-c++-gnome/m4/gnome.m4' ln -f 'hello-csharp-forms/po/Makefile.am' 'hello-csharp/po/Makefile.am'
ln -f 'hello-objc-gnome/m4/gnome.m4' 'hello-c-gnome/m4/gnome.m4' ln -f 'hello-csharp-forms/m4/Makefile.am' 'hello-csharp/m4/Makefile.am'
ln -f 'hello-objc-gnome/m4/Makefile.am' 'hello-c-gnome/m4/Makefile.am' ln -f 'hello-csharp-forms/autoclean.sh' 'hello-csharp/autoclean.sh'
ln -f 'hello-objc-gnome/autogen.sh' 'hello-c++-gnome/autogen.sh' ln -f 'hello-csharp-forms/autogen.sh' 'hello-csharp/autogen.sh'
ln -f 'hello-objc-gnome/autogen.sh' 'hello-c-gnome/autogen.sh' ln -f 'hello-java-awt/m4/TestAWT.class' 'hello-java-swing/m4/TestAWT.class'
ln -f 'hello-objc-gnome/autoclean.sh' 'hello-c++-gnome/autoclean.sh' ln -f 'hello-java-awt/m4/TestAWT.java' 'hello-java-swing/m4/TestAWT.java'
ln -f 'hello-objc-gnome/autoclean.sh' 'hello-c-gnome/autoclean.sh' ln -f 'hello-java-awt/m4/Makefile.am' 'hello-java-swing/m4/Makefile.am'
ln -f 'hello-objc/po/Makevars' 'hello-c/po/Makevars' ln -f 'hello-java-awt/Makefile.am' 'hello-java-swing/Makefile.am'
ln -f 'hello-objc/m4/Makefile.am' 'hello-c/m4/Makefile.am' ln -f 'hello-java-swing/po/Makefile.am' 'hello-java/po/Makefile.am'
ln -f 'hello-objc/m4/Makefile.am' 'hello-c++/m4/Makefile.am' ln -f 'hello-java-qtjambi/po/Makefile.am' 'hello-java/po/Makefile.am'
ln -f 'hello-objc/m4/Makefile.am' 'hello-c++-kde/m4/Makefile.am' ln -f 'hello-java-awt/po/Makefile.am' 'hello-java/po/Makefile.am'
ln -f 'hello-objc/autogen.sh' 'hello-c/autogen.sh' ln -f 'hello-java-swing/autogen.sh' 'hello-java/autogen.sh'
ln -f 'hello-objc/autoclean.sh' 'hello-c/autoclean.sh' ln -f 'hello-java-qtjambi/autogen.sh' 'hello-java/autogen.sh'
ln -f 'hello-objc/autoclean.sh' 'hello-c++/autoclean.sh' ln -f 'hello-java-awt/autogen.sh' 'hello-java/autogen.sh'
ln -f 'hello-c-gnome/po/POTFILES.in' 'hello-c/po/POTFILES.in' ln -f 'hello-tcl/m4/Makefile.am' 'hello-ycp/m4/Makefile.am'
ln -f 'hello-c++-gnome/po/POTFILES.in' 'hello-c++/po/POTFILES.in' ln -f 'hello-tcl-tk/m4/Makefile.am' 'hello-ycp/m4/Makefile.am'
ln -f 'hello-smalltalk/m4/Makefile.am' 'hello-ycp/m4/Makefile.am'
ln -f 'hello-sh/m4/Makefile.am' 'hello-ycp/m4/Makefile.am'
ln -f 'hello-rust/m4/Makefile.am' 'hello-ycp/m4/Makefile.am'
ln -f 'hello-ruby/m4/Makefile.am' 'hello-ycp/m4/Makefile.am'
ln -f 'hello-python/m4/Makefile.am' 'hello-ycp/m4/Makefile.am'
ln -f 'hello-php/m4/Makefile.am' 'hello-ycp/m4/Makefile.am'
ln -f 'hello-perl/m4/Makefile.am' 'hello-ycp/m4/Makefile.am'
ln -f 'hello-pascal/m4/Makefile.am' 'hello-ycp/m4/Makefile.am'
ln -f 'hello-librep/m4/Makefile.am' 'hello-ycp/m4/Makefile.am'
ln -f 'hello-guile/m4/Makefile.am' 'hello-ycp/m4/Makefile.am'
ln -f 'hello-gawk/m4/Makefile.am' 'hello-ycp/m4/Makefile.am'
ln -f 'hello-clisp/m4/Makefile.am' 'hello-ycp/m4/Makefile.am'
ln -f 'hello-smalltalk/autoclean.sh' 'hello-ycp/autoclean.sh'
ln -f 'hello-sh/autoclean.sh' 'hello-ycp/autoclean.sh'
ln -f 'hello-ruby/autoclean.sh' 'hello-ycp/autoclean.sh'
ln -f 'hello-python/autoclean.sh' 'hello-ycp/autoclean.sh'
ln -f 'hello-php/autoclean.sh' 'hello-ycp/autoclean.sh'
ln -f 'hello-perl/autoclean.sh' 'hello-ycp/autoclean.sh'
ln -f 'hello-librep/autoclean.sh' 'hello-ycp/autoclean.sh'
ln -f 'hello-guile/autoclean.sh' 'hello-ycp/autoclean.sh'
ln -f 'hello-gawk/autoclean.sh' 'hello-ycp/autoclean.sh'
ln -f 'hello-clisp/autoclean.sh' 'hello-ycp/autoclean.sh'
ln -f 'hello-smalltalk/autogen.sh' 'hello-ycp/autogen.sh'
ln -f 'hello-sh/autogen.sh' 'hello-ycp/autogen.sh'
ln -f 'hello-rust/autogen.sh' 'hello-ycp/autogen.sh'
ln -f 'hello-ruby/autogen.sh' 'hello-ycp/autogen.sh'
ln -f 'hello-python/autogen.sh' 'hello-ycp/autogen.sh'
ln -f 'hello-php/autogen.sh' 'hello-ycp/autogen.sh'
ln -f 'hello-perl/autogen.sh' 'hello-ycp/autogen.sh'
ln -f 'hello-pascal/autogen.sh' 'hello-ycp/autogen.sh'
ln -f 'hello-librep/autogen.sh' 'hello-ycp/autogen.sh'
ln -f 'hello-guile/autogen.sh' 'hello-ycp/autogen.sh'
ln -f 'hello-gawk/autogen.sh' 'hello-ycp/autogen.sh'
ln -f 'hello-clisp/autogen.sh' 'hello-ycp/autogen.sh'
ln -f 'hello-objc-gnome2/po/POTFILES.in' 'hello-objc/po/POTFILES.in'
ln -f 'hello-c++/po/POTFILES.in' 'hello-c++20/po/POTFILES.in'
ln -f 'hello-c++-gnome2/po/POTFILES.in' 'hello-c++20/po/POTFILES.in'
ln -f 'hello-c++/po/Makevars' 'hello-c++20/po/Makevars'
ln -f 'hello-c++/autogen.sh' 'hello-c++20/autogen.sh'
ln -f 'hello-c++-gnome3/hello.ui' 'hello-c-gnome3/hello.ui'
ln -f 'hello-c++-gnome3/hello.gresource.xml' 'hello-c-gnome3/hello.gresource.xml'
ln -f 'hello-c++-gnome3/hello.desktop.in.in' 'hello-c-gnome3/hello.desktop.in.in'
ln -f 'hello-c-gnome3/po/Makevars' 'hello-objc-gnome2/po/Makevars'
ln -f 'hello-c-gnome2/po/Makevars' 'hello-objc-gnome2/po/Makevars'
ln -f 'hello-c++-gnome3/po/Makevars' 'hello-objc-gnome2/po/Makevars'
ln -f 'hello-c++-gnome2/po/Makevars' 'hello-objc-gnome2/po/Makevars'
ln -f 'hello-c-gnome2/m4/gnome-orbit-check.m4' 'hello-objc-gnome2/m4/gnome-orbit-check.m4'
ln -f 'hello-c++-gnome2/m4/gnome-orbit-check.m4' 'hello-objc-gnome2/m4/gnome-orbit-check.m4'
ln -f 'hello-c-gnome2/m4/gnome-gnorba-check.m4' 'hello-objc-gnome2/m4/gnome-gnorba-check.m4'
ln -f 'hello-c++-gnome2/m4/gnome-gnorba-check.m4' 'hello-objc-gnome2/m4/gnome-gnorba-check.m4'
ln -f 'hello-c-gnome2/m4/gnome.m4' 'hello-objc-gnome2/m4/gnome.m4'
ln -f 'hello-c++-gnome2/m4/gnome.m4' 'hello-objc-gnome2/m4/gnome.m4'
ln -f 'hello-c-http/autoclean.sh' 'hello-objc-gnome2/autoclean.sh'
ln -f 'hello-c-gnome2/autoclean.sh' 'hello-objc-gnome2/autoclean.sh'
ln -f 'hello-c++-gnome2/autoclean.sh' 'hello-objc-gnome2/autoclean.sh'
ln -f 'hello-c-gnome3/autogen.sh' 'hello-objc-gnome2/autogen.sh'
ln -f 'hello-c-gnome2/autogen.sh' 'hello-objc-gnome2/autogen.sh'
ln -f 'hello-c++-gnome3/autogen.sh' 'hello-objc-gnome2/autogen.sh'
ln -f 'hello-c++-gnome2/autogen.sh' 'hello-objc-gnome2/autogen.sh'
ln -f 'hello-tcl/po/LINGUAS' 'hello-ycp/po/LINGUAS'
ln -f 'hello-tcl-tk/po/LINGUAS' 'hello-ycp/po/LINGUAS'
ln -f 'hello-smalltalk/po/LINGUAS' 'hello-ycp/po/LINGUAS'
ln -f 'hello-sh/po/LINGUAS' 'hello-ycp/po/LINGUAS'
ln -f 'hello-rust/po/LINGUAS' 'hello-ycp/po/LINGUAS'
ln -f 'hello-ruby/po/LINGUAS' 'hello-ycp/po/LINGUAS'
ln -f 'hello-python/po/LINGUAS' 'hello-ycp/po/LINGUAS'
ln -f 'hello-php/po/LINGUAS' 'hello-ycp/po/LINGUAS'
ln -f 'hello-perl/po/LINGUAS' 'hello-ycp/po/LINGUAS'
ln -f 'hello-pascal/po/LINGUAS' 'hello-ycp/po/LINGUAS'
ln -f 'hello-objc/po/LINGUAS' 'hello-ycp/po/LINGUAS'
ln -f 'hello-objc-gnustep/po/LINGUAS' 'hello-ycp/po/LINGUAS'
ln -f 'hello-objc-gnome2/po/LINGUAS' 'hello-ycp/po/LINGUAS'
ln -f 'hello-librep/po/LINGUAS' 'hello-ycp/po/LINGUAS'
ln -f 'hello-java/po/LINGUAS' 'hello-ycp/po/LINGUAS'
ln -f 'hello-java-swing/po/LINGUAS' 'hello-ycp/po/LINGUAS'
ln -f 'hello-java-qtjambi/po/LINGUAS' 'hello-ycp/po/LINGUAS'
ln -f 'hello-java-awt/po/LINGUAS' 'hello-ycp/po/LINGUAS'
ln -f 'hello-guile/po/LINGUAS' 'hello-ycp/po/LINGUAS'
ln -f 'hello-gawk/po/LINGUAS' 'hello-ycp/po/LINGUAS'
ln -f 'hello-csharp/po/LINGUAS' 'hello-ycp/po/LINGUAS'
ln -f 'hello-csharp-forms/po/LINGUAS' 'hello-ycp/po/LINGUAS'
ln -f 'hello-clisp/po/LINGUAS' 'hello-ycp/po/LINGUAS'
ln -f 'hello-c/po/LINGUAS' 'hello-ycp/po/LINGUAS'
ln -f 'hello-c-http/po/LINGUAS' 'hello-ycp/po/LINGUAS'
ln -f 'hello-c-gnome3/po/LINGUAS' 'hello-ycp/po/LINGUAS'
ln -f 'hello-c-gnome2/po/LINGUAS' 'hello-ycp/po/LINGUAS'
ln -f 'hello-c++20/po/LINGUAS' 'hello-ycp/po/LINGUAS'
ln -f 'hello-c++/po/LINGUAS' 'hello-ycp/po/LINGUAS'
ln -f 'hello-c++-wxwidgets/po/LINGUAS' 'hello-ycp/po/LINGUAS'
ln -f 'hello-c++-qt/po/LINGUAS' 'hello-ycp/po/LINGUAS'
ln -f 'hello-c++-kde/po/LINGUAS' 'hello-ycp/po/LINGUAS'
ln -f 'hello-c++-gnome3/po/LINGUAS' 'hello-ycp/po/LINGUAS'
ln -f 'hello-c++-gnome2/po/LINGUAS' 'hello-ycp/po/LINGUAS'
ln -f 'hello-c-gnome2/po/POTFILES.in' 'hello-c/po/POTFILES.in'
ln -f 'hello-c/po/Makevars' 'hello-objc/po/Makevars'
ln -f 'hello-c-http/po/Makevars' 'hello-objc/po/Makevars'
ln -f 'hello-objc-gnome2/m4/Makefile.am' 'hello-objc/m4/Makefile.am'
ln -f 'hello-c/m4/Makefile.am' 'hello-objc/m4/Makefile.am'
ln -f 'hello-c-http/m4/Makefile.am' 'hello-objc/m4/Makefile.am'
ln -f 'hello-c-gnome3/m4/Makefile.am' 'hello-objc/m4/Makefile.am'
ln -f 'hello-c++20/m4/Makefile.am' 'hello-objc/m4/Makefile.am'
ln -f 'hello-c++/m4/Makefile.am' 'hello-objc/m4/Makefile.am'
ln -f 'hello-c++-kde/m4/Makefile.am' 'hello-objc/m4/Makefile.am'
ln -f 'hello-c++-gnome3/m4/Makefile.am' 'hello-objc/m4/Makefile.am'
ln -f 'hello-c/autoclean.sh' 'hello-objc/autoclean.sh'
ln -f 'hello-c++20/autoclean.sh' 'hello-objc/autoclean.sh'
ln -f 'hello-c++/autoclean.sh' 'hello-objc/autoclean.sh'
ln -f 'hello-c/autogen.sh' 'hello-objc/autogen.sh'

View File

@@ -1,3 +1,136 @@
-------------------------------------------------------------------
Wed Jul 23 12:40:45 UTC 2025 - Ana Guerrero <ana.guerrero@suse.com>
- Do not build support for Java and C# on i586.
-------------------------------------------------------------------
Thu Jul 17 07:42:56 UTC 2025 - Ana Guerrero <ana.guerrero@suse.com>
- Update to 0.25.1:
* Bug fixes:
- autopoint no longer fails if configure.ac contains no
AM_GNU_GETTEXT_VERSION or AM_GNU_GETTEXT_REQUIRE_VERSION invocation.
- nls.m4 is installed again under $PREFIX/share/aclocal/.
-------------------------------------------------------------------
Fri May 16 09:35:54 UTC 2025 - Andreas Stieger <andreas.stieger@gmx.de>
- Update to 0.25:
* xgettext now supports Go
* xgettext now supports TypeScript and TSX
* Add support for the D programming language (library and tools)
* Add support for the Modula-2 programming language (same)
* xgettext has a new option '--generated' that customizes the way
the 'POT-Creation-Date' in the POT file is computed
- build with libacl/libattr
-------------------------------------------------------------------
Thu May 15 16:06:29 UTC 2025 - Andreas Stieger <andreas.stieger@gmx.de>
- Update to 0.24.1:
* Fix bad interactions between autoreconf and autopoint
* xgettext: Creating the POT file of a package under Git version
control is now faster. Also, the use of Git can be turned off
by specifying the option --no-git
-------------------------------------------------------------------
Fri May 9 06:49:21 UTC 2025 - Andreas Stieger <andreas.stieger@gmx.de>
- update upstream signing key and verify source signatures (again)
-------------------------------------------------------------------
Wed Apr 9 19:35:55 UTC 2025 - Ana Guerrero <ana.guerrero@suse.com>
- Update to 0.24.0
* Programming languages support:
- C:
+ A new example 'hello-c-http' has been added, showing the use
of GNU gettext in a multithreaded web server.
- C++:
+ A new example 'hello-c++-gnome3' has been added.
- Ruby:
+ A new example 'hello-ruby' has been added.
* Improvements for maintainers:
- When xgettext creates the POT file of a package under Git version
control, the 'POT-Creation-Date' in the POT file usually no longer
changes gratuitously each time the POT file is regenerated.
- Update to 23.0
* Internationalized data formats:
- XML
+ The escaping of characters such as & < > has been changed:
+ No escaping is done any more by xgettext, when creating a POT file.
+ Instead, extra escaping can be requested for the msgfmt pass, when
merging into an XML file.
+ The default value of 'escape' in the <gt:escapeRule> was "yes";
now it is "no".
+ This means that existing translations of older POT files may no
longer fully apply. As a maintainer of a package that has
translatable XML files, you need to regenerate the POT file and
pass it on to your translators.
+ XML schemas for .its and .loc files are now provided.
+ The value of the xml:lang attribute, inserted by msgfmt,
now conforms to W3C standards.
+ 'msgfmt --xml' accept an option --replace-text, that causes
the output to be a mono-lingual XML file instead of a multi-lingual
XML file.
+ xgettext and 'msgfmt --xml' now support DocBook XML files.
- Desktop: xgettext now produces POT files with correct line numbers.
* Programming languages support:
- Java:
+ xgettext now has an improved recognition of format strings when
the String.formatted method is used.
- C#:
+ The build system and tools now also support 'dotnet' (.NET) as
C# implementation. In order to declare a preference for 'dotnet'
over 'mono', you can use the configure option '--enable-csharp=dotnet'.
+ xgettext now recognizes strings with embedded expressions
(a.k.a. interpolated strings).
- Perl:
+ xgettext now reports warnings instead of fatal errors.
+ xgettext now recognizes strings with embedded expressions
(a.k.a. interpolated strings).
* Runtime behaviour:
- In the C.UTF-8 locale, like in the C locale, the *gettext() functions
now return the msgid untranslated. This is relevant for GNU systems,
Linux with musl libc, FreeBSD, NetBSD, OpenBSD, Cygwin, and Android.
* Documentation:
- The section "Preparing Strings" now gives more advice how to deal
with string concatenation and strings with embedded expressions.
* xgettext:
- Most of the diagnostics emitted by xgettext are now labelled as
"warning" or "error".
* msgmerge:
- The option '--sorted-output' is now deprecated.
* libgettextpo library:
- This library is now multithread-safe.
- The function 'po_message_set_format' now supports resetting a format
string mark.
- Remove patches merged upstream:
* gettext-0.12.1-sigfpe.patch
* use-acinit-for-libtextstyle.patch
* reproducible.patch
* reproducible-jar.patch
- Refresh patches
* gettext-dont-test-gnulib.patch
* 0001-msgcat-Add-feature-to-use-the-newest-po-file.patch
* 0002-msgcat-Merge-headers-when-use-first.patch
- Update gettext-linkdupes.sh
-------------------------------------------------------------------
Wed Feb 26 03:01:34 CET 2025 - Stanislav Brabec <sbrabec@suse.com>
- Fix crash while handling po files with malformed header and
process them properly
(0003-Fix-malformed-header-processing.patch, boo#1227316).
-------------------------------------------------------------------
Thu Sep 12 10:43:39 UTC 2024 - Dan Čermák <dcermak@suse.com>
- Move envsubst requires into main package, gettext.sh is not part of
gettext-tools, but gettext-runtime (fixes boo#1227070)
------------------------------------------------------------------- -------------------------------------------------------------------
Tue Jul 16 08:42:20 UTC 2024 - Bernhard Wiedemann <bwiedemann@suse.com> Tue Jul 16 08:42:20 UTC 2024 - Bernhard Wiedemann <bwiedemann@suse.com>

View File

@@ -1,7 +1,8 @@
# #
# spec file for package gettext-runtime-mini # spec file for package gettext-runtime-mini
# #
# Copyright (c) 2024 SUSE LLC # Copyright (c) 2025 SUSE LLC
# Copyright (c) 2025 Andreas Stieger <Andreas.Stieger@gmx.de>
# #
# All modifications and additions to the file contributed by third parties # All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed # remain the property of their copyright owners, unless otherwise agreed
@@ -20,19 +21,21 @@
%bcond_without mini %bcond_without mini
Name: gettext-runtime-mini Name: gettext-runtime-mini
Version: 0.22.5 Version: 0.25.1
Release: 0 Release: 0
BuildRequires: automake >= 1.14 BuildRequires: automake >= 1.14
BuildRequires: gcc-c++ BuildRequires: gcc-c++
BuildRequires: glibc-gconv-modules-extra BuildRequires: glibc-gconv-modules-extra
BuildRequires: libtool BuildRequires: libtool
# To get an updated linkdupes.sh (in case there are new dupes), temproarily enable: # To get an updated linkdupes.sh (in case there are new dupes), temporarily enable:
#BuildRequires: fdupes #BuildRequires: fdupes
%if %{without mini} %if %{without mini}
BuildRequires: glib2-devel BuildRequires: glib2-devel
BuildRequires: libxml2-devel BuildRequires: libxml2-devel
BuildRequires: perl-libintl-perl BuildRequires: perl-libintl-perl
BuildRequires: tcl BuildRequires: tcl
BuildRequires: pkgconfig(libacl)
BuildRequires: pkgconfig(libattr)
# bug437293 # bug437293
%ifarch ppc64 %ifarch ppc64
Obsoletes: gettext-64bit Obsoletes: gettext-64bit
@@ -51,6 +54,8 @@ Requires: this-is-only-for-build-envs
# rpm-build requires gettext-tools, but we will only just be building it # rpm-build requires gettext-tools, but we will only just be building it
#!BuildIgnore: gettext-tools #!BuildIgnore: gettext-tools
%endif %endif
# gettext.sh requires envsubst
Requires: envsubst%{?with_mini:-mini} = %{version}
Summary: Tools for Native Language Support (NLS) Summary: Tools for Native Language Support (NLS)
License: GPL-3.0-or-later AND LGPL-2.0-or-later License: GPL-3.0-or-later AND LGPL-2.0-or-later
Group: Development/Tools/Other Group: Development/Tools/Other
@@ -61,22 +66,24 @@ Source2: suse-start-po-mode.el
Source3: gettext-linkdupes.sh Source3: gettext-linkdupes.sh
Source4: baselibs.conf Source4: baselibs.conf
Source5: gettext-rpmlintrc Source5: gettext-rpmlintrc
# pub ed25519 2025-01-28 [SC]
# E0FF BD97 5397 F77A 32AB 76EC B630 1D9E 1BBE AC08
# uid Bruno Haible (Free Software Development) <bruno@clisp.org>
# https://savannah.gnu.org/users/haible
Source6: gettext-runtime.keyring Source6: gettext-runtime.keyring
Patch0: gettext-0.12.1-sigfpe.patch
Patch1: gettext-0.19.3-fix-bashisms.patch Patch1: gettext-0.19.3-fix-bashisms.patch
Patch2: gettext-0.12.1-gettextize.patch Patch2: gettext-0.12.1-gettextize.patch
Patch3: use-acinit-for-libtextstyle.patch
Patch4: gettext-po-mode.diff Patch4: gettext-po-mode.diff
Patch5: gettext-initialize_vars.patch Patch5: gettext-initialize_vars.patch
# PATCH-FIX-OPENSUSE gettext-dont-test-gnulib.patch -- coolo@suse.de # PATCH-FIX-OPENSUSE gettext-dont-test-gnulib.patch -- coolo@suse.de
Patch6: gettext-dont-test-gnulib.patch Patch6: gettext-dont-test-gnulib.patch
# PATCH-FIX-UPSTREAM boo#941629 -- pth@suse.com # PATCH-FIX-UPSTREAM boo#941629 -- pth@suse.com
Patch11: boo941629-unnessary-rpath-on-standard-path.patch Patch11: boo941629-unnessary-rpath-on-standard-path.patch
# PATCH-FIX-SUSE Bug boo#1106843
Patch13: reproducible.patch
# PATCH-FEATURE bsc#1165138 # PATCH-FEATURE bsc#1165138
Patch14: 0001-msgcat-Add-feature-to-use-the-newest-po-file.patch Patch14: 0001-msgcat-Add-feature-to-use-the-newest-po-file.patch
Patch15: 0002-msgcat-Merge-headers-when-use-first.patch Patch15: 0002-msgcat-Merge-headers-when-use-first.patch
# PATCH-FEATURE-FIX-SUSE boo#1227316 -- sbrabec@suse.com
Patch16: 0003-Fix-malformed-header-processing.patch
%description %description
This package contains the intl library as well as tools that ease the This package contains the intl library as well as tools that ease the
@@ -92,8 +99,6 @@ License: LGPL-2.1-or-later
Group: Development/Tools/Other Group: Development/Tools/Other
Requires: %{name} = %{version} Requires: %{name} = %{version}
Requires: xz Requires: xz
# gettext.sh requires envsubst
Requires: envsubst%{?with_mini:-mini} = %{version}
# autopoint requires find # autopoint requires find
Requires: findutils Requires: findutils
# For non-UTF encodings # For non-UTF encodings
@@ -274,9 +279,7 @@ make check || {
%endif %endif
%files -f gettext-runtime.lang %files -f gettext-runtime.lang
%defattr(-,root,root)
%license COPYING %license COPYING
%dir %_datadir/gettext
%doc %dir %_docdir/%name/ %doc %dir %_docdir/%name/
%doc %_docdir/%name/gettext.1.html %doc %_docdir/%name/gettext.1.html
%doc %_docdir/%name/ngettext.1.html %doc %_docdir/%name/ngettext.1.html
@@ -296,7 +299,6 @@ make check || {
%doc %_mandir/man1/ngettext.1.gz %doc %_mandir/man1/ngettext.1.gz
%doc %_mandir/man1/msgfmt.1.gz %doc %_mandir/man1/msgfmt.1.gz
%doc %_mandir/man3/* %doc %_mandir/man3/*
%_datadir/gettext/ABOUT-NLS
%dir %_datadir/emacs %dir %_datadir/emacs
%dir %_datadir/emacs/site-lisp %dir %_datadir/emacs/site-lisp
%_datadir/emacs/site-lisp/po-compat.* %_datadir/emacs/site-lisp/po-compat.*
@@ -311,7 +313,6 @@ make check || {
%doc %_docdir/%name/envsubst.1.html %doc %_docdir/%name/envsubst.1.html
%files -n gettext-tools%{?with_mini:-mini} -f gettext-tools.lang %files -n gettext-tools%{?with_mini:-mini} -f gettext-tools.lang
%defattr(-,root,root)
%_bindir/msg[a-eg-u]* %_bindir/msg[a-eg-u]*
%_bindir/msgfilter %_bindir/msgfilter
%_bindir/xgettext %_bindir/xgettext
@@ -334,7 +335,11 @@ make check || {
%_libdir/libgettextsrc.* %_libdir/libgettextsrc.*
%_libdir/libgettextpo* %_libdir/libgettextpo*
%_libdir/preloadable_libintl.so %_libdir/preloadable_libintl.so
%_libdir/gettext %_libexecdir/gettext
%dir %_datadir/gettext
%_datadir/gettext
%exclude %_datadir/gettext/ABOUT-NLS
%_datadir/aclocal
%_datadir/%pacname/config.rpath %_datadir/%pacname/config.rpath
%_datadir/%pacname/po %_datadir/%pacname/po
%_datadir/%pacname/projects %_datadir/%pacname/projects
@@ -343,12 +348,10 @@ make check || {
%_datadir/%pacname/javaversion.class %_datadir/%pacname/javaversion.class
%_datadir/%pacname/styles %_datadir/%pacname/styles
%_datadir/%pacname/archive.dir.tar.xz %_datadir/%pacname/archive.dir.tar.xz
%_datadir/aclocal
%dir %{_datadir}/%{pacname}-%{version} %dir %{_datadir}/%{pacname}-%{version}
%{_datadir}/%{pacname}-%{version}/its %{_datadir}/%{pacname}-%{version}/its
%files tools-doc %files tools-doc
%defattr(-,root,root)
%doc %dir %_docdir/%name/ %doc %dir %_docdir/%name/
%doc %_docdir/%name/examples/ %doc %_docdir/%name/examples/
%doc %_docdir/%name/auto*.html %doc %_docdir/%name/auto*.html
@@ -361,11 +364,9 @@ make check || {
%if %{without mini} %if %{without mini}
%files -n libtextstyle0 %files -n libtextstyle0
%defattr(-,root,root)
%_libdir/libtextstyle.so.* %_libdir/libtextstyle.so.*
%files -n libtextstyle-devel %files -n libtextstyle-devel
%defattr(-,root,root)
%dir %_includedir/textstyle %dir %_includedir/textstyle
%_includedir/textstyle.h %_includedir/textstyle.h
%_includedir/textstyle/stdbool.h %_includedir/textstyle/stdbool.h

View File

@@ -1,3 +1,136 @@
-------------------------------------------------------------------
Wed Jul 23 12:40:45 UTC 2025 - Ana Guerrero <ana.guerrero@suse.com>
- Do not build support for Java and C# on i586.
-------------------------------------------------------------------
Thu Jul 17 07:42:56 UTC 2025 - Ana Guerrero <ana.guerrero@suse.com>
- Update to 0.25.1:
* Bug fixes:
- autopoint no longer fails if configure.ac contains no
AM_GNU_GETTEXT_VERSION or AM_GNU_GETTEXT_REQUIRE_VERSION invocation.
- nls.m4 is installed again under $PREFIX/share/aclocal/.
-------------------------------------------------------------------
Fri May 16 09:35:54 UTC 2025 - Andreas Stieger <andreas.stieger@gmx.de>
- Update to 0.25:
* xgettext now supports Go
* xgettext now supports TypeScript and TSX
* Add support for the D programming language (library and tools)
* Add support for the Modula-2 programming language (same)
* xgettext has a new option '--generated' that customizes the way
the 'POT-Creation-Date' in the POT file is computed
- build with libacl/libattr
-------------------------------------------------------------------
Thu May 15 16:06:29 UTC 2025 - Andreas Stieger <andreas.stieger@gmx.de>
- Update to 0.24.1:
* Fix bad interactions between autoreconf and autopoint
* xgettext: Creating the POT file of a package under Git version
control is now faster. Also, the use of Git can be turned off
by specifying the option --no-git
-------------------------------------------------------------------
Fri May 9 06:49:21 UTC 2025 - Andreas Stieger <andreas.stieger@gmx.de>
- update upstream signing key and verify source signatures (again)
-------------------------------------------------------------------
Wed Apr 9 19:35:55 UTC 2025 - Ana Guerrero <ana.guerrero@suse.com>
- Update to 0.24.0
* Programming languages support:
- C:
+ A new example 'hello-c-http' has been added, showing the use
of GNU gettext in a multithreaded web server.
- C++:
+ A new example 'hello-c++-gnome3' has been added.
- Ruby:
+ A new example 'hello-ruby' has been added.
* Improvements for maintainers:
- When xgettext creates the POT file of a package under Git version
control, the 'POT-Creation-Date' in the POT file usually no longer
changes gratuitously each time the POT file is regenerated.
- Update to 23.0
* Internationalized data formats:
- XML
+ The escaping of characters such as & < > has been changed:
+ No escaping is done any more by xgettext, when creating a POT file.
+ Instead, extra escaping can be requested for the msgfmt pass, when
merging into an XML file.
+ The default value of 'escape' in the <gt:escapeRule> was "yes";
now it is "no".
+ This means that existing translations of older POT files may no
longer fully apply. As a maintainer of a package that has
translatable XML files, you need to regenerate the POT file and
pass it on to your translators.
+ XML schemas for .its and .loc files are now provided.
+ The value of the xml:lang attribute, inserted by msgfmt,
now conforms to W3C standards.
+ 'msgfmt --xml' accept an option --replace-text, that causes
the output to be a mono-lingual XML file instead of a multi-lingual
XML file.
+ xgettext and 'msgfmt --xml' now support DocBook XML files.
- Desktop: xgettext now produces POT files with correct line numbers.
* Programming languages support:
- Java:
+ xgettext now has an improved recognition of format strings when
the String.formatted method is used.
- C#:
+ The build system and tools now also support 'dotnet' (.NET) as
C# implementation. In order to declare a preference for 'dotnet'
over 'mono', you can use the configure option '--enable-csharp=dotnet'.
+ xgettext now recognizes strings with embedded expressions
(a.k.a. interpolated strings).
- Perl:
+ xgettext now reports warnings instead of fatal errors.
+ xgettext now recognizes strings with embedded expressions
(a.k.a. interpolated strings).
* Runtime behaviour:
- In the C.UTF-8 locale, like in the C locale, the *gettext() functions
now return the msgid untranslated. This is relevant for GNU systems,
Linux with musl libc, FreeBSD, NetBSD, OpenBSD, Cygwin, and Android.
* Documentation:
- The section "Preparing Strings" now gives more advice how to deal
with string concatenation and strings with embedded expressions.
* xgettext:
- Most of the diagnostics emitted by xgettext are now labelled as
"warning" or "error".
* msgmerge:
- The option '--sorted-output' is now deprecated.
* libgettextpo library:
- This library is now multithread-safe.
- The function 'po_message_set_format' now supports resetting a format
string mark.
- Remove patches merged upstream:
* gettext-0.12.1-sigfpe.patch
* use-acinit-for-libtextstyle.patch
* reproducible.patch
* reproducible-jar.patch
- Refresh patches
* gettext-dont-test-gnulib.patch
* 0001-msgcat-Add-feature-to-use-the-newest-po-file.patch
* 0002-msgcat-Merge-headers-when-use-first.patch
- Update gettext-linkdupes.sh
-------------------------------------------------------------------
Wed Feb 26 03:01:34 CET 2025 - Stanislav Brabec <sbrabec@suse.com>
- Fix crash while handling po files with malformed header and
process them properly
(0003-Fix-malformed-header-processing.patch, boo#1227316).
-------------------------------------------------------------------
Thu Sep 12 10:43:39 UTC 2024 - Dan Čermák <dcermak@suse.com>
- Move envsubst requires into main package, gettext.sh is not part of
gettext-tools, but gettext-runtime (fixes boo#1227070)
------------------------------------------------------------------- -------------------------------------------------------------------
Tue Jul 16 08:42:20 UTC 2024 - Bernhard Wiedemann <bwiedemann@suse.com> Tue Jul 16 08:42:20 UTC 2024 - Bernhard Wiedemann <bwiedemann@suse.com>

View File

@@ -1,63 +1,26 @@
-----BEGIN PGP PUBLIC KEY BLOCK----- -----BEGIN PGP PUBLIC KEY BLOCK-----
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 fp6KVN9xLc08H84D
aXFCcgDf17PR6ADOtF58hytaTIwnb382qVesYL1torQO3IWabHHfNwgIm3aEtb/i =ACLB
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
Dw==
=MDRR
-----END PGP PUBLIC KEY BLOCK----- -----END PGP PUBLIC KEY BLOCK-----

View File

@@ -1,7 +1,8 @@
# #
# spec file for package gettext-runtime # spec file for package gettext-runtime
# #
# Copyright (c) 2024 SUSE LLC # Copyright (c) 2025 SUSE LLC
# Copyright (c) 2025 Andreas Stieger <Andreas.Stieger@gmx.de>
# #
# All modifications and additions to the file contributed by third parties # All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed # remain the property of their copyright owners, unless otherwise agreed
@@ -20,19 +21,21 @@
%bcond_with mini %bcond_with mini
Name: gettext-runtime Name: gettext-runtime
Version: 0.22.5 Version: 0.25.1
Release: 0 Release: 0
BuildRequires: automake >= 1.14 BuildRequires: automake >= 1.14
BuildRequires: gcc-c++ BuildRequires: gcc-c++
BuildRequires: glibc-gconv-modules-extra BuildRequires: glibc-gconv-modules-extra
BuildRequires: libtool BuildRequires: libtool
# To get an updated linkdupes.sh (in case there are new dupes), temproarily enable: # To get an updated linkdupes.sh (in case there are new dupes), temporarily enable:
#BuildRequires: fdupes #BuildRequires: fdupes
%if %{without mini} %if %{without mini}
BuildRequires: glib2-devel BuildRequires: glib2-devel
BuildRequires: libxml2-devel BuildRequires: libxml2-devel
BuildRequires: perl-libintl-perl BuildRequires: perl-libintl-perl
BuildRequires: tcl BuildRequires: tcl
BuildRequires: pkgconfig(libacl)
BuildRequires: pkgconfig(libattr)
# bug437293 # bug437293
%ifarch ppc64 %ifarch ppc64
Obsoletes: gettext-64bit Obsoletes: gettext-64bit
@@ -51,6 +54,8 @@ Requires: this-is-only-for-build-envs
# rpm-build requires gettext-tools, but we will only just be building it # rpm-build requires gettext-tools, but we will only just be building it
#!BuildIgnore: gettext-tools #!BuildIgnore: gettext-tools
%endif %endif
# gettext.sh requires envsubst
Requires: envsubst%{?with_mini:-mini} = %{version}
Summary: Tools for Native Language Support (NLS) Summary: Tools for Native Language Support (NLS)
License: GPL-3.0-or-later AND LGPL-2.0-or-later License: GPL-3.0-or-later AND LGPL-2.0-or-later
Group: Development/Tools/Other Group: Development/Tools/Other
@@ -61,22 +66,24 @@ Source2: suse-start-po-mode.el
Source3: gettext-linkdupes.sh Source3: gettext-linkdupes.sh
Source4: baselibs.conf Source4: baselibs.conf
Source5: gettext-rpmlintrc Source5: gettext-rpmlintrc
# pub ed25519 2025-01-28 [SC]
# E0FF BD97 5397 F77A 32AB 76EC B630 1D9E 1BBE AC08
# uid Bruno Haible (Free Software Development) <bruno@clisp.org>
# https://savannah.gnu.org/users/haible
Source6: gettext-runtime.keyring Source6: gettext-runtime.keyring
Patch0: gettext-0.12.1-sigfpe.patch
Patch1: gettext-0.19.3-fix-bashisms.patch Patch1: gettext-0.19.3-fix-bashisms.patch
Patch2: gettext-0.12.1-gettextize.patch Patch2: gettext-0.12.1-gettextize.patch
Patch3: use-acinit-for-libtextstyle.patch
Patch4: gettext-po-mode.diff Patch4: gettext-po-mode.diff
Patch5: gettext-initialize_vars.patch Patch5: gettext-initialize_vars.patch
# PATCH-FIX-OPENSUSE gettext-dont-test-gnulib.patch -- coolo@suse.de # PATCH-FIX-OPENSUSE gettext-dont-test-gnulib.patch -- coolo@suse.de
Patch6: gettext-dont-test-gnulib.patch Patch6: gettext-dont-test-gnulib.patch
# PATCH-FIX-UPSTREAM boo#941629 -- pth@suse.com # PATCH-FIX-UPSTREAM boo#941629 -- pth@suse.com
Patch11: boo941629-unnessary-rpath-on-standard-path.patch Patch11: boo941629-unnessary-rpath-on-standard-path.patch
# PATCH-FIX-SUSE Bug boo#1106843
Patch13: reproducible.patch
# PATCH-FEATURE bsc#1165138 # PATCH-FEATURE bsc#1165138
Patch14: 0001-msgcat-Add-feature-to-use-the-newest-po-file.patch Patch14: 0001-msgcat-Add-feature-to-use-the-newest-po-file.patch
Patch15: 0002-msgcat-Merge-headers-when-use-first.patch Patch15: 0002-msgcat-Merge-headers-when-use-first.patch
# PATCH-FEATURE-FIX-SUSE boo#1227316 -- sbrabec@suse.com
Patch16: 0003-Fix-malformed-header-processing.patch
%description %description
This package contains the intl library as well as tools that ease the This package contains the intl library as well as tools that ease the
@@ -92,8 +99,6 @@ License: LGPL-2.1-or-later
Group: Development/Tools/Other Group: Development/Tools/Other
Requires: %{name} = %{version} Requires: %{name} = %{version}
Requires: xz Requires: xz
# gettext.sh requires envsubst
Requires: envsubst%{?with_mini:-mini} = %{version}
# autopoint requires find # autopoint requires find
Requires: findutils Requires: findutils
# For non-UTF encodings # For non-UTF encodings
@@ -274,9 +279,7 @@ make check || {
%endif %endif
%files -f gettext-runtime.lang %files -f gettext-runtime.lang
%defattr(-,root,root)
%license COPYING %license COPYING
%dir %_datadir/gettext
%doc %dir %_docdir/%name/ %doc %dir %_docdir/%name/
%doc %_docdir/%name/gettext.1.html %doc %_docdir/%name/gettext.1.html
%doc %_docdir/%name/ngettext.1.html %doc %_docdir/%name/ngettext.1.html
@@ -296,7 +299,6 @@ make check || {
%doc %_mandir/man1/ngettext.1.gz %doc %_mandir/man1/ngettext.1.gz
%doc %_mandir/man1/msgfmt.1.gz %doc %_mandir/man1/msgfmt.1.gz
%doc %_mandir/man3/* %doc %_mandir/man3/*
%_datadir/gettext/ABOUT-NLS
%dir %_datadir/emacs %dir %_datadir/emacs
%dir %_datadir/emacs/site-lisp %dir %_datadir/emacs/site-lisp
%_datadir/emacs/site-lisp/po-compat.* %_datadir/emacs/site-lisp/po-compat.*
@@ -311,7 +313,6 @@ make check || {
%doc %_docdir/%name/envsubst.1.html %doc %_docdir/%name/envsubst.1.html
%files -n gettext-tools%{?with_mini:-mini} -f gettext-tools.lang %files -n gettext-tools%{?with_mini:-mini} -f gettext-tools.lang
%defattr(-,root,root)
%_bindir/msg[a-eg-u]* %_bindir/msg[a-eg-u]*
%_bindir/msgfilter %_bindir/msgfilter
%_bindir/xgettext %_bindir/xgettext
@@ -334,7 +335,11 @@ make check || {
%_libdir/libgettextsrc.* %_libdir/libgettextsrc.*
%_libdir/libgettextpo* %_libdir/libgettextpo*
%_libdir/preloadable_libintl.so %_libdir/preloadable_libintl.so
%_libdir/gettext %_libexecdir/gettext
%dir %_datadir/gettext
%_datadir/gettext
%exclude %_datadir/gettext/ABOUT-NLS
%_datadir/aclocal
%_datadir/%pacname/config.rpath %_datadir/%pacname/config.rpath
%_datadir/%pacname/po %_datadir/%pacname/po
%_datadir/%pacname/projects %_datadir/%pacname/projects
@@ -343,12 +348,10 @@ make check || {
%_datadir/%pacname/javaversion.class %_datadir/%pacname/javaversion.class
%_datadir/%pacname/styles %_datadir/%pacname/styles
%_datadir/%pacname/archive.dir.tar.xz %_datadir/%pacname/archive.dir.tar.xz
%_datadir/aclocal
%dir %{_datadir}/%{pacname}-%{version} %dir %{_datadir}/%{pacname}-%{version}
%{_datadir}/%{pacname}-%{version}/its %{_datadir}/%{pacname}-%{version}/its
%files tools-doc %files tools-doc
%defattr(-,root,root)
%doc %dir %_docdir/%name/ %doc %dir %_docdir/%name/
%doc %_docdir/%name/examples/ %doc %_docdir/%name/examples/
%doc %_docdir/%name/auto*.html %doc %_docdir/%name/auto*.html
@@ -361,11 +364,9 @@ make check || {
%if %{without mini} %if %{without mini}
%files -n libtextstyle0 %files -n libtextstyle0
%defattr(-,root,root)
%_libdir/libtextstyle.so.* %_libdir/libtextstyle.so.*
%files -n libtextstyle-devel %files -n libtextstyle-devel
%defattr(-,root,root)
%dir %_includedir/textstyle %dir %_includedir/textstyle
%_includedir/textstyle.h %_includedir/textstyle.h
%_includedir/textstyle/stdbool.h %_includedir/textstyle/stdbool.h

View File

@@ -1,186 +0,0 @@
commit 06bb3d6f86c43c7eb259cb2f0b8522ad87df40f1
Author: Bruno Haible <bruno@clisp.org>
Date: Tue Jul 16 23:59:05 2024 +0200
java: Create reproducible .jar files if the 'jar' utility supports it.
Suggested by Bernhard M. Wiedemann <bwiedemann@suse.de> in
<https://lists.gnu.org/archive/html/bug-gettext/2024-07/msg00020.html>.
* build-aux/jar-cf: New file.
* Makefile.am (EXTRA_DIST): Add it.
* gettext-runtime/intl-java/Makefile.am (libintl.jar): Use jar-cf.
* gettext-tools/src/Makefile.am (gettext.jar): Likewise.
diff --git a/Makefile.am b/Makefile.am
index c3ac6e0e5..4e2ad1128 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -54,7 +54,8 @@ EXTRA_DIST = \
$(changelog_etc) DEPENDENCIES PACKAGING HACKING JOIN-GNU ChangeLog.0 \
autogen.sh \
check-copyright-headers \
- build-aux/ac-help.sed build-aux/git-version-gen build-aux/texi2html \
+ build-aux/ac-help.sed build-aux/git-version-gen build-aux/jar-cf \
+ build-aux/texi2html \
m4/fixautomake.m4 m4/woe32-dll.m4 \
m4/libtool.m4
diff --git a/build-aux/jar-cf b/build-aux/jar-cf
new file mode 100755
index 000000000..f42578c02
--- /dev/null
+++ b/build-aux/jar-cf
@@ -0,0 +1,112 @@
+#!/bin/sh
+# Creating a Java archive (.jar).
+
+# Copyright (C) 2024 Free Software Foundation, Inc.
+#
+# This file is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published
+# by the Free Software Foundation, either version 3 of the License,
+# or (at your option) any later version.
+#
+# This file is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <https://www.gnu.org/licenses/>.
+
+# Written by Bruno Haible <bruno@clisp.org>, 2024.
+
+# func_usage
+# outputs to stdout the --help usage message.
+func_usage ()
+{
+ echo "\
+Usage: jar-cf [OPTION]... JAR_PROGRAM TOP_SRCDIR DESTINATION.jar ELEMENT...
+
+Invokes the JAR_PROGRAM, to create DESTINATION.jar with the ELEMENTs as
+contents.
+
+Options:
+ --help print this help and exit
+ --version print version information and exit
+
+Send patches and bug reports to <bug-gettext@gnu.org>."
+}
+
+# func_version
+# outputs to stdout the --version message.
+func_version ()
+{
+ echo "jar-cf (GNU gettext)"
+ echo "Copyright (C) 2024 Free Software Foundation, Inc.
+License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>
+This is free software: you are free to change and redistribute it.
+There is NO WARRANTY, to the extent permitted by law."
+ echo
+ printf 'Written by %s.\n' "Bruno Haible"
+}
+
+# func_fatal_error message
+# outputs to stderr a fatal error message, and terminates the program.
+func_fatal_error ()
+{
+ echo "jar-cf: *** $1" 1>&2
+ echo "jar-cf: *** Stop." 1>&2
+ exit 1
+}
+
+# Outputs a command and runs it.
+func_verbose ()
+{
+ # Make it easy to copy&paste the printed command into a shell in most cases,
+ # by escaping '\\', '"', and '$'. This is not perfect, just good enough.
+ echo "$@" | sed -e 's/\([\\"$]\)/\\\1/g'
+ "$@"
+}
+
+# Command-line option processing.
+while test $# -gt 0; do
+ case "$1" in
+ --help | --hel | --he | --h )
+ func_usage
+ exit 0 ;;
+ --version | --versio | --versi | --vers | --ver | --ve | --v )
+ func_version
+ exit 0 ;;
+ -- ) # Stop option processing
+ shift; break ;;
+ -* )
+ func_fatal_error "unrecognized option: $1"
+ ;;
+ * )
+ break ;;
+ esac
+done
+
+if test $# -lt 2; then
+ func_fatal_error "too few arguments"
+fi
+
+jar_program="$1"
+top_srcdir="$2"
+shift
+shift
+
+if $jar_program --help 2>&1 | grep '\-\-date=' >/dev/null; then
+ # The JAR_PROGRAM supports the --date option. Its effect is to set the given
+ # date as time stamp on all the ELEMENTs and also the META-INF/MANIFEST.MF.
+ # Use it, for reproducibility (cf. <https://reproducible-builds.org/>).
+ if test -d "$top_srcdir/.git"; then
+ # We are in a git checkout. Use the date of the latest commit.
+ date=`git log -n 1 --date=iso --format=fuller | sed -n -e 's/^CommitDate: //p' | sed -e 's/ /T/' -e 's/ \(...\)\(..\)$/\1:\2/'`
+ else
+ # We are building from a tarball.
+ # Use the date of the first entry of the ChangeLog file.
+ date=`sed -n -e 's/^\([0-9][0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9]\).*/\1/p' -e 1q "$top_srcdir/ChangeLog"`'T00:00:00+00:00'
+ fi
+ func_verbose $jar_program --date="$date" -c -f "$@"
+else
+ func_verbose $jar_program cf "$@"
+fi
diff --git a/gettext-runtime/intl-java/Makefile.am b/gettext-runtime/intl-java/Makefile.am
index a8c5290e9..4444f6e6c 100644
--- a/gettext-runtime/intl-java/Makefile.am
+++ b/gettext-runtime/intl-java/Makefile.am
@@ -1,5 +1,5 @@
## Makefile for the gettext-runtime/intl-java subdirectory of GNU gettext
-## Copyright (C) 2001-2003, 2006-2007, 2013 Free Software Foundation, Inc.
+## Copyright (C) 2001-2024 Free Software Foundation, Inc.
##
## This program is free software: you can redistribute it and/or modify
## it under the terms of the GNU General Public License as published by
@@ -45,7 +45,7 @@ gnu/gettext/GettextResource.class: $(srcdir)/gnu/gettext/GettextResource.java
$(JAVACOMP) -d . $(srcdir)/gnu/gettext/GettextResource.java
libintl.jar: gnu/gettext/GettextResource.class
- $(JAR) cf $@ gnu/gettext/GettextResource*.class
+ $(top_srcdir)/../build-aux/jar-cf '$(JAR)' '$(top_srcdir)/..' $@ gnu/gettext/GettextResource*.class
EXTRA_DIST += gnu/gettext/GettextResource.java
diff --git a/gettext-tools/src/Makefile.am b/gettext-tools/src/Makefile.am
index d95b08ed6..0316ca287 100644
--- a/gettext-tools/src/Makefile.am
+++ b/gettext-tools/src/Makefile.am
@@ -1,5 +1,5 @@
## Makefile for the gettext-tools/src subdirectory of GNU gettext
-## Copyright (C) 1995-1998, 2000-2023 Free Software Foundation, Inc.
+## Copyright (C) 1995-2024 Free Software Foundation, Inc.
##
## This program is free software: you can redistribute it and/or modify
## it under the terms of the GNU General Public License as published by
@@ -655,7 +655,7 @@ gnu/gettext/GetURL.class: $(srcdir)/gnu/gettext/GetURL.java
$(JAVACOMP) -d . $(srcdir)/gnu/gettext/GetURL.java
gettext.jar: gnu/gettext/DumpResource.class gnu/gettext/GetURL.class
- $(JAR) cf $@ gnu/gettext/DumpResource*.class gnu/gettext/GetURL*.class
+ $(top_srcdir)/../build-aux/jar-cf '$(JAR)' '$(top_srcdir)/..' $@ gnu/gettext/DumpResource*.class gnu/gettext/GetURL*.class
EXTRA_DIST += gnu/gettext/DumpResource.java gnu/gettext/GetURL.java

View File

@@ -1,50 +0,0 @@
merged upstream <https://savannah.gnu.org/bugs/?54367>
Index: gettext-0.19.8.1/gettext-tools/src/xgettext.c
===================================================================
--- gettext-0.19.8.1.orig/gettext-tools/src/xgettext.c
+++ gettext-0.19.8.1/gettext-tools/src/xgettext.c
@@ -3714,6 +3714,9 @@ construct_header ()
char *msgstr;
char *comment;
static lex_pos_ty pos = { __FILE__, __LINE__ };
+ char *source_date_epoch;
+ unsigned long long epoch;
+ char *endptr;
if (package_name != NULL)
{
@@ -3734,7 +3738,31 @@ the MSGID_BUGS_ADDRESS variable there; o
specify an --msgid-bugs-address command line option.\n\
")));
- time (&now);
+ source_date_epoch = getenv("SOURCE_DATE_EPOCH");
+ if (source_date_epoch) {
+ errno = 0;
+ epoch = strtoull(source_date_epoch, &endptr, 10);
+ if ((errno == ERANGE && (epoch == ULLONG_MAX || epoch == 0))
+ || (errno != 0 && epoch == 0)) {
+ fprintf(stderr, "Environment variable $SOURCE_DATE_EPOCH: strtoull: %s\n", strerror(errno));
+ exit(EXIT_FAILURE);
+ }
+ if (endptr == source_date_epoch) {
+ fprintf(stderr, "Environment variable $SOURCE_DATE_EPOCH: No digits were found: %s\n", endptr);
+ exit(EXIT_FAILURE);
+ }
+ if (*endptr != '\0') {
+ fprintf(stderr, "Environment variable $SOURCE_DATE_EPOCH: Trailing garbage: %s\n", endptr);
+ exit(EXIT_FAILURE);
+ }
+ if (epoch > ULONG_MAX) {
+ fprintf(stderr, "Environment variable $SOURCE_DATE_EPOCH: value must be smaller than or equal to %lu but was found to be: %llu \n", ULONG_MAX, epoch);
+ exit(EXIT_FAILURE);
+ }
+ now = epoch;
+ } else {
+ now = time(NULL);
+ }
timestring = po_strftime (&now);
msgstr = xasprintf ("\

View File

@@ -1,18 +0,0 @@
Index: gettext-0.21.1/libtextstyle/configure.ac
===================================================================
--- gettext-0.21.1.orig/libtextstyle/configure.ac
+++ gettext-0.21.1/libtextstyle/configure.ac
@@ -17,11 +17,10 @@ dnl along with this program. If not, se
dnl Process this file with autoconf to produce a configure script.
AC_PREREQ([2.64])
-AC_INIT
+AC_INIT([libtextstyle],
+ m4_esyscmd([source ./version.sh; echo $VERSION_NUMBER | tr -d '\n']))
AC_CONFIG_SRCDIR([version.sh])
AC_CONFIG_AUX_DIR([build-aux])
-. $srcdir/version.sh
-gl_INIT_PACKAGE([libtextstyle], [$VERSION_NUMBER])
AM_INIT_AUTOMAKE([1.13 silent-rules])
AC_CONFIG_HEADERS([config.h])