On Mon, Mar 21, 2016 at 08:15:34PM +0100, Taylan Ulrich Bayırlı/Kammer wrote: > So when someone instructs guix to rebuild the world from scratch, it > downloads the bootstrap blob, then builds 1.1 with it, then builds 1.7 > with that, then 2.2 with that, and so on, and ultimately the current > version.
This is an interesting idea, but maybe not enough, assuming that the build process requires additional inputs to build besides the bootstrap blob. If we need additional libraries A to Z to build the compiler, then it may be that 1.7 and 2.2 require different versions of these libraries. And of course, each library may depend recursively on another set of libraries. Ultimately, this might force us to keep a whole tree (well, DAG) of frozen inputs for versions 1.7 and 2.2 to compile the current one. This might quickly become completely unmanageable. (An example is the latest trial of updating libreoffice, which was actually impossible given that libreoffice itself and some of its inputs all depended on a certain library, but in different versions). Andreas