1
0
gettext-runtime/reproducible.patch
Marcus Meissner 142fb01862 Accepting request 712409 from home:cvoegl:branches:Base:System
- Updated to version 0.20.1:
  + msgfmt now eliminates the POT-Creation-Date header field from .mo files.
  + msgmerge now has an option --for-msgfmt, that produces a PO file meant
    for use by msgfmt only.  This option saves processing time, in particular
    by omitting fuzzy matching that is not useful in this situation.
  + The .pot file in a 'po' directory is now erased by "make maintainer-clean".
  + It is now possible to override xgettext options from the po/Makefile.in.in
    through options in XGETTEXT_OPTIONS (declared in po/Makevars).
  + The --intl option of the gettextize program (deprecated since 2010) is
    no longer available. Instead of including the intl sources in your package,
    we suggest making the libintl library an optional prerequisite of your
    package. This will simplify the build system of your package.
  + Accordingly, the Autoconf macro AM_GNU_GETTEXT_INTL_SUBDIR is gone as well.
- Rebased gettext-po-mode.diff
- Removed gettext-needlessly_init_vars.patch (now in upstream)
- Updated to version 0.20.1
  + msgfmt now eliminates the POT-Creation-Date header field from .mo files.
  + update-po target in Makefile.in.in now uses msgmerge --previous.
  + msgmerge now has an option --for-msgfmt, that produces a PO file meant
    for use by msgfmt only.  This option saves processing time, in particular
    by omitting fuzzy matching that is not useful in this situation.
  + The .pot file in a 'po' directory is now erased by "make maintainer-clean".
  + It is now possible to override xgettext options from the po/Makefile.in.in
    through options in XGETTEXT_OPTIONS (declared in po/Makevars).
  + The --intl option of the gettextize program (deprecated since 2010) is
    no longer available. Instead of including the intl sources in your package,
    we suggest making the libintl library an optional prerequisite of your
    package. This will simplify the build system of your package.
  + Accordingly, the Autoconf macro AM_GNU_GETTEXT_INTL_SUBDIR is gone as well.
  + Java:
    * xgettext now supports UTF-8 encoded .properties files (a new feature
      of Java 9).
    * The build system and tools now support Java 9, 10, and 11. On the
      other hand, support for old versions of Java (Java 5 and older,
      GCJ 4.2.x and older) has been dropped.
- Rebased gettext-po-mode.diff 
- Removed gettext-needlessly_init_vars.patch (now in upstream)
- Removed gettext-0.19.8.1-jdk9.patch (now in upstream)
- Updatetd to 0.20.1
  + msgfmt now eliminates the POT-Creation-Date header field from .mo files.
  + update-po target in Makefile.in.in now uses msgmerge --previous.
  + msgmerge now has an option --for-msgfmt, that produces a PO file meant
    for use by msgfmt only.  This option saves processing time, in particular
    by omitting fuzzy matching that is not useful in this situation.
  + The .pot file in a 'po' directory is now erased by "make maintainer-clean".
  + It is now possible to override xgettext options from the po/Makefile.in.in
    through options in XGETTEXT_OPTIONS (declared in po/Makevars).
  + The --intl option of the gettextize program (deprecated since 2010) is
    no longer available. Instead of including the intl sources in your package,
    we suggest making the libintl library an optional prerequisite of your
    package. This will simplify the build system of your package.
  + Accordingly, the Autoconf macro AM_GNU_GETTEXT_INTL_SUBDIR is gone as well.
  + C, C++:
    *  xgettext now supports strings in u8"..." syntax, as specified in C11
       and C++11.
    *  xgettext now supports 'p'/'P' exponent markers in number tokens, as
       specified in C99 and C++17.
  + C++:
    *  xgettext now supports single-quotes in number tokens, as specified in
       C++14. 
  + Shell:
    *  The programs 'gettext', 'ngettext' now support a --context argument.
    *  gettext.sh contains new function eval_pgettext and eval_npgettext
       for producing translations of messages with context.
  + Perl:
    * Native support for context functions (pgettext, dpgettext, dcpgettext,
      npgettext, dnpgettext, dcnpgettext).
    * better detection of question mark and slash as operators (as opposed 
      to regular expression delimiters).
  + Scheme:
    * xgettext now parses the syntax for specialized byte vectors (#u8(...),
      #vu8(...), etc.) correctly.
  + Pascal:
    * xgettext can now extract strings from .rsj files, produced by the
      Free Pascal compiler version 3.0.0 or newer.
  + Vala:
    * xgettext now parses escape sequences in strings more accurately.
  + JavaScript:
    *  xgettext now parses template literals correctly.
- Rebased gettext-dont-test-gnulib.patch
- Removed gettext-needlessly_init_vars.patch (now in upstream)
- Rebased gettext-po-mode.diff
- Removed msgfmt-remove-pot-creation-date.patch (now in upstream)
- Removed msgfmt-reset-msg-length-after-remove.patch (now in upstream)
- Removed parts of reproducible.patch (now in upstream)
- Updatetd to 0.20.1
  + msgfmt now eliminates the POT-Creation-Date header field from .mo files.
  + update-po target in Makefile.in.in now uses msgmerge --previous.
  + msgmerge now has an option --for-msgfmt, that produces a PO file meant
    for use by msgfmt only.  This option saves processing time, in particular
    by omitting fuzzy matching that is not useful in this situation.
  + The .pot file in a 'po' directory is now erased by "make maintainer-clean".
  + It is now possible to override xgettext options from the po/Makefile.in.in
    through options in XGETTEXT_OPTIONS (declared in po/Makevars).
  + The --intl option of the gettextize program (deprecated since 2010) is
    no longer available. Instead of including the intl sources in your package,
    we suggest making the libintl library an optional prerequisite of your
    package. This will simplify the build system of your package.
  + Accordingly, the Autoconf macro AM_GNU_GETTEXT_INTL_SUBDIR is gone as well.
  + C, C++:
    *  xgettext now supports strings in u8"..." syntax, as specified in C11
       and C++11.
    *  xgettext now supports 'p'/'P' exponent markers in number tokens, as
       specified in C99 and C++17.
  + C++:
    *  xgettext now supports single-quotes in number tokens, as specified in
       C++14. 
  + Shell:
    *  The programs 'gettext', 'ngettext' now support a --context argument.
    *  gettext.sh contains new function eval_pgettext and eval_npgettext
       for producing translations of messages with context.
  + Perl:
    * Native support for context functions (pgettext, dpgettext, dcpgettext,
      npgettext, dnpgettext, dcnpgettext).
    * better detection of question mark and slash as operators (as opposed 
      to regular expression delimiters).
  + Scheme:
    * xgettext now parses the syntax for specialized byte vectors (#u8(...),
      #vu8(...), etc.) correctly.
  + Pascal:
    * xgettext can now extract strings from .rsj files, produced by the
      Free Pascal compiler version 3.0.0 or newer.
  + Vala:
    * xgettext now parses escape sequences in strings more accurately.
  + JavaScript:
    *  xgettext now parses template literals correctly.
- Rebased gettext-dont-test-gnulib.patch
- Removed gettext-needlessly_init_vars.patch (now in upstream)
- Rebased gettext-po-mode.diff
- Removed msgfmt-remove-pot-creation-date.patch (now in upstream)
- Removed msgfmt-reset-msg-length-after-remove.patch (now in upstream)
- Removed parts of reproducible.patch (now in upstream)

OBS-URL: https://build.opensuse.org/request/show/712409
OBS-URL: https://build.opensuse.org/package/show/Base:System/gettext-runtime?expand=0&rev=153
2019-07-08 12:13:35 +00:00

51 lines
1.7 KiB
Diff

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 ("\