On Wed, Jul 11, 2018 at 02:55:45PM +0200, Ludovic Courtès wrote: > Now the question is, will it always be possible to run ‘guix pull’ from > an arbitrary-old Guix? Maybe it will still be impossible sometimes if > the old Guix is really too old. However, I suspect such issues will be > much more rare. There’s essentially a single file that needs to be put > under scrutiny to avoid such issues: build-aux/build-self.scm.
I think we should have a rescue mode. The nar does not have to be visible on the main download page, but maybe on a rescue page in the manual? A rescue nar would always work. At this point none of my systems runs guix pull any longer. Even getting a build system (from guix) to build the tree is problematic. I realise it may be less of an issue in the future... Mind that, even now, if you change the database layout (e.g. with a source install) guix pull may break. We could have specific rescue nars that go with database versions. That also frees you to change the database :). Call it a transition/rescue nar on time points where things can break. The change to guile2 was such a break, guile-json/tls another and now the new guix pull come to mind. That was dependencies only. We know we are going to change the database in the future... > An archive like you suggest could be useful in those hopefully rare > cases where things break, so it’s a good idea. It should be easy to generate when we do a new release, similar to the binary image, right? We only need a rescue when there is a breaking change, however. They do happen. Pj.