GNU bug report logs - #53826
[PATCH 0/2] Improve Swap Space examples

Previous Next

Package: guix-patches;

Reported by: Josselin Poiret <dev <at> jpoiret.xyz>

Date: Sun, 6 Feb 2022 21:19:01 UTC

Severity: normal

Tags: patch

Done: Ludovic Courtès <ludo <at> gnu.org>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 53826 in the body.
You can then email your comments to 53826 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to guix-patches <at> gnu.org:
bug#53826; Package guix-patches. (Sun, 06 Feb 2022 21:19:01 GMT) Full text and rfc822 format available.

Acknowledgement sent to Josselin Poiret <dev <at> jpoiret.xyz>:
New bug report received and forwarded. Copy sent to guix-patches <at> gnu.org. (Sun, 06 Feb 2022 21:19:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Josselin Poiret <dev <at> jpoiret.xyz>
To: guix-patches <at> gnu.org
Cc: Josselin Poiret <dev <at> jpoiret.xyz>
Subject: [PATCH 0/2] Improve Swap Space examples
Date: Sun,  6 Feb 2022 22:18:03 +0100
Hello,

These two patches should help making swap space dependencies more
manageable for people who aren't yet proficient enough in Guile.

The first patch adds a simple predicate which can be used in
conjunction with filter to select file systems with specific mount
points, and the second refactors the examples to be more readily copy
and pasted into the configuration file, also using the helper
predicate.

Best,

Josselin Poiret (2):
  system: Add helper file-system-mount-point-predicate.
  doc: Clarify the Swap Space examples, and include an helper example.

 doc/guix.texi               | 33 +++++++++++++++++++++++++--------
 gnu/system/file-systems.scm |  7 +++++++
 2 files changed, 32 insertions(+), 8 deletions(-)

-- 
2.34.0





Information forwarded to guix-patches <at> gnu.org:
bug#53826; Package guix-patches. (Sun, 06 Feb 2022 21:21:01 GMT) Full text and rfc822 format available.

Message #8 received at 53826 <at> debbugs.gnu.org (full text, mbox):

From: Josselin Poiret <dev <at> jpoiret.xyz>
To: 53826 <at> debbugs.gnu.org
Cc: Josselin Poiret <dev <at> jpoiret.xyz>
Subject: [PATCH 2/2] doc: Clarify the Swap Space examples,
 and include an helper example.
Date: Sun,  6 Feb 2022 22:20:45 +0100
* doc/guix.texi (Swap Space): The examples referred to variables
defined outside of the snippets, and so were not very informative for
people without much Guile knowledge.  Instead, refer to mapped-devices
for the first, and use the new helper
file-systme-mount-point-predicate for the second.
---
 doc/guix.texi | 33 +++++++++++++++++++++++++--------
 1 file changed, 25 insertions(+), 8 deletions(-)

diff --git a/doc/guix.texi b/doc/guix.texi
index 0cf865a672..49bc8d55e6 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -15737,22 +15737,39 @@ Linux swap partition by running @command{swaplabel @var{device}}, where
 @lisp
 (swap-space
   (target (file-system-label "swap"))
-  (dependencies (list lvm-device)))
+  (dependencies mapped-devices))
 @end lisp
 
-Use the partition with label @code{swap}, which can be found after the
-@var{lvm-device} mapped device has been opened.  Again, the
+Use the partition with label @code{swap}, which can be found after all
+the @var{mapped-devices} mapped devices have been opened.  Again, the
 @command{swaplabel} command allows you to view and change the label of a
 Linux swap partition.
 
+Here's a more involved example with the corresponding @code{file-systems} part
+of an @code{operating-system} declaration.
+
 @lisp
-(swap-space
-  (target "/btrfs/swapfile")
-  (dependencies (list btrfs-fs)))
+(file-systems
+  (list (file-system
+          (device (file-system-label "root"))
+          (mount-point "/")
+          (type "ext4"))
+        (file-system
+          (device (file-system-label "btrfs"))
+          (mount-point "/btrfs")
+          (type "btrfs"))))
+
+(swap-devices
+  (list
+    (swap-space
+      (target "/btrfs/swapfile")
+      (dependencies (filter (file-system-mount-point-predicate "/btrfs")
+                            file-systems)))))
 @end lisp
 
-Use the file @file{/btrfs/swapfile} as swap space, which is present on the
-@var{btrfs-fs} filesystem.
+Use the file @file{/btrfs/swapfile} as swap space, which depends on the
+file system mounted at @file{/btrfs}.  Note how we use Guile's filter to
+select the file system in an elegant fashion!
 
 @node User Accounts
 @section User Accounts
-- 
2.34.0





Information forwarded to guix-patches <at> gnu.org:
bug#53826; Package guix-patches. (Sun, 06 Feb 2022 21:22:02 GMT) Full text and rfc822 format available.

Message #11 received at 53826 <at> debbugs.gnu.org (full text, mbox):

From: Josselin Poiret <dev <at> jpoiret.xyz>
To: 53826 <at> debbugs.gnu.org
Cc: Josselin Poiret <dev <at> jpoiret.xyz>
Subject: [PATCH 1/2] system: Add helper file-system-mount-point-predicate.
Date: Sun,  6 Feb 2022 22:20:44 +0100
* gnu/system/file-systems.scm (file-system-mount-point-predicate): Add
it.
---
 gnu/system/file-systems.scm | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/gnu/system/file-systems.scm b/gnu/system/file-systems.scm
index e1d1fb72cc..437f8da898 100644
--- a/gnu/system/file-systems.scm
+++ b/gnu/system/file-systems.scm
@@ -60,6 +60,7 @@ (define-module (gnu system file-systems)
             file-system-location
 
             file-system-type-predicate
+            file-system-mount-point-predicate
             btrfs-subvolume?
             btrfs-store-subvolume-file-name
 
@@ -671,6 +672,12 @@ (define (file-system-type-predicate type)
   (lambda (fs)
     (string=? (file-system-type fs) type)))
 
+(define (file-system-mount-point-predicate mount-point)
+  "Return a predicate that, when passed a file system, returns #t if that file
+system has the given MOUNT-POINT."
+  (lambda (fs)
+    (string=? (file-system-mount-point fs) mount-point)))
+
 
 ;;;
 ;;; Btrfs specific helpers.
-- 
2.34.0





Reply sent to Ludovic Courtès <ludo <at> gnu.org>:
You have taken responsibility. (Tue, 15 Feb 2022 09:16:01 GMT) Full text and rfc822 format available.

Notification sent to Josselin Poiret <dev <at> jpoiret.xyz>:
bug acknowledged by developer. (Tue, 15 Feb 2022 09:16:02 GMT) Full text and rfc822 format available.

Message #16 received at 53826-done <at> debbugs.gnu.org (full text, mbox):

From: Ludovic Courtès <ludo <at> gnu.org>
To: Josselin Poiret <dev <at> jpoiret.xyz>
Cc: 53826-done <at> debbugs.gnu.org
Subject: Re: bug#53826: [PATCH 0/2] Improve Swap Space examples
Date: Tue, 15 Feb 2022 10:15:09 +0100
Hi Josselin,

Josselin Poiret <dev <at> jpoiret.xyz> skribis:

> These two patches should help making swap space dependencies more
> manageable for people who aren't yet proficient enough in Guile.
>
> The first patch adds a simple predicate which can be used in
> conjunction with filter to select file systems with specific mount
> points, and the second refactors the examples to be more readily copy
> and pasted into the configuration file, also using the helper
> predicate.

Nice.

>   system: Add helper file-system-mount-point-predicate.
>   doc: Clarify the Swap Space examples, and include an helper example.

Applied, thanks!

Ludo’.




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Tue, 15 Mar 2022 11:24:06 GMT) Full text and rfc822 format available.

This bug report was last modified 3 years and 96 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.