mbox series

[bug#68258,0/7] Upgrading Shepherd and moving the Hurd to 0.10.x

Message ID cover.1704451578.git.ludo@gnu.org
Headers show
Series Upgrading Shepherd and moving the Hurd to 0.10.x | expand

Message

Ludovic Courtès Jan. 5, 2024, 10:59 a.m. UTC
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

Comments

Janneke Nieuwenhuizen Jan. 5, 2024, 5:59 p.m. UTC | #1
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
Janneke Nieuwenhuizen Jan. 6, 2024, 4:15 p.m. UTC | #2
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@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 Jan. 6, 2024, 4:32 p.m. UTC | #3
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.
Ludovic Courtès Jan. 7, 2024, 11:12 a.m. UTC | #4
Hi!

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:
>
> 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 Jan. 7, 2024, 11:14 a.m. UTC | #5
Janneke Nieuwenhuizen <janneke@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’.
Janneke Nieuwenhuizen Jan. 7, 2024, 2:54 p.m. UTC | #6
Ludovic Courtès writes:

Hey,

> 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:

[..]
>
> 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
Ludovic Courtès Jan. 8, 2024, 11:54 p.m. UTC | #7
Hello!

Janneke Nieuwenhuizen <janneke@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’.