Message ID | cover.1742503590.git.ludo@gnu.org |
---|---|
Headers |
Return-Path: <guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org> X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id BAB8A27BBEA; Thu, 20 Mar 2025 20:57:32 +0000 (GMT) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-7.6 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,MAILING_LIST_MULTI,RCVD_IN_DNSWL_BLOCKED, RCVD_IN_VALIDITY_CERTIFIED,RCVD_IN_VALIDITY_RPBL,RCVD_IN_VALIDITY_SAFE, SPF_HELO_PASS,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.6 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id 38A1127BBE2 for <patchwork@mira.cbaines.net>; Thu, 20 Mar 2025 20:57:32 +0000 (GMT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from <guix-patches-bounces@gnu.org>) id 1tvMx0-0002Z8-8S; Thu, 20 Mar 2025 16:57:14 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <Debian-debbugs@debbugs.gnu.org>) id 1tvMwt-0002Xh-JC for guix-patches@gnu.org; Thu, 20 Mar 2025 16:57:07 -0400 Received: from debbugs.gnu.org ([2001:470:142:5::43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from <Debian-debbugs@debbugs.gnu.org>) id 1tvMwr-0001Mg-Hy for guix-patches@gnu.org; Thu, 20 Mar 2025 16:57:06 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=debbugs.gnu.org; s=debbugs-gnu-org; h=MIME-Version:Date:From:To:In-Reply-To:References:Subject; bh=UhcTHomJLMz+Z22SzzpugSALo+1Q3w2wJJxYBdsyIsc=; b=cN87GlqU5m0jkmJ1WTMMQheKeySWmv18YuVOrylL4igmPv1+Pu7Q3Pc5H0vsUsk1r93DoFernWL26VgdgNB0sbVGQsgOHnNgp969xHgazIN8gzmYxo4hubqVUZaIV8AfS7Bg4re8xnZUcgy6sHNi8gEJKtcYkZ49rde9ypSRGOtBLDgEvxtP30Zrkl1i2s7hRk4lRwauWL98azgTvXHB3nETB8U0SshX4JU9c1WWeqsbzulTnWFXErZdIcWHaPWIeR8lMY4EGbY+2Jm9a6c8BmQWPMGz2cmtLWEksG5uIMJuS3M5vLTKQQwJiB2KqhYnKv/ihfZFS6cWWPz0CZ7NdA==; Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from <Debian-debbugs@debbugs.gnu.org>) id 1tvMwr-0006YB-AP for guix-patches@gnu.org; Thu, 20 Mar 2025 16:57:05 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#75810] [PATCH v7 00/16] Rootless guix-daemon References: <cover.1737738362.git.ludo@gnu.org> In-Reply-To: <cover.1737738362.git.ludo@gnu.org> Resent-From: Ludovic =?utf-8?q?Court=C3=A8s?= <ludo@gnu.org> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces@debbugs.gnu.org> Resent-CC: guix-patches@gnu.org Resent-Date: Thu, 20 Mar 2025 20:57:05 +0000 Resent-Message-ID: <handler.75810.B75810.174250420225016@debbugs.gnu.org> Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 75810 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 75810@debbugs.gnu.org Cc: Ludovic =?utf-8?q?Court=C3=A8s?= <ludo@gnu.org>, Reepca Russelstein <reepca@russelstein.xyz> Received: via spool by 75810-submit@debbugs.gnu.org id=B75810.174250420225016 (code B ref 75810); Thu, 20 Mar 2025 20:57:05 +0000 Received: (at 75810) by debbugs.gnu.org; 20 Mar 2025 20:56:42 +0000 Received: from localhost ([127.0.0.1]:59176 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces@debbugs.gnu.org>) id 1tvMwO-0006Ue-Ue for submit@debbugs.gnu.org; Thu, 20 Mar 2025 16:56:41 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:41192) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from <ludo@gnu.org>) id 1tvMw5-0006Qx-RY for 75810@debbugs.gnu.org; Thu, 20 Mar 2025 16:56:19 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <ludo@gnu.org>) id 1tvMvt-0001F0-QO; Thu, 20 Mar 2025 16:56:05 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-Version:Date:Subject:To:From:in-reply-to: references; bh=UhcTHomJLMz+Z22SzzpugSALo+1Q3w2wJJxYBdsyIsc=; b=C65VQVLDqDZt3I 5RM3nPTA39Ico3LbrrW5MYZf9GMEodFTN/Uj9fN4k4TG0Ts8O6AsBMOThcZIADOqmOQduuTwwH/k/ rS238C7X7WbFuIzkpi5EpPPR+buL6TjAb75EXUjpH24ETHuOYF5jF1pmc/9s3wbSfjq/XasRUSqaZ 1O/dd+L+9hEwNGa3odN8CuDFaJUplESyZ2F1ZvhNgyWfgxwsbIFnl8JPgHfNl8D+/Ff4kSVZ0r/9D 113+7Civmab/kOWaAhh82dzE2+kMnp42CMJNJcrqSAAZtaplGP8HZeR6Qc3KAVk+qlwCkHhKSIKD2 hogX3HNQHrrapG4O9rTA==; From: Ludovic =?utf-8?q?Court=C3=A8s?= <ludo@gnu.org> Date: Thu, 20 Mar 2025 21:54:33 +0100 Message-ID: <cover.1742503590.git.ludo@gnu.org> X-Mailer: git-send-email 2.48.1 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: <guix-patches.gnu.org> List-Unsubscribe: <https://lists.gnu.org/mailman/options/guix-patches>, <mailto:guix-patches-request@gnu.org?subject=unsubscribe> List-Archive: <https://lists.gnu.org/archive/html/guix-patches> List-Post: <mailto:guix-patches@gnu.org> List-Help: <mailto:guix-patches-request@gnu.org?subject=help> List-Subscribe: <https://lists.gnu.org/mailman/listinfo/guix-patches>, <mailto:guix-patches-request@gnu.org?subject=subscribe> Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org X-getmail-retrieved-from-mailbox: Patches |
Series |
Rootless guix-daemon
|
|
Message
Ludovic Courtès
March 20, 2025, 8:54 p.m. UTC
Hello, Changes compared to v6 (all suggested by Reepca): • Canonicalize the builder’s file name before ‘execve’ and add the “builder is outside the store” test in ‘tests/derivations.scm’ (though the test would already succeed before due to the ELF interpreter being unavailable in the chroot). • Explicitly close both ends of the ‘readiness’ pipe. • Use ‘mkdir -p’ to create /var/log/guix in ‘guix-install.sh’. Thoughts? Ludo’. Ludovic Courtès (16): daemon: Use ‘close_range’ where available. daemon: Close the read end of the logging pipe. daemon: Bind-mount /etc/nsswitch.conf & co. only if it exists. daemon: Bind-mount all the inputs, not just directories. daemon: Remount inputs as read-only. daemon: Remount root directory as read-only. daemon: Allow running as non-root with unprivileged user namespaces. daemon: Create /var/guix/profiles/per-user unconditionally. daemon: Drop Linux ambient capabilities before executing builder. daemon: Move comments where they belong. linux-container: ‘unprivileged-user-namespace-supported?’ returns #f on non-Linux. tests: Add missing derivation inputs. tests: Run in a chroot and unprivileged user namespaces. etc: systemd services: Run ‘guix-daemon’ as an unprivileged user. guix-install.sh: Support the unprivileged daemon where possible. DRAFT gnu: guix: Update to f447941. build-aux/test-env.in | 18 +- config-daemon.ac | 5 +- doc/guix.texi | 102 ++++++++--- etc/gnu-store.mount.in | 3 +- etc/guix-daemon.service.in | 22 ++- etc/guix-install.sh | 124 ++++++++++--- gnu/build/linux-container.scm | 4 +- gnu/packages/package-management.scm | 6 +- guix/substitutes.scm | 2 +- nix/libstore/build.cc | 271 ++++++++++++++++++++++------ nix/libstore/local-store.cc | 26 ++- nix/libutil/util.cc | 26 ++- tests/derivations.scm | 34 +++- tests/packages.scm | 13 +- tests/processes.scm | 9 +- tests/store.scm | 247 +++++++++++++++++++++---- 16 files changed, 726 insertions(+), 186 deletions(-) base-commit: cbd2db98954739db1cdda208e1667c5d50976bf1