Subject: Re: GCD005: Regular and efficient releases (submitted)

From: Ludovic Courtès <[email-masked]>
Date: Wed, 11 Jun 2025 22:47:42 +0200

Hello,

Efraim Flashner <[email-masked]> writes:

>> >   • “Core” packages that anyone may wish to install on any of the
>> >     architectures supported by Guix (not Guix System).
>> > 
>> >     This was ‘%base-packages’ in
>> >     <https://codeberg.org/guix/guix/src/commit/12d00767f036029f1f5738de644d4972db374f4f/etc/manifests/release.s

[...]

> (define %base-packages
>   ;; Packages that must be substitutable on all the platforms Guix supports.
>   (map specification->package
>        '("bootstrap-tarballs" "gcc-toolchain" "nss-certs"
>          "openssh" "emacs" "vim" "python" "guile" "guix")))
>
> I realize that they are important packages, but they're all packages
> that, if they broke, we would've noticed anyway (perhaps not
> bootstrap-tarballs).

It’s not just about checking they’re not broken (you’re right we’d have
noticed, at least on the popular architectures), it’s also about
ensuring that substitutes are available for them.

That was the spirit of the ‘assert-binaries-available’ Makefile target.
And that, in practice, often turned out to be difficult to achieve,
especially for Arm.

Ludo’.