guix-devel/guix/scripts
Ludovic Courtès b8fa86adfc
publish: '--compression' can be repeated.
This allows 'guix publish' to compress and advertise multiple
compression methods from which users can choose.

* guix/scripts/publish.scm (actual-compression): Rename to...
(actual-compressions): ... this.  Expect REQUESTED to be a list, and
always return a list.
(%default-options): Remove 'compression.
(store-item->recutils): New procedure.
(narinfo-string): Change #:compression to #:compressions (plural).
Adjust accordingly.
(render-narinfo, render-narinfo/cached): Likewise.
(bake-narinfo+nar): Change #:compression to #:compressions.
[compressed-nar-size]: New procedure.
Call 'compress-nar' for each item returned by 'actual-compressions'.
Create a narinfo for each compression.
(effective-compression): New procedure.
(make-request-handler): Change #:compression to #:compressions.
Use 'effective-compression' to determine the applicable compression.
(guix-publish): Adjust handling of '--compression'.
Print a message for each compression that is enabled.
* tests/publish.scm ("/*.narinfo"): Adjust to new narinfo field
ordering.
("/*.narinfo with properly encoded '+' sign"): Likewise.
("/*.narinfo with lzip + gzip"): New test.
("with cache, lzip + gzip"): New test.
* doc/guix.texi (Invoking guix publish): Document it.
2019-06-02 22:01:57 +02:00
..
container ui: Rename '_' to 'G_'. 2017-05-03 16:16:17 +02:00
import import: opam: Add recursive option. 2019-01-07 22:05:43 +01:00
system guix system: search: Display all provision names as 'shepherdnames'. 2018-05-01 23:29:03 +02:00
archive.scm Avoid name clash with 'build' from (guix store) and (guix status). 2019-02-11 23:23:28 +01:00
authenticate.scm Switch to Guile-Gcrypt. 2018-09-04 17:25:11 +02:00
build.scm guix build: Gracefully handle invalid '--with-git-url' specs. 2019-05-14 12:11:05 +02:00
challenge.scm store: Rename '&nix-error' to '&store-error'. 2019-01-21 23:09:55 +01:00
container.scm scripts: Add missing -V option to commands that document it. 2018-07-07 18:10:31 +02:00
copy.scm Avoid name clash with 'build' from (guix store) and (guix status). 2019-02-11 23:23:28 +01:00
describe.scm describe: Provide a hint when origin detection fails. 2019-04-28 22:57:06 +02:00
download.scm scripts: Fix typo. 2019-01-17 17:58:35 +01:00
edit.scm edit: Use 'specification->location' to read information from the cache. 2019-01-15 20:24:09 +01:00
environment.scm environment: Non ad-hoc mode also honors transformation options. 2019-05-07 15:46:53 +02:00
gc.scm guix gc: '-d' does not attempt to delete non-user-owned roots. 2019-04-11 18:18:13 +02:00
graph.scm graph: Factorize calls to 'fold-packages'. 2019-03-23 18:15:36 +01:00
hash.scm guix hash: Fix version and help messages 2018-11-28 10:39:58 +01:00
import.scm guix: Add opam importer. 2018-07-10 10:11:01 +02:00
install.scm guix package: Add 'install', 'remove', and 'upgrade' aliases. 2019-04-29 10:13:44 +02:00
lint.scm lint: 'check-github-url' uses our own 'open-connection-for-uri'. 2019-04-18 17:43:56 +02:00
offload.scm offload: 'status' reports the time difference. 2019-01-22 23:04:05 +01:00
pack.scm pack: Warn when building an empty pack. 2019-05-22 00:09:41 +02:00
package.scm ui: Make package outputs searchable. 2019-05-09 00:10:34 -07:00
perform-download.scm perform-download: Optionally report a "download-progress" trace. 2018-09-27 23:21:53 +02:00
processes.scm processes: Gracefully handle daemons without clients. 2019-04-29 21:54:10 +02:00
publish.scm publish: '--compression' can be repeated. 2019-06-02 22:01:57 +02:00
pull.scm pull: Display 'hash guix' hint when the new and old 'guix' are different. 2019-05-09 17:42:31 +02:00
refresh.scm refresh: Update the source code URL. 2019-03-27 14:59:42 +01:00
remove.scm guix package: Add 'install', 'remove', and 'upgrade' aliases. 2019-04-29 10:13:44 +02:00
repl.scm repl: Load user's initialization file. 2018-12-03 08:04:51 +03:00
search.scm guix package: Add 'guix search' alias. 2019-04-29 12:19:24 +02:00
size.scm size: Optimize dependency size computation. 2019-04-07 11:36:00 +02:00
substitute.scm build: Change default substitute server to "ci.guix.gnu.org". 2019-05-01 11:05:47 +02:00
system.scm guix system: Type-check the file or expression. 2019-05-16 13:24:06 +02:00
upgrade.scm guix package: Add 'install', 'remove', and 'upgrade' aliases. 2019-04-29 10:13:44 +02:00
weather.scm weather: Accept package specs on the command line. 2019-05-22 00:09:42 +02:00