summaryrefslogtreecommitdiff
path: root/gnu/system.scm
diff options
context:
space:
mode:
authorJosselin Poiret <dev@jpoiret.xyz>2021-11-15 20:26:28 +0000
committerLudovic Courtès <ludo@gnu.org>2021-11-23 10:24:27 +0100
commitf574dbd163f8b2d417c6d7ee08559626ae52b7c5 (patch)
tree51a9a977d693861137ca4c32a84c6a6df91740d4 /gnu/system.scm
parent133a61ae263520378ac44482810d7adecfb017d9 (diff)
downloadguix-patches-f574dbd163f8b2d417c6d7ee08559626ae52b7c5.tar
guix-patches-f574dbd163f8b2d417c6d7ee08559626ae52b7c5.tar.gz
system: Warn about swap-devices format change
* gnu/system.scm (warn-swap-devices-change, %warn-swap-devices-change): Add them. * gnu/system.scm (operating-system) [swap-devices]: Use it. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Diffstat (limited to 'gnu/system.scm')
-rw-r--r--gnu/system.scm16
1 files changed, 16 insertions, 0 deletions
diff --git a/gnu/system.scm b/gnu/system.scm
index 3281c0e79b..2e5a5ff7c8 100644
--- a/gnu/system.scm
+++ b/gnu/system.scm
@@ -235,6 +235,8 @@
(file-systems operating-system-file-systems) ; list of fs
(swap-devices operating-system-swap-devices ; list of string | <swap-space>
(default '())
+ (delayed)
+ (sanitize warn-swap-devices-change))
(users operating-system-users ; list of user accounts
(default %base-user-accounts))
@@ -583,6 +585,20 @@ mapped-device '~a' may not be mounted by the bootloader.~%")
(map device-mapping-service
(operating-system-user-mapped-devices os)))
+(define-syntax-rule (warn-swap-devices-change value)
+ (%warn-swap-devices-change value (current-source-location)))
+
+(define (%warn-swap-devices-change value location)
+ (map (lambda (x)
+ (unless (swap-space? x)
+ (warning
+ (source-properties->location
+ location)
+ (G_ "List elements of the field 'swap-devices' should \
+now use the <swap-space> record, as the old method is deprecated. \
+See \"(guix) operating-system Reference\" for more details.~%")))
+ x) value))
+
(define (swap-services os)
"Return the list of swap services for OS."
(map swap-service (operating-system-swap-devices os)))