summaryrefslogtreecommitdiff
path: root/guix/scripts/publish.scm
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2016-08-01 17:42:09 +0200
committerLudovic Courtès <ludo@gnu.org>2016-08-01 17:58:56 +0200
commit089b167812624cc69aac95d5a1b69688e3f97117 (patch)
tree2255fe27e3356307e33c20c2281d60bbfbec293b /guix/scripts/publish.scm
parent66c65aafa73f9ca816825abb7f84b353f7bcfdf6 (diff)
downloadgnu-guix-089b167812624cc69aac95d5a1b69688e3f97117.tar
gnu-guix-089b167812624cc69aac95d5a1b69688e3f97117.tar.gz
publish: Do not compress already-compressed files.
* guix/scripts/publish.scm (narinfo-string): Force %NO-COMPRESSION when STORE-PATH matches 'compressed-file?'. * guix/utils.scm (compressed-file?): New procedure. * tests/publish.scm ("/*.narinfo for a compressed file"): New test.
Diffstat (limited to 'guix/scripts/publish.scm')
-rw-r--r--guix/scripts/publish.scm4
1 files changed, 4 insertions, 0 deletions
diff --git a/guix/scripts/publish.scm b/guix/scripts/publish.scm
index 2ca2aeebe3..8404e540f8 100644
--- a/guix/scripts/publish.scm
+++ b/guix/scripts/publish.scm
@@ -50,6 +50,7 @@
#:use-module (guix zlib)
#:use-module (guix ui)
#:use-module (guix scripts)
+ #:use-module ((guix utils) #:select (compressed-file?))
#:use-module ((guix build utils) #:select (dump-port))
#:export (guix-publish))
@@ -199,6 +200,9 @@ compression disabled~%"))
if STORE-PATH is invalid. Produce a URL that corresponds to COMPRESSION. The
narinfo is signed with KEY."
(let* ((path-info (query-path-info store store-path))
+ (compression (if (compressed-file? store-path)
+ %no-compression
+ compression))
(url (encode-and-join-uri-path
`("nar"
,@(match compression