Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package bindfs for openSUSE:Factory checked in at 2026-02-06 21:30:10 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/bindfs (Old) and /work/SRC/openSUSE:Factory/.bindfs.new.1670 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "bindfs" Fri Feb 6 21:30:10 2026 rev:33 rq:1331147 version:1.18.4 Changes: -------- --- /work/SRC/openSUSE:Factory/bindfs/bindfs.changes 2025-10-18 14:36:31.947200334 +0200 +++ /work/SRC/openSUSE:Factory/.bindfs.new.1670/bindfs.changes 2026-02-06 21:30:29.470578096 +0100 @@ -1,0 +2,6 @@ +Thu Feb 5 10:44:39 UTC 2026 - Jan Engelhardt <[email protected]> + +- Update to release 1.18.4 + * Included a build fix for macOS. + +------------------------------------------------------------------- Old: ---- bindfs-1.18.3.tar.gz New: ---- bindfs-1.18.4.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ bindfs.spec ++++++ --- /var/tmp/diff_new_pack.ssnzvB/_old 2026-02-06 21:30:30.658627942 +0100 +++ /var/tmp/diff_new_pack.ssnzvB/_new 2026-02-06 21:30:30.658627942 +0100 @@ -1,7 +1,7 @@ # # spec file for package bindfs # -# Copyright (c) 2025 SUSE LLC and contributors +# Copyright (c) 2026 SUSE LLC and contributors # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -17,7 +17,7 @@ Name: bindfs -Version: 1.18.3 +Version: 1.18.4 Release: 0 Summary: Filesystem for mapping directories with alternate permissions License: GPL-2.0-or-later ++++++ _scmsync.obsinfo ++++++ --- /var/tmp/diff_new_pack.ssnzvB/_old 2026-02-06 21:30:30.722630627 +0100 +++ /var/tmp/diff_new_pack.ssnzvB/_new 2026-02-06 21:30:30.730630963 +0100 @@ -1,5 +1,5 @@ -mtime: 1760703450 -commit: 21129c390b035c83a154a5e48d786f0db77b150a68ee0ef547db98c1e5b63125 +mtime: 1770288357 +commit: 6d120b2938ed0aeefcff350720258eda0539dbda57804a404bca706f2394b275 url: https://src.opensuse.org/jengelh/bindfs revision: master ++++++ bindfs-1.18.3.tar.gz -> bindfs-1.18.4.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bindfs-1.18.3/ChangeLog new/bindfs-1.18.4/ChangeLog --- old/bindfs-1.18.3/ChangeLog 2025-10-08 21:16:59.000000000 +0200 +++ new/bindfs-1.18.4/ChangeLog 2026-01-20 21:23:15.000000000 +0100 @@ -1,3 +1,12 @@ +2026-01-20 Martin Pärtel <martin dot partel at gmail dot com> + * Merged build fix for MacFUSE (PR #180, thanks @slonopotamus!) + * Released 1.18.4 + +2026-01-10 Martin Pärtel <martin dot partel at gmail dot com> + + * Populate user and group cache eagerly on startup, if the cache is needed + (#178). + 2025-10-08 Martin Pärtel <martin dot partel at gmail dot com> * Fixed --resolve-symlinks with broken symlinks (PR #175, thanks @paulwkc!) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bindfs-1.18.3/configure new/bindfs-1.18.4/configure --- old/bindfs-1.18.3/configure 2025-10-08 21:17:02.000000000 +0200 +++ new/bindfs-1.18.4/configure 2026-01-20 21:23:17.000000000 +0100 @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.71 for bindfs 1.18.3. +# Generated by GNU Autoconf 2.71 for bindfs 1.18.4. # # Report bugs to <[email protected]>. # @@ -621,8 +621,8 @@ # Identity of this package. PACKAGE_NAME='bindfs' PACKAGE_TARNAME='bindfs' -PACKAGE_VERSION='1.18.3' -PACKAGE_STRING='bindfs 1.18.3' +PACKAGE_VERSION='1.18.4' +PACKAGE_STRING='bindfs 1.18.4' PACKAGE_BUGREPORT='[email protected]' PACKAGE_URL='' @@ -1378,7 +1378,7 @@ # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures bindfs 1.18.3 to adapt to many kinds of systems. +\`configure' configures bindfs 1.18.4 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1449,7 +1449,7 @@ if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of bindfs 1.18.3:";; + short | recursive ) echo "Configuration of bindfs 1.18.4:";; esac cat <<\_ACEOF @@ -1582,7 +1582,7 @@ test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -bindfs configure 1.18.3 +bindfs configure 1.18.4 generated by GNU Autoconf 2.71 Copyright (C) 2021 Free Software Foundation, Inc. @@ -1800,7 +1800,7 @@ This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by bindfs $as_me 1.18.3, which was +It was created by bindfs $as_me 1.18.4, which was generated by GNU Autoconf 2.71. Invocation command line was $ $0$ac_configure_args_raw @@ -3070,7 +3070,7 @@ # Define the identity of the package. PACKAGE='bindfs' - VERSION='1.18.3' + VERSION='1.18.4' printf "%s\n" "#define PACKAGE \"$PACKAGE\"" >>confdefs.h @@ -12614,6 +12614,8 @@ + + # --enable and --with options # Check whether --enable-debug-output was given. if test ${enable_debug_output+y} @@ -12661,7 +12663,7 @@ LDFLAGS="${LDFLAGS} -framework CoreFoundation" fi - if case $build_os in darwin* ) test x"$enable_macos_fs_link" != "xno" ;; * ) false ;; esac; then + if case $host_os in darwin* ) test x"$enable_macos_fs_link" != "xno" ;; * ) false ;; esac; then INSTALL_MACOS_FS_LINK_TRUE= INSTALL_MACOS_FS_LINK_FALSE='#' else @@ -12690,7 +12692,7 @@ fi my_CFLAGS="-std=${my_std} -Wall -Wextra -Wpedantic -fno-common" -case $build_os in +case $host_os in darwin* ) # For MacFuse 5.x (2025-06-08) my_CFLAGS="${my_CFLAGS} -Wno-language-extension-token -Wno-dollar-in-identifier-extension -DFUSE_DARWIN_ENABLE_EXTENSIONS=0" @@ -15062,7 +15064,7 @@ # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by bindfs $as_me 1.18.3, which was +This file was extended by bindfs $as_me 1.18.4, which was generated by GNU Autoconf 2.71. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -15130,7 +15132,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config='$ac_cs_config_escaped' ac_cs_version="\\ -bindfs config.status 1.18.3 +bindfs config.status 1.18.4 configured by $0, generated by GNU Autoconf 2.71, with options \\"\$ac_cs_config\\" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bindfs-1.18.3/configure.ac new/bindfs-1.18.4/configure.ac --- old/bindfs-1.18.3/configure.ac 2025-10-08 21:16:59.000000000 +0200 +++ new/bindfs-1.18.4/configure.ac 2026-01-20 21:23:15.000000000 +0100 @@ -1,4 +1,4 @@ -AC_INIT([bindfs],[1.18.3],[[email protected]]) +AC_INIT([bindfs],[1.18.4],[[email protected]]) AM_INIT_AUTOMAKE([foreign serial-tests]) AC_CONFIG_HEADERS([config.h]) @@ -7,6 +7,8 @@ AC_LANG(C) LT_INIT +AC_CANONICAL_HOST + # --enable and --with options AC_ARG_ENABLE([debug-output], [AS_HELP_STRING([--enable-debug-output], [enable debug output])]) @@ -28,7 +30,7 @@ LDFLAGS="${LDFLAGS} -framework CoreFoundation" fi -AM_CONDITIONAL([INSTALL_MACOS_FS_LINK], [case $build_os in darwin* ) test x"$enable_macos_fs_link" != "xno" ;; * ) false ;; esac]) +AM_CONDITIONAL([INSTALL_MACOS_FS_LINK], [case $host_os in darwin* ) test x"$enable_macos_fs_link" != "xno" ;; * ) false ;; esac]) # _XOPEN_SOURCE is >= 500 for pread/pwrite; >= 700 for utimensat. # __BSD_VISIBLE is for flock() on FreeBSD. It otherwise gets hidden by _XOPEN_SOURCE. @@ -46,7 +48,7 @@ ]) my_CFLAGS="-std=${my_std} -Wall -Wextra -Wpedantic -fno-common" -case $build_os in +case $host_os in darwin* ) # For MacFuse 5.x (2025-06-08) my_CFLAGS="${my_CFLAGS} -Wno-language-extension-token -Wno-dollar-in-identifier-extension -DFUSE_DARWIN_ENABLE_EXTENSIONS=0" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bindfs-1.18.3/src/bindfs.c new/bindfs-1.18.4/src/bindfs.c --- old/bindfs-1.18.3/src/bindfs.c 2025-10-08 21:16:59.000000000 +0200 +++ new/bindfs-1.18.4/src/bindfs.c 2026-01-20 21:23:15.000000000 +0100 @@ -2992,6 +2992,11 @@ /* fuse_main will daemonize by fork()'ing. The signal handler will persist. */ setup_signal_handling(); + /* Populate user cache eagerly, but only if it's needed. (See issue #178 for why this is desirable.) */ + if (is_mirroring_enabled()) { + init_user_cache(); + } + fuse_main_return = fuse_main(args.argc, args.argv, &bindfs_oper, NULL); fuse_opt_free_args(&args); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bindfs-1.18.3/src/userinfo.c new/bindfs-1.18.4/src/userinfo.c --- old/bindfs-1.18.3/src/userinfo.c 2025-10-08 21:16:59.000000000 +0200 +++ new/bindfs-1.18.4/src/userinfo.c 2026-01-20 21:23:15.000000000 +0100 @@ -21,6 +21,7 @@ #include "misc.h" #include "debug.h" +#include <signal.h> #include <stdlib.h> #include <string.h> #include <errno.h> @@ -50,9 +51,8 @@ static struct memory_block cache_memory_block = MEMORY_BLOCK_INITIALIZER; -static volatile int cache_rebuild_requested = 1; +static volatile sig_atomic_t cache_rebuild_requested = 1; -static void rebuild_cache(void); static struct uid_cache_entry *uid_cache_lookup(uid_t key); static struct gid_cache_entry *gid_cache_lookup(gid_t key); static int rebuild_uid_cache(void); @@ -66,16 +66,6 @@ static int gid_cache_gid_sortcmp(const void *key, const void *entry); static int gid_cache_gid_searchcmp(const void *key, const void *entry); -static void rebuild_cache(void) -{ - free_memory_block(&cache_memory_block); - init_memory_block(&cache_memory_block, 1024); - rebuild_uid_cache(); - rebuild_gid_cache(); - qsort(uid_cache, uid_cache_size, sizeof(struct uid_cache_entry), uid_cache_uid_sortcmp); - qsort(gid_cache, gid_cache_size, sizeof(struct gid_cache_entry), gid_cache_gid_sortcmp); -} - static struct uid_cache_entry *uid_cache_lookup(uid_t key) { return (struct uid_cache_entry *)bsearch( @@ -323,22 +313,12 @@ int i; uid_t *uids; - pthread_rwlock_rdlock(&cache_lock); - if (cache_rebuild_requested) { - pthread_rwlock_unlock(&cache_lock); - - pthread_rwlock_wrlock(&cache_lock); - if (cache_rebuild_requested) { - DPRINTF("%s", "Building user/group cache"); - cache_rebuild_requested = 0; - rebuild_cache(); - } - pthread_rwlock_unlock(&cache_lock); - - pthread_rwlock_rdlock(&cache_lock); + init_user_cache(); } + pthread_rwlock_rdlock(&cache_lock); + struct uid_cache_entry *uent = uid_cache_lookup(uid); if (uent && uent->main_gid == gid) { ret = 1; @@ -365,3 +345,20 @@ { cache_rebuild_requested = 1; } + +void init_user_cache(void) +{ + pthread_rwlock_wrlock(&cache_lock); + if (cache_rebuild_requested) { + DPRINTF("Building user/group cache"); + cache_rebuild_requested = 0; + + free_memory_block(&cache_memory_block); + init_memory_block(&cache_memory_block, 1024); + rebuild_uid_cache(); + rebuild_gid_cache(); + qsort(uid_cache, uid_cache_size, sizeof(struct uid_cache_entry), uid_cache_uid_sortcmp); + qsort(gid_cache, gid_cache_size, sizeof(struct gid_cache_entry), gid_cache_gid_sortcmp); + } + pthread_rwlock_unlock(&cache_lock); +} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bindfs-1.18.3/src/userinfo.h new/bindfs-1.18.4/src/userinfo.h --- old/bindfs-1.18.3/src/userinfo.h 2025-10-08 21:16:59.000000000 +0200 +++ new/bindfs-1.18.4/src/userinfo.h 2026-01-20 21:23:15.000000000 +0100 @@ -36,5 +36,6 @@ int user_belongs_to_group(uid_t uid, gid_t gid); void invalidate_user_cache(void); /* safe to call from signal handler */ +void init_user_cache(void); #endif ++++++ build.specials.obscpio ++++++ ++++++ build.specials.obscpio ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/.gitignore new/.gitignore --- old/.gitignore 1970-01-01 01:00:00.000000000 +0100 +++ new/.gitignore 2026-02-05 11:46:06.000000000 +0100 @@ -0,0 +1 @@ +.osc
