Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package tarix for openSUSE:Factory checked in at 2026-06-22 17:44:35 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/tarix (Old) and /work/SRC/openSUSE:Factory/.tarix.new.1956 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "tarix" Mon Jun 22 17:44:35 2026 rev:2 rq:1361121 version:1.0.9 Changes: -------- --- /work/SRC/openSUSE:Factory/tarix/tarix.changes 2021-04-17 00:01:27.337564779 +0200 +++ /work/SRC/openSUSE:Factory/.tarix.new.1956/tarix.changes 2026-06-22 17:45:06.630714152 +0200 @@ -1,0 +2,9 @@ +Mon Jun 22 11:02:52 UTC 2026 - Martin Pluskal <[email protected]> + +- Add tarix-fuse3.patch: port the FUSE filesystem (fuse_tarix) from + libfuse2 to libfuse3 (boo#1242192) - bump FUSE_USE_VERSION to 31, + update the getattr/readdir operation signatures and fuse_fill_dir_t + calls for the fuse3 API, and build against pkg-config fuse3 +- Switch BuildRequires from pkgconfig(fuse) to pkgconfig(fuse3) + +------------------------------------------------------------------- New: ---- tarix-fuse3.patch ----------(New B)---------- New: - Add tarix-fuse3.patch: port the FUSE filesystem (fuse_tarix) from libfuse2 to libfuse3 (boo#1242192) - bump FUSE_USE_VERSION to 31, ----------(New E)---------- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ tarix.spec ++++++ --- /var/tmp/diff_new_pack.EE9tE2/_old 2026-06-22 17:45:07.418741772 +0200 +++ /var/tmp/diff_new_pack.EE9tE2/_new 2026-06-22 17:45:07.422741912 +0200 @@ -1,7 +1,7 @@ # # spec file for package tarix # -# Copyright (c) 2021 SUSE LLC +# 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 @@ -24,8 +24,10 @@ Group: Productivity/Archiving/Backup URL: https://github.com/fastcat/tarix Source: https://github.com/fastcat/tarix/archive/tarix-%{version}.tar.gz +# PATCH-FIX-UPSTREAM tarix-fuse3.patch boo#1242192 -- port the FUSE filesystem from libfuse2 to libfuse3 +Patch0: tarix-fuse3.patch BuildRequires: pkgconfig -BuildRequires: pkgconfig(fuse) +BuildRequires: pkgconfig(fuse3) BuildRequires: pkgconfig(glib-2.0) BuildRequires: pkgconfig(zlib) @@ -36,7 +38,7 @@ dd, and tar (though grep and sed would be very useful there). %prep -%autosetup -n tarix-tarix-%{version} +%autosetup -p1 -n tarix-tarix-%{version} %build sed -i "s|-Werror||g" Makefile ++++++ tarix-fuse3.patch ++++++ --- a/Makefile 2026-06-22 13:13:42.245101145 +0200 +++ b/Makefile 2026-06-22 13:13:42.313108724 +0200 @@ -8,9 +8,9 @@ # silence-errors doesn't completely silence them # still get complaints about gnome-config if it is not available -CPPFLAGS_FUSE:=$(strip $(shell pkg-config fuse --cflags --silence-errors 2>/dev/null)) +CPPFLAGS_FUSE:=$(strip $(shell pkg-config fuse3 --cflags --silence-errors 2>/dev/null)) CPPFLAGS_GLIB:=$(strip $(shell pkg-config glib-2.0 --cflags --silence-errors)) -LDFLAGS_FUSE:=$(strip $(shell pkg-config fuse --libs --silence-errors 2>/dev/null)) +LDFLAGS_FUSE:=$(strip $(shell pkg-config fuse3 --libs --silence-errors 2>/dev/null)) LDFLAGS_GLIB:=$(strip $(shell pkg-config glib-2.0 --libs --silence-errors)) # disable fuse if it's not available --- a/src/fuse_tarix.c 2026-06-22 13:13:42.257102483 +0200 +++ b/src/fuse_tarix.c 2026-06-22 13:13:42.313108724 +0200 @@ -19,7 +19,7 @@ #include "config.h" -#define FUSE_USE_VERSION 26 +#define FUSE_USE_VERSION 31 #include <errno.h> #include <fcntl.h> @@ -43,8 +43,10 @@ // helper code related to in memory tar index is in a secondary file #include "fuse_index.c" -static int tarix_getattr(const char *path, struct stat *stbuf) +static int tarix_getattr(const char *path, struct stat *stbuf, + struct fuse_file_info *fi) { + (void) fi; memset(stbuf, 0, sizeof(struct stat)); struct index_node *node = find_node(path); if (node == NULL) @@ -61,7 +63,8 @@ } static int tarix_readdir(const char *path, void *buf, fuse_fill_dir_t filler, - off_t offset, struct fuse_file_info *fi) { + off_t offset, struct fuse_file_info *fi, enum fuse_readdir_flags flags) { + (void) flags; struct index_node *node = find_node(path); if (node == NULL) return -ENOENT; @@ -77,15 +80,15 @@ if (!is_node_children_filled(node)) return -EIO; - filler(buf, ".", &node->stbuf, 0); + filler(buf, ".", &node->stbuf, 0, 0); /* this may be available, but not worth the effort to dig up here */ - filler(buf, "..", NULL, 0); + filler(buf, "..", NULL, 0, 0); struct index_node *child = node->child; while (child != NULL) { // only show entries that we either haven't examined, or which we know exist if (!is_node_stat_filled(child) || child->stbuf.st_mode != 0) - filler(buf, strrchr(child->entry.filename, '/') + 1, &child->stbuf, 0); + filler(buf, strrchr(child->entry.filename, '/') + 1, &child->stbuf, 0, 0); child = child->next; } @@ -269,16 +272,15 @@ .unlink = tarix_rofs_path, .rmdir = tarix_rofs_path, .symlink = tarix_rofs_2path, - .rename = tarix_rofs_2path, + .rename = tarix_rofs_rename, .link = tarix_rofs_2path, - .chmod = tarix_rofs_pathmode, + .chmod = tarix_rofs_chmod, .chown = tarix_chown, .truncate = tarix_truncate, .write = tarix_write, .setxattr = tarix_setxattr, .removexattr = tarix_rofs_2path, .create = tarix_create, - .ftruncate = tarix_ftruncate, .utimens = tarix_utimens, }; --- a/src/fuse_rofs.c 2026-06-22 13:13:42.273104266 +0200 +++ b/src/fuse_rofs.c 2026-06-22 13:13:42.317109170 +0200 @@ -25,26 +25,40 @@ return -EROFS; } -// covers mkdir, chmod +// covers mkdir static int tarix_rofs_pathmode(const char *path, mode_t mode) { return -EROFS; } +// chmod (fuse3 signature) +static int tarix_rofs_chmod(const char *path, mode_t mode, + struct fuse_file_info *fi) { + return -EROFS; +} + // covers unlink, rmdir static int tarix_rofs_path(const char *path) { return -EROFS; } -// covers symlink, rename, link +// covers symlink, link, removexattr static int tarix_rofs_2path(const char *path1, const char *path2) { return -EROFS; } -static int tarix_chown(const char *path, uid_t uid, gid_t gid) { +// rename (fuse3 signature) +static int tarix_rofs_rename(const char *path1, const char *path2, + unsigned int flags) { + return -EROFS; +} + +static int tarix_chown(const char *path, uid_t uid, gid_t gid, + struct fuse_file_info *fi) { return -EROFS; } -static int tarix_truncate(const char *path, off_t size) { +static int tarix_truncate(const char *path, off_t size, + struct fuse_file_info *fi) { return -EROFS; } @@ -63,11 +77,7 @@ return -EROFS; } -static int tarix_ftruncate(const char *path, off_t size, +static int tarix_utimens(const char *path, const struct timespec tv[2], struct fuse_file_info *fi) { return -EROFS; } - -static int tarix_utimens(const char *path, const struct timespec tv[2]) { - return -EROFS; -}
