[tz] input needed on creation of a new sub-package for raw zone data
Paul Eggert
eggert at cs.ucla.edu
Wed May 24 05:23:50 UTC 2017
On 05/23/2017 12:22 PM, Brian Inglis wrote:
> From pkgs.org Fedora Rawhide tzdata-2017b-1.fc27.noarch.rpm
> /usr/share/licenses/tzdata/LICENSE
>
Ah, that's new starting in Fedora 26. I am running Fedora 25 (the current stable
version), which does not have the LICENSE file in its rpm, which is why I didn't
see it.
It's OK to install a LICENSE file under /usr/share/licenses. However, Patsy
Franklin appeared to be proposing putting this file under /usr/share/zoneinfo,
which is surely not the right place. The license should be
/usr/share/licenses/tzdata-text/LICENSE (assuming the new package is called
"tzdata-text"), or perhaps just in /usr/share/licenses/tzdata/LICENSE if one can
use the same license file for different packages.
> The proposed package target users want to make use of the source data
> for their own purposes, independent of the binaries used by the system.
I'm still not following what "for their own purposes" means, if it means they
want source text that disagrees with what's installed. What purpose would
require that? And why isn't this purpose satisfied by simply using the
already-existing tzdata src RPM?
After all, the set of tzdb sources is *contradictory*: parts of it disagree with
other parts. If we merely install all the sources without instructions,
downstream users are likely to be confused by the contradictions, and use the
"wrong" parts.
Also, I worry that developers are under the misimpression that there is a single
tzdb version 2017b that is the same everywhere. That's not the case, as
different distributors deliver different versions of 2017b. If we encourage
distributors to install source text data that disagrees with the corresponding
binary data, we will likely cause trouble unnecessarily.
> For that reason, the proposed package should probably install each
> release in independent subdirectories rather than replacing existing
> data, and possibly update a generic symlink to point to the latest
> installed, or leave it to the admin, or whatever controls the system
> build e.g. ansible, chef, docker, puppet, etc.
That problem applies to every installation of every package, and package
managers already have mechanisms to deal with it. We need not and should not
reinvent that wheel as part of the tz project.
> It would be useful for traceability to have the data and generation tool
> release and files and options used embedded in each binary data file
Likewise: any traceability requirements apply to every file installed by every
package. We need not and should not implement our own solution to this common
problem. This is the responsibility of the distributor and/or the package
manager, not of tzdb.
More information about the tz
mailing list