GNU bug report logs - #71038
[PATCH 0/2] Enable specifying the available builtin builders.

Previous Next

Package: guix-patches;

Reported by: Christopher Baines <mail <at> cbaines.net>

Date: Sat, 18 May 2024 13:13:01 UTC

Severity: normal

Tags: patch

Done: Christopher Baines <mail <at> cbaines.net>

Bug is archived. No further changes may be made.

Full log


Message #35 received at 71038 <at> debbugs.gnu.org (full text, mbox):

From: Ludovic Courtès <ludo <at> gnu.org>
To: Christopher Baines <mail <at> cbaines.net>
Cc: Josselin Poiret <dev <at> jpoiret.xyz>,
 Simon Tournier <zimon.toutoune <at> gmail.com>, Mathieu Othacehe <othacehe <at> gnu.org>,
 Tobias Geerinckx-Rice <me <at> tobias.gr>, Christopher Baines <guix <at> cbaines.net>,
 71038 <at> debbugs.gnu.org
Subject: Re: [bug#71038] [PATCH v2 2/2] guix: channels: Enable specifiying
 available builtin builders.
Date: Thu, 04 Jul 2024 11:17:05 +0200
Christopher Baines <mail <at> cbaines.net> skribis:

> When computing channel instance derivations.
>
> This is useful when you want to generate compatible derivations that can be
> run with a daemon that potentially doesn't support builtin builders that the
> daemon you're using to generate the derivations has.
>
> I'm looking at this in particular because I want to use this in the data
> service, since it provides substitutes for derivations, and since these can be
> built on other machines, it's useful to control which builtin builders they
> depend on.
>
> Fixes: <https://issues.guix.gnu.org/67250>.
>
> * build-aux/build-self.scm (build-program): Accept
>  #:assume-available-builtin-builders and pass along to port->connection or
> open-connection as approriate.
> (build): Accept and pass on #:assume-available-builtin-builders.
> * guix/channels.scm (build-from-source, build-channel-instance,
> channel-instance-derivations, channel-instances->manifest,
> channel-instances->derivation): Accept and pass on
>  #:assume-available-builtin-builders.
>
> Change-Id: I315c990de66c6f7dca25a859165a5568abe385ea

I would have hoped we could avoid this, because it’s make tricky code a
bit harder to read, but as you said, it’s a real issue that needs
fixing: on build farms or for anyone using offloading and potentially
not upgrading all the machines in lockstep.

> +                                            #:version proto
> +                                            #$@(if assume-available-builtin-builders
> +                                                   #~(#:assume-available-builtin-builders
> +                                                      '(#$@assume-available-builtin-builders))
> +                                                   '()))

Here (in ‘build-program’), we can assume we’re using the current (guix
store) module, so we can safely pass #:built-in-builders unconditionally.

That’s it!

The series LGTM with these changes.

Thank you! :-)




This bug report was last modified 1 year ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.