enum

Crystar::Format

Inherits Enum < Comparable < Value < Object

Various Crystar formats

Constants

V7 = 1

The format of the original Unix V7 tar tool prior to standardization.

USTAR = 2

USTAR represents the USTAR header format defined in POSIX.1-1988.

While this format is compatible with most tar readers, the format has several limitations making it unsuitable for some usages. Most notably, it cannot support sparse files, files larger than 8GiB, filenames larger than 256 characters, and non-ASCII filenames.

Reference: http:#pubs.opengroup.org/onlinepubs/9699919799/utilities/pax.html#tag_20_92_13_06

PAX = 4

PAX represents the PAX header format defined in POSIX.1-2001.

PAX extends USTAR by writing a special file with Typeflag TypeXHeader preceding the original header. This file contains a set of key-value records, which are used to overcome USTAR's shortcomings, in addition to providing the ability to have sub-second resolution for timestamps.

Some newer formats add their own extensions to PAX by defining their own keys and assigning certain semantic meaning to the associated values. For example, sparse file support in PAX is implemented using keys defined by the GNU manual (e.g., "GNU.sparse.map").

Reference: http:#pubs.opengroup.org/onlinepubs/009695399/utilities/pax.html

GNU = 8

GNU represents the GNU header format.

The GNU header format is older than the USTAR and PAX standards and is not compatible with them. The GNU format supports arbitrary file sizes, filenames of arbitrary encoding and length, sparse files, and other features.

It is recommended that PAX be chosen over GNU unless the target application can only parse GNU formatted archives.

Reference: https:#www.gnu.org/softwarecrystar/manual/html_node/Standard.html

STAR = 16

Schily's tar format, which is incompatible with USTAR. This does not cover STAR extensions to the PAX format; these fall under the PAX format.

None = 0
All = 31

Instance methods

gnu?

Returns true if this enum value contains GNU

Source
has(f2 : self)
Source
may_only_be(f2)
Source
maybe(f2 : self)
Source
must_not_be(f2)
Source
none?
Source
pax?

Returns true if this enum value contains PAX

Source
star?

Returns true if this enum value contains STAR

Source
ustar?

Returns true if this enum value contains USTAR

Source
v7?

Returns true if this enum value contains V7

Source