Problem: When using multiple substitute servers, if one of the server istemporarily unreachable, `guix substitute --substitute' will throw anexception. Example (while bayfront server was down, attempting to builda package only available locally (emacs-dvc)):
Toggle snippet (20 lines)
guix package -i emacs-dvc;;; note: source file /home/maxim/.config/guix/latest/gnu/packages/emacs.scm;;; newer than compiled /home/maxim/.config/guix/latest/gnu/packages/emacs.go;;; note: source file /home/maxim/.config/guix/latest/gnu/packages/emacs.scm;;; newer than compiled /gnu/store/nqy9m6hhnkkfwr5wyq5bac96v9s9hc9i-guix-0.12.0-9.25a4/lib/guile/2.0/site-ccache/gnu/packages/emacs.go;;; note: source file /home/maxim/.config/guix/latest/gnu/packages/emacs.scm;;; newer than compiled /run/current-system/profile/lib/guile/2.0/site-ccache/gnu/packages/emacs.go;;; note: source file /home/maxim/.config/guix/latest/gnu/packages/emacs.scm;;; newer than compiled /home/maxim/.cache/guile/ccache/2.0-LE-8-2.0/home/maxim/src/guix/gnu/packages/emacs.scm.goThe following package will be installed: emacs-dvc trunk-1.591 /gnu/store/sraxmg5qz9i4338s4ks7asgy4v68dgqs-emacs-dvc-trunk-1.591>substitute: updating list of substitutes from 'https://mirror.hydra.gnu.org'... 100.0%substitute: updating list of substitutes from 'https://mirror.hydra.gnu.org'... 100.0%Downloading https://bayfront.guixsd.org/nar/gzip/6h7ym07plwxfn4zq53ld8zfpbx3a09al-at-spi2-core-2.22.0 (1.1MiB installed)...guix substitute: error: connect: No route to hostkilling process 13896killing process 13896: No such process
Expected: Since multiple substitute servers are being used, rather thanbombing out on the first unavailable one, `guix substitute --substitute'(or any other command implicated with substitute servers) should simplywarn about it before attempting the next one.
Bonus point: `guix substitute --query' should also print a warningmessage that substitute server X couldn't be reached (it doesn't printanything about that right now, just skips to the next one).