Sync from SUSE:SLFO:Main fuse3 revision c804d31b046599c6facfc7e10ce020c8

This commit is contained in:
Adrian Schröter 2024-05-03 12:40:51 +02:00
commit ed43fc0439
6 changed files with 469 additions and 0 deletions

23
.gitattributes vendored Normal file
View File

@ -0,0 +1,23 @@
## Default LFS
*.7z filter=lfs diff=lfs merge=lfs -text
*.bsp filter=lfs diff=lfs merge=lfs -text
*.bz2 filter=lfs diff=lfs merge=lfs -text
*.gem filter=lfs diff=lfs merge=lfs -text
*.gz filter=lfs diff=lfs merge=lfs -text
*.jar filter=lfs diff=lfs merge=lfs -text
*.lz filter=lfs diff=lfs merge=lfs -text
*.lzma filter=lfs diff=lfs merge=lfs -text
*.obscpio filter=lfs diff=lfs merge=lfs -text
*.oxt filter=lfs diff=lfs merge=lfs -text
*.pdf filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.rpm filter=lfs diff=lfs merge=lfs -text
*.tbz filter=lfs diff=lfs merge=lfs -text
*.tbz2 filter=lfs diff=lfs merge=lfs -text
*.tgz filter=lfs diff=lfs merge=lfs -text
*.ttf filter=lfs diff=lfs merge=lfs -text
*.txz filter=lfs diff=lfs merge=lfs -text
*.whl filter=lfs diff=lfs merge=lfs -text
*.xz filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
*.zst filter=lfs diff=lfs merge=lfs -text

1
baselibs.conf Normal file
View File

@ -0,0 +1 @@
libfuse3-3

23
conf-rename.patch Normal file
View File

@ -0,0 +1,23 @@
Index: fuse-3.6.2/util/install_helper.sh
===================================================================
--- fuse-3.6.2.orig/util/install_helper.sh
+++ fuse-3.6.2/util/install_helper.sh
@@ -24,7 +24,7 @@ else
fi
install -D -m 644 "${MESON_SOURCE_ROOT}/util/fuse.conf" \
- "${DESTDIR}${sysconfdir}/fuse.conf"
+ "${DESTDIR}${sysconfdir}/fuse3.conf"
if $useroot; then
chown root:root "${DESTDIR}${bindir}/fusermount3"
Index: fuse-3.6.2/util/meson.build
===================================================================
--- fuse-3.6.2.orig/util/meson.build
+++ fuse-3.6.2/util/meson.build
@@ -1,4 +1,4 @@
-fuseconf_path = join_paths(get_option('prefix'), get_option('sysconfdir'), 'fuse.conf')
+fuseconf_path = join_paths(get_option('prefix'), get_option('sysconfdir'), 'fuse3.conf')
executable('fusermount3', ['fusermount.c', '../lib/mount_util.c'],
include_directories: include_dirs,

BIN
fuse-3.16.2.tar.gz (Stored with Git LFS) Normal file

Binary file not shown.

291
fuse3.changes Normal file
View File

@ -0,0 +1,291 @@
-------------------------------------------------------------------
Tue Oct 10 08:43:11 UTC 2023 - Jan Engelhardt <jengelh@inai.de>
- Update to release 3.16.2
* Various minor bugfixes and improvements.
-------------------------------------------------------------------
Tue Aug 8 10:37:24 UTC 2023 - Jan Engelhardt <jengelh@inai.de>
- Update to release 3.16.1
* Readdir kernel cache can be enabled from high-level API.
-------------------------------------------------------------------
Wed Jul 5 10:29:12 UTC 2023 - Jan Engelhardt <jengelh@inai.de>
- Update to release 3.15.1
* Reduce default write size by half
-------------------------------------------------------------------
Fri Jun 9 10:08:28 UTC 2023 - Jan Engelhardt <jengelh@inai.de>
- Update to release 3.15.0
* Improved support for some less common systems (32-bit,
alternative libcs)
* Unsupported mount options are no longer silently accepted.
* auto_unmount is now compatible with allow_other.
-------------------------------------------------------------------
Thu May 18 12:16:05 UTC 2023 - Jiri Srain <jsrain@suse.com>
- update the license tag matching the code (LGPL-2.1-only and
GPL-2.0-only)
-------------------------------------------------------------------
Sun Mar 26 13:17:56 UTC 2023 - Jan Engelhardt <jengelh@inai.de>
- Update to release 3.14.1
* The extended attribute name passed to the setxattr() handler
is no longer truncated at the beginning.
* The additional setattr() flags introduced in 3.14 are no
longer available for now. They will hopefully be reintroduced
in the next release.
-------------------------------------------------------------------
Fri Feb 17 10:14:30 UTC 2023 - Jan Engelhardt <jengelh@inai.de>
- Update to release 3.14
* Split config.h into private and public config
- Delete 0001-Split-config.h-into-private-and-public-config.patch
(merged).
-------------------------------------------------------------------
Mon Feb 6 19:46:51 UTC 2023 - Jan Engelhardt <jengelh@inai.de>
- Update to release 3.13.1
* Fixed an issue that resulted in errors when attempting to
compile against installed libfuse headers (because libc
symbol versioning support was not detected correctly in this
case).
- Add 0001-Split-config.h-into-private-and-public-config.patch
to fix doubly-defined macros and build failure elsewhere.
-------------------------------------------------------------------
Fri Jan 13 21:23:26 UTC 2023 - Jan Engelhardt <jengelh@inai.de>
- Update to release 3.13
* There is a new low-level API function fuse_session_custom_io
that allows to implement a daemon with a custom io. This can
be used to create a daemon that can process incoming FUSE
requests to other destinations than /dev/fuse.
* A deadlock when resolving paths in the high-level API has
been fixed.
-------------------------------------------------------------------
Thu Sep 8 12:41:23 UTC 2022 - Jan Engelhardt <jengelh@inai.de>
- Update to release 3.12.0
* The max_idle_threads parameter has been deprecated in favor
of the new max_threads* parameter
* struct fuse_loop_config is now private and has to be
constructed using fuse_loop_cfg_create()
* fuse_session_loop_mt() now accepts struct fuse_loop_config *
as NULL pointer.
* fuse_parse_cmdline() now accepts a max_threads option.
-------------------------------------------------------------------
Thu May 5 07:31:46 UTC 2022 - Paolo Stivanin <info@paolostivanin.com>
- Update to version 3.11.0:
* Add support for flag FOPEN_NOFLUSH for avoiding flush on close.
* Fixed returning an error condition to ioctl(2)
-------------------------------------------------------------------
Mon Sep 6 14:03:08 UTC 2021 - Jan Engelhardt <jengelh@inai.de>
- Update to release 3.10.5
* Various improvements to make unit tests more robust.
-------------------------------------------------------------------
Wed Jun 9 08:24:28 UTC 2021 - Jan Engelhardt <jengelh@inai.de>
- Update to release 3.10.4
* Source code: fixed memory leaks in examples.
-------------------------------------------------------------------
Mon Apr 12 10:45:47 UTC 2021 - Jan Engelhardt <jengelh@inai.de>
- Update to release 3.10.3
* Fix returning d_ino and d_type from readdir(3) in non-plus mode
-------------------------------------------------------------------
Fri Feb 5 09:28:17 UTC 2021 - Jan Engelhardt <jengelh@inai.de>
- Update to release 3.10.2
* Allow "nonempty" as a mount option, for backwards
compatibility with fusermount 2. The option has no effect
since mounting over non-empty directories is allowed by default.
* FUSE filesystems can now be mounted underneath EXFAT
mountpoints.
-------------------------------------------------------------------
Fri Jan 15 13:12:09 UTC 2021 - Ludwig Nussel <lnussel@suse.de>
- prepare usrmerge (boo#1029961)
-------------------------------------------------------------------
Mon Dec 7 10:32:42 UTC 2020 - Jan Engelhardt <jengelh@inai.de>
- Update to release 3.10.1
* Unspecified "various minor fixes"
-------------------------------------------------------------------
Fri Nov 20 10:10:06 UTC 2020 - Jan Engelhardt <jengelh@inai.de>
- Drop /sbin links; they do not seem to be used from anywhere.
- Package "permission" is required in %post, not %pre.
- Update descriptions.
-------------------------------------------------------------------
Fri Oct 9 10:00:32 UTC 2020 - Jan Engelhardt <jengelh@inai.de>
- Update to release 3.10.0
* Add FUSE_CAP_CACHE_SYMLINKS: allow caching symlinks in kernel
page cache.
-------------------------------------------------------------------
Sun Aug 9 11:57:44 UTC 2020 - Ismail Dönmez <idonmez@suse.com>
- Update to version 3.9.3
* Minor bugfixes, documentation updates
-------------------------------------------------------------------
Thu Jun 11 14:26:17 UTC 2020 - Ismail Dönmez <idonmez@suse.com>
- Update to version 3.9.2
* Remove obsolete workarounds in examples.
* Do not require C++ compiler for building.
* Minor bugfixes.
- Drop BR on c++_compiler
-------------------------------------------------------------------
Fri Mar 20 06:15:34 UTC 2020 - Ismail Dönmez <idonmez@suse.com>
- Update to version 3.9.1
* Fixed memory leak in fuse_session_new().
* Fixed an issue with the linker version script.
* Make ioctl prototype conditional on FUSE_USE_VERSION.
Define FUSE_USE_VERSION < 35 to get old ioctl prototype with
int commands; define FUSE_USE_VERSION >= 35 to get new ioctl
prototype with unsigned int commands.
* Various small bugfixes.
-------------------------------------------------------------------
Sat Dec 14 12:47:41 UTC 2019 - Ismail Dönmez <idonmez@suse.com>
- Update to version 3.9.0
* Added support for FUSE_EXPLICIT_INVAL_DATA to enable onl
invalidate cached pages on explicit request.
-------------------------------------------------------------------
Sun Nov 3 10:01:00 UTC 2019 - Ismail Dönmez <idonmez@suse.com>
- Update to version 3.8.0
* Added support for FUSE_LSEEK operation which can be used to
report holes in sparse files.
-------------------------------------------------------------------
Tue Jul 9 12:47:17 UTC 2019 - Ismail Dönmez <idonmez@suse.com>
- Update to version 3.6.2
* The init script is now installed to /etc/ rather than
/usr/local/etc by default.
* Minor bugfixes
- Drop fuse-install-fix.patch, not needed with -Duseroot=false
- Add conf-rename.patch, which is split from the above now
removed patch
-------------------------------------------------------------------
Thu Jun 20 09:48:24 UTC 2019 - Martin Liška <mliska@suse.cz>
- Disable LTO due to symbol versioning (boo#1138803).
-------------------------------------------------------------------
Thu Jun 13 14:54:44 UTC 2019 - Ismail Dönmez <idonmez@suse.com>
- Update to version 3.6.1
* Fixed version number (release 3.6.0 was shipped with a declared
version of 3.0.0).
-------------------------------------------------------------------
Thu Jun 13 12:07:16 UTC 2019 - Ismail Dönmez <idonmez@suse.com>
- Update to version 3.6.0
* Added a new example (passthrough_hp). The functionality is
similar to passthrough_ll, but the implementation focuses
on performance and correctness rather than simplicity.
* Added support for fuse kernel feature max_pages which allows
to increase the maximum number of pages that can be used per
request. This feature was introduced in kernel 4.20.
max_pages is set based on the value in max_write.
By default max_write will be 1MiB now for kernels that
support max_pages. If you want smaller buffers or writes
you have to set max_write manually.
-------------------------------------------------------------------
Wed Apr 17 07:48:52 UTC 2019 - Paolo Stivanin <info@paolostivanin.com>
- Update to 3.5.0:
* Changed ioctl commands to "unsigned int" in order to support
commands which do not fit into a signed int. Commands issued
by applications are still truncated to 32 bits.
* Added SMB2 to whitelist (so users can now mount FUSE
filesystems on mountpoints within SMB 2.0 filesystems).
* Added a new cache_readdir flag to fuse_file_info to enable
caching of readdir results. Supported by kernels 4.20 and newer.
* Add support and documentation for FUSE_CAP_NO_OPENDIR_SUPPORT.
-------------------------------------------------------------------
Tue Mar 19 14:35:22 UTC 2019 - Jan Engelhardt <jengelh@inai.de>
- Amend License: field with BSD2c, from
https://github.com/libfuse/libfuse/commit/4c699e7debd99b178b9574e7dd20f36937ef296e#diff-3f1e2bdc537057b6ac2f74d095a431b8
-------------------------------------------------------------------
Mon Mar 18 06:52:39 UTC 2019 - Paolo Stivanin <info@paolostivanin.com>
- Update to 3.4.2
* The examples/passthrough_ll.c example filesystem has been significantly extended.
* Support for copy_file_range has been added.
* Build system updates for non-Linux systems.
* Fixed a memory leak
* Added OpenAFS and HFS+ to whitelist
* Docu updates
-------------------------------------------------------------------
Thu Nov 29 08:30:24 UTC 2018 - Jan Engelhardt <jengelh@inai.de>
- Update descriptions.
- Do not make documentation mandatory.
-------------------------------------------------------------------
Mon Nov 26 13:22:12 UTC 2018 - Ismail Dönmez <idonmez@suse.com>
- Update to version 3.3.0
* The auto_unmount mode now works correctly in combination with
autofs.
* The FUSE_CAP_READDIRPLUS_AUTO capability is no longer enabled by
default unless the file system defines both a readdir() and a
readdirplus() handler.
* The description of the FUSE_CAP_READDIRPLUS_AUTO flag has been
improved.
* Allow open /dev/fuse file descriptors to be passed via mountpoints
of the special format /dev/fd/%u. This allows mounting to be
handled by the parent so the FUSE filesystem process can run
fully unprivileged.
* Add a drop_privileges option to mount.fuse3 which causes it to open
/dev/fuse and mount the file system itself, then run the FUSE file
filesystem fully unprivileged and unable to re-acquire privilege
via setuid, fscaps, etc.
* Documented under which conditions the fuse_lowlevel_notify_*
functions may block.
* The chmod, chown, truncate, utimens and getattr handlers of
the high-level API now all receive an additional struct
fuse_file_info pointer. There are more API changes, consult
https://github.com/libfuse/libfuse/releases/tag/fuse-3.3.0
for details.
-------------------------------------------------------------------
Thu Oct 4 10:51:37 UTC 2018 - Ismail Dönmez <idonmez@suse.com>
- Initial release v3.2.6

128
fuse3.spec Normal file
View File

@ -0,0 +1,128 @@
#
# spec file for package fuse3
#
# Copyright (c) 2023 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
Name: fuse3
Version: 3.16.2
Release: 0
Summary: Reference implementation of the "Filesystem in Userspace"
License: BSD-2-Clause AND GPL-2.0-only AND LGPL-2.1-only
Group: System/Filesystems
URL: https://github.com/libfuse/libfuse
Source: https://github.com/libfuse/libfuse/releases/download/fuse-%version/fuse-%version.tar.gz
Source1000: baselibs.conf
Patch1: conf-rename.patch
BuildRequires: fdupes
BuildRequires: meson
BuildRequires: pkgconfig
BuildRequires: pkgconfig(udev)
Requires: util-linux >= 2.18
Requires(pre): group(trusted)
Requires(post): permissions
Supplements: filesystem(fuse)
%description
FUSE (Filesystem in Userspace) is an interface by the Linux kernel
for userspace programs to export a filesystem to the kernel.
This package contains helper programs for using FUSE mounts.
FUSE file systems are typically implemented as a standalone
applications in their own right and are packaged separately.
%package -n libfuse3-3
Summary: Library of FUSE, the User space File System for GNU/Linux and BSD
Group: System/Filesystems
%description -n libfuse3-3
FUSE (Filesystem in Userspace) is an interface by the Linux kernel
for userspace programs to export a filesystem to the kernel.
A FUSE file system is typically implemented as a standalone
application that links with libfuse. libfuse provides a C API over
the raw kernel interface.
%package doc
Summary: Documentation for the FUSE library version 3
Group: Documentation/HTML
%description doc
This package contains the documentation for FUSE (userspace filesystem).
%package devel
Summary: Development package for FUSE (userspace filesystem) modules
Group: Development/Languages/C and C++
Requires: fuse3 = %version
Requires: glibc-devel
Requires: libfuse3-3 = %version
%description devel
This package contains all include files, libraries and configuration
files needed to develop programs that use the fuse (FUSE) library to
implement file systems in user space.
With fuse-devel, users can compile and install other user space file
systems.
%prep
%autosetup -p1 -n fuse-%version
%build
%define _lto_cflags %nil
%meson -Duseroot=false
%meson_build
%install
%meson_install
find "%buildroot" -type f -name "*.la" -delete -print
# Remove unneeded stuff
rm -Rfv "%buildroot/%_prefix/lib/udev" "%buildroot/%_initddir"
%fdupes -s doc
%post
%set_permissions %_bindir/fusermount3
%verifyscript
%verify_permissions -e %_bindir/fusermount3
%post -n libfuse3-3 -p /sbin/ldconfig
%postun -n libfuse3-3 -p /sbin/ldconfig
%files
%license LICENSE GPL2.txt LGPL2.txt
%doc AUTHORS ChangeLog.rst
%verify(not mode) %attr(4750,root,trusted) %_bindir/fusermount3
%_sbindir/mount.fuse3
%config %_sysconfdir/fuse3.conf
%_mandir/man1/*
%_mandir/man8/*
%files -n libfuse3-3
%_libdir/libfuse3.so.3*
%files doc
%doc example doc
%files devel
%_libdir/libfuse3.so
%_includedir/fuse3/*.h
%_includedir/fuse3
%_libdir/pkgconfig/*.pc
%changelog