Created 2 years ago
a topological pax implementation
midipix committed 5 months ago
tpax: a topological pax implementation.
This project has the twofold aim of:
a) providing a standards-compliant pax(1) implementation.
b) providing a means for the creation of reproducible ustar archives.
In order to accomplish the latter aim, tpax defines and accepts as
a format argument the ``rustar'' (reproducible ustar) format.
A reproducible ustar archive is an archive conforming to posix ustar
interchange format specification that specially handles the uid, gid,
uname, gname, name, and prefix fields, specifically in the following
* the `uid' and `gid' fields consist of 8 zero ('0') characters each.
* the `gname' and `uname' fields consist of 32 null characters each.
* the `name' and `prefix' fields are populated as follows:
- if a path name (not including the terminall null-character) can fit
in the `name' field alone (that is, when strlen(pathname) <= 100),
then only the `name' field shall be used.
- otherwise, the name field shall be used for as few directory elements
as possible, but not less that one directory element (namely the last
element, also known as the path's base name), and the `prefix' field
shall be used for the remainder of the path name.