[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: How to enable server discovery in foreign distro?
From: |
Rodrigo Morales |
Subject: |
Re: How to enable server discovery in foreign distro? |
Date: |
Sat, 20 May 2023 04:13:26 +0000 |
> The system where I was installing the foreign distro showed a big list
> of packages to build. However, after I run the following command, that
> list was greatly reduced
Ooops, it seems that I didn't include the command in my previous
message. This is the command I was referring to
,----
| guix archive --authorize < key.pub
`----
On Fri, 19 May 2023 at 20:55, Rodrigo Morales
<moralesrodrigo1100@gmail.com> wrote:
>
> With regards to the pending question which I mentioned in my previous
> message, I think I have found the answer.
>
> The system where I was installing the foreign distro showed a big list
> of packages to build. However, after I run the following command, that
> list was greatly reduced, so I suppose that the following command allows
> retrieving built derivations from other systems which makes it
> unnecessary to build those derivations again.
>
> ,----
> | guix archive --authorize < key.pub
> `----
>
> On Fri, 19 May 2023 at 20:18, Rodrigo Morales
> <moralesrodrigo1100@gmail.com> wrote:
> >
> > Table of Contents
> > _________________
> >
> > 1. The solution
> > 2. Pending question
> >
> >
> > 1 The solution
> > ==============
> >
> > I managed to do it. I'll share some relevant information for those
> > interested.
> >
> > [This section] in the Info manual helped me do what I was looking
> > for. As specified in that part of the manual, I need to edit
> > guix-daemon.service. In my system, there were 4 files with that name
> > (see code block below)
> >
> > ,----
> > | rdrg@desktop:~$ locate -r 'guix-daemon.service$'
> > | /etc/systemd/system/multi-user.target.wants/guix-daemon.service
> > | /run/systemd/units/invocation:guix-daemon.service
> > | /usr/lib/systemd/system/guix-daemon.service
> > |
> > /var/lib/systemd/deb-systemd-helper-enabled/multi-user.target.wants/guix-daemon.service
> > `----
> >
> > The file `/run/systemd/units/invocation:guix-daemon.service' was a
> > broken symbolic link (see code block below), so I knew that I
> > shouldn't edit this file.
> >
> > ,----
> > | rdrg@desktop:~$ file /run/systemd/units/invocation:guix-daemon.service
> > | /run/systemd/units/invocation:guix-daemon.service: broken symbolic
> > link to 8dbd9f7458e74f979a2b8d214ed47d42
> > `----
> >
> > The file
> >
> > `/var/lib/systemd/deb-systemd-helper-enabled/multi-user.target.wants/guix-daemon.service'
> > wsa empty (see code block below), so I knew that I shouldn't edit this
> > file.
> >
> > ,----
> > | rdrg@desktop:~$ file
> > /var/lib/systemd/deb-systemd-helper-enabled/multi-user.target.wants/guix-daemon.service
> > |
> > /var/lib/systemd/deb-systemd-helper-enabled/multi-user.target.wants/guix-daemon.service:
> > empty
> > `----
> >
> > The file
> > `/etc/systemd/system/multi-user.target.wants/guix-daemon.service' was
> > a symbolic link to `/usr/lib/systemd/system/guix-daemon.service' and,
> > for that reason, I ended up editing
> > `/usr/lib/systemd/system/guix-daemon.service'. I edited the line
> > containing `ExecStart' and added the IP address of my system from
> > which I wanted to retrieve the packages.
> >
> > ,----
> > | rdrg@desktop:~$ cat /usr/lib/systemd/system/guix-daemon.service
> > | # This is a "service unit file" for the systemd init system to launch
> > | # 'guix-daemon'. Drop it in /etc/systemd/system or similar to have
> > | # 'guix-daemon' automatically started.
> > |
> > | [Unit]
> > | Description=Build daemon for GNU Guix
> > |
> > | [Service]
> > | ExecStart=/usr/bin/guix-daemon --build-users-group=_guixbuild
> > --substitute-urls='http://192.168.1.39:8080 https://ci.guix.gnu.org
> > https://bordeaux.guix.gnu.org'
> > | Environment=LC_ALL=C.UTF-8
> > | StandardOutput=syslog
> > | StandardError=syslog
> > |
> > | # Work around a nasty systemd ‘feature’ that kills the entire process
> > tree
> > | # (including the daemon!) if any child, such as cc1plus, runs out of
> > memory.
> > | OOMPolicy=continue
> > |
> > | # Despite the name, this is rate-limited: a broken daemon will
> > eventually fail.
> > | Restart=always
> > |
> > | # See
> > <https://lists.gnu.org/archive/html/guix-devel/2016-04/msg00608.html>.
> > | # Some package builds (for example, go@1.8.1) may require even more than
> > | # 1024 tasks.
> > | TasksMax=8192
> > |
> > | [Install]
> > | WantedBy=multi-user.target
> > `----
> >
> > Finally, I executed the following two commands.
> >
> > ,----
> > | systemctl daemon-reload
> > | systemctl restart guix-daemon.service
> > `----
> >
> > When I executed `guix home', the packages were retrieved from my other
> > system (see line below `substitute: updating substitutes from
> > 'http://192.168.1.39:8080'... 100.0%').
> >
> > ,----
> > | rdrg@desktop:~$ guix home -L ~/guix-packages reconfigure
> > ~/guix-config/home-configuration.scm
> > | hint: Consider installing the `glibc-locales' package and defining
> > `GUIX_LOCPATH', along these lines:
> > |
> > | guix install glibc-locales
> > | export GUIX_LOCPATH="$HOME/.guix-profile/lib/locale"
> > |
> > | See the "Application Setup" section in the manual, for more info.
> > |
> > | guix home: warning: cannot determine provenance for current system
> > | substitute: updating substitutes from 'http://192.168.1.39:8080'...
> > 100.0%
> > | substitute: updating substitutes from 'https://ci.guix.gnu.org'...
> > 100.0%
> > | substitute: updating substitutes from
> > 'https://bordeaux.guix.gnu.org'... 100.0%
> > | The following derivations will be built:
> > | /gnu/store/kdlm30fl3cv6r0ww2njm0d7w8cipjpyj-home.drv
> > | /gnu/store/76835anafmiz8ngx2aqwynps72m0wmgd-setup-environment.drv
> > | (... some omitted lines ...)
> > `----
> >
> >
> > [This section]
> > <https://guix.gnu.org/manual/en/html_node/Getting-Substitutes-from-Other-Servers.html>
> >
> >
> > 2 Pending question
> > ==================
> >
> > I was able to download packages from my other system without having
> > to perform the following step which is mentioned in [the
> > aforementioned part of the manual].
> >
> > ,----
> > | guix archive --authorize < key.pub
> > `----
> >
> > I wonder whether this command is relevant in this context or not. Any
> > information is appreciated.
> >
> >
> > [the aforementioned part of the manual]
> > <https://guix.gnu.org/manual/en/html_node/Getting-Substitutes-from-Other-Servers.html>