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.


Reply via email to