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