[tz] tzdata2012f available

Robert Elz kre at munnari.OZ.AU
Fri Sep 14 23:15:03 UTC 2012

    Date:        Fri, 14 Sep 2012 10:09:41 -0700
    From:        Paul Eggert <eggert at cs.ucla.edu>
    Message-ID:  <505364D5.2050208 at cs.ucla.edu>

  | A downside of both of these
  | approaches, though, is that the two version numbers would be
  | in different places, making it more likely that I'll forget
  | to update one or the other.

No, you don't want to do it that way, you want a single file in
the repository that is the version number, and then the Makefile
target that creates the distribution files incorporates that
version number in whatever places in the eventual distribution
it is decided that it should live (Makefile, zone.tab, README.xxx
or even in every file if desired) just before making the tar file.

That is, the distributed tgz is made out of (slightly) modified copies
of (some of) the files from the repository, not those files directly.

The only place in the repository that the version number is ever
seen is in that one single file, and that one file I would not
include in either the data or source distritions (it isn't needed
to build or use the code or data, only to make distributions, and
only the owner of the repository needs to be able to do that).

You don't want to include it in just one tgz file, as then whever
that file happens to be an older version than the other, this new
file looks to have incorrect contents, and you don't want to
include it in both, as that leads to races on extraction (which
version you get depends which of the tgz's is extracted last).

The strategy of just not uploading the code tgz when it hasn't
changed means that the eventual distributed pair of files (files
with different versionids in their names) would end up with an
incorrect version number (as it is now in the Makefile) for the
data (worse than not having one at all).   And of course, people
who only download the data (relying upon their system's integrated
code version) don't get a version number at all (except the one
in the tgz filename).


More information about the tz mailing list