summaryrefslogtreecommitdiffhomepage
path: root/README
diff options
context:
space:
mode:
Diffstat (limited to 'README')
-rw-r--r--README26
1 files changed, 26 insertions, 0 deletions
diff --git a/README b/README
new file mode 100644
index 0000000..759a93c
--- /dev/null
+++ b/README
@@ -0,0 +1,26 @@
+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.