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
manner:

* 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.