GNU bug report logs - #68258
[PATCH 0/7] Upgrading Shepherd and moving the Hurd to 0.10.x

Previous Next

Package: guix-patches;

Reported by: Ludovic Courtès <ludo <at> gnu.org>

Date: Fri, 5 Jan 2024 10:57:02 UTC

Severity: normal

Tags: patch

Done: Ludovic Courtès <ludo <at> gnu.org>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 68258 in the body.
You can then email your comments to 68258 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to guix-patches <at> gnu.org:
bug#68258; Package guix-patches. (Fri, 05 Jan 2024 10:57:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Ludovic Courtès <ludo <at> gnu.org>:
New bug report received and forwarded. Copy sent to guix-patches <at> gnu.org. (Fri, 05 Jan 2024 10:57:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Ludovic Courtès <ludo <at> gnu.org>
To: guix-patches <at> gnu.org
Cc: Ludovic Courtès <ludo <at> gnu.org>
Subject: [PATCH 1/7] services: openssh: Add dependency on ‘networking’.
Date: Fri,  5 Jan 2024 11:56:19 +0100
* gnu/services/ssh.scm (openssh-shepherd-service): Add ‘networking’ to
‘requirement’.

Change-Id: I14c48fe40cce86810a544de6bb7f925bc360653a
---
 gnu/services/ssh.scm | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/gnu/services/ssh.scm b/gnu/services/ssh.scm
index 0abecd6b42..f759c5cf6e 100644
--- a/gnu/services/ssh.scm
+++ b/gnu/services/ssh.scm
@@ -1,5 +1,5 @@
 ;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2014-2019, 2022, 2023 Ludovic Courtès <ludo <at> gnu.org>
+;;; Copyright © 2014-2019, 2022-2024 Ludovic Courtès <ludo <at> gnu.org>
 ;;; Copyright © 2016 David Craven <david <at> craven.ch>
 ;;; Copyright © 2016 Julien Lepiller <julien <at> lepiller.eu>
 ;;; Copyright © 2017 Clément Lassieur <clement <at> lassieur.org>
@@ -592,7 +592,10 @@ (define (openssh-shepherd-service config)
 
   (list (shepherd-service
          (documentation "OpenSSH server.")
-         (requirement '(pam syslogd loopback))
+
+         ;; On the Hurd, this can only be started after pfinet is up, hence
+         ;; the dependency on 'networking'.
+         (requirement '(pam syslogd loopback networking))
          (provision '(ssh-daemon ssh sshd))
 
          (start #~(if #$inetd-style?
-- 
2.41.0





Information forwarded to guix-patches <at> gnu.org:
bug#68258; Package guix-patches. (Fri, 05 Jan 2024 11:01:01 GMT) Full text and rfc822 format available.

Message #8 received at 68258 <at> debbugs.gnu.org (full text, mbox):

From: Ludovic Courtès <ludo <at> gnu.org>
To: 68258 <at> debbugs.gnu.org
Cc: Ludovic Courtès <ludo <at> gnu.org>,
 Janneke Nieuwenhuizen <janneke <at> gnu.org>
Subject: [PATCH 0/7] Upgrading Shepherd and moving the Hurd to 0.10.x
Date: Fri,  5 Jan 2024 11:59:28 +0100
Hello Guix!

With the upcoming Shepherd 0.10.3, which I plan to publish in the
coming days, I’d like to make these changes: switching the Hurd to
0.10.x (instead of 0.8.x!) since it’s now functional, which in turn
allows us to use the 0.10.x interfaces (GOOPS-less; this is a step
before the Shepherd 1.0, which will not support the GOOPS interface
at all¹).

Thoughts?

Ludo’.

¹ https://lists.gnu.org/archive/html/guix-devel/2023-04/msg00059.html

Ludovic Courtès (7):
  services: openssh: Add dependency on ‘networking’.
  tests: childhurd: Increase SSH connection timeout.
  DRAFT gnu: shepherd: Update to 0.10.3.
  system: hurd: Use the Shepherd 0.10.x.
  services: shepherd: Use the 0.10.x GOOPS-less interface.
  home: services: shepherd: Use the 0.10.x interface.
  services: bitlbee: Use ‘make-inetd-constructor’ unconditionally.

 gnu/home/services/shepherd.scm | 12 +++-----
 gnu/packages/admin.scm         |  6 ++--
 gnu/services/messaging.scm     | 51 ++++++++++++----------------------
 gnu/services/shepherd.scm      | 30 +++++++-------------
 gnu/services/ssh.scm           |  7 +++--
 gnu/system.scm                 |  4 +--
 gnu/system/hurd.scm            |  4 +--
 gnu/tests/virtualization.scm   |  3 +-
 8 files changed, 45 insertions(+), 72 deletions(-)


base-commit: 30bd86e0853ebef9f7e32315d00f67caa1880ef3
-- 
2.41.0





Information forwarded to guix-patches <at> gnu.org:
bug#68258; Package guix-patches. (Fri, 05 Jan 2024 11:01:02 GMT) Full text and rfc822 format available.

Message #11 received at 68258 <at> debbugs.gnu.org (full text, mbox):

From: Ludovic Courtès <ludo <at> gnu.org>
To: 68258 <at> debbugs.gnu.org
Cc: Ludovic Courtès <ludo <at> gnu.org>
Subject: [PATCH 2/7] tests: childhurd: Increase SSH connection timeout.
Date: Fri,  5 Jan 2024 11:59:29 +0100
* gnu/tests/virtualization.scm (run-childhurd-test)[run-command-over-ssh]:
Pass #:timeout.

Change-Id: I44bb3673457275fe3a8ec0af2e364292727f53a8
---
 gnu/tests/virtualization.scm | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/gnu/tests/virtualization.scm b/gnu/tests/virtualization.scm
index f3655f1d8a..6ca88cbacd 100644
--- a/gnu/tests/virtualization.scm
+++ b/gnu/tests/virtualization.scm
@@ -1,6 +1,6 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2017 Christopher Baines <mail <at> cbaines.net>
-;;; Copyright © 2020-2023 Ludovic Courtès <ludo <at> gnu.org>
+;;; Copyright © 2020-2024 Ludovic Courtès <ludo <at> gnu.org>
 ;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke <at> gnu.org>
 ;;; Copyright © 2021 Pierre Langlois <pierre.langlois <at> gmx.com>
 ;;; Copyright © 2022 Marius Bakke <marius <at> gnu.org>
@@ -277,6 +277,7 @@ (define (run-childhurd-test)
               (let ((session (make-session #:user "test"
                                            #:port 10022
                                            #:host "localhost"
+                                           #:timeout 120
                                            #:log-verbosity 'rare)))
                 (match (connect! session)
                   ('ok
-- 
2.41.0





Information forwarded to guix-patches <at> gnu.org:
bug#68258; Package guix-patches. (Fri, 05 Jan 2024 11:01:02 GMT) Full text and rfc822 format available.

Message #14 received at 68258 <at> debbugs.gnu.org (full text, mbox):

From: Ludovic Courtès <ludo <at> gnu.org>
To: 68258 <at> debbugs.gnu.org
Cc: Ludovic Courtès <ludo <at> gnu.org>
Subject: [PATCH 3/7] DRAFT gnu: shepherd: Update to 0.10.3.
Date: Fri,  5 Jan 2024 11:59:30 +0100
DRAFT: Update to the actual release.

* gnu/packages/admin.scm (shepherd-0.10): Update to 0.10.3.

Change-Id: I6b14a41c22a18bcf0c5bd380d7f118276d0f761c
---
 gnu/packages/admin.scm | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm
index 377caf8793..e4de0c25d4 100644
--- a/gnu/packages/admin.scm
+++ b/gnu/packages/admin.scm
@@ -373,14 +373,14 @@ (define-public shepherd-0.9
 (define-public shepherd-0.10
   (package
     (inherit shepherd-0.9)
-    (version "0.10.2")
+    (version "0.10.3rc1")
     (source (origin
               (method url-fetch)
-              (uri (string-append "mirror://gnu/shepherd/shepherd-"
+              (uri (string-append "https://alpha.gnu.org/gnu/shepherd/shepherd-"
                                   version ".tar.gz"))
               (sha256
                (base32
-                "0v9ld9gbqdp5ya380fbkdsxa0iqr90gi6yk004ccz3n792nq6wlj"))))
+                "05zjaqh2xzc929vlk5qvl8h6w7irm56j3nx8cw1z4fra6mmsgdgh"))))
     (native-inputs (modify-inputs (package-native-inputs shepherd-0.9)
                      (replace "guile-fibers"
                        ;; Work around
-- 
2.41.0





Information forwarded to guix-patches <at> gnu.org:
bug#68258; Package guix-patches. (Fri, 05 Jan 2024 11:01:03 GMT) Full text and rfc822 format available.

Message #17 received at 68258 <at> debbugs.gnu.org (full text, mbox):

From: Ludovic Courtès <ludo <at> gnu.org>
To: 68258 <at> debbugs.gnu.org
Cc: Ludovic Courtès <ludo <at> gnu.org>
Subject: [PATCH 4/7] system: hurd: Use the Shepherd 0.10.x.
Date: Fri,  5 Jan 2024 11:59:31 +0100
* gnu/system.scm (hurd-default-essential-services): Remove reference to
‘shepherd-0.8’.
* gnu/system/hurd.scm (%base-packages/hurd): Replace ‘shepherd-0.8’ with
‘shepherd-0.10’.

Change-Id: I9f1800693cda456286450d3d0bb6f7e3da85d55e
---
 gnu/system.scm      | 4 +---
 gnu/system/hurd.scm | 4 ++--
 2 files changed, 3 insertions(+), 5 deletions(-)

diff --git a/gnu/system.scm b/gnu/system.scm
index 279b9df5c0..be15615879 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 3b138bef65..cbe0081382 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 <ludo <at> gnu.org>
+;;; Copyright © 2020-2023 Ludovic Courtès <ludo <at> gnu.org>
 ;;; Copyright © 2020, 2023 Janneke Nieuwenhuizen <janneke <at> gnu.org>
 ;;;
 ;;; This file is part of GNU Guix.
@@ -70,7 +70,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 netdde bash coreutils file findutils grep sed
+  (list shepherd-0.10 hurd netdde bash coreutils file findutils grep sed
         diffutils patch gawk tar gzip bzip2 xz lzip
         guile-3.0-latest guile-colorized guile-readline
         net-base nss-certs inetutils less procps shadow sudo which
-- 
2.41.0





Information forwarded to guix-patches <at> gnu.org:
bug#68258; Package guix-patches. (Fri, 05 Jan 2024 11:01:03 GMT) Full text and rfc822 format available.

Message #20 received at 68258 <at> debbugs.gnu.org (full text, mbox):

From: Ludovic Courtès <ludo <at> gnu.org>
To: 68258 <at> debbugs.gnu.org
Cc: Ludovic Courtès <ludo <at> gnu.org>
Subject: [PATCH 5/7] services: shepherd: Use the 0.10.x GOOPS-less interface.
Date: Fri,  5 Jan 2024 11:59:32 +0100
* gnu/services/shepherd.scm (%default-modules): Remove (oop goops).
(shepherd-service-file): Use (service …) instead of (make <service> …).
Use ‘actions’ instead of ‘make-actions’.
(scm->go): Remove use of (oop goops).
(shepherd-configuration-file): Pass ‘register-services’ a list.
Use ‘start-in-the-background’ unconditionally.

Change-Id: I0ad1ba32e339c56ee31e59f160b53d3581277d97
---
 gnu/services/shepherd.scm | 30 ++++++++++--------------------
 1 file changed, 10 insertions(+), 20 deletions(-)

diff --git a/gnu/services/shepherd.scm b/gnu/services/shepherd.scm
index 8e122f1aab..5ebac129ce 100644
--- a/gnu/services/shepherd.scm
+++ b/gnu/services/shepherd.scm
@@ -183,7 +183,6 @@ (define %default-imported-modules
 (define %default-modules
   ;; Default set of modules visible in a service's file.
   `((shepherd service)
-    (oop goops)
     ((guix build utils) #:hide (delete))
     (guix build syscalls)))
 
@@ -300,10 +299,10 @@ (define (shepherd-service-file service)
                  #~(begin
                      (use-modules #$@(shepherd-service-modules service))
 
-                     (make <service>
-                       #:docstring '#$(shepherd-service-documentation service)
-                       #:provides '#$(shepherd-service-provision service)
-                       #:requires '#$(shepherd-service-requirement service)
+                     (service
+                      '#$(shepherd-service-provision service)
+                       #:documentation '#$(shepherd-service-documentation service)
+                       #:requirement '#$(shepherd-service-requirement service)
 
                        ;; The 'one-shot?' slot is new in Shepherd 0.6.0.
                        ;; Older versions ignore it.
@@ -313,7 +312,7 @@ (define (shepherd-service-file service)
                        #:start #$(shepherd-service-start service)
                        #:stop #$(shepherd-service-stop service)
                        #:actions
-                       (make-actions
+                       (actions
                         #$@(map (match-lambda
                                   (($ <shepherd-action> name proc doc)
                                    #~(#$name #$doc #$proc)))
@@ -338,7 +337,6 @@ (define (scm->go file shepherd)
 
                          ;; Do the same as the Shepherd's 'load-in-user-module'.
                          (let ((env (make-fresh-user-module)))
-                           (module-use! env (resolve-interface '(oop goops)))
                            (module-use! env (resolve-interface '(shepherd service)))
                            (with-target #$(or target #~%host-type)
                              (lambda _
@@ -401,25 +399,17 @@ (define (shepherd-configuration-file services shepherd)
           ;; than a kernel panic.
           (call-with-error-handling
             (lambda ()
-              (apply register-services
-                     (parameterize ((current-warning-port
-                                     (%make-void-port "w")))
-                       (map load-compiled '#$(map scm->go files))))))
+              (register-services
+               (parameterize ((current-warning-port
+                               (%make-void-port "w")))
+                 (map load-compiled '#$(map scm->go files))))))
 
           (format #t "starting services...~%")
           (let ((services-to-start
                  '#$(append-map shepherd-service-provision
                                 (filter shepherd-service-auto-start?
                                         services))))
-            (if (defined? 'start-in-the-background)
-                (start-in-the-background services-to-start)
-                (for-each (lambda (service)       ;pre-0.9.0 compatibility
-                            (guard (c ((service-error? c)
-                                       (format (current-error-port)
-                                               "failed to start service '~a'~%"
-                                               service)))
-                              (start service)))
-                          services-to-start))
+            (start-in-the-background services-to-start)
 
             ;; Hang up stdin.  At this point, we assume that 'start' methods
             ;; that required user interaction on the console (e.g.,
-- 
2.41.0





Information forwarded to , guix-patches <at> gnu.org:
bug#68258; Package guix-patches. (Fri, 05 Jan 2024 11:01:03 GMT) Full text and rfc822 format available.

Message #23 received at 68258 <at> debbugs.gnu.org (full text, mbox):

From: Ludovic Courtès <ludo <at> gnu.org>
To: 68258 <at> debbugs.gnu.org
Cc: Ludovic Courtès <ludo <at> gnu.org>
Subject: [PATCH 6/7] home: services: shepherd: Use the 0.10.x interface.
Date: Fri,  5 Jan 2024 11:59:33 +0100
* gnu/home/services/shepherd.scm (home-shepherd-configuration-file):
Pass ‘register-services’ a list.  Call ‘start-in-the-background’
unconditionally.

Change-Id: Id7ba005949653a9ac065c47eddb425df4f4792aa
---
 gnu/home/services/shepherd.scm | 12 ++++--------
 1 file changed, 4 insertions(+), 8 deletions(-)

diff --git a/gnu/home/services/shepherd.scm b/gnu/home/services/shepherd.scm
index bd068c37fc..176f4575cb 100644
--- a/gnu/home/services/shepherd.scm
+++ b/gnu/home/services/shepherd.scm
@@ -1,6 +1,7 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2021, 2023 Andrew Tropin <andrew <at> trop.in>
 ;;; Copyright © 2021 Xinglu Chen <public <at> yoctocell.xyz>
+;;; Copyright © 2024 Ludovic Courtès <ludo <at> gnu.org>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -75,11 +76,8 @@ (define (home-shepherd-configuration-file config)
       #~(begin
           (use-modules (srfi srfi-34)
                        (system repl error-handling))
-          (apply
-           register-services
-           (map
-            (lambda (file) (load file))
-            '#$files))
+
+          (register-services (map load '#$files))
 
           #$@(if daemonize?
                  `((action 'root 'daemonize))
@@ -90,9 +88,7 @@ (define (home-shepherd-configuration-file config)
                  '#$(append-map shepherd-service-provision
                                 (filter shepherd-service-auto-start?
                                         services))))
-            (if (defined? 'start-in-the-background)
-                (start-in-the-background services-to-start)
-                (for-each start services-to-start))
+            (start-in-the-background services-to-start)
 
             (redirect-port (open-input-file "/dev/null")
                            (current-input-port)))))
-- 
2.41.0





Information forwarded to guix-patches <at> gnu.org:
bug#68258; Package guix-patches. (Fri, 05 Jan 2024 11:01:04 GMT) Full text and rfc822 format available.

Message #26 received at 68258 <at> debbugs.gnu.org (full text, mbox):

From: Ludovic Courtès <ludo <at> gnu.org>
To: 68258 <at> debbugs.gnu.org
Cc: Ludovic Courtès <ludo <at> gnu.org>
Subject: [PATCH 7/7] services: bitlbee: Use ‘make-inetd-constructor’ unconditionally.
Date: Fri,  5 Jan 2024 11:59:34 +0100
This construct was introduced in Shepherd 0.9.0.

* gnu/services/messaging.scm (bitlbee-shepherd-service): Use
‘make-inetd-constructor’ unconditionally.

Change-Id: Id1b79077d60609c7f95439ee0d097dfe6e66dd2e
---
 gnu/services/messaging.scm | 51 ++++++++++++++------------------------
 1 file changed, 18 insertions(+), 33 deletions(-)

diff --git a/gnu/services/messaging.scm b/gnu/services/messaging.scm
index 7505810e7c..9702170b3e 100644
--- a/gnu/services/messaging.scm
+++ b/gnu/services/messaging.scm
@@ -1,7 +1,7 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2017, 2018 Clément Lassieur <clement <at> lassieur.org>
 ;;; Copyright © 2017 Mathieu Othacehe <m.othacehe <at> gmail.com>
-;;; Copyright © 2015, 2017-2020, 2022, 2023 Ludovic Courtès <ludo <at> gnu.org>
+;;; Copyright © 2015, 2017-2020, 2022-2024 Ludovic Courtès <ludo <at> gnu.org>
 ;;; Copyright © 2018 Pierre-Antoine Rouby <contact <at> parouby.fr>
 ;;;
 ;;; This file is part of GNU Guix.
@@ -857,39 +857,24 @@ (define bitlbee-shepherd-service
               ;; on 'networking'.
               (requirement '(user-processes networking))
 
-              (start #~(if (defined? 'make-inetd-constructor)
+              (start #~(make-inetd-constructor
+                        (list #$bitlbee* "-I" "-c" #$conf)
+                        (list (endpoint
+                               (addrinfo:addr
+                                (car (getaddrinfo #$interface
+                                                  #$(number->string port)
+                                                  (logior AI_NUMERICHOST
+                                                          AI_NUMERICSERV))))))
+                        #:requirements '#$requirement
+                        #:service-name-stem "bitlbee"
+                        #:user "bitlbee" #:group "bitlbee"
 
-                           (make-inetd-constructor
-                            (list #$bitlbee* "-I" "-c" #$conf)
-                            (list (endpoint
-                                   (addrinfo:addr
-                                    (car (getaddrinfo #$interface
-                                                      #$(number->string port)
-                                                      (logior AI_NUMERICHOST
-                                                              AI_NUMERICSERV))))))
-                            #:requirements '#$requirement
-                            #:service-name-stem "bitlbee"
-                            #:user "bitlbee" #:group "bitlbee"
-
-                            ;; Allow 'bitlbee-purple' to use libpurple plugins.
-                            #:environment-variables
-                            (list (string-append "PURPLE_PLUGIN_PATH="
-                                                 #$plugins "/lib/purple-2")
-                                  "GUIX_LOCPATH=/run/current-system/locale"))
-
-                           (make-forkexec-constructor
-                            (list #$(file-append bitlbee "/sbin/bitlbee")
-                                  "-n" "-F" "-u" "bitlbee" "-c" #$conf)
-
-                            ;; Allow 'bitlbee-purple' to use libpurple plugins.
-                            #:environment-variables
-                            (list (string-append "PURPLE_PLUGIN_PATH="
-                                                 #$plugins "/lib/purple-2"))
-
-                            #:pid-file "/var/run/bitlbee.pid")))
-              (stop  #~(if (defined? 'make-inetd-destructor)
-                           (make-inetd-destructor)
-                           (make-kill-destructor)))))))))
+                        ;; Allow 'bitlbee-purple' to use libpurple plugins.
+                        #:environment-variables
+                        (list (string-append "PURPLE_PLUGIN_PATH="
+                                             #$plugins "/lib/purple-2")
+                              "GUIX_LOCPATH=/run/current-system/locale")))
+              (stop  #~(make-inetd-destructor))))))))
 
 (define %bitlbee-accounts
   ;; User group and account to run BitlBee.
-- 
2.41.0





Changed bug title to '[PATCH 0/7] Upgrading Shepherd and moving the Hurd to 0.10.x' from '[PATCH 1/7] services: openssh: Add dependency on ‘networking’.' Request was from Ludovic Courtès <ludo <at> gnu.org> to control <at> debbugs.gnu.org. (Fri, 05 Jan 2024 11:01:04 GMT) Full text and rfc822 format available.

Information forwarded to guix-patches <at> gnu.org:
bug#68258; Package guix-patches. (Fri, 05 Jan 2024 18:00:02 GMT) Full text and rfc822 format available.

Message #31 received at 68258 <at> debbugs.gnu.org (full text, mbox):

From: Janneke Nieuwenhuizen <janneke <at> gnu.org>
To: Ludovic Courtès <ludo <at> gnu.org>
Cc: 68258 <at> debbugs.gnu.org
Subject: Re: [PATCH 0/7] Upgrading Shepherd and moving the Hurd to 0.10.x
Date: Fri, 05 Jan 2024 18:59:33 +0100
[Message part 1 (text/plain, inline)]
Ludovic Courtès writes:

Hey!

> With the upcoming Shepherd 0.10.3, which I plan to publish in the
> coming days, I’d like to make these changes: switching the Hurd to
> 0.10.x (instead of 0.8.x!) since it’s now functional,

Yay!  I had trouble building (running the test suite of?) fibers before
on the Hurd, IIRC.

I haven't re-checked this, so we might have to check this or disable
(some) tests to allow native builds.  Really just wildly guessing here.

> which in turn allows us to use the 0.10.x interfaces (GOOPS-less; this
> is a step before the Shepherd 1.0, which will not support the GOOPS
> interface at all¹).
>
> Thoughts?

Hmm, I've built a bare-hurd.tmpl but ssh doesn't start for me (see log).

A line similar to

--8<---------------cut here---------------start------------->8---
/gnu/store/3lqwp154zlj79ndm92ay9g0hwvjsf3m9-sshd_config line 13: Unsupported option UsePAM
--8<---------------cut here---------------end--------------->8---

that used to appear second-last is now missing (see log).

(I've tried reverting 1/7 but that doesn't work)

Greetings,
Janneke

[bare-hurd.log (application/octet-stream, attachment)]
[Message part 3 (text/plain, inline)]
-- 
Janneke Nieuwenhuizen <janneke <at> gnu.org>  | GNU LilyPond https://LilyPond.org
Freelance IT https://www.JoyOfSource.com | Avatar® https://AvatarAcademy.com

Information forwarded to guix-patches <at> gnu.org:
bug#68258; Package guix-patches. (Fri, 05 Jan 2024 18:01:02 GMT) Full text and rfc822 format available.

Message #34 received at 68258 <at> debbugs.gnu.org (full text, mbox):

From: Janneke Nieuwenhuizen <janneke <at> gnu.org>
To: Ludovic Courtès <ludo <at> gnu.org>
Cc: 68258 <at> debbugs.gnu.org
Subject: Re: [bug#68258] [PATCH 1/7] services: openssh: Add dependency on
 ‘networking’.
Date: Fri, 05 Jan 2024 19:00:32 +0100
Ludovic Courtès writes:

> * gnu/services/ssh.scm (openssh-shepherd-service): Add ‘networking’ to
> ‘requirement’.
> +         ;; On the Hurd, this can only be started after pfinet is up, hence
> +         ;; the dependency on 'networking'.
> +         (requirement '(pam syslogd loopback networking))
>           (provision '(ssh-daemon ssh sshd))

This could be real nice.  On QEMU it always worked nicely for me, but on
bare iron, ssh would start too soon and fail and need a manual
[re]start.

Greetings,
Janneke

-- 
Janneke Nieuwenhuizen <janneke <at> gnu.org>  | GNU LilyPond https://LilyPond.org
Freelance IT https://www.JoyOfSource.com | Avatar® https://AvatarAcademy.com




Information forwarded to guix-patches <at> gnu.org:
bug#68258; Package guix-patches. (Sat, 06 Jan 2024 16:17:01 GMT) Full text and rfc822 format available.

Message #37 received at 68258 <at> debbugs.gnu.org (full text, mbox):

From: Janneke Nieuwenhuizen <janneke <at> gnu.org>
To: Ludovic Courtès <ludo <at> gnu.org>
Cc: 68258 <at> debbugs.gnu.org
Subject: Re: [PATCH 0/7] Upgrading Shepherd and moving the Hurd to 0.10.x
Date: Sat, 06 Jan 2024 17:15:33 +0100
Janneke Nieuwenhuizen writes:

Hi,

> Ludovic Courtès writes:
>
> Hey!
>
> Hmm, I've built a bare-hurd.tmpl but ssh doesn't start for me (see log).

[..]

> (I've tried reverting 1/7 but that doesn't work)

So, I've tried without CONSOLE=COM0 using --display curses and the
problem is that (ipv6) networking didn't, and won't start anymore:

--8<---------------cut here---------------start------------->8---
root <at> guixydevel ~# herd start networking
starting '/gnu/store/9mxaxp5nj70d5wkn8d32bxhybfvglvi3-hurd-v0.9.git20230216/hurd /pfinet "--ipv6" "/servers/socket/26" "--interface" "/dev/eth0" "--address" "10. 0.2.15" "--netmask" "255.255.255.0" "--gateway" "10.0.2.2"'
herd: error: exception caught while executing 'start' on service 'networking':  
Throw to key `%exception' with args `("#<&invoke-error program: \"/gnu/store/9mxaxp5nj70d5wkn8d32bxhybfvglvi3-hurd-v0.9.git20230216/bin/settrans\" arguments: (\ "--active\" \"--create\" \"--keep-active\" \"/servers/socket/2\" \"/gnu/store/9mxaxp5nj70d5wkn8d32bxhybfvglvi3-hurd-v0.9.git20230216/hurd/pfinet\" \"--ipv6\" \"/servers/socket/26\" \"--interface\" \"/dev/eth0\" \"--address\" \"10.0.2.15\" \"--netmask\" \"255.255.255.0\" \"--gateway\" \"10.0.2.2\") exit-status: 4 term-signal: #f stop-signal: #f>")'.
--8<---------------cut here---------------end--------------->8---

That doesn't tell us much, but running

--8<---------------cut here---------------start------------->8---
settrans --active --create --keep-active /servers/socket/2 /gnu/store/9mxaxp5nj70d5wkn8d32bxhybfvglvi3-hurd-v0.9.git20230216/hurd/pfinet --ipv6 /servers/socket/26 --interface /dev/eth0 --address 10.0.2.15 --netmask 255.255.255.0 --gateway 10.0.2.2
--8<---------------cut here---------------end--------------->8---

Gives

    .../hurd/pfinet: /servers/socket/26: Device or resource busy

Any ideas how this may have happenened?

-- 
Janneke Nieuwenhuizen <janneke <at> gnu.org>  | GNU LilyPond https://LilyPond.org
Freelance IT https://www.JoyOfSource.com | Avatar® https://AvatarAcademy.com




Information forwarded to guix-patches <at> gnu.org:
bug#68258; Package guix-patches. (Sat, 06 Jan 2024 16:33:02 GMT) Full text and rfc822 format available.

Message #40 received at 68258 <at> debbugs.gnu.org (full text, mbox):

From: Janneke Nieuwenhuizen <janneke <at> gnu.org>
To: Ludovic Courtès <ludo <at> gnu.org>
Cc: 68258 <at> debbugs.gnu.org
Subject: Re: [PATCH 0/7] Upgrading Shepherd and moving the Hurd to 0.10.x
Date: Sat, 06 Jan 2024 17:32:16 +0100
[Message part 1 (text/plain, inline)]
Janneke Nieuwenhuizen writes:

> Any ideas how this may have happenened?

FWIW, reverting to shepherd-0.8

cd1100482d Revert "system: hurd: Use the Shepherd 0.10.x."
d82e9a0494 Revert "services: shepherd: Use the 0.10.x GOOPS-less interface."

"fixes" starting of networking.  :-(

Log attached.

[shepherd-0.8.log (application/octet-stream, attachment)]
[Message part 3 (text/plain, inline)]
-- 
Janneke Nieuwenhuizen <janneke <at> gnu.org>  | GNU LilyPond https://LilyPond.org
Freelance IT https://www.JoyOfSource.com | Avatar® https://AvatarAcademy.com

Information forwarded to guix-patches <at> gnu.org:
bug#68258; Package guix-patches. (Sun, 07 Jan 2024 11:14:02 GMT) Full text and rfc822 format available.

Message #43 received at 68258 <at> debbugs.gnu.org (full text, mbox):

From: Ludovic Courtès <ludo <at> gnu.org>
To: Janneke Nieuwenhuizen <janneke <at> gnu.org>
Cc: 68258 <at> debbugs.gnu.org
Subject: Re: [bug#68258] [PATCH 0/7] Upgrading Shepherd and moving the Hurd
 to 0.10.x
Date: Sun, 07 Jan 2024 12:12:43 +0100
Hi!

Janneke Nieuwenhuizen <janneke <at> gnu.org> skribis:

> So, I've tried without CONSOLE=COM0 using --display curses and the
> problem is that (ipv6) networking didn't, and won't start anymore:
>
> root <at> guixydevel ~# herd start networking
> starting '/gnu/store/9mxaxp5nj70d5wkn8d32bxhybfvglvi3-hurd-v0.9.git20230216/hurd /pfinet "--ipv6" "/servers/socket/26" "--interface" "/dev/eth0" "--address" "10. 0.2.15" "--netmask" "255.255.255.0" "--gateway" "10.0.2.2"'
> herd: error: exception caught while executing 'start' on service 'networking':  
> Throw to key `%exception' with args `("#<&invoke-error program: \"/gnu/store/9mxaxp5nj70d5wkn8d32bxhybfvglvi3-hurd-v0.9.git20230216/bin/settrans\" arguments: (\ "--active\" \"--create\" \"--keep-active\" \"/servers/socket/2\" \"/gnu/store/9mxaxp5nj70d5wkn8d32bxhybfvglvi3-hurd-v0.9.git20230216/hurd/pfinet\" \"--ipv6\" \"/servers/socket/26\" \"--interface\" \"/dev/eth0\" \"--address\" \"10.0.2.15\" \"--netmask\" \"255.255.255.0\" \"--gateway\" \"10.0.2.2\") exit-status: 4 term-signal: #f stop-signal: #f>")'.

There were a couple of issues on the way.  Most likely you hit
<https://issues.guix.gnu.org/64653> (now fixed), which was marking
‘networking’ as failing to start even though pfinet had been correctly
started.  Consequently, re-running ‘herd start networking’ would fail as
above because the translator was already running.

So if you rebase above 4e431fda5f2ec76b6d6a271be7c30b1324431329, it
should be fine!

Ludo’.




Information forwarded to guix-patches <at> gnu.org:
bug#68258; Package guix-patches. (Sun, 07 Jan 2024 11:15:01 GMT) Full text and rfc822 format available.

Message #46 received at 68258 <at> debbugs.gnu.org (full text, mbox):

From: Ludovic Courtès <ludo <at> gnu.org>
To: Janneke Nieuwenhuizen <janneke <at> gnu.org>
Cc: 68258 <at> debbugs.gnu.org
Subject: Re: [bug#68258] [PATCH 0/7] Upgrading Shepherd and moving the Hurd
 to 0.10.x
Date: Sun, 07 Jan 2024 12:14:45 +0100
Janneke Nieuwenhuizen <janneke <at> gnu.org> skribis:

> Yay!  I had trouble building (running the test suite of?) fibers before
> on the Hurd, IIRC.
>
> I haven't re-checked this, so we might have to check this or disable
> (some) tests to allow native builds.  Really just wildly guessing here.

Yeah, so far I was testing the Shepherd’s test suites with:

  guix build -s i586-gnu -f guix.scm --without-tests=guile-fibers

I’ve already identified a bug in the libevent backend of Fibers; I’ll
take a look at the test suite.

Thanks for testing!

Ludo’.




Information forwarded to guix-patches <at> gnu.org:
bug#68258; Package guix-patches. (Sun, 07 Jan 2024 14:56:02 GMT) Full text and rfc822 format available.

Message #49 received at 68258 <at> debbugs.gnu.org (full text, mbox):

From: Janneke Nieuwenhuizen <janneke <at> gnu.org>
To: Ludovic Courtès <ludo <at> gnu.org>
Cc: 68258 <at> debbugs.gnu.org
Subject: Re: [bug#68258] [PATCH 0/7] Upgrading Shepherd and moving the Hurd
 to 0.10.x
Date: Sun, 07 Jan 2024 15:54:52 +0100
Ludovic Courtès writes:

Hey,

> Janneke Nieuwenhuizen <janneke <at> gnu.org> skribis:
>
>> So, I've tried without CONSOLE=COM0 using --display curses and the
>> problem is that (ipv6) networking didn't, and won't start anymore:

[..]
>
> There were a couple of issues on the way.  Most likely you hit
> <https://issues.guix.gnu.org/64653> (now fixed), which was marking
> ‘networking’ as failing to start even though pfinet had been correctly
> started.  Consequently, re-running ‘herd start networking’ would fail as
> above because the translator was already running.
>
> So if you rebase above 4e431fda5f2ec76b6d6a271be7c30b1324431329, it
> should be fine!

Yes, it now works for me.  I'm not sure how I missed this, sorry :)

Finally shepherd 0.10 on the Hurd, well done!

Greetings,
Janneke

-- 
Janneke Nieuwenhuizen <janneke <at> gnu.org>  | GNU LilyPond https://LilyPond.org
Freelance IT https://www.JoyOfSource.com | Avatar® https://AvatarAcademy.com




Reply sent to Ludovic Courtès <ludo <at> gnu.org>:
You have taken responsibility. (Mon, 08 Jan 2024 23:56:01 GMT) Full text and rfc822 format available.

Notification sent to Ludovic Courtès <ludo <at> gnu.org>:
bug acknowledged by developer. (Mon, 08 Jan 2024 23:56:02 GMT) Full text and rfc822 format available.

Message #54 received at 68258-done <at> debbugs.gnu.org (full text, mbox):

From: Ludovic Courtès <ludo <at> gnu.org>
To: Janneke Nieuwenhuizen <janneke <at> gnu.org>
Cc: 68258-done <at> debbugs.gnu.org
Subject: Re: [bug#68258] [PATCH 0/7] Upgrading Shepherd and moving the Hurd
 to 0.10.x
Date: Tue, 09 Jan 2024 00:54:59 +0100
Hello!

Janneke Nieuwenhuizen <janneke <at> gnu.org> skribis:

> Yes, it now works for me.  I'm not sure how I missed this, sorry :)

Wo0t!

> Finally shepherd 0.10 on the Hurd, well done!

Pushed as 3eac1c82f7f1547aa6819db867b071a4ee7de8e3!

Commit 766ac72dba36657ce217d055d7672cbf01bd32ce also fixes a bug in the
libevent backend of Fibers (fix is now upstream:
<https://github.com/wingo/fibers/pull/102>).

Ludo’.




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Tue, 06 Feb 2024 12:24:11 GMT) Full text and rfc822 format available.

This bug report was last modified 1 year and 212 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.