libvirt-6.7.0-1

Update to version 6.7.0
This commit is contained in:
Cole Robinson 2020-09-01 10:36:57 -04:00
parent 15c305caf3
commit b0c05ac2ae
6 changed files with 99 additions and 327 deletions

View File

@ -1,37 +0,0 @@
From 2edd63a0dbd445112db23596ee0128521e8f1ff5 Mon Sep 17 00:00:00 2001
From: Jiri Denemark <jdenemar@redhat.com>
Date: Wed, 5 Aug 2020 10:01:45 +0200
Subject: [libvirt PATCH] util: Fix logic in virFileSetCOW
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
When COW is not explicitly requested to be disabled or enabled, the
function is supposed to do nothing on non-BTRFS file systems.
Fixes commit 7230bc95aa78379c9ee20cf59394c5fc4305b75b.
https://bugzilla.redhat.com/show_bug.cgi?id=1866157
Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
---
src/util/virfile.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/util/virfile.c b/src/util/virfile.c
index 6ada3a708c..7f22884b07 100644
--- a/src/util/virfile.c
+++ b/src/util/virfile.c
@@ -4522,7 +4522,7 @@ virFileSetCOW(const char *path,
}
if (buf.f_type != BTRFS_SUPER_MAGIC) {
- if (state == VIR_TRISTATE_BOOL_ABSENT) {
+ if (state != VIR_TRISTATE_BOOL_ABSENT) {
virReportSystemError(ENOSYS,
_("unable to control COW flag on '%s', not btrfs"),
path);
--
2.26.2

View File

@ -1,40 +0,0 @@
From d96d359a032cda609f9adf3caafdf8425d8aa4ac Mon Sep 17 00:00:00 2001
From: Boris Fiuczynski <fiuczy@linux.ibm.com>
Date: Thu, 13 Aug 2020 16:03:44 +0200
Subject: [PATCH] qemu: avoid maybe-uninitialized warning by GCC 10
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
GCC 10 complains about "well_formed_uri" may be used uninitialzed.
Even though it is a false positive, we can easily avoid it.
Avoiding
../src/qemu/qemu_migration.c: In function qemuMigrationDstPrepareDirect:
../src/qemu/qemu_migration.c:2920:16: error: well_formed_uri may be used uninitialized in this function [-Werror=maybe-uninitialized]
2920 | if (well_formed_uri) {
| ^
Signed-off-by: Boris Fiuczynski <fiuczy@linux.ibm.com>
Reviewed-by: Marc Hartmayer <mhartmay@linux.ibm.com>
Reviewed-by: Erik Skultety <eskultet@redhat.com>
---
src/qemu/qemu_migration.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/qemu/qemu_migration.c b/src/qemu/qemu_migration.c
index 0f2f92b211..142faa2cf9 100644
--- a/src/qemu/qemu_migration.c
+++ b/src/qemu/qemu_migration.c
@@ -2886,7 +2886,7 @@ qemuMigrationDstPrepareDirect(virQEMUDriverPtr driver,
*uri_out = g_strdup_printf(incFormat, "tcp", hostname, port);
} else {
- bool well_formed_uri;
+ bool well_formed_uri = false;
if (!(uri = qemuMigrationAnyParseURI(uri_in, &well_formed_uri)))
goto cleanup;
--
GitLab

View File

@ -1,78 +0,0 @@
From ae8a83c35378d8d3eac2e41b3a10cac0e587ce54 Mon Sep 17 00:00:00 2001
From: Boris Fiuczynski <fiuczy@linux.ibm.com>
Date: Thu, 13 Aug 2020 16:03:46 +0200
Subject: [PATCH] storage: avoid maybe-uninitialized warning by GCC 10
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
GCC 10 complains about variables may be used uninitialized.
Even though it might be false positives, we can easily avoid them.
Avoiding
../src/storage/storage_backend_iscsi_direct.c:634:11: error: nb_block may be used uninitialized in this function [-Werror=maybe-uninitialized]
634 | while (lba < nb_block) {
| ^
../src/storage/storage_backend_iscsi_direct.c:619:14: note: nb_block was declared here
619 | uint64_t nb_block;
| ^~~~~~~~
../src/storage/storage_backend_iscsi_direct.c:637:16: error: block_size may be used uninitialized in this function [-Werror=maybe-uninitialized]
637 | task = iscsi_write16_sync(iscsi, lun, lba, data,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
638 | block_size * to_write,
| ~~~~~~~~~~~~~~~~~~~~~~
639 | block_size, 0, 0, 0, 0, 0);
| ~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/storage/storage_backend_iscsi_direct.c:618:14: note: block_size was declared here
618 | uint32_t block_size;
| ^~~~~~~~~~
../src/storage/storage_backend_iscsi_direct.c: In function virStorageBackendISCSIDirectRefreshPool:
../src/storage/storage_backend_iscsi_direct.c:320:39: error: nb_block may be used uninitialized in this function [-Werror=maybe-uninitialized]
320 | vol->target.capacity = block_size * nb_block;
| ~~~~~~~~~~~^~~~~~~~~~
../src/storage/storage_backend_iscsi_direct.c:306:14: note: nb_block was declared here
306 | uint64_t nb_block;
| ^~~~~~~~
../src/storage/storage_backend_iscsi_direct.c:320:39: error: block_size may be used uninitialized in this function [-Werror=maybe-uninitialized]
320 | vol->target.capacity = block_size * nb_block;
| ~~~~~~~~~~~^~~~~~~~~~
../src/storage/storage_backend_iscsi_direct.c:305:14: note: block_size was declared here
305 | uint32_t block_size;
| ^~~~~~~~~~
Signed-off-by: Boris Fiuczynski <fiuczy@linux.ibm.com>
Reviewed-by: Marc Hartmayer <mhartmay@linux.ibm.com>
Reviewed-by: Erik Skultety <eskultet@redhat.com>
---
src/storage/storage_backend_iscsi_direct.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/src/storage/storage_backend_iscsi_direct.c b/src/storage/storage_backend_iscsi_direct.c
index c37c671db6..027fa83de7 100644
--- a/src/storage/storage_backend_iscsi_direct.c
+++ b/src/storage/storage_backend_iscsi_direct.c
@@ -302,8 +302,8 @@ virISCSIDirectRefreshVol(virStoragePoolObjPtr pool,
char *portal)
{
virStoragePoolDefPtr def = virStoragePoolObjGetDef(pool);
- uint32_t block_size;
- uint64_t nb_block;
+ uint32_t block_size = 0;
+ uint64_t nb_block = 0;
g_autoptr(virStorageVolDef) vol = NULL;
if (virISCSIDirectTestUnitReady(iscsi, lun) < 0)
@@ -615,8 +615,8 @@ virStorageBackendISCSIDirectVolWipeZero(virStorageVolDefPtr vol,
struct iscsi_context *iscsi)
{
uint64_t lba = 0;
- uint32_t block_size;
- uint64_t nb_block;
+ uint32_t block_size = 0;
+ uint64_t nb_block = 0;
struct scsi_task *task = NULL;
int lun = 0;
int ret = -1;
--
GitLab

View File

@ -1,40 +0,0 @@
From e2bd2af6e4f9323cf732563b430ef02e075fc804 Mon Sep 17 00:00:00 2001
From: Boris Fiuczynski <fiuczy@linux.ibm.com>
Date: Thu, 13 Aug 2020 16:03:45 +0200
Subject: [PATCH] tools: avoid potential null pointer dereference by GCC 10
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
GCC 10 complains about "arg" possibly being a NULL dereference.
Even though it might be a false positive, we can easily avoid it.
Avoiding
../tools/vsh.c: In function vshCommandOptStringReq:
../tools/vsh.c:1034:19: error: potential null pointer dereference [-Werror=null-dereference]
1034 | else if (!*arg->data && !(arg->def->flags & VSH_OFLAG_EMPTY_OK))
| ~~~^~~~~~
Signed-off-by: Boris Fiuczynski <fiuczy@linux.ibm.com>
Reviewed-by: Marc Hartmayer <mhartmay@linux.ibm.com>
Reviewed-by: Erik Skultety <eskultet@redhat.com>
---
tools/vsh.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tools/vsh.c b/tools/vsh.c
index 5e2e3ac219..11f493f969 100644
--- a/tools/vsh.c
+++ b/tools/vsh.c
@@ -1031,7 +1031,7 @@ vshCommandOptStringReq(vshControl *ctl,
/* this should not be propagated here, just to be sure */
if (ret == -1)
error = N_("Mandatory option not present");
- else if (!*arg->data && !(arg->def->flags & VSH_OFLAG_EMPTY_OK))
+ else if (arg && !*arg->data && !(arg->def->flags & VSH_OFLAG_EMPTY_OK))
error = N_("Option argument is empty");
if (error) {
--
GitLab

View File

@ -12,11 +12,6 @@
%define supported_platform 0
%endif
# Default to skipping autoreconf. Distros can change just this one line
# (or provide a command-line override) if they backport any patches that
# touch configure.ac or Makefile.am.
%{!?enable_autotools:%global enable_autotools 0}
# The hypervisor drivers that run in libvirtd
%define with_qemu 0%{!?_without_qemu:1}
%define with_lxc 0%{!?_without_lxc:1}
@ -122,7 +117,7 @@
%define with_storage_zfs 0
%endif
# Ceph does not support 32-bit hosts
# Ceph dropped support for 32-bit hosts
%ifarch %{arm} %{ix86}
%define with_storage_rbd 0
%endif
@ -201,9 +196,9 @@
# compiler warning into errors without being worried about frequent
# changes in reported warnings
%if 0%{?rhel}
%define enable_werror --enable-werror
%define enable_werror -Dwerror=true
%else
%define enable_werror --disable-werror
%define enable_werror -Dwerror=false
%endif
%if 0%{?rhel} == 7
@ -215,8 +210,8 @@
Summary: Library providing a simple virtualization API
Name: libvirt
Version: 6.6.0
Release: 3%{?dist}
Version: 6.7.0
Release: 1%{?dist}
License: LGPLv2+
URL: https://libvirt.org/
@ -224,14 +219,6 @@ URL: https://libvirt.org/
%define mainturl stable_updates/
%endif
Source: https://libvirt.org/sources/%{?mainturl}libvirt-%{version}.tar.xz
Patch1: 0001-util-Fix-logic-in-virFileSetCOW.patch
# Upstream patches to fix GCC 10 warnings
# https://gitlab.com/libvirt/libvirt/-/commit/d96d359a032cda609f9adf3caafdf8425d8aa4ac
Patch2: libvirt-6.6.0-qemu-avoid-maybe-uninitialized-warning-by-GCC-10.patch
# https://gitlab.com/libvirt/libvirt/-/commit/e2bd2af6e4f9323cf732563b430ef02e075fc804
Patch3: libvirt-6.6.0-tools-avoid-potential-null-pointer-dereference-by-GCC-10.patch
# https://gitlab.com/libvirt/libvirt/-/commit/ae8a83c35378d8d3eac2e41b3a10cac0e587ce54
Patch4: libvirt-6.6.0-storage-avoid-maybe-uninitialized-warning-by-GCC-10.patch
Requires: libvirt-daemon = %{version}-%{release}
Requires: libvirt-daemon-config-network = %{version}-%{release}
@ -263,18 +250,15 @@ Requires: libvirt-libs = %{version}-%{release}
# All build-time requirements. Run-time requirements are
# listed against each sub-RPM
%if 0%{?enable_autotools}
BuildRequires: autoconf
BuildRequires: automake
BuildRequires: gettext-devel
BuildRequires: libtool
%endif
%if 0%{?rhel} == 7
BuildRequires: python36-docutils
%else
BuildRequires: python3-docutils
%endif
BuildRequires: gcc
BuildRequires: meson >= 0.54.0
BuildRequires: ninja-build
BuildRequires: make
BuildRequires: git
%if 0%{?fedora} || 0%{?rhel} > 7
@ -1006,230 +990,215 @@ Libvirt plugin for NSS for translating domain names into IP addresses.
%autosetup -S git_am
%build
# Disable LTO since it caused test failures by breaking LD_PRELOAD usage.
# Upstream libvirt changed to meson and appears to succeed with LTO, so
# remove this when rebasing to libvirt 6.7.0 or newer
%define _lto_cflags %{nil}
%if ! %{supported_platform}
echo "This RPM requires either Fedora >= %{min_fedora} or RHEL >= %{min_rhel}"
exit 1
%endif
%if %{with_qemu}
%define arg_qemu --with-qemu
%define arg_qemu -Ddriver_qemu=enabled
%else
%define arg_qemu --without-qemu
%define arg_qemu -Ddriver_qemu=disabled
%endif
%if %{with_openvz}
%define arg_openvz --with-openvz
%define arg_openvz -Ddriver_openvz=enabled
%else
%define arg_openvz --without-openvz
%define arg_openvz -Ddriver_openvz=disabled
%endif
%if %{with_lxc}
%define arg_lxc --with-lxc
%define arg_login_shell --with-login-shell
%define arg_lxc -Ddriver_lxc=enabled
%define arg_login_shell -Dlogin_shell=enabled
%else
%define arg_lxc --without-lxc
%define arg_login_shell --without-login-shell
%define arg_lxc -Ddriver_lxc=disabled
%define arg_login_shell -Dlogin_shell=disabled
%endif
%if %{with_vbox}
%define arg_vbox --with-vbox
%define arg_vbox -Ddriver_vbox=enabled
%else
%define arg_vbox --without-vbox
%define arg_vbox -Ddriver_vbox=disabled
%endif
%if %{with_libxl}
%define arg_libxl --with-libxl
%define arg_libxl -Ddriver_libxl=enabled
%else
%define arg_libxl --without-libxl
%define arg_libxl -Ddriver_libxl=disabled
%endif
%if %{with_esx}
%define arg_esx --with-esx
%define arg_esx -Ddriver_esx=enabled
%else
%define arg_esx --without-esx
%define arg_esx -Ddriver_esx=disabled
%endif
%if %{with_hyperv}
%define arg_hyperv --with-hyperv
%define arg_hyperv -Ddriver_hyperv=enabled
%else
%define arg_hyperv --without-hyperv
%define arg_hyperv -Ddriver_hyperv=disabled
%endif
%if %{with_vmware}
%define arg_vmware --with-vmware
%define arg_vmware -Ddriver_vmware=enabled
%else
%define arg_vmware --without-vmware
%define arg_vmware -Ddriver_vmware=disabled
%endif
%if %{with_storage_rbd}
%define arg_storage_rbd --with-storage-rbd
%define arg_storage_rbd -Dstorage_rbd=enabled
%else
%define arg_storage_rbd --without-storage-rbd
%define arg_storage_rbd -Dstorage_rbd=disabled
%endif
%if %{with_storage_sheepdog}
%define arg_storage_sheepdog --with-storage-sheepdog
%define arg_storage_sheepdog -Dstorage_sheepdog=enabled
%else
%define arg_storage_sheepdog --without-storage-sheepdog
%define arg_storage_sheepdog -Dstorage_sheepdog=disabled
%endif
%if %{with_storage_gluster}
%define arg_storage_gluster --with-storage-gluster
%define arg_storage_gluster -Dstorage_gluster=enabled
%else
%define arg_storage_gluster --without-storage-gluster
%define arg_storage_gluster -Dstorage_gluster=disabled
%endif
%if %{with_storage_zfs}
%define arg_storage_zfs --with-storage-zfs
%define arg_storage_zfs -Dstorage_zfs=enabled
%else
%define arg_storage_zfs --without-storage-zfs
%define arg_storage_zfs -Dstorage_zfs=disabled
%endif
%if %{with_numactl}
%define arg_numactl --with-numactl
%define arg_numactl -Dnumactl=enabled
%else
%define arg_numactl --without-numactl
%define arg_numactl -Dnumactl=disabled
%endif
%if %{with_numad}
%define arg_numad --with-numad
%define arg_numad -Dnumad=enabled
%else
%define arg_numad --without-numad
%define arg_numad -Dnumad=disabled
%endif
%if %{with_fuse}
%define arg_fuse --with-fuse
%define arg_fuse -Dfuse=enabled
%else
%define arg_fuse --without-fuse
%define arg_fuse -Dfuse=disabled
%endif
%if %{with_sanlock}
%define arg_sanlock --with-sanlock
%define arg_sanlock -Dsanlock=enabled
%else
%define arg_sanlock --without-sanlock
%define arg_sanlock -Dsanlock=disabled
%endif
%if %{with_firewalld}
%define arg_firewalld --with-firewalld
%define arg_firewalld -Dfirewalld=enabled
%else
%define arg_firewalld --without-firewalld
%define arg_firewalld -Dfirewalld=disabled
%endif
%if %{with_firewalld_zone}
%define arg_firewalld_zone --with-firewalld-zone
%define arg_firewalld_zone -Dfirewalld_zone=enabled
%else
%define arg_firewalld_zone --without-firewalld-zone
%define arg_firewalld_zone -Dfirewalld_zone=disabled
%endif
%if %{with_wireshark}
%define arg_wireshark --with-wireshark-dissector
%define arg_wireshark -Dwireshark_dissector=enabled
%else
%define arg_wireshark --without-wireshark-dissector
%define arg_wireshark -Dwireshark_dissector=disabled
%endif
%if %{with_storage_iscsi_direct}
%define arg_storage_iscsi_direct --with-storage-iscsi-direct
%define arg_storage_iscsi_direct -Dstorage_iscsi_direct=enabled
%else
%define arg_storage_iscsi_direct --without-storage-iscsi-direct
%define arg_storage_iscsi_direct -Dstorage_iscsi_direct=disabled
%endif
%define when %(date +"%%F-%%T")
%define where %(hostname)
%define who %{?packager}%{!?packager:Unknown}
%define arg_packager --with-packager="%{who}, %{when}, %{where}"
%define arg_packager_version --with-packager-version="%{release}"
%define arg_packager -Dpackager="%{who}, %{when}, %{where}"
%define arg_packager_version -Dpackager_version="%{release}"
%define arg_selinux_mount --with-selinux-mount="/sys/fs/selinux"
%define arg_selinux_mount -Dselinux_mount="/sys/fs/selinux"
# place macros above and build commands below this comment
export SOURCE_DATE_EPOCH=$(stat --printf='%Y' %{_specdir}/%{name}.spec)
%if 0%{?enable_autotools}
autoreconf -if
%endif
rm -f po/stamp-po
%define _configure ../configure
mkdir %{_vpath_builddir}
cd %{_vpath_builddir}
%configure --enable-dependency-tracking \
--with-runstatedir=%{_rundir} \
%meson \
-Drunstatedir=%{_rundir} \
%{?arg_qemu} \
%{?arg_openvz} \
%{?arg_lxc} \
%{?arg_vbox} \
%{?arg_libxl} \
--with-sasl \
--with-polkit \
--with-libvirtd \
-Dsasl=enabled \
-Dpolkit=enabled \
-Ddriver_libvirtd=enabled \
%{?arg_esx} \
%{?arg_hyperv} \
%{?arg_vmware} \
--without-vz \
--without-bhyve \
--with-remote-default-mode=legacy \
--with-interface \
--with-network \
--with-storage-fs \
--with-storage-lvm \
--with-storage-iscsi \
-Ddriver_vz=disabled \
-Ddriver_bhyve=disabled \
-Dremote_default_mode=legacy \
-Ddriver_interface=enabled \
-Ddriver_network=enabled \
-Dstorage_fs=enabled \
-Dstorage_lvm=enabled \
-Dstorage_iscsi=enabled \
%{?arg_storage_iscsi_direct} \
--with-storage-scsi \
--with-storage-disk \
--with-storage-mpath \
-Dstorage_scsi=enabled \
-Dstorage_disk=enabled \
-Dstorage_mpath=enabled \
%{?arg_storage_rbd} \
%{?arg_storage_sheepdog} \
%{?arg_storage_gluster} \
%{?arg_storage_zfs} \
--without-storage-vstorage \
-Dstorage_vstorage=disabled \
%{?arg_numactl} \
%{?arg_numad} \
--with-capng \
-Dcapng=enabled \
%{?arg_fuse} \
--with-netcf \
--with-selinux \
-Dnetcf=enabled \
-Dselinux=enabled \
%{?arg_selinux_mount} \
--without-apparmor \
--without-hal \
--with-udev \
--with-yajl \
-Dapparmor=disabled \
-Dsecdriver_apparmor=disabled \
-Dhal=disabled \
-Dudev=enabled \
-Dyajl=enabled \
%{?arg_sanlock} \
--with-libpcap \
--with-macvtap \
--with-audit \
--with-dtrace \
--with-driver-modules \
-Dlibpcap=enabled \
-Dmacvtap=enabled \
-Daudit=enabled \
-Ddtrace=enabled \
%{?arg_firewalld} \
%{?arg_firewalld_zone} \
%{?arg_wireshark} \
--without-pm-utils \
--with-nss-plugin \
-Dpm_utils=disabled \
-Dnss=enabled \
%{arg_packager} \
%{arg_packager_version} \
--with-qemu-user=%{qemu_user} \
--with-qemu-group=%{qemu_group} \
--with-tls-priority=%{tls_priority} \
-Dqemu_user=%{qemu_user} \
-Dqemu_group=%{qemu_group} \
-Dtls_priority=%{tls_priority} \
%{?enable_werror} \
--enable-expensive-tests \
--with-init-script=systemd \
-Dexpensive_tests=enabled \
-Dinit_script=systemd \
%{?arg_login_shell}
make %{?_smp_mflags} V=1
%meson_build
%install
rm -fr %{buildroot}
export SOURCE_DATE_EPOCH=$(stat --printf='%Y' %{_specdir}/%{name}.spec)
cd %{_vpath_builddir}
%make_install %{?_smp_mflags} SYSTEMD_UNIT_DIR=%{_unitdir} V=1
%meson_install
rm -f $RPM_BUILD_ROOT%{_libdir}/*.la
rm -f $RPM_BUILD_ROOT%{_libdir}/*.a
@ -1310,12 +1279,7 @@ mv $RPM_BUILD_ROOT%{_datadir}/systemtap/tapset/libvirt_qemu_probes.stp \
%endif
%check
cd %{_vpath_builddir}
if ! make %{?_smp_mflags} check VIR_TEST_DEBUG=1
then
cat tests/test-suite.log || true
exit 1
fi
VIR_TEST_DEBUG=1 %meson_test --no-suite syntax-check
%post libs
%if 0%{?rhel} == 7
@ -1521,8 +1485,8 @@ exit 0
%files
%files docs
%doc AUTHORS ChangeLog NEWS.rst README README.rst
%doc %{_vpath_builddir}/libvirt-docs/*
%doc AUTHORS NEWS.rst README.rst
%doc libvirt-docs/*
%files daemon
@ -1895,7 +1859,7 @@ exit 0
%config(noreplace) %{_sysconfdir}/sysconfig/libvirt-guests
%attr(0755, root, root) %{_libexecdir}/libvirt-guests.sh
%files libs -f %{_vpath_builddir}/%{name}.lang
%files libs -f %{name}.lang
%license COPYING COPYING.LESSER
%config(noreplace) %{_sysconfdir}/libvirt/libvirt.conf
%config(noreplace) %{_sysconfdir}/libvirt/libvirt-admin.conf
@ -2000,6 +1964,9 @@ exit 0
%changelog
* Tue Sep 01 2020 Cole Robinson <crobinso@redhat.com> - 6.7.0-1
- Update to version 6.7.0
* Fri Aug 21 2020 Merlin Mathesius <mmathesi@redhat.com> - 6.6.0-3
- Fix so no platforms depend upon ceph for 32-bit architectures
- Include upstream patches to fix GCC 10 warnings

View File

@ -1 +1 @@
SHA512 (libvirt-6.6.0.tar.xz) = 55091addcf43d3c0bdd50f9378b588351181d191272d5a19220a0babe0893c1f6e0f1e41a7f51b8c1fb8e2098236b273e1a18b81573f4008ee3cf65374ba9465
SHA512 (libvirt-6.7.0.tar.xz) = cabfb6aa65a3a1412b0111654ad3a7d0a6dfc63399a892c540ca39ab4e56f87626a067037e4480bb55418a371d2b5e9ac74862c92a3cdea69822ec3d158d769f