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