Bug #22480
closedRuby's release tarballs are not POSIX compliant since 2018
Description
Hi,
This is a bit of a curiosity, but I noticed that Ruby's release tarballs are not POSIX compliant, because they're missing an end-of-archive marker.
Apparently Ruby has custom code to create its release tarballs, and it does not close the tar writer, which would add this.
I noticed this cause I'm working on https://stoppels.ch/tar/, a test suite with dozens of tricky tar files, plus a table that maps the differences between tar implementations.
For security purposes, some package managers (like uv), are looking to harden tar parsers, and Ruby's release tarballs would not be accepted.
The release tarballs from Ruby 2.6.0 onwards are not POSIX compliant, basically since 2018.
Updated by nobu (Nobuyoshi Nakada) 2 days ago
- Backport changed from 3.3: UNKNOWN, 3.4: UNKNOWN, 4.0: UNKNOWN to 3.3: REQUIRED, 3.4: REQUIRED, 4.0: REQUIRED
Updated by stabbles (Harmen Stoppels) 2 days ago
- Status changed from Open to Closed
Applied in changeset git|130c9ec44bd35c7319cdc99c301419188510e3a9.
[Bug #22480] make release tarballs POSIX compliant
Ruby's own release tarballs are not POSIX compliant since 2018, because
the end-of-archive marker (two blocks of zeros) were missing.
The end-of-archive is written when the TarWriter is closed, which is
what this commit does explicitly.
Signed-off-by: Harmen Stoppels me@harmenstoppels.nl