From: Leo Prikler <leo.prikler@student.tugraz.at>
To: Mathieu Othacehe <othacehe@gnu.org>
Cc: mekeor@posteo.de, guix-devel@gnu.org
Subject: Re: Wrap %default-guix-channel inside channel-with-substitutes-available by default?
Date: Wed, 30 Jun 2021 10:25:29 +0200 [thread overview]
Message-ID: <5cbe22a7faa922b2756fdec968f6809340b33a10.camel@student.tugraz.at> (raw)
In-Reply-To: <871r8jn55o.fsf@gnu.org>
Am Mittwoch, den 30.06.2021, 10:11 +0200 schrieb Mathieu Othacehe:
> Hello,
>
> > I think we do have the obligation to clearly document channels-
> > with-
> > substitutes-available and make it so that this particular piece of
> > documentation can easily be found by everyone who is potentially
> > affected by slow-downs. Perhaps we might even want to include an
> > option in the installer to set up /etc/guix/channels.scm to only
> > use
> > channels with available substitutes. But using it as a default
> > without
> > communicating this fact to the users would be a poor idea in my
> > opinion.
>
> I fear that a lot of users are not aware of this mechanism and do not
> really understand why "guix pull" sometimes starts building stuff.
>
> We could maybe proceed this way:
>
> 1. Enable the channel-with-substitutes-available snippet by default.
>
> 2. Add a command line option --without-available-substitutes.
>
> 3. Add a new info message when the fetched commit is not the latest
> commit, to minimize the risk you are mentioning above. Something
> like:
>
> Skipping N new commits that do not have any available substitutes,
> use the --without-available-substitutes option to update anyway.
I don't think such verbosity leads to a good result, compare the
infamous ". $GUIX_PROFILE/etc/profile" blurb. I think we should
instead have --with-available-substitutes(*), so that we have
--with-available-substitutes: Only pull stuff, that can be substituted
(default): Pull the latest, don't care about substitutes
--without-substitutes: Pull the latest, never substitute
I think having default in the middle here and no potential for
confusion between --without-available-substitutes and --without-
substitutes is preferable. WDYT?
Regards,
Leo
(*) Things get a little more complicated if you add other channels. Of
course Guix CI only hosts the main channel, but what if someone has
Guix Past along with a CI that builds Guix Past (or the same setup
without substitutes)? When should this logic pull Guix Past and which
commit?
next prev parent reply other threads:[~2021-06-30 8:26 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-06-29 21:50 Wrap %default-guix-channel inside channel-with-substitutes-available by default? Leo Prikler
2021-06-30 8:11 ` Mathieu Othacehe
2021-06-30 8:25 ` Leo Prikler [this message]
-- strict thread matches above, loose matches on Subject: below --
2021-06-29 20:12 Mekeor Melire
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
List information: https://guix.gnu.org/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=5cbe22a7faa922b2756fdec968f6809340b33a10.camel@student.tugraz.at \
--to=leo.prikler@student.tugraz.at \
--cc=guix-devel@gnu.org \
--cc=mekeor@posteo.de \
--cc=othacehe@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 public inbox
https://git.savannah.gnu.org/cgit/guix.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).