Hi there

While reading the Guix reference manual, I get a silly concern. I believe it is silly because this concern must have been addressed, but I am still interested in details.


My concern is about the storage resources of the substitute servers. Since guix is a functional package manager, each package (e.g. emacs) must have lots of builds, with (sometimes, even slightly)

differences of inputs.  The value of a substitute server is to pre-build these packages, and provide them on demand. I can't figure out how many different emacs builds exist at a time on

a substitute server, but I guess there are many. On the other hand, guix also provides time-machine functionality, which allow users use versions of packages years ago. So my concern and questions:


1. Does a substitute server keeps all the packages it build? If the answer is yes, won't it consume huge storage resources? If the answer is no, then the user who use time-machine travel back to

    years before have to build all the packages from scratch?


2. If I am going to create a mirror of guix's official substitute server, what is the requirement of the storage?


3. Does a package really has lots of build on a substitute server? For example, emacs-29.1 has lots of inputs. I guess each time there is a commit to guix repository which change the inputs, there will be a build

    of it, so there must be lots of emacs-29.1 builds, with different hash numbers. Or am I wrong?


Regards

Pan



Reply via email to