fuse3: 3.11.0 -> 3.16.1

https://github.com/libfuse/libfuse/blob/fuse-3.16.1/ChangeLog.rst#libfuse-3161-2023-08-08

One change can be expected to break some setups:

- Unsupported mount options are no longer silently accepted [1]

For example, sshfs built against the present libfuse 3.11.0,

`$ sshfs 127.0.0.1:/home/test/testdir /home/test/sshfs_mnt -o atime`

terminates successfully (with the mount point established), while when
built against 3.16.1, it outputs the error message `fuse: unknown
option(s): `-o atime'` and terminates with exit status 1.
This commit is contained in:
6t8k 2023-08-26 18:42:37 +02:00
parent 10aabaf097
commit dd4f12ef27
No known key found for this signature in database
4 changed files with 21 additions and 17 deletions

View File

@ -1,4 +1,4 @@
{ version, sha256Hash }: { version, hash }:
{ lib, stdenv, fetchFromGitHub, fetchpatch { lib, stdenv, fetchFromGitHub, fetchpatch
, fusePackages, util-linux, gettext, shadow , fusePackages, util-linux, gettext, shadow
@ -17,7 +17,7 @@ in stdenv.mkDerivation rec {
owner = "libfuse"; owner = "libfuse";
repo = "libfuse"; repo = "libfuse";
rev = "${pname}-${version}"; rev = "${pname}-${version}";
sha256 = sha256Hash; inherit hash;
}; };
preAutoreconf = "touch config.rpath"; preAutoreconf = "touch config.rpath";
@ -48,6 +48,7 @@ in stdenv.mkDerivation rec {
mesonFlags = lib.optionals isFuse3 [ mesonFlags = lib.optionals isFuse3 [
"-Dudevrulesdir=/udev/rules.d" "-Dudevrulesdir=/udev/rules.d"
"-Duseroot=false" "-Duseroot=false"
"-Dinitscriptdir="
]; ];
preConfigure = '' preConfigure = ''

View File

@ -7,11 +7,11 @@ let
in { in {
fuse_2 = mkFuse { fuse_2 = mkFuse {
version = "2.9.9"; version = "2.9.9";
sha256Hash = "1yxxvm58c30pc022nl1wlg8fljqpmwnchkywic3r74zirvlcq23n"; hash = "sha256-dgjM6M7xk5MHi9xPyCyvF0vq0KM8UCsEYBcMhkrdvfs=";
}; };
fuse_3 = mkFuse { fuse_3 = mkFuse {
version = "3.11.0"; version = "3.16.1";
sha256Hash = "1wx80xxlvjn0wxhmkr1g91vwrgxssyzds1hizzxc2xrd4kjh9dfb"; hash = "sha256-9UYrZ+aYwoa7OmsmUGvOW9uBzTw+p+ugjTMiQIHQ804=";
}; };
} }

View File

@ -1,12 +1,13 @@
diff --git a/lib/meson.build b/lib/meson.build
--- a/lib/meson.build --- a/lib/meson.build
+++ b/lib/meson.build +++ b/lib/meson.build
@@ -37,8 +37,7 @@ libfuse = library('fuse3', libfuse_sources, version: meson.project_version(), @@ -37,8 +37,7 @@ libfuse = library('fuse3', libfuse_sources, version: meson.project_version(),
soversion: '3', include_directories: include_dirs, soversion: '3', include_directories: include_dirs,
dependencies: deps, install: true, dependencies: deps, install: true,
link_depends: 'fuse_versionscript', link_depends: 'fuse_versionscript',
- c_args: [ '-DFUSE_USE_VERSION=35', - c_args: [ '-DFUSE_USE_VERSION=312',
- '-DFUSERMOUNT_DIR="@0@"'.format(fusermount_path) ], - '-DFUSERMOUNT_DIR="@0@"'.format(fusermount_path) ],
+ c_args: [ '-DFUSE_USE_VERSION=35' ], + c_args: [ '-DFUSE_USE_VERSION=312' ],
link_args: ['-Wl,--version-script,' + meson.current_source_dir() link_args: ['-Wl,--version-script,' + meson.current_source_dir()
+ '/fuse_versionscript' ]) + '/fuse_versionscript' ])

View File

@ -1,18 +1,20 @@
--- a/util/install_helper.sh 2019-07-10 12:00:15.984840142 +0200 --- a/util/install_helper.sh 2023-08-26 22:12:11.028651669 +0200
+++ b/util/install_helper.sh 2019-07-10 12:28:56.343011401 +0200 +++ b/util/install_helper.sh 2023-08-26 22:38:03.165058694 +0200
@@ -37,10 +37,10 @@ @@ -39,12 +39,12 @@
fi
install -D -m 644 "${MESON_SOURCE_ROOT}/util/udev.rules" \ if [ "${udevrulesdir}" != "" ]; then
install -D -m 644 "${MESON_SOURCE_ROOT}/util/udev.rules" \
- "${DESTDIR}${udevrulesdir}/99-fuse3.rules" - "${DESTDIR}${udevrulesdir}/99-fuse3.rules"
+ "${sysconfdir}${udevrulesdir}/99-fuse3.rules" + "${sysconfdir}${udevrulesdir}/99-fuse3.rules"
fi
install -D -m 755 "${MESON_SOURCE_ROOT}/util/init_script" \ if [ "$initscriptdir" != "" ]; then
- "${DESTDIR}/etc/init.d/fuse3" install -D -m 755 "${MESON_SOURCE_ROOT}/util/init_script" \
+ "${sysconfdir}/init.d/fuse3" - "${DESTDIR}${initscriptdir}/fuse3"
+ "${sysconfdir}${initscriptdir}/fuse3"
if test -x /usr/sbin/update-rc.d && test -z "${DESTDIR}"; then
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
diff --git a/util/meson.build b/util/meson.build diff --git a/util/meson.build b/util/meson.build
index aa0e734..06d4378 100644 index aa0e734..06d4378 100644
--- a/util/meson.build --- a/util/meson.build