unofficial mirror of help-guix@gnu.org 
 help / color / mirror / Atom feed
* No 'guix pull' substitutes for foreign distros?
@ 2024-05-14 15:53 Nigko Yerden
  2024-05-19 19:38 ` André A. Gomes
  0 siblings, 1 reply; 5+ messages in thread
From: Nigko Yerden @ 2024-05-14 15:53 UTC (permalink / raw)
  To: help-guix

Hello Guix!

I have two systems: first (A) is a full Guix system and second (B) is a 
foreign distribution with Guix package manager installed onto. I have 
noticed when I'm performing 'guix pull' system B always build 'guix 
pull' derivations by itself while system A most often just download 
substitutes for them. The latter, of course, is much faster.

Here is how it looks on system B (commit 
014875b29e68da6357a5323e6dd1eaa74a05b753):

$ guix pull
Updating channel 'guix' from Git repository at 
'https://git.savannah.gnu.org/git/guix.git'...
Authenticating channel 'guix', commits 9edb3f6 to 08360a2 (781 new 
commits)...
Building from these channels:
   guix      https://git.savannah.gnu.org/git/guix.git	08360a2
substitute: updating substitutes from 
'https://mirrors.sjtug.sjtu.edu.cn/guix'... 100.0%
26,4 MB will be downloaded
....
The following derivations will be built:
   /gnu/store/q9b8yr9452im7mmah1cfk2dpy44y755v-profile.drv
   /gnu/store/87avc5s6q4xq1rdk26cnlviai7hfjzi0-inferior-script.scm.drv
   /gnu/store/saji8f542jbrmj6315lxrgmgjdgrzlx4-guix-08360a2cd.drv
   /gnu/store/3j2xd5l3q0s1jf9798fr4s3k3ky5fw07-guix-manual.drv
   /gnu/store/42bwpkmcv6jsdzhsxc0pwc13k1fgxh25-guix-08360a2cd-modules.drv
 
/gnu/store/2cl0dr63d900v6406hs10qgjsp7iaysi-guix-packages-base-modules.drv
   /gnu/store/j8av01zjcx9kimjm0yrdrkhmiba7wwmj-guix-packages-base.drv
   /gnu/store/a7w5hbq6kppl90838b3iwpgn4v93jv75-guix-extra.drv
   /gnu/store/gd8lqzj70wx5qgx39lnh3lh4g5slln5g-guix-core-source.drv
   /gnu/store/2f0z0x4nqpwgwmrk5qs7ka0p3y2a2gny-config.scm.drv
   /gnu/store/6r0k3wg5bcjnjdjlx8rvxr2q3izyhgvh-guix-system-tests-modules.drv
   /gnu/store/7pmrsz3mlnhiggm3pz99wiyrddahl9mb-guix-system-tests.drv
   /gnu/store/3jwjfb0rjxsvv4xy0m65db0nmbg56nx7-guix-cli.drv
   /gnu/store/87yna60fdd0gv70nb4svqvxq8br4cbm6-guix-cli-core.drv
   /gnu/store/b28ayyn4jqfz5dbgcshh5gmayzms65wj-guix-system.drv
   /gnu/store/x5x97w98q16myzx3rfik1gs06n1vbccr-guix-packages.drv
   /gnu/store/sxhm9vii5lwig55vjpc4jz639r9ygdyx-guix-home.drv
   /gnu/store/7i2z4b2imjxc0qd5kgis9c045ybq0wwy-guix-system-modules.drv
   /gnu/store/f3qxxs77klhk0q8bvsxdly1xr147wb9s-guix-cli-modules.drv
   /gnu/store/fl6m42fdnykhd5drv42s1zn5x18vbiy9-guix-extra-modules.drv
   /gnu/store/h7ynn7s9p8ywd5s2s4g43l6rgkqdidqd-guix-home-modules.drv
   /gnu/store/i0qnblii1as7yk2pz3vvvfd9mh28fdzv-guix-config-modules.drv
   /gnu/store/m02vi15w4chc27kgrf2x55riacsl20gc-guix-config-source.drv
   /gnu/store/6z80pzmm18nmbmblk9mh2vjl1hvdzm02-config.scm.drv
   /gnu/store/jilxlihmy07h9xhr1pbxw5i01b4l1js1-guix-cli-core-modules.drv
   /gnu/store/ng76j3d6m66w7jfk0gds9204zp4l727p-guix-packages-modules.drv
   /gnu/store/znffqlp69qjbvzpnjvvfmpc4fq6q9b8w-guix-core-modules.drv
   /gnu/store/qxaqgq36bg5mi210yflrg31hz3nxjfb3-guix-command.drv
   /gnu/store/as05nvh2dq4s0pb0lxkmcyf407c7wjcm-guix-module-union.drv
   /gnu/store/qxsz62r8giy0hf8qqzzv8f35g6470kcj-guix-daemon.drv
   /gnu/store/za0rf8ypn7v1a9a7cc7fmnnh7pig5580-guix-misc.drv
   /gnu/store/pf1h4mhpp6qhvixzr4172v81wqy1wj1x-inferior-script.scm.drv
   /gnu/store/3aci63l4yq7i9jh4v55f0lyk3hji8z1w-inferior-script.scm.drv
   /gnu/store/3kjkjx8fayv97p48rgdmi51mlwx6lb7c-profile.drv

3,0 MB will be downloaded
  module-import-compiled  128KiB        57KiB/s 00:02 
▕██████████████████▏ 100.0%
  guix-config  4KiB                    647KiB/s 00:00 
▕██████████████████▏ 100.0%
  guix-core  1.8MiB                    418KiB/s 00:04 
▕██████████████████▏ 100.0%
  guix-translated-texinfo  1.7MiB      971KiB/s 00:02 
▕██████████████████▏ 100.0%
  module-import-compiled  8KiB          13KiB/s 00:01 
▕██████████████████▏ 100.0%
  module-import-compiled  47KiB         88KiB/s 00:01 
▕██████████████████▏ 100.0%
  module-import-compiled  66KiB         20KiB/s 00:03 
▕██████████████████▏ 100.0%
  module-import-compiled  97KiB          6KiB/s 00:17 
▕██████████████████▏ 100.0%
  module-import-compiled  54KiB          8KiB/s 00:07 
▕██████████████████▏ 100.0%
building /gnu/store/2f0z0x4nqpwgwmrk5qs7ka0p3y2a2gny-config.scm.drv...
building /gnu/store/6z80pzmm18nmbmblk9mh2vjl1hvdzm02-config.scm.drv...
applying 9 grafts for gd-2.3.2 ...
applying 5 grafts for gts-0.7.6 ...
building 
/gnu/store/m02vi15w4chc27kgrf2x55riacsl20gc-guix-config-source.drv...
applying 19 grafts for graphviz-minimal-7.0.1 ...
building 
/gnu/store/i0qnblii1as7yk2pz3vvvfd9mh28fdzv-guix-config-modules.drv...
building /gnu/store/gd8lqzj70wx5qgx39lnh3lh4g5slln5g-guix-core-source.drv...
building /gnu/store/za0rf8ypn7v1a9a7cc7fmnnh7pig5580-guix-misc.drv...
building 
/gnu/store/znffqlp69qjbvzpnjvvfmpc4fq6q9b8w-guix-core-modules.drv...
building /gnu/store/a7w5hbq6kppl90838b3iwpgn4v93jv75-guix-extra.drv...
building 
/gnu/store/87avc5s6q4xq1rdk26cnlviai7hfjzi0-inferior-script.scm.drv...
building 
/gnu/store/fl6m42fdnykhd5drv42s1zn5x18vbiy9-guix-extra-modules.drv...
building 
/gnu/store/j8av01zjcx9kimjm0yrdrkhmiba7wwmj-guix-packages-base.drv...
building 
/gnu/store/pf1h4mhpp6qhvixzr4172v81wqy1wj1x-inferior-script.scm.drv...
building /gnu/store/87yna60fdd0gv70nb4svqvxq8br4cbm6-guix-cli-core.drv...
building 
/gnu/store/2cl0dr63d900v6406hs10qgjsp7iaysi-guix-packages-base-modules.drv...
building 
/gnu/store/jilxlihmy07h9xhr1pbxw5i01b4l1js1-guix-cli-core-modules.drv...
building /gnu/store/x5x97w98q16myzx3rfik1gs06n1vbccr-guix-packages.drv...
applying 3 grafts for libfontenc-1.1.4 ...
building 
/gnu/store/ng76j3d6m66w7jfk0gds9204zp4l727p-guix-packages-modules.drv...
building /gnu/store/b28ayyn4jqfz5dbgcshh5gmayzms65wj-guix-system.drv...
applying 8 grafts for mkfontscale-1.2.2 ...
building /gnu/store/sxhm9vii5lwig55vjpc4jz639r9ygdyx-guix-home.drv...
building 
/gnu/store/7i2z4b2imjxc0qd5kgis9c045ybq0wwy-guix-system-modules.drv...
building /gnu/store/3jwjfb0rjxsvv4xy0m65db0nmbg56nx7-guix-cli.drv...
building 
/gnu/store/h7ynn7s9p8ywd5s2s4g43l6rgkqdidqd-guix-home-modules.drv...
building /gnu/store/f3qxxs77klhk0q8bvsxdly1xr147wb9s-guix-cli-modules.drv...
building 
/gnu/store/7pmrsz3mlnhiggm3pz99wiyrddahl9mb-guix-system-tests.drv...
applying 2 grafts for mkfontdir-1.0.7 ...
building 
/gnu/store/6r0k3wg5bcjnjdjlx8rvxr2q3izyhgvh-guix-system-tests-modules.drv...
applying 6 grafts for texinfo-6.8 ...
building 
/gnu/store/42bwpkmcv6jsdzhsxc0pwc13k1fgxh25-guix-08360a2cd-modules.drv...
building /gnu/store/3j2xd5l3q0s1jf9798fr4s3k3ky5fw07-guix-manual.drv...
building 
/gnu/store/as05nvh2dq4s0pb0lxkmcyf407c7wjcm-guix-module-union.drv...
building /gnu/store/qxaqgq36bg5mi210yflrg31hz3nxjfb3-guix-command.drv...
building /gnu/store/qxsz62r8giy0hf8qqzzv8f35g6470kcj-guix-daemon.drv...
building /gnu/store/saji8f542jbrmj6315lxrgmgjdgrzlx4-guix-08360a2cd.drv...
building CA certificate bundle...
listing Emacs sub-directories...
building fonts directory...
building directory of Info manuals...
...


And there how it looks on system A (the same commit 
014875b29e68da6357a5323e6dd1eaa74a05b753):
Updating channel 'guix' from Git repository at 
'https://git.savannah.gnu.org/git/guix.git'...
Authenticating channel 'guix', commits 9edb3f6 to 08360a2 (781 new 
commits)...
Building from these channels:
   guix      https://git.savannah.gnu.org/git/guix.git	08360a2
26,4 MB will be downloaded
...
substitute: updating substitutes from 
'https://mirrors.sjtug.sjtu.edu.cn/guix'... 100.0%
...
The following derivations will be built:
   /gnu/store/pfs471chzsnwyl3zdkz3wkzl5gpsqchm-profile.drv
   /gnu/store/87avc5s6q4xq1rdk26cnlviai7hfjzi0-inferior-script.scm.drv
 
/gnu/store/1mwhp5crimgvqd4jmlfsj3017yk8vxsv-guix-packages-base-modules.drv
   /gnu/store/4bay72mqflnhx3382gy5lmcjiv0k673s-guix-system-tests-modules.drv
   /gnu/store/5dsx6hxbrsy8iljmz6sjn08f1c9q5zi9-guix-system-modules.drv
   /gnu/store/j33qgaybzml6fbfldw5nljgq4haxd34f-guix-cli-core-modules.drv
   /gnu/store/rzwb58zr3mnz5pff4v0581nr8bhh4bj5-guix-cli-modules.drv
   /gnu/store/yhv9fr3rzlnk8dmgiwz73rjz6xalip94-guix-extra-modules.drv
   /gnu/store/hmcds0yp3bxl8y8gaf6a42jfipvqgsii-guix-daemon.drv
   /gnu/store/x91k63vwwj6mahn804hjg5n9xzsjj4sn-guix-command.drv
   /gnu/store/pf1h4mhpp6qhvixzr4172v81wqy1wj1x-inferior-script.scm.drv
   /gnu/store/2x3s1sx169y9lk9wdnz8p21c88jr8jkd-profile.drv
   /gnu/store/mkq51lalsi9vy94afskmi92854sx1cxm-inferior-script.scm.drv

70,0 MB will be downloaded
substitute: updating substitutes from 
'https://mirrors.sjtug.sjtu.edu.cn/guix'... 100.0%
...
  module-import-compiled  128KiB      43.7MiB/s 00:00 
▕██████████████████▏ 100.0%
  guix-cli  315KiB                      27KiB/s 00:12 
▕██████████████████▏ 100.0%
  guix-cli-core  922KiB                 21KiB/s 00:44 
▕██████████████████▏ 100.0%
  guix-cli-modules  260B                56KiB/s 00:00 
▕██████████████████▏ 100.0%
  guix-cli-core-modules  261B           46KiB/s 00:00 
▕██████████████████▏ 100.0%
  guix-extra  2.8MiB                    10KiB/s 04:45 
▕██████████████████▏ 100.0%
  guix-manual  5.2MiB                   13KiB/s 06:58 
▕██████████████████▏ 100.0%
  guix-extra-modules  260B              61KiB/s 00:00 
▕██████████████████▏ 100.0%
  module-import-compiled  66KiB         34KiB/s 00:02 
▕██████████████████▏ 100.0%
  guix-packages-base  17.4MiB          777KiB/s 00:23 
▕██████████████████▏ 100.0%
  guix-system  7.9MiB                  702KiB/s 00:12 
▕██████████████████▏ 100.0%
  guix-packages-base-modules  268B     140KiB/s 00:00 
▕██████████████████▏ 100.0%
  guix-system-modules  261B            101KiB/s 00:00 
▕██████████████████▏ 100.0%
  guix-system-tests  921KiB            368KiB/s 00:03 
▕██████████████████▏ 100.0%
  module-import-compiled  54KiB         69KiB/s 00:01 
▕██████████████████▏ 100.0%
  guix-system-tests-modules  263B       57KiB/s 00:00 
▕██████████████████▏ 100.0%
building 
/gnu/store/87avc5s6q4xq1rdk26cnlviai7hfjzi0-inferior-script.scm.drv...
applying 8 grafts for mkfontscale-1.2.2 ...
  guix-08360a2cd-modules  31.2MiB      1.9MiB/s 00:17 
▕██████████████████▏ 100.0%
building 
/gnu/store/pf1h4mhpp6qhvixzr4172v81wqy1wj1x-inferior-script.scm.drv...
  guix-module-union  2KiB              149KiB/s 00:00 
▕██████████████████▏ 100.0%
applying 2 grafts for mkfontdir-1.0.7 ...
  guix-command  653B                   436KiB/s 00:00 
▕██████████████████▏ 100.0%
applying 6 grafts for texinfo-6.8 ...
  guix-daemon  402B                    105KiB/s 00:00 
▕██████████████████▏ 100.0%
  guix-08360a2cd  800B                  94KiB/s 00:00 
▕██████████████████▏ 100.0%
building CA certificate bundle...
listing Emacs sub-directories...
building fonts directory...
building directory of Info manuals...
...


Shouldn't 'guix pull' substitutes also work on foreign distros?
If they should, why don't sytem B get them?

Regards,
Nigko


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: No 'guix pull' substitutes for foreign distros?
  2024-05-14 15:53 No 'guix pull' substitutes for foreign distros? Nigko Yerden
@ 2024-05-19 19:38 ` André A. Gomes
  2024-05-19 20:17   ` Andreas Enge
  0 siblings, 1 reply; 5+ messages in thread
From: André A. Gomes @ 2024-05-19 19:38 UTC (permalink / raw)
  To: Nigko Yerden; +Cc: help-guix

Nigko Yerden <nigko.yerden@gmail.com> writes:

> Hello Guix!
> Shouldn't 'guix pull' substitutes also work on foreign distros?

I'd like to re-iterate the question.  I have been using the Guix system
for years but lately I'm also using it as a package manager.  It is
rather off-putting that guix pull will take more than 20 minutes in this
setting.  Newcomers will probably start by using it a package manager
and only then commit to the system.  

Thanks.


-- 
André A. Gomes
"You cannot even find the ruins..."


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: No 'guix pull' substitutes for foreign distros?
  2024-05-19 19:38 ` André A. Gomes
@ 2024-05-19 20:17   ` Andreas Enge
  2024-05-19 23:42     ` pelzflorian (Florian Pelz)
  0 siblings, 1 reply; 5+ messages in thread
From: Andreas Enge @ 2024-05-19 20:17 UTC (permalink / raw)
  To: André A. Gomes; +Cc: Nigko Yerden, help-guix

Am Sun, May 19, 2024 at 10:38:28PM +0300 schrieb André A. Gomes:
> Nigko Yerden <nigko.yerden@gmail.com> writes:
> > Hello Guix!
> > Shouldn't 'guix pull' substitutes also work on foreign distros?
> I'd like to re-iterate the question.  I have been using the Guix system
> for years but lately I'm also using it as a package manager.  It is
> rather off-putting that guix pull will take more than 20 minutes in this
> setting.  Newcomers will probably start by using it a package manager
> and only then commit to the system.  

I have no answer, but can confirm the problem and state that it is not
related to using Guix as a package manager or as a full system. In both
cases "guix pull" should do the same thing.

However, I am also surprised by the following behaviour: I have three users
on my Guix system, and always do three "guix pull --commit=..." on the same
commit for all of them. It happens that the second or third user compiles
derivations that I would expect to be in the store already. I do not know
what the differences are. Someone suggested to me it could be related to
channels. Apparently, using a different set of channels leads to different
derivations. But last week it has also happened for my two users with only
the main channel.

Andreas



^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: No 'guix pull' substitutes for foreign distros?
  2024-05-19 20:17   ` Andreas Enge
@ 2024-05-19 23:42     ` pelzflorian (Florian Pelz)
  2024-05-21  9:14       ` André A. Gomes
  0 siblings, 1 reply; 5+ messages in thread
From: pelzflorian (Florian Pelz) @ 2024-05-19 23:42 UTC (permalink / raw)
  To: Andreas Enge
  Cc: Vagrant Cascadian, André A. Gomes, Nigko Yerden, help-guix

Hello all, the missing substitutes in Debian can be worked around; Nigko
and I discussed in bug#70954 by editing
/etc/systemd/services/multi-user.target.wants/guix-daemon.service this way:

Nigko Yerden <nigko.yerden@gmail.com> writes:
<https://lists.gnu.org/archive/html/bug-guix/2024-05/msg00147.html>:
> Hello Florian,
>
> These are great news! Thanks a lot for investigating this!
>
> Indeed, foreign distros still run guix-daemon from Guix v1.4,
> which is very old now. It makes sense that old guix-daemon + recent
> remaining parts of Guix might have produced modified derivations.
>
> For foreign distros using systemd, the following workaround may be
> useful to replace old guix-daemon by guix-daemon from USER profile:
>
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~guix-daemon.service
> ...
> [Service]
> ExecStart=/home/USER/.config/guix/current/bin/guix-daemon \
>     --build-users-group=_guixbuild --discover=no \
>     --substitute-urls='.....'
>
> Environment='GUIX_LOCPATH=/home/USER/.guix-profile/lib/locale'
> ...
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>
> Regards,
> Nigko

Theoretically, the problem could be resolved in the Debian package by
including as a patch the Guix commit

commit 95f21231352b66f92c466cb30f2258291e854f2f
Author: Ludovic Courtès <ludo@gnu.org>
Date:   Mon Sep 11 14:22:44 2023 +0200

    daemon: Add “git-download” built-in builder.
    
    The new builder makes it possible to break cycles that occurs when the
    fixed-output derivation for the source of a dependency of ‘git’ would
    itself depend on ‘git’.


(should be the right commit, I think), but Debian policy is to only
deliver important bug fixes in their stable distribution.  Is this an
important bug fix?  Pull works but is just slow without.  My intuition
is we better wait for a Guix 1.5.0 release.  Cc to Vagrant who maintains
the Debian package.

Similarly for other foreign distros’ packages.

Regards,
Florian


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: No 'guix pull' substitutes for foreign distros?
  2024-05-19 23:42     ` pelzflorian (Florian Pelz)
@ 2024-05-21  9:14       ` André A. Gomes
  0 siblings, 0 replies; 5+ messages in thread
From: André A. Gomes @ 2024-05-21  9:14 UTC (permalink / raw)
  To: pelzflorian (Florian Pelz)
  Cc: Andreas Enge, Vagrant Cascadian, Nigko Yerden, help-guix

"pelzflorian (Florian Pelz)" <pelzflorian@pelzflorian.de> writes:

> Hello all, the missing substitutes in Debian can be worked around; Nigko
> and I discussed in bug#70954 by editing
> /etc/systemd/services/multi-user.target.wants/guix-daemon.service this way:

Thanks Florian, it does fix it!

I understand the arguments behind waiting for 1.5 and the conservative
nature of Debian distributions.  But I wonder why would anyone want to
run a daemon that is not the one being fetched from guix pull.  Clearly,
the exception would be on the first run (guix installation as a foreign
distro), where a tagged guix-daemon must be used.  That's my naive take,
but I may be missing some important details.


-- 
André A. Gomes
"You cannot even find the ruins..."


^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2024-05-21  9:15 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-05-14 15:53 No 'guix pull' substitutes for foreign distros? Nigko Yerden
2024-05-19 19:38 ` André A. Gomes
2024-05-19 20:17   ` Andreas Enge
2024-05-19 23:42     ` pelzflorian (Florian Pelz)
2024-05-21  9:14       ` André A. Gomes

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).