all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Janneke Nieuwenhuizen <janneke@gnu.org>
To: 73927@debbugs.gnu.org
Subject: [bug#73927] [PATCH v3 05/17] system: hurd: Add swap-services to hurd-default-essential-services.
Date: Fri, 25 Oct 2024 11:39:57 +0200	[thread overview]
Message-ID: <20241025094011.8540-6-janneke@gnu.org> (raw)
In-Reply-To: <20241025094011.8540-1-janneke@gnu.org>

* gnu/services/base.scm (swap-service-type): Do not include 'udev' requirement
for the Hurd.  Use system* with "swapon", "swapoff" for the Hurd.
* gnu/system.scm (hurd-default-essential-services): Add swap-services.
* gnu/services/base.scm (swap-service-type):

Change-Id: I1d4d445c614921752dc84aa0dd6ff42cdbf62aa8
---
 gnu/services/base.scm | 20 +++++++++++++-------
 gnu/system.scm        | 13 +++++++------
 2 files changed, 20 insertions(+), 13 deletions(-)

diff --git a/gnu/services/base.scm b/gnu/services/base.scm
index d0a57a8807..6201dea4b8 100644
--- a/gnu/services/base.scm
+++ b/gnu/services/base.scm
@@ -44,6 +44,7 @@ (define-module (gnu services base)
   #:autoload   (guix diagnostics) (warning formatted-message &fix-hint)
   #:autoload   (guix i18n) (G_)
   #:use-module (guix combinators)
+  #:use-module (guix utils)
   #:use-module (gnu services)
   #:use-module (gnu services admin)
   #:use-module (gnu services shepherd)
@@ -2647,7 +2648,7 @@ (define device-lookup
      (with-imported-modules (source-module-closure '((gnu build file-systems)))
        (shepherd-service
         (provision (list (swap->shepherd-service-name swap)))
-        (requirement `(udev ,@requirements))
+        (requirement `(,@(if (target-hurd?) '() '(udev)) ,@requirements))
         (documentation "Enable the given swap space.")
         (modules `((gnu build file-systems)
                    ,@%default-modules))
@@ -2655,16 +2656,21 @@ (define device-lookup
                    (let ((device #$device-lookup))
                      (and device
                           (begin
-                            (restart-on-EINTR (swapon device
-                                                      #$(if (swap-space? swap)
-                                                            (swap-space->flags-bit-mask
-                                                             swap)
-                                                            0)))
+                            #$(if (target-hurd?)
+                                  #~(system* "swapon" device)
+                                  #~(restart-on-EINTR
+                                     (swapon device
+                                             #$(if (swap-space? swap)
+                                                   (swap-space->flags-bit-mask
+                                                    swap)
+                                                   0))))
                             #t)))))
         (stop #~(lambda _
                   (let ((device #$device-lookup))
                     (when device
-                      (restart-on-EINTR (swapoff device)))
+                      #$(if (target-hurd?)
+                            #~(system* "swapoff" device)
+                            #~(restart-on-EINTR (swapoff device))))
                     #f)))
         (respawn? #f))))
    (description "Turn on the virtual memory swap area.")))
diff --git a/gnu/system.scm b/gnu/system.scm
index c19730b331..533a4154d6 100644
--- a/gnu/system.scm
+++ b/gnu/system.scm
@@ -845,11 +845,11 @@ (define (hurd-default-essential-services os)
   (let ((host-name    (operating-system-host-name os))
         (hosts-file   (%operating-system-hosts-file os))
         (entries      (operating-system-directory-base-entries os)))
-    (list (service system-service-type entries)
-          %boot-service
-          %hurd-startup-service
-          %activation-service
-          (service shepherd-root-service-type)
+    (cons* (service system-service-type entries)
+           %boot-service
+           %hurd-startup-service
+           %activation-service
+           (service shepherd-root-service-type)
 
           (service user-processes-service-type)
           ;; Make sure that privileged-programs activation script
@@ -873,7 +873,8 @@ (define (hurd-default-essential-services os)
                               (list `("hosts" ,hosts-file)))
               (service hosts-service-type
                        (local-host-entries host-name)))
-          (service profile-service-type (operating-system-packages os)))))
+          (service profile-service-type (operating-system-packages os))
+          (swap-services os))))
 
 (define* (operating-system-services os)
   "Return all the services of OS, including \"essential\" services."
-- 
2.46.0





  parent reply	other threads:[~2024-10-25  9:42 UTC|newest]

Thread overview: 61+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-10-21  8:13 [bug#73927] [PATCH 00/16] Installer support for (cross) installing the Hurd Janneke Nieuwenhuizen
2024-10-21  8:16 ` [bug#73927] [PATCH 01/16] system: hurd: Remove qemu networking from %base-services/hurd Janneke Nieuwenhuizen
2024-10-21  8:16 ` [bug#73927] [PATCH 02/16] gnu: hurd: Support system init in /libexec/runsystem Janneke Nieuwenhuizen
2024-10-21  8:16 ` [bug#73927] [PATCH 03/16] hurd-boot: Support system init: Create essential device nodes Janneke Nieuwenhuizen
2024-10-21  8:17 ` [bug#73927] [PATCH 04/16] system: hurd: Add swap-services to hurd-default-essential-services Janneke Nieuwenhuizen
2024-10-21  8:17 ` [bug#73927] [PATCH 05/16] gnu: hurd: Support second boot Janneke Nieuwenhuizen
2024-10-21  8:17 ` [bug#73927] [PATCH 06/16] hurd-boot: " Janneke Nieuwenhuizen
2024-10-21  8:17 ` [bug#73927] [PATCH 07/16] maint: Add installer dependencies to the manifest Janneke Nieuwenhuizen
2024-10-21  8:17 ` [bug#73927] [PATCH 08/16] installer: Remove unused (newt) imports Janneke Nieuwenhuizen
2024-10-21  8:17 ` [bug#73927] [PATCH 09/16] installer: Align comments Janneke Nieuwenhuizen
2024-10-21  8:17 ` [bug#73927] [PATCH 10/16] installer: Use "partitioning-page" consistently Janneke Nieuwenhuizen
2024-10-21  8:17 ` [bug#73927] [PATCH 11/16] installer: Fix file-name typos Janneke Nieuwenhuizen
2024-10-21  8:17 ` [bug#73927] [PATCH 12/16] installer: Use `%' for parameter %run-command-in-installer Janneke Nieuwenhuizen
2024-10-21  8:17 ` [bug#73927] [PATCH 13/16] installer: Add dry-run? Janneke Nieuwenhuizen
2024-10-21  8:17 ` [bug#73927] [PATCH 14/16] installer: Add "Kernel" page to select the Hurd Janneke Nieuwenhuizen
2024-10-21 18:14   ` Mathieu Othacehe
2024-10-22  8:53     ` janneke
2024-10-22 14:34       ` janneke
2024-10-22 18:06         ` Mathieu Othacehe
2024-10-22 19:18           ` [bug#73927] [PATCH v2 " janneke
2024-10-21  8:17 ` [bug#73927] [PATCH 15/16] installer: Add static-networking template Janneke Nieuwenhuizen
2024-10-21  8:17 ` [bug#73927] [PATCH 16/16] DRAFT installer: Support dry-run from Guile via store Janneke Nieuwenhuizen
2024-10-21 18:18   ` Mathieu Othacehe
2024-10-22  8:21     ` janneke
2024-10-25  9:39 ` [bug#73927] [PATCH v3 00/17] Installer support for (cross) installing the Hurd Janneke Nieuwenhuizen
2024-10-25  9:39   ` [bug#73927] [PATCH v3 01/17] gnu: guile-fibers: Fix cross-build for " Janneke Nieuwenhuizen
2024-10-25  9:39   ` [bug#73927] [PATCH v3 02/17] guix system: When installing the Hurd, create essential devices Janneke Nieuwenhuizen
2024-10-25  9:39   ` [bug#73927] [PATCH v3 03/17] bootloader: grub: Remove hardcoded partition number for the Hurd Janneke Nieuwenhuizen
2024-10-25  9:39   ` [bug#73927] [PATCH v3 04/17] system: hurd: Remove qemu networking from %base-services/hurd Janneke Nieuwenhuizen
2024-10-25  9:39   ` Janneke Nieuwenhuizen [this message]
2024-10-25  9:39   ` [bug#73927] [PATCH v3 06/17] gnu: hurd: Support second boot Janneke Nieuwenhuizen
2024-10-25  9:39   ` [bug#73927] [PATCH v3 07/17] hurd-boot: " Janneke Nieuwenhuizen
2024-10-25  9:40   ` [bug#73927] [PATCH v3 08/17] maint: Add installer dependencies to the manifest Janneke Nieuwenhuizen
2024-10-25  9:40   ` [bug#73927] [PATCH v3 09/17] installer: Remove unused (newt) imports Janneke Nieuwenhuizen
2024-10-25  9:40   ` [bug#73927] [PATCH v3 10/17] installer: Align comments Janneke Nieuwenhuizen
2024-10-25  9:40   ` [bug#73927] [PATCH v3 11/17] installer: Use "partitioning-page" consistently Janneke Nieuwenhuizen
2024-10-25  9:40   ` [bug#73927] [PATCH v3 12/17] installer: Fix file-name typos Janneke Nieuwenhuizen
2024-10-25  9:40   ` [bug#73927] [PATCH v3 13/17] installer: Use `%' for parameter %run-command-in-installer Janneke Nieuwenhuizen
2024-10-25  9:40   ` [bug#73927] [PATCH v3 14/17] installer: Add dry-run? Janneke Nieuwenhuizen
2024-10-25  9:40   ` [bug#73927] [PATCH v3 15/17] installer: Add "Kernel" page to select the Hurd Janneke Nieuwenhuizen
2024-10-25  9:40   ` [bug#73927] [PATCH v3 16/17] installer: Add static-networking template Janneke Nieuwenhuizen
2024-10-25  9:40   ` [bug#73927] [PATCH v3 17/17] installer: Support dry-run from Guile via store Janneke Nieuwenhuizen
2024-10-30 14:30 ` [bug#73927] [PATCH v4 00/18] Installer support for (cross) installing the Hurd Janneke Nieuwenhuizen
2024-10-30 14:30   ` [bug#73927] [PATCH v4 01/18] gnu: guile-fibers: Fix cross-build for " Janneke Nieuwenhuizen
2024-10-30 14:30   ` [bug#73927] [PATCH v4 02/18] reconfigure: Use native bootloader package for running the installer Janneke Nieuwenhuizen
2024-10-30 14:30   ` [bug#73927] [PATCH v4 03/18] guix system: When installing the Hurd, create essential devices Janneke Nieuwenhuizen
2024-10-30 14:30   ` [bug#73927] [PATCH v4 04/18] bootloader: grub: Remove hardcoded partition number for the Hurd Janneke Nieuwenhuizen
2024-10-30 14:30   ` [bug#73927] [PATCH v4 05/18] system: hurd: Remove qemu networking from %base-services/hurd Janneke Nieuwenhuizen
2024-10-30 14:30   ` [bug#73927] [PATCH v4 06/18] system: hurd: Add swap-services to hurd-default-essential-services Janneke Nieuwenhuizen
2024-10-30 14:30   ` [bug#73927] [PATCH v4 07/18] gnu: hurd: Support second boot Janneke Nieuwenhuizen
2024-10-30 14:30   ` [bug#73927] [PATCH v4 08/18] hurd-boot: " Janneke Nieuwenhuizen
2024-10-30 14:30   ` [bug#73927] [PATCH v4 09/18] maint: Add installer dependencies to the manifest Janneke Nieuwenhuizen
2024-10-30 14:30   ` [bug#73927] [PATCH v4 10/18] installer: Remove unused (newt) imports Janneke Nieuwenhuizen
2024-10-30 14:30   ` [bug#73927] [PATCH v4 11/18] installer: Align comments Janneke Nieuwenhuizen
2024-10-30 14:30   ` [bug#73927] [PATCH v4 12/18] installer: Use "partitioning-page" consistently Janneke Nieuwenhuizen
2024-10-30 14:30   ` [bug#73927] [PATCH v4 13/18] installer: Fix file-name typos Janneke Nieuwenhuizen
2024-10-30 14:30   ` [bug#73927] [PATCH v4 14/18] installer: Use `%' for parameter %run-command-in-installer Janneke Nieuwenhuizen
2024-10-30 14:30   ` [bug#73927] [PATCH v4 15/18] installer: Add dry-run? Janneke Nieuwenhuizen
2024-10-30 14:30   ` [bug#73927] [PATCH v4 16/18] installer: Add "Kernel" page to select the Hurd Janneke Nieuwenhuizen
2024-10-30 14:30   ` [bug#73927] [PATCH v4 17/18] installer: Add static-networking template Janneke Nieuwenhuizen
2024-10-30 14:30   ` [bug#73927] [PATCH v4 18/18] installer: Support dry-run from Guile via store 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

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

  git send-email \
    --in-reply-to=20241025094011.8540-6-janneke@gnu.org \
    --to=janneke@gnu.org \
    --cc=73927@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 external index

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

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.