[PATCH 0/7] Upgrading Shepherd and moving the Hurd to 0.10.x

  • Done
  • quality assurance status badge
Details
2 participants
  • Janneke Nieuwenhuizen
  • Ludovic Courtès
Owner
unassigned
Submitted by
Ludovic Courtès
Severity
normal

Debbugs page

Ludovic Courtès wrote 1 years ago
[PATCH 1/7] services: openssh: Add dependency o n ‘networking’.
(address . guix-patches@gnu.org)(name . Ludovic Courtès)(address . ludo@gnu.org)
d537001d43ef4a003895b721b983da092e6c2e55.1704451578.git.ludo@gnu.org
* 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(-)

Toggle diff (25 lines)
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@gnu.org>
+;;; Copyright © 2014-2019, 2022-2024 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2016 David Craven <david@craven.ch>
;;; Copyright © 2016 Julien Lepiller <julien@lepiller.eu>
;;; Copyright © 2017 Clément Lassieur <clement@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
Ludovic Courtès wrote 1 years ago
[PATCH 0/7] Upgrading Shepherd and moving the Hurd to 0.10.x
(address . 68258@debbugs.gnu.org)
cover.1704451578.git.ludo@gnu.org
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’.


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
Ludovic Courtès wrote 1 years ago
[PATCH 2/7] tests: childhurd: Increase SSH connection timeout.
(address . 68258@debbugs.gnu.org)(name . Ludovic Courtès)(address . ludo@gnu.org)
5d5cb5abef77d7fd13d4a3aa2a0eb8b4f7593f05.1704451578.git.ludo@gnu.org
* 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(-)

Toggle diff (22 lines)
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@cbaines.net>
-;;; Copyright © 2020-2023 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2020-2024 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2021 Pierre Langlois <pierre.langlois@gmx.com>
;;; Copyright © 2022 Marius Bakke <marius@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
Ludovic Courtès wrote 1 years ago
[PATCH 3/7] DRAFT gnu: shepherd: Update to 0.10.3.
(address . 68258@debbugs.gnu.org)(name . Ludovic Courtès)(address . ludo@gnu.org)
87cbd38f480207f3cbe5ce4ae1d7c63f92d4f4a6.1704451578.git.ludo@gnu.org
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(-)

Toggle diff (24 lines)
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
Ludovic Courtès wrote 1 years ago
[PATCH 4/7] system: hurd: Use the Shepherd 0.10.x.
(address . 68258@debbugs.gnu.org)(name . Ludovic Courtès)(address . ludo@gnu.org)
2f608c034d3daad42311eb88a62b80e06bcc018f.1704451578.git.ludo@gnu.org
* 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(-)

Toggle diff (37 lines)
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@gnu.org>
+;;; Copyright © 2020-2023 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2020, 2023 Janneke Nieuwenhuizen <janneke@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
Ludovic Courtès wrote 1 years ago
[PATCH 5/7] services: shepherd: Use the 0.10.x GOOPS-less interface.
(address . 68258@debbugs.gnu.org)(name . Ludovic Courtès)(address . ludo@gnu.org)
a932233a84600d1289ef6ca288a7a1218bb3f7d6.1704451578.git.ludo@gnu.org
* 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(-)

Toggle diff (77 lines)
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
Ludovic Courtès wrote 1 years ago
[PATCH 6/7] home: services: shepherd: Use the 0.10.x interface.
(address . 68258@debbugs.gnu.org)(name . Ludovic Courtès)(address . ludo@gnu.org)
a0f186a8cc5662b4233d072927cf874ec12ee636.1704451578.git.ludo@gnu.org
* 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(-)

Toggle diff (39 lines)
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@trop.in>
;;; Copyright © 2021 Xinglu Chen <public@yoctocell.xyz>
+;;; Copyright © 2024 Ludovic Courtès <ludo@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
Ludovic Courtès wrote 1 years ago
[PATCH 7/7] services: bitlbee: Use ‘make- inetd-constructor’ unconditionally.
(address . 68258@debbugs.gnu.org)(name . Ludovic Courtès)(address . ludo@gnu.org)
0b95b9f23a3d09919a9d49d2c297abfe826b1eda.1704451578.git.ludo@gnu.org
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(-)

Toggle diff (72 lines)
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@lassieur.org>
;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
-;;; Copyright © 2015, 2017-2020, 2022, 2023 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2015, 2017-2020, 2022-2024 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2018 Pierre-Antoine Rouby <contact@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
Ludovic Courtès wrote 1 years ago
control message for bug #68258
(address . control@debbugs.gnu.org)
87il48f3jv.fsf@gnu.org
retitle 68258 [PATCH 0/7] Upgrading Shepherd and moving the Hurd to 0.10.x
quit
Janneke Nieuwenhuizen wrote 1 years ago
Re: [PATCH 0/7] Upgrading Shepherd and moving the Hurd to 0.10.x
(name . Ludovic Courtès)(address . ludo@gnu.org)(address . 68258@debbugs.gnu.org)
87r0ivirui.fsf@gnu.org
Ludovic Courtès writes:

Hey!

Toggle quote (4 lines)
> 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.

Toggle quote (6 lines)
> 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

Toggle snippet (3 lines)
/gnu/store/3lqwp154zlj79ndm92ay9g0hwvjsf3m9-sshd_config line 13: Unsupported option UsePAM

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

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

Greetings,
Janneke
Attachment: bare-hurd.log
--
Janneke Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond https://LilyPond.org
Freelance IT https://www.JoyOfSource.com| Avatar® https://AvatarAcademy.com
Janneke Nieuwenhuizen wrote 1 years ago
Re: [bug#68258] [PATCH 1/7] services: openssh: Add dependency on ‘networking’.
(name . Ludovic Courtès)(address . ludo@gnu.org)(address . 68258@debbugs.gnu.org)
87plyfirsv.fsf@gnu.org
Ludovic Courtès writes:

Toggle quote (7 lines)
> * 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@gnu.org> | GNU LilyPond https://LilyPond.org
Freelance IT https://www.JoyOfSource.com| Avatar® https://AvatarAcademy.com
Janneke Nieuwenhuizen wrote 1 years ago
Re: [PATCH 0/7] Upgrading Shepherd and moving the Hurd to 0.10.x
(name . Ludovic Courtès)(address . ludo@gnu.org)(address . 68258@debbugs.gnu.org)
87frzaigka.fsf@gnu.org
Janneke Nieuwenhuizen writes:

Hi,

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

[..]

Toggle quote (2 lines)
> (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:

Toggle snippet (6 lines)
root@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>")'.

That doesn't tell us much, but running

Toggle snippet (3 lines)
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

Gives

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

Any ideas how this may have happenened?

--
Janneke Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond https://LilyPond.org
Freelance IT https://www.JoyOfSource.com| Avatar® https://AvatarAcademy.com
Janneke Nieuwenhuizen wrote 1 years ago
(name . Ludovic Courtès)(address . ludo@gnu.org)(address . 68258@debbugs.gnu.org)
87bk9yifsf.fsf@gnu.org
Janneke Nieuwenhuizen writes:

Toggle quote (2 lines)
> 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.
Attachment: shepherd-0.8.log
--
Janneke Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond https://LilyPond.org
Freelance IT https://www.JoyOfSource.com| Avatar® https://AvatarAcademy.com
Ludovic Courtès wrote 1 years ago
Re: [bug#68258] [PATCH 0/7] Upgrading Shepherd and moving the Hurd to 0.10.x
(name . Janneke Nieuwenhuizen)(address . janneke@gnu.org)(address . 68258@debbugs.gnu.org)
87frz9e6s4.fsf@gnu.org
Hi!

Janneke Nieuwenhuizen <janneke@gnu.org> skribis:

Toggle quote (8 lines)
> 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@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’.
Ludovic Courtès wrote 1 years ago
(name . Janneke Nieuwenhuizen)(address . janneke@gnu.org)(address . 68258@debbugs.gnu.org)
87bk9xe6oq.fsf@gnu.org
Janneke Nieuwenhuizen <janneke@gnu.org> skribis:

Toggle quote (6 lines)
> 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’.
Janneke Nieuwenhuizen wrote 1 years ago
(name . Ludovic Courtès)(address . ludo@gnu.org)(address . 68258@debbugs.gnu.org)
877ckli477.fsf@gnu.org
Ludovic Courtès writes:

Hey,

Toggle quote (5 lines)
> Janneke Nieuwenhuizen <janneke@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:

[..]
Toggle quote (10 lines)
>
> 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@gnu.org> | GNU LilyPond https://LilyPond.org
Freelance IT https://www.JoyOfSource.com| Avatar® https://AvatarAcademy.com
Ludovic Courtès wrote 1 years ago
(name . Janneke Nieuwenhuizen)(address . janneke@gnu.org)(address . 68258-done@debbugs.gnu.org)
875y032xf0.fsf@gnu.org
Hello!

Janneke Nieuwenhuizen <janneke@gnu.org> skribis:

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

Wo0t!

Toggle quote (2 lines)
> 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:

Ludo’.
Closed
?
Your comment

This issue is archived.

To comment on this conversation send an email to 68258@debbugs.gnu.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 68258
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch
You may also tag this issue. See list of standard tags. For example, to set the confirmed and easy tags
mumi command -t +confirmed -t +easy
Or, remove the moreinfo tag and set the help tag
mumi command -t -moreinfo -t +help