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