summary refs log tree commit diff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2017-03-14 21:31:10 +0100
committerLudovic Courtès <ludo@gnu.org>2017-03-14 23:18:32 +0100
commit36f213fb704b96856d037df26e8e125aeb08edf2 (patch)
tree71519cda6d60b53d555646e3fa2d925652192071
parent796d2f2d0b86a49e3b6ec89de406aa8ec19f0eda (diff)
downloadguix-36f213fb704b96856d037df26e8e125aeb08edf2.tar.gz
pack: Use maximum compression; use '-n' for gzip.
* guix/scripts/pack.scm (<compressor>)[tar-option]: Remove.
[command]: New field.
(%compressors): Provide complete commands.  Use '-9' or equivalent for
each compressor; use '-n' for gzip.
(self-contained-tarball)[build]: Adjust accordingly.
-rw-r--r--guix/scripts/pack.scm16
1 files changed, 8 insertions, 8 deletions
diff --git a/guix/scripts/pack.scm b/guix/scripts/pack.scm
index 7a0e54d4cd..c3d85c568c 100644
--- a/guix/scripts/pack.scm
+++ b/guix/scripts/pack.scm
@@ -43,20 +43,19 @@
 
 ;; Type of a compression tool.
 (define-record-type <compressor>
-  (compressor name package extension tar-option)
+  (compressor name package extension command)
   compressor?
   (name       compressor-name)                    ;string (e.g., "gzip")
   (package    compressor-package)                 ;package
   (extension  compressor-extension)               ;string (e.g., "lz")
-  (tar-option compressor-tar-option))             ;string (e.g., "--lzip")
+  (command    compressor-command))                ;list (e.g., '("gzip" "-9n"))
 
 (define %compressors
   ;; Available compression tools.
-  ;; FIXME: Use '--no-name' for gzip.
-  (list (compressor "gzip"  gzip  "gz"  "--gzip")
-        (compressor "lzip"  lzip  "lz"  "--lzip")
-        (compressor "xz"    xz    "xz"  "--xz")
-        (compressor "bzip2" bzip2 "bz2" "--bzip2")))
+  (list (compressor "gzip"  gzip  "gz"  '("gzip" "-9n"))
+        (compressor "lzip"  lzip  "lz"  '("lzip" "-9"))
+        (compressor "xz"    xz    "xz"  '("xz" "-e"))
+        (compressor "bzip2" bzip2 "bz2" '("bzip2" "-9"))))
 
 (define (lookup-compressor name)
   "Return the compressor object called NAME.  Error out if it could not be
@@ -130,7 +129,8 @@ added to the pack."
           ;; length limitation.
           (with-directory-excursion %root
             (exit
-             (zero? (apply system* "tar" #$(compressor-tar-option compressor)
+             (zero? (apply system* "tar"
+                           "-I" #$(string-join (compressor-command compressor))
                            "--format=gnu"
 
                            ;; Avoid non-determinism in the archive.  Use