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 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 אפרים פלשנר GPG key = A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351 Confidentiality cannot be guaranteed on emails sent or received unencrypted