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
|
Thu Apr 3 15:04:42 MDT 2025 - carnold@suse.com
|
||||||
|
|
||||||
|
@@ -18,7 +18,7 @@
|
|||||||
|
|
||||||
Name: libguestfs
|
Name: libguestfs
|
||||||
ExclusiveArch: x86_64 ppc64 ppc64le s390x aarch64 riscv64
|
ExclusiveArch: x86_64 ppc64 ppc64le s390x aarch64 riscv64
|
||||||
Version: 1.55.8
|
Version: 1.56.1
|
||||||
Release: 0
|
Release: 0
|
||||||
Summary: Access and modify virtual machine disk images
|
Summary: Access and modify virtual machine disk images
|
||||||
License: GPL-2.0-or-later
|
License: GPL-2.0-or-later
|
||||||
@@ -33,6 +33,8 @@ Source101: README
|
|||||||
|
|
||||||
# Patches
|
# Patches
|
||||||
Patch1: use-rtc-driftfix-slew-for-x86-only.patch
|
Patch1: use-rtc-driftfix-slew-for-x86-only.patch
|
||||||
|
Patch2: reproducible-builds.patch
|
||||||
|
Patch100: use-fuse3-for-build.patch
|
||||||
|
|
||||||
BuildRequires: bison
|
BuildRequires: bison
|
||||||
BuildRequires: file-devel
|
BuildRequires: file-devel
|
||||||
@@ -61,7 +63,11 @@ BuildRequires: perl(Pod::Usage)
|
|||||||
BuildRequires: perl(Test::More)
|
BuildRequires: perl(Test::More)
|
||||||
BuildRequires: pkgconfig(augeas)
|
BuildRequires: pkgconfig(augeas)
|
||||||
BuildRequires: pkgconfig(bash-completion)
|
BuildRequires: pkgconfig(bash-completion)
|
||||||
|
%if 0%{?suse_version} >= 1600
|
||||||
|
BuildRequires: pkgconfig(fuse3)
|
||||||
|
%else
|
||||||
BuildRequires: pkgconfig(fuse)
|
BuildRequires: pkgconfig(fuse)
|
||||||
|
%endif
|
||||||
BuildRequires: pkgconfig(hivex)
|
BuildRequires: pkgconfig(hivex)
|
||||||
BuildRequires: pkgconfig(jansson)
|
BuildRequires: pkgconfig(jansson)
|
||||||
BuildRequires: pkgconfig(libacl)
|
BuildRequires: pkgconfig(libacl)
|
||||||
@@ -91,7 +97,11 @@ to: ext2/3/4, btrfs, FAT and NTFS, LVM, many different disk partition
|
|||||||
schemes, qcow, qcow2, vmdk.
|
schemes, qcow, qcow2, vmdk.
|
||||||
|
|
||||||
%prep
|
%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|RPMVSF_MASK_NOSIGNATURES|_RPMVSF_NOSIGNATURES|' daemon/rpm-c.c
|
||||||
sed -i 's/tar zcf/tar -zcf/' appliance/Makefile.am
|
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
|
popd
|
||||||
|
|
||||||
cat > %{buildroot}%{_libdir}/guestfs/supermin.d/zz-packages-winsupport << EOF
|
cat > %{buildroot}%{_libdir}/guestfs/supermin.d/zz-packages-winsupport << EOF
|
||||||
|
%if 0%{?suse_version} >= 1600
|
||||||
|
libfuse3
|
||||||
|
%else
|
||||||
libfuse2
|
libfuse2
|
||||||
|
%endif
|
||||||
hwinfo
|
hwinfo
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
@@ -318,7 +332,11 @@ BuildRequires: bzip2
|
|||||||
BuildRequires: coreutils
|
BuildRequires: coreutils
|
||||||
BuildRequires: cpio
|
BuildRequires: cpio
|
||||||
BuildRequires: cryptsetup
|
BuildRequires: cryptsetup
|
||||||
|
%if 0%{?suse_version} < 1600
|
||||||
BuildRequires: dhcp-client
|
BuildRequires: dhcp-client
|
||||||
|
%else
|
||||||
|
BuildRequires: dhcpcd
|
||||||
|
%endif
|
||||||
BuildRequires: diffutils
|
BuildRequires: diffutils
|
||||||
BuildRequires: dosfstools
|
BuildRequires: dosfstools
|
||||||
BuildRequires: e2fsprogs
|
BuildRequires: e2fsprogs
|
||||||
@@ -370,7 +388,11 @@ BuildRequires: xz
|
|||||||
# the appliance will fail to start the guestfsd.
|
# the appliance will fail to start the guestfsd.
|
||||||
Requires: augeas
|
Requires: augeas
|
||||||
Requires: augeas-lenses
|
Requires: augeas-lenses
|
||||||
|
%if 0%{?suse_version} < 1600
|
||||||
Requires: dhcp-client
|
Requires: dhcp-client
|
||||||
|
%else
|
||||||
|
Requires: dhcpcd
|
||||||
|
%endif
|
||||||
Requires: libaugeas0
|
Requires: libaugeas0
|
||||||
Requires: libcap2
|
Requires: libcap2
|
||||||
Requires: libguestfs0
|
Requires: libguestfs0
|
||||||
@@ -436,13 +458,12 @@ Requires: bash-completion >= 2.0
|
|||||||
Install this package if you want intelligent bash tab-completion
|
Install this package if you want intelligent bash tab-completion
|
||||||
for guestfish, guestmount and various virt-* tools.
|
for guestfish, guestmount and various virt-* tools.
|
||||||
|
|
||||||
|
%if 0%{?suse_version} >= 1699
|
||||||
%package inspect-icons
|
%package inspect-icons
|
||||||
Summary: Additional dependencies for inspecting guest icons
|
Summary: Additional dependencies for inspecting guest icons
|
||||||
BuildArch: noarch
|
BuildArch: noarch
|
||||||
Requires: %{name} = %{version}-%{release}
|
Requires: %{name} = %{version}-%{release}
|
||||||
%if 0%{?suse_version} > 1500
|
|
||||||
Requires: icoutils
|
Requires: icoutils
|
||||||
%endif
|
|
||||||
|
|
||||||
%description inspect-icons
|
%description inspect-icons
|
||||||
%{name}-inspect-icons is a metapackage that pulls in additional
|
%{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
|
The only reason this is a separate package is to avoid core libguestfs
|
||||||
having to depend on Perl.
|
having to depend on Perl.
|
||||||
|
%endif
|
||||||
|
|
||||||
%package -n ocaml-%{name}
|
%package -n ocaml-%{name}
|
||||||
Summary: OCaml bindings for %{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-in
|
||||||
%{_datadir}/bash-completion/completions/virt-tar-out
|
%{_datadir}/bash-completion/completions/virt-tar-out
|
||||||
|
|
||||||
|
%if 0%{?suse_version} >= 1699
|
||||||
%files inspect-icons
|
%files inspect-icons
|
||||||
# no files
|
# no files
|
||||||
|
%endif
|
||||||
|
|
||||||
%files -n ocaml-%{name} -f %name.files
|
%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