Pan Xie <xie...@skyguard.com.cn> writes:

> 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?

For the bordeaux build farm [1], the answer is yes, ignoring some things
going wrong, everything that has been built has been kept. Note that the
bordeaux build farm has only been around for the last 4 to 5 years, and
won't have substitutes for Guix revisions before that (although this
could change in the future).

There are some public stats about this [2], but it needs to be displayed
in a nice way. There are nearly 8 million nars, which take up around
26TiB of space. The project makes use of two copies of these nars, one
which I host and another hosted at the MDC.

1: https://bordeaux.guix.gnu.org/
2: https://bordeaux.guix.gnu.org/metrics

Note that I do actually want to start removing nars, but only nars which
aren't relevant to the master branch. Since the bordeaux build farm
builds branches and patches, it's not helpful to store nars for these
builds indefinitely, unless of course they're relevant to the master
branch.

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

If you want to store all the bordeaux nars, then you'd need at least
26TiB, but for running the mirrors listed on bordeaux.guix.gnu.org, they
operate as a caching reverse proxy. For that approach, you only need say
60GiB of space, enough for the nar-herder database plus a few cached
nars. If you want NGinx to cache more nars, then you simply increase the
space allotted.

> 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?

Nope, you're right. If you want to explore the nar-herder database for
bordeaux.guix.gnu.org, you can download a dump of it here [3] (it's 19G
in size). You can also see the outputs changing over time through the
data service [4].

3: https://bordeaux.guix.gnu.org/latest-database-dump
4: 
https://data.guix.gnu.org/repository/1/branch/master/package/emacs/output-history

Attachment: signature.asc
Description: PGP signature

Reply via email to