'tarball' jobs on ci.guix.gnu.org install the wrong profile

  • Done
  • quality assurance status badge
Details
4 participants
  • Julien Lepiller
  • Leo Famulari
  • Mathieu Othacehe
  • Vincent Legoll
Owner
unassigned
Submitted by
Julien Lepiller
Severity
normal
J
J
Julien Lepiller wrote on 17 Apr 2021 15:29
[release 1.2.1] could not install on foreign distro
(address . bug-guix@gnu.org)
20210417152927.3a98fe21@tachikoma.lepiller.eu
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:

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:

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.
L
L
Leo Famulari wrote on 17 Apr 2021 19:42
(no subject)
(address . control@debbugs.gnu.org)
YHseD/BX24lkFdIu@jasmine.lan
block 47297 with 47841
L
L
Leo Famulari wrote on 17 Apr 2021 20:57
(name . GNU bug tracker automated control server)(address . control@debbugs.gnu.org)
YHsvs/5MeWYjoJAn@jasmine.lan
retitle 47841 'tarball' jobs on ci.guix.gnu.org install the wrong profile
L
L
Leo Famulari wrote on 17 Apr 2021 20:59
Re: bug#47841: 'tarball' jobs on ci.guix.gnu.org install the wrong profile
(name . Julien Lepiller)(address . julien@lepiller.eu)(address . 47841@debbugs.gnu.org)
YHswCyBKu70FLCYL@jasmine.lan
On Sat, Apr 17, 2021 at 03:29:27PM +0200, Julien Lepiller wrote:
Toggle quote (2 lines)
> (114 being obtained by looking at the latest build of the tarball:
> https://ci.guix.gnu.org/jobset/tarball).
[...]
Toggle quote (2 lines)
> /root/.config/guix/current/etc/profile: No such file or directory

I built the tarball as it's done by `make release` [0]:

`./pre-inst-env guix pack -C xz --fallback -s x86_64-linux --localstatedir --profile-name=current-guix guix`

And, this tarball seems right:

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

So, I guess that the CI job for these tarballs needs to be adjusted.

I'm going to test installing with this tarball in a Debian ISO now.

-----BEGIN PGP SIGNATURE-----

iQIzBAABCAAdFiEEsFFZSPHn08G5gDigJkb6MLrKfwgFAmB7MAgACgkQJkb6MLrK
fwgDdQ//RAAOrs0SIqGvoTIUgZLUkmCCeOGcz98tlkI+I9lZGI/oyogxlXElyxYo
aQfdg2PCps5QYubK46+W/gqSRhOzA4C/TQsM2bVu7R5fjtudcBGQfOiuhqHDLEM3
e62rEaq6cLm1H2yeF6tzcgEscrRTs7iKvmGKNfN4i+YWPrFrnej9DzvepW/THfR8
J/1O36dqd/PMp8AB049FdKupyHzda0sFFb2AcoXsbKLFUzCs6le8uMjRttUhP9tc
5vB17L5IGnWhAfG+y9JBmC9TI3M5jYiIaBuvYOMMHmdiW/5qqCcGixbLotEureKH
Rklynf77RvL/oNk3PiOOTewk+FcwJMaUjX1ZqGkJJQwIAA5CR5MY5LZ1Qc4uQnfk
eP+eo2l8c297+YySkaz1/9IlYj9/tG5EjNcDI8Ot4BZIGSfT3DYA07r7G/Ra1nCj
Eb6Q4oj7zMLxsZeHmOxJh7TO4VHnRssq/JLJv+h+LE3416v4pKPjUHXzbUfKo2Of
PzgV297a/QkzGgZ7DCCmXhywzV91OQFLcvO662A8O6Y3uetBUDSfdFqqzeb9UTtD
+VCo89oCOy5c8lNuDMmYlYKdSr7ck40GPIdl5XzoYQrqNE/5anCE9CdYDXhJ0cce
wulAJ0BHojkomFDzVIeQx26vFFvyFwcaGYZZwCQc47uV+hyckrk=
=8FBw
-----END PGP SIGNATURE-----


L
L
Leo Famulari wrote on 17 Apr 2021 21:22
Re: bug#47841: [release 1.2.1] could not install on foreign distro
(name . Julien Lepiller)(address . julien@lepiller.eu)(address . 47841@debbugs.gnu.org)
YHs1fRU2n5btE7V2@jasmine.lan
On Sat, Apr 17, 2021 at 03:29:27PM +0200, Julien Lepiller wrote:
Toggle quote (15 lines)
> 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).

Can you share your diff? I tried to alter guix-install.sh to download
the tarball I built from my server, but it's easier said than done.
L
L
Leo Famulari wrote on 17 Apr 2021 22:17
Re: bug#47841: 'tarball' jobs on ci.guix.gnu.org install the wrong profile
(name . Julien Lepiller)(address . julien@lepiller.eu)
YHtCa3o1ajSKDDcM@jasmine.lan
On Sat, Apr 17, 2021 at 02:59:23PM -0400, Leo Famulari wrote:
Toggle quote (2 lines)
> I'm going to test installing with this tarball in a Debian ISO now.

I installed "by hand" using this tarball, and it worked fine.

Since this bug is really about a broken CI job, and not the release
artifacts, I'm removing it from the list of release blockers.
-----BEGIN PGP SIGNATURE-----

iQIzBAABCAAdFiEEsFFZSPHn08G5gDigJkb6MLrKfwgFAmB7QmsACgkQJkb6MLrK
fwhImBAA50aBQ5s/4UdQkzOrDgKwaaw6/Zgf58R8W05eGHA3noT2kxaIhV/waFY8
zvS4jkPw5/7OtsJMgsSE9kyO7Xg7cIuhJApovPSRN84n8HQxjNbh0zOXpH0ztPD2
H9fUWlwqbO3Fu3Uk1bIv/O6/Lc+EfAoCCVwTxDvE+ZO31bHn690NzmoezohYP1Kr
MbQMB4eS8HcQBUwLjtZPFOs7eqCBx7M///P5SER3t8N/5Jez+28Ze4Gb+GheSAfr
vivpdNyAIVfiYbFtGvFathIw8uge/S8scUzDQNtDvs4OH8jll/wvSfw8xxFv271H
6GtWczbNvbX+UQQfsxQzO5IqKHr9Z8XcVp3pxeNXfJvp6/DzxI2+065O/arVOGOE
0lq0hJLo38uldGsJcyc9QC3v1qlcPM8hd7cfUitaP22CjeXd9d9kGoitIxFJwwSO
Uu2bWsSSeX/NUdrovrH/wH+6KhG5sb0kGaPY6e5rZk45bqFSDOYSw9wLVBgtYgEs
8DF5RCcEw/GYwfSssljv568UTKbm8M+88Poh5lbytqFgOEdW+2VN9AjpQyFbMkFI
jegirZQaYv0uw/fM+6c5h48R9iGQ1cJRNQehKU53a6ouaxnDvUoVWMZkBy2yiYMa
Ss08V0NIVPxBQ7vb73Uzfdap8pzzEmTF5lmDeaqEfryTaeA+lFY=
=f6Ms
-----END PGP SIGNATURE-----


L
L
Leo Famulari wrote on 17 Apr 2021 22:18
(no subject)
(address . control@debbugs.gnu.org)
YHtCguEVebJsu9bc@jasmine.lan
unblock 47297 with 47841
L
L
Leo Famulari wrote on 17 Apr 2021 23:54
Re: bug#47841: [release 1.2.1] could not install on foreign distro
(name . Julien Lepiller)(address . julien@lepiller.eu)(address . 47841@debbugs.gnu.org)
YHtY+VkTPoY8uiRe@jasmine.lan
On Sat, Apr 17, 2021 at 03:22:37PM -0400, Leo Famulari wrote:
Toggle quote (3 lines)
> Can you share your diff? I tried to alter guix-install.sh to download
> the tarball I built from my server, but it's easier said than done.

Julien shared a diff on #guix, and I adapted it a bit, as attached.

I named the binary tarball that I built 'guix-binary-0.tar.xz', so if
you choose another name, adjust guix-install.sh appropriately.

And of course, change the URL used in the invocation of guix_get_bin().
The example.com URL will not work.
--- guix-install.sh.bak 2021-04-17 16:54:16.653305552 -0400
+++ guix-install.sh 2021-04-17 17:53:30.704684525 -0400
@@ -267,7 +267,7 @@
wget --help | grep -q '\--show-progress' && \
_PROGRESS_OPT="-q --show-progress" || _PROGRESS_OPT=""
- wget $_PROGRESS_OPT -P "$dl_path" "${url}/${bin_ver}.tar.xz" "${url}/${bin_ver}.tar.xz.sig"
+ wget $_PROGRESS_OPT -P "$dl_path" "${url}/${bin_ver}.tar.xz"
if [[ "$?" -eq 0 ]]; then
_msg "${PAS}download completed."
@@ -276,15 +276,15 @@
exit 1
fi
- pushd "${dl_path}" >/dev/null
- gpg --verify "${bin_ver}.tar.xz.sig" >/dev/null 2>&1
- if [[ "$?" -eq 0 ]]; then
- _msg "${PAS}Signature is valid."
- popd >/dev/null
- else
- _err "${ERR}could not verify the signature."
- exit 1
- fi
+# pushd "${dl_path}" >/dev/null
+# gpg --verify "${bin_ver}.tar.xz.sig" >/dev/null 2>&1
+# if [[ "$?" -eq 0 ]]; then
+# _msg "${PAS}Signature is valid."
+# popd >/dev/null
+# else
+# _err "${ERR}could not verify the signature."
+# exit 1
+# fi
}
sys_create_store()
@@ -296,7 +296,7 @@
cd "$tmp_path"
tar --extract \
- --file "$pkg" &&
+ --file "guix-binary-0.tar.xz" &&
_msg "${PAS}unpacked archive"
if [[ -e "/var/guix" || -e "/gnu" ]]; then
@@ -544,7 +544,7 @@
chk_term
chk_require "${REQUIRE[@]}"
- chk_gpg_keyring
+# chk_gpg_keyring
chk_init_sys
chk_sys_arch
chk_sys_nscd
@@ -554,8 +554,9 @@
umask 0022
tmp_path="$(mktemp -t -d guix.XXX)"
- guix_get_bin_list "${GNU_URL}"
- guix_get_bin "${GNU_URL}" "${BIN_VER}" "$tmp_path"
+# guix_get_bin_list "${GNU_URL}"
+# guix_get_bin "${GNU_URL}" "${BIN_VER}" "$tmp_path"
+ guix_get_bin "https://example.com" "guix-binary-0" "$tmp_path"
sys_create_store "${BIN_VER}.tar.xz" "${tmp_path}"
sys_create_build_user
-----BEGIN PGP SIGNATURE-----

iQIzBAABCAAdFiEEsFFZSPHn08G5gDigJkb6MLrKfwgFAmB7WPYACgkQJkb6MLrK
fwiPiA//c2MSge0m1uaXIsk8Kq3oJi9BTFX9W7ca4/nAncTJmeedMpOcPQ3e9w5a
PDxee/VG1DOZdDPFqlFVRBPfXDKNj9adT2ZsteHwF5C/xHQbm0HXGcf3sgiJWGoQ
rQGrmhjKsqkqkwOCfs7n7G4hQlOJzlgngXeNeuETbsqsSW4MgYZ6O5QIb+lApx2v
c0bUhLLujA6+gKMRXuez7eR8/gbIkbbFLbJVaNAvC5t+qtemvg5kq1fbGwfani1a
yWnLsi97t+VL4VpU0unagNLE9dnHvOCoYulZ2FAUaJQQ39oy1E+XrQGcoIXv3OAT
H3lPuRbe/bmeftPH/qasv0tXIiulzsDDeVjwxeiMbWM6kxn5KbLfsmQ0wkKxtb0h
+ywDOij2uKsh7rWWKO7vr9yAoc1ZDaA932VIUwLIjDXvWFylQfTaGnb4zd7zA+yV
+NbPM4JrVkcIVmS+fofqj0PlMSyfJH+5KrrMml+DkQb2jf9h8UAwGeYXTEAqlb4l
3C6Y9ET7mcy8yeBK6NH4ifvwPSVeadNfsZZ2HEmcxRZ1W4UFdNXHC3WcqPAE+NSk
JqsnwU5cJiF+D6JJ0F/L6iRkemEQ1JSCBIOrJkO5tEyMML7oecI7asldqemMK5pU
h0MbGxqd0uf9FPehTyoJzL3nREa0r3mSkqB3Htp/zQmw3as3Krg=
=B4Pp
-----END PGP SIGNATURE-----


M
M
Mathieu Othacehe wrote on 18 Apr 2021 09:36
Re: bug#47841: 'tarball' jobs on ci.guix.gnu.org install the wrong profile
(name . Leo Famulari)(address . leo@famulari.name)
87tuo4rqma.fsf@gnu.org
Hello,

Toggle quote (5 lines)
> I installed "by hand" using this tarball, and it worked fine.
>
> Since this bug is really about a broken CI job, and not the release
> artifacts, I'm removing it from the list of release blockers.

There's indeed a discrepancy between the Makefile and the (gnu ci)
release job. I'm testing this fix right now: 68a11045.

Thanks,

Mathieu
V
V
Vincent Legoll wrote on 18 Apr 2021 10:59
guix foreign installer
(address . 47841@debbugs.gnu.org)
CAEwRq=q0r_mQf7SWEh0zfGjEm7c4gA_m7VAU75nnGdsbPJyUVQ@mail.gmail.com
Hello,

there's a few enhancements to the installer
script waiting for review, comments and/or
merge there:


That may make the kind of testing you've
done here easier.

The separate commits should be fairly
orthogonal and cherry-pickable independently.

I can resume working on those if there's
consensus about their usefulness.

Those patches also would probably help setting
up CI testing jobs to catch problems earlier in the release cycle.

Thanks

--
Vincent Legoll
L
L
Leo Famulari wrote on 18 Apr 2021 19:15
Re: bug#47841: 'tarball' jobs on ci.guix.gnu.org install the wrong profile
(name . Mathieu Othacehe)(address . othacehe@gnu.org)
YHxpSv18Bn/PiTQS@jasmine.lan
On Sun, Apr 18, 2021 at 09:36:29AM +0200, Mathieu Othacehe wrote:
Toggle quote (11 lines)
>
> Hello,
>
> > I installed "by hand" using this tarball, and it worked fine.
> >
> > Since this bug is really about a broken CI job, and not the release
> > artifacts, I'm removing it from the list of release blockers.
>
> There's indeed a discrepancy between the Makefile and the (gnu ci)
> release job. I'm testing this fix right now: 68a11045.

Okay, thanks! By the way, what is that '68a11045'? If it's a Git commit,
I can't figure out where it is.
M
M
Mathieu Othacehe wrote on 20 Apr 2021 14:17
(name . Leo Famulari)(address . leo@famulari.name)
874kg1p2uw.fsf@gnu.org
Hey,

Toggle quote (3 lines)
> Okay, thanks! By the way, what is that '68a11045'? If it's a Git commit,
> I can't figure out where it is.

Yeah, but it disappeared when I removed the wip branch. I pushed it on
master: 2ccb715ab3ebef5ddbc53d706cbc42b3b765d613.

I tried to install a CI produced tarball
VM with success.

Closing this one,

Thanks,

Mathieu
Closed
?