From: Simon Tournier <zimon.toutoune@gmail.com>
To: 70551@debbugs.gnu.org
Cc: "Josselin Poiret" <dev@jpoiret.xyz>,
"Simon Tournier" <zimon.toutoune@gmail.com>,
"Mathieu Othacehe" <othacehe@gnu.org>,
"Ludovic Courtès" <ludo@gnu.org>,
"Tobias Geerinckx-Rice" <me@tobias.gr>,
"Ricardo Wurmus" <rekado@elephly.net>,
"Christopher Baines" <guix@cbaines.net>
Subject: bug#70551: channel-with-substitutes-available without network
Date: Wed, 05 Jun 2024 10:14:14 +0200 [thread overview]
Message-ID: <87jzj3rell.fsf@gmail.com> (raw)
In-Reply-To: <87jzkmbz3x.fsf@gmail.com>
Hi,
CC: core team
On Wed, 24 Apr 2024 at 16:43, Simon Tournier <zimon.toutoune@gmail.com> wrote:
> Out of any network, I get this error:
>
> --8<---------------cut here---------------start------------->8---
> $ guix time-machine --commit=1971d11d -- describe
> guix time-machine: error: failed to load '/home/simon/.config//guix/channels.scm':
> guix/build/download.scm:399:8: In procedure open-socket-for-uri:
> In procedure getaddrinfo: Name or service not known
> --8<---------------cut here---------------end--------------->8---
>
> And that’s annoying. It comes from:
>
> $ cat /home/simon/.config//guix/channels.scm
> (use-modules (guix ci))
>
> (list (channel-with-substitutes-available
> %default-guix-channel
> "https://ci.guix.gnu.org"))
>
> as documented by section “Channels with Substitutes” [1].
>
> Specifically, the error is raised by the procedure ’load*’ called by
> ’channel-list’ inside ’load-channels’. Other said, ’load*’ runs the
> procedure ’channel-with-substitutes-available’ which asks network via
> the procedure ’find-latest-commit-with-substitutes’.
>
> I think this is incorrect; the correct behaviour seems trying to do as
> most as possible. With the attached patch, I get:
>
> --8<---------------cut here---------------start------------->8---
> $ ./pre-inst-env guix time-machine --commit=1971d11d -- describe
> guix time-machine: warning: could not find available substitutes at https://ci.guix.gnu.org
> guix 1971d11
> repository URL: https://git.savannah.gnu.org/git/guix.git
> branch: master
> commit: 1971d11db9ed9683d5036cd4c62deb564842e1f6
> --8<---------------cut here---------------end--------------->8---
>
> Obviously, the option ’-q’ allows to bypass the problem. :-) However,
> it’s annoying because the default file channels.scm can be complex and
> it still should work without any tweak, IMHO.
>
> Well, the proposed fix is here to catch the error; maybe it could be
> finer than #t.
>
> WDYT?
>
> Cheers,
> simon
>
>
> 1: https://guix.gnu.org/manual/devel/en/guix.html#Channels-with-Substitutes
>
> From 5955a4c3f913d1aa77ec3a27d6430f3dcf22aab6 Mon Sep 17 00:00:00 2001
> Message-ID: <5955a4c3f913d1aa77ec3a27d6430f3dcf22aab6.1713969693.git.zimon.toutoune@gmail.com>
> From: Simon Tournier <zimon.toutoune@gmail.com>
> Date: Wed, 24 Apr 2024 16:39:10 +0200
> Subject: [PATCH] ci: Catch error for channel with substitutes.
>
> * guix/ci.scm (channel-with-substitutes-available): Catch all error when
> running 'find-latest-commit-with-substitutes'. Move the warning when failing.
>
> Change-Id: I352e07f14417f77c7ebf0f40a01c6a2e58b15d78
> ---
> guix/ci.scm | 11 +++++++----
> 1 file changed, 7 insertions(+), 4 deletions(-)
>
> diff --git a/guix/ci.scm b/guix/ci.scm
> index 5d16ee69d0..b2077448b0 100644
> --- a/guix/ci.scm
> +++ b/guix/ci.scm
> @@ -336,10 +336,13 @@ (define (channel-with-substitutes-available chan url)
>
> If no commit with available substitutes were found, the commit field is set to
> false and a warning message is printed."
> - (let ((commit (find-latest-commit-with-substitutes url)))
> - (unless commit
> - (warning (G_ "could not find available substitutes at ~a~%")
> - url))
> + (let ((commit (catch #t
> + (lambda ()
> + (find-latest-commit-with-substitutes url))
> + (lambda _
> + (warning (G_ "could not find available substitutes at ~a~%")
> + url)
> + #false))))
> (channel
> (inherit chan)
> (commit commit))))
>
> base-commit: 10d0e2d3110e4be2bc6cfecb9a3abb83d8e1ddd6
> --
> 2.41.0
Friendly ping for this patch?
Cheers,
simon
next prev parent reply other threads:[~2024-06-05 16:35 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-04-24 14:43 bug#70551: channel-with-substitutes-available without network Simon Tournier
2024-06-05 8:14 ` Simon Tournier [this message]
2024-07-23 14:35 ` Simon Tournier
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87jzj3rell.fsf@gmail.com \
--to=zimon.toutoune@gmail.com \
--cc=70551@debbugs.gnu.org \
--cc=dev@jpoiret.xyz \
--cc=guix@cbaines.net \
--cc=ludo@gnu.org \
--cc=me@tobias.gr \
--cc=othacehe@gnu.org \
--cc=rekado@elephly.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/guix.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.