summary refs log tree commit diff
path: root/gnu/packages/file-systems.scm
diff options
context:
space:
mode:
authorTobias Geerinckx-Rice <me@tobias.gr>2023-09-24 02:00:00 +0200
committerTobias Geerinckx-Rice <me@tobias.gr>2023-09-24 02:00:00 +0200
commitbd6af33dbf2d89e2c34e6990de489c04e6ca8f35 (patch)
tree22e90f09bec6565f92a7910c32003fd242e7e3a7 /gnu/packages/file-systems.scm
parent21363801ae8d9c5812e7ca352de4f8954c690af9 (diff)
downloadguix-bd6af33dbf2d89e2c34e6990de489c04e6ca8f35.tar.gz
gnu: bcachefs-tools: Restore mount.bcachefs shell script version.
* gnu/packages/file-systems.scm (bcachefs-tools): Add back the old
'promote-mount.bcachefs.sh, tweaked to remove the new symlink.
[inputs]: Add back coreutils-minimal, gawk, and util-linux.
Diffstat (limited to 'gnu/packages/file-systems.scm')
-rw-r--r--gnu/packages/file-systems.scm26
1 files changed, 24 insertions, 2 deletions
diff --git a/gnu/packages/file-systems.scm b/gnu/packages/file-systems.scm
index b98a838f43..63de393851 100644
--- a/gnu/packages/file-systems.scm
+++ b/gnu/packages/file-systems.scm
@@ -619,7 +619,24 @@ from a mounted file system.")
                                                "not test_fsck and "
                                                "not test_list and "
                                                "not test_list_inodes and "
-                                               "not test_list_dirent"))))))))
+                                               "not test_list_dirent")))))
+                 (add-after 'install 'promote-mount.bcachefs.sh
+                   ;; The (optional) ‘mount.bcachefs’ requires rust:cargo.
+                   ;; This shell alternative does the job well enough for now.
+                   (lambda* (#:key inputs #:allow-other-keys)
+                     (define (whence file)
+                       (dirname (search-input-file inputs file)))
+                     (let ((mount (string-append #$output
+                                                 "/sbin/mount.bcachefs")))
+                       (delete-file mount) ; symlink to ‘bcachefs’
+                       (copy-file "mount.bcachefs.sh" mount)
+                       ;; WRAP-SCRIPT causes bogus ‘Insufficient arguments’ errors.
+                       (wrap-program mount
+                         `("PATH" ":" prefix
+                           ,(list (getcwd)
+                                  (whence "bin/tail")
+                                  (whence "bin/awk")
+                                  (whence "bin/mount"))))))))))
       (native-inputs
        (cons* pkg-config
               ;; For generating documentation with rst2man.
@@ -640,7 +657,12 @@ from a mounted file system.")
              `(,util-linux "lib")
              lz4
              zlib
-             `(,zstd "lib")))
+             `(,zstd "lib")
+
+             ;; Only for mount.bcachefs.sh.
+             coreutils-minimal
+             gawk
+             util-linux))
       (home-page "https://bcachefs.org/")
       (synopsis "Tools to create and manage bcachefs file systems")
       (description