[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Branch with only available substitutes ?
From: |
Nicolas Graves |
Subject: |
Re: Branch with only available substitutes ? |
Date: |
Mon, 10 Jan 2022 16:16:47 +0100 |
User-agent: |
mu4e 1.6.10; emacs 28.0.50 |
Also thanks for your reply, I'll try it ;)
zimoun <zimon.toutoune@gmail.com> writes:
> Hi,
>
> In case you missed it:
>
> <https://guix.gnu.org/en/manual/devel/en/guix.html#Channels-with-Substitutes>
>
> which does not solve the issue but helps. :-)
>
>
> On Sun, 9 Jan 2022 at 22:10, Nicolas Graves via Development of GNU
> Guix and the GNU System distribution. <guix-devel@gnu.org> wrote:
>
>> I find myself often waiting for heavy packages (ungoogled-chromium,
>> cargo...) to be built as substitutes before updating my system and I
>> find it a bit long to my personal taste.
>>
>> Would it be possible to add a branch in guix sources following only
>> available substitutes, so that each time I pull, I can immediatly
>> and quickly update. Or would that need to stay as someone's personal
>> project ?
>
> Adding what you are proposing would not change your "complaint". ;-)
> Each time you would pull, you would stay on the same revision because
> the substitutes would not be ready yet and so no quick update. You
> would have to wait and run again "guix pull" later, probably staying
> on the same revision because the substitutes would not be ready. In
> the meantime, you would miss new features or new security fixes for
> others of some packages you are using.
>
> However, I agree that's annoying. Some time ago (before the link
> above), I used a script along these lines:
>
> #!/bin/bash
>
> # url-cache-directory from guix/git.scm
> # pjmkgl... = hash("https://git.savannah.gnu.org/git/guix.git")
> CACHE=~/.cache/guix/checkouts
> CHECKOUT=${CACHE}/pjmkglp4t7znuugeurpurzikxq3tnlaywmisyr27shj7apsnalwq
>
> printf "Updating local checkout:\n'$CHECKOUT'..."
> git -C $CHECKOUT fetch -q
> echo " done."
>
> guix pull --commit=$(git -C $CHECKOUT \
> log \
> --before=$(date --date='2 weeks ago' +%Y-%m-%d) \
> --format="%h" | head -n1) \
> $@
>
> echo "done."
> exit 0
>
> to lag by 2 week behind origin/master and so be almost sure to have
> the substitutes -- if their build success-ed. ;-)
>
> Well, yeah it's annoying to run "guix pull", check with "guix
> weather", and depending on the result upgrade or not -- note that the
> exit status cannot be used [1]. When all that could be automatized.
> #47929, as Mathieu said, is grouping "guix pull" and "guix weather".
> Maybe we could imagine an option to "guix upgrade" coupling "guix
> weather"; somehow the converse of 'no-substitutes' or the converse of
> 'fallback', i.e., do not try to locally build if the substitutes is
> not available. I do not know.
>
> 1: <https://yhetil.org/guix/YOdhd7FfMOvKjTQe@jasmine.lan/>
>
> Cheers,
> simon