Skip to content

Commit

Permalink
Squashed 'tz/' changes from 9c175ec6c..a816a5c4d
Browse files Browse the repository at this point in the history
efc5c0619 Release 2020e
b804a741d Improve doc of zic coalescing zone+DST transitions
c8891f390 Cite publication of Volgograd change
316c1598e Correct LMT and pre-1919 transitions for Nigeria
3dcdea78d Fix NEWS typo
c983a0fb7 Document zic coalescing zone+DST transitions
ce7b1bbc7 Seychelles switched from LMT to +04 on 1907-01-01
b980f1cac Model Turks & Caicos time 2015-2018 as AST
ff90fc93a Fix Vanuatu DST in 1973-1974 and 1984 transition
7c7419c6a Volgograd change likely December 27, not 20
0b5ae1fb7 Fix some errors in recent Bahamas changes
cd1769fe6 Fix Ghana again, for 1942 through 1946
3831c591e Fix Volgograd label in {zone,zone1970}.tab
adf4d8d35 Fix several pre-1946 transitions for Bahamas
0415d0e5f Re-fix Ghana typo for 1919/1920
6e7558f19 Fix Ghana typo for 1919/1920
271d9438b Volgograd switches from +04 to +03 on 12-20 02:00
a499dd6e0 * northamerica: Add URL for Yukon OIC 1980/02
7cc6d7c00 Fix several pre-1957 transitions for Ghana
17acee8cb Fix several pre-1957 transitions for Bermuda
1aca4cad3 Fix several pre-1972 transitions for Australia
a47ef9c71 * tz-link.html: Use <abbr> more systematically.
48e68fbfd Document "right" seconds better
beba17f43 Fix mistaken Belize interpretation
d7e93bdba Fix several Belize transitions 1942/1968
b231fbdb5 Port 'make rearguard_tarballs' to Solaris 10
8b21cc5d2 Fix Israel and Palestine transitions 1940/1985
52ba05422 Fix zone*.tab Yukon comment columns
b106a6e84 leapseconds now says why NIST, not IERS
eff0719a7 Fix Kenya transitions 1908/1960
78422f077 Use better fallback for unknown $(VERSION)
ac029805c * etcetera: Update comment in the light of Neil Fuller’s comments.
e4645c40a Port to downstream HP-UX-style ‘make’

git-subtree-dir: tz
git-subtree-split: a816a5c4de427cae12477455dea2bc4eb990b2c9
  • Loading branch information
Stuart Bishop committed Dec 24, 2020
1 parent a4a62d8 commit aaef58a
Show file tree
Hide file tree
Showing 16 changed files with 863 additions and 174 deletions.
57 changes: 43 additions & 14 deletions Makefile
Expand Up @@ -583,11 +583,19 @@ INSTALL: ALL install date.1
cp date '$(DESTDIR)$(BINDIR)/.'
cp -f date.1 '$(DESTDIR)$(MANDIR)/man1/.'
# Calculate version number from git, if available.
# Otherwise, use $(VERSION) unless it is "unknown" and there is already
# a 'version' file, in which case reuse the existing 'version' contents
# and append "-dirty" if the contents do not already end in "-dirty".
version: $(VERSION_DEPS)
{ (type git) >/dev/null 2>&1 && \
V=`git describe --match '[0-9][0-9][0-9][0-9][a-z]*' \
--abbrev=7 --dirty` || \
V='$(VERSION)'; } && \
if test '$(VERSION)' = unknown && V=`cat $@`; then \
case $$V in *-dirty);; *) V=$$V-dirty;; esac; \
else \
V='$(VERSION)'; \
fi; } && \
printf '%s\n' "$$V" >$@.out
mv $@.out $@
Expand Down Expand Up @@ -872,11 +880,34 @@ $(MANTXTS): workman.sh
LC_ALL=C sh workman.sh `expr $@ : '\(.*\)\.txt$$'` >$@.out
mv $@.out $@
# Set file timestamps deterministically if possible,
# so that tarballs containing the timestamps are reproducible.
#
# '$(SET_TIMESTAMP_N) N DEST A B C ...' sets the timestamp of the
# file DEST to the maximum of the timestamps of the files A B C ...,
# plus N if GNU ls and touch are available.
SET_TIMESTAMP_N = sh -c '\
n=$$0 dest=$$1; shift; \
touch -cmr `ls -t "$$@" | sed 1q` "$$dest" && \
if test $$n != 0 && \
lsout=`ls -n --time-style="+%s" "$$dest" 2>/dev/null`; then \
set x $$lsout && \
touch -cmd @`expr $$7 + $$n` "$$dest"; \
else :; fi'
# If DEST depends on A B C ... in this Makefile, callers should use
# $(SET_TIMESTAMP_DEP) DEST A B C ..., for the benefit of any
# downstream 'make' that considers equal timestamps to be out of date.
# POSIX allows this 'make' behavior, and HP-UX 'make' does it.
# If all that matters is that the timestamp be reproducible
# and plausible, use $(SET_TIMESTAMP).
SET_TIMESTAMP = $(SET_TIMESTAMP_N) 0
SET_TIMESTAMP_DEP = $(SET_TIMESTAMP_N) 1
# Set the timestamps to those of the git repository, if available,
# and if the files have not changed since then.
# This uses GNU 'touch' syntax 'touch -d@N FILE',
# where N is the number of seconds since 1970.
# If git or GNU 'touch' is absent, don't bother to sync with git timestamps.
# This uses GNU 'ls --time-style=+%s', which outputs the seconds count,
# and GNU 'touch -d@N FILE', where N is the number of seconds since 1970.
# If git or GNU is absent, don't bother to sync with git timestamps.
# Also, set the timestamp of each prebuilt file like 'leapseconds'
# to be the maximum of the files it depends on.
set-timestamps.out: $(EIGHT_YARDS)
Expand All @@ -894,16 +925,16 @@ set-timestamps.out: $(EIGHT_YARDS)
fi || exit; \
done; \
fi
touch -cmr `ls -t $(LEAP_DEPS) | sed 1q` leapseconds
$(SET_TIMESTAMP_DEP) leapseconds $(LEAP_DEPS)
for file in `ls $(MANTXTS) | sed 's/\.txt$$//'`; do \
touch -cmr `ls -t $$file workman.sh | sed 1q` $$file.txt || \
$(SET_TIMESTAMP_DEP) $$file.txt $$file workman.sh || \
exit; \
done
touch -cmr `ls -t $(TZDATA_ZI_DEPS) | sed 1q` tzdata.zi
touch -cmr `ls -t $(VERSION_DEPS) | sed 1q` version
$(SET_TIMESTAMP_DEP) version $(VERSION_DEPS)
$(SET_TIMESTAMP_DEP) tzdata.zi $(TZDATA_ZI_DEPS)
touch $@
set-tzs-timestamp.out: $(TZS)
touch -cmr `ls -t $(TZS_DEPS) | sed 1q` $(TZS)
$(SET_TIMESTAMP_DEP) $(TZS) $(TZS_DEPS)
touch $@
# The zics below ensure that each data file can stand on its own.
Expand Down Expand Up @@ -981,7 +1012,7 @@ tarballs rearguard_tarballs traditional_tarballs \
signatures rearguard_signatures traditional_signatures: \
version set-timestamps.out rearguard.zi
VERSION=`cat version` && \
$(MAKE) VERSION="$$VERSION" $@_version
$(MAKE) AWK='$(AWK)' VERSION="$$VERSION" $@_version
# These *_version rules are intended for use if VERSION is set by some
# other means. Ordinarily these rules are used only by the above
Expand Down Expand Up @@ -1018,7 +1049,7 @@ tzdata$(VERSION)-rearguard.tar.gz: rearguard.zi set-timestamps.out
for f in $(TDATA) $(PACKRATDATA); do \
rearf=tzdata$(VERSION)-rearguard.dir/$$f; \
$(AWK) -v DATAFORM=rearguard -f ziguard.awk $$f >$$rearf && \
touch -cmr `ls -t ziguard.awk $$f` $$rearf || exit; \
$(SET_TIMESTAMP_DEP) $$rearf ziguard.awk $$f || exit; \
done
sed '1s/$$/-rearguard/' \
<version >tzdata$(VERSION)-rearguard.dir/version
Expand All @@ -1037,7 +1068,7 @@ tzdb-$(VERSION).tar.lz: set-timestamps.out set-tzs-timestamp.out
rm -fr tzdb-$(VERSION)
mkdir tzdb-$(VERSION)
ln $(ENCHILADA) tzdb-$(VERSION)
touch -cmr `ls -t tzdb-$(VERSION)/* | sed 1q` tzdb-$(VERSION)
$(SET_TIMESTAMP) tzdb-$(VERSION) tzdb-$(VERSION)/*
LC_ALL=C && export LC_ALL && \
tar $(TARFLAGS) -cf - tzdb-$(VERSION) | lzip -9 >$@.out
mv $@.out $@
Expand Down Expand Up @@ -1079,8 +1110,6 @@ strftime.o: private.h tzfile.h
zdump.o: version.h
zic.o: private.h tzfile.h version.h
.KEEP_STATE:
.PHONY: ALL INSTALL all
.PHONY: check check_time_t_alternatives
.PHONY: check_web check_zishrink
Expand Down
46 changes: 46 additions & 0 deletions NEWS
@@ -1,5 +1,51 @@
News for the tz database

Release 2020e - 2020-12-22 15:14:34 -0800

Briefly:
Volgograd switches to Moscow time on 2020-12-27 at 02:00.

Changes to future timestamps

Volgograd changes time zone from +04 to +03 on 2020-12-27 at 02:00.
(Thanks to Alexander Krivenyshev and Stepan Golosunov.)

Changes to past timestamps

Correct many pre-1986 transitions, fixing entries originally
derived from Shanks. The fixes include:
- Australia: several 1917 through 1971 transitions
- Bahamas: several 1941 through 1945 transitions
- Bermuda: several 1917 through 1956 transitions
- Belize: several 1942 through 1968 transitions
- Ghana: several 1915 through 1956 transitions
- Israel and Palestine: several 1940 through 1985 transitions
- Kenya and adjacent: several 1908 through 1960 transitions
- Nigeria and adjacent: correcting LMT in Lagos, and several 1905
through 1919 transitions
- Seychelles: the introduction of standard time in 1907, not 1906
- Vanuatu: DST in 1973-1974, and a corrected 1984 transition
(Thanks to P Chan.)

Because of the Australia change, Australia/Currie (King Island) is
no longer needed, as it is identical to Australia/Hobart for all
timestamps since 1970 and was therefore created by mistake.
Australia/Currie has been moved to the 'backward' file and its
corrected data moved to the 'backzone' file.

Changes to past time zone abbreviations and DST flags

To better match legislation in Turks and Caicos, the 2015 shift to
year-round observance of -04 is now modeled as AST throughout before
returning to Eastern Time with US DST in 2018, rather than as
maintaining EDT until 2015-11-01. (Thanks to P Chan.)

Changes to documentation

The zic man page now documents zic's coalescing of transitions
when a zone falls back just before DST springs forward.


Release 2020d - 2020-10-21 11:24:13 -0700

Briefly:
Expand Down

0 comments on commit aaef58a

Please sign in to comment.