summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore11
-rw-r--r--COPYING.TPAX20
-rw-r--r--README26
3 files changed, 57 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..796d153
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,11 @@
+*~
+*.o
+*.a
+*.so
+*.gch
+*.exe
+*.lib.a
+Makefile
+/bin
+/build
+/lib
diff --git a/COPYING.TPAX b/COPYING.TPAX
new file mode 100644
index 0000000..3521193
--- /dev/null
+++ b/COPYING.TPAX
@@ -0,0 +1,20 @@
+/*****************************************************************************/
+/* */
+/* tpax: a topological pax implementation */
+/* */
+/* Copyright (C) 2020 Z. Gilboa */
+/* */
+/* This program is free software: you can redistribute it and/or modify */
+/* it under the terms of the GNU General Public License as published by */
+/* the Free Software Foundation, either version 2 of the License, or */
+/* (at your option) version 3 of the License. */
+/* */
+/* This program is distributed in the hope that it will be useful, */
+/* but WITHOUT ANY WARRANTY; without even the implied warranty of */
+/* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the */
+/* GNU General Public License for more details. */
+/* */
+/* You should have received a copy of the GNU General Public License */
+/* along with this program. If not, see <http://www.gnu.org/licenses/>. */
+/* */
+/*****************************************************************************/
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.