aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2014-02-21 20:22:57 +0100
committerLudovic Courtès <ludo@gnu.org>2014-02-21 23:49:53 +0100
commit0dbd88db3933fac9c79adb107ab4a6932f33ea99 (patch)
tree9ca896308b9f9c04aff151b8161f9efb396acc81
parent96c7448f370227c9777a6acdac4ac65f1884fb43 (diff)
downloadpatches-0dbd88db3933fac9c79adb107ab4a6932f33ea99.tar
patches-0dbd88db3933fac9c79adb107ab4a6932f33ea99.tar.gz
doc: More on what's special about the archive format.
* doc/guix.texi (Invoking guix archive): Expound on what sets the Nar format apart.
-rw-r--r--doc/guix.texi18
1 files changed, 13 insertions, 5 deletions
diff --git a/doc/guix.texi b/doc/guix.texi
index b2733fbec9..36e68668ef 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -1095,11 +1095,19 @@ the target machine's store. The @code{--missing} option can help figure
out which items are missing from the target's store.
Archives are stored in the ``Nix archive'' or ``Nar'' format, which is
-comparable in spirit to `tar'. When exporting, the daemon digitally
-signs the contents of the archive, and that digital signature is
-appended. When importing, the daemon verifies the signature and rejects
-the import in case of an invalid signature or if the signing key is not
-authorized.
+comparable in spirit to `tar', but with a few noteworthy differences
+that make it more appropriate for our purposes. First, rather than
+recording all Unix meta-data for each file, the Nar format only mentions
+the file type (regular, directory, or symbolic link); Unix permissions
+and owner/group are dismissed. Second, the order in which directory
+entries are stored always follows the order of file names according to
+the C locale collation order. This makes archive production fully
+deterministic.
+
+When exporting, the daemon digitally signs the contents of the archive,
+and that digital signature is appended. When importing, the daemon
+verifies the signature and rejects the import in case of an invalid
+signature or if the signing key is not authorized.
@c FIXME: Add xref to daemon doc about signatures.
The main options are: