Import fuse3_3.17.2-1.debian.tar.xz
authorLaszlo Boszormenyi (GCS) <gcs@debian.org>
Sun, 27 Apr 2025 06:10:01 +0000 (08:10 +0200)
committerLaszlo Boszormenyi (GCS) <gcs@debian.org>
Sun, 27 Apr 2025 06:10:01 +0000 (08:10 +0200)
[dgit import tarball fuse3 3.17.2-1 fuse3_3.17.2-1.debian.tar.xz]

31 files changed:
NEWS [new file with mode: 0644]
changelog [new file with mode: 0644]
clean [new file with mode: 0644]
control [new file with mode: 0644]
copyright [new file with mode: 0644]
examples/Makefile [new file with mode: 0644]
fuse3-udeb.install [new file with mode: 0644]
fuse3.install [new file with mode: 0644]
fuse3.links [new file with mode: 0644]
fuse3.manpages [new file with mode: 0644]
fuse3.postinst [new file with mode: 0644]
fuse3.postrm [new file with mode: 0644]
fuse3.preinst [new file with mode: 0644]
libfuse3-4-udeb.install [new file with mode: 0644]
libfuse3-4.docs [new file with mode: 0644]
libfuse3-4.install [new file with mode: 0644]
libfuse3-4.symbols [new file with mode: 0644]
libfuse3-dev.examples [new file with mode: 0644]
libfuse3-dev.install [new file with mode: 0644]
local/fuse.conf [new file with mode: 0644]
local/fuse.hook [new file with mode: 0644]
local/fuse.kmod [new file with mode: 0644]
not-installed [new file with mode: 0644]
patches/Fix_meson_function_tests.patch [new file with mode: 0644]
patches/meson.build-make-special_funcs-check-more-reliable.patch [new file with mode: 0644]
patches/series [new file with mode: 0644]
rules [new file with mode: 0755]
source/format [new file with mode: 0644]
upstream/metadata [new file with mode: 0644]
upstream/signing-key.asc [new file with mode: 0644]
watch [new file with mode: 0644]

diff --git a/NEWS b/NEWS
new file mode 100644 (file)
index 0000000..196ba52
--- /dev/null
+++ b/NEWS
@@ -0,0 +1,9 @@
+fuse3 (3.14.0-6) unstable; urgency=medium
+
+  The fuse3 package honours a dpkg-statoverride of /bin/fusermount3 installed
+  by a system administrator (e.g. to remove the setuid binary installed by
+  default). The path to this file according to the package manager is
+  transitioned to /usr/bin/fusermount3. If you installed a statoverride,
+  please move it to the new path and verify the permissions.
+
+ -- Helmut Grohne <helmut@subdivi.de>  Wed, 12 Jun 2024 13:41:27 +0200
diff --git a/changelog b/changelog
new file mode 100644 (file)
index 0000000..9ecb6ab
--- /dev/null
+++ b/changelog
@@ -0,0 +1,332 @@
+fuse3 (3.17.2-1) unstable; urgency=medium
+
+  * New upstream release:
+    - check if pthread_setname_np() exists before use it,
+    - fix example/memfs_ll rename deadlock error,
+    - signal handlers: Store fuse_session unconditionally.
+  * Backport upstream fixes:
+    - fix meson function tests,
+    - meson.build: make special_funcs check more reliable.
+
+ -- Laszlo Boszormenyi (GCS) <gcs@debian.org>  Sun, 27 Apr 2025 08:10:01 +0200
+
+fuse3 (3.17.1+git250416-1) unstable; urgency=medium
+
+  * New git snapshot release:
+    - fixes "both 'want' and 'want_ext' are set" errors (closes: #1101305).
+  * Refer online versions of Free Software Foundation licences.
+
+ -- Laszlo Boszormenyi (GCS) <gcs@debian.org>  Wed, 16 Apr 2025 18:35:53 +0200
+
+fuse3 (3.17.1-1) unstable; urgency=medium
+
+  * New major upstream release:
+    - fixes want flag conversion (closes: #1101129).
+  * Update Standards-Version to 4.7.2 .
+
+ -- Laszlo Boszormenyi (GCS) <gcs@debian.org>  Mon, 24 Mar 2025 14:12:08 +0100
+
+fuse3 (3.17.1~rc1-3) unstable; urgency=medium
+
+  * Backport upstream fix for mount: fix closing stdout/err and error logs.
+
+ -- Laszlo Boszormenyi (GCS) <gcs@debian.org>  Thu, 13 Mar 2025 15:30:01 +0100
+
+fuse3 (3.17.1~rc1-2) experimental; urgency=medium
+
+  * Link examples with atomic on armel, m68k and powerpc architectures.
+
+ -- Laszlo Boszormenyi (GCS) <gcs@debian.org>  Sat, 22 Feb 2025 07:44:45 +0100
+
+fuse3 (3.17.1~rc1-1) experimental; urgency=medium
+
+  * New major upstream release candidate version.
+
+ -- Laszlo Boszormenyi (GCS) <gcs@debian.org>  Wed, 19 Feb 2025 17:29:04 +0100
+
+fuse3 (3.17.1~rc0-1) experimental; urgency=medium
+
+  * New major upstream release candidate version (closes: #1095239):
+    - fixes ABI breaks (closes: #1031802),
+    - fixes max threads value warning (closes: #1037410).
+  * Library transition from libfuse3-3 to libfuse3-4.
+
+ -- Laszlo Boszormenyi (GCS) <gcs@debian.org>  Fri, 14 Feb 2025 22:49:04 +0100
+
+fuse3 (3.14.0-10) unstable; urgency=medium
+
+  [ Helmut Grohne <helmut@subdivi.de> ]
+  * Upgrade Breaks for fuse to Conflicts to prevent accidental file loss
+    (DEP17, closes: #1082357).
+
+ -- Laszlo Boszormenyi (GCS) <gcs@debian.org>  Sat, 21 Sep 2024 14:06:04 +0200
+
+fuse3 (3.14.0-9) unstable; urgency=medium
+
+  * Fix FTBFS due to the fuse transitional package.
+
+ -- Laszlo Boszormenyi (GCS) <gcs@debian.org>  Sun, 15 Sep 2024 08:00:33 +0200
+
+fuse3 (3.14.0-8) unstable; urgency=medium
+
+  [ Jeremy BĂ­cha <jeremy.bicha@canonical.com> ]
+  * Provide fuse transitional package for upgrade (closes: #918984, #927291,
+    #1074767, #1081537).
+
+ -- Laszlo Boszormenyi (GCS) <gcs@debian.org>  Fri, 13 Sep 2024 19:31:58 +0200
+
+fuse3 (3.14.0-7) unstable; urgency=medium
+
+  [ Guillem Jover ]
+  * Use canonical pathnames in initramfs hook (closes: #1079573).
+
+ -- Laszlo Boszormenyi (GCS) <gcs@debian.org>  Sun, 25 Aug 2024 13:39:34 +0200
+
+fuse3 (3.14.0-6) unstable; urgency=medium
+
+  [ Helmut Grohne ]
+  * Move aliased files to /usr (DEP17) (closes: #1073058).
+
+ -- Laszlo Boszormenyi (GCS) <gcs@debian.org>  Sun, 07 Jul 2024 07:17:03 +0200
+
+fuse3 (3.14.0-5) unstable; urgency=medium
+
+  * Fix 99-fuse3.rules path (closes: #1060067).
+  * Switch udev build dependency to systemd-dev (closes: #1060606).
+
+ -- Laszlo Boszormenyi (GCS) <gcs@debian.org>  Fri, 12 Jan 2024 16:46:21 +0100
+
+fuse3 (3.14.0-4) unstable; urgency=medium
+
+  * Backport upstream fixes:
+    - fix max_threads command line parameter propagation,
+    - fix memory leak in high level API.
+
+ -- Laszlo Boszormenyi (GCS) <gcs@debian.org>  Tue, 18 Apr 2023 23:07:15 +0200
+
+fuse3 (3.14.0-3) unstable; urgency=medium
+
+  [ Helge Deller <deller@gmx.de> ]
+  * Add the big-endian hppa platform to the disabled self-testing list
+    (closes: #1032187).
+
+  [ Laszlo Boszormenyi (GCS) ]
+  * Update fuse header name in examples.
+  * Fix Makefile for examples (closes: #1031544).
+
+ -- Laszlo Boszormenyi (GCS) <gcs@debian.org>  Fri, 17 Mar 2023 20:51:05 +0100
+
+fuse3 (3.14.0-2) unstable; urgency=medium
+
+  * Revert upgrade of fuse_kernel.h for not being upstreamed yet
+    (closes: #1031524).
+
+ -- Laszlo Boszormenyi (GCS) <gcs@debian.org>  Sat, 18 Feb 2023 07:22:30 +0100
+
+fuse3 (3.14.0-1) unstable; urgency=medium
+
+  * New upstream release:
+    - fix header installation issue (closes: #1031455).
+
+ -- Laszlo Boszormenyi (GCS) <gcs@debian.org>  Fri, 17 Feb 2023 19:50:40 +0100
+
+fuse3 (3.13.1-1) unstable; urgency=medium
+
+  * New upstream release.
+
+ -- Laszlo Boszormenyi (GCS) <gcs@debian.org>  Fri, 10 Feb 2023 22:04:50 +0100
+
+fuse3 (3.13.0-2) unstable; urgency=medium
+
+  * Can't run self-testing on big-endian machines.
+
+ -- Laszlo Boszormenyi (GCS) <gcs@debian.org>  Sun, 22 Jan 2023 08:17:08 +0100
+
+fuse3 (3.13.0-1) unstable; urgency=medium
+
+  * New upstream release.
+
+ -- Laszlo Boszormenyi (GCS) <gcs@debian.org>  Tue, 17 Jan 2023 19:11:25 +0100
+
+fuse3 (3.12.0-1) unstable; urgency=medium
+
+  * New upstream release.
+  * Update library symbols for this release.
+  * Update watch file.
+  * Update Lintian overrides.
+  * Update Standards-Version to 4.6.1 .
+
+ -- Laszlo Boszormenyi (GCS) <gcs@debian.org>  Sat, 22 Oct 2022 21:28:52 +0200
+
+fuse3 (3.11.0-1) unstable; urgency=medium
+
+  * New upstream release.
+  * Update Standards-Version to 4.6.0.1 .
+
+ -- Laszlo Boszormenyi (GCS) <gcs@debian.org>  Sat, 07 May 2022 16:30:30 +0200
+
+fuse3 (3.10.5-1) unstable; urgency=medium
+
+  * New upstream release.
+
+ -- Laszlo Boszormenyi (GCS) <gcs@debian.org>  Thu, 16 Sep 2021 17:41:27 +0200
+
+fuse3 (3.10.4-1) unstable; urgency=medium
+
+  * New upstream release.
+
+ -- Laszlo Boszormenyi (GCS) <gcs@debian.org>  Mon, 23 Aug 2021 22:05:34 +0200
+
+fuse3 (3.10.3-2) unstable; urgency=medium
+
+  * Do not try to alter cuse device permissions (closes: #947229, #989977).
+
+ -- Laszlo Boszormenyi (GCS) <gcs@debian.org>  Sun, 20 Jun 2021 15:45:33 +0200
+
+fuse3 (3.10.3-1) unstable; urgency=medium
+
+  * New upstream release:
+    - fix returning d_ino and d_type by readdir(3) in non-plus mode,
+    - remove unused fuse_worker bufsize,
+    - fix typos.
+
+ -- Laszlo Boszormenyi (GCS) <gcs@debian.org>  Wed, 21 Apr 2021 14:34:39 +0200
+
+fuse3 (3.10.2-2) unstable; urgency=medium
+
+  * Mark libfuse3-dev as Multi-Arch same.
+
+  [ Matthias Klose <doko@ubuntu.com> ]
+  * Allow one to build without udeb package (closes: #983438).
+
+ -- Laszlo Boszormenyi (GCS) <gcs@debian.org>  Wed, 24 Feb 2021 23:28:30 +0100
+
+fuse3 (3.10.2-1) unstable; urgency=medium
+
+  * New upstream release.
+
+ -- Laszlo Boszormenyi (GCS) <gcs@debian.org>  Mon, 08 Feb 2021 21:21:32 +0100
+
+fuse3 (3.10.1-3) unstable; urgency=medium
+
+  * Update debhelper level to 13 .
+
+  [ Stephen Kitt <skitt@debian.org> ]
+  * Ignore "-o nonempty" instead of treating it as an error; the default
+    behaviour in fuse3 is equivalent to "-o nonempty". This allows
+    software expecting fuse2 semantics to work with fusermount3
+    (closes: #939767).
+
+ -- Laszlo Boszormenyi (GCS) <gcs@debian.org>  Fri, 29 Jan 2021 16:59:06 +0100
+
+fuse3 (3.10.1-2) unstable; urgency=medium
+
+  * Add upstream metadata.
+  * Update watch file.
+  * Update packaging bits.
+  * Update Standards-Version to 4.5.1 .
+
+  [ Laurent Bigonville <bigon@debian.org> ]
+  * Fix FTBFS on kFreeBSD (closes: #980213).
+
+ -- Laszlo Boszormenyi (GCS) <gcs@debian.org>  Sat, 16 Jan 2021 10:34:25 +0100
+
+fuse3 (3.10.1-1) unstable; urgency=medium
+
+  * New upstream release.
+  * Backport upstream fix:
+    - add exfat to whitelist.
+
+ -- Laszlo Boszormenyi (GCS) <gcs@debian.org>  Fri, 01 Jan 2021 15:32:48 +0100
+
+fuse3 (3.10.0-1) unstable; urgency=medium
+
+  * New upstream release.
+
+ -- Laszlo Boszormenyi (GCS) <gcs@debian.org>  Sun, 11 Oct 2020 23:01:33 +0200
+
+fuse3 (3.9.3-1) unstable; urgency=medium
+
+  * New upstream release.
+
+ -- Laszlo Boszormenyi (GCS) <gcs@debian.org>  Thu, 20 Aug 2020 15:16:47 +0200
+
+fuse3 (3.9.2-1) unstable; urgency=medium
+
+  * New upstream release.
+  * Use udev for Linux builds, specify udevrulesdir otherwise
+    (closes: #956579).
+
+  [ Laurent Bigonville <bigon@debian.org> ]
+  * Run tests form the correct directory and make them non fatal
+    (closes: #956592).
+
+ -- Laszlo Boszormenyi (GCS) <gcs@debian.org>  Sat, 13 Jun 2020 14:54:36 +0200
+
+fuse3 (3.9.0-2) unstable; urgency=medium
+
+  * Don't explicitly remove fuse.conf on purge (closes: #953223).
+
+ -- Laszlo Boszormenyi (GCS) <gcs@debian.org>  Sat, 07 Mar 2020 11:10:15 +0000
+
+fuse3 (3.9.0-1) unstable; urgency=medium
+
+  * New upstream release.
+  * Update Standards-Version to 4.5.0 .
+
+  [ Hideki Yamane <henrich@debian.org> ]
+  * Add version for Provides: fuse (closes: #943896).
+
+ -- Laszlo Boszormenyi (GCS) <gcs@debian.org>  Thu, 13 Feb 2020 16:06:09 +0000
+
+fuse3 (3.7.0-1) unstable; urgency=medium
+
+  * New upstream release.
+  * Update library symbols for this release.
+
+ -- Laszlo Boszormenyi (GCS) <gcs@debian.org>  Sat, 28 Sep 2019 21:28:17 +0000
+
+fuse3 (3.6.2-1) unstable; urgency=medium
+
+  * New upstream release.
+  * Drop outdated udevadm commands from postinst (closes: #934293).
+  * Remove dh_makeshlibs override.
+  * Update Standards-Version to 4.4.0 .
+
+ -- Laszlo Boszormenyi (GCS) <gcs@debian.org>  Sun, 01 Sep 2019 06:15:20 +0000
+
+fuse3 (3.4.1-1) unstable; urgency=medium
+
+  * New upstream release.
+  * Update library symbols for this release.
+  * Update Standards-Version to 4.3.0 .
+
+  [ Dmitry Smirnov <onlyjob@member.fsf.org> ]
+  * Make "fuse3" to replace "fuse", instead of conflict (closes: #912528).
+
+ -- Laszlo Boszormenyi (GCS) <gcs@debian.org>  Tue, 25 Dec 2018 16:57:44 +0000
+
+fuse3 (3.2.6-1) unstable; urgency=medium
+
+  * New upstream release:
+    - fix CVE-2018-10906, restriction bypass of the allow_other option when
+      SELinux is active (closes: #911343).
+  * Honor nocheck in DEB_BUILD_OPTIONS (closes: #910029).
+  * Don't force xz compression for source and binaries (closes: #910030).
+  * Update copyright file.
+
+ -- Laszlo Boszormenyi (GCS) <gcs@debian.org>  Thu, 18 Oct 2018 21:36:00 +0000
+
+fuse3 (3.2.4-1) unstable; urgency=medium
+
+  * New major upstream release (closes: #904216).
+  * Drop own udev rules.
+  * Update watch file.
+  * Update copyright file.
+  * Update debhelper level to 11:
+    - remove dh-autoreconf build dependency,
+    - don't specify parallel to debhelper.
+  * Update Standards-Version to 4.1.5:
+    - remove fuse-dbg package and use the auto-generated one.
+
+ -- Laszlo Boszormenyi (GCS) <gcs@debian.org>  Sat, 21 Jul 2018 14:11:44 +0000
diff --git a/clean b/clean
new file mode 100644 (file)
index 0000000..c612857
--- /dev/null
+++ b/clean
@@ -0,0 +1,2 @@
+config.rpath
+util/mount_util.c
diff --git a/control b/control
new file mode 100644 (file)
index 0000000..12b3202
--- /dev/null
+++ b/control
@@ -0,0 +1,95 @@
+Source: fuse3
+Section: utils
+Priority: optional
+Maintainer: Laszlo Boszormenyi (GCS) <gcs@debian.org>
+Build-Depends:
+ debhelper-compat (= 13),
+ pkgconf,
+ meson,
+ systemd-dev,
+ python3 <!nocheck>,
+ python3-pytest <!nocheck>
+Standards-Version: 4.7.2
+Homepage: https://github.com/libfuse/libfuse/wiki
+Rules-Requires-Root: binary-targets
+
+Package: fuse3
+Section: utils
+Architecture: linux-any
+Depends:
+ ${misc:Depends},
+ ${shlibs:Depends},
+ libfuse3-4 (= ${binary:Version}),
+ adduser,
+ mount (>= 2.19.1),
+ sed (>= 4)
+Provides: fuse (= ${source:Version})
+Conflicts: fuse (<< ${source:Version})
+Description: Filesystem in Userspace (3.x version)
+ Filesystem in Userspace (FUSE) is a simple interface for userspace programs to
+ export a virtual filesystem to the Linux kernel. It also aims to provide a
+ secure method for non privileged users to create and mount their own filesystem
+ implementations.
+
+Package: libfuse3-4
+Section: libs
+Architecture: linux-any kfreebsd-any
+Multi-Arch: same
+Pre-Depends: ${misc:Pre-Depends}
+Depends:
+ ${misc:Depends},
+ ${shlibs:Depends},
+Suggests: fuse3
+Description: Filesystem in Userspace (library) (3.x version)
+ Filesystem in Userspace (FUSE) is a simple interface for userspace programs to
+ export a virtual filesystem to the Linux kernel. It also aims to provide a
+ secure method for non privileged users to create and mount their own filesystem
+ implementations.
+ .
+ This package contains the shared library.
+
+Package: libfuse3-dev
+Section: libdevel
+Architecture: linux-any kfreebsd-any
+Multi-Arch: same
+Depends:
+ ${misc:Depends},
+ libfuse3-4 (= ${binary:Version}),
+ libselinux-dev [linux-any],
+Suggests: fuse
+Description: Filesystem in Userspace (development) (3.x version)
+ Filesystem in Userspace (FUSE) is a simple interface for userspace programs to
+ export a virtual filesystem to the Linux kernel. It also aims to provide a
+ secure method for non privileged users to create and mount their own filesystem
+ implementations.
+ .
+ This package contains the development files.
+
+Package: fuse3-udeb
+Package-Type: udeb
+Architecture: linux-any
+Section: debian-installer
+Depends:
+ ${misc:Depends},
+ ${shlibs:Depends},
+ libfuse3-4-udeb (= ${binary:Version}),
+Description: Filesystem in Userspace (3.x version)
+
+Package: libfuse3-4-udeb
+Package-Type: udeb
+Build-Profiles: <!noudeb>
+Architecture: linux-any kfreebsd-any
+Section: debian-installer
+Depends:
+ ${misc:Depends},
+ ${shlibs:Depends},
+Description: Filesystem in Userspace (library) (3.x version)
+
+Package: fuse
+Architecture: all
+Section: oldlibs
+Depends:
+ ${misc:Depends},
+ fuse3,
+Description: Filesystem in Userspace (transitional package)
+ This is a transitional package. It can safely be removed.
diff --git a/copyright b/copyright
new file mode 100644 (file)
index 0000000..8b62c67
--- /dev/null
+++ b/copyright
@@ -0,0 +1,87 @@
+Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
+Upstream-Name: fuse3
+Upstream-Contact: fuse-devel@lists.sourceforge.net
+Source: https://sourceforge.net/projects/fuse/files/
+
+Files: *
+Copyright: 2016-     Nikolaus Rath <Nikolaus@rath.org>,
+ 2001-2013 Miklos Szeredi <miklos@szeredi.hu>
+License: GPL-2
+
+Files: lib/*
+Copyright: 2001-2013 Miklos Szeredi <miklos@szeredi.hu>
+License: LGPL-2.1
+
+Files: example/passthrough.c example/passthrough_fh.c
+License: GPL-2
+Copyright: Copyright (C) 2001-2007 Miklos Szeredi <miklos@szeredi.hu>,
+ Copyright (C) 2011 Sebastian Pipping <sebastian@pipping.org>
+
+Files: example/cuse.c
+ example/cuse_client.c
+ example/ioctl.c
+ example/ioctl.h
+ example/ioctl_client.c
+ example/poll.c
+ example/poll_client.c
+ include/cuse_lowlevel.h
+ lib/cuse_lowlevel.c
+License: GPL-2
+Copyright: Copyright (C) 2008-2009 SUSE Linux Products GmbH,
+ Copyright (C) 2008-2009 Tejun Heo <tj@kernel.org>
+
+Files: debian/*
+Copyright: 2014-     Laszlo Boszormenyi (GCS) <gcs@debian.org>,
+ 2011-2014 Daniel Baumann <mail@daniel-baumann.ch>
+License: GPL-2+
+
+License: GPL-2
+ This package is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License.
+ .
+ This package is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+ .
+ You should have received a copy of the GNU General Public License 2
+ along with this program. If not, see <https://www.gnu.org/licenses/>.
+ .
+ On Debian systems, the complete text of the GNU General
+ Public License can be found in `/usr/share/common-licenses/GPL-2'.
+
+License: GPL-2+
+ This package is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+ .
+ This package is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+ .
+ You should have received a copy of the GNU General Public License 2
+ along with this program. If not, see <https://www.gnu.org/licenses/>.
+ .
+ On Debian systems, the complete text of the GNU General
+ Public License can be found in `/usr/share/common-licenses/GPL-2'.
+
+License: LGPL-2.1
+ This package is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+ .
+ This package is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+ .
+ You should have received a copy of the GNU Lesser General Public
+ License 2.1 along with this program.
+ If not, see <https://www.gnu.org/licenses/>.
+ .
+ On Debian systems, the complete text of the GNU Lesser General
+ Public License can be found in `/usr/share/common-licenses/LGPL-2.1'.
diff --git a/examples/Makefile b/examples/Makefile
new file mode 100644 (file)
index 0000000..4ac1685
--- /dev/null
@@ -0,0 +1,17 @@
+CFLAGS := -Wall $(shell pkg-config fuse3 --cflags)
+LDFLAGS := $(shell pkg-config fuse3 --libs)
+
+targets = cuse cuse_client hello hello_ll \
+          invalidate_path ioctl ioctl_client \
+          notify_inval_entry notify_inval_inode notify_store_retrieve \
+          null passthrough passthrough_fh passthrough_ll \
+          poll poll_client printcap
+
+%: %.c
+       $(CC) $(CFLAGS) $< -o $@ $(LDFLAGS)
+
+all: $(targets)
+
+clean:
+       rm -f *.o
+       rm -f $(targets)
diff --git a/fuse3-udeb.install b/fuse3-udeb.install
new file mode 100644 (file)
index 0000000..e611e5c
--- /dev/null
@@ -0,0 +1,2 @@
+usr/bin/fusermount3
+usr/sbin/mount.fuse3
diff --git a/fuse3.install b/fuse3.install
new file mode 100644 (file)
index 0000000..277e341
--- /dev/null
@@ -0,0 +1,3 @@
+usr/bin/fusermount3
+usr/sbin/mount.fuse3
+etc/fuse.conf
diff --git a/fuse3.links b/fuse3.links
new file mode 100644 (file)
index 0000000..d7b2758
--- /dev/null
@@ -0,0 +1,4 @@
+/usr/bin/fusermount3   /usr/bin/fusermount
+/usr/sbin/mount.fuse3  /usr/sbin/mount.fuse
+/usr/share/man/man1/fusermount3.1.gz   /usr/share/man/man1/fusermount.1.gz
+/usr/share/man/man8/mount.fuse3.8.gz   /usr/share/man/man8/mount.fuse.8.gz
diff --git a/fuse3.manpages b/fuse3.manpages
new file mode 100644 (file)
index 0000000..b06a58e
--- /dev/null
@@ -0,0 +1,2 @@
+usr/share/man/man1/fusermount3.1
+usr/share/man/man8/mount.fuse3.8
diff --git a/fuse3.postinst b/fuse3.postinst
new file mode 100644 (file)
index 0000000..4ac335c
--- /dev/null
@@ -0,0 +1,52 @@
+#!/bin/sh
+
+set -e
+
+chrooted() {
+       if [ "$(stat -c %d/%i /)" = "$(stat -Lc %d/%i /proc/1/root 2>/dev/null)" ]; then
+               # the devicenumber/inode pair of / is the same as that of
+               # /sbin/init's root, so we're *not* in a chroot and hence
+               # return false.
+               return 1
+       fi
+       return 0
+}
+
+# begin-remove-after: released:trixie
+# protective diversion of files moved from / to /usr, to avoid file loss.
+if [ "$1" = "configure" ] || [ "$1" = "abort-upgrade" ]; then
+       for f in /bin/fusermount /sbin/mount.fuse; do
+               dpkg-divert --package #PACKAGE# --no-rename --divert "$f.usr-is-merged" --remove "$f"
+       done
+fi
+# end-remove-after
+
+case "${1}" in
+       configure)
+               if ! dpkg-statoverride --list /bin/fusermount3 > /dev/null 2>&1 &&
+                       ! dpkg-statoverride --list /usr/bin/fusermount3 > /dev/null 2>&1
+               then
+                       chmod 4755 /usr/bin/fusermount3
+               fi
+
+               modprobe fuse > /dev/null 2>&1 || true
+
+               if [ -x "`which update-initramfs 2>/dev/null`" ]
+               then
+                       update-initramfs -u
+               fi
+               ;;
+
+       abort-upgrade|abort-remove|abort-deconfigure)
+
+               ;;
+
+       *)
+               echo "postinst called with unknown argument \`${1}'" >&2
+               exit 1
+               ;;
+esac
+
+#DEBHELPER#
+
+exit 0
diff --git a/fuse3.postrm b/fuse3.postrm
new file mode 100644 (file)
index 0000000..c17995a
--- /dev/null
@@ -0,0 +1,28 @@
+#!/bin/sh
+
+set -e
+
+case "${1}" in
+       remove)
+               if [ -x "`which update-initramfs 2>/dev/null`" ]
+               then
+                       update-initramfs -u
+               fi
+               ;;
+
+       purge)
+               ;;
+
+       upgrade|failed-upgrade|abort-install|abort-upgrade|disappear)
+
+               ;;
+
+       *)
+               echo "postrm called with unknown argument \`${1}'" >&2
+               exit 1
+               ;;
+esac
+
+#DEBHELPER#
+
+exit 0
diff --git a/fuse3.preinst b/fuse3.preinst
new file mode 100644 (file)
index 0000000..d2341bb
--- /dev/null
@@ -0,0 +1,16 @@
+#!/bin/sh
+
+set -e
+
+# begin-remove-after: released:trixie
+# protective diversion of files moved from / to /usr, to avoid file loss.
+if [ "$1" = "upgrade" ] || [ "$1" = "install" ]; then
+       for f in /bin/fusermount /sbin/mount.fuse; do
+               dpkg-divert --package #PACKAGE# --no-rename --divert "$f.usr-is-merged" --add "$f"
+       done
+fi
+# end-remove-after
+
+#DEBHELPER#
+
+exit 0
diff --git a/libfuse3-4-udeb.install b/libfuse3-4-udeb.install
new file mode 100644 (file)
index 0000000..3de3b10
--- /dev/null
@@ -0,0 +1 @@
+usr/lib/*/*.so.*
diff --git a/libfuse3-4.docs b/libfuse3-4.docs
new file mode 100644 (file)
index 0000000..0135531
--- /dev/null
@@ -0,0 +1,3 @@
+README.md
+doc/README.NFS
+doc/*.txt
diff --git a/libfuse3-4.install b/libfuse3-4.install
new file mode 100644 (file)
index 0000000..3de3b10
--- /dev/null
@@ -0,0 +1 @@
+usr/lib/*/*.so.*
diff --git a/libfuse3-4.symbols b/libfuse3-4.symbols
new file mode 100644 (file)
index 0000000..9ee7eec
--- /dev/null
@@ -0,0 +1,10 @@
+libfuse3.so.4 #PACKAGE# #MINVER#
+* Build-Depends-Package: libfuse-dev
+ (symver)FUSE_3.0 3.2.3
+ (symver)FUSE_3.1 3.2.3
+ (symver)FUSE_3.2 3.2.3
+ (symver)FUSE_3.3 3.4.1
+ (symver)FUSE_3.4 3.4.1
+ (symver)FUSE_3.7 3.7.0
+ (symver)FUSE_3.12 3.12.0
+ (symver)FUSE_3.17 3.17.1~rc0
diff --git a/libfuse3-dev.examples b/libfuse3-dev.examples
new file mode 100644 (file)
index 0000000..5dc4562
--- /dev/null
@@ -0,0 +1,4 @@
+example/*.c
+example/*.h
+
+debian/examples/*
diff --git a/libfuse3-dev.install b/libfuse3-dev.install
new file mode 100644 (file)
index 0000000..ef0894d
--- /dev/null
@@ -0,0 +1,4 @@
+usr/include
+usr/lib/*/pkgconfig
+usr/lib/*/*.so
+usr/lib/*/*.a
diff --git a/local/fuse.conf b/local/fuse.conf
new file mode 100644 (file)
index 0000000..ae194a0
--- /dev/null
@@ -0,0 +1,8 @@
+# /etc/fuse.conf - Configuration file for Filesystem in Userspace (FUSE)
+
+# Set the maximum number of FUSE mounts allowed to non-root users.
+# The default is 1000.
+#mount_max = 1000
+
+# Allow non-root users to specify the allow_other or allow_root mount options.
+#user_allow_other
diff --git a/local/fuse.hook b/local/fuse.hook
new file mode 100644 (file)
index 0000000..e96afd9
--- /dev/null
@@ -0,0 +1,24 @@
+#!/bin/sh
+
+set -e
+
+PREREQ=""
+
+prereqs () {
+       echo "${PREREQ}"
+}
+
+case "${1}" in
+       prereqs)
+               prereqs
+               exit 0
+               ;;
+esac
+
+. /usr/share/initramfs-tools/hook-functions
+
+copy_exec /usr/sbin/mount.fuse3 /usr/sbin
+
+manual_add_modules fuse
+
+exit 0
diff --git a/local/fuse.kmod b/local/fuse.kmod
new file mode 100644 (file)
index 0000000..a517c48
--- /dev/null
@@ -0,0 +1 @@
+fuse
diff --git a/not-installed b/not-installed
new file mode 100644 (file)
index 0000000..8d1cca1
--- /dev/null
@@ -0,0 +1,2 @@
+debian/tmp/etc/init.d/fuse3
+debian/tmp/usr/lib/udev/rules.d/99-fuse3.rules
diff --git a/patches/Fix_meson_function_tests.patch b/patches/Fix_meson_function_tests.patch
new file mode 100644 (file)
index 0000000..a1263c6
--- /dev/null
@@ -0,0 +1,117 @@
+From 1df74208ea060b32e11b14e9b97049207ed03dd3 Mon Sep 17 00:00:00 2001
+From: Bernd Schubert <bschubert@ddn.com>
+Date: Thu, 24 Apr 2025 16:49:08 +0200
+Subject: [PATCH] Fix meson function tests
+
+Several meson tests were incorrectly failing
+
+Checking for function "static_assert" : NO (cached)
+Checking for function "pthread_setname_np" : NO (cached)
+Check usable header "#include <linux/close_range.h>" : NO (cached)
+
+These functions get now tested with compilation tests
+and get found on my system.
+
+Checking if "static_assert check" compiles: YES
+Checking if "pthread_setname_np check" compiles: YES
+Checking if "close_range check" compiles: YES
+
+Signed-off-by: Bernd Schubert <bschubert@ddn.com>
+Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
+---
+ meson.build | 67 +++++++++++++++++++++++++++++++++++++++--------------
+ 1 file changed, 49 insertions(+), 18 deletions(-)
+
+diff --git a/meson.build b/meson.build
+index ba551ed53..d1346d090 100644
+--- a/meson.build
++++ b/meson.build
+@@ -59,6 +59,8 @@ include_default = '''
+ #include <sys/types.h>
+ #include <sys/stat.h>
+ #include <fcntl.h>
++#include <assert.h>     /* For static_assert */
++#include <pthread.h>    /* For pthread_setname_np */
+ '''
+ args_default = [ '-D_GNU_SOURCE' ]
+@@ -72,32 +74,61 @@ private_cfg.set_quoted('PACKAGE_VERSION', meson.project_version())
+ # Test for presence of some functions
+ test_funcs = [ 'fork', 'fstatat', 'openat', 'readlinkat', 'pipe2',
+                'splice', 'vmsplice', 'posix_fallocate', 'fdatasync',
+-               'utimensat', 'copy_file_range', 'fallocate', 'static_assert',
+-               'pthread_setname_np' ]
++               'utimensat', 'copy_file_range', 'fallocate' ]
+ foreach func : test_funcs
+     private_cfg.set('HAVE_' + func.to_upper(),
+         cc.has_function(func, prefix: include_default, args: args_default))
+ endforeach
+-private_cfg.set('HAVE_SETXATTR', 
+-        cc.has_function('setxattr', prefix: '#include <sys/xattr.h>'))
+-private_cfg.set('HAVE_ICONV', 
+-        cc.has_function('iconv', prefix: '#include <iconv.h>'))
+-private_cfg.set('HAVE_BACKTRACE',
+-        cc.has_function('backtrace', prefix: '#include <execinfo.h>'))
+-# Test if headers exist
+-private_cfg.set('HAVE_LINUX_CLOSE_RANGE_H',
+-        cc.check_header('#include <linux/close_range.h>'))
++# Special case checks that need custom code
++special_funcs = {
++    'static_assert': '''
++        #include <assert.h>
++        static_assert(1, "test");
++        int main(void) { return 0; }
++    ''',
++    'pthread_setname_np': '''
++        #include <pthread.h>
++        int main(void) {
++            pthread_t thread = pthread_self();
++            pthread_setname_np(thread, "test");
++            return 0;
++        }
++    ''',
++    'close_range': '''
++        #include <unistd.h>
++        #include <fcntl.h>
++        #include <linux/close_range.h>
++        int main(void) {
++            unsigned int flags = CLOSE_RANGE_UNSHARE;
++            return close_range(3, ~0U, flags);
++        }
++    '''
++}
++
++foreach name, code : special_funcs
++    private_cfg.set('HAVE_' + name.to_upper(),
++        cc.compiles(code, args: ['-Werror'] + args_default,
++                 name: name + ' check'))
++endforeach
++
++# Regular function checks
++private_cfg.set('HAVE_SETXATTR',
++    cc.has_function('setxattr', prefix: '#include <sys/xattr.h>'))
++private_cfg.set('HAVE_ICONV',
++    cc.has_function('iconv', prefix: '#include <iconv.h>'))
++private_cfg.set('HAVE_BACKTRACE',
++    cc.has_function('backtrace', prefix: '#include <execinfo.h>'))
+-# Test if structs have specific member
++# Struct member checks
+ private_cfg.set('HAVE_STRUCT_STAT_ST_ATIM',
+-         cc.has_member('struct stat', 'st_atim',
+-                       prefix: include_default,
+-                       args: args_default))
++    cc.has_member('struct stat', 'st_atim',
++                  prefix: include_default + '#include <sys/stat.h>',
++                  args: args_default))
+ private_cfg.set('HAVE_STRUCT_STAT_ST_ATIMESPEC',
+-         cc.has_member('struct stat', 'st_atimespec',
+-                       prefix: include_default,
+-                       args: args_default))
++    cc.has_member('struct stat', 'st_atimespec',
++                  prefix: include_default + '#include <sys/stat.h>',
++                  args: args_default))
+ #
+ # Compiler configuration
diff --git a/patches/meson.build-make-special_funcs-check-more-reliable.patch b/patches/meson.build-make-special_funcs-check-more-reliable.patch
new file mode 100644 (file)
index 0000000..1ee84c7
--- /dev/null
@@ -0,0 +1,37 @@
+From 8e226c6af6f386a88ed53d0a0940ff6b869b372d Mon Sep 17 00:00:00 2001
+From: Giulio Benetti <giulio.benetti@benettiengineering.com>
+Date: Fri, 25 Apr 2025 19:00:14 +0200
+Subject: [PATCH] meson.build: make special_funcs check more reliable
+
+Unfortunately while cross-compiling with build tools like Buildroot it
+happens to have repeated flags or anything that could lead to a warning.
+This way the check fails because of a warning not related to the special
+function. So let's use cc.links() and increase minimum meson_version to
+0.60 since cc.links() has been added during that version.
+
+Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
+---
+ meson.build | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/meson.build b/meson.build
+index d1346d090..d3d236dc4 100644
+--- a/meson.build
++++ b/meson.build
+@@ -1,6 +1,6 @@
+ project('libfuse3', ['c'],
+         version: '3.17.2',
+-        meson_version: '>= 0.51.0',
++        meson_version: '>= 0.60.0',
+         default_options: [
+             'buildtype=debugoptimized',
+             'c_std=gnu11',
+@@ -108,7 +108,7 @@ special_funcs = {
+ foreach name, code : special_funcs
+     private_cfg.set('HAVE_' + name.to_upper(),
+-        cc.compiles(code, args: ['-Werror'] + args_default,
++        cc.links(code, args: args_default,
+                  name: name + ' check'))
+ endforeach
diff --git a/patches/series b/patches/series
new file mode 100644 (file)
index 0000000..4ddc3af
--- /dev/null
@@ -0,0 +1,2 @@
+Fix_meson_function_tests.patch
+meson.build-make-special_funcs-check-more-reliable.patch
diff --git a/rules b/rules
new file mode 100755 (executable)
index 0000000..dc1d4c3
--- /dev/null
+++ b/rules
@@ -0,0 +1,69 @@
+#!/usr/bin/make -f
+# -*- makefile -*-
+
+# Uncomment this to turn on verbose mode.
+#export DH_VERBOSE=1
+
+SHELL := sh -e
+
+include /usr/share/dpkg/architecture.mk
+
+export DEB_BUILD_MAINT_OPTIONS = hardening=+all
+
+ifneq (,$(filter $(DEB_HOST_ARCH), armel m68k powerpc))
+   export DEB_LDFLAGS_MAINT_APPEND = -Wl,--as-needed -latomic
+endif
+
+ifeq (,$(filter noudeb, $(DEB_BUILD_PROFILES)))
+  with_udeb = yes
+endif
+
+override_dh_auto_configure-arch:
+       dh_auto_configure -- -Ddefault_library=both -Duseroot=false \
+               $(DEB_CONFIGURE_EXTRA_FLAGS)
+
+override_dh_auto_configure-indep:
+       @echo Do not configure indep
+
+override_dh_auto_build-indep:
+       @echo Do not build indep
+
+override_dh_auto_install-indep:
+       @echo Do not install indep
+
+override_dh_compress:
+       dh_compress -Xusr/share/doc/libfuse3-dev/examples -XREADME.md
+
+override_dh_fixperms-arch:
+       dh_fixperms --arch
+ifeq ($(DEB_HOST_ARCH),linux)
+       chmod 0755 debian/fuse3/bin/fusermount3
+endif
+
+execute_after_dh_install:
+       # adding initramfs-tools integration
+       install -D -m 0755 debian/local/fuse.hook debian/fuse3/usr/share/initramfs-tools/hooks/fuse
+
+override_dh_auto_test-arch:
+ifeq (,$(findstring nocheck,$(DEB_BUILD_OPTIONS)))
+ifeq (,$(findstring $(DEB_BUILD_ARCH),powerpc ppc64 sparc64 s390x hppa))
+               (cd obj-${DEB_HOST_GNU_TYPE}; python3 -m pytest test/) \
+                       || true
+endif
+endif
+
+override_dh_auto_test-indep:
+       @echo Do not test indep
+
+override_dh_missing:
+       dh_missing --fail-missing
+
+%:
+       dh ${@} --buildsystem=meson
+
+.PHONY: override_dh_auto_configure-arch override_dh_auto_configure-indep \
+       override_dh_auto_build-indep override_dh_auto_install-indep \
+       override_dh_compress override_dh_fixperms-arch \
+       execute_after_dh_install \
+       override_dh_auto_test-arch override_dh_auto_test-indep \
+       override_dh_missing
diff --git a/source/format b/source/format
new file mode 100644 (file)
index 0000000..163aaf8
--- /dev/null
@@ -0,0 +1 @@
+3.0 (quilt)
diff --git a/upstream/metadata b/upstream/metadata
new file mode 100644 (file)
index 0000000..0b26a50
--- /dev/null
@@ -0,0 +1,6 @@
+---
+Archive: GitHub
+Bug-Database: https://github.com/libfuse/libfuse/issues
+Bug-Submit: https://github.com/libfuse/libfuse/issues/new
+Repository: https://github.com/libfuse/libfuse.git
+Repository-Browse: https://github.com/libfuse/libfuse
diff --git a/upstream/signing-key.asc b/upstream/signing-key.asc
new file mode 100644 (file)
index 0000000..c31f5c4
--- /dev/null
@@ -0,0 +1,85 @@
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+Version: GnuPG v1
+
+mQINBFMiefoBEADYa1ZUqR/3YDqaf2UGpd9kNfKAY3TAR+xTcTYBKWTkJEy4cX2b
+ccSEOf7Ef1w0va+WgBwDUAllf+x21UFOWnPnqwb8LJxyg8dN3CRNWf9Z2vRXNOkv
+nAd0hYnA6xsbSLDQV0wpJOTH1zyZejMMWLpZh5SKRxaJAtpsfZ32qppzJhn4jJb0
+v2fC+wJVkUy4mLe6yaHCrrHwlwldyzlwPBNwFfk31mVFYO+COSTGq+RXU2kCdujf
+w648IBYltdWI3D1vTilJd0gt2EDmOqQizfFJLlBTdLieJdrXzL4WWuzvJpC1Yadk
+mqMqnVkpcDxbxw0bK7G0faLigwWkshggaSns0vnpD05jQyMJUYdLwB9lh6u0B9AP
+cCxmPLhgHDdgdlZ+1JHMdfY0gIMSIAP2zkQu4iaTv5Tuc5a03dXE7G6GwZ+A5Ysr
+ovQCot2FY653A0swmAsaCy3A2OcVFXXgmZGLYh/06XA/+WhMSLVIaQ6eYTFgG9k8
+iopU6zw5p2vav1rOuirymLe3b/VNZhk6nOpewwLp+5c2Ylmj6zEHegFQ9pbmlFF/
+kubk9wGuS941G0/iLPyf3ePPhQ6hMY9L+7moW+Zlbqqg2XXa9S8C2rMwELDegpaw
+YJyMIt25xAb94BGMkU/SxclzZ62ktGkYrA0ekiHkB6zzt8uhHrGDxWEucQARAQAB
+tCFOaWtvbGF1cyBSYXRoIDxOaWtvbGF1c0ByYXRoLm9yZz6IagQQEQoAKgUCUyJ7
+rCMaaHR0cDovL3d3dy5yYXRoLm9yZy9ncGdwb2xpY3kuaHRtbAAKCRCprbf4rk5C
+XNS7AJ9/Fdr8AzeAPKRoGN/ilFSb64kVggCeNE3F2CrZisHyjAlJ2sW/5iRS1MeJ
+AUAEEAEKACoFAlMie5IjGmh0dHA6Ly93d3cucmF0aC5vcmcvZ3BncG9saWN5Lmh0
+bWwACgkQttywLM0aUrlgiQf/fskwiyKtKS2ikqsiw6rqo9RP3A6AGJ3LQivpekV3
+elKxeu22L99yjkCEKHtggMmVd+Q9z9Pmvmx1d4EcVRtj7N86CcrQnPFbvUaiZ22g
+CDS61BCbnItzeo3nkOhbJtCU2AXHwBCx2c1uGNzR5qJoymXo92FIp7JxKJ3hHZDW
+E2XnX41bNwzZtycfZuk5VB29MIiEIIGbR/Y8rq7KwWQdyQ8y5i6Jnq5hPqRVpvMa
+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
+ol5xay+f7P0XVpxLkO+fCw==
+=gOOn
+-----END PGP PUBLIC KEY BLOCK-----
diff --git a/watch b/watch
new file mode 100644 (file)
index 0000000..8df1acc
--- /dev/null
+++ b/watch
@@ -0,0 +1,6 @@
+version=4
+opts=uversionmangle=s/^(SNAPSHOT|RELEASE)\.//;s/(\d+)[_-](\d+)[_-](\d+)/\$1.\$2.\$3/;s/(\d+)[_-](\d+)/\$1.\$2/;s/(\d)[_\.\-\+]?((rc|pre|dev|beta|alpha|b|a)[\-\.]?\d*)$/$1~$2/;s/(\d)[_\.\-\+]?RC[\-\.]?(\d*)$/$1~rc$2/,\
+dversionmangle=s/\+(debian|dfsg|ds|deb)(\.?\d+)?$//i,\
+pgpsigurlmangle=s/$/.asc/ \
+https://github.com/libfuse/libfuse/tags \
+(?:|.*/)fuse-[vV]?(\d\S*)@ARCHIVE_EXT@