b90ae065b5
When a server publishes several URLs with different compression methods, 'guix substitute' can now choose the best one among the compression methods that it supports. * guix/scripts/substitute.scm (<narinfo>)[uri]: Replace with... [uris]: ... this. [compression]: Replace with... [compressions]: ... this. [file-size]: Replace with... [file-sizes]: ... this. [file-hash]: Replace with... [file-hashes]: ... this. (narinfo-maker): Adjust accordingly. Ensure 'file-sizes' and 'file-hashes' have the right length. (assert-valid-signature, valid-narinfo?): Use the first element of 'narinfo-uris' in error messages. (read-narinfo): Expect "URL", "Compression", "FileSize", and "FileHash" to occur multiple times. (display-narinfo-data): Call 'select-uri' to determine the file size. (%compression-methods): New variable. (supported-compression?, compresses-better?, select-uri): New procedures. (process-substitution): Call 'select-uri' to select the URI and compression. * guix/scripts/weather.scm (report-server-coverage): Account for all the values returned by 'narinfo-file-sizes'. * tests/substitute.scm ("substitute, narinfo with several URLs"): New test. |
||
---|---|---|
.. | ||
container | ||
import | ||
system | ||
archive.scm | ||
authenticate.scm | ||
build.scm | ||
challenge.scm | ||
container.scm | ||
copy.scm | ||
describe.scm | ||
download.scm | ||
edit.scm | ||
environment.scm | ||
gc.scm | ||
graph.scm | ||
hash.scm | ||
import.scm | ||
install.scm | ||
lint.scm | ||
offload.scm | ||
pack.scm | ||
package.scm | ||
perform-download.scm | ||
processes.scm | ||
publish.scm | ||
pull.scm | ||
refresh.scm | ||
remove.scm | ||
repl.scm | ||
search.scm | ||
size.scm | ||
substitute.scm | ||
system.scm | ||
upgrade.scm | ||
weather.scm |