all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Simon Tournier <zimon.toutoune@gmail.com>
To: 70551@debbugs.gnu.org
Subject: bug#70551: channel-with-substitutes-available without network
Date: Wed, 24 Apr 2024 16:43:14 +0200	[thread overview]
Message-ID: <87jzkmbz3x.fsf@gmail.com> (raw)

[-- Attachment #1: Type: text/plain, Size: 2029 bytes --]

Hi,

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


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: p.patch --]
[-- Type: text/x-diff, Size: 1514 bytes --]

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


                 reply	other threads:[~2024-04-24 15:26 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

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=87jzkmbz3x.fsf@gmail.com \
    --to=zimon.toutoune@gmail.com \
    --cc=70551@debbugs.gnu.org \
    /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.