package/libfuse3: bump to version 3.17.2

Release notes:
https://github.com/libfuse/libfuse/releases/tag/fuse-3.17.2

Drop local patches that are upstreamed now.

Fixes:
https://autobuild.buildroot.net/results/f3c/f3cfaa8ed63483858ffa32b719ea4be68ba6c4f3//

Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
Signed-off-by: Julien Olivain <ju.o@free.fr>
This commit is contained in:
Giulio Benetti
2025-04-24 15:16:54 +02:00
committed by Julien Olivain
parent 446c09332a
commit 40d37d98b7
4 changed files with 2 additions and 123 deletions

View File

@@ -1,72 +0,0 @@
From 714fcf4123ae5512893019d2c205aad94b6afea6 Mon Sep 17 00:00:00 2001
From: Giulio Benetti <giulio.benetti@benettiengineering.com>
Date: Tue, 1 Apr 2025 00:53:07 +0200
Subject: [PATCH] Fix build with kernel < 5.9
linux/close_range.h is only available since kernel 5.9 and
https://github.com/torvalds/linux/commit/60997c3d45d9a67daf01c56d805ae4fec37e0bd8
resulting in the following build failure:
../util/fusermount.c:40:10: fatal error: linux/close_range.h: No such file or directory
So let's check for header presence and emit HAVE_LINUX_CLOSE_RANGE_H
accordingly and check for it when including <linux/close_range.h> and
calling close_range() instead of checking for close_range() function in
meson and check against HAVE_CLOSE_RANGE.
Upstream: https://github.com/libfuse/libfuse/pull/1185
Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
---
meson.build | 6 +++++-
util/fusermount.c | 4 ++--
2 files changed, 7 insertions(+), 3 deletions(-)
diff --git a/meson.build b/meson.build
index cbcd70d..96c655c 100644
--- a/meson.build
+++ b/meson.build
@@ -72,7 +72,7 @@ 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', 'close_range' ]
+ '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))
@@ -84,6 +84,10 @@ private_cfg.set('HAVE_ICONV',
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>'))
+
# Test if structs have specific member
private_cfg.set('HAVE_STRUCT_STAT_ST_ATIM',
cc.has_member('struct stat', 'st_atim',
diff --git a/util/fusermount.c b/util/fusermount.c
index dbd947c..da6d5f2 100644
--- a/util/fusermount.c
+++ b/util/fusermount.c
@@ -36,7 +36,7 @@
#include <stdbool.h>
#include <sys/vfs.h>
-#ifdef HAVE_CLOSE_RANGE
+#ifdef HAVE_LINUX_CLOSE_RANGE_H
#include <linux/close_range.h>
#endif
@@ -1477,7 +1477,7 @@ static int close_inherited_fds(int cfd)
if (cfd <= STDERR_FILENO)
return -EINVAL;
-#ifdef HAVE_CLOSE_RANGE
+#ifdef HAVE_LINUX_CLOSE_RANGE_H
if (cfd < STDERR_FILENO + 2) {
close_range_loop(STDERR_FILENO + 1, cfd - 1, cfd);
} else {
--
2.39.5

View File

@@ -1,49 +0,0 @@
From 5fafd1a33e9442811074604eeaa060578e589730 Mon Sep 17 00:00:00 2001
From: Giulio Benetti <giulio.benetti@benettiengineering.com>
Date: Fri, 4 Apr 2025 22:17:49 +0200
Subject: [PATCH] Fix static_assert build failure with C++ version < 11
At the moment build fails due to lack of static_assert:
https://gitlab.com/jolivain/buildroot/-/jobs/9606292537
this means that the check per date is not enough, so let's use meson to
check if static_assert() is present or not and simplify
fuse_static_assert() definition by only checking HAVE_STATIC_ASSERT.
Upstream: https://github.com/libfuse/libfuse/pull/1189
Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
---
include/fuse_common.h | 4 +---
meson.build | 2 +-
2 files changed, 2 insertions(+), 4 deletions(-)
diff --git a/include/fuse_common.h b/include/fuse_common.h
index 77efc5d..582505f 100644
--- a/include/fuse_common.h
+++ b/include/fuse_common.h
@@ -30,9 +30,7 @@
#define FUSE_MAKE_VERSION(maj, min) ((maj) * 100 + (min))
#define FUSE_VERSION FUSE_MAKE_VERSION(FUSE_MAJOR_VERSION, FUSE_MINOR_VERSION)
-#if (defined(__cplusplus) && __cplusplus >= 201103L) || \
- (!defined(__cplusplus) && defined(__STDC_VERSION__) && \
- __STDC_VERSION__ >= 201112L)
+#ifdef HAVE_STATIC_ASSERT
#define fuse_static_assert(condition, message) static_assert(condition, message)
#else
#define fuse_static_assert(condition, message)
diff --git a/meson.build b/meson.build
index 96c655c..bab98da 100644
--- a/meson.build
+++ b/meson.build
@@ -72,7 +72,7 @@ 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' ]
+ 'utimensat', 'copy_file_range', 'fallocate', 'static_assert' ]
foreach func : test_funcs
private_cfg.set('HAVE_' + func.to_upper(),
cc.has_function(func, prefix: include_default, args: args_default))
--
2.39.5

View File

@@ -1,3 +1,3 @@
# Locally calculated sha256 checksums # Locally calculated sha256 checksums
sha256 b81027fc8f444fb574de7f13edf0cf9810643d2935670c4fe19f140354241208 libfuse3-3.17.1.tar.gz sha256 9d34adf5bd979cd62479340d9854e6a424a7ead7ee632e4a6da104ec0796f923 libfuse3-3.17.2.tar.gz
sha256 b8832d9caaa075bbbd2aef24efa09f8b7ab66a832812d88c602da0c7b4397fad LICENSE sha256 b8832d9caaa075bbbd2aef24efa09f8b7ab66a832812d88c602da0c7b4397fad LICENSE

View File

@@ -4,7 +4,7 @@
# #
################################################################################ ################################################################################
LIBFUSE3_VERSION = 3.17.1 LIBFUSE3_VERSION = 3.17.2
LIBFUSE3_SITE = $(call github,libfuse,libfuse,fuse-$(LIBFUSE3_VERSION)) LIBFUSE3_SITE = $(call github,libfuse,libfuse,fuse-$(LIBFUSE3_VERSION))
LIBFUSE3_LICENSE = LGPL-2.1 LIBFUSE3_LICENSE = LGPL-2.1
LIBFUSE3_LICENSE_FILES = LICENSE LIBFUSE3_LICENSE_FILES = LICENSE