~ruther/guix-local

f574dbd163f8b2d417c6d7ee08559626ae52b7c5 — Josselin Poiret 4 years ago 133a61a
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>
1 files changed, 16 insertions(+), 0 deletions(-)

M gnu/system.scm
M gnu/system.scm => gnu/system.scm +16 -0
@@ 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)))