Simon Tournier writes: > Hi Chris, > > I am late to the party and probably do not well understand all that > part. Just a quick comment in the same direction as Ludo. > > On Mon, 17 Apr 2023 at 15:59, Christopher Baines wrote: > >> diff --git a/guix/self.scm b/guix/self.scm >> index 74c953bd50..bbc0beaca8 100644 >> --- a/guix/self.scm >> +++ b/guix/self.scm > > [...] > >> + (if graft? >> + (explicit-grafting obj >> + (map (compose force cdr) %packages)) >> + obj))) > > [...] > >> + (if graft? >> + (explicit-grafting obj >> + (map (compose force cdr) %packages)) >> + obj))) > > It means that the grafts are only applied to %packages, right? > > Other said, defined by: > > (define %packages > (let ((ref (lambda (module variable) > (delay > (module-ref (resolve-interface > `(gnu packages ,module)) > variable))))) > `(("guile" . ,(ref 'guile 'guile-3.0-latest)) > ("guile-avahi" . ,(ref 'guile-xyz 'guile-avahi)) > ("guile-json" . ,(ref 'guile 'guile-json-4)) > ("guile-ssh" . ,(ref 'ssh 'guile-ssh)) > ("guile-git" . ,(ref 'guile 'guile-git)) > ("guile-semver" . ,(ref 'guile-xyz 'guile-semver)) > ("guile-lib" . ,(ref 'guile-xyz 'guile-lib)) > ("guile-sqlite3" . ,(ref 'guile 'guile-sqlite3)) > ("guile-zlib" . ,(ref 'guile 'guile-zlib)) > ("guile-lzlib" . ,(ref 'guile 'guile-lzlib)) > ("guile-zstd" . ,(ref 'guile 'guile-zstd)) > ("guile-gcrypt" . ,(ref 'gnupg 'guile-gcrypt)) > ("guile-gnutls" . ,(ref 'tls 'guile-gnutls)) > ("guix-daemon" . ,(ref 'package-management 'guix-daemon)) > ("disarchive" . ,(ref 'backup 'disarchive)) > ("guile-lzma" . ,(ref 'guile 'guile-lzma)) > ("gzip" . ,(ref 'compression 'gzip)) > ("bzip2" . ,(ref 'compression 'bzip2)) > ("xz" . ,(ref 'compression 'xz)) > ("po4a" . ,(ref 'gettext 'po4a)) > ("gettext-minimal" . ,(ref 'gettext 'gettext-minimal)) > ("gcc-toolchain" . ,(ref 'commencement 'gcc-toolchain)) > ("glibc-utf8-locales" . ,(ref 'base 'glibc-utf8-locales)) > ("graphviz" . ,(ref 'graphviz 'graphviz)) > ("texinfo" . ,(ref 'texinfo 'texinfo))))) > > tweaked by e5c33837cbee98d460d9ae09b463501de6f15d97. And there is a > slippery slope: the manual addition. These had been added with > e5c33837cbee98d460d9ae09b463501de6f15d97: > > + ("glibc-utf8-locales" . ,(ref 'base 'glibc-utf8-locales)) > + ("graphviz" . ,(ref 'graphviz 'graphviz)) > + ("guix-daemon" . ,(ref 'package-management 'guix-daemon)) > + ("texinfo" . ,(ref 'texinfo 'texinfo))))) > > Other said, what does it happen if we forget to manually update this > list? Well, specification->package in (guix self) won't work for the missing packages. It's possible to use packages outside of this list, but that doesn't happen currently.