I downloaded and extracted all of the links here <https://github.com/JuliaTime/TimeZones.jl/blob/v1.5.5/Artifacts.toml>. The ones from the original e-mail were the only ones that caused problems, so anything >=1999g passed the header checksum test implemented in Tar.jl and should be fine.

Thanks for the explanation and the .patch. I am an end user of Julia (not a developer of any of the projects involved here), but your reply clears things up and I have communicated it to the teams.

On Wed, May 12, 2021 at 10:11 PM Paul Eggert <eggert@cs.ucla.edu> wrote:
On 5/12/21 4:30 PM, Peter Adelman wrote:

> I am contacting you to let you know that some of the old releases of the
> IANA time zones databases are missing (or perhaps have incorrect)
> checksums in their .tars. The Julia language uses the IANA Time Zone
> Databases for its TimeZones.jl package, and in the language's most
> recent minor release (1.6) they started failing extractions where the
> header checksum didn't match the standard.
>
> Here are two related tickets:
> * https://github.com/JuliaTime/TimeZones.jl/issues/325
> <https://github.com/JuliaTime/TimeZones.jl/issues/325>
> * https://github.com/JuliaIO/Tar.jl/issues/111
> <https://github.com/JuliaIO/Tar.jl/issues/111>
>
> Of the tzdata___.tar.gzs that I have looked at (I think that I explored
> all of them while trying to build my Julia package), these have
> problematic tar checksums:
> 93g
> 94a/b/d/e/f/h
> 95b/c/d/e/f/g/h/i/k/l/m
> 96a/b/c/d/e/h/i
> 1996n
> 1997b/c
> 1999f
>
> I checked two of them by hand (1997b and one other that I didn't note)
> and both had blank header checksum bytes (0). (
> https://www.gnu.org/software/tar/manual/html_node/Standard.html
> <https://www.gnu.org/software/tar/manual/html_node/Standard.html> )
>
> Anyway, the glory of standards releases is that they don't change so
> obviously I understand not changing it, but I thought I'd reach out with
> the information anyway.

Those old tarballs were built by old SunOS tar, which computed some
checksums incompatibly with POSIX
<https://www.gnu.org/software/tar/manual/html_node/Checksumming.html>
and which put leading spaces into numeric fields, contra POSIX. GNU Tar
is generous and accepts these old tarballs, but perhaps TimeZones.jl has
never had to deal with old SunOS tar, or maybe Julia's
tarball-extracting library has a "let's be generous in what we accept"
option that TimeZones.jl could enable.

I installed the attached to tz-link to document some of this. This patch
assumes that 1999g and later are OK (I haven't checked this).