Proposed patch to sync tz from upstream
Commit Message
I noticed that the timezone files contained some non-UTF-8 text and
thought I'd fix that the simplest way I could think of, namely by
upgrading to the current version of the upstream code and data (which
has standardized on UTF-8). The patch is fairly large (mostly just
mindless copying from tz) so I've compressed it in the 2nd attachment to
this email. The 1st attachment contains the interesting bits, i.e., the
parts not simply copied from the tz code and data, or simply deleted.
From d8240d38fa56439d26e42d08ee565f661d703f65 Mon Sep 17 00:00:00 2001
From: Paul Eggert <eggert@cs.ucla.edu>
Date: Fri, 22 May 2015 14:15:39 -0700
Subject: [PROPOSED PATCH] Sync from upstream tz
This merges changes from current tz upstream, i.e., from commit
fc861a9e137c63e1b0d562ad09d0dd5f4d8e798f dated Tue May 19 01:24:30
2015 -0700.
* benchtests/strcoll-inputs/filelist#en_US.UTF-8:
Change file list to match changes below.
* timezone/Makefile (extra-objs, CFLAGS-ialloc.c, CFLAGS-scheck.c):
Remove, as the corresponding files have been removed.
(tzbases): Remove solar87, solar88, solar89.
($(objpfx)zic): Remove no-longer-needed dependencies.
(tz-cflags): Add -DHAVE_GETTEXT -DUSE_LTZ=0 -Wno-maybe-uninitialized.
(CFLAGS-zdump.c, CFLAGS-zic.c): Just use tz-cflags now.
(zic-deps): Adjust to yearistype renaming.
* README: Document these changes.
* timezone/checktab.awk, timezone/pacificnew:
Remove, as glibc doesn't use these files.
* timezone/ialloc.c, timezone/scheck.c, timezone/solar87:
* timezone/solar88, timezone/solar89:
Remove, as upstream tz no longer has these files.
* timezone/yearistype.sh: Rename from timezone/yearistype,
to follow upstream.
* timezone/zone1970.tab: New file, from upstream.
* timezone/africa, timezone/antarctica, timezone/asia:
* timezone/australasia, timezone/backward, timezone/etcetera:
* timezone/europe, timezone/factory, timezone/iso3166.tab:
* timezone/leapseconds, timezone/northamerica, timezone/private.h:
* timezone/southamerica, timezone/systemv, timezone/tzfile.h:
* timezone/tzselect.ksh, timezone/yearistype.sh, timezone/zdump.c:
* timezone/zic.c:
Copy from latest upstream version.
---
ChangeLog | 33 +
benchtests/strcoll-inputs/filelist#en_US.UTF-8 | 10 +-
timezone/Makefile | 23 +-
timezone/README | 12 +-
timezone/africa | 897 +++++++-----
timezone/antarctica | 270 ++--
timezone/asia | 1620 +++++++++++++++-------
timezone/australasia | 1144 ++++++++++------
timezone/backward | 25 +-
timezone/checktab.awk | 174 ---
timezone/etcetera | 11 +-
timezone/europe | 1728 +++++++++++++++++-------
timezone/factory | 2 -
timezone/ialloc.c | 32 -
timezone/iso3166.tab | 37 +-
timezone/leapseconds | 65 +-
timezone/northamerica | 1504 ++++++++++++++-------
timezone/pacificnew | 29 -
timezone/private.h | 333 +++--
timezone/scheck.c | 64 -
timezone/solar87 | 391 ------
timezone/solar88 | 391 ------
timezone/solar89 | 396 ------
timezone/southamerica | 894 +++++++-----
timezone/systemv | 2 -
timezone/tzfile.h | 10 +-
timezone/tzselect.ksh | 138 +-
timezone/yearistype | 40 -
timezone/yearistype.sh | 38 +
timezone/zdump.c | 666 ++++++---
timezone/zic.c | 917 +++++++------
timezone/zone.tab | 118 +-
timezone/zone1970.tab | 372 +++++
33 files changed, 7303 insertions(+), 5083 deletions(-)
delete mode 100644 timezone/checktab.awk
delete mode 100644 timezone/ialloc.c
delete mode 100644 timezone/pacificnew
delete mode 100644 timezone/scheck.c
delete mode 100644 timezone/solar87
delete mode 100644 timezone/solar88
delete mode 100644 timezone/solar89
delete mode 100755 timezone/yearistype
create mode 100755 timezone/yearistype.sh
create mode 100644 timezone/zone1970.tab
Comments
That needs to be multiple separate changes.
The tzcode updates need to reviewed individually like any other code changes.
Heretofore we have always updated to a particular tzcode YYYYL release and
descirbed it as such. I don't think we want to stray from that policy
unless they have stopped making such releases.
The page at https://sourceware.org/glibc/wiki/SharedSourceFiles does not
talk about tzcode, but should. Can you add something there?
We have stopped updating tzdata just to update it, because we no longer
install any tzdata for 'make install', nor expect anyone to use the tzdata
source files in our source tree. We have them there solely for the testing
we do in timezone/Makefile. A good first change would be the one that just
removes everything from tzdata that we are not actually using. After that,
and update of the few files we do use would be fine.
Thanks,
Roland
@@ -1,3 +1,36 @@
+2015-05-22 Paul Eggert <eggert@cs.ucla.edu>
+
+ Sync from upstream tz
+ This merges changes from current tz upstream, i.e., from commit
+ fc861a9e137c63e1b0d562ad09d0dd5f4d8e798f dated Tue May 19 01:24:30
+ 2015 -0700.
+ * benchtests/strcoll-inputs/filelist#en_US.UTF-8:
+ Change file list to match changes below.
+ * timezone/Makefile (extra-objs, CFLAGS-ialloc.c, CFLAGS-scheck.c):
+ Remove, as the corresponding files have been removed.
+ (tzbases): Remove solar87, solar88, solar89.
+ ($(objpfx)zic): Remove no-longer-needed dependencies.
+ (tz-cflags): Add -DHAVE_GETTEXT -DUSE_LTZ=0 -Wno-maybe-uninitialized.
+ (CFLAGS-zdump.c, CFLAGS-zic.c): Just use tz-cflags now.
+ (zic-deps): Adjust to yearistype renaming.
+ * README: Document these changes.
+ * timezone/checktab.awk, timezone/pacificnew:
+ Remove, as glibc doesn't use these files.
+ * timezone/ialloc.c, timezone/scheck.c, timezone/solar87:
+ * timezone/solar88, timezone/solar89:
+ Remove, as upstream tz no longer has these files.
+ * timezone/yearistype.sh: Rename from timezone/yearistype,
+ to follow upstream.
+ * timezone/zone1970.tab: New file, from upstream.
+ * timezone/africa, timezone/antarctica, timezone/asia:
+ * timezone/australasia, timezone/backward, timezone/etcetera:
+ * timezone/europe, timezone/factory, timezone/iso3166.tab:
+ * timezone/leapseconds, timezone/northamerica, timezone/private.h:
+ * timezone/southamerica, timezone/systemv, timezone/tzfile.h:
+ * timezone/tzselect.ksh, timezone/yearistype.sh, timezone/zdump.c:
+ * timezone/zic.c:
+ Copy from latest upstream version.
+
2015-05-22 Adhemerval Zanella <adhemerval.zanella@linaro.org>
* nptl/Makefile (CFLAGS-accept.c): Add -fexceptions and
@@ -11758,33 +11758,27 @@ test-tz.c
simplebackw
leapseconds
systemv
-checktab.awk
-solar89
africa
private.h
etcetera
tst-timezone.c
README
iso3166.tab
-pacificnew
australasia
tzfile.h
factory
backward
-yearistype
+yearistype.sh
southamerica
Makefile
europe
zdump.c
zone.tab
-solar88
-ialloc.c
+zone1970.tab
zic.c
tzselect.ksh
antarctica
asia
-solar87
-scheck.c
BUGS
Makefile
ChangeLog.10
@@ -22,16 +22,11 @@ subdir := timezone
include ../Makeconfig
-extra-objs := scheck.o ialloc.o
-
others := zdump zic
tests := test-tz tst-timezone tst-tzset
-# pacificnew doesn't compile; if it is to be used, it should be included in
-# northamerica.
tzbases := africa antarctica asia australasia europe northamerica \
- southamerica etcetera factory \
- solar87 solar88 solar89
+ southamerica etcetera factory
tzlinks := backward systemv
tzfiles := $(tzbases) $(tzlinks)
@@ -56,8 +51,6 @@ endif
include ../Rules
-$(objpfx)zic: $(objpfx)scheck.o $(objpfx)ialloc.o
-
$(objpfx)zic.o $(objpfx)zdump.o: $(objpfx)version.h
$(objpfx)version.h: $(common-objpfx)config.make
@@ -68,19 +61,17 @@ $(objpfx)version.h: $(common-objpfx)config.make
tz-cflags = -DTZDIR='"$(zonedir)"' \
-DTZDEFAULT='"$(localtime-file)"' \
-DTZDEFRULES='"$(posixrules-file)"' \
- -DTM_GMTOFF=tm_gmtoff -DTM_ZONE=tm_zone
+ -DTM_GMTOFF=tm_gmtoff -DTM_ZONE=tm_zone \
+ -DHAVE_GETTEXT -DUSE_LTZ=0 -Wno-maybe-uninitialized
-CFLAGS-zdump.c = -fwrapv -Wno-strict-prototypes -DNOID $(tz-cflags) \
- -DHAVE_GETTEXT
-CFLAGS-zic.c = -Wno-strict-prototypes -DNOID $(tz-cflags) -DHAVE_GETTEXT
-CFLAGS-ialloc.c = -Wno-strict-prototypes -DNOID -DHAVE_GETTEXT
-CFLAGS-scheck.c = -Wno-strict-prototypes -DNOID -DHAVE_GETTEXT
+CFLAGS-zdump.c = $(tz-cflags)
+CFLAGS-zic.c = $(tz-cflags)
# We have to make sure the data for testing the tz functions is available.
# Don't add leapseconds here since test-tz made checks that work only without
# leapseconds.
define build-testdata
-$(built-program-cmd) -d $(testdata) -y ./yearistype $<; \
+$(built-program-cmd) -d $(testdata) -y ./yearistype.sh $<; \
$(evaluate-test)
endef
@@ -97,7 +88,7 @@ tst-timezone-ENV = TZDIR=$(testdata)
tst-tzset-ENV = TZDIR=$(testdata)
# Note this must come second in the deps list for $(built-program-cmd) to work.
-zic-deps = $(objpfx)zic $(leapseconds) yearistype
+zic-deps = $(objpfx)zic $(leapseconds) yearistype.sh
$(testdata)/America/New_York: northamerica $(zic-deps)
$(build-testdata)
@@ -1,14 +1,14 @@
The files
- zic.c zdump.c ialloc.c scheck.c tzfile.h
- private.h tzselect.ksh checktab.awk
+ zic.c zdump.c tzfile.h
+ private.h tzselect.ksh
come from the tzcode package by Arthur David Olson et.al.
The files
africa antarctica asia australasia europe
- northamerica southamerica pacificnew etcetera factory
- backward systemv solar87 solar88 solar89
- iso3166.tab zone.tab leapseconds yearistype
-come from the tzdata package by Arthur David Olson et.al.
+ northamerica southamerica etcetera factory
+ backward systemv iso3166.tab zone.tab zone1970.tab
+ leapseconds yearistype.sh
+come from the tzdata package by Paul Eggert, Arthur David Olson et.al.
Please check the ChangeLog files in the top level directory for the
version of the tzcode and tzdata packages.