GNU bug report logs -
#73927
[PATCH 00/16] Installer support for (cross) installing the Hurd.
Previous Next
Full log
Message #17 received at 73927 <at> debbugs.gnu.org (full text, mbox):
* 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):
---
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 819d063673..7c50bc45b1 100644
--- a/gnu/services/base.scm
+++ b/gnu/services/base.scm
@@ -43,6 +43,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)
@@ -2644,7 +2645,7 @@ (define swap-service-type
(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))
@@ -2652,16 +2653,21 @@ (define swap-service-type
(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 44f93f91d1..187a72cbf5 100644
--- a/gnu/system.scm
+++ b/gnu/system.scm
@@ -843,11 +843,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)
(account-service (append (operating-system-accounts os)
@@ -869,7 +869,8 @@ (define (hurd-default-essential-services os)
(service privileged-program-service-type
(append (operating-system-privileged-programs os)
(operating-system-setuid-programs os)))
- (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
This bug report was last modified 251 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.