Compare commits

1 Commits
main ... 1.1

11 changed files with 76 additions and 599 deletions

View File

@@ -0,0 +1,20 @@
Subject: Initialise bar->fp as NULL
From: Ben Brown ben.brown@softiron.com Thu Mar 28 12:35:28 2024 +0000
Date: Thu Mar 28 12:53:52 2024 +0000:
Git: 0330ebe40cb645df311bab25888c5ca6cc179efe
Reviewed-by: Richard W.M. Jones <rjones@redhat.com>
Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=2272045
diff --git a/common/progress/progress.c b/common/progress/progress.c
index e4b3066..5848abd 100644
--- a/common/progress/progress.c
+++ b/common/progress/progress.c
@@ -123,6 +123,7 @@ progress_bar_init (unsigned flags)
bar->machine_readable = 1;
bar->utf8_mode = 0;
bar->have_terminfo = 0;
+ bar->fp = NULL;
} else {
bar->machine_readable = 0;

View File

@@ -0,0 +1,24 @@
Subject: generator/customize.ml: Split --chown parameter on ':' character
From: Richard W.M. Jones rjones@redhat.com Fri Jan 19 13:18:00 2024 +0000
Date: Fri Jan 19 13:24:37 2024 +0000:
Git: e9a728bb22dfa1de5328fbbe7d6d7acad2dbed64
The previous code split it on ',' which was completely wrong.
(It reveals the lack of testing however).
Fixes: commit c08032ebe2763f5e9ce5b14e003721475219d390
Reported-by: Yongkui Guo
diff --git a/generator/customize.ml b/generator/customize.ml
index e64b45c0d..e2c4b6051 100644
--- a/generator/customize.ml
+++ b/generator/customize.ml
@@ -775,7 +775,7 @@ let rec argspec () =
let len = String.length arg in
String.sub arg 0 i, String.sub arg (i+1) (len-(i+1))
and split_string_triplet option_name arg =
- match String.nsplit ~max:3 \",\" arg with
+ match String.nsplit ~max:3 \":\" arg with
| [a; b; c] -> a, b, c
| _ ->
error (f_\"invalid format for '--%%s' parameter, see the man page\")

BIN
libguestfs-1.52.0.tar.gz (Stored with Git LFS) Normal file

Binary file not shown.

View File

@@ -0,0 +1,17 @@
-----BEGIN PGP SIGNATURE-----
iQJFBAABCAAvFiEE93dPsa0HSn6Mh2fqkXOPc+G3aKAFAmWW64MRHHJpY2hAYW5u
ZXhpYS5vcmcACgkQkXOPc+G3aKDVHw//UIr27iA6WpJy0KyLOSmcdyrtYbnnySwP
GH7ho8tpggDjXjSYyuUSjeqhCluMSy6XGYxYmZKNx8gyvydCfX7oflr6Lldti6tk
9vARyrIg85knFH4VgxZfVpN7FUava3qbVSW5EH4T539+rKi7r8M6bgyPzeeOCd0w
8jzeLy0VPz9XMCBMQ0HRbtX6EjttblNSgD7NnjhqQt274UJW6bdrzXvTHw/uyr0p
+Qbzas8qaUye5E1L6jqlH+5fHoF0R481PDq6XS8CvGWGD+/7MMTuRUDYa69ia9Du
pbD5XjTWU1ELGiS/nah3HWcprKzpw7MJmqqOKCnQedxPyeNbJQ5XfRc0R6HRkxil
yHq8hU2eidWz+/zLvV69vL1jXoUddYdv0YpIFqTtyAAFYvzfc6GgcJ/wcAr8DdOl
/ULMxf+AH0Lm7Pygj6R/cdbd0OvmDCi3LoN2oyMVMvVAhsx0UMcGfPdHony7FUYS
u23k6fJ7B3ksL6TtWJyjSbzW7v3I7LcfI8SShprR728VppYjyryEkxB+4H/DsWe7
eTMqnOddoteuBAapUoXZnOdfbMLkZib+2Kel7DnezLCiAnWXXALRWUreyrasr0vT
r1bZwJKjJH1atbKO+6taKkcATVoieRUxJkBDDdSOlpE3zuLL8btMgU6KerWLl1Yu
YRiSNBCEfjM=
=4eIl
-----END PGP SIGNATURE-----

BIN
libguestfs-1.56.1.tar.gz (Stored with Git LFS)

Binary file not shown.

View File

@@ -1,17 +0,0 @@
-----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-----

View File

@@ -1,320 +1,3 @@
-------------------------------------------------------------------
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
- Update to version 1.55.8 (jsc#PED-8910)
* Various build improvements
* Updated translations for several languages
* lib/launch-libvirt.c: Remove fallback <emulator> for Arm
-------------------------------------------------------------------
Mon Mar 24 21:17:18 UTC 2025 - Andreas Stieger <andreas.stieger@gmx.de>
- libguestfs-appliance: drop incorrect requireson libpcre1,
package was converted to pcre2 by 1.44.2
-------------------------------------------------------------------
Wed Mar 12 13:37:32 MDT 2025 - carnold@suse.com
- Update to version 1.55.7 (jsc#PED-8910)
* libguestfs: Rust binding build error and warning fixes
* support TencentOS
* lib: Print kernel utsname in debug output
* daemon: Fix loongarch64 detection on RHEL 9
-------------------------------------------------------------------
Wed Feb 19 10:08:10 MST 2025 - carnold@suse.com
- Update to version 1.55.6 (jsc#PED-8910)
* appliance: add dhcpcd support on Debian
* appliance: add support for sfdisk on Debian
* mlcustomize, mltools: Replace $TEST_FUNCTIONS
* ruby: Make sure all object files are cleaned up
* daemon: New command_out and sh_out APIs
-------------------------------------------------------------------
Wed Feb 12 15:34:38 MST 2025 - carnold@suse.com
- Update to version 1.55.4 (jsc#PED-8910)
* appliance/init: Fix /usr/sbin symlinks in Fedora 42+
* Various translation updates
-------------------------------------------------------------------
Thu Jan 30 10:29:58 MST 2025 - carnold@suse.com
- Update to version 1.55.3 (jsc#PED-8910)
* build: Move baseline OCaml to 4.08
* Various translation updates
-------------------------------------------------------------------
Fri Jan 3 14:09:24 MST 2025 - carnold@suse.com
- Update to version 1.55.2 (jsc#PED-8910)
* lib/inspect-osinfo.c: Add Windows Server 2025 osinfo
* appliance: Use stable owner, group and mtime in appliance
tarballs
* mltools: Replace jansson with json-c
* lib/info.c: Replace jansson with json-c
* lib/qemu.c: Replace jansson with json-c
* lib: direct: Remove test for qemu mandatory locking
* Various language translations
* Fix dhcpcd failing on systemd-resolved stub
* mlcustomize: Add heuristic support for Windows Server 2025
* mlcustomize/customize_run.ml: Move 'in' to new line
* mlstdutils/guestfs_config: Define host_os
* mlcustomize, mltools: Check guest OS is compatible before
allowing --run
* generator: Remove common/mlv2v/uefi.ml{,i} files
* qemuopts: Add ability to add raw, unquoted output to qemu
scripts
* qemuopts: Fix missing break statement
* mlstdutils: Remove Option module
* Remove test for caml_alloc_initialized_string
* build: Move baseline OCaml to 4.08
-------------------------------------------------------------------
Thu Oct 10 07:06:04 MDT 2024 - carnold@suse.com
- Update to version 1.54.0 (jsc#PED-8910)
* Add detection of Circle Linux (Bella Zhang).
* Add support for LoongArch (liuxiang).
* Add detection of Kylin (grass-lu).
* Add detection of openEuler (Wang Guoquan).
* PARTUUID and PARTLABEL are now resolved in guest /etc/fstab.
* New APIs findfs_partuuid and findfs_partlabel. These can be
used to efficiently look up a filesystem by its GPT partition
UUID or label.
* Support for the following inactive or infrequently used device
types has been removed: Gluster, Sheepdog, TFTP.
* Add GOST R34.11-94 message digest algorithm to checksum APIs
(Alexey Shabalin).
* Allow nbd+unix:// URIs (NBD over Unix domain socket) in
guestfish and other places.
* Various part_* (partition) APIs related to GPT have been
reimplemented to use util-linux sfdisk instead of sgdisk.
Util-linux is more widely available, so this reduces
dependencies in the common case. One optional API remains that
still uses sgdisk. (Thanks Yongkui Guo).
* Add cipher suboption to cryptsetup_open (Jonatan Pålsson).
* Because of a bug, the part_get_gpt_attributes API could
truncate the return value from 64 to 32 bits. This has been
fixed.
* Libguestfs will now no longer recommend using
LIBGUESTFS_BACKEND=direct. This was shown previously when
libvirt failed to start the appliance. However it is felt that
this now does more harm than good.
* Fix generation of virt-customize --chown parameter (Yongkui Guo)
* In the appliance, reduce boot time when dhcp isn't needed
(Olaf Hering).
* A deadlock in the appliance caused by a regression in Linux
6.11 has been worked around. The deadlock was also fixed in
Linux 6.12.
- Bug fixes
* Fix rare hangs while starting the appliance, at 'echo noop'
into /sys/block/{h,s,ub,v}d*/queue/scheduler
* Drop dependency from libguestfs -> gdisk
* libguestfs inspection does not know about /etc/fstab
PARTLABEL=<label>
* btrfs related c_api/tests are failing (unable to create quota
group: Invalid argument)
* Python how-to incorrect exception name
* Rust test 410_close_event fails
-------------------------------------------------------------------
Thu Aug 29 15:06:57 MDT 2024 - carnold@suse.com
- Update to version 1.53.6 (jsc#PED-8910)
* Various MacOS fixes and enhancements
* ocaml: INSTALL_OCAMLLIB Makefile parameter
* appliance/init: Don't set impossible "noop" disk scheduler
* Pull in some fixes from the common submodule.
mlcustomize: Add Inject_virtio_win.inject_blnsvr implementation
mlcustomize: firstboot: Use Linux path for Powershell script path
mlcustomize: firstboot: Use powershell.exe instead of path
mlcustomize: firstboot: Use Powershell -NoProfile flag
mlcustomize: Revert delay installation of qemu-ga MSI
mldrivers/linux_kernels.ml: Prefix general information with ^info:
mlcustomize: Use Start-Process -Wait to run qemu-ga installer
mlcustomize: Add Firstboot.firstboot_dir function
mlcustomize: Place powershell scripts into <firstboot_dir>\Temp
mlcustomize: Inject qemu-ga & blnsvr into <firstboot_dir>/Temp
mlcustomize: Write qemu-ga log file name to log.txt
mlcustomize: Add some comments to firstboot batch file
mlcustomize: Reboot Windows between each firstboot script
-------------------------------------------------------------------
Tue Jul 16 13:15:45 MDT 2024 - carnold@suse.com
- Update to version 1.53.5 (jsc#PED-6305)
* generator/customize.ml: Split --chown parameter on ':' character
* daemon: Add gost checksum command support
* Add detection support for Circle Linux
* Add support for LoongArch.
* daemon: Fix file architecture translation for LoongArch
* options: Allow nbd+unix:// URIs
* daemon/parted: Assume sfdisk --part-type exists
* daemon: Reimplement partition GPT functions using sfdisk
* appliance: only wait for resolv.conf update if dhcpcd succeeded
* generator/customize.ml: Add virt-customize --inject-blnsvr operation
* lib: libvirt: Stop recommending LIBGUESTFS_BACKEND=direct
* daemon: cryptsetup_open: Add --cipher
* rust: Handle null pointer when creating slice
* Remove gluster support
* Remove sheepdog support
* Remove tftp drive support
* generator/daemon: Don't truncate 64 bit results from OCaml functions
* daemon: Fix parsing in part_get_gpt_attributes
* New APIs: findfs_partuuid and findfs_partlabel
* inspection: Resolve PARTUUID= and PARTLABEL= in /etc/fstab
* generator/actions_core.ml: Fix version field for new APIs
* Kylin is centos derivative
-------------------------------------------------------------------
Thu May 16 13:02:34 MDT 2024 - carnold@suse.com
- Update to version 1.52.1 bug fix release (jsc#PED-6305)
* There are no upstream release notes for verion 1.52.x
* Several python fixes
* Rework Std_utils.Option so it works like the OCaml stdlib module
* Update common submodule to latest
- Drop patches contained in new tarball
Split-chown-parameter-on-character.patch
Initialise-bar-fp-as-NULL.patch
-------------------------------------------------------------------
Wed May 8 12:42:02 MDT 2024 - carnold@suse.com

View File

@@ -1,7 +1,7 @@
#
# spec file for package libguestfs
#
# Copyright (c) 2025 SUSE LLC
# Copyright (c) 2024 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -18,7 +18,7 @@
Name: libguestfs
ExclusiveArch: x86_64 ppc64 ppc64le s390x aarch64 riscv64
Version: 1.56.1
Version: 1.52.0
Release: 0
Summary: Access and modify virtual machine disk images
License: GPL-2.0-or-later
@@ -33,8 +33,8 @@ Source101: README
# Patches
Patch1: use-rtc-driftfix-slew-for-x86-only.patch
Patch2: reproducible-builds.patch
Patch100: use-fuse3-for-build.patch
Patch2: Split-chown-parameter-on-character.patch
Patch3: Initialise-bar-fp-as-NULL.patch
BuildRequires: bison
BuildRequires: file-devel
@@ -43,7 +43,6 @@ BuildRequires: gawk
BuildRequires: gcc-c++
BuildRequires: gobject-introspection-devel
BuildRequires: gperf
BuildRequires: libjson-c-devel
BuildRequires: libtool
BuildRequires: ocaml-augeas-devel
BuildRequires: ocaml-hivex-devel
@@ -52,7 +51,7 @@ BuildRequires: po4a
BuildRequires: readline-devel
BuildRequires: supermin >= 5.1.18
BuildRequires: zstd
BuildRequires: ocaml(ocaml_base_version) >= 4.08
BuildRequires: ocaml(ocaml_base_version) >= 4.07
BuildRequires: ocamlfind(findlib)
BuildRequires: perl(Getopt::Long)
BuildRequires: perl(Locale::TextDomain)
@@ -63,11 +62,7 @@ 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)
@@ -97,11 +92,7 @@ to: ext2/3/4, btrfs, FAT and NTFS, LVM, many different disk partition
schemes, qcow, qcow2, vmdk.
%prep
%autosetup -N
%autopatch -p1 -M 99
%if 0%{?suse_version} >= 1600
%autopatch -p1 -m 100
%endif
%autosetup -p1
sed -i 's|RPMVSF_MASK_NOSIGNATURES|_RPMVSF_NOSIGNATURES|' daemon/rpm-c.c
sed -i 's/tar zcf/tar -zcf/' appliance/Makefile.am
@@ -286,11 +277,7 @@ 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
@@ -332,11 +319,7 @@ 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
@@ -363,9 +346,7 @@ BuildRequires: parted
BuildRequires: psmisc
BuildRequires: sg3_utils
BuildRequires: strace
%if 0%{?suse_version} < 1600
BuildRequires: sysconfig-netconfig
%endif
%ifarch %ix86 x86_64
BuildRequires: syslinux
%endif
@@ -388,16 +369,12 @@ 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
Requires: libhivex0
Requires: libpcre2-8-0
Requires: libpcre1
# For core disk features
Requires: qemu-tools
@@ -458,12 +435,13 @@ 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
@@ -473,7 +451,6 @@ 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}
@@ -673,10 +650,8 @@ 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

View File

@@ -1,16 +0,0 @@
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:

View File

@@ -1,209 +0,0 @@
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);

View File

@@ -1,6 +1,6 @@
--- a/lib/launch-direct.c
+++ b/lib/launch-direct.c
@@ -645,7 +645,10 @@ launch_direct (guestfs_h *g, void *datav
--- libguestfs-1.52.0/lib/launch-direct.c.orig 2024-02-05 14:17:10.208970293 -0700
+++ libguestfs-1.52.0/lib/launch-direct.c 2024-02-05 14:21:37.548976664 -0700
@@ -650,7 +650,10 @@ launch_direct (guestfs_h *g, void *datav
flag ("-no-reboot");
/* These are recommended settings, see RHBZ#1053847. */