diff mbox

Proposed patch to sync tz from upstream

Message ID 555FA162.4090405@cs.ucla.edu
State New, archived
Headers show

Commit Message

Paul Eggert May 22, 2015, 9:36 p.m. UTC
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

Roland McGrath May 22, 2015, 10:19 p.m. UTC | #1
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
diff mbox

Patch

diff --git a/ChangeLog b/ChangeLog
index b4a7adb..af465b4 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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
diff --git a/benchtests/strcoll-inputs/filelist#en_US.UTF-8 b/benchtests/strcoll-inputs/filelist#en_US.UTF-8
index c9f1427..00962eb 100644
--- a/benchtests/strcoll-inputs/filelist#en_US.UTF-8
+++ b/benchtests/strcoll-inputs/filelist#en_US.UTF-8
@@ -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
diff --git a/timezone/Makefile b/timezone/Makefile
index 5f18545..4e76b75 100644
--- a/timezone/Makefile
+++ b/timezone/Makefile
@@ -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)
diff --git a/timezone/README b/timezone/README
index 2268f8e..49ab45c 100644
--- a/timezone/README
+++ b/timezone/README
@@ -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.