Christopher Baines <m...@cbaines.net> writes: > Dr. Arne Babenhauserheide <arne_...@web.de> writes: > >> I’d like to create a small server that provides substitutes for >> packages for which I often have to build a fallback (mostly ungoogled >> Chromium). >> >> How can I do that? Is there already a simply way? > > It's not simple (yet), but I'm hoping to get there eventually with the > Guix Build Coordinator. > > 1: https://git.cbaines.net/guix/build-coordinator/about/ … > I realise the promise of being able to do this more easily in the future > isn't that helpful, but I still wanted to mention the Guix Build > Coordinator in case it's something you're interested in.
It sounds promising and I’m not in so much of a hurry that I can’t wait a bit more. Thank you! What I need is likely much simpler, though: I need a hook which triggers whenever a package had to be built locally. That way we could have dynamic substitute-servers. And seeing guix publish run locally got me wishing more that I’d already be finished with my download-mesh implementation, because guix would be a perfect usecase for that: We can actually add headers and people have long-running servers. Parts of the content-addressed storage and chunk-assembly are already done, but I’m still missing the validation of chunks and making currently running downloads available. Conceptually it’s simple: Users could tell guix to serve all derivations they downloaded and tell the server to mark their guix-daemon as content-addressed alternate source (X-Alt), then when someone downloaded something like the 828MiB chromium derivation, the original server would hand out a list of X-Alts, the hash for content-addressed retrieval and a merkle-tree of chunk hashes for chunk-validation, so clients could download from other clients without having to trust them. The current state of my implementation of such a server and downloader is at https://hg.sr.ht/~arnebab/wispserve/browse/wispserve/serve.w?rev=tip And while writing this message I implemented serving while downloading. Best wishes, Arne -- Unpolitisch sein heißt politisch sein ohne es zu merken
signature.asc
Description: PGP signature