Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package hfsfuse for openSUSE:Factory checked 
in at 2026-09-19 22:20:30
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/hfsfuse (Old)
 and      /work/SRC/openSUSE:Factory/.hfsfuse.new.383539 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "hfsfuse"

Sat Sep 19 22:20:30 2026 rev:11 rq:1378857 version:0.451

Changes:
--------
--- /work/SRC/openSUSE:Factory/hfsfuse/hfsfuse.changes  2026-08-25 
15:54:33.500433856 +0200
+++ /work/SRC/openSUSE:Factory/.hfsfuse.new.383539/hfsfuse.changes      
2026-09-19 22:21:52.301429262 +0200
@@ -1,0 +2,15 @@
+Tue Sep 15 09:05:31 UTC 2026 - John Paul Adrian Glaubitz 
<[email protected]>
+
+- Update to 0.451
+  * hfsfuse will now write logs to stderr instead of syslog when
+    in foreground mode (the `-f` option).
+  * hfsfuse and hfsdump now log an error if a directory entry
+    contains invalid unicode.
+- from version 0.444
+  * Fixes writing binary files and xattrs with the hfsdump util
+    on Windows.
+- from version 0.443
+  * Fixes reading on Windows for the non-FUSE tools.
+  * Other minor bugfixes and improvements, mainly to the hfsdump util.
+
+-------------------------------------------------------------------

Old:
----
  hfsfuse-0.435.tar.gz

New:
----
  hfsfuse-0.451.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ hfsfuse.spec ++++++
--- /var/tmp/diff_new_pack.uiAiXA/_old  2026-09-19 22:21:53.057460797 +0200
+++ /var/tmp/diff_new_pack.uiAiXA/_new  2026-09-19 22:21:53.058460838 +0200
@@ -17,7 +17,7 @@
 
 
 Name:           hfsfuse
-Version:        0.435
+Version:        0.451
 Release:        0
 Summary:        FUSE driver for HFS+ filesystems
 License:        BSD-1-Clause AND BSD-2-Clause AND BSD-3-Clause AND MIT

++++++ hfsfuse-0.435.tar.gz -> hfsfuse-0.451.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/hfsfuse-0.435/lib/libhfsuser/decmpfs.c 
new/hfsfuse-0.451/lib/libhfsuser/decmpfs.c
--- old/hfsfuse-0.435/lib/libhfsuser/decmpfs.c  2026-08-12 02:00:41.000000000 
+0200
+++ new/hfsfuse-0.451/lib/libhfsuser/decmpfs.c  2026-08-31 19:43:05.000000000 
+0200
@@ -156,6 +156,8 @@
 
        if(pthread_rwlock_init(&ctx->current_chunk_lock,NULL)) {
                err = -errno;
+               free(ctx);
+               ctx = NULL;
                goto err;
        }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/hfsfuse-0.435/lib/libhfsuser/hfsuser.c 
new/hfsfuse-0.451/lib/libhfsuser/hfsuser.c
--- old/hfsfuse-0.435/lib/libhfsuser/hfsuser.c  2026-08-12 02:00:41.000000000 
+0200
+++ new/hfsfuse-0.451/lib/libhfsuser/hfsuser.c  2026-08-31 19:43:05.000000000 
+0200
@@ -561,7 +561,11 @@
        if(cbargs && cbargs->openvol)
                cfg = *(struct hfs_volume_config*)cbargs->openvol;
 
-       if((dev->fd = open(name,O_RDONLY)) < 0)
+       int open_flags = O_RDONLY;
+#ifdef _WIN32
+       open_flags |= O_BINARY;
+#endif
+       if((dev->fd = open(name,open_flags)) < 0)
                BAIL(errno);
 
        dev->default_fork = cfg.rsrc_only ? HFS_RSRCFORK : HFS_DATAFORK;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/hfsfuse-0.435/lib/uthash/uthash.h 
new/hfsfuse-0.451/lib/uthash/uthash.h
--- old/hfsfuse-0.435/lib/uthash/uthash.h       2026-08-12 02:00:41.000000000 
+0200
+++ new/hfsfuse-0.451/lib/uthash/uthash.h       2026-08-31 19:43:05.000000000 
+0200
@@ -1,5 +1,5 @@
 /*
-Copyright (c) 2003-2025, Troy D. Hanson  https://troydhanson.github.io/uthash/
+Copyright (c) 2003-2026, Troy D. Hanson  https://troydhanson.github.io/uthash/
 All rights reserved.
 
 Redistribution and use in source and binary forms, with or without
@@ -24,7 +24,7 @@
 #ifndef UTHASH_H
 #define UTHASH_H
 
-#define UTHASH_VERSION 2.3.0
+#define UTHASH_VERSION 2.4.0
 
 #include <string.h>   /* memcmp, memset, strlen */
 #include <stddef.h>   /* ptrdiff_t */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/hfsfuse-0.435/lib/uthash/utstack.h 
new/hfsfuse-0.451/lib/uthash/utstack.h
--- old/hfsfuse-0.435/lib/uthash/utstack.h      2026-08-12 02:00:41.000000000 
+0200
+++ new/hfsfuse-0.451/lib/uthash/utstack.h      2026-08-31 19:43:05.000000000 
+0200
@@ -1,5 +1,5 @@
 /*
-Copyright (c) 2018-2025, Troy D. Hanson  https://troydhanson.github.io/uthash/
+Copyright (c) 2018-2026, Troy D. Hanson  https://troydhanson.github.io/uthash/
 All rights reserved.
 
 Redistribution and use in source and binary forms, with or without
@@ -24,7 +24,7 @@
 #ifndef UTSTACK_H
 #define UTSTACK_H
 
-#define UTSTACK_VERSION 2.3.0
+#define UTSTACK_VERSION 2.4.0
 
 /*
  * This file contains macros to manipulate a singly-linked list as a stack.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/hfsfuse-0.435/src/hfsdump.c 
new/hfsfuse-0.451/src/hfsdump.c
--- old/hfsfuse-0.435/src/hfsdump.c     2026-08-12 02:00:41.000000000 +0200
+++ new/hfsfuse-0.451/src/hfsdump.c     2026-08-31 19:43:05.000000000 +0200
@@ -15,9 +15,20 @@
 #include <inttypes.h>
 #include <string.h>
 
+#ifdef _WIN32
+#include <fcntl.h>
+#include <io.h>
+#endif
+
+void set_stdout_binary(void) {
+#ifdef _WIN32
+       _setmode(_fileno(stdout),_O_BINARY);
+#endif
+}
+
 static char* hfs_ctime_r(time_t clock, char* buf) {
        char* t = ctime(&clock);
-       return t ? memcpy(buf,t,26) : NULL;
+       return t ? memcpy(buf,t,26) : "(null)\n";
 }
 
 static const char* format_type_code(hfs_macos_type_code code, char 
code_str[5]) {
@@ -230,13 +241,16 @@
                                goto end;
                        for(size_t i = 0; i < count; i++) {
                                char name[HFS_NAME_MAX+1];
-                               hfs_pathname_to_unix(names+i,name);
-                               puts(name);
+                               if(hfs_pathname_to_unix(names+i,name) < 0)
+                                       fprintf(stderr,"Could not convert path 
name for CNID %" PRIu32,recs[i].file.cnid);
+                               else
+                                       puts(name);
                        }
                        free(names);
                        free(recs);
                }
                else if(rec.type == HFS_REC_FILE) {
+                       set_stdout_binary();
                        struct hfs_file* f = hfs_file_open(&vol,&rec,fork,&ret);
                        if(!f) {
                                fputs(strerror(-ret),stderr);
@@ -266,11 +280,12 @@
                                char attrname[HFS_NAME_MAX+1];
                                ssize_t u8len = 
hfs_unistr_to_utf8(&attr_keys[i].name, attrname);
                                if(u8len > 0)
-                                       printf("%s\n",attrname);
+                                       puts(attrname);
                        }
                        free(attr_keys);
                }
                else {
+                       set_stdout_binary();
                        hfs_attribute_record_t attrec;
                        hfs_unistr255_t attrname;
                        if(hfs_utf8_to_unistr(argv[4],&attrname) <= 0)
@@ -301,7 +316,10 @@
                        }
                }
        }
-       else fprintf(stderr,"valid commands: stat, read, xattr\n");
+       else {
+               fprintf(stderr,"valid commands: stat, read, xattr\n");
+               ret = 1;
+       }
 
 end:
        hfslib_close_volume(&vol,NULL);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/hfsfuse-0.435/src/hfsfuse.c 
new/hfsfuse-0.451/src/hfsfuse.c
--- old/hfsfuse-0.435/src/hfsfuse.c     2026-08-12 02:00:41.000000000 +0200
+++ new/hfsfuse-0.451/src/hfsfuse.c     2026-08-31 19:43:05.000000000 +0200
@@ -401,6 +401,7 @@
        for(off_t i = max(0,offset-2); i < d->nentries; i++) {
                ssize_t len;
                if((len = hfs_pathname_to_unix(d->names+i,pelem)) < 0) {
+                       hfslib_error("Could not convert path name for CNID %" 
PRIu32,NULL,0,d->records[i].file.cnid);
                        ret = len;
                        continue;
                }
@@ -747,6 +748,7 @@
        char* device;
        int allow_other_set;
        int force;
+       int foreground;
 };
 
 #define HFS_OPTION(t, p) { t, offsetof(struct hfs_volume_config, p), 1 }
@@ -760,6 +762,7 @@
        FUSE_OPT_KEY("--version", HFSFUSE_OPT_KEY_VERSION),
        HFSFUSE_OPTION("--force",force),
        HFSFUSE_OPTION("allow_other",allow_other_set),
+       HFSFUSE_OPTION("-f",foreground),
        FUSE_OPT_KEY("noallow_other",HFSFUSE_OPT_KEY_NOALLOW_OTHER),
        HFS_OPTION("cache_size=%zu",cache_size),
        HFS_OPTION("blksize=%" SCNu32,blksize),
@@ -974,6 +977,8 @@
        hfsfuse_opt_add_opt_escaped(&opts, fsname);
        fuse_opt_add_arg(&args, "-o");
        fuse_opt_add_arg(&args, opts);
+       if(cfg.foreground)
+               fuse_opt_add_arg(&args,"-f");
        free(fsname);
 
        // open volume
@@ -995,7 +1000,9 @@
                        goto done;
                }
        }
-       hfs_gcb.error = hfs_vsyslog; // prepare to daemonize
+       if(!cfg.foreground)
+               hfs_gcb.error = hfs_vsyslog; // prepare to daemonize
+
        ret = fuse_main(args.argc, args.argv, &hfsfuse_ops, &vol);
 
 done:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/hfsfuse-0.435/src/hfstar.c 
new/hfsfuse-0.451/src/hfstar.c
--- old/hfsfuse-0.435/src/hfstar.c      2026-08-12 02:00:41.000000000 +0200
+++ new/hfsfuse-0.451/src/hfstar.c      2026-08-31 19:43:05.000000000 +0200
@@ -234,8 +234,6 @@
        la_ssize_t entry_bytes;
        while((bytes = hfs_file_read(f,ctx->read_buf,bufsize)) > 0)
                if((entry_bytes = 
archive_write_data(ctx->archive,ctx->read_buf,bytes)) != bytes) {
-                       if(entry_bytes == ARCHIVE_RETRY)
-                               continue;
                        if(entry_bytes == ARCHIVE_WARN && !ctx->no_warn)
                                
fprintf(stderr,"%s\n",archive_error_string(ctx->archive));
                        if(entry_bytes < ARCHIVE_OK)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/hfsfuse-0.435/src/version.h 
new/hfsfuse-0.451/src/version.h
--- old/hfsfuse-0.435/src/version.h     2026-08-12 02:00:41.000000000 +0200
+++ new/hfsfuse-0.451/src/version.h     2026-08-31 19:43:05.000000000 +0200
@@ -1 +1 @@
-#define HFSFUSE_VERSION_STRING "0.435-a67e7b4"
+#define HFSFUSE_VERSION_STRING "0.451-8e0c9a4"

Reply via email to