[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: bug#26608: channels.scm supporting substitutes

From: Nome Grey
Subject: Re: bug#26608: channels.scm supporting substitutes
Date: Thu, 5 Dec 2019 06:35:45 -0800

On Thu, Dec 5, 2019, 3:45 AM zimoun <address@hidden> wrote:

> Hi,
> On Wed, 4 Dec 2019 at 22:50, Nome Grey <address@hidden> wrote:
> > I also noticed often the substitute is not chosen when the server is
> having congestion issues.
> I do not understand what this means.
> The tool to know if the build farm has already built the package is
> "guix weather". If it is not built yet, then you have only two
> choices: 1. build it yourself or 2. wait. There are discussions to
> share more in distributed fashion via IPFS -- which will partially
> diminish the time to wait between when the package is included to the
> tree and when the binary is available -- and a patch already exists in
> the Bug Tracker; but it lacks tests and feedback. Note also that not
> enough of us use "guix publish". ;-)

I mean when I cannot access the pages of, `guix weather`
could report missing substitutes.

> > $ guix install ungoogled-chromium --dry-run
> > The following package would be upgraded:
> >    ungoogled-chromium 74.0.3729.131-0.9e33022 → 78.0.3904.108-0.8f06513
> /gnu/store/wcjr5n9ljvbw6ak3705pqs7y6n3fk934-ungoogled-chromium-78.0.3904.108-0.8f06513
> >
> > The following derivation would be built:
> >    /gnu/store/akzyrbp4pirvxjss0s41fv3ggpy70a8q-profile.drv
> > 82.1 MB would be downloaded:
> >
> /gnu/store/9aiizpqhpiixds5x52w67q7p3wxsz1db-libcdio-paranoia-10.2+2.0.0
> >    /gnu/store/ghj6k72hpvilkv53hx2frz5a5qazvrk2-libcdio-2.1.0
> >    /gnu/store/mpsjsddxbzjncvrxqll59lmwad6yygl0-ffmpeg-4.2.1
> >
> /gnu/store/wcjr5n9ljvbw6ak3705pqs7y6n3fk934-ungoogled-chromium-78.0.3904.108-0.8f06513
> > The following profile hooks would be built:
> >    /gnu/store/71fl8l2n2l01yjd2ajqz1qs7a5f0g8ar-gtk-im-modules.drv
> >    /gnu/store/7nrwf66l0r9vdzcxyl56xzkrm3dj5bhl-gtk-icon-themes.drv
> >    /gnu/store/f3xpxb5a79xvxxaav7zvmg1lmsslxz8f-xdg-mime-database.drv
> >    /gnu/store/g1acs7i62984xkwkwshyirinqzvf20xl-glib-schemas.drv
> >    /gnu/store/k0xp9xvc8njzqzwy7ndj7w5p8kk4ljcv-ca-certificate-bundle.drv
> >    /gnu/store/n4zwqdspgy8dnfmz7y0sv425mc81mm87-fonts-dir.drv
> >    /gnu/store/qmb0w52ys35l7hdrbkx3vwbsd2b31nj3-manual-database.drv
> >    /gnu/store/syspl3xawhbpynvjn6a5n34fyap7awap-xdg-desktop-database.drv
> >    /gnu/store/vpy3llakmf6kfb2gf93309m8wdrkhjvc-info-dir.drv
> So this will download what you want. :-)
> Everything is available, AFAICT.
> No issue, no workaround.

I had to `guix pull --commit=1b6c5e8` to see the above, which took me a
couple days to finish because there weren't substitutes available for that
guix binary.

Would you try the command after a `guix pull --commit=1b6c5e8`, so you can
understand why I am working with this?

>> > By only upgrading to releases with substitutes available, fewer builds
> are required on the local system, which can still be occasionally brought
> up to date.  The user channel filters the official channel, to hide
> releases without substitutes built yet.
> >>
> >> I am not sure it works as you think.
> >
> > That is how the specialized channels.scm they were discussing in the
> bugs is supposed to work.  Following ludo's lead was how I managed to find
> this way to use the substitute for ungoogled-chromium.
> I am not sure to understand. Maybe you should read (again?) the manual
> about channels and derivations. It is one better source of information
> than any bug report where hypothetical had been discussed. The manual
> explains for sure how Guix works; bug reports not always, they are not
> a reliable source of information, IMHO.

Channels are usually used for selecting new sets of packages, but are also
flexible enough to provide for this filtering.  Try the command I mentioned
above to see the value.

> But yeah I'm not really sure where the package index is stored to
> directly connect it to guix pull's behavior and such.  It's guesswork for
> me for sure.
> AFAIU, the package index lives under ~/.config/guix/current. But it is
> not important, IMO.

Yeah somewhere in the profile holding the guix binary, as you say.

>> I am checking why Guix claims the substitute is not available for i686
> >> when it really is.
> >
> > If it's not because the ci server was overloaded, maybe it is that one
> of the inputs to the package has been updated, such that a new derivation
> than the one built is used now?
> No. I do not know if it comes from "-s i686-linux" because I running
> on a x86 system, or other.
> The point is: the derivation that my system computes is different of
> the derivation that I expect.
> --8<---------------cut here---------------start------------->8---
> guix build ungoogled-chromium -s i686-linux -n -d
> /gnu/store/45cfay69pp6prky2kw0r21nv5lp3xgs9-ungoogled-chromium-78.0.3904.108-0.8f06513.drv
> --8<---------------cut here---------------start------------->8---
> instead of
> /gnu/store/wcjr5n9ljvbw6ak3705pqs7y6n3fk934-ungoogled-chromium-78.0.3904.108-0.8f06513

Right.  I thought an output only changes if its inputs change, and the
derivations were outputs in this sense.  What version of guix computes that

reply via email to

[Prev in Thread] Current Thread [Next in Thread]