diff --git a/0001-Split-config.h-into-private-and-public-config.patch b/0001-Split-config.h-into-private-and-public-config.patch deleted file mode 100644 index 87c5812..0000000 --- a/0001-Split-config.h-into-private-and-public-config.patch +++ /dev/null @@ -1,255 +0,0 @@ -From d7560cc9916b086bfe5d86459cc9f04033edd904 Mon Sep 17 00:00:00 2001 -From: Bernd Schubert -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 -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 ')) --cfg.set('HAVE_ICONV', -+private_cfg.set('HAVE_ICONV', - cc.has_function('iconv', prefix: '#include ')) - - # 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 - diff --git a/fuse-3.13.1.tar.xz b/fuse-3.13.1.tar.xz deleted file mode 100644 index 3955a18..0000000 --- a/fuse-3.13.1.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:6cd0759944c9aeb3d078b24a97b8a5cd5d49a0b8b7f15f85f32ac0c8a662fb6e -size 4011224 diff --git a/fuse-3.13.1.tar.xz.asc b/fuse-3.13.1.tar.xz.asc deleted file mode 100644 index e191c7e..0000000 --- a/fuse-3.13.1.tar.xz.asc +++ /dev/null @@ -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----- diff --git a/fuse-3.14.0.tar.xz b/fuse-3.14.0.tar.xz new file mode 100644 index 0000000..7c1cb2e --- /dev/null +++ b/fuse-3.14.0.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:96115b2a8ff34bd1e0c7b00c5dfd8297571d7e165042b94498c9a26356a9a70a +size 4351852 diff --git a/fuse-3.14.0.tar.xz.asc b/fuse-3.14.0.tar.xz.asc new file mode 100644 index 0000000..6a480d3 --- /dev/null +++ b/fuse-3.14.0.tar.xz.asc @@ -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----- diff --git a/fuse3.changes b/fuse3.changes index fb60b5f..7b40867 100644 --- a/fuse3.changes +++ b/fuse3.changes @@ -1,3 +1,11 @@ +------------------------------------------------------------------- +Fri Feb 17 10:14:30 UTC 2023 - Jan Engelhardt + +- 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 diff --git a/fuse3.spec b/fuse3.spec index 15ecbf4..d5d537d 100644 --- a/fuse3.spec +++ b/fuse3.spec @@ -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