unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
From: Janneke Nieuwenhuizen <janneke@gnu.org>
To: 63527@debbugs.gnu.org
Subject: [bug#63527] [PATCH v5 06/11] gnu: hurd: Add rumpkernel.
Date: Tue, 23 May 2023 17:47:27 +0200	[thread overview]
Message-ID: <5995550d8ce78db5a5d52198201c256275bbb954.1684855847.git.janneke@gnu.org> (raw)
In-Reply-To: <cover.1684855847.git.janneke@gnu.org>

* gnu/packages/patches/hurd-fix-rumpdisk-build.patch,
gnu/packages/patches/hurd-rumpdisk-no-hd.patch: New files.
* gnu/local.mk (dist_patch_DATA): Add them.
* gnu/packages/hurd.scm (hurd-headers): Use them.
(hurd)[inputs]: Add util-linux:static, parted, rumpkernel.
[arguments]: Rename `prepare-dde' phase to 'prepare-addons'.  Add "rumpdisk"
directory.  Add --enable-static-progs=... option to #:configure-flags, and
remove --without-parted.
---
 gnu/local.mk                                  |  2 +
 gnu/packages/hurd.scm                         | 17 +++++---
 .../patches/hurd-fix-rumpdisk-build.patch     | 41 +++++++++++++++++++
 .../patches/hurd-rumpdisk-no-hd.patch         | 26 ++++++++++++
 4 files changed, 81 insertions(+), 5 deletions(-)
 create mode 100644 gnu/packages/patches/hurd-fix-rumpdisk-build.patch
 create mode 100644 gnu/packages/patches/hurd-rumpdisk-no-hd.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index 2a09d44506..052b76ea7e 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1354,6 +1354,8 @@ dist_patch_DATA =						\
   %D%/packages/patches/hubbub-sort-entities.patch		\
   %D%/packages/patches/hueplusplus-mbedtls.patch		\
   %D%/packages/patches/hurd-add-without-rump-configure-option.patch \
+  %D%/packages/patches/hurd-fix-rumpdisk-build.patch		\
+  %D%/packages/patches/hurd-rumpdisk-no-hd.patch		\
   %D%/packages/patches/hurd-fix-types-of-read-write-and-readables-methods-2.patch \
   %D%/packages/patches/hurd-fix-types-of-read-write-and-readables-methods.patch \
   %D%/packages/patches/hwloc-1-test-btrfs.patch			\
diff --git a/gnu/packages/hurd.scm b/gnu/packages/hurd.scm
index 9fbca9d5c5..536df96e00 100644
--- a/gnu/packages/hurd.scm
+++ b/gnu/packages/hurd.scm
@@ -34,6 +34,7 @@ (define-module (gnu packages hurd)
   #:use-module (gnu packages autotools)
   #:use-module (gnu packages compression)
   #:use-module (gnu packages cross-base)
+  #:use-module (gnu packages disk)
   #:use-module (gnu packages flex)
   #:use-module (gnu packages gawk)
   #:use-module (gnu packages gnupg)
@@ -157,7 +158,9 @@ (define-public hurd-headers
                 (sha256
                  (base32
                   "0jm1dnqkx4kdwmby0z5w0yqp9m5qp4hbxd4jxlyhiqm8nkw9mkvv"))
-                (file-name (git-file-name name version))))
+                (file-name (git-file-name name version))
+                (patches (search-patches "hurd-fix-rumpdisk-build.patch"
+                                         "hurd-rumpdisk-no-hd.patch"))))
       (build-system gnu-build-system)
       (native-inputs
        (list autoconf
@@ -366,7 +369,7 @@ (define-public hurd
     (arguments
      `(#:phases
        (modify-phases %standard-phases
-         (add-after 'unpack 'prepare-dde
+         (add-after 'unpack 'prepare-addons
            (lambda* (#:key native-inputs inputs #:allow-other-keys)
              ;; First we import the things we want from dde.
              (for-each make-file-writable (find-files "."))
@@ -380,7 +383,7 @@ (define-public hurd
              ;; Makefile. libdde_linux26 is built later in its own phase.
              (substitute* "Makefile"
                (("libbpf ")
-                "libbpf libmachdevdde libddekit"))))
+                "libbpf libmachdevdde libddekit rumpdisk"))))
          (add-after 'unpack 'find-tirpc
            (lambda* (#:key inputs #:allow-other-keys)
              (for-each (lambda (var)
@@ -543,10 +546,10 @@ (define-public hurd
        #:configure-flags
        ,#~(list (string-append "LDFLAGS=-Wl,-rpath="
                                #$output "/lib")
+                "--enable-static-progs=ext2fs,iso9660fs,rumpdisk,pci-arbiter,acpi"
                 "--disable-ncursesw"
                 "--without-libbz2"
                 "--without-libz"
-                "--without-parted"
                 ;; This is needed to pass the configure check for
                 ;; clnt_create
                 "ac_func_search_save_LIBS=-ltirpc"
@@ -567,7 +570,11 @@ (define-public hurd
        ("coreutils" ,coreutils)
        ("sed" ,sed)
        ("grep" ,grep)
-       ("util-linux" ,util-linux)))
+       ("util-linux" ,util-linux)
+;;       ("util-linux" ,util-linux "lib")          ;libuuid.so, for parted
+       ("util-linux" ,util-linux "static")       ;libuuid.a, for parted
+       ("parted" ,parted)                        ;for rumpdisk
+       ("rumpkernel" ,rumpkernel)))
     (native-inputs
      `(("autoconf" ,autoconf)
        ("automake" ,automake)
diff --git a/gnu/packages/patches/hurd-fix-rumpdisk-build.patch b/gnu/packages/patches/hurd-fix-rumpdisk-build.patch
new file mode 100644
index 0000000000..4ecd5ed0ee
--- /dev/null
+++ b/gnu/packages/patches/hurd-fix-rumpdisk-build.patch
@@ -0,0 +1,41 @@
+Upstream status: taken from upstream.
+
+From a2b0f721d077fdc5c9decb21b975b58fb51a3e8f Mon Sep 17 00:00:00 2001
+From: Janneke Nieuwenhuizen <janneke@gnu.org>
+Date: Mon, 22 May 2023 19:21:47 +0200
+Subject: [PATCH] rumpdisk: Do not assume FHS /usr/lib, fixes Guix cross-build.
+
+---
+ rumpdisk/Makefile | 5 ++---
+ 1 file changed, 2 insertions(+), 3 deletions(-)
+
+diff --git a/rumpdisk/Makefile b/rumpdisk/Makefile
+index 60a209b3..b59aaf9a 100644
+--- a/rumpdisk/Makefile
++++ b/rumpdisk/Makefile
+@@ -1,5 +1,5 @@
+ #
+-#   Copyright (C) 2019 Free Software Foundation, Inc.
++#   Copyright (C) 2019, 2023 Free Software Foundation, Inc.
+ #
+ #   This program is free software; you can redistribute it and/or
+ #   modify it under the terms of the GNU General Public License as
+@@ -15,7 +15,6 @@
+ #   along with this program; if not, write to the Free Software
+ #   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ 
+-RUMPPATH=/usr/lib
+ RUMPLIBS=rump rumpuser rumpdev rumpdev_disk rumpdev_pci rumpvfs rumpdev_ahcisata rumpdev_piixide rumpdev_ata
+ RUMPEXTRA=rumpdev_scsipi
+ 
+@@ -38,6 +37,6 @@ target = rumpdisk
+ OBJS = $(SRCS:.c=.o)
+ HURDLIBS = machdev ports trivfs shouldbeinlibc iohelp ihash fshelp
+ LDLIBS += -lpthread -lpciaccess -ldl
+-LDLIBS += -Wl,--whole-archive $(RUMPLIBS:%=$(RUMPPATH)/lib%_pic.a) -Wl,--no-whole-archive $(RUMPEXTRA:%=$(RUMPPATH)/lib%_pic.a)
++LDLIBS += -Wl,--whole-archive $(RUMPLIBS:%=-l%_pic) -Wl,--no-whole-archive $(RUMPEXTRA:%=-l%_pic)
+ 
+ include ../Makeconf
+-- 
+2.40.1
+
diff --git a/gnu/packages/patches/hurd-rumpdisk-no-hd.patch b/gnu/packages/patches/hurd-rumpdisk-no-hd.patch
new file mode 100644
index 0000000000..4e5d41917d
--- /dev/null
+++ b/gnu/packages/patches/hurd-rumpdisk-no-hd.patch
@@ -0,0 +1,26 @@
+This avoids rumpdisk crash when booting without "noide".
+
+Upstream status: Taken from Debian Salsa package git
+
+    https://salsa.debian.org/hurd-team/hurd/-/blob/f40ff84260b5a98bea949013415a1c92c127a43e/debian/patches/rumpdisk-no-hd
+
+Index: hurd-debian/rumpdisk/block-rump.c
+===================================================================
+--- hurd-debian.orig/rumpdisk/block-rump.c
++++ hurd-debian/rumpdisk/block-rump.c
+@@ -143,7 +143,6 @@ rumpdisk_device_init (void)
+     {
+       device_t device;
+ 
+-#if 0
+       if (! device_open (device_master, D_READ, "hd0", &device)
+        || ! device_open (device_master, D_READ, "hd1", &device)
+        || ! device_open (device_master, D_READ, "hd3", &device)
+@@ -154,7 +153,6 @@ rumpdisk_device_init (void)
+ 	  disabled = 1;
+ 	  return;
+ 	}
+-#endif
+ 
+       if (! device_open (device_master, D_READ, "sd0", &device)
+        || ! device_open (device_master, D_READ, "sd1", &device)
-- 
2.40.1





  parent reply	other threads:[~2023-05-23 15:49 UTC|newest]

Thread overview: 67+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-05-15 19:35 [bug#63527] [PATCH 0/3] Initial attempt at rumpdisk support for the Hurd Janneke Nieuwenhuizen
2023-05-15 19:36 ` [bug#63527] [PATCH 1/3] DRAFT gnu: Add rumpkernel Janneke Nieuwenhuizen
2023-05-15 19:36 ` [bug#63527] [PATCH 2/3] gnu: hurd: " Janneke Nieuwenhuizen
2023-05-15 19:36 ` [bug#63527] [PATCH 3/3] DRAFT system: hurd: Boot with pci.arbiter and rumpdisk Janneke Nieuwenhuizen
2023-05-16 13:48 ` [bug#63527] [PATCH v2 0/3] Initial attempt at rumpdisk support for the Hurd Janneke Nieuwenhuizen
2023-05-16 13:48   ` [bug#63527] [PATCH v2 1/3] gnu: Add rumpkernel Janneke Nieuwenhuizen
2023-05-16 13:48   ` [bug#63527] [PATCH v2 2/3] gnu: hurd: " Janneke Nieuwenhuizen
2023-05-16 13:48   ` [bug#63527] [PATCH v2 3/3] DRAFT system: hurd: Boot with pci.arbiter and rumpdisk Janneke Nieuwenhuizen
2023-05-18  8:45 ` [bug#63527] [PATCH v3 0/7] Rumpdisk support for the Hurd Janneke Nieuwenhuizen
2023-05-18  8:45   ` [bug#63527] [PATCH v3 1/7] gnu: Add libpciaccess-0.17 Janneke Nieuwenhuizen
2023-05-18  8:46   ` [bug#63527] [PATCH v3 2/7] gnu: hurd: Update libpciaccess to 0.17 Janneke Nieuwenhuizen
2023-05-18  8:46   ` [bug#63527] [PATCH v3 3/7] gnu: Add rumpkernel Janneke Nieuwenhuizen
2023-05-18  8:46   ` [bug#63527] [PATCH v3 4/7] gnu: hurd: " Janneke Nieuwenhuizen
2023-05-18  8:46   ` [bug#63527] [PATCH v3 5/7] hurd-boot: Setup pci-arbiter and rumpdisk translators Janneke Nieuwenhuizen
2023-05-18  8:46   ` [bug#63527] [PATCH v3 6/7] services: childhurd: Bump default qemu memory to 2048MB Janneke Nieuwenhuizen
2023-05-18  8:46   ` [bug#63527] [PATCH v3 7/7] system: hurd: Boot with pci.arbiter and rumpdisk Janneke Nieuwenhuizen
2023-05-18  9:14   ` [bug#63527] [PATCH v3 0/7] Rumpdisk support for the Hurd Janneke Nieuwenhuizen
2023-05-18  9:38 ` [bug#63527] [PATCH v4 0/8] Rumpdisk support for the Hurd, really! Janneke Nieuwenhuizen
2023-05-18  9:38   ` [bug#63527] [PATCH v4 1/8] gnu: glibc: Update time patches for the Hurd Janneke Nieuwenhuizen
2023-05-18 17:10     ` [bug#63527] [PATCH 0/3] Initial attempt at rumpdisk support " Ludovic Courtès
2023-05-19  8:21       ` Janneke Nieuwenhuizen
2023-05-18  9:38   ` [bug#63527] [PATCH v4 2/8] gnu: Add libpciaccess-0.17 Janneke Nieuwenhuizen
2023-05-18  9:38   ` [bug#63527] [PATCH v4 3/8] gnu: hurd: Update libpciaccess to 0.17 Janneke Nieuwenhuizen
2023-05-18  9:38   ` [bug#63527] [PATCH v4 4/8] gnu: Add rumpkernel Janneke Nieuwenhuizen
2023-05-18 17:17     ` [bug#63527] [PATCH 0/3] Initial attempt at rumpdisk support for the Hurd Ludovic Courtès
2023-05-19  9:21       ` Janneke Nieuwenhuizen
2023-05-18  9:39   ` [bug#63527] [PATCH v4 5/8] gnu: hurd: Add rumpkernel Janneke Nieuwenhuizen
2023-05-18  9:39   ` [bug#63527] [PATCH v4 6/8] hurd-boot: Setup pci-arbiter and rumpdisk translators Janneke Nieuwenhuizen
2023-05-18  9:39   ` [bug#63527] [PATCH v4 7/8] services: childhurd: Bump default qemu memory to 2048MB Janneke Nieuwenhuizen
2023-05-18 17:20     ` [bug#63527] [PATCH 0/3] Initial attempt at rumpdisk support for the Hurd Ludovic Courtès
2023-05-19  9:30       ` Janneke Nieuwenhuizen
2023-05-18  9:39   ` [bug#63527] [PATCH v4 8/8] system: hurd: Boot with pci.arbiter and rumpdisk Janneke Nieuwenhuizen
2023-05-18 17:18     ` [bug#63527] [PATCH 0/3] Initial attempt at rumpdisk support for the Hurd Ludovic Courtès
2023-05-23 15:47 ` [bug#63527] [PATCH v5 00/11] Rumpdisk support for the Hurd, really, *really*! Janneke Nieuwenhuizen
2023-05-23 15:47   ` [bug#63527] [PATCH v5 01/11] gnu: Add libpciaccess-0.17 Janneke Nieuwenhuizen
2023-05-23 15:47   ` [bug#63527] [PATCH v5 02/11] gnu: hurd: Update libpciaccess to 0.17 Janneke Nieuwenhuizen
2023-05-24  9:11     ` [bug#63527] [PATCH 0/3] Initial attempt at rumpdisk support for the Hurd Ludovic Courtès
2023-05-24  9:28       ` Janneke Nieuwenhuizen
2023-05-23 15:47   ` [bug#63527] [PATCH v5 03/11] gnu: Add rumpkernel Janneke Nieuwenhuizen
2023-05-23 15:47   ` [bug#63527] [PATCH v5 04/11] gnu: Add hurd-shouldbeinlibc Janneke Nieuwenhuizen
2023-05-23 15:47   ` [bug#63527] [PATCH v5 05/11] gnu: parted: Support building for the Hurd Janneke Nieuwenhuizen
2023-05-24  9:13     ` [bug#63527] [PATCH 0/3] Initial attempt at rumpdisk support " Ludovic Courtès
2023-05-24  9:24       ` Janneke Nieuwenhuizen
2023-05-23 15:47   ` Janneke Nieuwenhuizen [this message]
2023-05-23 16:01     ` [bug#63527] [PATCH v5 06/11] gnu: hurd: Add rumpkernel Janneke Nieuwenhuizen
     [not found]       ` <cover.1684858715.git.janneke@gnu.org>
2023-05-23 16:20         ` [bug#63527] [PATCH v6 " Janneke Nieuwenhuizen
2023-05-23 15:47   ` [bug#63527] [PATCH v5 07/11] hurd-boot: Setup pci-arbiter and rumpdisk translators Janneke Nieuwenhuizen
2023-05-23 21:00     ` Janneke Nieuwenhuizen
2023-05-24  9:16     ` [bug#63527] [PATCH 0/3] Initial attempt at rumpdisk support for the Hurd Ludovic Courtès
2023-05-24  9:30       ` Janneke Nieuwenhuizen
2023-05-23 15:47   ` [bug#63527] [PATCH v5 08/11] services: childhurd: Bump default qemu memory to 2048MB Janneke Nieuwenhuizen
2023-05-23 15:47   ` [bug#63527] [PATCH v5 09/11] system: hurd: Boot with pci.arbiter and rumpdisk Janneke Nieuwenhuizen
2023-05-23 15:47   ` [bug#63527] [PATCH v5 10/11] bootloader: grub: Use rumpdisk-style root when booting with "noide" Janneke Nieuwenhuizen
2023-05-24  9:32     ` [bug#63527] [PATCH 0/3] Initial attempt at rumpdisk support for the Hurd Ludovic Courtès
2023-05-24  9:37       ` Janneke Nieuwenhuizen
2023-05-23 15:47   ` [bug#63527] [PATCH v5 11/11] gnu: gnumach: Support "noide" argument Janneke Nieuwenhuizen
2023-05-24  9:36     ` [bug#63527] [PATCH 0/3] Initial attempt at rumpdisk support for the Hurd Ludovic Courtès
2023-05-24  9:40       ` Janneke Nieuwenhuizen
2023-05-24  9:08   ` Ludovic Courtès
2023-05-24  9:15     ` Janneke Nieuwenhuizen
2023-05-24  9:37   ` Ludovic Courtès
2023-05-24  9:46     ` Janneke Nieuwenhuizen
2023-07-13 17:13       ` Josselin Poiret via Guix-patches via
2023-07-13 17:41         ` Janneke Nieuwenhuizen
2023-07-14 13:37           ` Ludovic Courtès
2023-07-14 18:59             ` Josselin Poiret via Guix-patches via
2023-07-14 23:35               ` Janneke Nieuwenhuizen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=5995550d8ce78db5a5d52198201c256275bbb954.1684855847.git.janneke@gnu.org \
    --to=janneke@gnu.org \
    --cc=63527@debbugs.gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).