On 2025-09-01, Simon Josefsson wrote:
> Ouch, removal of guix from Debian would hurt.

Go ahead, rub salt in my wounds! :)


> Was any of the discussion public?

You are replying to a public bug about the issue. There was a little
back and forth in private with the security team and myself, mostly just
reminding me to come up with an action plan on the issue.

There were a few threads on guix-devel discussing how to resolve the
issue:

  https://lists.gnu.org/archive/html/guix-devel/2025-07/msg00098.html

I specifically mentioned that it will likely be removed:

  https://lists.gnu.org/archive/html/guix-devel/2025-07/msg00207.html

So a few folks have tried to make it work, but months later, we still do
not have a meaningful way forward...


I made the mistake of thinking an open release-critical bug (e.g. the
CVE bug) would have blocked it from making it into trixie, but clearly I
was mistaken on that. It should have never been released with trixie.


> Is there any chance to find a compromise to keep the package?

Can you backport the current CVE fixes in an acceptible way?


> The current Debian packaging are based on releases, which causes some
> problem.  Another approach is to base it on recent git commits, which
> ought to have security bugs fixed.

It is very difficult to base it off git commits (I have done so
occasionally on experimental, but it is a bit of a grueling error-prone
process). It also leaves people in a lurch, because substitutes may not
be kept available for arbitrary snapshot commits, so people may end up
having to do world rebuilds just to "guix pull" up to the current
versions.


> Due to the nature of how Guix is
> rolling maybe handling of Guix security in Debian could be an exception?
> Instead of back-port things, just publish a new version with security
> fixes.  This would be similar to how we treat Firefox if I recall
> correctly.

Well, firefox releases, what, every 6 weeks and Has Long-Term-Support
branches with backproted fixes... so that is hardly a meaningful
comparison... but that aside...

That still means we are *theoretically* 2-3 months out from the next
upstream guix release, and meanwhile people using the packages are
running a severely security vulnerable version of guix since June (well,
since forever, but it is since June it was made public, I think the
issue was embargoed for three months before that, and besides quiet
vague, inactionable mumblings a few days before the issue was made
public, there was no public information about it).


> If it would help, I can offer cycles to co-maintain Guix in Debian.
> Back-porting security fixes sounds really complicated and I'm not sure I
> see the point of handling Guix like that.

Well, backporting security patches is exactly what is needed, unless you
or someone else can propose some concrete, working alternative...

Would also need help maintaining all the guile-* dependencies, which are
mostly just to support guix. And honestly, I think they way several of
those are packaged, we need some way to systematically trigger binNMUs
(e.g. zstd gets updated to a new upstream version, guile-zstd should be
binNMUed)... which is a mess I have not yet figure out how to tackle.


> Are there any use-cases of Guix via Debian that would break if we just
> bumped to latest upstream version after a security problem?

The main issue is, assuming that guix starts releasing as often as
planned (which is still entirely unproven), waiting 6-12 months to fix
critical security issues in Debian ... does not really fit the security
assurances expected of packages in Debian stable releases.


I think until upstream is releasing more often *AND* providing security
fixes backported (or maybe just providing backproted security fixes), it
does not make sense to package Guix in Debian stable releases, at least
not as currently packaged.

Decoupling guix-daemon from the rest of guix could also be an
interesting path that might make the work easier, but I have not seen
much interest in that coming from upstream, and I suspect the direction
is likely moving towards tighter coupling.


The premise of the current packaging relied on the guix daemon not
changing much, as it is really the only part of guix still used after
running guix pull (and the rest of the several hundreds of MB of
installed files go essentially unused)... which... is a lot of
infrastructure to maintain when the guix-installer.sh script upstream
provides an alternate path forward and a way to throw away the un-used
bits. That does not even include all the dependent packages, which each
may be individually small and fairly easy to maintain (apart form the
binNMU issues), but each one adds up, and new ones get added every year.


As an alternative, it might be plausible to package the
guix-installer.sh script, although that has a lot of the same problems
(e.g. there is no trust path to the "latest" version and possible
missing substitutes, and the signed version has even more
vulnerabilities than the current Debian package as it has zero security
fixes applied).


I would have rather seen Guix continue to be maintained in Debian
proper, but I think the disconnect between Debian's stable release model
and a rolling release upstream makes for a lot of challenging
tension. It is only a happy accident that the parts that mattered
(guix-daemon) had not seen much development in recent years.


I would be more than happy to be proven otherwise, but I think the best
thing at the moment is to remove Guix from various Debian stable
releases...


live well,
  vagrant

Attachment: signature.asc
Description: PGP signature

Reply via email to