Hi again,
Ludovic Courtès <[email protected]> skribis:
> It looks like the store is in a broken state, with its database not
> matching its actual contents. The ‘install-system’ procedure is
> supposed to protect against that by making a backup of the database
> before starting the installation and restoring it afterwards. (It
> apparently worked for me when I interrupted ‘guix system init’ by
> hitting C-c.)
Actually, look at the excerpt from final.scm:
;; Restart guix-daemon so that it does no keep the MNT namespace
;; alive.
(restart-service 'guix-daemon)
(copy-file saved-database database-file)
We’re restarting the daemon *before* we have restored the database,
which is wrong: depending on how lucky you are, guix-daemon might load
the old database (all this depends on what exactly happens when sqlite
opens the database, but I think there’s a possibility that it will load
or cache a few things and thus fail to see the changes ‘copy-file’
introduces.)
So my guess is that things will be much better if we swap these two
lines.
Florian, it would be great if you could try that and run a new image
generated version ‘version-1.4.0’ with these two lines changed. To
produce the image, run:
./pre-inst-env guix system image -t iso9660 --label=Guix \
gnu/system/install.scm
Ludo’.