Subject: Re: [bug#78332] GCD005: Regular and efficient releases (submitted)

From: Steve George <[email-masked]>
Date: Sun, 22 Jun 2025 13:20:13 +0100

Hi,

This part of the thread is about the definition of the current variables.

- Philip you're cc'd, but actually your point is a bit sub-thread.
- Efraim this is of interest to you, so added you back in.

On Wed, Jun 11, 2025 at 10:47:42PM +0200, Ludovic Courtès wrote:
> 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.

-- >8 -- >8

* %system_packages: packages required to boot and install a minimal Guix System
  or install Guix on a foreign distribution.  This only includes default
  options **required** by the installer which **must** work for a release since
  they are part of the default installer path.  For example, this would include
  the guix daemon, kernels, boot loaders, file-systems and minimal utilities.
* %desktop_packages: additional desktop environments and other options from
  the installer. This includes packages that are part of the installer
  (but not default) and other popular options as chosen by the Release Team.
  Packages **should** work, but they may receive less QA attention from the
  Release Team than %system_packages.
* %base_packages: important packages that anyone may wish to install on Guix and
  consequently the project wants to maintain substitutes for. This may include
  important toolchains, runtimes and utilities. The Release Team **may**
  perform QA on these packages.

Guix would still make all packages and services part of a release (the entire
archive).  Guix teams would be asked to test the parts of the archive that they
look after. But, only Release Critical bugs in the `package sets` could block
a release.

The Release Team may identify other package sets as needed.

-- >8 -- >8

Is that better?

Steve / Futurile