unofficial mirror of bug-guix@gnu.org 
 help / color / mirror / code / Atom feed
* bug#47841: [release 1.2.1] could not install on foreign distro
@ 2021-04-17 13:29 Julien Lepiller
  2021-04-17 18:59 ` bug#47841: 'tarball' jobs on ci.guix.gnu.org install the wrong profile Leo Famulari
                   ` (2 more replies)
  0 siblings, 3 replies; 9+ messages in thread
From: Julien Lepiller @ 2021-04-17 13:29 UTC (permalink / raw)
  To: 47841

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.




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

* bug#47841: 'tarball' jobs on ci.guix.gnu.org install the wrong profile
  2021-04-17 13:29 bug#47841: [release 1.2.1] could not install on foreign distro Julien Lepiller
@ 2021-04-17 18:59 ` Leo Famulari
  2021-04-17 20:17   ` Leo Famulari
  2021-04-17 19:22 ` bug#47841: [release 1.2.1] could not install on foreign distro Leo Famulari
  2021-04-18  8:59 ` bug#47841: guix foreign installer Vincent Legoll
  2 siblings, 1 reply; 9+ messages in thread
From: Leo Famulari @ 2021-04-17 18:59 UTC (permalink / raw)
  To: Julien Lepiller; +Cc: 47841

[-- Attachment #1: Type: text/plain, Size: 978 bytes --]

On Sat, Apr 17, 2021 at 03:29:27PM +0200, Julien Lepiller wrote:
> (114 being obtained by looking at the latest build of the tarball:
> https://ci.guix.gnu.org/jobset/tarball).
[...]
> /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.

[0] https://git.savannah.gnu.org/cgit/guix.git/tree/Makefile.am?id=b18f45c21f5d697d384a7bd5c9d3ee314bba9e35#n739

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

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

* bug#47841: [release 1.2.1] could not install on foreign distro
  2021-04-17 13:29 bug#47841: [release 1.2.1] could not install on foreign distro Julien Lepiller
  2021-04-17 18:59 ` bug#47841: 'tarball' jobs on ci.guix.gnu.org install the wrong profile Leo Famulari
@ 2021-04-17 19:22 ` Leo Famulari
  2021-04-17 21:54   ` Leo Famulari
  2021-04-18  8:59 ` bug#47841: guix foreign installer Vincent Legoll
  2 siblings, 1 reply; 9+ messages in thread
From: Leo Famulari @ 2021-04-17 19:22 UTC (permalink / raw)
  To: Julien Lepiller; +Cc: 47841

On Sat, Apr 17, 2021 at 03:29:27PM +0200, Julien Lepiller wrote:
> 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.




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

* bug#47841: 'tarball' jobs on ci.guix.gnu.org install the wrong profile
  2021-04-17 18:59 ` bug#47841: 'tarball' jobs on ci.guix.gnu.org install the wrong profile Leo Famulari
@ 2021-04-17 20:17   ` Leo Famulari
  2021-04-18  7:36     ` Mathieu Othacehe
  0 siblings, 1 reply; 9+ messages in thread
From: Leo Famulari @ 2021-04-17 20:17 UTC (permalink / raw)
  To: Julien Lepiller; +Cc: Mathieu Othacehe, 47841

[-- Attachment #1: Type: text/plain, Size: 326 bytes --]

On Sat, Apr 17, 2021 at 02:59:23PM -0400, Leo Famulari wrote:
> 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.

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

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

* bug#47841: [release 1.2.1] could not install on foreign distro
  2021-04-17 19:22 ` bug#47841: [release 1.2.1] could not install on foreign distro Leo Famulari
@ 2021-04-17 21:54   ` Leo Famulari
  0 siblings, 0 replies; 9+ messages in thread
From: Leo Famulari @ 2021-04-17 21:54 UTC (permalink / raw)
  To: Julien Lepiller; +Cc: 47841


[-- Attachment #1.1: Type: text/plain, Size: 515 bytes --]

On Sat, Apr 17, 2021 at 03:22:37PM -0400, Leo Famulari wrote:
> 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.

[-- Attachment #1.2: diff --]
[-- Type: text/plain, Size: 1996 bytes --]

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

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

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

* bug#47841: 'tarball' jobs on ci.guix.gnu.org install the wrong profile
  2021-04-17 20:17   ` Leo Famulari
@ 2021-04-18  7:36     ` Mathieu Othacehe
  2021-04-18 17:15       ` Leo Famulari
  0 siblings, 1 reply; 9+ messages in thread
From: Mathieu Othacehe @ 2021-04-18  7:36 UTC (permalink / raw)
  To: Leo Famulari; +Cc: 47841


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.

Thanks,

Mathieu




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

* bug#47841: guix foreign installer
  2021-04-17 13:29 bug#47841: [release 1.2.1] could not install on foreign distro Julien Lepiller
  2021-04-17 18:59 ` bug#47841: 'tarball' jobs on ci.guix.gnu.org install the wrong profile Leo Famulari
  2021-04-17 19:22 ` bug#47841: [release 1.2.1] could not install on foreign distro Leo Famulari
@ 2021-04-18  8:59 ` Vincent Legoll
  2 siblings, 0 replies; 9+ messages in thread
From: Vincent Legoll @ 2021-04-18  8:59 UTC (permalink / raw)
  To: 47841

Hello,

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

https://issues.guix.gnu.org/40601

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




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

* bug#47841: 'tarball' jobs on ci.guix.gnu.org install the wrong profile
  2021-04-18  7:36     ` Mathieu Othacehe
@ 2021-04-18 17:15       ` Leo Famulari
  2021-04-20 12:17         ` Mathieu Othacehe
  0 siblings, 1 reply; 9+ messages in thread
From: Leo Famulari @ 2021-04-18 17:15 UTC (permalink / raw)
  To: Mathieu Othacehe; +Cc: 47841

On Sun, Apr 18, 2021 at 09:36:29AM +0200, Mathieu Othacehe wrote:
> 
> 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.




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

* bug#47841: 'tarball' jobs on ci.guix.gnu.org install the wrong profile
  2021-04-18 17:15       ` Leo Famulari
@ 2021-04-20 12:17         ` Mathieu Othacehe
  0 siblings, 0 replies; 9+ messages in thread
From: Mathieu Othacehe @ 2021-04-20 12:17 UTC (permalink / raw)
  To: Leo Famulari; +Cc: 47841-done


Hey,

> 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
(https://ci.guix.gnu.org/build/213975/details) on a foreign distribution
VM with success.

Closing this one,

Thanks,

Mathieu




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

end of thread, other threads:[~2021-04-20 12:18 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-04-17 13:29 bug#47841: [release 1.2.1] could not install on foreign distro Julien Lepiller
2021-04-17 18:59 ` bug#47841: 'tarball' jobs on ci.guix.gnu.org install the wrong profile Leo Famulari
2021-04-17 20:17   ` Leo Famulari
2021-04-18  7:36     ` Mathieu Othacehe
2021-04-18 17:15       ` Leo Famulari
2021-04-20 12:17         ` Mathieu Othacehe
2021-04-17 19:22 ` bug#47841: [release 1.2.1] could not install on foreign distro Leo Famulari
2021-04-17 21:54   ` Leo Famulari
2021-04-18  8:59 ` bug#47841: guix foreign installer Vincent Legoll

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

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