zimoun <[email protected]> writes:
> Bug#55499 [1] is fixed by 4ff12d1de7cd617b791996ee7ca1240660b4c20e. > However, because the manifest version is going from 3 to 4 with new > fields, the new Guix cannot builds the old Guix. > > Commit 4ff12d1de7cd617b791996ee7ca1240660b4c20e is not able to go to its > parent 9b8c442b254b82196fe2492142b3c3bbbd891a1b. > > $ git rev-parse 4ff12d1de7^ > 9b8c442b254b82196fe2492142b3c3bbbd891a1b > > $ guix time-machine --commit=4ff12d1de7 -- time-machine --commit=9b8c442b25 > -- help > Updating channel 'guix' from Git repository at > 'https://git.savannah.gnu.org/git/guix.git'... > Computing Guix derivation for 'x86_64-linux'... \ > The following derivation will be built: > /gnu/store/r5qk23fibxn5ryd2k7b8qkbryqv4m3ds-profile.drv > > building package cache... > |builder for > `/gnu/store/19nk2x26s0dp68r7d36ifbg0ck0q3xps-guix-package-cache.drv' failed > to produce output path > `/gnu/store/axqgrls563slnp76x60dqlv7sdwcm2ly-guix-package-cache' > build of /gnu/store/19nk2x26s0dp68r7d36ifbg0ck0q3xps-guix-package-cache.drv > failed > View build log at > '/var/log/guix/drvs/19/nk2x26s0dp68r7d36ifbg0ck0q3xps-guix-package-cache.drv.gz'. > cannot build derivation > `/gnu/store/r5qk23fibxn5ryd2k7b8qkbryqv4m3ds-profile.drv': 1 dependencies > couldn't be built > guix time-machine: error: build of > `/gnu/store/r5qk23fibxn5ryd2k7b8qkbryqv4m3ds-profile.drv' failed IIUC the problem here is that PACKAGE-CACHE-FILE, a profile hook running inside an inferior (= with an older Guix), is operating on a manifest that uses the new version 4 format. That manifest was built with the *current* version of Guix that understands the version 4 format. PACKAGE-CACHE-FILE uses GEXP->DERIVATION-IN-INFERIOR and the inferior is a PROFILE that’s made from a given MANIFEST value. That PROFILE is *not* built inside the inferior, so it doesn’t use the old manifest format. The cache generation is happening in /gnu/store/17v5781w8kl1snp826jl6z40z5lbbw1y-inferior-script.scm.drv, which — as the name indicates — is run inside the inferior, i.e. the older Guix. -- Ricardo
