aboutsummaryrefslogtreecommitdiffstats
path: root/util
diff options
context:
space:
mode:
authorNikolaus Rath <Nikolaus@rath.org>2018-08-31 13:38:26 +0200
committerNikolaus Rath <Nikolaus@rath.org>2018-08-31 13:46:13 +0200
commitd709f319232ae40302b7cd73ab945c3d76be01f3 (patch)
treeb43fd2d909b8c1fd116d3bb4bc7ec76062307294 /util
parent3a92c69bba28aaf427c28a38c900efc314a57db3 (diff)
downloadlibfuse-d709f319232ae40302b7cd73ab945c3d76be01f3.tar.gz
Do not hardcode /etc/fuse.conf path.
Diffstat (limited to 'util')
-rw-r--r--util/fusermount.c1
-rwxr-xr-xutil/install_helper.sh29
-rw-r--r--util/meson.build11
3 files changed, 29 insertions, 12 deletions
diff --git a/util/fusermount.c b/util/fusermount.c
index ed9d0aa..250bf76 100644
--- a/util/fusermount.c
+++ b/util/fusermount.c
@@ -35,7 +35,6 @@
#define FUSE_COMMFD_ENV "_FUSE_COMMFD"
#define FUSE_DEV "/dev/fuse"
-#define FUSE_CONF "/etc/fuse.conf"
#ifndef MS_DIRSYNC
#define MS_DIRSYNC 128
diff --git a/util/install_helper.sh b/util/install_helper.sh
index 48a8927..688b245 100755
--- a/util/install_helper.sh
+++ b/util/install_helper.sh
@@ -9,10 +9,25 @@ set -e
sysconfdir="$1"
bindir="$2"
udevrulesdir="$3"
-prefix="${MESON_INSTALL_DESTDIR_PREFIX}"
-chown root:root "${prefix}/${bindir}/fusermount3"
-chmod u+s "${prefix}/${bindir}/fusermount3"
+# Both sysconfdir and bindir are absolute paths (since they are joined
+# with --prefix in meson.build), but need to be interpreted relative
+# to DESTDIR (if specified).
+
+if [ -z "${DESTDIR}" ]; then
+ # Prevent warnings about uninitialized variable
+ DESTDIR=""
+else
+ # Get rid of duplicate slash
+ DESTDIR="${DESTDIR%/}"
+fi
+
+chown root:root "${DESTDIR}${bindir}/fusermount3"
+chmod u+s "${DESTDIR}${bindir}/fusermount3"
+
+install -D -m 644 "${MESON_SOURCE_ROOT}/util/fuse.conf" \
+ "${DESTDIR}${sysconfdir}/fuse.conf"
+
if test ! -e "${DESTDIR}/dev/fuse"; then
mkdir -p "${DESTDIR}/dev"
@@ -20,19 +35,17 @@ if test ! -e "${DESTDIR}/dev/fuse"; then
fi
install -D -m 644 "${MESON_SOURCE_ROOT}/util/udev.rules" \
- "${DESTDIR}/${udevrulesdir}/99-fuse3.rules"
+ "${DESTDIR}${udevrulesdir}/99-fuse3.rules"
install -D -m 755 "${MESON_SOURCE_ROOT}/util/init_script" \
- "${DESTDIR}/etc/init.d/fuse3"
+ "${DESTDIR}${sysconfdir}/init.d/fuse3"
-install -D -m 644 "${MESON_SOURCE_ROOT}/util/fuse.conf" \
- "${DESTDIR}/etc/fuse.conf"
if test -x /usr/sbin/update-rc.d && test -z "${DESTDIR}"; then
/usr/sbin/update-rc.d fuse3 start 34 S . start 41 0 6 . || /bin/true
else
echo "== FURTHER ACTION REQUIRED =="
- echo "Make sure that your init system will start the ${DESTDIR}/etc/init.d/fuse3 init script"
+ echo "Make sure that your init system will start the ${sysconfdir}/init.d/fuse3 init script"
fi
diff --git a/util/meson.build b/util/meson.build
index ec08c17..01f7678 100644
--- a/util/meson.build
+++ b/util/meson.build
@@ -8,10 +8,13 @@ mount_util_c = custom_target('mount_util',
command : ['cp', '-a', '@INPUT@', '@OUTPUT@'],
)
+fuseconf_path = join_paths(get_option('prefix'), get_option('sysconfdir'), 'fuse.conf')
+
executable('fusermount3', ['fusermount.c', mount_util_c],
include_directories: include_dirs,
install: true,
- install_dir: get_option('bindir'))
+ install_dir: get_option('bindir'),
+ c_args: '-DFUSE_CONF="@0@"'.format(fuseconf_path))
executable('mount.fuse3', ['mount.fuse.c'],
include_directories: include_dirs,
@@ -25,7 +28,9 @@ if udevrulesdir == ''
udevrulesdir = join_paths(udev.get_pkgconfig_variable('udevdir'), 'rules.d')
endif
-meson.add_install_script('install_helper.sh', get_option('sysconfdir'),
- get_option('bindir'), udevrulesdir)
+meson.add_install_script('install_helper.sh',
+ join_paths(get_option('prefix'), get_option('sysconfdir')),
+ join_paths(get_option('prefix'), get_option('bindir')),
+ udevrulesdir)