[-- Attachment #1: Type: text/plain, Size: 739 bytes --] Hello, There is a strange bug on the core-updates branch: if you 'guix pull --branch=core-updates', everything from around 'guile-bootstrap@2.0' in the package graph will have different derivations from what you get in the git checkout: On my local fork of core-updates: ./pre-inst-env guix build -d bash /gnu/store/y834q3sf056hkglpli4gr3ijmpvgzb7c-bash-5.0.16.drv After 'guix pull -p /tmp/core-updates --url=/my/checkout --branch=core-updates', on the same commit: /tmp/core-updates/bin/guix build -d bash /gnu/store/m3q1w669f7br5cs4admdy5p8rijrjmvp-bash-5.0.16.drv I believe this is a recent regression (probably the wip-bootstrap changes?), as I've pulled (and reconfigured) on the branch before. Any idea what is going on here? [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 487 bytes --]
[-- Attachment #1: Type: text/plain, Size: 1022 bytes --] Marius Bakke <mbakke@fastmail.com> writes: > Hello, > > There is a strange bug on the core-updates branch: if you 'guix pull > --branch=core-updates', everything from around 'guile-bootstrap@2.0' in > the package graph will have different derivations from what you get in > the git checkout: > > On my local fork of core-updates: > > ./pre-inst-env guix build -d bash > /gnu/store/y834q3sf056hkglpli4gr3ijmpvgzb7c-bash-5.0.16.drv > > After 'guix pull -p /tmp/core-updates --url=/my/checkout > --branch=core-updates', on the same commit: > > /tmp/core-updates/bin/guix build -d bash > /gnu/store/m3q1w669f7br5cs4admdy5p8rijrjmvp-bash-5.0.16.drv I've tracked this down to 'gash-boot'. Namely the use of ,(version): it evaluates to '2.2.6' when run with ./pre-inst-env and "3.0.0" after 'guix pull'. I suspect both are wrong, and that it really intends to use the version of gash here. Timothy, can you confirm? Currently trying to 'guix pull' with a hard coded "2.2.6" version to see if other instances need changing. [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 487 bytes --]
[-- Attachment #1.1: Type: text/plain, Size: 1170 bytes --] Marius Bakke <mbakke@fastmail.com> writes: > Marius Bakke <mbakke@fastmail.com> writes: > >> Hello, >> >> There is a strange bug on the core-updates branch: if you 'guix pull >> --branch=core-updates', everything from around 'guile-bootstrap@2.0' in >> the package graph will have different derivations from what you get in >> the git checkout: >> >> On my local fork of core-updates: >> >> ./pre-inst-env guix build -d bash >> /gnu/store/y834q3sf056hkglpli4gr3ijmpvgzb7c-bash-5.0.16.drv >> >> After 'guix pull -p /tmp/core-updates --url=/my/checkout >> --branch=core-updates', on the same commit: >> >> /tmp/core-updates/bin/guix build -d bash >> /gnu/store/m3q1w669f7br5cs4admdy5p8rijrjmvp-bash-5.0.16.drv > > I've tracked this down to 'gash-boot'. Namely the use of ,(version): it > evaluates to '2.2.6' when run with ./pre-inst-env and "3.0.0" after > 'guix pull'. > > I suspect both are wrong, and that it really intends to use the version > of gash here. Timothy, can you confirm? > > Currently trying to 'guix pull' with a hard coded "2.2.6" version to > see if other instances need changing. This patch solves the problem without triggering a full rebuild: [-- Warning: decoded text below may be mangled, UTF-8 assumed --] [-- Attachment #1.2: diff --] [-- Type: text/x-patch, Size: 1187 bytes --] diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm index cfbb5e3bff..0d5bfa4dfa 100644 --- a/gnu/packages/commencement.scm +++ b/gnu/packages/commencement.scm @@ -151,7 +151,7 @@ pure Scheme to Tar and decompression in one easy step.") (use-modules (guix build gnu-bootstrap)) (modify-phases %standard-phases (replace 'configure - (bootstrap-configure ,(version) "gash" "scripts")) + (bootstrap-configure "2.2.6" "gash" "scripts")) (replace 'build (bootstrap-build "gash")) (replace 'install (bootstrap-install "gash" "scripts")) (add-after 'install 'install-symlinks @@ -214,7 +214,7 @@ pure Scheme to Tar and decompression in one easy step.") (delete-file "scripts/template.in") #t)) (replace 'configure - (bootstrap-configure ,(version) "gash" "scripts")) + (bootstrap-configure "2.2.6" "gash" "scripts")) (replace 'build (bootstrap-build "gash")) (replace 'install (bootstrap-install "gash" "scripts")) ;; XXX: The scripts should add Gash to their load paths and [-- Attachment #1.3: Type: text/plain, Size: 224 bytes --] I have another full-rebuild commit in the pipeline (bzip2 currently keeps a reference to the Mes toolchain), so we might as well fix it properly. Waiting for confirmation from Timothy as to what the proper fix is, though. [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 487 bytes --]
Hi Marius, Marius Bakke <mbakke@fastmail.com> writes: > Marius Bakke <mbakke@fastmail.com> writes: > >> >> I've tracked this down to 'gash-boot'. Namely the use of ,(version): it >> evaluates to '2.2.6' when run with ./pre-inst-env and "3.0.0" after >> 'guix pull'. >> >> I suspect both are wrong, and that it really intends to use the version >> of gash here. Timothy, can you confirm? Definitely wrong! I think I had somehow convinced myself that the version of Gash was available when inheriting but delayed via a thunk. The fact that it happily returns the current Guile version means that I never noticed how wrong I was. Sorry! >> Currently trying to 'guix pull' with a hard coded "2.2.6" version to >> see if other instances need changing. > > This patch solves the problem without triggering a full rebuild: > > [...] > > I have another full-rebuild commit in the pipeline (bzip2 currently > keeps a reference to the Mes toolchain), so we might as well fix it > properly. > > Waiting for confirmation from Timothy as to what the proper fix is, > though. It should be using “package-version” to get the versions from the parent packages. Fixed in 0b870f7915f5da43758753fd088a22033936dc50. -- Tim
Hi!
Timothy Sample <samplet@ngyro.com> skribis:
> It should be using “package-version” to get the versions from the parent
> packages. Fixed in 0b870f7915f5da43758753fd088a22033936dc50.
Alternately, you can write:
(arguments
`(… ,(package-version this-package) …))
so that the version number remains correct when inheriting
(‘this-package’ is a self reference.)
Ludo’.