On Thu, Oct 26, 2017 at 05:48:20PM -0700, Ludovic Courtès wrote: > Hi! > > Ricardo Wurmus <rek...@elephly.net> skribis: > > > How about an extension of “guix pack” that will rewrite the /gnu/store > > references to a user-provided directory before bundling things up in a > > tarball? > > I’ve thought about this (we have rewriting machinery in (guix build > grafts) that we could adjust and use), but then I thought that maybe > PRoot, unshare, and all the rest are good enough?
PRoot is too slow for most HPC purposes but can be used to build non-proot binaries, as I do here: https://gitlab.com/pjotrp/guix-notes/blob/master/GUIX-NO-ROOT.org But it is a roundabout way and too much for most people to handle. Also we are not reusing Guix binaries that way. > The tarballs could include proot-static and another statically-linked > program that essentially tries to call unshare(2). Would that make > sense? proot is a no-go for actual use involving IO. > > With that we would be one step closer to the user experience of Docker > > — without having a runtime dependency on Docker. > > It’s also fine to use Docker when it’s available, I think. Docker is a no-go on 90% HPC's out there (that number may go down slowly). Also Docker is a royal pain to deal with: every time I have to install it somewhere it gives me some grief. I don't think it is that useful for distributing software. I think if we have a proper replacement for Docker - like Conda does - the need for Docker will actually go away. +1 for providing relocatable packages as far as I am concerned. Pj.