forked from pool/fuse3
Accepting request 1066352 from filesystems
- Update to release 3.14 OBS-URL: https://build.opensuse.org/request/show/1066352 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/fuse3?expand=0&rev=24
This commit is contained in:
commit
655b1c23bc
@ -1,255 +0,0 @@
|
||||
From d7560cc9916b086bfe5d86459cc9f04033edd904 Mon Sep 17 00:00:00 2001
|
||||
From: Bernd Schubert <bschubert@ddn.com>
|
||||
Date: Tue, 7 Feb 2023 23:06:42 +0100
|
||||
Subject: [PATCH] Split config.h into private and public config
|
||||
|
||||
This addresses https://github.com/libfuse/libfuse/issues/729
|
||||
|
||||
commit db35a37def14b72181f3630efeea0e0433103c41 introduced a public
|
||||
config.h (rename to fuse_config.h to avoid conflicts) that
|
||||
was installed with the package and included by libfuse users
|
||||
through fuse_common.h. Probablem is that this file does not have
|
||||
unique defines so that they are unique to libfuse - on including
|
||||
the file conflicts with libfuse users came up.
|
||||
|
||||
In principle all defines could be prefixed, but then most of them
|
||||
are internal for libfuse compilation only. So this splits out
|
||||
publically required defines to a new file 'libfuse_config.h'
|
||||
and changes back to include of "fuse_config.h" only when
|
||||
HAVE_LIBFUSE_PRIVATE_CONFIG_H is defined.
|
||||
|
||||
This also renames HAVE_LIBC_VERSIONED_SYMBOLS to
|
||||
LIBFUSE_BUILT_WITH_VERSIONED_SYMBOLS, as it actually
|
||||
better explains for libfuse users what that variable
|
||||
is for.
|
||||
---
|
||||
include/fuse.h | 10 ++++-----
|
||||
include/fuse_common.h | 5 +++++
|
||||
include/fuse_lowlevel.h | 4 ++--
|
||||
lib/compat.c | 2 +-
|
||||
lib/fuse_misc.h | 2 +-
|
||||
lib/meson.build | 2 +-
|
||||
meson.build | 47 ++++++++++++++++++++++++++++-------------
|
||||
7 files changed, 47 insertions(+), 25 deletions(-)
|
||||
|
||||
diff --git a/include/fuse.h b/include/fuse.h
|
||||
index 2888d2b..6f162dd 100644
|
||||
--- a/include/fuse.h
|
||||
+++ b/include/fuse.h
|
||||
@@ -948,15 +948,15 @@ struct fuse *fuse_new_30(struct fuse_args *args, const struct fuse_operations *o
|
||||
size_t op_size, void *private_data);
|
||||
#define fuse_new(args, op, size, data) fuse_new_30(args, op, size, data)
|
||||
#else
|
||||
-#if (defined(HAVE_LIBC_VERSIONED_SYMBOLS))
|
||||
+#if (defined(LIBFUSE_BUILT_WITH_VERSIONED_SYMBOLS))
|
||||
struct fuse *fuse_new(struct fuse_args *args, const struct fuse_operations *op,
|
||||
size_t op_size, void *private_data);
|
||||
-#else /* HAVE_LIBC_VERSIONED_SYMBOLS */
|
||||
+#else /* LIBFUSE_BUILT_WITH_VERSIONED_SYMBOLS */
|
||||
struct fuse *fuse_new_31(struct fuse_args *args,
|
||||
const struct fuse_operations *op,
|
||||
size_t op_size, void *user_data);
|
||||
#define fuse_new(args, op, size, data) fuse_new_31(args, op, size, data)
|
||||
-#endif /* HAVE_LIBC_VERSIONED_SYMBOLS */
|
||||
+#endif /* LIBFUSE_BUILT_WITH_VERSIONED_SYMBOLS */
|
||||
#endif
|
||||
|
||||
/**
|
||||
@@ -1053,11 +1053,11 @@ int fuse_loop_mt_32(struct fuse *f, struct fuse_loop_config *config);
|
||||
*
|
||||
* See also: fuse_loop()
|
||||
*/
|
||||
-#if (defined(HAVE_LIBC_VERSIONED_SYMBOLS))
|
||||
+#if (defined(LIBFUSE_BUILT_WITH_VERSIONED_SYMBOLS))
|
||||
int fuse_loop_mt(struct fuse *f, struct fuse_loop_config *config);
|
||||
#else
|
||||
#define fuse_loop_mt(f, config) fuse_loop_mt_312(f, config)
|
||||
-#endif /* HAVE_LIBC_VERSIONED_SYMBOLS */
|
||||
+#endif /* LIBFUSE_BUILT_WITH_VERSIONED_SYMBOLS */
|
||||
#endif
|
||||
|
||||
|
||||
diff --git a/include/fuse_common.h b/include/fuse_common.h
|
||||
index 1d050bb..8ee1a34 100644
|
||||
--- a/include/fuse_common.h
|
||||
+++ b/include/fuse_common.h
|
||||
@@ -14,7 +14,12 @@
|
||||
#ifndef FUSE_COMMON_H_
|
||||
#define FUSE_COMMON_H_
|
||||
|
||||
+#ifdef HAVE_LIBFUSE_PRIVATE_CONFIG_H
|
||||
#include "fuse_config.h"
|
||||
+#endif
|
||||
+
|
||||
+#include "libfuse_config.h"
|
||||
+
|
||||
#include "fuse_opt.h"
|
||||
#include "fuse_log.h"
|
||||
#include <stdint.h>
|
||||
diff --git a/include/fuse_lowlevel.h b/include/fuse_lowlevel.h
|
||||
index 96088d7..9099e45 100644
|
||||
--- a/include/fuse_lowlevel.h
|
||||
+++ b/include/fuse_lowlevel.h
|
||||
@@ -1958,7 +1958,7 @@ struct fuse_cmdline_opts {
|
||||
* @param opts output argument for parsed options
|
||||
* @return 0 on success, -1 on failure
|
||||
*/
|
||||
-#if (defined(HAVE_LIBC_VERSIONED_SYMBOLS))
|
||||
+#if (defined(LIBFUSE_BUILT_WITH_VERSIONED_SYMBOLS))
|
||||
int fuse_parse_cmdline(struct fuse_args *args,
|
||||
struct fuse_cmdline_opts *opts);
|
||||
#else
|
||||
@@ -2076,7 +2076,7 @@ int fuse_session_loop(struct fuse_session *se);
|
||||
int fuse_session_loop_mt_32(struct fuse_session *se, struct fuse_loop_config *config);
|
||||
#define fuse_session_loop_mt(se, config) fuse_session_loop_mt_32(se, config)
|
||||
#else
|
||||
- #if (defined(HAVE_LIBC_VERSIONED_SYMBOLS))
|
||||
+ #if (defined(LIBFUSE_BUILT_WITH_VERSIONED_SYMBOLS))
|
||||
/**
|
||||
* Enter a multi-threaded event loop.
|
||||
*
|
||||
diff --git a/lib/compat.c b/lib/compat.c
|
||||
index cab6cbf..0bac39e 100644
|
||||
--- a/lib/compat.c
|
||||
+++ b/lib/compat.c
|
||||
@@ -34,7 +34,7 @@
|
||||
/**
|
||||
* Compatibility ABI symbol for systems that do not support version symboling
|
||||
*/
|
||||
-#if (!defined(HAVE_LIBC_VERSIONED_SYMBOLS))
|
||||
+#if (!defined(LIBFUSE_BUILT_WITH_VERSIONED_SYMBOLS))
|
||||
/* With current libfuse fuse_parse_cmdline is a macro pointing to the
|
||||
* versioned function. Here in this file we need to provide the ABI symbol
|
||||
* and the redirecting macro is conflicting.
|
||||
diff --git a/lib/fuse_misc.h b/lib/fuse_misc.h
|
||||
index 37e3635..855edc3 100644
|
||||
--- a/lib/fuse_misc.h
|
||||
+++ b/lib/fuse_misc.h
|
||||
@@ -15,7 +15,7 @@
|
||||
Note: "@@" denotes the default symbol, "@" is binary a compat version.
|
||||
|
||||
*/
|
||||
-#ifdef HAVE_LIBC_VERSIONED_SYMBOLS
|
||||
+#ifdef LIBFUSE_BUILT_WITH_VERSIONED_SYMBOLS
|
||||
# if HAVE_SYMVER_ATTRIBUTE
|
||||
# define FUSE_SYMVER(sym1, sym2) __attribute__ ((symver (sym2)))
|
||||
# else
|
||||
diff --git a/lib/meson.build b/lib/meson.build
|
||||
index 54d0759..9044630 100644
|
||||
--- a/lib/meson.build
|
||||
+++ b/lib/meson.build
|
||||
@@ -11,7 +11,7 @@ else
|
||||
endif
|
||||
|
||||
deps = [ thread_dep ]
|
||||
-if cfg.get('HAVE_ICONV')
|
||||
+if private_cfg.get('HAVE_ICONV')
|
||||
libfuse_sources += [ 'modules/iconv.c' ]
|
||||
libiconv = cc.find_library('iconv', required: false)
|
||||
if libiconv.found()
|
||||
diff --git a/meson.build b/meson.build
|
||||
index eb7b477..fb6451a 100644
|
||||
--- a/meson.build
|
||||
+++ b/meson.build
|
||||
@@ -16,12 +16,23 @@ elif platform == 'cygwin' or platform == 'windows'
|
||||
'Take a look at http://www.secfs.net/winfsp/ instead')
|
||||
endif
|
||||
|
||||
-#
|
||||
-# Feature detection
|
||||
-#
|
||||
-cfg = configuration_data()
|
||||
cc = meson.get_compiler('c')
|
||||
|
||||
+#
|
||||
+# Feature detection, only available at libfuse compilation time,
|
||||
+# but not for application linking to libfuse.
|
||||
+#
|
||||
+private_cfg = configuration_data()
|
||||
+
|
||||
+#
|
||||
+# Feature detection, the resulting config file is installed
|
||||
+# with the package.
|
||||
+# Note: Symbols need to be care fully named, to avoid conflicts
|
||||
+# with applications linking to libfuse and including
|
||||
+# this config.
|
||||
+#
|
||||
+public_cfg = configuration_data()
|
||||
+
|
||||
# Default includes when checking for presence of functions and
|
||||
# struct members
|
||||
include_default = '''
|
||||
@@ -35,27 +46,27 @@ include_default = '''
|
||||
'''
|
||||
args_default = [ '-D_GNU_SOURCE' ]
|
||||
|
||||
-cfg.set_quoted('PACKAGE_VERSION', meson.project_version())
|
||||
+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' ]
|
||||
foreach func : test_funcs
|
||||
- cfg.set('HAVE_' + func.to_upper(),
|
||||
+ private_cfg.set('HAVE_' + func.to_upper(),
|
||||
cc.has_function(func, prefix: include_default, args: args_default))
|
||||
endforeach
|
||||
-cfg.set('HAVE_SETXATTR',
|
||||
+private_cfg.set('HAVE_SETXATTR',
|
||||
cc.has_function('setxattr', prefix: '#include <sys/xattr.h>'))
|
||||
-cfg.set('HAVE_ICONV',
|
||||
+private_cfg.set('HAVE_ICONV',
|
||||
cc.has_function('iconv', prefix: '#include <iconv.h>'))
|
||||
|
||||
# Test if structs have specific member
|
||||
-cfg.set('HAVE_STRUCT_STAT_ST_ATIM',
|
||||
+private_cfg.set('HAVE_STRUCT_STAT_ST_ATIM',
|
||||
cc.has_member('struct stat', 'st_atim',
|
||||
prefix: include_default,
|
||||
args: args_default))
|
||||
-cfg.set('HAVE_STRUCT_STAT_ST_ATIMESPEC',
|
||||
+private_cfg.set('HAVE_STRUCT_STAT_ST_ATIMESPEC',
|
||||
cc.has_member('struct stat', 'st_atimespec',
|
||||
prefix: include_default,
|
||||
args: args_default))
|
||||
@@ -63,7 +74,7 @@ cfg.set('HAVE_STRUCT_STAT_ST_ATIMESPEC',
|
||||
#
|
||||
# Compiler configuration
|
||||
#
|
||||
-add_project_arguments('-D_REENTRANT', '-DHAVE_CONFIG_H', '-Wno-sign-compare',
|
||||
+add_project_arguments('-D_REENTRANT', '-DHAVE_LIBFUSE_PRIVATE_CONFIG_H', '-Wno-sign-compare',
|
||||
'-Wstrict-prototypes', '-Wmissing-declarations', '-Wwrite-strings',
|
||||
'-fno-strict-aliasing', language: 'c')
|
||||
add_project_arguments('-D_REENTRANT', '-DHAVE_CONFIG_H', '-D_GNU_SOURCE',
|
||||
@@ -111,7 +122,7 @@ endif
|
||||
|
||||
if versioned_symbols == 1
|
||||
message('Enabling versioned libc symbols')
|
||||
- cfg.set('HAVE_LIBC_VERSIONED_SYMBOLS', 1)
|
||||
+ public_cfg.set('LIBFUSE_BUILT_WITH_VERSIONED_SYMBOLS', 1)
|
||||
|
||||
# gcc-10 and newer support the symver attribute which we need to use if we
|
||||
# want to support LTO
|
||||
@@ -140,9 +151,15 @@ else
|
||||
message('Disabling versioned libc symbols')
|
||||
endif
|
||||
|
||||
-# Write the test results into config.h (stored in build directory)
|
||||
-configure_file(output: 'fuse_config.h',
|
||||
- configuration : cfg, install: true, install_dir: 'include/fuse3')
|
||||
+# Write private test results into fuse_config.h (stored in build directory)
|
||||
+configure_file(output: 'fuse_config.h', configuration : private_cfg)
|
||||
+
|
||||
+# Write the test results, installed with the package,
|
||||
+# symbols need to be properly prefixed to avoid
|
||||
+# symbol (define) conflicts
|
||||
+configure_file(output: 'libfuse_config.h',
|
||||
+ configuration : public_cfg,
|
||||
+ install: true, install_dir: 'include/fuse3')
|
||||
|
||||
# '.' will refer to current build directory, which contains config.h
|
||||
include_dirs = include_directories('include', 'lib', '.')
|
||||
--
|
||||
2.39.1
|
||||
|
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:6cd0759944c9aeb3d078b24a97b8a5cd5d49a0b8b7f15f85f32ac0c8a662fb6e
|
||||
size 4011224
|
@ -1,19 +0,0 @@
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
|
||||
iQK3BAABCgChFiEE7TF5GyxcFhOvOIuK0RP8rDxOWZ8FAmPc3IpfFIAAAAAALgAo
|
||||
aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldEVE
|
||||
MzE3OTFCMkM1QzE2MTNBRjM4OEI4QUQxMTNGQ0FDM0M0RTU5OUYjGmh0dHA6Ly93
|
||||
d3cucmF0aC5vcmcvZ3BncG9saWN5Lmh0bWwACgkQ0RP8rDxOWZ85wg//SmiPbNBP
|
||||
swi7sU5FfvD+fxQjBS6Ed87Kp0aiECNzqmc2kUUXMA2LctmfLYydIRY8PtxqtWWb
|
||||
qjET6fRMbRzT4BETJ5m91nNkv2r4mqgZ8NJ7IpaF9Vnk+U6XW13+DQPZV5kJZH4U
|
||||
TbQsSDdbOrq+FEBGscGN0oOvZ4REryufpPYyF6qxNpL8YCm/feDJ0su4OHWBVOfH
|
||||
UEUck1S3m4FaJzem16CbUb69vrCnyjTQrSaNQTpZ4VVWgVDesbpq81R8sy5qZOmf
|
||||
Qtwmfop3+56g62jQLVNyrW0QzTPq+Da52cf9YB0AUy5dbas0IlFob2n2h6dPqNdC
|
||||
CSoA8pXa+4jSREhuD4zD6ruhsE9/t6f5wK3NosBxS3qo04P0ixkQXojoL6Qea2da
|
||||
LV5YVGx4IxGZrMUWvxYoMV3uEJiiryNw8pk6CM/vM3C6xIJs57+T664QFahAssqs
|
||||
ttGUpNYb9Xfvf8zMA9BmVOk6HeEWpSYdjIlsb3iBqbmBj7iqFTVcsTTEDdd5uYPC
|
||||
njPySetkhyrpjeDjnYvefLeN1yx3dfBy6z9IDNk2EsmNkD2pww3jTT0GguGQ/iEM
|
||||
ch2h/End7O12Eu6qGcvU2pkqzxz+Pco1+jeQQ4KeM0eukPRePTdJFcHYWNywWgT+
|
||||
6BI2kG4r2wx2V1D4r4zmFLobQChtv1eaEl4=
|
||||
=AIyT
|
||||
-----END PGP SIGNATURE-----
|
3
fuse-3.14.0.tar.xz
Normal file
3
fuse-3.14.0.tar.xz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:96115b2a8ff34bd1e0c7b00c5dfd8297571d7e165042b94498c9a26356a9a70a
|
||||
size 4351852
|
19
fuse-3.14.0.tar.xz.asc
Normal file
19
fuse-3.14.0.tar.xz.asc
Normal file
@ -0,0 +1,19 @@
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
|
||||
iQK3BAABCgChFiEE7TF5GyxcFhOvOIuK0RP8rDxOWZ8FAmPvSYlfFIAAAAAALgAo
|
||||
aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldEVE
|
||||
MzE3OTFCMkM1QzE2MTNBRjM4OEI4QUQxMTNGQ0FDM0M0RTU5OUYjGmh0dHA6Ly93
|
||||
d3cucmF0aC5vcmcvZ3BncG9saWN5Lmh0bWwACgkQ0RP8rDxOWZ9jLxAAlT0YzeyN
|
||||
KWUw5lBJVLKBkyt6Pax9HXDrUQ3alGvydiL9sn2iSC2eIqwA0s1874vWOHAiT9XG
|
||||
kFIRFWYKZfM5avsksT6ZF9eLCfCklNz9BE23b3b7zhwO+Mxwy67M6XHH2nYWqf5R
|
||||
QVWvmS01h7qVIiQ/Nwu90f4gTzxdBgsG0BnOiChwZgSwfkLDgmxW5dr/RrRZoJIR
|
||||
+Z9sCO7WV5RI+SPaQTXo+3SqYXoDmHiFWfqmwJDUKGYvhjpxW7D68S0IRFe0VFDf
|
||||
zt1xlTxMoyAHBC9Bu49frDsqStohLBG5wtt7bNSEYmhFEXmtlZ5Lf1cIPgM/cDEg
|
||||
egjW+CxNQaFTPCqdNo6GjNOMcZb0k11lNx5AB7FM7eLhUoknWKaHD/d0hNGb6LGb
|
||||
MXwV9ColskkaGuNsih6Cf0rPQil8V3vzZ2l0lHgxMAZWegcmfRKh/UOakQA0cfh9
|
||||
agBlnky5sTCDKt/bvw9PMBzNkQU3J/EKS1vWiAhqGA+rEOZJ+nZqS1SXlCZ8fjpE
|
||||
ar7ugHkokxsveb6jP9gnfdPpBm7xs1BMU/L4WrvelQ6Qa5DEFDDxNF0Q4B9sJIAe
|
||||
THIb3fNQbCgRoIBuJm+uXTyye8a16DQdYDn8EojnbP67w8q7WaBWsx2KgzVOrVXu
|
||||
GeNPSTURm8gGwF1B+Lp6Az4cOyuvlj6+u7U=
|
||||
=zAJY
|
||||
-----END PGP SIGNATURE-----
|
@ -1,3 +1,11 @@
|
||||
-------------------------------------------------------------------
|
||||
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>
|
||||
|
||||
|
@ -17,7 +17,7 @@
|
||||
|
||||
|
||||
Name: fuse3
|
||||
Version: 3.13.1
|
||||
Version: 3.14.0
|
||||
Release: 0
|
||||
Summary: Reference implementation of the "Filesystem in Userspace"
|
||||
License: BSD-2-Clause AND GPL-2.0-or-later AND LGPL-2.1-or-later
|
||||
@ -28,7 +28,6 @@ Source1: https://github.com/libfuse/libfuse/releases/download/fuse-%versi
|
||||
Source2: fuse.keyring
|
||||
Source1000: baselibs.conf
|
||||
Patch1: conf-rename.patch
|
||||
Patch2: 0001-Split-config.h-into-private-and-public-config.patch
|
||||
BuildRequires: fdupes
|
||||
BuildRequires: meson
|
||||
BuildRequires: pkgconfig
|
||||
|
Loading…
Reference in New Issue
Block a user