[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Avoiding rebuilds (e.g. of mariadb, the entire Rust chain, etc.)?
From: |
zimoun |
Subject: |
Re: Avoiding rebuilds (e.g. of mariadb, the entire Rust chain, etc.)? |
Date: |
Wed, 29 Dec 2021 10:12:27 +0100 |
Hi,
On Mon, 27 Dec 2021 at 09:23, David Lecompte via <help-guix@gnu.org> wrote:
> Le dimanche 26 décembre 2021 à 23:41 -0600, Matthew Brooks a écrit :
>> Is there any way to avoid rebuilding stuff like mariadb, the entire
>> Rust chain, etc. unless one of those packages *actually* changes? It
>> seems like every few days every single package needs to rebuild for
>> some reason, including many packages that spend unbelievably long
>> times running tests that will never actually be of use to me, so I'm
>> usually only able to update every couple of weeks since so much
>> constantly needs to be rebuilt and everything takes so long.
>>
>
> I don't have a solution, just similar experience but with a different
> setup.
>
> I use Guix on Trisquel on my X200, I have substitues enabled, my
> installed packages are glibc-locales, fontconfig, font-adobe-source-
> han-sans, gajim, gajim-omemo, gajim-openpgp, nheko, syncthing,
> darktable, and ungoogled-chromium.
>
> Often, "guix pull" and "guix package update" take between 1h and 2h.
> This is not due to the download time. Apparently, even with substitues,
> some CPU-heavy work is needed.
Maybe I miss something with your requirements. To avoid such
disagreements, I do 3 things:
1) enable ’channel-with-substitutes-available’ [1]
2) split profiles: essentials under ~/.guix-profile (nss-certs, git,
recutils, glibc-locales, tree, etc.); emacs under
~/.config/guix/profiles/emacs, python under
~/.config/guix/profiles/python, etc. All the profiles managed using
manifest.scm [2]
3) run “guix weather -m manifest.scm” before updating
Basically, most of the time, I do not need the very last version and I
can wait that the build farm has it. The only annoyance is security
fixes and substitutes not ready yet. In this case, in the meantime, I
run the package with “guix shell -C” which is a weak mitigation or “guix
system vm” if I am in paranoid mode. :-)
1: <https://guix.gnu.org/manual/devel/en/guix.html#Channels-with-Substitutes>
2:
<https://guix.gnu.org/cookbook/en/guix-cookbook.html#Guix-Profiles-in-Practice>
Cheers,
simon
- Avoiding rebuilds (e.g. of mariadb, the entire Rust chain, etc.)?, Matthew Brooks, 2021/12/27
- Re: Avoiding rebuilds (e.g. of mariadb, the entire Rust chain, etc.)?, David Lecompte, 2021/12/27
- Re: Avoiding rebuilds (e.g. of mariadb, the entire Rust chain, etc.)?,
zimoun <=
- Re: Avoiding rebuilds (e.g. of mariadb, the entire Rust chain, etc.)?, Leo Famulari, 2021/12/27
- Re: Avoiding rebuilds (e.g. of mariadb, the entire Rust chain, etc.)?, zimoun, 2021/12/29