[tz] [PROPOSED PATCH 1/2] Also distribute code and data in a single tarball
Paul Eggert
eggert at cs.ucla.edu
Mon Aug 22 03:56:30 UTC 2016
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
More information about the tz
mailing list