diff options
Diffstat (limited to 'guix/scripts')
38 files changed, 106 insertions, 68 deletions
diff --git a/guix/scripts/archive.scm b/guix/scripts/archive.scm index e32f22ec99..2b5a55a23f 100644 --- a/guix/scripts/archive.scm +++ b/guix/scripts/archive.scm @@ -119,7 +119,7 @@ Export/import one or more packages from/to the store.\n")) ;; Specifications of the command-line options. (cons* (option '(#\h "help") #f #f (lambda args - (show-help) + (leave-on-EPIPE (show-help)) (exit 0))) (option '(#\V "version") #f #f (lambda args diff --git a/guix/scripts/build.scm b/guix/scripts/build.scm index 72a24f91ac..05f022a92e 100644 --- a/guix/scripts/build.scm +++ b/guix/scripts/build.scm @@ -477,7 +477,7 @@ Build the given PACKAGE-OR-DERIVATION and return their output paths.\n")) ;; Specifications of the command-line options. (cons* (option '(#\h "help") #f #f (lambda args - (show-help) + (leave-on-EPIPE (show-help)) (exit 0))) (option '(#\V "version") #f #f (lambda args diff --git a/guix/scripts/challenge.scm b/guix/scripts/challenge.scm index 4821e11bf6..01e2f9a2b2 100644 --- a/guix/scripts/challenge.scm +++ b/guix/scripts/challenge.scm @@ -467,7 +467,7 @@ Challenge the substitutes for PACKAGE... provided by one or more servers.\n")) (define %options (list (option '(#\h "help") #f #f (lambda args - (show-help) + (leave-on-EPIPE (show-help)) (exit 0))) (option '(#\V "version") #f #f (lambda args diff --git a/guix/scripts/container.scm b/guix/scripts/container.scm index 2369437043..70637bca29 100644 --- a/guix/scripts/container.scm +++ b/guix/scripts/container.scm @@ -57,7 +57,7 @@ Build and manipulate Linux containers.\n")) (format (current-error-port) (G_ "guix container: missing action~%"))) ((or ("-h") ("--help")) - (show-help) + (leave-on-EPIPE (show-help)) (exit 0)) ((or ("-V") ("--version")) (show-version-and-exit "guix container")) diff --git a/guix/scripts/copy.scm b/guix/scripts/copy.scm index 07357af420..67975ac1a9 100644 --- a/guix/scripts/copy.scm +++ b/guix/scripts/copy.scm @@ -150,7 +150,7 @@ Copy ITEMS to or from the specified host over SSH.\n")) (option '(#\h "help") #f #f (lambda args - (show-help) + (leave-on-EPIPE (show-help)) (exit 0))) (option '(#\V "version") #f #f (lambda args diff --git a/guix/scripts/deploy.scm b/guix/scripts/deploy.scm index 14ce736174..4b1a603049 100644 --- a/guix/scripts/deploy.scm +++ b/guix/scripts/deploy.scm @@ -68,7 +68,7 @@ Perform the deployment specified by FILE.\n")) (define %options (cons* (option '(#\h "help") #f #f (lambda args - (show-help) + (leave-on-EPIPE (show-help)) (exit 0))) (option '(#\V "version") #f #f (lambda args diff --git a/guix/scripts/describe.scm b/guix/scripts/describe.scm index 5523aa0ec2..6d451dc902 100644 --- a/guix/scripts/describe.scm +++ b/guix/scripts/describe.scm @@ -74,7 +74,7 @@ result))) (option '(#\h "help") #f #f (lambda args - (show-help) + (leave-on-EPIPE (show-help)) (exit 0))) (option '(#\V "version") #f #f (lambda args diff --git a/guix/scripts/discover.scm b/guix/scripts/discover.scm index 8970f835c9..32bf6085a5 100644 --- a/guix/scripts/discover.scm +++ b/guix/scripts/discover.scm @@ -50,7 +50,7 @@ Discover Guix related services using Avahi.\n")) (alist-cons 'cache arg result))) (option '(#\h "help") #f #f (lambda _ - (show-help) + (leave-on-EPIPE (show-help)) (exit 0))) (option '(#\V "version") #f #f (lambda _ diff --git a/guix/scripts/download.scm b/guix/scripts/download.scm index 0ab5c8c39c..0441d3fead 100644 --- a/guix/scripts/download.scm +++ b/guix/scripts/download.scm @@ -143,7 +143,7 @@ and 'base16' ('hex' and 'hexadecimal' can be used as well).\n")) (option '(#\h "help") #f #f (lambda args - (show-help) + (leave-on-EPIPE (show-help)) (exit 0))) (option '(#\V "version") #f #f (lambda args diff --git a/guix/scripts/edit.scm b/guix/scripts/edit.scm index 5ce2870c5a..ff2d529bcf 100644 --- a/guix/scripts/edit.scm +++ b/guix/scripts/edit.scm @@ -37,7 +37,7 @@ %standard-build-options) (option '(#\h "help") #f #f (lambda args - (show-help) + (leave-on-EPIPE (show-help)) (exit 0))) (option '(#\V "version") #f #f (lambda args diff --git a/guix/scripts/gc.scm b/guix/scripts/gc.scm index 6068f5fe3f..58af827617 100644 --- a/guix/scripts/gc.scm +++ b/guix/scripts/gc.scm @@ -132,7 +132,7 @@ current one." ;; Specification of the command-line options. (list (option '(#\h "help") #f #f (lambda args - (show-help) + (leave-on-EPIPE (show-help)) (exit 0))) (option '(#\V "version") #f #f (lambda args diff --git a/guix/scripts/git.scm b/guix/scripts/git.scm index 4436d8a6e0..abbad076cd 100644 --- a/guix/scripts/git.scm +++ b/guix/scripts/git.scm @@ -56,7 +56,7 @@ Operate on Git repositories.\n")) (format (current-error-port) (G_ "guix git: missing sub-command~%"))) ((or ("-h") ("--help")) - (show-help) + (leave-on-EPIPE (show-help)) (exit 0)) ((or ("-V") ("--version")) (show-version-and-exit "guix git")) diff --git a/guix/scripts/graph.scm b/guix/scripts/graph.scm index c075e0ec29..6740858d8b 100644 --- a/guix/scripts/graph.scm +++ b/guix/scripts/graph.scm @@ -510,7 +510,7 @@ package modules, while attempting to retain user package modules." %standard-build-options) (option '(#\h "help") #f #f (lambda args - (show-help) + (leave-on-EPIPE (show-help)) (exit 0))) (option '(#\V "version") #f #f (lambda args diff --git a/guix/scripts/hash.scm b/guix/scripts/hash.scm index 6dc67a2416..7197d3965c 100644 --- a/guix/scripts/hash.scm +++ b/guix/scripts/hash.scm @@ -153,7 +153,7 @@ use '--serializer=nar' instead~%"))) (alist-delete 'serializer result)))) (option '(#\h "help") #f #f (lambda args - (show-help) + (leave-on-EPIPE (show-help)) (exit 0))) (option '(#\V "version") #f #f (lambda args diff --git a/guix/scripts/home.scm b/guix/scripts/home.scm index e0800bc062..b4c82d275f 100644 --- a/guix/scripts/home.scm +++ b/guix/scripts/home.scm @@ -164,7 +164,7 @@ Some ACTIONS support additional ARGS.\n")) ;; Specification of the command-line options. (cons* (option '(#\h "help") #f #f (lambda args - (show-help) + (leave-on-EPIPE (show-help)) (exit 0))) (option '(#\n "dry-run") #f #f (lambda (opt name arg result) diff --git a/guix/scripts/import.scm b/guix/scripts/import.scm index 4ddd8d46a1..1e8ffd25ec 100644 --- a/guix/scripts/import.scm +++ b/guix/scripts/import.scm @@ -78,7 +78,7 @@ Run IMPORTER with ARGS.\n")) (format (current-error-port) (G_ "guix import: missing importer name~%"))) ((or ("-h") ("--help")) - (show-help) + (leave-on-EPIPE (show-help)) (exit 0)) ((or ("-V") ("--version")) (show-version-and-exit "guix import")) diff --git a/guix/scripts/install.scm b/guix/scripts/install.scm index 63e625f266..504dbc9a6f 100644 --- a/guix/scripts/install.scm +++ b/guix/scripts/install.scm @@ -52,7 +52,7 @@ This is an alias for 'guix package -i'.\n")) ;; Specification of the command-line options. (cons* (option '(#\h "help") #f #f (lambda args - (show-help) + (leave-on-EPIPE (show-help)) (exit 0))) (option '(#\V "version") #f #f (lambda args diff --git a/guix/scripts/lint.scm b/guix/scripts/lint.scm index 9920c3ee62..ee3de51fb1 100644 --- a/guix/scripts/lint.scm +++ b/guix/scripts/lint.scm @@ -159,7 +159,7 @@ run the checkers on all packages.\n")) %standard-build-options) (option '(#\h "help") #f #f (lambda args - (show-help) + (leave-on-EPIPE (show-help)) (exit 0))) (option '(#\l "list-checkers") #f #f (lambda (opt name arg result) diff --git a/guix/scripts/locate.scm b/guix/scripts/locate.scm index 79af533fd9..ae64f46896 100644 --- a/guix/scripts/locate.scm +++ b/guix/scripts/locate.scm @@ -196,10 +196,15 @@ SELECT version FROM SchemaVersion ORDER BY version DESC LIMIT 1;" ;; System-wide database file name. (string-append %localstatedir "/cache/guix/locate/db.sqlite")) -(define (suitable-database create?) +(define (file-age stat) + "Return the age of the file denoted by STAT in seconds." + (- (current-time) (stat:mtime stat))) + +(define (suitable-database create? age-update-threshold) "Return a suitable database file. When CREATE? is true, the returned database will be opened for writing; otherwise, return the most recent one, -user or system." +user or system. Do not return the system database if it is older than +AGE-UPDATE-THRESHOLD seconds." (if (zero? (getuid)) system-database-file (if create? @@ -207,10 +212,13 @@ user or system." (let ((system (stat system-database-file #f)) (user (stat user-database-file #f))) (if user - (if (and system (> (stat:mtime system) (stat:mtime user))) + (if (and system + (> (stat:mtime system) (stat:mtime user)) + (< (file-age system) age-update-threshold)) system-database-file user-database-file) - (if system + (if (and system + (< (file-age system) age-update-threshold)) system-database-file user-database-file)))))) @@ -543,7 +551,7 @@ Locate FILE and return the list of packages that contain it.\n")) (define %options (list (option '(#\h "help") #f #f - (lambda args (show-help) (exit 0))) + (lambda args (leave-on-EPIPE (show-help)) (exit 0))) (option '(#\V "version") #f #f (lambda (opt name arg result) (show-version-and-exit "guix locate"))) @@ -595,10 +603,6 @@ Locate FILE and return the list of packages that contain it.\n")) ;; database. (* 9 30 (* 24 60 60))) - (define (file-age stat) - ;; Return true if TIME denotes an "old" time. - (- (current-time) (stat:mtime stat))) - (with-error-handling (let* ((opts (parse-command-line args %options (list %default-options) @@ -610,7 +614,7 @@ Locate FILE and return the list of packages that contain it.\n")) (clear? (assoc-ref opts 'clear?)) (update? (assoc-ref opts 'update?)) (glob? (assoc-ref opts 'glob?)) - (database ((assoc-ref opts 'database) update?)) + (database ((assoc-ref opts 'database) update? age-update-threshold)) (method (assoc-ref opts 'method)) (files (reverse (filter-map (match-lambda (('argument . arg) arg) diff --git a/guix/scripts/offload.scm b/guix/scripts/offload.scm index 7b76126d35..137e3b5fe3 100644 --- a/guix/scripts/offload.scm +++ b/guix/scripts/offload.scm @@ -868,11 +868,12 @@ machine." (("--version") (show-version-and-exit "guix offload")) (("--help") - (format #t (G_ "Usage: guix offload SYSTEM MAX-SILENT-TIME \ + (leave-on-EPIPE + (format #t (G_ "Usage: guix offload SYSTEM MAX-SILENT-TIME \ PRINT-BUILD-TRACE? BUILD-TIMEOUT Process build offload requests written on the standard input, possibly offloading builds to the machines listed in '~a'.~%") - %machine-file) + %machine-file)) (display (G_ " This tool is meant to be used internally by 'guix-daemon'.\n")) (show-bug-report-information)) diff --git a/guix/scripts/pack.scm b/guix/scripts/pack.scm index 01995c48b7..bdbea49910 100644 --- a/guix/scripts/pack.scm +++ b/guix/scripts/pack.scm @@ -507,7 +507,7 @@ added to the pack." image is a tarball conforming to the Docker Image Specification, compressed with COMPRESSOR. It can be passed to 'docker load'. If TARGET is true, it must a be a GNU triplet and it is used to derive the architecture metadata in -the image." +the image. EXTRA-OPTIONS may contain the IMAGE-TAG keyword argument." (define database (and localstatedir? (file-append (store-database (list profile)) @@ -531,7 +531,7 @@ the image." (guix build utils) (guix profiles) (guix search-paths) (srfi srfi-1) (srfi srfi-19) - (ice-9 match)) + (ice-9 match) (ice-9 optargs)) #$(procedure-source manifest->friendly-name) @@ -560,23 +560,30 @@ the image." (setenv "PATH" #+(file-append archiver "/bin")) - (build-docker-image #$output - (map store-info-item - (call-with-input-file "profile" - read-reference-graph)) - #$profile - #:repository (manifest->friendly-name - (profile-manifest #$profile)) - #:database #+database - #:system (or #$target %host-type) - #:environment environment - #:entry-point - #$(and entry-point - #~(list (string-append #$profile "/" - #$entry-point))) - #:extra-files directives - #:compressor #+(compressor-command compressor) - #:creation-time (make-time time-utc 0 1)))))) + (let-keywords '#$extra-options #f + ((image-tag #f)) + (build-docker-image #$output + (map store-info-item + (call-with-input-file "profile" + read-reference-graph)) + #$profile + #:repository + (or image-tag + (manifest->friendly-name + (profile-manifest #$profile))) + #:database #+database + #:system (or #$target %host-type) + #:environment environment + #:entry-point + #$(and entry-point + #~(list + (string-append #$profile "/" + #$entry-point))) + #:extra-files directives + #:compressor + #+(compressor-command compressor) + #:creation-time + (make-time time-utc 0 1))))))) (gexp->derivation (string-append name ".tar" (compressor-extension compressor)) @@ -1287,6 +1294,20 @@ last resort for relocation." (alist-cons symbol arg result) rest)))) +(define %docker-format-options + (list (required-option 'image-tag))) + +(define (show-docker-format-options) + (display (G_ " + --help-docker-format list options specific to the docker format"))) + +(define (show-docker-format-options/detailed) + (display (G_ " + --image-tag=NAME + Use the given NAME for the Docker image repository")) + (newline) + (exit 0)) + (define %deb-format-options (list (required-option 'control-file) (required-option 'postinst-file) @@ -1339,7 +1360,7 @@ last resort for relocation." ;; Specifications of the command-line options. (cons* (option '(#\h "help") #f #f (lambda args - (show-help) + (leave-on-EPIPE (show-help)) (exit 0))) (option '(#\V "version") #f #f (lambda args @@ -1407,6 +1428,10 @@ last resort for relocation." (lambda (opt name arg result) (alist-cons 'bootstrap? #t result))) + (option '("help-docker-format") #f #f + (lambda args + (show-docker-format-options/detailed))) + (option '("help-deb-format") #f #f (lambda args (show-deb-format-options/detailed))) @@ -1415,7 +1440,8 @@ last resort for relocation." (lambda args (show-rpm-format-options/detailed))) - (append %deb-format-options + (append %docker-format-options + %deb-format-options %rpm-format-options %transformation-options %standard-build-options @@ -1433,6 +1459,7 @@ Create a bundle of PACKAGE.\n")) (newline) (show-transformation-options-help) (newline) + (show-docker-format-options) (show-deb-format-options) (show-rpm-format-options) (newline) @@ -1586,6 +1613,9 @@ Create a bundle of PACKAGE.\n")) manifest))) (pack-format (assoc-ref opts 'format)) (extra-options (match pack-format + ('docker + (list #:image-tag + (assoc-ref opts 'image-tag))) ('deb (list #:control-file (process-file-arg opts 'control-file) diff --git a/guix/scripts/package.scm b/guix/scripts/package.scm index ab1968b62d..a489e06e73 100644 --- a/guix/scripts/package.scm +++ b/guix/scripts/package.scm @@ -504,7 +504,7 @@ Install, remove, or upgrade packages in a single transaction.\n")) ;; Specification of the command-line options. (cons* (option '(#\h "help") #f #f (lambda args - (show-help) + (leave-on-EPIPE (show-help)) (exit 0))) (option '(#\V "version") #f #f (lambda args diff --git a/guix/scripts/processes.scm b/guix/scripts/processes.scm index 3db5603286..4a855c8c7c 100644 --- a/guix/scripts/processes.scm +++ b/guix/scripts/processes.scm @@ -313,7 +313,7 @@ List the current Guix sessions and their processes.")) (define %options (list (option '(#\h "help") #f #f (lambda args - (show-help) + (leave-on-EPIPE (show-help)) (exit 0))) (option '(#\V "version") #f #f (lambda args diff --git a/guix/scripts/publish.scm b/guix/scripts/publish.scm index ada81838ac..4457be1fce 100644 --- a/guix/scripts/publish.scm +++ b/guix/scripts/publish.scm @@ -160,7 +160,7 @@ usage." (define %options (list (option '(#\h "help") #f #f (lambda _ - (show-help) + (leave-on-EPIPE (show-help)) (exit 0))) (option '(#\V "version") #f #f (lambda _ diff --git a/guix/scripts/pull.scm b/guix/scripts/pull.scm index 1904a6913a..58d3cd7e83 100644 --- a/guix/scripts/pull.scm +++ b/guix/scripts/pull.scm @@ -201,7 +201,7 @@ Download and deploy the latest version of Guix.\n")) (option '(#\h "help") #f #f (lambda args - (show-help) + (leave-on-EPIPE (show-help)) (exit 0))) (option '(#\V "version") #f #f (lambda args diff --git a/guix/scripts/refresh.scm b/guix/scripts/refresh.scm index 46bf310d5f..d858ed07cb 100644 --- a/guix/scripts/refresh.scm +++ b/guix/scripts/refresh.scm @@ -144,7 +144,7 @@ (option '(#\h "help") #f #f (lambda args - (show-help) + (leave-on-EPIPE (show-help)) (exit 0))) (option '(#\V "version") #f #f (lambda args diff --git a/guix/scripts/remove.scm b/guix/scripts/remove.scm index a46ad04d56..be073878c5 100644 --- a/guix/scripts/remove.scm +++ b/guix/scripts/remove.scm @@ -49,7 +49,7 @@ This is an alias for 'guix package -r'.\n")) ;; Specification of the command-line options. (cons* (option '(#\h "help") #f #f (lambda args - (show-help) + (leave-on-EPIPE (show-help)) (exit 0))) (option '(#\V "version") #f #f (lambda args diff --git a/guix/scripts/repl.scm b/guix/scripts/repl.scm index fd23a2b982..cb71e59b05 100644 --- a/guix/scripts/repl.scm +++ b/guix/scripts/repl.scm @@ -42,7 +42,7 @@ (define %options (list (option '(#\h "help") #f #f (lambda args - (show-help) + (leave-on-EPIPE (show-help)) (exit 0))) (option '(#\V "version") #f #f (lambda args diff --git a/guix/scripts/search.scm b/guix/scripts/search.scm index 307ea410b9..e6deb710b1 100644 --- a/guix/scripts/search.scm +++ b/guix/scripts/search.scm @@ -47,7 +47,7 @@ This is an alias for 'guix package -s'.\n")) ;; Specification of the command-line options. (list (option '(#\h "help") #f #f (lambda args - (show-help) + (leave-on-EPIPE (show-help)) (exit 0))) (option '(#\V "version") #f #f (lambda args diff --git a/guix/scripts/shell.scm b/guix/scripts/shell.scm index 83888eee1d..10ea110fee 100644 --- a/guix/scripts/shell.scm +++ b/guix/scripts/shell.scm @@ -26,6 +26,7 @@ #:autoload (guix transformations) (options->transformation transformation-option-key? show-transformation-options-help) + #:autoload (guix grafts) (%graft?) #:use-module (guix scripts) #:use-module (guix packages) #:use-module (guix profiles) @@ -115,7 +116,7 @@ interactive shell in that environment.\n")) (append (list (option '(#\h "help") #f #f (lambda args - (show-help) + (leave-on-EPIPE (show-help)) (exit 0))) (option '(#\V "version") #f #f (lambda args @@ -354,6 +355,7 @@ performed--e.g., because the package cache is not authoritative." ;; be insufficient: <https://lwn.net/Articles/866582/>. (sha256 (string->utf8 (string-append primary-key ":" system ":" + (if (%graft?) "" "ungrafted:") (number->string (stat:dev stat)) ":" (number->string (stat:ino stat)))))))))) @@ -366,6 +368,7 @@ is a list of package specs. Return #f if caching is not possible." (bytevector->base32-string (sha256 (string->utf8 (string-append primary-key ":" system ":" + (if (%graft?) "" "ungrafted:") (object->string specs)))))))) (define (profile-cached-gc-root opts) diff --git a/guix/scripts/show.scm b/guix/scripts/show.scm index f6d8256951..14b72cb75a 100644 --- a/guix/scripts/show.scm +++ b/guix/scripts/show.scm @@ -46,7 +46,7 @@ This is an alias for 'guix package --show='.\n")) ;; Specification of the command-line options. (list (option '(#\h "help") #f #f (lambda args - (show-help) + (leave-on-EPIPE (show-help)) (exit 0))) (option '(#\V "version") #f #f (lambda args diff --git a/guix/scripts/size.scm b/guix/scripts/size.scm index 48b8ecc881..d26ed98388 100644 --- a/guix/scripts/size.scm +++ b/guix/scripts/size.scm @@ -278,7 +278,7 @@ Report the size of the PACKAGE or STORE-ITEM, with its dependencies.\n")) %standard-build-options) (option '(#\h "help") #f #f (lambda args - (show-help) + (leave-on-EPIPE (show-help)) (exit 0))) (option '(#\V "version") #f #f (lambda args diff --git a/guix/scripts/style.scm b/guix/scripts/style.scm index 4920a8d969..145cd09881 100644 --- a/guix/scripts/style.scm +++ b/guix/scripts/style.scm @@ -547,7 +547,7 @@ bailing out~%")) (option '(#\h "help") #f #f (lambda args - (show-help) + (leave-on-EPIPE (show-help)) (exit 0))) (option '(#\l "list-stylings") #f #f (lambda args diff --git a/guix/scripts/substitute.scm b/guix/scripts/substitute.scm index 8b1f7d6fda..126f0f9c69 100755 --- a/guix/scripts/substitute.scm +++ b/guix/scripts/substitute.scm @@ -813,7 +813,7 @@ default value." ((or ("-V") ("--version")) (show-version-and-exit "guix substitute")) ((or ("-h") ("--help") ()) - (show-help) + (leave-on-EPIPE (show-help)) (exit 0)) (_ #t)) diff --git a/guix/scripts/system.scm b/guix/scripts/system.scm index 547387d5e1..f85b663d64 100644 --- a/guix/scripts/system.scm +++ b/guix/scripts/system.scm @@ -1064,7 +1064,7 @@ Some ACTIONS support additional ARGS.\n")) ;; Specifications of the command-line options. (cons* (option '(#\h "help") #f #f (lambda args - (show-help) + (leave-on-EPIPE (show-help)) (exit 0))) (option '(#\V "version") #f #f (lambda args diff --git a/guix/scripts/time-machine.scm b/guix/scripts/time-machine.scm index 3ecf735acb..f31fae7435 100644 --- a/guix/scripts/time-machine.scm +++ b/guix/scripts/time-machine.scm @@ -107,7 +107,7 @@ Execute COMMAND ARGS... in an older version of Guix.\n")) (alist-cons 'authenticate-channels? #f result))) (option '(#\h "help") #f #f (lambda args - (show-help) + (leave-on-EPIPE (show-help)) (exit 0))) (option '(#\V "version") #f #f (lambda args diff --git a/guix/scripts/upgrade.scm b/guix/scripts/upgrade.scm index beb59cbe6f..1a5e8088cb 100644 --- a/guix/scripts/upgrade.scm +++ b/guix/scripts/upgrade.scm @@ -56,7 +56,7 @@ This is an alias for 'guix package -u'.\n")) ;; Specification of the command-line options. (cons* (option '(#\h "help") #f #f (lambda args - (show-help) + (leave-on-EPIPE (show-help)) (exit 0))) (option '(#\V "version") #f #f (lambda args diff --git a/guix/scripts/weather.scm b/guix/scripts/weather.scm index dc27f81984..140df3435f 100644 --- a/guix/scripts/weather.scm +++ b/guix/scripts/weather.scm @@ -360,7 +360,7 @@ Report the availability of substitutes.\n")) (define %options (cons* (option '(#\h "help") #f #f (lambda args - (show-help) + (leave-on-EPIPE (show-help)) (exit 0))) (option '(#\V "version") #f #f (lambda args |