Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package libguestfs for openSUSE:Factory 
checked in at 2025-05-13 20:05:32
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libguestfs (Old)
 and      /work/SRC/openSUSE:Factory/.libguestfs.new.30101 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "libguestfs"

Tue May 13 20:05:32 2025 rev:118 rq:1277117 version:1.55.10

Changes:
--------
--- /work/SRC/openSUSE:Factory/libguestfs/libguestfs.changes    2025-04-04 
17:30:19.839053673 +0200
+++ /work/SRC/openSUSE:Factory/.libguestfs.new.30101/libguestfs.changes 
2025-05-13 20:05:35.471136298 +0200
@@ -1,0 +2,29 @@
+Mon May 12 14:17:21 UTC 2025 - Dominique Leuenberger <dims...@opensuse.org>
+
+- Use FUSE3 starting with suse_version 1600 (aka CODE16): Release
+  CODE16 from the beginning without relying on FUSE 2.
+- Do not add the patch conditionally to the .src.rpm, but only
+  apply the patch conditionally: allows to reuse src.rpm across
+  codestreams.
+
+-------------------------------------------------------------------
+Wed Apr 30 14:41:53 MDT 2025 - carn...@suse.com
+
+- bsc#1242082 - libguestfs: migration to fuse 3 and deprecation of
+  fuse (1)
+  use-fuse3-for-build.patch
+- Update to version 1.55.10 (jsc#PED-8910)
+  * mltools: decouple and simplify osinfo device support checks
+  * mlcustomize: disable `--inject-virtio-win osinfo`
+  * mltools: Fix de-oUnit-ized tests
+  * mltools: Unreference various objects
+  * Revert "mltools: Unreference various objects"
+  * generator: Implement struct FDevice type
+  * mltools: Fix memory leak in OCaml binding of libosinfo
+  * mlstdutils: Implement String.implode
+  * daemon: Rewrite {pvs,vgs,lvs}-full APIs in OCaml
+  * daemon: inspect: Resolve Ubuntu 22+ /dev/disk/by-id/dm-uuid-LVM-... in 
fstab
+  * Various build improvements
+  * daemon/fstrim.c: Issue sync_disks after fstri
+
+-------------------------------------------------------------------

Old:
----
  libguestfs-1.55.8.tar.gz
  libguestfs-1.55.8.tar.gz.sig

New:
----
  libguestfs-1.55.10.tar.gz
  libguestfs-1.55.10.tar.gz.sig
  use-fuse3-for-build.patch

BETA DEBUG BEGIN:
  New:  fuse (1)
  use-fuse3-for-build.patch
- Update to version 1.55.10 (jsc#PED-8910)
BETA DEBUG END:

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

Other differences:
------------------
++++++ libguestfs.spec ++++++
--- /var/tmp/diff_new_pack.pxrK4b/_old  2025-05-13 20:05:38.123247871 +0200
+++ /var/tmp/diff_new_pack.pxrK4b/_new  2025-05-13 20:05:38.143248713 +0200
@@ -18,7 +18,7 @@
 
 Name:           libguestfs
 ExclusiveArch:  x86_64 ppc64 ppc64le s390x aarch64 riscv64
-Version:        1.55.8
+Version:        1.55.10
 Release:        0
 Summary:        Access and modify virtual machine disk images
 License:        GPL-2.0-or-later
@@ -33,6 +33,7 @@
 
 # Patches
 Patch1:         use-rtc-driftfix-slew-for-x86-only.patch
+Patch100:       use-fuse3-for-build.patch
 
 BuildRequires:  bison
 BuildRequires:  file-devel
@@ -61,7 +62,11 @@
 BuildRequires:  perl(Test::More)
 BuildRequires:  pkgconfig(augeas)
 BuildRequires:  pkgconfig(bash-completion)
+%if 0%{?suse_version} >= 1600
+BuildRequires:  pkgconfig(fuse3)
+%else
 BuildRequires:  pkgconfig(fuse)
+%endif
 BuildRequires:  pkgconfig(hivex)
 BuildRequires:  pkgconfig(jansson)
 BuildRequires:  pkgconfig(libacl)
@@ -91,7 +96,11 @@
 schemes, qcow, qcow2, vmdk.
 
 %prep
-%autosetup -p1
+%autosetup -N
+%autopatch -p1 -M 99
+%if 0%{?suse_version} >= 1600
+%autopatch -p1 -m 100
+%endif
 
 sed -i 's|RPMVSF_MASK_NOSIGNATURES|_RPMVSF_NOSIGNATURES|' daemon/rpm-c.c
 sed -i 's/tar zcf/tar -zcf/' appliance/Makefile.am
@@ -276,7 +285,11 @@
 popd
 
 cat > %{buildroot}%{_libdir}/guestfs/supermin.d/zz-packages-winsupport << EOF
+%if 0%{?suse_version} >= 1600
+libfuse3
+%else
 libfuse2
+%endif
 hwinfo
 EOF
 

++++++ libguestfs-1.55.8.tar.gz -> libguestfs-1.55.10.tar.gz ++++++
/work/SRC/openSUSE:Factory/libguestfs/libguestfs-1.55.8.tar.gz 
/work/SRC/openSUSE:Factory/.libguestfs.new.30101/libguestfs-1.55.10.tar.gz 
differ: char 26, line 1

++++++ use-fuse3-for-build.patch ++++++
References: bsc#1242082 - libguestfs: migration to fuse 3 and
            deprecation of fuse (1)
See also spec file changes to use fuse3

Index: libguestfs-1.55.10/m4/guestfs-fuse.m4
===================================================================
--- libguestfs-1.55.10.orig/m4/guestfs-fuse.m4
+++ libguestfs-1.55.10/m4/guestfs-fuse.m4
@@ -21,7 +21,7 @@ AC_ARG_ENABLE([fuse],
     [],
     [enable_fuse=yes])
 AS_IF([test "x$enable_fuse" != "xno"],[
-    PKG_CHECK_MODULES([FUSE],[fuse],[
+    PKG_CHECK_MODULES([FUSE],[fuse3],[
         AC_SUBST([FUSE_CFLAGS])
         AC_SUBST([FUSE_LIBS])
         AC_DEFINE([HAVE_FUSE],[1],[Define to 1 if you have FUSE.])
Index: libguestfs-1.55.10/lib/fuse.c
===================================================================
--- libguestfs-1.55.10.orig/lib/fuse.c
+++ libguestfs-1.55.10/lib/fuse.c
@@ -40,7 +40,7 @@
 #define ENOATTR ENODATA
 #endif
 
-#define FUSE_USE_VERSION 26
+#define FUSE_USE_VERSION 30
 
 #include <fuse.h>
 #include <fuse_lowlevel.h>
@@ -115,7 +115,7 @@ copy_xattr_list (guestfs_h *g, const str
 
 static int
 mount_local_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)
 {
   time_t now;
   size_t i;
@@ -154,7 +154,7 @@ mount_local_readdir (const char *path, v
      * not quite sure how this is ever supposed to work on large
      * directories. XXX
      */
-    if (filler (buf, ents->val[i].name, &stat, 0))
+    if (filler (buf, ents->val[i].name, &stat, 0, flags))
       break;
   }
 
@@ -250,7 +250,7 @@ mount_local_readdir (const char *path, v
 }
 
 static int
-mount_local_getattr (const char *path, struct stat *statbuf)
+mount_local_getattr (const char *path, struct stat *statbuf, struct 
fuse_file_info *fi)
 {
   const struct stat *buf;
   CLEANUP_FREE_STAT struct guestfs_statns *r = NULL;
@@ -304,6 +304,7 @@ mount_local_access (const char *path, in
   struct stat statbuf;
   int r;
   struct fuse_context *fuse;
+  struct fuse_file_info fi;
   int ok = 1;
   DECL_G ();
   DEBUG_CALL ("%s, %d", path, mask);
@@ -311,7 +312,7 @@ mount_local_access (const char *path, in
   if (g->ml_read_only && (mask & W_OK))
     return -EROFS;
 
-  r = mount_local_getattr (path, &statbuf);
+  r = mount_local_getattr (path, &statbuf, &fi);
   if (r < 0 || mask == F_OK) {
     debug (g, "%s: mount_local_getattr returned r = %d", path, r);
     return r;
@@ -490,7 +491,7 @@ mount_local_symlink (const char *from, c
 }
 
 static int
-mount_local_rename (const char *from, const char *to)
+mount_local_rename (const char *from, const char *to, unsigned int flags)
 {
   int r;
   DECL_G ();
@@ -528,7 +529,7 @@ mount_local_link (const char *from, cons
 }
 
 static int
-mount_local_chmod (const char *path, mode_t mode)
+mount_local_chmod (const char *path, mode_t mode, struct fuse_file_info *fi)
 {
   int r;
   DECL_G ();
@@ -546,7 +547,7 @@ mount_local_chmod (const char *path, mod
 }
 
 static int
-mount_local_chown (const char *path, uid_t uid, gid_t gid)
+mount_local_chown (const char *path, uid_t uid, gid_t gid, struct 
fuse_file_info *fi)
 {
   int r;
   DECL_G ();
@@ -564,7 +565,7 @@ mount_local_chown (const char *path, uid
 }
 
 static int
-mount_local_truncate (const char *path, off_t size)
+mount_local_truncate (const char *path, off_t size, struct fuse_file_info *fi)
 {
   int r;
   DECL_G ();
@@ -582,7 +583,7 @@ mount_local_truncate (const char *path,
 }
 
 static int
-mount_local_utimens (const char *path, const struct timespec ts[2])
+mount_local_utimens (const char *path, const struct timespec ts[2], struct 
fuse_file_info *fi)
 {
   int r;
   time_t atsecs, mtsecs;
@@ -1005,32 +1006,26 @@ guestfs_impl_mount_local (guestfs_h *g,
       goto arg_error;
   }
 
-  debug (g, "%s: fuse_mount %s", __func__, localmountpoint);
-
-  /* Create the FUSE mountpoint. */
-  ch = fuse_mount (localmountpoint, &args);
-  if (ch == NULL) {
-    error (g, _("fuse_mount failed: %s, see error messages above"),
-           localmountpoint);
-    fuse_opt_free_args (&args);
-    guestfs_int_free_fuse (g);
-    return -1;
-  }
-
-  /* Set F_CLOEXEC on the channel.  XXX libfuse should do this. */
-  fd = fuse_chan_fd (ch);
-  if (fd >= 0)
-    set_cloexec_flag (fd, 1);
-
   debug (g, "%s: fuse_new", __func__);
 
   /* Create the FUSE handle. */
-  g->fuse = fuse_new (ch, &args,
+  g->fuse = fuse_new (&args,
                       &mount_local_operations, sizeof mount_local_operations,
                       g);
   if (!g->fuse) {
     perrorf (g, _("fuse_new: %s"), localmountpoint);
-    fuse_unmount (localmountpoint, ch);
+    fuse_opt_free_args (&args);
+    guestfs_int_free_fuse (g);
+    return -1;
+  }
+
+  debug (g, "%s: fuse_mount %s", __func__, localmountpoint);
+
+  /* Create the FUSE mountpoint. */
+  if (fuse_mount (g->fuse, localmountpoint) == -1) {
+    error (g, _("fuse_mount failed: %s, see error messages above"),
+           localmountpoint);
+    fuse_destroy(g->fuse);
     fuse_opt_free_args (&args);
     guestfs_int_free_fuse (g);
     return -1;
Index: libguestfs-1.55.10/fuse/guestmount.c
===================================================================
--- libguestfs-1.55.10.orig/fuse/guestmount.c
+++ libguestfs-1.55.10/fuse/guestmount.c
@@ -16,7 +16,7 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 
USA.
  */
 
-#define FUSE_USE_VERSION 26
+#define FUSE_USE_VERSION 30
 
 #include <config.h>
 

Reply via email to