about summary refs log tree commit diff
path: root/pkgs/tools/filesystems/ntfs-3g/autoconf-sbin-helpers.patch
blob: 5e896063ba6a7cb5d7242bcb35fb12d07f912e86 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
diff --git a/configure.ac b/configure.ac
index 9aa25bd5..c7c0437b 100644
--- a/configure.ac
+++ b/configure.ac
@@ -185,6 +185,30 @@ AC_ARG_ENABLE(
 	]
 )
 
+AC_ARG_WITH(
+	[mount-helper],
+	[AS_HELP_STRING([--with-mount-helper=BIN],[use the specified binary as mount helper @<:@default=/sbin/mount@:>@])],
+	[mount_helper="$withval"],
+	[mount_helper="/sbin/mount"]
+)
+AC_DEFINE_UNQUOTED([MOUNT_HELPER], ["$mount_helper"], [Binary used as mount helper.])
+
+AC_ARG_WITH(
+	[umount-helper],
+	[AS_HELP_STRING([--with-umount-helper=BIN],[use the specified binary as umount helper @<:@default=/sbin/umount@:>@])],
+	[umount_helper="$withval"],
+	[umount_helper="/sbin/umount"]
+)
+AC_DEFINE_UNQUOTED([UMOUNT_HELPER], ["$umount_helper"], [Binary used as umount helper.])
+
+AC_ARG_WITH(
+	[modprobe-helper],
+	[AS_HELP_STRING([--with-modprobe-helper=BIN],[use the specified binary as modprobe helper @<:@default=/sbin/modprobe@:>@])],
+	[modprobe_helper="$withval"],
+	[modprobe_helper="/sbin/modprobe"]
+)
+AC_DEFINE_UNQUOTED([MODPROBE_HELPER], ["$modprobe_helper"], [Binary used as modprobe helper.])
+
 # pthread_rwlock_t requires _GNU_SOURCE
 AC_GNU_SOURCE
 
diff --git a/libfuse-lite/mount_util.c b/libfuse-lite/mount_util.c
index 8b317224..ee75ace6 100644
--- a/libfuse-lite/mount_util.c
+++ b/libfuse-lite/mount_util.c
@@ -89,10 +89,10 @@ int fuse_mnt_add_mount(const char *progname, const char *fsname,
             exit(1);
         }
         rmdir(tmp);
-        execle("/sbin/mount", "/sbin/mount", "-F", type, "-o", opts,
+        execle(MOUNT_HELPER, MOUNT_HELPER, "-F", type, "-o", opts,
               fsname, mnt, NULL, &env);
-        fprintf(stderr, "%s: failed to execute /sbin/mount: %s\n", progname,
-                strerror(errno));
+        fprintf(stderr, "%s: failed to execute %s: %s\n", progname,
+                MOUNT_HELPER, strerror(errno));
         exit(1);
     }
     res = waitpid(res, &status, 0);
@@ -126,14 +126,14 @@ int fuse_mnt_umount(const char *progname, const char *mnt, int lazy)
 
         setuid(geteuid());
         if (lazy) {
-            execle("/sbin/umount", "/sbin/umount", mnt,
+            execle(UMOUNT_HELPER, UMOUNT_HELPER, mnt,
                    NULL, &env);
         } else {
-            execle("/sbin/umount", "/sbin/umount", "-f", mnt,
+            execle(UMOUNT_HELPER, UMOUNT_HELPER, "-f", mnt,
                    NULL, &env);
         }
-        fprintf(stderr, "%s: failed to execute /sbin/umount: %s\n", progname,
-                strerror(errno));
+        fprintf(stderr, "%s: failed to execute %s: %s\n", progname,
+                UMOUNT_HELPER, strerror(errno));
         exit(1);
     }
     res = waitpid(res, &status, 0);
diff --git a/src/lowntfs-3g.c b/src/lowntfs-3g.c
index 9330500c..dd18a93f 100644
--- a/src/lowntfs-3g.c
+++ b/src/lowntfs-3g.c
@@ -4463,7 +4463,7 @@ static fuse_fstype load_fuse_module(void)
 	int i;
 	struct stat st;
 	pid_t pid;
-	const char *cmd = "/sbin/modprobe";
+	const char *cmd = MODPROBE_HELPER;
 	char *env = (char*)NULL;
 	struct timespec req = { 0, 100000000 };   /* 100 msec */
 	fuse_fstype fstype;
diff --git a/src/ntfs-3g.c b/src/ntfs-3g.c
index d8227e71..f5d77252 100644
--- a/src/ntfs-3g.c
+++ b/src/ntfs-3g.c
@@ -4171,7 +4171,7 @@ static fuse_fstype load_fuse_module(void)
 	int i;
 	struct stat st;
 	pid_t pid;
-	const char *cmd = "/sbin/modprobe";
+	const char *cmd = MODPROBE_HELPER;
 	char *env = (char*)NULL;
 	struct timespec req = { 0, 100000000 };   /* 100 msec */
 	fuse_fstype fstype;