[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#42047: [PATCH 0/3] Running guix gc on the Hurd.
From: |
Jan (janneke) Nieuwenhuizen |
Subject: |
bug#42047: [PATCH 0/3] Running guix gc on the Hurd. |
Date: |
Thu, 25 Jun 2020 22:34:00 +0200 |
From: Jan Nieuwenhuizen <janneke@gnu.org>
Hi!
As discussed on IRC, we would like to get "guix gc" to work on the Hurd. It's
kind of essential to get the build nodes running a Childhurd. We discussed
several workarounds, but an acceptable one is non-trivial; so better look into
a proper fix first.
We found that /proc is missing, so I have added that. And then we found that
/proc/1/environ (and others) may return EIO; so I've added a catch/workaround
for that.
However, when trying to test this I found that the hurd disk image on master
is pretty broken:
* it creates an ext2, but not of hurd flavor (fixed in 0001)
* it fails to call make-hurd-device-nodes (fixed in 0002)
With these two fixes, it boots again. These are really minor fixes/typo-like
oversights and I was considering to "just push" them... but then I found that
the "guix build" command is also broken:
--8<---------------cut here---------------start------------->8---
root@guixygnu ~# guix build -e '(@@ (gnu packages commencement) gnu-make-boot0)'
Backtrace:
In ice-9/boot-9.scm:
1736:10 4 (with-exception-handler _ _ #:unwind? _ # _)
In unknown file:
3 (apply-smob/0 #<thunk 2d5380>)
In ice-9/boot-9.scm:
718:2 2 (call-with-prompt _ _ #<procedure default-prompt-handle?>)
In ice-9/eval.scm:
619:8 1 (_ #(#(#<directory (guile-user) 2cc820>)))
In guix/ui.scm:
1948:12 0 (run-guix-command _ . _)
guix/ui.scm:1948:12: In procedure run-guix-command:
In procedure struct-vtable: Wrong type argument in position 1 (expecting
struct): #f
--8<---------------cut here---------------end--------------->8---
How sad!
I'm a bit stuck on this, probably because I'm feeling somewhat discouraged.
Any ideas what could have broken this, how to look into it, fix this?
Greetings,
Janneke
Jan (janneke) Nieuwenhuizen (3):
image: hurd: Create hurd-compatible ext2 file-system.
image: hurd: Initialize root partition for the Hurd.
guix: gc: Support for the Hurd.
gnu/build/hurd-boot.scm | 21 ++++++++++++++-------
gnu/system/image.scm | 7 -------
gnu/system/images/hurd.scm | 11 ++++++++++-
guix/store/roots.scm | 12 +++++++++---
4 files changed, 33 insertions(+), 18 deletions(-)
--
Jan Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond http://lilypond.org
Freelance IT http://JoyofSource.com | Avatar® http://AvatarAcademy.com