Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/external/public-domain/tz/dist Import tzdata2014g from ftp:/...



details:   https://anonhg.NetBSD.org/src/rev/c9db47b5538e
branches:  trunk
changeset: 331916:c9db47b5538e
user:      apb <apb%NetBSD.org@localhost>
date:      Sun Aug 31 06:46:20 2014 +0000

description:
Import tzdata2014g from ftp://ftp.iana.org/tz/releases/tzdata2014g.tar.gz

Summary of changes in tzdata2014g (2014-08-28 12:31:23 -0700):
  * Turks & Caicos is switching from US eastern time to UTC-4 year-round,
    modeled as a switch from EST/EDT to AST on 2014-11-02 at 02:00.
  * Time in Russia or the USSR before 1926 or so has been corrected by
    a few seconds for several zones, and a few minutes for
    Asia/Yekaterinburg.
  * The Portuguese decree of 1911-05-26 took effect on 1912-01-01, not
    on the date of the decree.  This affects 1911 time stamps in
    Africa/Bissau, Africa/Luanda, Atlantic/Azores, and Atlantic/Madeira.
  * Lisbon's pre-1912 GMT offset was -0:36:45 (rounded from -0:36:44.68),
    not -0:36:32.
  * Asia/Dhaka ended DST on 2009-12-31 at 24:00, not 23:59.
  * A new file 'backzone' contains data which may appeal to
    connoisseurs of old time stamps, although it is out of scope for
    the tz database, is often poorly sourced, and contains some data
    that is known to be incorrect.
  * Some more zones have been turned into links, when they differed
    from existing zones only for older time stamps.  As usual,
    these changes affect UTC offsets in pre-1970 time stamps only.
    Their old contents have been moved to the 'backzone' file.
  * Changes affecting documentation and commentary.

diffstat:

 external/public-domain/tz/dist/CONTRIBUTING    |   69 ++
 external/public-domain/tz/dist/Makefile        |  123 ++-
 external/public-domain/tz/dist/NEWS            |  190 +++++-
 external/public-domain/tz/dist/README          |   15 +-
 external/public-domain/tz/dist/Theory          |  767 +++++++++++++++++++++++++
 external/public-domain/tz/dist/africa          |  155 ++--
 external/public-domain/tz/dist/antarctica      |   40 +-
 external/public-domain/tz/dist/asia            |  234 +++---
 external/public-domain/tz/dist/australasia     |  154 ++--
 external/public-domain/tz/dist/backward        |    1 +
 external/public-domain/tz/dist/backzone        |  428 +++++++++++++
 external/public-domain/tz/dist/checktab.awk    |  213 ++++++
 external/public-domain/tz/dist/europe          |  687 +++++++++++----------
 external/public-domain/tz/dist/leapseconds     |    4 +-
 external/public-domain/tz/dist/leapseconds.awk |    4 +-
 external/public-domain/tz/dist/northamerica    |  369 +++++------
 external/public-domain/tz/dist/southamerica    |  119 +-
 external/public-domain/tz/dist/zone.tab        |    6 +-
 external/public-domain/tz/dist/zone1970.tab    |    6 +-
 external/public-domain/tz/dist/zoneinfo2tdf.pl |   52 +
 20 files changed, 2690 insertions(+), 946 deletions(-)

diffs (truncated from 6558 to 300 lines):

diff -r 003c6d0f402b -r c9db47b5538e external/public-domain/tz/dist/CONTRIBUTING
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/external/public-domain/tz/dist/CONTRIBUTING       Sun Aug 31 06:46:20 2014 +0000
@@ -0,0 +1,69 @@
+Contributing to the tz code and data
+
+The time zone database is by no means authoritative: governments
+change timekeeping rules erratically and sometimes with little
+warning, the data entries do not cover all of civil time before
+1970, and undoubtedly errors remain in the code and data.  Feel
+free to fill gaps or fix mistakes, and please email improvements
+to tz%iana.org@localhost for use in the future.
+
+To email small changes, please run a POSIX shell command like
+'diff -u old/europe new/europe >myfix.patch', and attach
+myfix.patch to the email.
+
+For more-elaborate changes, please read the Theory file and browse
+the mailing list archives <http://mm.icann.org/pipermail/tz/> for
+examples of patches that tend to work well.  Ideally, additions to
+data should contain commentary citing reliable sources as
+justification.
+
+Please submit changes against either the latest release in
+<ftp://ftp.iana.org/tz/> or the master branch of the experimental
+Git repository.  If you use Git the following workflow may be helpful:
+
+  * Copy the experimental repository.
+
+      git clone https://github.com/eggert/tz.git
+      cd tz
+
+  * Get current with the master branch.
+
+      git checkout master
+      git pull
+
+  * Switch to a new branch for the changes.  Choose a different
+    branch name for each change set.
+
+      git checkout -b mybranch
+
+  * Edit source files.  Include commentary that justifies the
+    changes by citing reliable sources.
+
+  * Debug the changes, e.g.:
+
+      make check
+      make install
+      ./zdump -v America/Los_Angeles
+
+  * For each separable change, commit it in the new branch, e.g.:
+
+      git add northamerica
+      git commit
+
+    See recent 'git log' output for the commit-message style.
+
+  * Create patch files 0001-*, 0002-*, ...
+
+      git format-patch master
+
+  * After reviewing the patch files, send the patches to tz%iana.org@localhost
+    for others to review.
+
+      git send-email master
+
+  * Start anew by getting current with the master branch again
+    (the second step above).
+
+Please do not create issues or pull requests on GitHub, as the
+proper procedure for proposing and distributing patches is via
+email as illustrated above.
diff -r 003c6d0f402b -r c9db47b5538e external/public-domain/tz/dist/Makefile
--- a/external/public-domain/tz/dist/Makefile   Sat Aug 30 22:21:07 2014 +0000
+++ b/external/public-domain/tz/dist/Makefile   Sun Aug 31 06:46:20 2014 +0000
@@ -5,7 +5,7 @@
 PACKAGE=       tzcode
 
 # Version numbers of the code and data distributions.
-VERSION=       2014f
+VERSION=       2014g
 
 # Email address for bug reports.
 BUGEMAIL=      tz%iana.org@localhost
@@ -84,9 +84,11 @@
 # below.  If you want both sets of data available, with leap seconds counted
 # normally, use
 #      REDO=           right_posix
-# below.
+# below.  If you want just POSIX-compatible time values, but with
+# out-of-scope and often-wrong data from the file 'backzone', use
+#      REDO=           posix_packrat
 # POSIX mandates that leap seconds not be counted; for compatibility with it,
-# use either "posix_only" or "posix_right".
+# use "posix_only", "posix_right", or "posix_packrat".
 
 REDO=          posix_right
 
@@ -107,26 +109,39 @@
 #      ctime_r and asctime_r incompatibly with the POSIX standard (Solaris 8).
 #  -DHAVE_INTTYPES_H=1 if you have a pre-C99 compiler with "inttypes.h"
 #  -DHAVE_LINK=0 if your system lacks a link function
+#  -DHAVE_LOCALTIME_R=0 if your system lacks a localtime_r function
+#  -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_SETTIMEOFDAY=0 if settimeofday does not exist (SVR0?)
 #  -DHAVE_SETTIMEOFDAY=1 if settimeofday has just 1 arg (SVR4)
 #  -DHAVE_SETTIMEOFDAY=2 if settimeofday uses 2nd arg (4.3BSD)
 #  -DHAVE_SETTIMEOFDAY=3 if settimeofday ignores 2nd arg (4.4BSD)
 #  -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.
 #  -DHAVE_SYMLINK=0 if your system lacks the symlink function
 #  -DHAVE_SYS_STAT_H=0 if your compiler lacks a "sys/stat.h"
 #  -DHAVE_SYS_WAIT_H=0 if your compiler lacks a "sys/wait.h"
+#  -DHAVE_TZSET=0 if your system lacks a tzset function
 #  -DHAVE_UNISTD_H=0 if your compiler lacks a "unistd.h" (Microsoft C++ 7?)
 #  -DHAVE_UTMPX_H=1 if your compiler has a "utmpx.h"
-#  -DLOCALE_HOME=\"path\" if locales are in "path", not "/usr/lib/locale"
 #  -DNO_RUN_TIME_WARNINGS_ABOUT_YEAR_2000_PROBLEMS_THANK_YOU=1
 #      if you do not want run time warnings about formats that may cause
 #      year 2000 grief
+#  -DTHREAD_SAFE=1 to make localtime.c thread-safe, as POSIX requires;
+#      not needed by the main-program tz code, which is single-threaded.
+#      Append other compiler flags as needed, e.g., -pthread on GNU/Linux.
 #  -Dtime_tz=\"T\" to use T as the time_t type, rather than the system time_t
 #  -DTZ_DOMAIN=\"foo\" to use "foo" for gettext domain name; default is "tz"
 #  -DTZ_DOMAINDIR=\"/path\" to use "/path" for gettext directory;
 #      the default is system-supplied, typically "/usr/lib/locale"
 #  -DTZDEFRULESTRING=\",date/time,date/time\" to default to the specified
 #      DST transitions if the time zone files cannot be accessed
+#  -DUNINIT_TRAP=1 if reading uninitialized storage can cause problems
+#      other than simply getting garbage data
+#  -DUSE_LTZ=0 to build zdump with the system time zone library
+#      Also set TZDOBJS=zdump.o and CHECK_TIME_T_ALTERNATIVES= below.
 #  -DZIC_MAX_ABBR_LEN_WO_WARN=3
 #      (or some other number) to set the maximum time zone abbreviation length
 #      that zic will accept without a warning (the default is 6)
@@ -156,25 +171,12 @@
 # (or if you decide to add such a field in your system's "time.h" file),
 # add the name to a define such as
 #      -DTM_GMTOFF=tm_gmtoff
-# or
-#      -DTM_GMTOFF=_tm_gmtoff
-# to the end of the "CFLAGS=" line.
-# Neither tm_gmtoff nor _tm_gmtoff is described in X3J11's work;
-# in its work, use of "tm_gmtoff" is described as non-conforming.
-# Both Linux and BSD have done the equivalent of defining TM_GMTOFF in
-# their recent releases.
-#
-# If your system has a "zone abbreviation" field in its "struct tm"s
-# (or if you decide to add such a field in your system's "time.h" file),
-# add the name to a define such as
+# to the end of the "CFLAGS=" line.  If not defined, the code attempts to
+# guess TM_GMTOFF from other macros; define NO_TM_GMTOFF to suppress this.
+# Similarly, if your system has a "zone abbreviation" field, define
 #      -DTM_ZONE=tm_zone
-# or
-#      -DTM_ZONE=_tm_zone
-# to the end of the "CFLAGS=" line.
-# Neither tm_zone nor _tm_zone is described in X3J11's work;
-# in its work, use of "tm_zone" is described as non-conforming.
-# Both UCB and Sun have done the equivalent of defining TM_ZONE in
-# their recent releases.
+# and define NO_TM_ZONE to suppress any guessing.  These two fields are not
+# required by POSIX, but are widely available on GNU/Linux and BSD systems.
 #
 # If you want functions that were inspired by early versions of X3J11's work,
 # add
@@ -198,6 +200,17 @@
 # These functions may well disappear in future releases of the time
 # conversion package.
 #
+# If you don't want functions that were inspired by NetBSD, add
+#      -DNETBSD_INSPIRED=0
+# to the end of the "CFLAGS=" line.  Otherwise, the functions
+# "localtime_rz", "mktime_z", "tzalloc", and "tzfree" are added to the
+# time library, and if STD_INSPIRED is also defined the functions
+# "posix2time_z" and "time2posix_z" are added as well.
+# The functions ending in "_z" (or "_rz") are like their unsuffixed
+# (or suffixed-by-"_r") counterparts, except with an extra first
+# argument of opaque type timezone_t that specifies the time zone.
+# "tzalloc" allocates a timezone_t value, and "tzfree" frees it.
+#
 # If you want to allocate state structures in localtime, add
 #      -DALL_STATE
 # to the end of the "CFLAGS=" line.  Storage is obtained by calling malloc.
@@ -207,11 +220,6 @@
 # to the end of the "CFLAGS=" line.
 # This variable is not described in X3J11's work.
 #
-# If you want a "gtime" function (a la MACH), add
-#      -DCMUCS
-# to the end of the "CFLAGS=" line
-# This function is not described in X3J11's work.
-#
 # NIST-PCTS:151-2, Version 1.4, (1993-12-03) is a test suite put
 # out by the National Institute of Standards and Technology
 # which claims to test C and Posix conformance.  If you want to pass PCTS, add
@@ -267,6 +275,10 @@
   SP_CHARSET_FIXED=YES \
   SP_ENCODING=UTF-8
 
+# This expensive test requires USE_LTZ.
+# To suppress it, define this macro to be empty.
+CHECK_TIME_T_ALTERNATIVES = check_time_t_alternatives
+
 # SAFE_CHAR is a regular expression that matches a safe character.
 # Some parts of this distribution are limited to safe characters;
 # others can use any UTF-8 character.
@@ -318,23 +330,24 @@
 RANLIB=                :
 
 TZCOBJS=       zic.o scheck.o ialloc.o
-TZDOBJS=       zdump.o localtime.o ialloc.o asctime.o
+TZDOBJS=       zdump.o localtime.o asctime.o
 DATEOBJS=      date.o localtime.o strftime.o asctime.o
 LIBSRCS=       localtime.c asctime.c difftime.c
 LIBOBJS=       localtime.o asctime.o difftime.o
 HEADERS=       tzfile.h private.h
 NONLIBSRCS=    zic.c zdump.c scheck.c ialloc.c
 NEWUCBSRCS=    date.c strftime.c
-SOURCES=       $(HEADERS) $(LIBSRCS) $(NONLIBSRCS) $(NEWUCBSRCS) tzselect.ksh
+SOURCES=       $(HEADERS) $(LIBSRCS) $(NONLIBSRCS) $(NEWUCBSRCS) \
+                       tzselect.ksh workman.sh
 MANS=          newctime.3 newstrftime.3 newtzset.3 time2posix.3 \
                        tzfile.5 tzselect.8 zic.8 zdump.8
 MANTXTS=       newctime.3.txt newstrftime.3.txt newtzset.3.txt \
                        time2posix.3.txt \
                        tzfile.5.txt tzselect.8.txt zic.8.txt zdump.8.txt \
                        date.1.txt
-COMMON=                Makefile README
+COMMON=                CONTRIBUTING Makefile NEWS README Theory
 WEB_PAGES=     tz-art.htm tz-link.htm
-DOCS=          NEWS Theory $(MANS) date.1 $(MANTXTS) $(WEB_PAGES)
+DOCS=          $(MANS) date.1 $(MANTXTS) $(WEB_PAGES)
 PRIMARY_YDATA= africa antarctica asia australasia \
                europe northamerica southamerica
 YDATA=         $(PRIMARY_YDATA) pacificnew etcetera backward
@@ -343,10 +356,10 @@
 ZONETABLES=    zone1970.tab zone.tab
 TABDATA=       iso3166.tab leapseconds $(ZONETABLES)
 LEAP_DEPS=     leapseconds.awk leap-seconds.list
-DATA=          $(YDATA) $(NDATA) $(TABDATA) \
-                       $(LEAP_DEPS) yearistype.sh
+DATA=          $(YDATA) $(NDATA) backzone $(TABDATA) \
+                       leap-seconds.list yearistype.sh
 AWK_SCRIPTS=   checktab.awk leapseconds.awk
-MISC=          $(AWK_SCRIPTS) workman.sh zoneinfo2tdf.pl
+MISC=          $(AWK_SCRIPTS) zoneinfo2tdf.pl
 ENCHILADA=     $(COMMON) $(DOCS) $(SOURCES) $(DATA) $(MISC)
 
 # And for the benefit of csh users on systems that assume the user
@@ -429,6 +442,11 @@
                $(ZIC) -y $(YEARISTYPE) -d $(DESTDIR)$(TZDIR)-leaps \
                        -L leapseconds $(TDATA)
 
+posix_packrat: posix_only backzone
+               $(AWK) '/^Rule/' $(TDATA) | \
+                 $(ZIC) -y $(YEARISTYPE) -d $(DESTDIR)$(TZDIR) \
+                       -L /dev/null - backzone
+
 zones:         $(REDO)
 
 libtz.a:       $(LIBOBJS)
@@ -449,20 +467,25 @@
                        <$? >$@
                chmod +x $@
 
-check:         check_character_set check_tables check_web
+check:         check_character_set check_white_space check_tables check_web
 
 check_character_set: $(ENCHILADA)
                LC_ALL=en_US.utf8 && export LC_ALL && \
                sharp='#' && \
                ! grep -Env $(SAFE_LINE) $(MANS) date.1 $(MANTXTS) \
                        $(MISC) $(SOURCES) $(WEB_PAGES) && \
-               ! grep -Env $(SAFE_SHARP_LINE) $(YDATA) $(NDATA) iso3166.tab \
-                       zone.tab leapseconds $(LEAP_DEPS) yearistype.sh && \
+               ! grep -Env $(SAFE_SHARP_LINE) $(TDATA) backzone \
+                       iso3166.tab leapseconds yearistype.sh zone.tab && \
                test $$(grep -Ecv $(SAFE_SHARP_LINE) Makefile) -eq 1 && \
-               ! grep -Env $(NONSYM_LINE) README NEWS Theory $(MANS) date.1 \
-                       zone1970.tab && \
+               ! grep -Env $(NONSYM_LINE) CONTRIBUTING NEWS README Theory \
+                       $(MANS) date.1 zone1970.tab && \
                ! grep -Env $(VALID_LINE) $(ENCHILADA)
 
+check_white_space: $(ENCHILADA)
+               ! grep -n ' '$(TAB_CHAR) $(ENCHILADA)
+               ! grep -n '[[:space:]]$$' $(ENCHILADA)
+               ! grep -n "$$(printf '[\f\r\v]\n')" $(ENCHILADA)
+
 check_tables:  checktab.awk $(PRIMARY_YDATA) $(ZONETABLES)
                for tab in $(ZONETABLES); do \
                  $(AWK) -f checktab.awk -v zone_table=$$tab $(PRIMARY_YDATA) \
@@ -486,7 +509,7 @@
 names:



Home | Main Index | Thread Index | Old Index