On Tue, Oct 27, 2015 at 7:40 AM, Guy Harris <guy@alum.mit.edu> wrote:
On Oct 26, 2015, at 2:50 PM, Bradley White <bww@acm.org> wrote:
On Sun, Oct 25, 2015 at 2:30 PM, Guy Harris <guy@alum.mit.edu> wrote:
Is this just something to let people know whether they have an up-to-date version of the tzdb files or not?
Yes, although I think of it simply as let people know what version of a tzdb file they have. (Whether that is the latest version is a separate question.)
Which version they have, or which version of the IANA tzdb the version they have is based on? :-)
The version of the data file that was passed to zic to produce the zoneinfo file in question. (If someone downstream wants to modify data files and recompile them, then sub-versioning is up to them.)
I would even propose an additional self-identification step: include the zone name in tzdb file.
Which zone name is "the" zone name? The zone name on the system on which zic was run?
The zone name is the Zone field from the data file used to produce the zoneinfo file. (There would be a question about how to handle Links.)
Then you could tell, for example, where /etc/localtime came from.
Well, on my system, it came from a symlink() call:
$ ls -l /etc/localtime lrwxr-xr-x 1 root wheel 39 Oct 10 21:20 /etc/localtime -> /usr/share/zoneinfo/America/Los_Angeles
And on others it is a copy. It seems preferable to have the data be self identifying rather than assuming anything about symlinks.
although if I were traveling there would be more than such symlink() call, one made whenever the machine changes what tzdb zone it's in (I checked "Set time zone automatically using current location" in the "Time Zone" subpane of the "Date & Time" pane of System Preferences"). Should the code making those symlink() calls also write to each compiled tzdb file under /usr/share/zoneinfo, updating the zone name?
No, the zone name in any zoneinfo file would be constant. As an example, perhaps we could then see: $ file /etc/localtime /etc/localtime: timezone data, *zone America/New_York*, *release 2015f-0ubuntu0.14.04*, version 2, 4 gmt time flags, 4 std time flags, no leap seconds, 235 transition times, 4 abbreviation chars