Compare commits
3 Commits
Author | SHA256 | Date | |
---|---|---|---|
7dd7e1cf55 | |||
2a091ce134 | |||
6f62553c3a |
BIN
libguestfs-1.55.8.tar.gz
(Stored with Git LFS)
BIN
libguestfs-1.55.8.tar.gz
(Stored with Git LFS)
Binary file not shown.
@@ -1,17 +0,0 @@
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
|
||||
iQJFBAABCgAvFiEE93dPsa0HSn6Mh2fqkXOPc+G3aKAFAmfu0rERHHJpY2hAYW5u
|
||||
ZXhpYS5vcmcACgkQkXOPc+G3aKC18g//YFKSlhrBUv2ChlMteYj3ZeKpYCxKbZPO
|
||||
NHEs1Td1yIGeLo3PVwwiklMJYOFL7fSUONRzi9icRqALlVx3wzhYRkGmAutjFeMa
|
||||
QIWC9RI2ZHT+hm1eU1S4LKYrvJBSA2WpPJEvCpWYZg7YjT1S3KUnT/dcF540K0/i
|
||||
WrdOTc2Aq7Di+8qj5sNbUR+VBokzSpCCpbvmfl91mQOS7GDW6m0vYQciXOn076Pb
|
||||
WtK60gXb+XFEvHCx3/ZzmHPE8lhOXUpIz4rkv7+bmX29nY9HGQIrlD2v8Z8OxvbM
|
||||
rIYWrkKpKc7Aj6ri7JJCC/o5CxYuxbzcdz3C3zmizbVYMF+IOOqYTDJNMRrRxEuw
|
||||
QA2mwRVvx/oEAwj9q5gnXIDSiMCFgw7UoQvnRcII6Gaz04N28ZciH7LKLAfP6wg1
|
||||
VFc9rAlKmMpyq1b38x1Gvc/piAedim0LLDHp3DoBzsBxOCZrG5OOk5cTtcp3OykY
|
||||
TQOaGfqxbcc5+j6gcNmv3HDLJm1xN5Fd6f1HcuX3Tk7UTLcftIZqbwSgoIAD9QgB
|
||||
o6Z0+RNqvXvlSQfZXLDoxaah8/HcPCLQgrGnnvCRmvFnigTHu1IVlQ8q66Z5TJdy
|
||||
qy9zbbnFxd7INLTxwrWRfyxjTY9HihOTFyvtoybtFmKE9Uln6pk/IdetZUN8QUWw
|
||||
8jPvAV7qsmA=
|
||||
=N9eJ
|
||||
-----END PGP SIGNATURE-----
|
BIN
libguestfs-1.56.1.tar.gz
(Stored with Git LFS)
Normal file
BIN
libguestfs-1.56.1.tar.gz
(Stored with Git LFS)
Normal file
Binary file not shown.
17
libguestfs-1.56.1.tar.gz.sig
Normal file
17
libguestfs-1.56.1.tar.gz.sig
Normal file
@@ -0,0 +1,17 @@
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
|
||||
iQJFBAABCgAvFiEE93dPsa0HSn6Mh2fqkXOPc+G3aKAFAmhQPkcRHHJpY2hAYW5u
|
||||
ZXhpYS5vcmcACgkQkXOPc+G3aKBzGBAAnhwMRwtiYaw94nMMhZA+896zxzBDi6Wx
|
||||
YhWiJ7wrlgx7qchP21Y+As4mz5ldDeiFFsFMXXuIBz2m+G73yM1EGbcwxYlpWV+h
|
||||
bSBca5Vd14WFAVX497fWTzcz3UXAvkYmqLJqCliSJ4BdnCuTcCoKK4+sl/F0kwXe
|
||||
F2x0YNaUxCMiuscFhmLIkz1r+RDUyuQfCeb+ilkkdsd+Gugq42CkW5kLxCfy/dn7
|
||||
gSyj/oaYIaE2bsYW39EKXuJX1qb4DlmwZa8JUsYsi9uZGQbwH+gka9XkKVvbSd6Q
|
||||
s7q68xl3DIna7rfIrnLdf/OGcwmPQ0U02Yhfam7tM/4FY2t5hBOSCahBSrZVfuQt
|
||||
Q/QXpXiYzoD/nmgUNHgFqgN1kgm22E/qaqwwbKf6k412NDfF+Ez84sZHCcgJH+LR
|
||||
/eJrp7lde74QxGervdQ5dYmwNBuv5IPrRJA2kWv97wVDqaOlMgpjpmYNTFyxppZm
|
||||
9H2NyI8x+jSZ9KQT0vEjIWpe3Yr5l0zUkLLzLoD7t0DcxTZGVIeHV7n8ITLlK0dH
|
||||
Ki/BmkWqs2p39Izv7IWWBlRV/URVxW5zK4zEvRtTQtFidlaRqAy5oWUrARnmO4Te
|
||||
sT7Y7ZQss9ZJkcz3JF9lh27JCvD4aRW62y4n2zreq7FXPA67YjbsMJ43BLQ7Gek2
|
||||
I0nROw3mmHw=
|
||||
=OxmC
|
||||
-----END PGP SIGNATURE-----
|
@@ -1,3 +1,138 @@
|
||||
-------------------------------------------------------------------
|
||||
Tue Jun 24 10:59:19 MDT 2025 - carnold@suse.com
|
||||
|
||||
- Update to version 1.56.1 (jsc#PED-12706)
|
||||
* lib: Enable ACPI for the libvirt backend for x86_64 and arm
|
||||
- Only build the inspect-icons RPM for Tumbleweed. Tumbleweed is
|
||||
the only place where icoutils package exists which it requires.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Jun 13 06:40:24 UTC 2025 - Bernhard Wiedemann <bwiedemann@suse.com>
|
||||
|
||||
- Drop gzip mtime from base.tar.gz (bsc#1216986)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Jun 11 13:37:01 MDT 2025 - carnold@suse.com
|
||||
|
||||
- Update to version 1.56.0 (jsc#PED-12706)
|
||||
* Add support for Windows 2025 (thanks Ming Xie).
|
||||
* Add support for TencentOS (Denise Cheng).
|
||||
* Inspection of Ubuntu 22+ guests that use a split /usr
|
||||
configuration now works properly (thanks Jaroslav Spanko,
|
||||
Daniel Berrange).
|
||||
* Inspecting guests that have duplicated root mountpoints now
|
||||
works.
|
||||
* Inspection of SUSE Linux guests using btrfs snapshots now
|
||||
ignores snapshots that mirror content in the root filesystem
|
||||
(thanks Ming Xie).
|
||||
* Inspection of SUSE Linux >= 15 now returns the correct osinfo
|
||||
short name (eg. "sle15") (thanks Ming Xie).
|
||||
* New command_out and sh_out APIs which allow you to capture
|
||||
output from guest commands that generate more output than the
|
||||
protocol limit allows.
|
||||
* New btrfs_scrub_full API which runs a full Btrfs scrub,
|
||||
synchronously. It works more like fsck for other filesystems.
|
||||
* The fstrim API has been modified to work around several issues
|
||||
in upstream and RHEL 9 kernels related to XFS support (Eric
|
||||
Sandeen, Dave Chinner).
|
||||
* The existing e2fsck API has a new FORCENO option enabling use
|
||||
of the command line -n flag.
|
||||
* json-c is now required. This replaces Jansson which was
|
||||
previously used for parsing JSON input files.
|
||||
* OCaml ≥ 4.08 is now required.
|
||||
* When using ./configure --disable-daemon we no longer require
|
||||
augeas and hivex (thanks Mohamed Akram).
|
||||
* zfs-fuse support has been dropped. The project is unmaintained
|
||||
upstream (thanks Paul Bolle, Gwyn Ciesla, Timothée Ravier).
|
||||
* Fix compatibility with GNU gettext 0.25.
|
||||
* Fix dhcpcd failing on systemd-resolved stub (Thomas Wouters).
|
||||
* Add support for dhcpcd and sfdisk on Debian (Daniel Gomez).
|
||||
* Print the kernel utsname in debug output.
|
||||
* We no longer emit a false warning about BLKDISCARD when
|
||||
creating a block device.
|
||||
* If qemu-img(1) commands fail during snapshot creation, make
|
||||
sure we capture and print stderr from the qemu command (Cole
|
||||
Robinson).
|
||||
* For a complete list of changes and bug fixes see,
|
||||
https://libguestfs.org/guestfs-release-notes-1.56.1.html
|
||||
- bsc#1216986 - libguestfs: embeds /etc/hosts
|
||||
reproducible-builds.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Jun 6 11:18:27 MDT 2025 - carnold@suse.com
|
||||
|
||||
- Update to version 1.55.14 (jsc#PED-12706)
|
||||
* lib/create.c: Capture and raise qemu-img stderr
|
||||
* inspection: Ignore btrfs snapshots of roots
|
||||
- Drop patches contained in new tarball
|
||||
004-Add-more-debugging-to-list_filesystems.patch
|
||||
005-Pipeline-style-when-mapping-and-filtering-filesystems.patch
|
||||
007-inspection-Ignore-btrfs-snapshots-of-roots.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed May 28 09:50:06 MDT 2025 - carnold@suse.com
|
||||
|
||||
- Upstream bug fix for BTRFS based images (SLES and openSUSE)
|
||||
004-Add-more-debugging-to-list_filesystems.patch
|
||||
005-Pipeline-style-when-mapping-and-filtering-filesystems.patch
|
||||
007-inspection-Ignore-btrfs-snapshots-of-roots.patch
|
||||
- Adjustment to use fusermount3 when fuse3 is required by distro.
|
||||
use-fuse3-for-build.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue May 27 08:43:54 MDT 2025 - carnold@suse.com
|
||||
|
||||
- bsc#1243351 - guestfs-appliance still requires ISC dhcp
|
||||
Conditionally replace usage of dhcp-client with dhcpcd in
|
||||
libguestfs.spec
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed May 21 05:42:04 MDT 2025 - carnold@suse.com
|
||||
|
||||
- Update to version 1.55.13 (jsc#PED-12706)
|
||||
* appliance: Remove zfs-fuse
|
||||
* Various updates to common submodule
|
||||
* ocaml-dep.sh.in: Remove mlgettext subdirectory
|
||||
* New API: Replace btrfs-fsck with btrfs-scrub-full
|
||||
* daemon: Implement e2fsck -n flag (as FORCENO option)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue May 13 11:48:35 MDT 2025 - carnold@suse.com
|
||||
|
||||
- Update to version 1.55.11 (jsc#PED-12706)
|
||||
* daemon/fstrim.c: Run the fstrim command twice
|
||||
* lib/create.c: Fix check after BLKDISCARD
|
||||
* daemon: inspect: Remove duplicate root mountpoints in /etc/fstab
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon May 12 14:17:21 UTC 2025 - Dominique Leuenberger <dimstar@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 - carnold@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
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Apr 3 15:04:42 MDT 2025 - carnold@suse.com
|
||||
|
||||
|
@@ -18,7 +18,7 @@
|
||||
|
||||
Name: libguestfs
|
||||
ExclusiveArch: x86_64 ppc64 ppc64le s390x aarch64 riscv64
|
||||
Version: 1.55.8
|
||||
Version: 1.56.1
|
||||
Release: 0
|
||||
Summary: Access and modify virtual machine disk images
|
||||
License: GPL-2.0-or-later
|
||||
@@ -33,6 +33,8 @@ Source101: README
|
||||
|
||||
# Patches
|
||||
Patch1: use-rtc-driftfix-slew-for-x86-only.patch
|
||||
Patch2: reproducible-builds.patch
|
||||
Patch100: use-fuse3-for-build.patch
|
||||
|
||||
BuildRequires: bison
|
||||
BuildRequires: file-devel
|
||||
@@ -61,7 +63,11 @@ BuildRequires: perl(Pod::Usage)
|
||||
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 +97,11 @@ to: ext2/3/4, btrfs, FAT and NTFS, LVM, many different disk partition
|
||||
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 +286,11 @@ tar -czf %{buildroot}%{_libdir}/guestfs/supermin.d/zz-winsupport.tar.gz .
|
||||
popd
|
||||
|
||||
cat > %{buildroot}%{_libdir}/guestfs/supermin.d/zz-packages-winsupport << EOF
|
||||
%if 0%{?suse_version} >= 1600
|
||||
libfuse3
|
||||
%else
|
||||
libfuse2
|
||||
%endif
|
||||
hwinfo
|
||||
EOF
|
||||
|
||||
@@ -318,7 +332,11 @@ BuildRequires: bzip2
|
||||
BuildRequires: coreutils
|
||||
BuildRequires: cpio
|
||||
BuildRequires: cryptsetup
|
||||
%if 0%{?suse_version} < 1600
|
||||
BuildRequires: dhcp-client
|
||||
%else
|
||||
BuildRequires: dhcpcd
|
||||
%endif
|
||||
BuildRequires: diffutils
|
||||
BuildRequires: dosfstools
|
||||
BuildRequires: e2fsprogs
|
||||
@@ -370,7 +388,11 @@ BuildRequires: xz
|
||||
# the appliance will fail to start the guestfsd.
|
||||
Requires: augeas
|
||||
Requires: augeas-lenses
|
||||
%if 0%{?suse_version} < 1600
|
||||
Requires: dhcp-client
|
||||
%else
|
||||
Requires: dhcpcd
|
||||
%endif
|
||||
Requires: libaugeas0
|
||||
Requires: libcap2
|
||||
Requires: libguestfs0
|
||||
@@ -436,13 +458,12 @@ Requires: bash-completion >= 2.0
|
||||
Install this package if you want intelligent bash tab-completion
|
||||
for guestfish, guestmount and various virt-* tools.
|
||||
|
||||
%if 0%{?suse_version} >= 1699
|
||||
%package inspect-icons
|
||||
Summary: Additional dependencies for inspecting guest icons
|
||||
BuildArch: noarch
|
||||
Requires: %{name} = %{version}-%{release}
|
||||
%if 0%{?suse_version} > 1500
|
||||
Requires: icoutils
|
||||
%endif
|
||||
|
||||
%description inspect-icons
|
||||
%{name}-inspect-icons is a metapackage that pulls in additional
|
||||
@@ -452,6 +473,7 @@ inspect non-Linux guests and display icons from them.
|
||||
|
||||
The only reason this is a separate package is to avoid core libguestfs
|
||||
having to depend on Perl.
|
||||
%endif
|
||||
|
||||
%package -n ocaml-%{name}
|
||||
Summary: OCaml bindings for %{name}
|
||||
@@ -651,8 +673,10 @@ for %{name}.
|
||||
%{_datadir}/bash-completion/completions/virt-tar-in
|
||||
%{_datadir}/bash-completion/completions/virt-tar-out
|
||||
|
||||
%if 0%{?suse_version} >= 1699
|
||||
%files inspect-icons
|
||||
# no files
|
||||
%endif
|
||||
|
||||
%files -n ocaml-%{name} -f %name.files
|
||||
|
||||
|
16
reproducible-builds.patch
Normal file
16
reproducible-builds.patch
Normal file
@@ -0,0 +1,16 @@
|
||||
References: bsc#1216986 - libguestfs: embeds /etc/hosts (also bsc#1237212)
|
||||
Removes etc/hosts from base.tar.gz which will be different for each
|
||||
build environment.
|
||||
|
||||
Index: libguestfs-1.56.0/appliance/Makefile.am
|
||||
===================================================================
|
||||
--- libguestfs-1.56.0.orig/appliance/Makefile.am
|
||||
+++ libguestfs-1.56.0/appliance/Makefile.am
|
||||
@@ -62,6 +62,7 @@ stamp-supermin: make.sh packagelist supe
|
||||
supermin.d/hostfiles \
|
||||
supermin.d/init.tar.gz \
|
||||
supermin.d/udev-rules.tar.gz
|
||||
+ gunzip supermin.d/base.tar.gz; tar --delete ./etc/hosts -f supermin.d/base.tar 2>/dev/null; gzip -n9 supermin.d/base.tar
|
||||
touch $@
|
||||
|
||||
clean-supermin-appliance:
|
209
use-fuse3-for-build.patch
Normal file
209
use-fuse3-for-build.patch
Normal file
@@ -0,0 +1,209 @@
|
||||
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.13/m4/guestfs-fuse.m4
|
||||
===================================================================
|
||||
--- libguestfs-1.55.13.orig/m4/guestfs-fuse.m4
|
||||
+++ libguestfs-1.55.13/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.13/lib/fuse.c
|
||||
===================================================================
|
||||
--- libguestfs-1.55.13.orig/lib/fuse.c
|
||||
+++ libguestfs-1.55.13/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.13/fuse/guestmount.c
|
||||
===================================================================
|
||||
--- libguestfs-1.55.13.orig/fuse/guestmount.c
|
||||
+++ libguestfs-1.55.13/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>
|
||||
|
||||
Index: libguestfs-1.55.13/fuse/guestunmount.c
|
||||
===================================================================
|
||||
--- libguestfs-1.55.13.orig/fuse/guestunmount.c
|
||||
+++ libguestfs-1.55.13/fuse/guestunmount.c
|
||||
@@ -241,7 +241,7 @@ do_fusermount (const char *mountpoint, c
|
||||
error (EXIT_FAILURE, errno, "pipe");
|
||||
|
||||
if (verbose)
|
||||
- fprintf (stderr, "%s: running: fusermount -u %s\n",
|
||||
+ fprintf (stderr, "%s: running: fusermount3 -u %s\n",
|
||||
getprogname (), mountpoint);
|
||||
|
||||
pid = fork ();
|
||||
@@ -258,7 +258,7 @@ do_fusermount (const char *mountpoint, c
|
||||
setenv ("LC_ALL", "C", 1);
|
||||
|
||||
#ifdef __linux__
|
||||
- execlp ("fusermount", "fusermount", "-u", mountpoint, NULL);
|
||||
+ execlp ("fusermount3", "fusermount3", "-u", mountpoint, NULL);
|
||||
#else
|
||||
/* use umount where fusermount is not available */
|
||||
execlp ("umount", "umount", mountpoint, NULL);
|
||||
@@ -316,7 +316,7 @@ do_fusermount (const char *mountpoint, c
|
||||
}
|
||||
|
||||
if (verbose)
|
||||
- fprintf (stderr, "%s: fusermount successful\n",
|
||||
+ fprintf (stderr, "%s: fusermount3 successful\n",
|
||||
getprogname ());
|
||||
|
||||
free (buf);
|
Reference in New Issue
Block a user