aboutsummaryrefslogtreecommitdiffstats
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
parent3a92c69bba28aaf427c28a38c900efc314a57db3 (diff)
downloadlibfuse-d709f319232ae40302b7cd73ab945c3d76be01f3.tar.gz
Do not hardcode /etc/fuse.conf path.
-rw-r--r--ChangeLog.rst3
-rw-r--r--meson_options.txt2
-rw-r--r--util/fusermount.c1
-rwxr-xr-xutil/install_helper.sh29
-rw-r--r--util/meson.build11
5 files changed, 33 insertions, 13 deletions
diff --git a/ChangeLog.rst b/ChangeLog.rst
index 97f5164..75fcc48 100644
--- a/ChangeLog.rst
+++ b/ChangeLog.rst
@@ -6,6 +6,9 @@ Unreleased Changes
bcachefs, aufs and FAT filesystems.
* libfuse may now be used as a Meson subproject.
* Fix a few low-impact memory leaks.
+* The `fuse.conf` file is no longer looked for in `/etc`, but in the
+ *sysconfdir* directory (which can be set with `meson configure`). By
+ default, the location is thus `/usr/local/etc/fuse.conf`.
libfuse 3.2.5 (2018-07-24)
==========================
diff --git a/meson_options.txt b/meson_options.txt
index b4608a7..983fcac 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -2,4 +2,4 @@ option('disable-mtab', type : 'boolean', value : false,
description: 'Disable and ignore usage of /etc/mtab')
option('udevrulesdir', type : 'string', value : '',
- description: 'Path where udev rules are installed to (Defaults to udevdir specified in udev.pc)')
+ description: 'Where to install udev rules (if empty, query pkg-config(1))')
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)