diff --git a/SOURCES/fuse2-0005-remove-closefrom-function.patch b/SOURCES/fuse2-0005-remove-closefrom-function.patch new file mode 100644 index 0000000..beb8d51 --- /dev/null +++ b/SOURCES/fuse2-0005-remove-closefrom-function.patch @@ -0,0 +1,60 @@ +From ae2352bca9b4e607538412da0cc2a9625cd8b692 Mon Sep 17 00:00:00 2001 +From: Sam James +Date: Sat, 24 Jul 2021 22:02:45 +0100 +Subject: [PATCH] util/ulockmgr_server.c: conditionally define closefrom (fix + glibc-2.34+) + +closefrom(3) has joined us in glibc-land from *BSD and Solaris. Since +it's available in glibc 2.34+, we want to detect it and only define our +fallback if the libc doesn't provide it. + +Bug: https://bugs.gentoo.org/803923 +Signed-off-by: Sam James +--- + configure.ac | 1 + + util/ulockmgr_server.c | 6 ++++++ + 2 files changed, 7 insertions(+) + +diff --git a/configure.ac b/configure.ac +index 9946a0efa..a2d481aa9 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -55,6 +55,7 @@ fi + + AC_CHECK_FUNCS([fork setxattr fdatasync splice vmsplice utimensat]) + AC_CHECK_FUNCS([posix_fallocate]) ++AC_CHECK_FUNCS([closefrom]) + AC_CHECK_MEMBERS([struct stat.st_atim]) + AC_CHECK_MEMBERS([struct stat.st_atimespec]) + +diff --git a/util/ulockmgr_server.c b/util/ulockmgr_server.c +index 273c7d923..a04dac5c6 100644 +--- a/util/ulockmgr_server.c ++++ b/util/ulockmgr_server.c +@@ -22,6 +22,10 @@ + #include + #include + ++#ifdef HAVE_CONFIG_H ++ #include "config.h" ++#endif ++ + struct message { + unsigned intr : 1; + unsigned nofd : 1; +@@ -124,6 +128,7 @@ static int receive_message(int sock, void *buf, size_t buflen, int *fdp, + return res; + } + ++#if !defined(HAVE_CLOSEFROM) + static int closefrom(int minfd) + { + DIR *dir = opendir("/proc/self/fd"); +@@ -141,6 +146,7 @@ static int closefrom(int minfd) + } + return 0; + } ++#endif + + static void send_reply(int cfd, struct message *msg) + { diff --git a/SPECS/fuse.spec b/SPECS/fuse.spec index 85d4bef..646527f 100644 --- a/SPECS/fuse.spec +++ b/SPECS/fuse.spec @@ -1,10 +1,10 @@ Name: fuse Version: 2.9.9 -Release: 12%{?dist} +Release: 14%{?dist} Summary: File System in Userspace (FUSE) v2 utilities License: GPL+ URL: http://fuse.sf.net -Source0: https://github.com/libfuse/libfuse/releases/download/%{name}-%{version}.tar.gz +Source0: https://github.com/libfuse/libfuse/releases/download/%{name}-%{version}/%{name}-%{version}.tar.gz Patch1: fuse2-0001-More-parentheses.patch # https://bugzilla.redhat.com/show_bug.cgi?id=970768 @@ -16,14 +16,22 @@ Patch3: fuse2-0003-make-buffer-size-match-kernel-max-transfer-size.patch # https://github.com/libfuse/libfuse/pull/392 # backported for fuse2 Patch4: fuse2-0004-Whitelist-SMB2-found-on-some-NAS-devices.patch +# https://bugzilla.redhat.com/show_bug.cgi?id=1984778 +# https://github.com/libfuse/libfuse/pull/619 +# https://github.com/libfuse/libfuse/commit/ae2352bca9b4e607538412da0cc2a9625cd8b692.patch +Patch5: fuse2-0005-remove-closefrom-function.patch + +# Default to *do* run autoreconf, because in case any downstream patch touched +# configure.ac or Makefile.am it may be necessary to do so - e.g Patch #5. +%{!?enable_autotools: %global enable_autotools 1} Requires: which Conflicts: filesystem < 3 BuildRequires: libselinux-devel BuildRequires: autoconf, automake, libtool, gettext-devel, make -BuildRequires: systemd-udev +BuildRequires: systemd-udev # fuse-common 3.4.2-3 and earlier included man pages -Requires: fuse-common >= 3.4.2-4 +Requires: fuse-common >= 3.4.2-4 %description With FUSE it is possible to implement a fully functional filesystem in a @@ -61,8 +69,12 @@ sed -i 's|mknod|echo Disabled: mknod |g' util/Makefile.in %patch2 -p1 -b .conflictfix %patch3 -p1 -b .buffer_size %patch4 -p1 -b .smb2_whitelist +%patch5 -p1 -b .remove_closefrom %build +%if 0%{?enable_autotools} +autoreconf -if +%endif # Can't pass --disable-static here, or else the utils don't build export MOUNT_FUSE_PATH="%{_sbindir}" CFLAGS="%{optflags} -D_GNU_SOURCE" %configure @@ -123,6 +135,15 @@ rm -f %{buildroot}/%{_libdir}/*.a %{_includedir}/fuse %changelog + +* Thu Oct 07 2021 Pavel Reichl - 2.9.9-14 +- Fix failure to build from source, fix wrong URL in Source0 + Related: rhbz#1984778 + +* Mon Aug 09 2021 Mohan Boddu - 2.9.9-13 +- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags + Related: rhbz#1991688 + * Thu Apr 15 2021 Mohan Boddu - 2.9.9-12 - Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937