summary refs log tree commit diff
path: root/doc/guix.texi
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 /doc/guix.texi
parent96c7448f370227c9777a6acdac4ac65f1884fb43 (diff)
downloadguix-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.
Diffstat (limited to 'doc/guix.texi')
-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: