Suggested by Arthur David Olson in: https://mm.icann.org/pipermail/tz/2000-January/010789.html * Makefile (GNUTARFLAGS): Add --sort=name, so that the single tarball is more reproducible. (clean): Remove tzdb. (tzdb-$(VERSION).tar.gz): New target. (tarballs): Add it. (tzdb-$(VERSION).tar.gz.asc): New target. (signatures): Add it. * NEWS: Document this. --- Makefile | 21 +++++++++++++++++---- NEWS | 9 +++++++++ 2 files changed, 26 insertions(+), 4 deletions(-) diff --git a/Makefile b/Makefile index fc18819..da697b7 100644 --- a/Makefile +++ b/Makefile @@ -326,7 +326,7 @@ OK_LINE= '^'$(OK_CHAR)'*$$' # Flags to give 'tar' when making a distribution. # Try to use flags appropriate for GNU tar. -GNUTARFLAGS= --numeric-owner --owner=0 --group=0 --mode=go+u,go-w +GNUTARFLAGS= --numeric-owner --owner=0 --group=0 --mode=go+u,go-w --sort=name TARFLAGS= `if tar $(GNUTARFLAGS) --version >/dev/null 2>&1; \ then echo $(GNUTARFLAGS); \ else :; \ @@ -568,7 +568,7 @@ clean_misc: rm -f core *.o *.out \ date tzselect version.h zdump zic yearistype libtz.a clean: clean_misc - rm -fr *.dir $(TZS_NEW) + rm -fr *.dir tzdb $(TZS_NEW) maintainer-clean: clean @echo 'This command is intended for maintainers to use; it' @@ -672,7 +672,8 @@ check_time_t_alternatives: done rm -fr time_t.dir -tarballs: tzcode$(VERSION).tar.gz tzdata$(VERSION).tar.gz +tarballs: tzcode$(VERSION).tar.gz tzdata$(VERSION).tar.gz \ + tzdb-$(VERSION).tar.gz tzcode$(VERSION).tar.gz: set-timestamps.out LC_ALL=C && export LC_ALL && \ @@ -685,7 +686,16 @@ tzdata$(VERSION).tar.gz: set-timestamps.out tar $(TARFLAGS) -cf - $(COMMON) $(DATA) $(MISC) $(TZS) | \ gzip $(GZIPFLAGS) > $@ -signatures: tzcode$(VERSION).tar.gz.asc tzdata$(VERSION).tar.gz.asc +tzdb-$(VERSION).tar.gz: set-timestamps.out + rm -fr tzdb + mkdir tzdb + ln $(COMMON) $(DOCS) $(SOURCES) $(DATA) $(MISC) $(TZS) tzdb + touch -cmr $$(ls -t tzdb/* | sed 1q) tzdb + LC_ALL=C && export LC_ALL && \ + tar $(TARFLAGS) -cf - tzdb | gzip $(GZIPFLAGS) > $@ + +signatures: tzcode$(VERSION).tar.gz.asc tzdata$(VERSION).tar.gz.asc \ + tzdb-$(VERSION).tar.gz.asc tzcode$(VERSION).tar.gz.asc: tzcode$(VERSION).tar.gz gpg --armor --detach-sign $? @@ -693,6 +703,9 @@ tzcode$(VERSION).tar.gz.asc: tzcode$(VERSION).tar.gz tzdata$(VERSION).tar.gz.asc: tzdata$(VERSION).tar.gz gpg --armor --detach-sign $? +tzdb-$(VERSION).tar.gz.asc: tzdb-$(VERSION).tar.gz + gpg --armor --detach-sign $? + typecheck: $(MAKE) clean for i in "long long" unsigned; \ diff --git a/NEWS b/NEWS index 023883b..18b7c9d 100644 --- a/NEWS +++ b/NEWS @@ -32,6 +32,15 @@ Unreleased, experimental changes what should be the output of 'zdump -i -c 2050' on primary zones. 'make check' now checks that zdump generates this output. + A new distribution format is available in the tarball + tzdb-VERSION.tar.gz and the signature tzdb-VERSION.tar.gz.asc. + The new tarball has the contents of tzcodeVERSION.tar.gz and + tzdataVERSION.tar.gz, in a single top-level directory 'tzdb' with + all other files under this directory, as is typical for software + distributions. The new format is intended to replace the old + tarball pair. The old format will continue to be distributed for + a while. + Changes to documentation and commentary tzfile.5 now documents the new restriction on POSIX TZ-like -- 2.5.5