[systemd-devel] [PATCH] build: lookup for the "mount" binary
Cristian Rodríguez
crrodriguez at opensuse.org
Wed Oct 30 19:12:34 CET 2013
Real executable might be in /usr and not in /bin
---
configure.ac | 4 ++++
src/core/mount.c | 4 ++--
src/remount-fs/remount-fs.c | 10 +++++-----
3 files changed, 11 insertions(+), 7 deletions(-)
diff --git a/configure.ac b/configure.ac
index 7e41d57..8ad3c43 100644
--- a/configure.ac
+++ b/configure.ac
@@ -78,6 +78,10 @@ AC_PATH_PROG([KMOD], [kmod], [/usr/bin/kmod])
AC_PATH_PROG([KEXEC], [kexec], [/usr/sbin/kexec])
+AC_PATH_PROG([MOUNT_BIN], [mount], [/bin/mount])
+AC_DEFINE_UNQUOTED(MOUNT_BIN, ["$MOUNT_BIN"], [Path to /bin/mount])
+
+
# gtkdocize greps for '^GTK_DOC_CHECK', so it needs to be on its own line
m4_ifdef([GTK_DOC_CHECK], [
GTK_DOC_CHECK([1.18],[--flavour no-tmpl])],
diff --git a/src/core/mount.c b/src/core/mount.c
index 88563b3..69c932b 100644
--- a/src/core/mount.c
+++ b/src/core/mount.c
@@ -915,7 +915,7 @@ static void mount_enter_mounting(Mount *m) {
if (m->from_fragment)
r = exec_command_set(
m->control_command,
- "/bin/mount",
+ MOUNT_BIN,
m->parameters_fragment.what,
m->where,
"-t", m->parameters_fragment.fstype ? m->parameters_fragment.fstype : "auto",
@@ -974,7 +974,7 @@ static void mount_enter_remounting(Mount *m) {
r = exec_command_set(
m->control_command,
- "/bin/mount",
+ MOUNT_BIN,
m->parameters_fragment.what,
m->where,
"-t", m->parameters_fragment.fstype ? m->parameters_fragment.fstype : "auto",
diff --git a/src/remount-fs/remount-fs.c b/src/remount-fs/remount-fs.c
index 847637a..c1fc78b 100644
--- a/src/remount-fs/remount-fs.c
+++ b/src/remount-fs/remount-fs.c
@@ -96,15 +96,15 @@ int main(int argc, char *argv[]) {
const char *arguments[5];
/* Child */
- arguments[0] = "/bin/mount";
+ arguments[0] = MOUNT_BIN;
arguments[1] = me->mnt_dir;
arguments[2] = "-o";
arguments[3] = "remount";
arguments[4] = NULL;
- execv("/bin/mount", (char **) arguments);
+ execv(MOUNT_BIN, (char **) arguments);
- log_error("Failed to execute /bin/mount: %m");
+ log_error("Failed to execute %s: %m", MOUNT_BIN);
_exit(EXIT_FAILURE);
}
@@ -144,9 +144,9 @@ int main(int argc, char *argv[]) {
if (s) {
if (!is_clean_exit(si.si_code, si.si_status, NULL)) {
if (si.si_code == CLD_EXITED)
- log_error("/bin/mount for %s exited with exit status %i.", s, si.si_status);
+ log_error("%s for %s exited with exit status %i.", MOUNT_BIN, s, si.si_status);
else
- log_error("/bin/mount for %s terminated by signal %s.", s, signal_to_string(si.si_status));
+ log_error("%s for %s terminated by signal %s.", MOUNT_BIN, s, signal_to_string(si.si_status));
ret = EXIT_FAILURE;
}
--
1.8.4
More information about the systemd-devel
mailing list