From mboxrd@z Thu Jan 1 00:00:00 1970 From: Nome Grey Subject: Re: bug#26608: channels.scm supporting substitutes Date: Thu, 5 Dec 2019 06:35:45 -0800 Message-ID: References: <874lxg77l4.fsf@dustycloud.org> Mime-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([2001:470:142:3::10]:46322) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1icsEe-0004F7-5M for help-guix@gnu.org; Thu, 05 Dec 2019 09:36:06 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1icsEb-0004w5-SC for help-guix@gnu.org; Thu, 05 Dec 2019 09:36:03 -0500 Received: from mail-vk1-xa2b.google.com ([2607:f8b0:4864:20::a2b]:42588) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1icsEb-0004sx-GM for help-guix@gnu.org; Thu, 05 Dec 2019 09:36:01 -0500 Received: by mail-vk1-xa2b.google.com with SMTP id u123so1163265vkb.9 for ; Thu, 05 Dec 2019 06:35:59 -0800 (PST) In-Reply-To: List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: help-guix-bounces+gcggh-help-guix=m.gmane.org@gnu.org Sender: "Help-Guix" To: zimoun Cc: help-guix On Thu, Dec 5, 2019, 3:45 AM zimoun wrote: > Hi, > > On Wed, 4 Dec 2019 at 22:50, Nome Grey 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 ci.guix.gnu.org, `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 =E2=86=92 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.dr= v > > /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=3D1b6c5e8` 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=3D1b6c5e8`, so you ca= n 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 fin= d > 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 output?