Subject: bug#47841: [release 1.2.1] could not install on foreign distro

From: Julien Lepiller <[email-masked]>
Date: Sat, 17 Apr 2021 15:29:27 +0200

Hi Guix!

I tried using the latest tarball to install guix, by modifying the
current script. To do that, I downloaded the latest installation script
from savannah and modified it a bit:

In guix_get_bin, I removed the tar.xz extension and the download of the
signature. I also commented out the verification with gpg.

In main, I commented out the call to guix_get_bin_list and replace the
call to guix_get_bin with

guix_get_bin "https://ci.guix.gnu.org/download/" "114" "$tmp_path"

(114 being obtained by looking at the latest build of the tarball:
https://ci.guix.gnu.org/jobset/tarball).

After these changes, I was able to run:

sudo -i $HOME/guix-install.sh

which initially asked me to get the key, then managed to download the
tarball, but failed like so:

https://www.gnu.org/software/guix/
Press return to continue...
Starting installation (Sat Apr 17 08:59:36 AM EDT 2021)
[ PASS ] verification of required commands completed
[ INFO ] init system is: systemd
[ WARN ] We recommend installing and/or starting your distribution
'nscd' service
[ WARN ] Please read 'info guix "Application Setup"' about "Name
Service Switch"
[ INFO ] system is x86_64-linux
[ INFO ] Downloading Guix release archive 114
100%[===================>]  85.11M  4.27MB/s in 19s  
[ PASS ] download completed.
[ PASS ] unpacked archive
[ INFO ] Installing /var/guix and /gnu...
[ INFO ] Linking the root user's profile
/home/roptat/guix-install.sh: line 317:
/root/.config/guix/current/etc/profile: No such file or directory

Indeed, the tarball only has the following in var/guix:

/var/guix/
/var/guix/db/
/var/guix/db/db.sqlite
/var/guix/gcroots/
/var/guix/gcroots/profiles
/var/guix/profiles/
/var/guix/profiles/per-user/
/var/guix/profiles/per-user/root/
/var/guix/profiles/per-user/root/guix-profile
/var/guix/profiles/per-user/root/guix-profile-1-link

whereas the release (1.2.0) tarball contains:

/var/guix/
/var/guix/db/
/var/guix/db/db.sqlite
/var/guix/gcroots/
/var/guix/gcroots/profiles
/var/guix/profiles/
/var/guix/profiles/per-user/
/var/guix/profiles/per-user/root/
/var/guix/profiles/per-user/root/current-guix
/var/guix/profiles/per-user/root/current-guix-1-link

Note guix-profile <> current-guix

The manual still suggests to create a symlink to
/var/guix/profiles/per-user/root/current-guix and source the profile
from it.