summary refs log tree commit diff
path: root/gnu/system/file-systems.scm
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2017-03-21 21:55:20 +0100
committerLudovic Courtès <ludo@gnu.org>2017-03-21 22:33:07 +0100
commit278d486b0c0e3ec0378f6a2ccf6946fb176d088b (patch)
tree8bc8975dc235f698ea745758634d21a5f763a4fb /gnu/system/file-systems.scm
parent4f7a9e0bffab0cf53992c33ed75ff5fb394eda7b (diff)
downloadguix-278d486b0c0e3ec0378f6a2ccf6946fb176d088b.tar.gz
file-systems: Do not use (gnu packages …).
Fixes a regression introduced in
7208995426714c9fc3ad59cadc3cc0f52df0f018 whereby (gnu system
file-systems) would pull in (gnu packages …) module, which in turn
breaks when importing things like (gnu build shepherd).

* gnu/system/file-systems.scm (file-system-type-predicate): Export.
(file-system-packages): Move to...
* gnu/system/linux-initrd.scm (file-system-packages): ... here.  Add
docstring.
* gnu/services/base.scm: Use it.
* tests/file-systems.scm ("does not pull (gnu packages …)"): New test.
Diffstat (limited to 'gnu/system/file-systems.scm')
-rw-r--r--gnu/system/file-systems.scm27
1 files changed, 5 insertions, 22 deletions
diff --git a/gnu/system/file-systems.scm b/gnu/system/file-systems.scm
index 8107722c74..3bd072a0bc 100644
--- a/gnu/system/file-systems.scm
+++ b/gnu/system/file-systems.scm
@@ -22,8 +22,6 @@
   #:use-module (guix records)
   #:use-module ((gnu build file-systems)
                 #:select (string->uuid uuid->string))
-  #:use-module (gnu packages linux)
-  #:use-module (gnu packages disk)
   #:re-export (string->uuid
                uuid->string)
   #:export (<file-system>
@@ -41,6 +39,8 @@
             file-system-create-mount-point?
             file-system-dependencies
 
+            file-system-type-predicate
+
             file-system->spec
             spec->file-system
             specification->file-system-mapping
@@ -67,8 +67,6 @@
 
             file-system-mapping->bind-mount
 
-            file-system-packages
-
             %store-mapping
             %network-configuration-files
             %network-file-mappings))
@@ -77,6 +75,9 @@
 ;;;
 ;;; Declaring file systems to be mounted.
 ;;;
+;;; Note: this file system is used both in the Shepherd and on the "host
+;;; side", so it must not include (gnu packages …) modules.
+;;;
 ;;; Code:
 
 ;; File system declaration.
@@ -419,22 +420,4 @@ a bind mount."
   (lambda (fs)
     (string=? (file-system-type fs) type)))
 
-(define* (file-system-packages file-systems #:key (volatile-root? #f))
- `(,@(if (find (lambda (fs)
-                 (string-prefix? "ext" (file-system-type fs)))
-               file-systems)
-         (list e2fsck/static)
-         '())
-   ,@(if (find (lambda (fs)
-                 (string-suffix? "fat" (file-system-type fs)))
-               file-systems)
-         (list fatfsck/static)
-         '())
-   ,@(if (find (file-system-type-predicate "btrfs") file-systems)
-         (list btrfs-progs/static)
-         '())
-   ,@(if volatile-root?
-         (list unionfs-fuse/static)
-         '())))
-
 ;;; file-systems.scm ends here