summaryrefslogtreecommitdiff
path: root/gnu
diff options
context:
space:
mode:
authorTobias Geerinckx-Rice <me@tobias.gr>2023-07-23 02:00:00 +0200
committerTobias Geerinckx-Rice <me@tobias.gr>2023-07-23 02:00:00 +0200
commitedf50dec80a75414ec44cf8ec52ee05620fd4a7b (patch)
tree291e1f9ae8d0c08e166cb11e179b9fc1e3d7bc6c /gnu
parentecdcafc007e3a06647e02e2077e0ff352b38c06f (diff)
gnu: bcachefs-tools: Fix shell script wrappers.
* gnu/packages/file-systems.scm (bcachefs-tools)[arguments]: Add a new 'patch-shell-wrappers phase.
Diffstat (limited to 'gnu')
-rw-r--r--gnu/packages/file-systems.scm12
1 files changed, 11 insertions, 1 deletions
diff --git a/gnu/packages/file-systems.scm b/gnu/packages/file-systems.scm
index bc286d3bea..fe4f483ddc 100644
--- a/gnu/packages/file-systems.scm
+++ b/gnu/packages/file-systems.scm
@@ -618,7 +618,17 @@ 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 'patch-shell-wrappers
+ ;; These are overcomplicated wrappers that invoke readlink(1)
+ ;; to exec the appropriate bcachefs(8) subcommand. We can
+ ;; simply patch in the latter file name directly, and do.
+ (lambda _
+ (let ((sbin/ (string-append #$output "/sbin/")))
+ (substitute* (find-files sbin/ (lambda (file stat)
+ (not (elf-file? file))))
+ (("SDIR=.*") "")
+ (("\\$\\{SDIR.*}/") sbin/))))))))
(native-inputs
(cons* pkg-config
;; For generating documentation with rst2man.