help-guix
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: offline repo server


From: Efraim Flashner
Subject: Re: offline repo server
Date: Fri, 19 Jan 2018 15:01:47 +0200
User-agent: Mutt/1.9.2 (2017-12-15)

On Wed, Jan 17, 2018 at 06:12:49PM -0600, Eric Bavier wrote:
> On Wed, 17 Jan 2018 18:58:08 -0500
> Quiliro Ordonez Baca <address@hidden> wrote:
> 
> > I am not sure if this has been asked before. But I live in a place where
> > there is no network link and I would like users to install different
> > softwares there.
> > 
> > Is it possible to have a machine connect to the net every so often so
> > that it updates all available substitutes (or source if substitutes are
> > not available)...and then take that machine to an offline site where
> > other machines use it to install all packages that users want?
> > 
> 
> I don't think we don't have anything out-of-the-box that would elegantly
> handle a use-case like this.  That being said, you should be able to
> hack something together.  I think a good place to start would be the
> recent work Ludovic did on 'guix weather', which queries substitute
> servers for availability of package substitutes.  You could base
> something off that which, instead of simply reporting statistics,
> actually builds the derivations: either the source derivation if a
> substitute is unavailable, or the package derivation.
> 
> Obviously, downloading substitutes and/or source for all
> packages could take quite a but of time, so you may instead want to
> limit to a manifest of the packages you're interested in.  But that
> could get more complicated because a package's source is "useless"
> unless you have sources or substitutes of the packages needed to build
> it, so you'd need to analyze the dependency tree a bit.
> 
> It's an interesting use-case.
> 
> Happy Hacking,
> `~Eric

The shell script I use on my aarch64 build machine is:
guix build --no-substitutes --no-grafts --keep-going $(guix package -A | cut 
-f1,2 --output-delimiter=@) --sources=transitive

Not related to caching sources but related to building all the packages,
I take off '--sources=transitive' and put on '--max-silent-time=1800' when
I'm= building everything.

I guess if you're not running it as a fully independant build server
then you wouldn't need the '--no-substitutes'


-- 
Efraim Flashner   <address@hidden>   אפרים פלשנר
GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted

Attachment: signature.asc
Description: PGP signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]