Debian ‘guix’ package lacks zstd support

  • Open
  • quality assurance status badge
Details
2 participants
  • Ludovic Courtès
  • Simon Tournier
Owner
unassigned
Submitted by
Ludovic Courtès
Severity
normal
L
L
Ludovic Courtès wrote on 16 Jul 10:41 +0200
(address . bug-guix@gnu.org)
8734o920g6.fsf@inria.fr
Hello Vagrant and all,

We’ve been recommending the Debian package as one of the easy way to get
Guix installed. However, it currently lacks zstd support (with
guile-zstd):


The consequence is that it guix-daemon crashes badly when talking to
substitute servers where nothing but zstd is enabled, such as

Toggle snippet (39 lines)
$ guix build pastix
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://guix.bordeaux.inria.fr'... 100.0%
substitute: Backtrace:
substitute: In ice-9/boot-9.scm:
substitute: 1752:10 17 (with-exception-handler _ _ #:unwind? _ # _)
substitute: In unknown file:
substitute: 16 (apply-smob/0 #<thunk 735d7f915300>)
substitute: In ice-9/boot-9.scm:
substitute: 724:2 15 (call-with-prompt _ _ #<procedure default-prompt-handle…>)
substitute: In ice-9/eval.scm:
substitute: 619:8 14 (_ #(#(#<directory (guile-user) 735d7f918c80>)))
substitute: In guix/ui.scm:
substitute: 2275:7 13 (run-guix . _)
substitute: 2238:10 12 (run-guix-command _ . _)
substitute: In ice-9/boot-9.scm:
substitute: 1752:10 11 (with-exception-handler _ _ #:unwind? _ # _)
substitute: 1752:10 10 (with-exception-handler _ _ #:unwind? _ # _)
substitute: In guix/scripts/substitute.scm:
substitute: 842:18 9 (_)
substitute: 352:7 8 (process-query #<output: file 4> _ #:cache-urls _ #:acl _)
substitute: In srfi/srfi-1.scm:
substitute: 634:9 7 (for-each #<procedure 735d7c38df80 at guix/scripts/sub…> …)
substitute: In guix/scripts/substitute.scm:
substitute: 297:13 6 (_ #<<narinfo> path: "/gnu/store/y4qhgdhgy7np5v1lnsqvm1…>)
substitute: In guix/narinfo.scm:
substitute: 346:2 5 (narinfo-best-uri _ #:fast-decompression? _)
substitute: In ice-9/boot-9.scm:
substitute: 1685:16 4 (raise-exception _ #:continuable? _)
substitute: 1685:16 3 (raise-exception _ #:continuable? _)
substitute: 1780:13 2 (_ #<&compound-exception components: (#<&error> #<&orig…>)
substitute: 1685:16 1 (raise-exception _ #:continuable? _)
substitute: 1685:16 0 (raise-exception _ #:continuable? _)
substitute:
substitute: ice-9/boot-9.scm:1685:16: In procedure raise-exception:
substitute: Throw to key `match-error' with args `("match" "no matching pattern" ())'.
guix build: error: `/usr/bin/guix substitute' died unexpectedly

Would it be possible to add guile-zstd as a dependency of the Debian
‘guix’ package? This alone would noticeably improve user experience.

(I know this should be a Debian bug report, but I’m sorta acting as a
proxy. :-))

Thanks,
Ludo’.
S
S
Simon Tournier wrote on 17 Jul 19:18 +0200
(name . Vagrant Cascadian)(address . vagrant@debian.org)
878qy0ey3e.fsf@gmail.com
Hi Ludo,

On Tue, 16 Jul 2024 at 10:41, Ludovic Courtès <ludovic.courtes@inria.fr> wrote:

Toggle quote (3 lines)
> (I know this should be a Debian bug report, but I’m sorta acting as a
> proxy. :-))


Reported by: Marvin Krause <public@mkrause.org>
Date: Mon, 10 Jun 2024 10:45:01 UTC
Severity: important
Found in version guix/1.4.0-3+deb12u1


Toggle quote (5 lines)
> However, it currently lacks zstd support (with
> guile-zstd):
>
> https://packages.debian.org/bullseye/guix

Well, I am not an expert on the Debian releases, but I guess it is not
possible to backport all the stuff for this ’oldstable’ Debian release.

Hum, I do not remember all the details but I remember discussing this
sort of issue in [1].

That said, after “apt install guix”, does the guix-daemon update work?
Somehow if “guix pull” as root fails after a fresh install via APT, then
it’s a bug on Guix side, else it’s a bug on Debian side tracked by
1072918. :-)


And as reported above, the issue is still in ’stable’ Debian release.


1: Re: Are gzip-compressed substitutes still used?
Vagrant Cascadian <vagrant@debian.org>
Wed, 17 Mar 2021 11:08:38 -0700
id:87o8fhwt3t.fsf@yucca

Cheers,
simon
L
L
Ludovic Courtès wrote on 18 Jul 09:21 +0200
(name . Simon Tournier)(address . zimon.toutoune@gmail.com)
87y15zxizs.fsf@inria.fr
Hello,

Simon Tournier <zimon.toutoune@gmail.com> skribis:

Toggle quote (2 lines)
Oh, nice.

Toggle quote (5 lines)
> That said, after “apt install guix”, does the guix-daemon update work?
> Somehow if “guix pull” as root fails after a fresh install via APT, then
> it’s a bug on Guix side, else it’s a bug on Debian side tracked by
> 1072918. :-)

Upgrading guix-daemon when it was originally installed with apt is
tricky: you need to modify /etc/systemd/system/guix-daemon.service so
that it refers to the one in /var/guix/…. So I think few people upgrade
the daemon on Debian.

I’m not sure how to improve on that; we could document it under
“Upgrading Guix” at least.

Thanks,
Ludo’.
S
S
Simon Tournier wrote on 18 Jul 12:23 +0200
(name . Ludovic Courtès)(address . ludovic.courtes@inria.fr)
87jzhjknhl.fsf@gmail.com
Hi,

On Thu, 18 Jul 2024 at 09:21, Ludovic Courtès <ludovic.courtes@inria.fr> wrote:

Toggle quote (10 lines)
>> That said, after “apt install guix”, does the guix-daemon update work?
>> Somehow if “guix pull” as root fails after a fresh install via APT, then
>> it’s a bug on Guix side, else it’s a bug on Debian side tracked by
>> 1072918. :-)
>
> Upgrading guix-daemon when it was originally installed with apt is
> tricky: you need to modify /etc/systemd/system/guix-daemon.service so
> that it refers to the one in /var/guix/…. So I think few people upgrade
> the daemon on Debian.

Indeed. Even, let note that the default configuration provided by Guix
seems patched by Debian [1].

So yeah the only way is to modify
/etc/systemd/system/guix-daemon.service and restart the service.

Toggle quote (3 lines)
> I’m not sure how to improve on that; we could document it under
> “Upgrading Guix” at least.

Well, yes the documentation on our side is a good start. :-)

Then, I do not know either how to improve on that. I mean a typical
Debian cycle is 3-5 years for a release – oldstable Debian (Bulleye)
provides guix-daemon version 1.2.0 – then it would mean we must support
backward compatibility for substitutes to this all range; as Vagrant
warned in [2]. :-)

Well, patches could be accepted for fixing security in guix-daemon but I
am not convinced patches for some new/deprecated features would be
accepted.

Maybe we could provide some patches for oldstable Debian that modify
guix-daemon.service and friends. Vagrant wrote [3]:

It is of course possible to configure to use an updated guix-daemon from
a user's profile (e.g. as recommended with guix-binary installation on a
foreign distro), but out-of-the-box it uses the guix-daemon shipped in
the package, which, at least with my Debian hat on, is how it should be.

So I do not know what would be the best here. :-)


Cheers,
simon



2: Re: Are gzip-compressed substitutes still used?
Vagrant Cascadian <vagrant@debian.org>
Wed, 17 Mar 2021 11:08:38 -0700
id:87o8fhwt3t.fsf@yucca

3: Re: Are gzip-compressed substitutes still used?
Vagrant Cascadian <vagrant@debian.org>
Thu, 18 Mar 2021 09:00:20 -0700
id:87eegcwiy3.fsf@yucca
?
Your comment

Commenting via the web interface is currently disabled.

To comment on this conversation send an email to 72135@debbugs.gnu.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 72135
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch