guix-devel/guix
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
..
build build-system/guile: Display progress report as expected by (guix status). 2019-06-02 22:01:34 +02:00
build-system
import
scripts publish: '--compression' can be repeated. 2019-06-02 22:01:57 +02:00
store
tests
base16.scm
base32.scm
base64.scm
build-system.scm
bzr-download.scm
cache.scm
channels.scm
ci.scm
colors.scm
combinators.scm
config.scm.in
cpio.scm
cve.scm
cvs-download.scm
deprecation.scm
derivations.scm
describe.scm
discovery.scm discovery: 'all-modules' returns modules in path order. 2019-05-26 23:02:02 +02:00
docker.scm
download.scm
elf.scm
ftp-client.scm
gexp.scm
git-download.scm
git.scm
glob.scm
gnu-maintenance.scm
gnupg.scm
grafts.scm
graph.scm
hg-download.scm
http-client.scm
i18n.scm
inferior.scm
licenses.scm
lzlib.scm
man-db.scm
memoization.scm
modules.scm
monad-repl.scm
monads.scm
nar.scm
packages.scm
pki.scm
profiles.scm
profiling.scm
progress.scm
records.scm
scripts.scm
search-paths.scm
self.scm
serialization.scm
sets.scm
ssh.scm
status.scm
store.scm
svn-download.scm
swh.scm
tests.scm
ui.scm
upstream.scm
utils.scm
workers.scm
zlib.scm