Project

General

Profile

Actions

Bug #22480

closed

Ruby's release tarballs are not POSIX compliant since 2018

Bug #22480: Ruby's release tarballs are not POSIX compliant since 2018

Added by stabbles (Harmen Stoppels) 2 days ago. Updated 2 days ago.

Status:
Closed
Assignee:
-
Target version:
-
[ruby-core:127259]

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.

See https://pubs.opengroup.org/onlinepubs/9799919799/utilities/pax.html#:~:text=At%20the%20end%20of%20the%20archive%20file%20there%20shall%20be%20two%20512-byte%20blocks

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.

Actions

Also available in: PDF Atom