guix/guix
Ludovic Courtès 8af9a2aa5f
substitute: If a server's nar URL is 404, try the next one(s).
If a substitute server advertises in its narinfo, for example, both a
/zstd and a /lzip URL but the /zstd URL is unreachable, try the /lzip
URL.

Fixes <https://issues.guix.gnu.org/63634>.

* guix/narinfo.scm (narinfo-preferred-uris): New procedure.
(narinfo-best-uri): Rebase on top of it.
* guix/scripts/substitute.scm (download-nar)[try-fetch]: New procedure.
Use 'narinfo-preferred-uris' and 'try-fetch' to attempt all the URLs of
NARINFO.
* tests/substitute.scm (request-substitution): Remove 'parameterize'.
Delete DESTINATION.
("substitute, preferred nar URL is 404, other is 200"): New test.
2023-05-30 00:15:29 +02:00
..
build gnu: rust: Update to 1.67. 2023-05-07 19:28:57 +03:00
build-system build-system/cmake: Add support for the #:disallowed-references key. 2023-04-30 04:47:18 -04:00
import import: elpa: Standardize warning message. 2023-05-04 13:09:00 +02:00
platforms
scripts substitute: If a server's nar URL is 404, try the next one(s). 2023-05-30 00:15:29 +02:00
store
tests
android-repo-download.scm download: Refer to the 'guile-gnutls' package and not 'gnutls'. 2023-05-11 13:23:08 +02:00
avahi.scm
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
cpu.scm gnu: gcc: Update cpu tuning architectures. 2023-05-09 09:52:24 +03:00
cve.scm
cvs-download.scm download: Refer to the 'guile-gnutls' package and not 'gnutls'. 2023-05-11 13:23:08 +02:00
d3.v3.js
deprecation.scm
derivations.scm
describe.scm
diagnostics.scm
discovery.scm
docker.scm
download.scm
elf.scm
ftp-client.scm ftp-client: 'connect*' retries until the timeout has expired. 2023-05-04 13:08:59 +02:00
gexp.scm
git-authenticate.scm
git-download.scm download: Refer to the 'guile-gnutls' package and not 'gnutls'. 2023-05-11 13:23:08 +02:00
git.scm
glob.scm
gnu-maintenance.scm
gnupg.scm
grafts.scm
graph.js
graph.scm
hash.scm
hg-download.scm download: Refer to the 'guile-gnutls' package and not 'gnutls'. 2023-05-11 13:23:08 +02:00
http-client.scm
i18n.scm
inferior.scm
ipfs.scm
least-authority.scm
licenses.scm
lint.scm lint: archival: Warn against non-origin package sources. 2023-05-06 17:12:45 +02:00
man-db.scm
memoization.scm
modules.scm
monad-repl.scm
monads.scm
nar.scm
narinfo.scm substitute: If a server's nar URL is 404, try the next one(s). 2023-05-30 00:15:29 +02:00
openpgp.scm
packages.scm packages: 'package-direct-sources' correctly handles non-origin sources. 2023-04-21 17:09:50 +02:00
pki.scm
platform.scm
profiles.scm profiles: 'texlive-font-maps' gracefully handles lack of texlive inputs. 2023-05-04 13:09:00 +02:00
profiling.scm
progress.scm
quirks.scm
read-print.scm read-print: Recognize 'wrap-program' and 'wrap-script' as special forms. 2023-05-05 23:47:48 +02:00
records.scm
remote.scm
repl.scm
rpm.scm
scripts.scm
search-paths.scm
self.scm self: Install 'guix-daemon.cil'. 2023-05-25 12:51:16 +02:00
serialization.scm
sets.scm
ssh.scm ssh: Silence remote daemon messages when sending store items. 2023-04-19 20:12:20 -04:00
status.scm status: Guard against a numerical overflow condition. 2023-04-12 08:29:37 -04:00
store.scm
substitutes.scm
svn-download.scm svn-download: Default to non-recursive checkouts. 2023-04-12 08:29:26 -04:00
swh.scm
tests.scm
transformations.scm transformations: Add '--with-configure-flag'. 2023-05-04 17:06:44 +02:00
ui.scm
upstream.scm refresh: Honor '--key-server'. 2023-05-18 19:20:58 +02:00
utils.scm
workers.scm