From patchwork Wed Jun 7 09:40:04 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Ludovic_Court=C3=A8s?= X-Patchwork-Id: 50747 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id 3FC3827BBEA; Wed, 7 Jun 2023 10:41:11 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.7 required=5.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,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 026D827BBE9 for ; Wed, 7 Jun 2023 10:41:09 +0100 (BST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1q6pf5-00083j-Ra; Wed, 07 Jun 2023 05:41:03 -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 ) id 1q6pf4-000822-Dk for guix-patches@gnu.org; Wed, 07 Jun 2023 05:41:02 -0400 Received: from debbugs.gnu.org ([209.51.188.43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1q6pf4-0006Ev-5G for guix-patches@gnu.org; Wed, 07 Jun 2023 05:41:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1q6pf3-0007D0-LW for guix-patches@gnu.org; Wed, 07 Jun 2023 05:41:01 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#63943] The Shepherd on GNU/Hurd Resent-From: Ludovic =?utf-8?q?Court=C3=A8s?= Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Wed, 07 Jun 2023 09:41:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 63943 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 63943@debbugs.gnu.org Cc: Josselin Poiret , Janneke Nieuwenhuizen Received: via spool by 63943-submit@debbugs.gnu.org id=B63943.168613083427667 (code B ref 63943); Wed, 07 Jun 2023 09:41:01 +0000 Received: (at 63943) by debbugs.gnu.org; 7 Jun 2023 09:40:34 +0000 Received: from localhost ([127.0.0.1]:53604 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1q6peb-0007C9-U8 for submit@debbugs.gnu.org; Wed, 07 Jun 2023 05:40:34 -0400 Received: from eggs.gnu.org ([209.51.188.92]:60494) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1q6peZ-0007Bv-6I for 63943@debbugs.gnu.org; Wed, 07 Jun 2023 05:40:32 -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 ) id 1q6peT-00061h-KT; Wed, 07 Jun 2023 05:40:25 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-Version:In-Reply-To:Date:References:Subject:To: From; bh=bt044jl5hZPhVq696vfFPGT9FU/rU7ra/ldHC5dKS6c=; b=hQoNx3d8tbiFRZ9ul6e0 oan/XJXoCcWPadsPHJMPelEUZE7ne1xSi45T6WOTolDWnsf+zQ58ivb2CqYxLCBFtR6dL8LcYKyh8 b8xnW1Siecu6JcXyxxyONP+MbLhrpJqMIZGCMf76ytWDJlSAwfboShKVR+x2GTz9H6WV9pK8damcD naai0wy3/I0ESTYHlaHkeiyqXSyZhfoUxrqjTktCMoy1Gy6j99W4OpC8BluyN9rcVKMaZHf6zTZq0 ya8YlNKuZ+l2zRyD/yM8SgoY7ohOY1PrsqMYA78NfP3aRl9FqSiGecjR/3e7dZCSZcSIXv0OTWiFl FSs3g5vOymvEdQ==; Received: from 91-160-117-201.subs.proxad.net ([91.160.117.201] helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1q6peA-0003Up-Kt; Wed, 07 Jun 2023 05:40:17 -0400 From: Ludovic =?utf-8?q?Court=C3=A8s?= References: Date: Wed, 07 Jun 2023 11:40:04 +0200 In-Reply-To: ("Ludovic =?utf-8?q?Court?= =?utf-8?q?=C3=A8s?= "'s message of "Wed, 7 Jun 2023 10:39:36 +0200") Message-ID: <87fs73626j.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.2 (gnu/linux) MIME-Version: 1.0 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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 Ludovic Courtès skribis: > To me it’s important so we can upgrade the Shepherd in use on GNU/Hurd > (it’s still stuck at 0.8 because so far Fibers lacked support for > non-Linux systems), which in turn means we can use the newer Shepherd > APIs in its config file. Unfortunately, while shepherd cross-builds > and runs on GNU/Hurd, I’m not confident it “works”. I’ll write more > in a separate message. The patch I ended up not including in this series is use of current Shepherd on GNU/Hurd (attached). Problems that I see are: • ‘networking’ gets stuck in ‘starting’ state. My guess is that it uses ‘system*’ (the replacement provided by shepherd) and that one does not return because we never get SIGCHLD. • (@ (ice-9 threads) all-threads) says there are two threads. That was already the case with 0.8, but it’s no good. Also, I haven’t tried to run the Shepherd’s test suite natively on GNU/Hurd; I’m sure it’d uncover problems. Overall, I’m pessimistic about signal handling without ‘signalfd’. We could try to get shepherd to kinda work without ‘signalfd’ (we could even test that code path on GNU/Linux), but that’s going to be brittle as we can already see. What d’ya think, comrades? Ludo’. diff --git a/gnu/system.scm b/gnu/system.scm index 354f58f55b..5c4c045e28 100644 --- a/gnu/system.scm +++ b/gnu/system.scm @@ -804,9 +804,7 @@ (define (hurd-default-essential-services os) %boot-service %hurd-startup-service %activation-service - (service shepherd-root-service-type - (shepherd-configuration - (shepherd shepherd-0.8))) ;no Fibers + (service shepherd-root-service-type) (service user-processes-service-type) (account-service (append (operating-system-accounts os) diff --git a/gnu/system/hurd.scm b/gnu/system/hurd.scm index 558d1ee9e3..0aa473fd42 100644 --- a/gnu/system/hurd.scm +++ b/gnu/system/hurd.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2020-2022 Ludovic Courtès +;;; Copyright © 2020-2023 Ludovic Courtès ;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen ;;; ;;; This file is part of GNU Guix. @@ -68,7 +68,7 @@ (define %base-packages/hurd ;; Note: the Shepherd comes before the Hurd, not just because its duty is to ;; shepherd the herd, but also because we want its 'halt' and 'reboot' ;; commands to take precedence. - (list shepherd-0.8 hurd bash coreutils file findutils grep sed + (list shepherd-0.10 hurd bash coreutils file findutils grep sed diffutils patch gawk tar gzip bzip2 xz lzip guile-3.0-latest guile-colorized guile-readline net-base inetutils less shadow sudo which