forked from pool/timezone
Accepting request 379068 from Base:System
1 OBS-URL: https://build.opensuse.org/request/show/379068 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/timezone?expand=0&rev=102
This commit is contained in:
parent
9bbc60ab74
commit
6b60f7e04a
@ -1,8 +1,8 @@
|
||||
Index: timezone-2014i/iso3166.tab
|
||||
Index: timezone-2016b/iso3166.tab
|
||||
===================================================================
|
||||
--- timezone-2014i.orig/iso3166.tab
|
||||
+++ timezone-2014i/iso3166.tab
|
||||
@@ -100,7 +100,7 @@ FM Micronesia
|
||||
--- timezone-2016b.orig/iso3166.tab
|
||||
+++ timezone-2016b/iso3166.tab
|
||||
@@ -99,7 +99,7 @@ FM Micronesia
|
||||
FO Faroe Islands
|
||||
FR France
|
||||
GA Gabon
|
||||
|
@ -1,3 +1,36 @@
|
||||
-------------------------------------------------------------------
|
||||
Wed Mar 23 23:05:32 UTC 2016 - astieger@suse.com
|
||||
|
||||
- timezone update 2016c [boo#972433]
|
||||
* Azerbaijan no longer observes DST (Asia/Baku)
|
||||
* Chile reverts from permanent to seasonal DST.
|
||||
* Correct past timestamps for Europe/Kaliningrad, Europe/Vilnius,
|
||||
Europe/Volgograd 1989-1991
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Mar 17 06:52:00 UTC 2016 - lchiquitto@suse.com
|
||||
|
||||
- timezone update 2016b [boo#971377]
|
||||
* New zones Europe/Astrakhan and Europe/Ulyanovsk for Astrakhan
|
||||
and Ulyanovsk Oblasts, Russia, both of which will switch from
|
||||
+03 to +04 on 2016-03-27 at 02:00 local time.
|
||||
* New zone Asia/Barnaul for Altai Krai and Altai Republic, Russia,
|
||||
which will switch from +06 to +07 on the same date and local time.
|
||||
* Asia/Sakhalin moves from +10 to +11 on 2016-03-27 at 02:00.
|
||||
* As a trial of a new system that needs less information to be made
|
||||
up, the new zones use numeric time zone abbreviations like "+04"
|
||||
instead of invented abbreviations like "ASTT".
|
||||
* Haiti will not observe DST in 2016.
|
||||
* Palestine's spring-forward transition on 2016-03-26 is at 01:00,
|
||||
not 00:00.
|
||||
* tzselect's diagnostics and checking, and checktab.awk's checking,
|
||||
have been improved.
|
||||
* tzselect now tests Julian-date TZ settings more accurately.
|
||||
(Thanks to J William Piggott.)
|
||||
- tzcode-revert-01-8c9cb9580.patch, tzcode-revert-02-301f794f3.patch,
|
||||
tzcode-revert-03-39fd078a6.patch: Revert some porting fixes specific
|
||||
to MS-Windows that rewrites parts of zic touched by our patches.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Jan 28 07:37:16 UTC 2016 - astieger@suse.com
|
||||
|
||||
|
@ -25,7 +25,7 @@ License: BSD-3-Clause and SUSE-Public-Domain
|
||||
Group: System/Base
|
||||
# COMMON-BEGIN
|
||||
# COMMON-BEGIN
|
||||
Version: 2016a
|
||||
Version: 2016c
|
||||
Release: 0
|
||||
Source: ftp://ftp.iana.org/tz/releases/tzdata%{version}.tar.gz
|
||||
Source1: ftp://ftp.iana.org/tz/releases/tzcode%{version}.tar.gz
|
||||
@ -33,6 +33,9 @@ Source2: ftp://ftp.iana.org/tz/releases/tzdata%{version}.tar.gz.asc
|
||||
Source3: ftp://ftp.iana.org/tz/releases/tzcode%{version}.tar.gz.asc
|
||||
# http://sks.mrball.net/pks/lookup?op=get&search=0xED97E90E62AA7E34
|
||||
Source4: timezone.keyring
|
||||
Patch100: tzcode-revert-01-8c9cb9580.patch
|
||||
Patch101: tzcode-revert-02-301f794f3.patch
|
||||
Patch102: tzcode-revert-03-39fd078a6.patch
|
||||
Patch0: tzdata-china.diff
|
||||
Patch1: tzcode-zic.diff
|
||||
# PATCH-FIX-OPENSUSE bnc#845530
|
||||
@ -59,6 +62,9 @@ package is intended for Java Virtual Machine based on OpenJDK.
|
||||
%setup -c -a 1
|
||||
# COMMON-PREP-BEGIN
|
||||
# COMMON-PREP-BEGIN
|
||||
%patch100 -p1 -R
|
||||
%patch101 -p1 -R
|
||||
%patch102 -p1 -R
|
||||
%patch0 -p1
|
||||
%patch1 -p1
|
||||
%patch2 -p1
|
||||
|
@ -1,7 +1,7 @@
|
||||
#
|
||||
# spec file for package timezone-java
|
||||
#
|
||||
# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany.
|
||||
# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany.
|
||||
#
|
||||
# All modifications and additions to the file contributed by third parties
|
||||
# remain the property of their copyright owners, unless otherwise agreed
|
||||
|
@ -1,3 +1,36 @@
|
||||
-------------------------------------------------------------------
|
||||
Wed Mar 23 23:05:32 UTC 2016 - astieger@suse.com
|
||||
|
||||
- timezone update 2016c [boo#972433]
|
||||
* Azerbaijan no longer observes DST (Asia/Baku)
|
||||
* Chile reverts from permanent to seasonal DST.
|
||||
* Correct past timestamps for Europe/Kaliningrad, Europe/Vilnius,
|
||||
Europe/Volgograd 1989-1991
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Mar 17 06:52:00 UTC 2016 - lchiquitto@suse.com
|
||||
|
||||
- timezone update 2016b [boo#971377]
|
||||
* New zones Europe/Astrakhan and Europe/Ulyanovsk for Astrakhan
|
||||
and Ulyanovsk Oblasts, Russia, both of which will switch from
|
||||
+03 to +04 on 2016-03-27 at 02:00 local time.
|
||||
* New zone Asia/Barnaul for Altai Krai and Altai Republic, Russia,
|
||||
which will switch from +06 to +07 on the same date and local time.
|
||||
* Asia/Sakhalin moves from +10 to +11 on 2016-03-27 at 02:00.
|
||||
* As a trial of a new system that needs less information to be made
|
||||
up, the new zones use numeric time zone abbreviations like "+04"
|
||||
instead of invented abbreviations like "ASTT".
|
||||
* Haiti will not observe DST in 2016.
|
||||
* Palestine's spring-forward transition on 2016-03-26 is at 01:00,
|
||||
not 00:00.
|
||||
* tzselect's diagnostics and checking, and checktab.awk's checking,
|
||||
have been improved.
|
||||
* tzselect now tests Julian-date TZ settings more accurately.
|
||||
(Thanks to J William Piggott.)
|
||||
- tzcode-revert-01-8c9cb9580.patch, tzcode-revert-02-301f794f3.patch,
|
||||
tzcode-revert-03-39fd078a6.patch: Revert some porting fixes specific
|
||||
to MS-Windows that rewrites parts of zic touched by our patches.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Jan 28 07:37:16 UTC 2016 - astieger@suse.com
|
||||
|
||||
|
@ -23,7 +23,7 @@ Group: System/Base
|
||||
Url: http://www.iana.org/time-zones
|
||||
PreReq: filesystem, coreutils
|
||||
# COMMON-BEGIN
|
||||
Version: 2016a
|
||||
Version: 2016c
|
||||
Release: 0
|
||||
Source: ftp://ftp.iana.org/tz/releases/tzdata%{version}.tar.gz
|
||||
Source1: ftp://ftp.iana.org/tz/releases/tzcode%{version}.tar.gz
|
||||
@ -31,6 +31,9 @@ Source2: ftp://ftp.iana.org/tz/releases/tzdata%{version}.tar.gz.asc
|
||||
Source3: ftp://ftp.iana.org/tz/releases/tzcode%{version}.tar.gz.asc
|
||||
# http://sks.mrball.net/pks/lookup?op=get&search=0xED97E90E62AA7E34
|
||||
Source4: timezone.keyring
|
||||
Patch100: tzcode-revert-01-8c9cb9580.patch
|
||||
Patch101: tzcode-revert-02-301f794f3.patch
|
||||
Patch102: tzcode-revert-03-39fd078a6.patch
|
||||
Patch0: tzdata-china.diff
|
||||
Patch1: tzcode-zic.diff
|
||||
# PATCH-FIX-OPENSUSE bnc#845530
|
||||
@ -53,6 +56,9 @@ can select an appropriate time zone for your system with YaST.
|
||||
%prep
|
||||
%setup -q -c -a 1
|
||||
# COMMON-PREP-BEGIN
|
||||
%patch100 -p1 -R
|
||||
%patch101 -p1 -R
|
||||
%patch102 -p1 -R
|
||||
%patch0 -p1
|
||||
%patch1 -p1
|
||||
%patch2 -p1
|
||||
|
@ -1,8 +1,8 @@
|
||||
Index: timezone-2015d/zic.c
|
||||
Index: timezone-2016b/zic.c
|
||||
===================================================================
|
||||
--- timezone-2015d.orig/zic.c
|
||||
+++ timezone-2015d/zic.c
|
||||
@@ -757,7 +757,7 @@ dolink(const char *const fromfield, cons
|
||||
--- timezone-2016b.orig/zic.c
|
||||
+++ timezone-2016b/zic.c
|
||||
@@ -768,7 +768,7 @@ dolink(char const *fromfield, char const
|
||||
|
||||
result = link(fromname, toname);
|
||||
if (result != 0) {
|
||||
@ -11,7 +11,7 @@ Index: timezone-2015d/zic.c
|
||||
const char *t;
|
||||
char *p;
|
||||
size_t dotdots = 0;
|
||||
@@ -766,10 +766,10 @@ dolink(const char *const fromfield, cons
|
||||
@@ -777,10 +777,10 @@ dolink(char const *fromfield, char const
|
||||
do
|
||||
t = s;
|
||||
while ((s = strchr(s, '/'))
|
||||
|
60
tzcode-revert-01-8c9cb9580.patch
Normal file
60
tzcode-revert-01-8c9cb9580.patch
Normal file
@ -0,0 +1,60 @@
|
||||
commit 8c9cb958078b470e352a58f7f2d756544051e59b
|
||||
Author: Paul Eggert <eggert@cs.ucla.edu>
|
||||
Date: Fri Feb 26 12:36:17 2016 -0800
|
||||
|
||||
Fix asctime_r warning with MS-Windows
|
||||
|
||||
Problem reported by Ian Abbott in:
|
||||
http://mm.icann.org/pipermail/tz/2016-February/023291.html
|
||||
* Makefile (CFLAGS): Add comment about new -D option.
|
||||
* private.h (HAVE_DECL_ASCTIME_R): New macro.
|
||||
(asctime_r): Depend on this, not on HAVE_POSIX_DECLS.
|
||||
|
||||
diff --git a/Makefile b/Makefile
|
||||
index 20c2c98..5e2fb52 100644
|
||||
--- a/Makefile
|
||||
+++ b/Makefile
|
||||
@@ -106,6 +106,7 @@ LDLIBS=
|
||||
|
||||
# Add the following to the end of the "CFLAGS=" line as needed.
|
||||
# -DBIG_BANG=-9999999LL if the Big Bang occurred at time -9999999 (see zic.c)
|
||||
+# -DHAVE_DECL_ASCTIME_R=0 if <time.h> does not declare asctime_r
|
||||
# -DHAVE_DIRECT_H if mkdir needs <direct.h> (MS-Windows)
|
||||
# -DHAVE_DOS_FILE_NAMES if file names have drive specifiers etc. (MS-DOS)
|
||||
# -DHAVE_GETTEXT=1 if 'gettext' works (GNU, Linux, Solaris); also see LDLIBS
|
||||
diff --git a/private.h b/private.h
|
||||
index e23764d..941e91b 100644
|
||||
--- a/private.h
|
||||
+++ b/private.h
|
||||
@@ -22,6 +22,10 @@
|
||||
** You can override these in your C compiler options, e.g. '-DHAVE_GETTEXT=1'.
|
||||
*/
|
||||
|
||||
+#ifndef HAVE_DECL_ASCTIME_R
|
||||
+#define HAVE_DECL_ASCTIME_R 1
|
||||
+#endif
|
||||
+
|
||||
#ifndef HAVE_GETTEXT
|
||||
#define HAVE_GETTEXT 0
|
||||
#endif /* !defined HAVE_GETTEXT */
|
||||
@@ -386,17 +390,11 @@ time_t time(time_t *);
|
||||
void tzset(void);
|
||||
#endif
|
||||
|
||||
-/*
|
||||
-** Some time.h implementations don't declare asctime_r.
|
||||
-** Others might define it as a macro.
|
||||
-** Fix the former without affecting the latter.
|
||||
-** Similarly for timezone, daylight, and altzone.
|
||||
-*/
|
||||
+#if !HAVE_DECL_ASCTIME_R && !defined asctime_r
|
||||
+extern char *asctime_r(struct tm const *restrict, char *restrict);
|
||||
+#endif
|
||||
|
||||
#if !HAVE_POSIX_DECLS
|
||||
-# ifndef asctime_r
|
||||
-extern char * asctime_r(struct tm const *restrict, char *restrict);
|
||||
-# endif
|
||||
# ifdef USG_COMPAT
|
||||
# ifndef timezone
|
||||
extern long timezone;
|
96
tzcode-revert-02-301f794f3.patch
Normal file
96
tzcode-revert-02-301f794f3.patch
Normal file
@ -0,0 +1,96 @@
|
||||
commit 301f794f33d145b08fbf7f5247c8663d404fabb5
|
||||
Author: Paul Eggert <eggert@cs.ucla.edu>
|
||||
Date: Fri Feb 26 08:58:45 2016 -0800
|
||||
|
||||
Fix tzname redefinition in MS-Windows
|
||||
|
||||
Problem reported by Ian Abbott in:
|
||||
http://mm.icann.org/pipermail/tz/2016-February/023289.html
|
||||
* localtime.c (tzname): Don’t define if HAVE_POSIX_DECLS,
|
||||
as causes the Microsoft compiler to complain that tzname
|
||||
is redeclared without dllimport.
|
||||
* localtime.c, private.h (altzone): Do define even if
|
||||
HAVE_POSIX_DECLS, since this is not a POSIX-specified variable.
|
||||
|
||||
diff --git a/localtime.c b/localtime.c
|
||||
index e3bc763..276ce34 100644
|
||||
--- a/localtime.c
|
||||
+++ b/localtime.c
|
||||
@@ -178,11 +178,6 @@ static struct state gmtmem;
|
||||
static char lcl_TZname[TZ_STRLEN_MAX + 1];
|
||||
static int lcl_is_set;
|
||||
|
||||
-char * tzname[2] = {
|
||||
- (char *) wildabbr,
|
||||
- (char *) wildabbr
|
||||
-};
|
||||
-
|
||||
/*
|
||||
** Section 4.12.3 of X3.159-1989 requires that
|
||||
** Except for the strftime function, these functions [asctime,
|
||||
@@ -193,10 +188,16 @@ char * tzname[2] = {
|
||||
|
||||
static struct tm tm;
|
||||
|
||||
-#ifdef USG_COMPAT
|
||||
+#if !HAVE_POSIX_DECLS
|
||||
+char * tzname[2] = {
|
||||
+ (char *) wildabbr,
|
||||
+ (char *) wildabbr
|
||||
+};
|
||||
+# ifdef USG_COMPAT
|
||||
long timezone;
|
||||
int daylight;
|
||||
-#endif /* defined USG_COMPAT */
|
||||
+# endif
|
||||
+#endif
|
||||
|
||||
#ifdef ALTZONE
|
||||
long altzone;
|
||||
diff --git a/private.h b/private.h
|
||||
index 6080e71..e23764d 100644
|
||||
--- a/private.h
|
||||
+++ b/private.h
|
||||
@@ -386,8 +386,6 @@ time_t time(time_t *);
|
||||
void tzset(void);
|
||||
#endif
|
||||
|
||||
-#if !HAVE_POSIX_DECLS
|
||||
-
|
||||
/*
|
||||
** Some time.h implementations don't declare asctime_r.
|
||||
** Others might define it as a macro.
|
||||
@@ -395,24 +393,24 @@ void tzset(void);
|
||||
** Similarly for timezone, daylight, and altzone.
|
||||
*/
|
||||
|
||||
-#ifndef asctime_r
|
||||
+#if !HAVE_POSIX_DECLS
|
||||
+# ifndef asctime_r
|
||||
extern char * asctime_r(struct tm const *restrict, char *restrict);
|
||||
-#endif
|
||||
-
|
||||
-#ifdef USG_COMPAT
|
||||
-# ifndef timezone
|
||||
-extern long timezone;
|
||||
# endif
|
||||
-# ifndef daylight
|
||||
+# ifdef USG_COMPAT
|
||||
+# ifndef timezone
|
||||
+extern long timezone;
|
||||
+# endif
|
||||
+# ifndef daylight
|
||||
extern int daylight;
|
||||
+# endif
|
||||
# endif
|
||||
#endif
|
||||
+
|
||||
#if defined ALTZONE && !defined altzone
|
||||
extern long altzone;
|
||||
#endif
|
||||
|
||||
-#endif
|
||||
-
|
||||
/*
|
||||
** The STD_INSPIRED functions are similar, but most also need
|
||||
** declarations if time_tz is defined.
|
319
tzcode-revert-03-39fd078a6.patch
Normal file
319
tzcode-revert-03-39fd078a6.patch
Normal file
@ -0,0 +1,319 @@
|
||||
commit 39fd078a694fa762de5ae7efceca1dbfb7be94b3
|
||||
Author: Paul Eggert <eggert@cs.ucla.edu>
|
||||
Date: Fri Feb 26 03:33:54 2016 -0800
|
||||
|
||||
Port better to MS-Windows
|
||||
|
||||
Problems reported by Ian Abbott in:
|
||||
http://mm.icann.org/pipermail/tz/2016-February/023286.html
|
||||
http://mm.icann.org/pipermail/tz/2016-February/023287.html
|
||||
* Makefile (CFLAGS): Add comment about new -D options.
|
||||
* date.c (environ, optarg, optind, tzname):
|
||||
* private.h (asctime_r, timezone, daylight, altzone):
|
||||
* strftime.c (tzname):
|
||||
* zdump.c (environ, getopt, optarg, optind, tzname):
|
||||
* zic.c (getopt, link, optarg, optind):
|
||||
Do not declare if HAVE_POSIX_DECLS, to avoid collisions with
|
||||
system declarations, which is a problem with MS-Windows
|
||||
and tzname and the dllimport attribute.
|
||||
* date.c, zdump.c (tzname): Do not specify size, as POSIX doesn’t.
|
||||
* private.h (HAVE_POSIX_DECLS): Default to 1.
|
||||
(ENOTSUP): Default to EINVAL.
|
||||
* zic.c: If HAVE_DIRECT_H, include direct.h and io.h and
|
||||
define a mkdir macro, for MS-Windows.
|
||||
(link, symlink): Set errno to ENOTSUP in the substitutes.
|
||||
(dolink): Don’t complain merely because link and/or
|
||||
symlink is not supported. Be a bit more economical and robust
|
||||
about checking for directories and existing destinations.
|
||||
Report errno-related string on link failures.
|
||||
(itsdir): Work correctly even if a directory has a timestamp that
|
||||
is out of time_t range, so that stat fails with errno ==
|
||||
EOVERFLOW.
|
||||
(writezone): Don’t remove files we can’t stat.
|
||||
|
||||
diff --git a/Makefile b/Makefile
|
||||
index 568f7f6..20c2c98 100644
|
||||
--- a/Makefile
|
||||
+++ b/Makefile
|
||||
@@ -106,6 +106,7 @@ LDLIBS=
|
||||
|
||||
# Add the following to the end of the "CFLAGS=" line as needed.
|
||||
# -DBIG_BANG=-9999999LL if the Big Bang occurred at time -9999999 (see zic.c)
|
||||
+# -DHAVE_DIRECT_H if mkdir needs <direct.h> (MS-Windows)
|
||||
# -DHAVE_DOS_FILE_NAMES if file names have drive specifiers etc. (MS-DOS)
|
||||
# -DHAVE_GETTEXT=1 if 'gettext' works (GNU, Linux, Solaris); also see LDLIBS
|
||||
# -DHAVE_INCOMPATIBLE_CTIME_R=1 if your system's time.h declares
|
||||
@@ -116,6 +117,8 @@ LDLIBS=
|
||||
# -DHAVE_LOCALTIME_RZ=0 if you do not want zdump to use localtime_rz
|
||||
# This defaults to 1 if a working localtime_rz seems to be available.
|
||||
# localtime_rz can make zdump significantly faster, but is nonstandard.
|
||||
+# -DHAVE_POSIX_DECLS=0 if your system's include files do not declare
|
||||
+# functions like 'link' or variables like 'tzname' required by POSIX
|
||||
# -DHAVE_STDINT_H=1 if you have a pre-C99 compiler with "stdint.h"
|
||||
# -DHAVE_STRFTIME_L=1 if <time.h> declares locale_t and strftime_l
|
||||
# This defaults to 0 if _POSIX_VERSION < 200809, 1 otherwise.
|
||||
diff --git a/date.c b/date.c
|
||||
index 824e57d..4c11f61 100644
|
||||
--- a/date.c
|
||||
+++ b/date.c
|
||||
@@ -42,10 +42,12 @@
|
||||
#define SECSPERMIN 60
|
||||
#endif /* !defined SECSPERMIN */
|
||||
|
||||
+#if !HAVE_POSIX_DECLS
|
||||
extern char ** environ;
|
||||
extern char * optarg;
|
||||
extern int optind;
|
||||
-extern char * tzname[2];
|
||||
+extern char * tzname[];
|
||||
+#endif
|
||||
|
||||
static int retval = EXIT_SUCCESS;
|
||||
|
||||
diff --git a/private.h b/private.h
|
||||
index 1c176e6..6080e71 100644
|
||||
--- a/private.h
|
||||
+++ b/private.h
|
||||
@@ -34,6 +34,10 @@
|
||||
#define HAVE_LINK 1
|
||||
#endif /* !defined HAVE_LINK */
|
||||
|
||||
+#ifndef HAVE_POSIX_DECLS
|
||||
+#define HAVE_POSIX_DECLS 1
|
||||
+#endif
|
||||
+
|
||||
#ifndef HAVE_STRDUP
|
||||
#define HAVE_STRDUP 1
|
||||
#endif
|
||||
@@ -106,6 +110,9 @@
|
||||
#ifndef ENAMETOOLONG
|
||||
# define ENAMETOOLONG EINVAL
|
||||
#endif
|
||||
+#ifndef ENOTSUP
|
||||
+# define ENOTSUP EINVAL
|
||||
+#endif
|
||||
#ifndef EOVERFLOW
|
||||
# define EOVERFLOW EINVAL
|
||||
#endif
|
||||
@@ -379,6 +386,8 @@ time_t time(time_t *);
|
||||
void tzset(void);
|
||||
#endif
|
||||
|
||||
+#if !HAVE_POSIX_DECLS
|
||||
+
|
||||
/*
|
||||
** Some time.h implementations don't declare asctime_r.
|
||||
** Others might define it as a macro.
|
||||
@@ -402,6 +411,8 @@ extern int daylight;
|
||||
extern long altzone;
|
||||
#endif
|
||||
|
||||
+#endif
|
||||
+
|
||||
/*
|
||||
** The STD_INSPIRED functions are similar, but most also need
|
||||
** declarations if time_tz is defined.
|
||||
diff --git a/strftime.c b/strftime.c
|
||||
index 7a139bd..f75f9fd 100644
|
||||
--- a/strftime.c
|
||||
+++ b/strftime.c
|
||||
@@ -106,7 +106,9 @@ static char * _fmt(const char *, const struct tm *, char *, const char *,
|
||||
int *);
|
||||
static char * _yconv(int, int, bool, bool, char *, char const *);
|
||||
|
||||
+#if !HAVE_POSIX_DECLS
|
||||
extern char * tzname[];
|
||||
+#endif
|
||||
|
||||
#ifndef YEAR_2000_NAME
|
||||
#define YEAR_2000_NAME "CHECK_STRFTIME_FORMATS_FOR_TWO_DIGIT_YEARS"
|
||||
diff --git a/zdump.c b/zdump.c
|
||||
index 063a263..64d90f6 100644
|
||||
--- a/zdump.c
|
||||
+++ b/zdump.c
|
||||
@@ -238,12 +238,14 @@ enum { SECSPER400YEARS_FITS = SECSPERLYEAR <= INTMAX_MAX / 400 };
|
||||
# define timezone_t char **
|
||||
#endif
|
||||
|
||||
+#if !HAVE_POSIX_DECLS
|
||||
extern char ** environ;
|
||||
extern int getopt(int argc, char * const argv[],
|
||||
const char * options);
|
||||
extern char * optarg;
|
||||
extern int optind;
|
||||
-extern char * tzname[2];
|
||||
+extern char * tzname[];
|
||||
+#endif
|
||||
|
||||
/* The minimum and maximum finite time values. */
|
||||
enum { atime_shift = CHAR_BIT * sizeof (time_t) - 2 };
|
||||
diff --git a/zic.c b/zic.c
|
||||
index 78ab870..0ec3359 100644
|
||||
--- a/zic.c
|
||||
+++ b/zic.c
|
||||
@@ -22,6 +22,13 @@ typedef int_fast64_t zic_t;
|
||||
#define ZIC_MAX_ABBR_LEN_WO_WARN 6
|
||||
#endif /* !defined ZIC_MAX_ABBR_LEN_WO_WARN */
|
||||
|
||||
+#ifdef HAVE_DIRECT_H
|
||||
+# include <direct.h>
|
||||
+# include <io.h>
|
||||
+# undef mkdir
|
||||
+# define mkdir(name, mode) _mkdir(name)
|
||||
+#endif
|
||||
+
|
||||
#if HAVE_SYS_STAT_H
|
||||
#include <sys/stat.h>
|
||||
#endif
|
||||
@@ -87,17 +94,19 @@ struct zone {
|
||||
zic_t z_untiltime;
|
||||
};
|
||||
|
||||
+#if !HAVE_POSIX_DECLS
|
||||
extern int getopt(int argc, char * const argv[],
|
||||
const char * options);
|
||||
extern int link(const char * fromname, const char * toname);
|
||||
extern char * optarg;
|
||||
extern int optind;
|
||||
+#endif
|
||||
|
||||
#if ! HAVE_LINK
|
||||
-# define link(from, to) (-1)
|
||||
+# define link(from, to) (errno = ENOTSUP, -1)
|
||||
#endif
|
||||
#if ! HAVE_SYMLINK
|
||||
-# define symlink(from, to) (-1)
|
||||
+# define symlink(from, to) (errno = ENOTSUP, -1)
|
||||
#endif
|
||||
|
||||
static void addtt(zic_t starttime, int type);
|
||||
@@ -758,41 +767,47 @@ dolink(char const *fromfield, char const *tofield)
|
||||
progname, fromname, e);
|
||||
exit(EXIT_FAILURE);
|
||||
}
|
||||
- if (itsdir(toname) <= 0)
|
||||
- remove(toname);
|
||||
if (link(fromname, toname) != 0) {
|
||||
- int result;
|
||||
+ int link_errno = errno;
|
||||
+ bool retry_if_link_supported = false;
|
||||
|
||||
- if (! mkdirs(toname))
|
||||
- exit(EXIT_FAILURE);
|
||||
-
|
||||
- result = link(fromname, toname);
|
||||
- if (result != 0) {
|
||||
- const char *s = fromfield;
|
||||
- const char *t;
|
||||
- char *p;
|
||||
- size_t dotdots = 0;
|
||||
- register char * symlinkcontents = NULL;
|
||||
-
|
||||
- do
|
||||
- t = s;
|
||||
- while ((s = strchr(s, '/'))
|
||||
- && ! strncmp (fromfield, tofield,
|
||||
- ++s - fromfield));
|
||||
-
|
||||
- for (s = tofield + (t - fromfield); *s; s++)
|
||||
- dotdots += *s == '/';
|
||||
- symlinkcontents
|
||||
- = emalloc(3 * dotdots + strlen(t) + 1);
|
||||
- for (p = symlinkcontents; dotdots-- != 0; p += 3)
|
||||
- memcpy(p, "../", 3);
|
||||
- strcpy(p, t);
|
||||
- result = symlink(symlinkcontents, toname);
|
||||
- if (result == 0)
|
||||
-warning(_("hard link failed, symbolic link used"));
|
||||
- free(symlinkcontents);
|
||||
- }
|
||||
- if (result != 0) {
|
||||
+ if (link_errno == ENOENT || link_errno == ENOTSUP) {
|
||||
+ if (! mkdirs(toname))
|
||||
+ exit(EXIT_FAILURE);
|
||||
+ retry_if_link_supported = true;
|
||||
+ }
|
||||
+ if ((link_errno == EEXIST || link_errno == ENOTSUP)
|
||||
+ && itsdir(toname) == 0
|
||||
+ && (remove(toname) == 0 || errno == ENOENT))
|
||||
+ retry_if_link_supported = true;
|
||||
+ if (retry_if_link_supported && link_errno != ENOTSUP)
|
||||
+ link_errno = link(fromname, toname) == 0 ? 0 : errno;
|
||||
+ if (link_errno != 0) {
|
||||
+ const char *s = fromfield;
|
||||
+ const char *t;
|
||||
+ char *p;
|
||||
+ size_t dotdots = 0;
|
||||
+ char *symlinkcontents;
|
||||
+ int symlink_result;
|
||||
+
|
||||
+ do
|
||||
+ t = s;
|
||||
+ while ((s = strchr(s, '/'))
|
||||
+ && strncmp(fromfield, tofield, ++s - fromfield) == 0);
|
||||
+
|
||||
+ for (s = tofield + (t - fromfield); *s; s++)
|
||||
+ dotdots += *s == '/';
|
||||
+ symlinkcontents = emalloc(3 * dotdots + strlen(t) + 1);
|
||||
+ for (p = symlinkcontents; dotdots-- != 0; p += 3)
|
||||
+ memcpy(p, "../", 3);
|
||||
+ strcpy(p, t);
|
||||
+ symlink_result = symlink(symlinkcontents, toname);
|
||||
+ free(symlinkcontents);
|
||||
+ if (symlink_result == 0) {
|
||||
+ if (link_errno != ENOTSUP)
|
||||
+ warning(_("symbolic link used because hard link failed: %s"),
|
||||
+ strerror (link_errno));
|
||||
+ } else {
|
||||
FILE *fp, *tp;
|
||||
int c;
|
||||
fp = fopen(fromname, "rb");
|
||||
@@ -815,8 +830,11 @@ warning(_("hard link failed, symbolic link used"));
|
||||
putc(c, tp);
|
||||
close_file(fp, fromname);
|
||||
close_file(tp, toname);
|
||||
- warning(_("link failed, copy used"));
|
||||
- }
|
||||
+ if (link_errno != ENOTSUP)
|
||||
+ warning(_("copy used because hard link failed: %s"),
|
||||
+ strerror (link_errno));
|
||||
+ }
|
||||
+ }
|
||||
}
|
||||
free(fromname);
|
||||
free(toname);
|
||||
@@ -863,18 +881,17 @@ itsdir(char const *name)
|
||||
{
|
||||
struct stat st;
|
||||
int res = stat(name, &st);
|
||||
- if (res != 0)
|
||||
- return res;
|
||||
#ifdef S_ISDIR
|
||||
- return S_ISDIR(st.st_mode) != 0;
|
||||
-#else
|
||||
- {
|
||||
+ if (res == 0)
|
||||
+ return S_ISDIR(st.st_mode) != 0;
|
||||
+#endif
|
||||
+ if (res == 0 || errno == EOVERFLOW) {
|
||||
char *nameslashdot = relname(name, ".");
|
||||
- res = stat(nameslashdot, &st);
|
||||
+ bool dir = stat(nameslashdot, &st) == 0 || errno == EOVERFLOW;
|
||||
free(nameslashdot);
|
||||
- return res == 0;
|
||||
+ return dir;
|
||||
}
|
||||
-#endif
|
||||
+ return -1;
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -1685,7 +1702,7 @@ writezone(const char *const name, const char *const string, char version)
|
||||
/*
|
||||
** Remove old file, if any, to snap links.
|
||||
*/
|
||||
- if (itsdir(fullname) <= 0 && remove(fullname) != 0 && errno != ENOENT) {
|
||||
+ if (itsdir(fullname) == 0 && remove(fullname) != 0 && errno != ENOENT) {
|
||||
const char *e = strerror(errno);
|
||||
|
||||
fprintf(stderr, _("%s: Can't remove %s: %s\n"),
|
@ -1,8 +1,8 @@
|
||||
Index: timezone-2015d/zic.c
|
||||
Index: timezone-2016b/zic.c
|
||||
===================================================================
|
||||
--- timezone-2015d.orig/zic.c
|
||||
+++ timezone-2015d/zic.c
|
||||
@@ -777,8 +777,10 @@ dolink(const char *const fromfield, cons
|
||||
--- timezone-2016b.orig/zic.c
|
||||
+++ timezone-2016b/zic.c
|
||||
@@ -788,8 +788,10 @@ dolink(char const *fromfield, char const
|
||||
memcpy(p, "../", 3);
|
||||
strcpy(p, t);
|
||||
result = symlink(symlinkcontents, toname);
|
||||
|
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:11ae66d59b844e8c6c81914c9dd73b666627bd7792855ba9de195eee4520c28d
|
||||
size 184047
|
@ -1,17 +0,0 @@
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
Version: GnuPG v1
|
||||
|
||||
iQIcBAABAgAGBQJWqHJCAAoJEO2X6Q5iqn40vggP/iUDh0UDG3g9lQfV41yXx+Dg
|
||||
4Ln+RVSEkfKE82ffPSJzvyRQzp1l/U2alopcI+Ernou7hmcrYYcJC827QZ+boiLv
|
||||
uK5/LIDqI/uBb6j3bxt2aiymsbL1+q4C3RDypujKa4lh0kuinO6MUTpnIEGmNdAl
|
||||
l0q6pWyJfH4UYxT8UCjCvJrNQwMxCD+31oz4blUMUr3h/TdAfd/uRs0xm06Fi6ss
|
||||
HSzJ1P2gej4uTdGzuWczbZrCdkpLvZXhYt/kIQ3tOl+9bAJOJa0/3zVuIxUO6DNL
|
||||
w4RRaHbdtvtDUw7vqGcIe2nZHZ4GdRfHINi2sflHfH6auq53x6mWiOGbDqAMQkk4
|
||||
2HFnHr8sawB+6TA8vSgayOKg+Ja2eX/4IXBqrGBzt96a0AfJDgWlulgA5oc6lQvy
|
||||
BAYtgXYfUTg05EEZOIvL1kDR3CZJB2v6U72DVT8y6Bs52w1ue1/7HfhY9N5hHor5
|
||||
nCeaeqoQLopMdfpMn3pATqRXvTFsxmlDaN8Y2S6IZyvQgPqpPGBdaH0i+Ran5bXf
|
||||
vKCRpxS6rsSvOdliNCnr2hytk5UrRdxuLJ6yWiUjhVBszGISUR15w2iwK26NifIR
|
||||
ZbMV4e2bcZl7kGcq+dIeTtjAoXeP+Bh3Y3NfIq37O1NK8gsx31GfGMVifJYxE4ti
|
||||
qtlircuZtjdkQR0GmACZ
|
||||
=cUhj
|
||||
-----END PGP SIGNATURE-----
|
3
tzcode2016c.tar.gz
Normal file
3
tzcode2016c.tar.gz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:344b1bd486935bca2b7baa47db3b99b32211c45f31ec0d1ead8bacd103c5a416
|
||||
size 192354
|
17
tzcode2016c.tar.gz.asc
Normal file
17
tzcode2016c.tar.gz.asc
Normal file
@ -0,0 +1,17 @@
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
Version: GnuPG v1
|
||||
|
||||
iQIcBAABAgAGBQJW8kvPAAoJEO2X6Q5iqn40jpMQAJEISYMBgL9Vcx3U1IuTo5mI
|
||||
dBs0XW6cjgzefG3DdWK95VILUUXDEhtZGOkwdbEZVuH4uv0CApwtoW24w6X0w/qm
|
||||
y4xZZYpvzClrySVszcJFMgRQC4MeOxQ0KUmSLRMzV3TKSI01AmewZblftxC3FSAK
|
||||
GrOD2Z86ObGf9pbpcOBycFyhyy4QNd65SxiOZ70uhgZejoNE6T7zb/KHto6PzjD4
|
||||
CzAhn8w1bqeglTM4zrfiEmSDGEZM+3OgLNHgmTvOQcYwB3fxdvQasSioyCb9axfj
|
||||
MJYNm2oBslanWwPXjwssBQeSPyLN8tYHcICsn7Qu+4iVCvMJBlrzXhBNla7Dmxdk
|
||||
Bl02fXKivnQ3S3s7/K7RZyMV87DthPDY9NQtUrKCkg1unBn7vbJ2e+kKe13qzFmi
|
||||
z7LAgKoJII34PoLhBrEF0M643DMTT0xEA3jbFSOIUoI5LawjlC57M8FhOgVD7dbA
|
||||
bxzgOMyYzUwhJLOk5pFzkMmifVhwcbUCSl52kBI8H+TBkR9g11gb1PQ4PF2f9H2R
|
||||
YcJaYP5kNzoPU8a2lStfxVLqx3iwJ9i5FwpVnMQxinySFvLAnrZ7YBYqJjYdYsn4
|
||||
LV//V12VctwvF84VtaX3iK53Z79rLYM2Zz2x4AVjfSaAtF4ZDPC/ZauZIhqSLked
|
||||
rkdqvg2CgR2jn1qVhS3E
|
||||
=ohkH
|
||||
-----END PGP SIGNATURE-----
|
@ -1,8 +1,8 @@
|
||||
Index: timezone-2015d/asia
|
||||
Index: timezone-2016b/asia
|
||||
===================================================================
|
||||
--- timezone-2015d.orig/asia
|
||||
+++ timezone-2015d/asia
|
||||
@@ -516,6 +516,10 @@ Rule PRC 1987 1991 - Apr Sun>=10 0:00 1:
|
||||
--- timezone-2016b.orig/asia
|
||||
+++ timezone-2016b/asia
|
||||
@@ -518,6 +518,10 @@ Rule PRC 1987 1991 - Apr Sun>=10 0:00 1:
|
||||
Zone Asia/Shanghai 8:05:43 - LMT 1901
|
||||
8:00 Shang C%sT 1949
|
||||
8:00 PRC C%sT
|
||||
@ -13,11 +13,11 @@ Index: timezone-2015d/asia
|
||||
# Xinjiang time, used by many in western China; represented by Ürümqi / Ürümchi
|
||||
# / Wulumuqi. (Please use Asia/Shanghai if you prefer Beijing time.)
|
||||
Zone Asia/Urumqi 5:50:20 - LMT 1928
|
||||
Index: timezone-2015d/backward
|
||||
Index: timezone-2016b/backward
|
||||
===================================================================
|
||||
--- timezone-2015d.orig/backward
|
||||
+++ timezone-2015d/backward
|
||||
@@ -93,7 +93,7 @@ Link America/Mexico_City Mexico/General
|
||||
--- timezone-2016b.orig/backward
|
||||
+++ timezone-2016b/backward
|
||||
@@ -94,7 +94,7 @@ Link America/Mexico_City Mexico/General
|
||||
Link Pacific/Auckland NZ
|
||||
Link Pacific/Chatham NZ-CHAT
|
||||
Link America/Denver Navajo
|
||||
@ -26,12 +26,12 @@ Index: timezone-2015d/backward
|
||||
Link Pacific/Pohnpei Pacific/Ponape
|
||||
Link Pacific/Pago_Pago Pacific/Samoa
|
||||
Link Pacific/Chuuk Pacific/Truk
|
||||
Index: timezone-2015d/zone.tab
|
||||
Index: timezone-2016b/zone.tab
|
||||
===================================================================
|
||||
--- timezone-2015d.orig/zone.tab
|
||||
+++ timezone-2015d/zone.tab
|
||||
@@ -143,6 +143,7 @@ CK -2114-15946 Pacific/Rarotonga
|
||||
CL -3327-07040 America/Santiago most locations
|
||||
--- timezone-2016b.orig/zone.tab
|
||||
+++ timezone-2016b/zone.tab
|
||||
@@ -144,6 +144,7 @@ CK -2114-15946 Pacific/Rarotonga
|
||||
CL -3327-07040 America/Santiago Chile (most areas)
|
||||
CL -2709-10926 Pacific/Easter Easter Island
|
||||
CM +0403+00942 Africa/Douala
|
||||
+CN +3955+11626 Asia/Beijing China Standard Time
|
||||
|
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:5efa6b324e64ef921ef700ac3273a51895f672684a30e342f68e47871c6a8cd1
|
||||
size 302817
|
@ -1,17 +0,0 @@
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
Version: GnuPG v1
|
||||
|
||||
iQIcBAABAgAGBQJWqHJHAAoJEO2X6Q5iqn40O/QP/0dWxkvnViAXibpFmZeQF9qC
|
||||
18S3oL35D9CwWdIo60zmQ1K4lzq7k3K4fCs+VAZnlp8DeqxbnX/utfFsxRGBZu9F
|
||||
fHYeIyxPB+Gm45SE3USefZgD38LDDmEIkeQ+SE3geDSVKMO/gHGk55jl/8vylm1d
|
||||
bIdU/1PNSr5EZt2LlXuRRO1lnQ6cW1G5vDtGj4nyB++/FDIi4qsBMQy21qqRs2K3
|
||||
vcw3yRQbqz7rEUxG/k0d9KU/dRUY980f4pHx2kkYpRKL2nhLeYqH3jfRUhOgwupS
|
||||
Yp4fVFF1gZWbxjcf8Xb97jpCW0q4TL4wPYFQNOsLJJGtNeRP1Pgz7FsjH1qwSUy2
|
||||
blX1UWhtFAjUnHF+XO7Z5DUexoq1+14OFWSGwxuGpwUNxgtMmRr4KZVuKg9ag7jC
|
||||
hKoegozcf90lZ+PmuAXNbz1S9DcILRFG7qnV+E3oKPjyOQBnU1z7Mx0rtleT14iQ
|
||||
Pdi0ygv4/9cs07dOsF3oqRfwqldYogYF0/O3559eQzGfKdxOIu0eLZV9PLaCnAoM
|
||||
2zpnPOBqBIwUHRynd6EBJyeu1WCRoC/oIvEs8A8QINf6EN/Fu/Xxgmf8HwwRIOE+
|
||||
xgJeNE4Z4xjWiCmu7dvBZJIZZi7dmWaHwste+WxUMZ0boDsYOmnkGCclpSb+MzpX
|
||||
49a9DUdrNMurifgNd4vy
|
||||
=WafQ
|
||||
-----END PGP SIGNATURE-----
|
3
tzdata2016c.tar.gz
Normal file
3
tzdata2016c.tar.gz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:8700d981e6f2007ac037dabb5d2b12f390e8629bbc30e564bc21cf0c069a2d48
|
||||
size 308625
|
17
tzdata2016c.tar.gz.asc
Normal file
17
tzdata2016c.tar.gz.asc
Normal file
@ -0,0 +1,17 @@
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
Version: GnuPG v1
|
||||
|
||||
iQIcBAABAgAGBQJW8kvPAAoJEO2X6Q5iqn40RNkQALaqvu+Htes5GqYguOlXTjHK
|
||||
SEuSiAX/8NytW2xq0d640AODLoMp0hdj5fbyWn+b7kwwOH22w/83l1aYLrVwDihA
|
||||
JCDzHk2Z+/ryBVNzBDYq09O070m2z3LHl4hJknbReMBWem6Ar5El4kJAxO7xVZik
|
||||
MS9LCNHoMQ1v1inWpU1A0LY9uFcDAMiFl4JCS/Z9RkJYmjP4fBZlviz26BrIW1vz
|
||||
q1YdG9jSLuiJUVxVRftrDrHcmBFdy1jssW5KAof3eQpynZ61O9LAYR1py+nKydox
|
||||
UsQe+QNXybQXLNnk9l5nO9yNHp1y9zbzoz3LKgnqhXuyayA74qkHQEPywW0F3Q1F
|
||||
wkjqBsHP9bS6mdA1LTwDMLmC+l4x/7gyRttRzeEdhV0KPktMW2xCKC9EWEyzYBny
|
||||
zeQ80WGKHYf6j9Gmnw1HnRAi99NZKBg00Zu5bgdireYctqFA53fNLz48ib8SC/WY
|
||||
4eBXNypmv80VHjOie/VJIXgdwuiEhl8T2mf/WTiSjY0NRmhuMB6QP9OGsS+48Qhz
|
||||
LWlaNa9qRRIJlV0PquzPRE03WTVdEocp0XIKCrhRebYQNhB4GhlDc2iz8SqufetA
|
||||
5Pfr2ws/oLAxPqa/bkLo60JJLtBds9B8loZ6FjfKj6q/2YdbOen9eOiIAbF5Zl/r
|
||||
hd53qVMRzG0VTWf3VYr9
|
||||
=jrsu
|
||||
-----END PGP SIGNATURE-----
|
Loading…
Reference in New Issue
Block a user