From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([209.51.188.92]:37908) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1h4Wmi-0006Kj-Kf for guix-patches@gnu.org; Thu, 14 Mar 2019 16:17:01 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1h4WXH-0008E1-JA for guix-patches@gnu.org; Thu, 14 Mar 2019 16:01:07 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:58778) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1h4WXG-0008CQ-KW for guix-patches@gnu.org; Thu, 14 Mar 2019 16:01:03 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1h4WXG-000079-99 for guix-patches@gnu.org; Thu, 14 Mar 2019 16:01:02 -0400 Subject: [bug#34638] [PATCH 0/4] Isolated inferiors. Resent-Message-ID: From: Ludovic =?UTF-8?Q?Court=C3=A8s?= References: <875zt9go87.fsf@cbaines.net> Date: Thu, 14 Mar 2019 20:35:53 +0100 In-Reply-To: <875zt9go87.fsf@cbaines.net> (Christopher Baines's message of "Sun, 24 Feb 2019 16:12:08 +0000") Message-ID: <878sxhi6zq.fsf@gnu.org> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+kyle=kyleam.com@gnu.org Sender: "Guix-patches" To: Christopher Baines Cc: 34638@debbugs.gnu.org Hello! Christopher Baines skribis: > These patches form a prototype for Guix inferiors, that are > isolated. Access to the inferior Guix is done through running a REPL as > a separate process. These patches provide a way of launching that REPL > in an isolated environment through Linux namespaces, providing some > isolation from the wider system. > > These patches should work, at least enough to get the derivations for > packages within the inferior Guix, as well as doing 'guix pull' within > the inferior Guix. This is really cool. When we do this kind of thing (like also the =E2=80=9CCompute Guix derivati= on=E2=80=9D trampoline used by =E2=80=98guix pull=E2=80=99), it reminds me of what the = Nix people call =E2=80=9Crecursive Nix=E2=80=9D=E2=80=94the ability for a derivation= =E2=80=99s build process to compute other derivation. If we had that, then basically what you=E2=80=99= re doing might just as well be a derivation. BTW, thinking about it, for the Guix Data Service, would =E2=80=98gexp->derivation-in-inferior=E2=80=99 be of any use? This is used= , for example, to compute the package cache when running =E2=80=98guix pull=E2=80= =99. I think it=E2=80=99s good enough if all you want is to extract basic file meta-data, but it=E2=80=99s no good if you also want to extract package derivations and the likes. Or we could have a new store back-end that computes derivations in memory and eventually spits a Nar=E2=80=A6 I=E2=80=99m just thinking out loud! Thanks, Ludo=E2=80=99.