xref: /openbsd/lib/libc/time/README (revision b7bd7dbe)
1*b7bd7dbeSmillert$OpenBSD: README,v 1.10 2012/09/13 11:14:20 millert Exp $
2*b7bd7dbeSmillertREADME for the tz distribution
3*b7bd7dbeSmillert
4fe1566e0SmillertThis file is in the public domain, so clarified as of
5fe1566e0Smillert2009-05-17 by Arthur David Olson.
6df930be7Sderaadt
7df930be7Sderaadt"What time is it?" -- Richard Deacon as The King
8df930be7Sderaadt"Any time you want it to be." -- Frank Baxter as The Scientist
97c79c202Smillert					(from the Bell System film "About Time")
10df930be7Sderaadt
11df930be7SderaadtThe 1989 update of the time zone package featured
12df930be7Sderaadt
13df930be7Sderaadt*	POSIXization (including interpretation of POSIX-style TZ environment
14df930be7Sderaadt	variables, provided by Guy Harris),
15df930be7Sderaadt*	ANSIfication (including versions of "mktime" and "difftime"),
16df930be7Sderaadt*	SVIDulation (an "altzone" variable)
17df930be7Sderaadt*	MACHination (the "gtime" function)
18df930be7Sderaadt*	corrections to some time zone data (including corrections to the rules
19df930be7Sderaadt	for Great Britain and New Zealand)
20df930be7Sderaadt*	reference data from the United States Naval Observatory for folks who
21df930be7Sderaadt	want to do additional time zones
22df930be7Sderaadt*	and the 1989 data for Saudi Arabia.
23df930be7Sderaadt
24df930be7Sderaadt(Since this code will be treated as "part of the implementation" in some places
25df930be7Sderaadtand as "part of the application" in others, there's no good way to name
26df930be7Sderaadtfunctions, such as timegm, that are not part of the proposed ANSI C standard;
27df930be7Sderaadtsuch functions have kept their old, underscore-free names in this update.)
28df930be7Sderaadt
29df930be7SderaadtAnd the "dysize" function has disappeared; it was present to allow compilation
30df930be7Sderaadtof the "date" command on old BSD systems, and a version of "date" is now
31df930be7Sderaadtprovided in the package.  The "date" command is not created when you "make all"
32df930be7Sderaadtsince it may lack options provided by the version distributed with your
33df930be7Sderaadtoperating system, or may not interact with the system in the same way the
34df930be7Sderaadtnative version does.
35df930be7Sderaadt
36df930be7SderaadtSince POSIX frowns on correct leap second handling, the default behavior of
37df930be7Sderaadtthe "zic" command (in the absence of a "-L" option) has been changed to omit
38df930be7Sderaadtleap second information from its output files.
39df930be7Sderaadt
40d79de7ffSmillertHere is a recipe for acquiring, building, installing, and testing the
41d79de7ffSmillerttz distribution on a GNU/Linux or similar host.
42d79de7ffSmillert
43d79de7ffSmillert	mkdir tz
44d79de7ffSmillert	cd tz
45*b7bd7dbeSmillert	wget --retr-symlinks 'ftp://ftp.iana.org/tz/tz*-latest.tar.gz'
46*b7bd7dbeSmillert	gzip -dc tzcode-latest.tar.gz | tar -xf -
47*b7bd7dbeSmillert	gzip -dc tzdata-latest.tar.gz | tar -xf -
48d79de7ffSmillert
49d79de7ffSmillertBe sure to read the comments in "Makefile" and make any changes needed
50d79de7ffSmillertto make things right for your system, especially if you are using some
51d79de7ffSmillertplatform other than GNU/Linux.  Then run the following commands,
52d79de7ffSmillertsubstituting your desired installation directory for "$HOME/tzdir":
53d79de7ffSmillert
54d79de7ffSmillert	make TOPDIR=$HOME/tzdir install
55d79de7ffSmillert	$HOME/tzdir/etc/zdump -v America/Los_Angeles
56df930be7Sderaadt
577c79c202SmillertTo use the new functions, use a "-ltz" option when compiling or linking.
58df930be7Sderaadt
593f56448eSmillertHistorical local time information has been included here to:
603f56448eSmillert
613f56448eSmillert*	provide a compendium of data about the history of civil time
623f56448eSmillert	that is useful even if the data are not 100% accurate;
63df930be7Sderaadt
64df930be7Sderaadt*	give an idea of the variety of local time rules that have
65df930be7Sderaadt	existed in the past and thus an idea of the variety that may be
66df930be7Sderaadt	expected in the future;
67df930be7Sderaadt
68df930be7Sderaadt*	provide a test of the generality of the local time rule description
69df930be7Sderaadt	system.
70df930be7Sderaadt
71df930be7SderaadtThe information in the time zone data files is by no means authoritative;
72a3ac0a54Smillertthe files currently do not even attempt to cover all time stamps before
733f56448eSmillert1970, and there are undoubtedly errors even for time stamps since 1970.
743f56448eSmillertIf you know that the rules are different from those in a file, by all means
75df930be7Sderaadtfeel free to change file (and please send the changed version to
76a24688acSmillerttz@iana.org for use in the future).  Europeans take note!
77df930be7Sderaadt
78df930be7SderaadtThanks to these Timezone Caballeros who've made major contributions to the
79df930be7Sderaadttime conversion package:  Keith Bostic; Bob Devine; Paul Eggert; Robert Elz;
80df930be7SderaadtGuy Harris; Mark Horton; John Mackin; and Bradley White.  Thanks also to
81df930be7SderaadtMichael Bloom, Art Neilson, Stephen Prince, John Sovereign, and Frank Wales
82df930be7Sderaadtfor testing work, and to Gwillim Law for checking local mean time data.
83df930be7SderaadtNone of them are responsible for remaining errors.
84df930be7Sderaadt
85*b7bd7dbeSmillertLook in <ftp://ftp.iana.org/tz/releases/>
86df930be7Sderaadtfor updated versions of these files.
87df930be7Sderaadt
88a24688acSmillertPlease send comments or information to tz@iana.org.
89a24688acSmillert
90a24688acSmillertPostscript:  The README above is largely unmodified (aside from details
91a24688acSmillertof mailing list and ftp archive addresses) from that prepared many years
92a24688acSmillertago by Arthur David Olson, to whom the timezone community owes the
93a24688acSmillertgreatest debt of all.  Arthur is not currently maintaining this data or
94a24688acSmillertcode (though he remains involved).
95