Accepting request 1068569 from home:jfehlig:branches:Virtualization

- Update to libvirt 9.1.0
  - Many incremental improvements and bug fixes, see
    https://libvirt.org/news.html#v9-1-0-2023-03-01
  - spec: Remove obsolete Groups tag
  - spec: Integrate upstream spec file changes that split the
    libvirt-daemon package, allowing more modular, customized
    installations
  - spec: New subpackages libvirt-daemon-common, libvirt-daemon-lock,
    libvirt-daemon-log, libvirt-daemon-proxy, and
    libvirt-daemon-plugin-lockd
  - spec: Renamed subpackage libvirt-lock-sanlock to
    libvirt-daemon-plugin-sanlock
  - Dropped patches:
    ef482951-apparmor-Allow-umount-dev.patch,
    d6a8b9ee-qemu-Fix-managed-no-when-creating-ethdev.patch,
    c3f16cea-qemu-cleanup-label-on-umount-failure.patch,
    697c16e3-qemu_process-better-debug-message.patch,
    5155ab4b-qemu_namespace-nested-mounts-when-umount.patch

OBS-URL: https://build.opensuse.org/request/show/1068569
OBS-URL: https://build.opensuse.org/package/show/Virtualization/libvirt?expand=0&rev=968
This commit is contained in:
James Fehlig 2023-03-02 00:49:27 +00:00 committed by Git OBS Bridge
parent 99745c22a8
commit 4e3b0799c4
31 changed files with 466 additions and 573 deletions

View File

@ -12,10 +12,10 @@ Signed-off-by: Jim Fehlig <jfehlig@suse.com>
src/libxl/libxl_driver.c | 90 +++++++++++++++++++++++++++++++++++
2 files changed, 105 insertions(+)
Index: libvirt-9.0.0/src/libxl/libxl_api_wrapper.h
Index: libvirt-9.1.0/src/libxl/libxl_api_wrapper.h
===================================================================
--- libvirt-9.0.0.orig/src/libxl/libxl_api_wrapper.h
+++ libvirt-9.0.0/src/libxl/libxl_api_wrapper.h
--- libvirt-9.1.0.orig/src/libxl/libxl_api_wrapper.h
+++ libvirt-9.1.0/src/libxl/libxl_api_wrapper.h
@@ -215,3 +215,18 @@ libxlSetMemoryTargetWrapper(libxl_ctx *c
return ret;
@ -35,11 +35,11 @@ Index: libvirt-9.0.0/src/libxl/libxl_api_wrapper.h
+
+ return ret;
+}
Index: libvirt-9.0.0/src/libxl/libxl_driver.c
Index: libvirt-9.1.0/src/libxl/libxl_driver.c
===================================================================
--- libvirt-9.0.0.orig/src/libxl/libxl_driver.c
+++ libvirt-9.0.0/src/libxl/libxl_driver.c
@@ -5257,6 +5257,95 @@ libxlDomainMemoryStats(virDomainPtr dom,
--- libvirt-9.1.0.orig/src/libxl/libxl_driver.c
+++ libvirt-9.1.0/src/libxl/libxl_driver.c
@@ -5403,6 +5403,95 @@ libxlDomainMemoryStats(virDomainPtr dom,
#undef LIBXL_SET_MEMSTAT
@ -135,7 +135,7 @@ Index: libvirt-9.0.0/src/libxl/libxl_driver.c
static int
libxlDomainGetJobInfo(virDomainPtr dom,
virDomainJobInfoPtr info)
@@ -6577,6 +6666,7 @@ static virHypervisorDriver libxlHypervis
@@ -6723,6 +6812,7 @@ static virHypervisorDriver libxlHypervis
.domainGetNumaParameters = libxlDomainGetNumaParameters, /* 1.1.1 */
.nodeGetFreeMemory = libxlNodeGetFreeMemory, /* 0.9.0 */
.nodeGetCellsFreeMemory = libxlNodeGetCellsFreeMemory, /* 1.1.1 */

View File

@ -18,10 +18,10 @@ Signed-off-by: Martin Kletzander <mkletzan@redhat.com>
src/util/virpolkit.c | 3 +++
1 file changed, 3 insertions(+)
Index: libvirt-9.0.0/src/util/virpolkit.c
Index: libvirt-9.1.0/src/util/virpolkit.c
===================================================================
--- libvirt-9.0.0.orig/src/util/virpolkit.c
+++ libvirt-9.0.0/src/util/virpolkit.c
--- libvirt-9.1.0.orig/src/util/virpolkit.c
+++ libvirt-9.1.0/src/util/virpolkit.c
@@ -235,6 +235,9 @@ virPolkitAgentAvailable(void)
const char *termid = ctermid(NULL);
VIR_AUTOCLOSE fd = -1;

View File

@ -1,54 +0,0 @@
From 927ddc0ec04e6a838fa807df4546e14f60927949 Mon Sep 17 00:00:00 2001
From: Michal Privoznik <mprivozn@redhat.com>
Date: Tue, 7 Feb 2023 15:06:32 +0100
Subject: [PATCH 3/3] qemu_namespace: Deal with nested mounts when umount()-ing
/dev
In one of recent commits (v9.0.0-rc1~106) I've made our QEMU
namespace code umount the original /dev. One of the reasons was
enhanced security, because previously we just mounted a tmpfs
over the original /dev. Thus a malicious QEMU could just
umount("/dev") and it would get to the original /dev with all
nodes.
Now, on some systems this introduced a regression:
failed to umount devfs on /dev: Device or resource busy
But how this could be? We've moved all file systems mounted under
/dev to a temporary location. Or have we? As it turns out, not
quite. If there are two file systems mounted on the same target,
e.g. like this:
mount -t tmpfs tmpfs /dev/shm/ && mount -t tmpfs tmpfs /dev/shm/
then only the top most (i.e. the last one) is moved. See
qemuDomainUnshareNamespace() for more info.
Now, we could enhance our code to deal with these "doubled" mount
points. Or, since it is the top most file system that is
accessible anyways (and this one is preserved), we can
umount("/dev") in a recursive fashion.
Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=2167302
Fixes: 379c0ce4bfed8733dfbde557c359eecc5474ce38
Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Jim Fehlig <jfehlig@suse.com>
(cherry picked from commit 5155ab4b2a704285505dfea6ffee8b980fdaa29e)
---
src/qemu/qemu_namespace.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
Index: libvirt-9.0.0/src/qemu/qemu_namespace.c
===================================================================
--- libvirt-9.0.0.orig/src/qemu/qemu_namespace.c
+++ libvirt-9.0.0/src/qemu/qemu_namespace.c
@@ -777,7 +777,7 @@ qemuDomainUnshareNamespace(virQEMUDriver
}
#if defined(__linux__)
- if (umount("/dev") < 0) {
+ if (umount2("/dev", MNT_DETACH) < 0) {
virReportSystemError(errno, "%s", _("failed to umount devfs on /dev"));
goto cleanup;
}

View File

@ -1,58 +0,0 @@
From dabff45cbba94d6dedf7319ba3f225d4bebef010 Mon Sep 17 00:00:00 2001
From: Michal Privoznik <mprivozn@redhat.com>
Date: Tue, 7 Feb 2023 10:34:40 +0100
Subject: [PATCH 2/3] qemu_process: Produce better debug message wrt domain
namespaces
When going through debug log of a domain startup process, one can
meet the following line:
debug : qemuProcessLaunch:7668 : Building mount namespace
But this is in fact wrong. Firstly, domain namespaces are just
enabled in domain's privateData. Secondly, the debug message says
nothing about actual state of namespace - whether it was enabled
or not.
Therefore, move the debug printing into
qemuProcessEnableDomainNamespaces() and tweak it so that the
actual value is reflected.
Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Jim Fehlig <jfehlig@suse.com>
(cherry picked from commit 697c16e39ae9a9e18ce7cad0729bf2293b12a307)
---
src/qemu/qemu_process.c | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
Index: libvirt-9.0.0/src/qemu/qemu_process.c
===================================================================
--- libvirt-9.0.0.orig/src/qemu/qemu_process.c
+++ libvirt-9.0.0/src/qemu/qemu_process.c
@@ -7399,11 +7399,17 @@ qemuProcessEnableDomainNamespaces(virQEM
virDomainObj *vm)
{
g_autoptr(virQEMUDriverConfig) cfg = virQEMUDriverGetConfig(driver);
+ const char *state = "disabled";
if (virBitmapIsBitSet(cfg->namespaces, QEMU_DOMAIN_NS_MOUNT) &&
qemuDomainEnableNamespace(vm, QEMU_DOMAIN_NS_MOUNT) < 0)
return -1;
+ if (qemuDomainNamespaceEnabled(vm, QEMU_DOMAIN_NS_MOUNT))
+ state = "enabled";
+
+ VIR_DEBUG("Mount namespace for domain name=%s is %s",
+ vm->def->name, state);
return 0;
}
@@ -7720,8 +7726,6 @@ qemuProcessLaunch(virConnectPtr conn,
qemuDomainLogContextMarkPosition(logCtxt);
- VIR_DEBUG("Building mount namespace");
-
if (qemuProcessEnableDomainNamespaces(driver, vm) < 0)
goto cleanup;

View File

@ -1,28 +0,0 @@
From aa144c00c1b8f1deee6f80f8de076d5bfac72811 Mon Sep 17 00:00:00 2001
From: Jim Fehlig <jfehlig@suse.com>
Date: Mon, 6 Feb 2023 10:40:12 -0700
Subject: [PATCH 1/3] qemu: Jump to cleanup label on umount failure
Similar to other error paths in qemuDomainUnshareNamespace(), jump to
the cleanup label on umount error instead of directly returning -1.
Signed-off-by: Jim Fehlig <jfehlig@suse.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
(cherry picked from commit c3f16cea3bef578c498c720aa90c677ee9511e2f)
---
src/qemu/qemu_namespace.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
Index: libvirt-9.0.0/src/qemu/qemu_namespace.c
===================================================================
--- libvirt-9.0.0.orig/src/qemu/qemu_namespace.c
+++ libvirt-9.0.0/src/qemu/qemu_namespace.c
@@ -779,7 +779,7 @@ qemuDomainUnshareNamespace(virQEMUDriver
#if defined(__linux__)
if (umount("/dev") < 0) {
virReportSystemError(errno, "%s", _("failed to umount devfs on /dev"));
- return -1;
+ goto cleanup;
}
#endif /* !defined(__linux__) */

View File

@ -1,50 +0,0 @@
From 9f09c5b36cc9c97c508aeb60ed268d2e04367877 Mon Sep 17 00:00:00 2001
From: Michal Privoznik <mprivozn@redhat.com>
Date: Mon, 23 Jan 2023 11:42:18 +0100
Subject: [PATCH] qemu_interface: Fix managed='no' case when creating an
ethernet interface
In a recent commit of v9.0.0-rc1~192 I've tried to forbid case
where a TAP device already exists, but at the same time it's
managed by Libvirt (<interface type='ethernet'> <target
dev='tap0' managed='yes'/> </interface>). NB, if @managed
attribute is missing then it's assumed to be managed by Libvirt.
Anyway, I've mistakenly put setting of
VIR_NETDEV_TAP_CREATE_ALLOW_EXISTING flag into managed='yes'
branch instead of managed='no' branch in
qemuInterfaceEthernetConnect().
Move the setting of the flag into the correct branch.
Fixes: a2ae3d299cf9c5ada8aa42ec4271748eb479dc27
Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Martin Kletzander <mkletzan@redhat.com>
(cherry picked from commit d6a8b9eef70887e01fa5fd292580e14ca5eab08c)
---
src/qemu/qemu_interface.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
Index: libvirt-9.0.0/src/qemu/qemu_interface.c
===================================================================
--- libvirt-9.0.0.orig/src/qemu/qemu_interface.c
+++ libvirt-9.0.0/src/qemu/qemu_interface.c
@@ -443,6 +443,9 @@ qemuInterfaceEthernetConnect(virDomainDe
_("target managed='no' but specified dev doesn't exist"));
goto cleanup;
}
+
+ tap_create_flags |= VIR_NETDEV_TAP_CREATE_ALLOW_EXISTING;
+
if (virNetDevMacVLanIsMacvtap(net->ifname)) {
auditdev = net->ifname;
if (virNetDevMacVLanTapOpen(net->ifname, tapfd, tapfdSize) < 0)
@@ -461,8 +464,6 @@ qemuInterfaceEthernetConnect(virDomainDe
if (!net->ifname)
template_ifname = true;
- tap_create_flags |= VIR_NETDEV_TAP_CREATE_ALLOW_EXISTING;
-
if (virNetDevTapCreate(&net->ifname, tunpath, tapfd, tapfdSize,
tap_create_flags) < 0) {
goto cleanup;

View File

@ -1,55 +0,0 @@
From b0d070a9b2d655c1bda5980c8176454fe7ee00b1 Mon Sep 17 00:00:00 2001
From: Andrea Bolognani <abologna@redhat.com>
Date: Wed, 18 Jan 2023 10:28:04 +0100
Subject: [PATCH] apparmor: Allow umount(/dev)
Commit 379c0ce4bfed introduced a call to umount(/dev) performed
inside the namespace that we run QEMU in.
As a result of this, on machines using AppArmor, VM startup now
fails with
internal error: Process exited prior to exec: libvirt:
QEMU Driver error: failed to umount devfs on /dev: Permission denied
The corresponding denial is
AVC apparmor="DENIED" operation="umount" profile="libvirtd"
name="/dev/" pid=70036 comm="rpc-libvirtd"
Extend the AppArmor configuration for virtqemud and libvirtd so
that this operation is allowed.
Signed-off-by: Andrea Bolognani <abologna@redhat.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Jim Fehlig <jfehlig@suse.com>
(cherry picked from commit ef4829510549ec68cf80774e98b200a3e7bbe51f)
---
src/security/apparmor/usr.sbin.libvirtd.in | 1 +
src/security/apparmor/usr.sbin.virtqemud.in | 1 +
2 files changed, 2 insertions(+)
Index: libvirt-9.0.0/src/security/apparmor/usr.sbin.libvirtd.in
===================================================================
--- libvirt-9.0.0.orig/src/security/apparmor/usr.sbin.libvirtd.in
+++ libvirt-9.0.0/src/security/apparmor/usr.sbin.libvirtd.in
@@ -35,6 +35,7 @@ profile libvirtd @sbindir@/libvirtd flag
mount options=(rw,rslave) -> /,
mount options=(rw, nosuid) -> /{var/,}run/libvirt/qemu/*.dev/,
umount /{var/,}run/libvirt/qemu/*.dev/,
+ umount /dev/,
# libvirt provides any mounts under /dev to qemu namespaces
mount options=(rw, move) /dev/ -> /{,var/}run/libvirt/qemu/*.dev/,
Index: libvirt-9.0.0/src/security/apparmor/usr.sbin.virtqemud.in
===================================================================
--- libvirt-9.0.0.orig/src/security/apparmor/usr.sbin.virtqemud.in
+++ libvirt-9.0.0/src/security/apparmor/usr.sbin.virtqemud.in
@@ -35,6 +35,7 @@ profile virtqemud @sbindir@/virtqemud fl
mount options=(rw,rslave) -> /,
mount options=(rw, nosuid) -> /{var/,}run/libvirt/qemu/*.dev/,
umount /{var/,}run/libvirt/qemu/*.dev/,
+ umount /dev/,
# libvirt provides any mounts under /dev to qemu namespaces
mount options=(rw, move) /dev/ -> /{,var/}run/libvirt/qemu/*.dev/,

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:deca5cff1b7baac297bca9663907c61f71a47183371dc7ac019c107806d5435a
size 9007104

View File

@ -1,16 +0,0 @@
-----BEGIN PGP SIGNATURE-----
iQIzBAABCAAdFiEERTtlMQWVVihVRxGZymi+gBAITJwFAmPFOOsACgkQymi+gBAI
TJwPphAAizsDgrGKO1Bp59d2cCaB//c00m99uSbI2OS+Pef1soNE5j5EiIaZY7hT
FxoZzNaSQBD/LoJ+AZzfUKBCxdKt9SweydxHRLIfiSqBhyxhnfzysdQ5rnWZbxPn
GiF7Rdkym7SGPjZ6davlCQq+BG4hKugdEKyOhiR2BxAXtawf1q0i2/XfsfX1vRuo
Unk4J6chwP6vBCeDQyiIhDQry+Xr2aNybn4erUTggqcfvakv5/8ecysRfU3omHKv
QwC7S9wknSAGxEqDB4xXPoSbGCv5aX9HVroPM8S4Jfrep+2zu0pm6+hhvQa1m2X7
Y2HqEAM2zTy3SS8xIAkIFZdryP1tYEjsX4yYyWMuSj9UqJk0MRANz1tuwh/rnx4O
VPulM5Ws+TDNUlCcJcWB6089HQav6fvE5nzjr+QAMhqdruFulschpN27rjYTFlTO
g12xKuxkdcnftCire9RWKRDPM4+7yrRFdC0tM21GC7FE51oNj/Z7J86u10oamTmC
/5Lx/80fHFfxBrQqNjdIJta9Vul3ZkR3F3F7mDfPKWuYlAfOWuPj1nVUFDEox0W2
slVtwuU+h2zA/Q5WjeX4RjP9aoFuAJm8/kRBAl42xGmHSmIv316MrdqlVZMsTFRO
Nawme/VZz312hRZKXBBfOcqt+8BePdaPsZlHf7kwdV3Cj5aLtNo=
=DT2H
-----END PGP SIGNATURE-----

3
libvirt-9.1.0.tar.xz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:defebea252a24c1800fbf484b14018b6261192acbac5bda8395e47eba2a14d6a
size 9047300

16
libvirt-9.1.0.tar.xz.asc Normal file
View File

@ -0,0 +1,16 @@
-----BEGIN PGP SIGNATURE-----
iQIzBAABCAAdFiEERTtlMQWVVihVRxGZymi+gBAITJwFAmP/JdoACgkQymi+gBAI
TJzyEw/+P7h7zKR4l9xRfWC0T8fQtYx7l2YIcCYAY3MZvpfPDe9vpLWi0OTwdEAa
h8i1ceOw/mJWP2q1xrdrLt1T8J3+dgEJI4bGOOgby/RujVSIVmPQ91YQX8KwFgcc
WtCdvrgi+ID6HAz442c30TCESar92s04jGFBidTazqsgHAwHzG+ok0gpVlCabT+l
hQVdOKaS05asDgu3cZ8exfpwW/iUWC9u9GkEruj80gYiCxApYlnrmVp7Hrb0VDOl
aMENM94WUX6sBR3A8L3LAnqEEIJfi29eSyMxVhNmwCYd2HH5e9ACeNeP4ZJLhT9o
IfuBWRObxfFBe5ifgwGdUNo/Fh3lBEt2EQyCdm7h0x+RulEYSuga6NrjuS5uZWUM
cOKb21ly6tc0VMIpYyfWD+tMj/x1+B521VtpsK3M6a5+jGBOQHDYyLJkaDC66WyD
SL7RJrdxOdml/gWRdUMIUdRqGVKZTJ9PaEG7LtC5vOQtLZfm/tHFAFriIuZpXByK
2NvD+GplpDWQA2pzJUyO2zVdZ8PcDdi679FCjfhIhG2Fdf39PV1UW0avrXPwoSrF
PI1TpdhA5LKza2CR1cZrfF8B7LUFAV2BtycNYSsEvBJoGN0Z73ebHLHZuQOiTJu5
GfrQ8iIA3Q++6v3PU/lrbViLeO93AKqO1+ZjuEvIfHKj0kSY9ys=
=zdV2
-----END PGP SIGNATURE-----

View File

@ -8,10 +8,10 @@ From: <ro@suse.de>
src/cpu_map/ppc64_POWER8.xml | 2 ++
1 file changed, 2 insertions(+)
Index: libvirt-9.0.0/src/cpu_map/ppc64_POWER8.xml
Index: libvirt-9.1.0/src/cpu_map/ppc64_POWER8.xml
===================================================================
--- libvirt-9.0.0.orig/src/cpu_map/ppc64_POWER8.xml
+++ libvirt-9.0.0/src/cpu_map/ppc64_POWER8.xml
--- libvirt-9.1.0.orig/src/cpu_map/ppc64_POWER8.xml
+++ libvirt-9.1.0/src/cpu_map/ppc64_POWER8.xml
@@ -4,5 +4,7 @@
<pvr value='0x004b0000' mask='0xffff0000'/>
<pvr value='0x004c0000' mask='0xffff0000'/>

View File

@ -13,10 +13,10 @@ Originally authored by mt@suse.de
tools/virsh.c | 2 +
6 files changed, 80 insertions(+), 5 deletions(-)
Index: libvirt-9.0.0/meson.build
Index: libvirt-9.1.0/meson.build
===================================================================
--- libvirt-9.0.0.orig/meson.build
+++ libvirt-9.0.0/meson.build
--- libvirt-9.1.0.orig/meson.build
+++ libvirt-9.1.0/meson.build
@@ -1017,6 +1017,12 @@ else
netcf_dep = dependency('', required: false)
endif
@ -51,10 +51,10 @@ Index: libvirt-9.0.0/meson.build
'NLS': have_gnu_gettext_tools,
'numactl': numactl_dep.found(),
'openwsman': openwsman_dep.found(),
Index: libvirt-9.0.0/meson_options.txt
Index: libvirt-9.1.0/meson_options.txt
===================================================================
--- libvirt-9.0.0.orig/meson_options.txt
+++ libvirt-9.0.0/meson_options.txt
--- libvirt-9.1.0.orig/meson_options.txt
+++ libvirt-9.1.0/meson_options.txt
@@ -29,6 +29,7 @@ option('libpcap', type: 'feature', value
option('libssh', type: 'feature', value: 'auto', description: 'libssh support')
option('libssh2', type: 'feature', value: 'auto', description: 'libssh2 support')
@ -63,10 +63,10 @@ Index: libvirt-9.0.0/meson_options.txt
option('nls', type: 'feature', value: 'auto', description: 'nls support')
option('numactl', type: 'feature', value: 'auto', description: 'numactl support')
option('openwsman', type: 'feature', value: 'auto', description: 'openwsman support')
Index: libvirt-9.0.0/src/interface/interface_backend_netcf.c
Index: libvirt-9.1.0/src/interface/interface_backend_netcf.c
===================================================================
--- libvirt-9.0.0.orig/src/interface/interface_backend_netcf.c
+++ libvirt-9.0.0/src/interface/interface_backend_netcf.c
--- libvirt-9.1.0.orig/src/interface/interface_backend_netcf.c
+++ libvirt-9.1.0/src/interface/interface_backend_netcf.c
@@ -21,7 +21,12 @@
#include <config.h>
@ -178,10 +178,10 @@ Index: libvirt-9.0.0/src/interface/interface_backend_netcf.c
if (virRegisterConnectDriver(&interfaceConnectDriver, false) < 0)
return -1;
if (virSetSharedInterfaceDriver(&interfaceDriver) < 0)
Index: libvirt-9.0.0/src/interface/interface_driver.c
Index: libvirt-9.1.0/src/interface/interface_driver.c
===================================================================
--- libvirt-9.0.0.orig/src/interface/interface_driver.c
+++ libvirt-9.0.0/src/interface/interface_driver.c
--- libvirt-9.1.0.orig/src/interface/interface_driver.c
+++ libvirt-9.1.0/src/interface/interface_driver.c
@@ -30,8 +30,15 @@ interfaceRegister(void)
if (netcfIfaceRegister() == 0)
return 0;
@ -199,10 +199,10 @@ Index: libvirt-9.0.0/src/interface/interface_driver.c
if (udevIfaceRegister() == 0)
return 0;
#endif /* WITH_UDEV */
Index: libvirt-9.0.0/src/interface/meson.build
Index: libvirt-9.1.0/src/interface/meson.build
===================================================================
--- libvirt-9.0.0.orig/src/interface/meson.build
+++ libvirt-9.0.0/src/interface/meson.build
--- libvirt-9.1.0.orig/src/interface/meson.build
+++ libvirt-9.1.0/src/interface/meson.build
@@ -2,7 +2,7 @@ interface_driver_sources = [
'interface_driver.c',
]
@ -220,10 +220,10 @@ Index: libvirt-9.0.0/src/interface/meson.build
udev_dep,
],
'link_args': [
Index: libvirt-9.0.0/tools/virsh.c
Index: libvirt-9.1.0/tools/virsh.c
===================================================================
--- libvirt-9.0.0.orig/tools/virsh.c
+++ libvirt-9.0.0/tools/virsh.c
--- libvirt-9.1.0.orig/tools/virsh.c
+++ libvirt-9.1.0/tools/virsh.c
@@ -545,6 +545,8 @@ virshShowVersion(vshControl *ctl G_GNUC_
vshPrint(ctl, " Interface");
# if defined(WITH_NETCF)

View File

@ -1,3 +1,25 @@
-------------------------------------------------------------------
Wed Mar 1 20:58:57 UTC 2023 - James Fehlig <jfehlig@suse.com>
- Update to libvirt 9.1.0
- Many incremental improvements and bug fixes, see
https://libvirt.org/news.html#v9-1-0-2023-03-01
- spec: Remove obsolete Groups tag
- spec: Integrate upstream spec file changes that split the
libvirt-daemon package, allowing more modular, customized
installations
- spec: New subpackages libvirt-daemon-common, libvirt-daemon-lock,
libvirt-daemon-log, libvirt-daemon-proxy, and
libvirt-daemon-plugin-lockd
- spec: Renamed subpackage libvirt-lock-sanlock to
libvirt-daemon-plugin-sanlock
- Dropped patches:
ef482951-apparmor-Allow-umount-dev.patch,
d6a8b9ee-qemu-Fix-managed-no-when-creating-ethdev.patch,
c3f16cea-qemu-cleanup-label-on-umount-failure.patch,
697c16e3-qemu_process-better-debug-message.patch,
5155ab4b-qemu_namespace-nested-mounts-when-umount.patch
-------------------------------------------------------------------
Wed Feb 8 18:01:55 UTC 2023 - James Fehlig <jfehlig@suse.com>

View File

@ -162,11 +162,10 @@
Name: libvirt
URL: http://libvirt.org/
Version: 9.0.0
Version: 9.1.0
Release: 0
Summary: Library providing a virtualization API
License: LGPL-2.1-or-later
Group: Development/Libraries/C and C++
Requires: %{name}-daemon = %{version}-%{release}
Requires: %{name}-daemon-config-network = %{version}-%{release}
@ -304,11 +303,6 @@ Source6: libvirtd-relocation-server.xml
Source99: baselibs.conf
Source100: %{name}-rpmlintrc
# Upstream patches
Patch0: ef482951-apparmor-Allow-umount-dev.patch
Patch1: d6a8b9ee-qemu-Fix-managed-no-when-creating-ethdev.patch
Patch2: c3f16cea-qemu-cleanup-label-on-umount-failure.patch
Patch3: 697c16e3-qemu_process-better-debug-message.patch
Patch4: 5155ab4b-qemu_namespace-nested-mounts-when-umount.patch
# Patches pending upstream review
Patch100: libxl-dom-reset.patch
Patch101: network-don-t-use-dhcp-authoritative-on-static-netwo.patch
@ -344,7 +338,6 @@ to interact with Linux virtualization technologies.
%package doc
Summary: API reference and website documentation for libvirt
Group: Documentation/HTML
BuildArch: noarch
%description doc
@ -353,19 +346,26 @@ copy of the libvirt.org website documentation.
%package daemon
Summary: Server side daemon and supporting files for libvirt
Group: System/Management
# All runtime requirements for the libvirt package (runtime requirements
# for subpackages are listed later in those subpackages)
Requires: %{name}-daemon-common = %{version}-%{release}
Requires: %{name}-daemon-lock = %{version}-%{release}
Requires: %{name}-daemon-log = %{version}-%{release}
Requires: %{name}-daemon-plugin-lockd = %{version}-%{release}
Requires: %{name}-daemon-proxy = %{version}-%{release}
Requires: %{name}-libs = %{version}-%{release}
# netcat is needed on the server side so that clients that have
# libvirt < 6.9.0 can connect, but newer versions will prefer
# virt-ssh-helper
Recommends: netcat-openbsd
# for modprobe of pci devices
Requires: modutils
%description daemon
Server side daemon required to manage the virtualization capabilities
of recent versions of Linux. Requires a hypervisor specific sub-RPM
for specific drivers.
%package daemon-common
Summary: Files and utilities used by daemons
Requires: %{name}-libs = %{version}-%{release}
# The libvirt-guests.sh script requires virsh from libvirt-client subpackage,
# but not every deployment wants to use libvirt-guests service. Using
# Recommends here will install libvirt-client by default (if available), but
# RPM won't complain if the package is unavailable, masked, or removed later.
Recommends: %{name}-client = %{version}-%{release}
# for /sbin/ip & /sbin/tc
Requires: iproute
Requires: logrotate
@ -377,9 +377,6 @@ Requires: dmidecode
%endif
# For service management
%{?systemd_requires}
%if %{with_numad}
Suggests: numad
%endif
# libvirtd depends on 'messagebus' service
Requires: dbus-1
Requires: group(libvirt)
@ -399,18 +396,50 @@ Recommends: apparmor-abstractions
%endif
# Ensure smooth upgrades
Obsoletes: libvirt-admin < 7.3.0
Provides: libvirt-admin = %{version}
Obsoletes: libvirt-bash-completion < 7.3.0
Obsoletes: %{name}-admin < 7.3.0
Provides: %{name}-admin = %{version}
Obsoletes: %{name}-bash-completion < 7.3.0
%description daemon
Server side daemon required to manage the virtualization capabilities
of recent versions of Linux. Requires a hypervisor specific sub-RPM
for specific drivers.
%description daemon-common
Miscellaneous files and utilities used by other libvirt daemons
%package daemon-lock
Summary: Server side daemon for managing locks
Requires: %{name}-libs = %{version}-%{release}
%description daemon-lock
Server side daemon used to manage locks held against virtual machine
resources
%package daemon-plugin-lockd
Summary: lockd client plugin for virtlockd
Requires: %{name}-libs = %{version}-%{release}
%description daemon-plugin-lockd
A client-side plugin that implements disk locking using POSIX fcntl advisory
locks via communication with the virtlockd daemon
%package daemon-log
Summary: Server side daemon for managing logs
Requires: %{name}-libs = %{version}-%{release}
%description daemon-log
Server side daemon used to manage logs from virtual machine consoles
%package daemon-proxy
Summary: Server side daemon providing libvirtd proxy
Requires: %{name}-libs = %{version}-%{release}
# netcat is needed on the server side so that clients that have
# libvirt < 6.9.0 can connect, but newer versions will prefer
# virt-ssh-helper
Recommends: netcat-openbsd
%description daemon-proxy
Server side daemon providing functionality previously provided by
the monolithic libvirtd
%package daemon-hooks
Summary: Hook scripts for the libvirtd daemon
Group: System/Management
Requires: %{name}-daemon = %{version}-%{release}
Requires: python3-lxml
@ -419,8 +448,6 @@ Default hook scripts for the libvirt daemon
%package daemon-config-network
Summary: Default configuration files for the libvirtd daemon
Group: System/Management
Requires: %{name}-daemon = %{version}-%{release}
Requires: %{name}-daemon-driver-network = %{version}-%{release}
%description daemon-config-network
@ -428,8 +455,6 @@ Default configuration files for setting up NAT based networking
%package daemon-config-nwfilter
Summary: Network filter configuration files for the libvirtd
Group: System/Management
Requires: %{name}-daemon = %{version}-%{release}
Requires: %{name}-daemon-driver-nwfilter = %{version}-%{release}
%description daemon-config-nwfilter
@ -438,8 +463,7 @@ cleaning guest network traffic.
%package daemon-driver-network
Summary: Network driver plugin for the libvirtd daemon
Group: System/Management
Requires: %{name}-daemon = %{version}-%{release}
Requires: %{name}-daemon-common = %{version}-%{release}
Requires: %{name}-libs = %{version}-%{release}
Requires: dnsmasq >= 2.41
Requires: iptables
@ -451,8 +475,7 @@ bridge capabilities.
%package daemon-driver-nwfilter
Summary: A nwfilter driver plugin for the libvirtd daemon
Group: System/Management
Requires: %{name}-daemon = %{version}-%{release}
Requires: %{name}-daemon-common = %{version}-%{release}
Requires: %{name}-libs = %{version}-%{release}
Requires: ebtables
Requires: iptables
@ -464,13 +487,14 @@ iptables and ip6tables capabilities
%package daemon-driver-nodedev
Summary: Nodedev driver plugin for the libvirtd daemon
Group: System/Management
Requires: %{name}-daemon = %{version}-%{release}
Requires: %{name}-daemon-common = %{version}-%{release}
Requires: %{name}-libs = %{version}-%{release}
# For managing persistent mediated devices
%if 0%{?suse_version} >= 1550 || 0%{?sle_version} >= 150300
Requires: mdevctl
%endif
# for modprobe of pci devices
Requires: modutils
%description daemon-driver-nodedev
The nodedev driver plugin for the libvirtd daemon, providing
@ -479,8 +503,7 @@ capabilities.
%package daemon-driver-interface
Summary: Interface driver plugin for the libvirtd daemon
Group: System/Management
Requires: %{name}-daemon = %{version}-%{release}
Requires: %{name}-daemon-common = %{version}-%{release}
Requires: %{name}-libs = %{version}-%{release}
%description daemon-driver-interface
@ -490,8 +513,7 @@ netcontrol library
%package daemon-driver-secret
Summary: Secret driver plugin for the libvirtd daemon
Group: System/Management
Requires: %{name}-daemon = %{version}-%{release}
Requires: %{name}-daemon-common = %{version}-%{release}
%description daemon-driver-secret
The secret driver plugin for the libvirtd daemon, providing
@ -499,8 +521,7 @@ an implementation of the secret key APIs.
%package daemon-driver-storage-core
Summary: Storage driver plugin including base backends for the libvirtd daemon
Group: System/Management
Requires: %{name}-daemon = %{version}-%{release}
Requires: %{name}-daemon-common = %{version}-%{release}
Requires: %{name}-libs = %{version}-%{release}
Requires: nfs-utils
# For mkfs
@ -517,7 +538,6 @@ iSCSI, and multipath storage.
%package daemon-driver-storage-logical
Summary: Storage driver plugin for lvm volumes
Group: System/Management
Requires: %{name}-daemon-driver-storage-core = %{version}-%{release}
Requires: %{name}-libs = %{version}-%{release}
Requires: lvm2
@ -528,7 +548,6 @@ volumes using lvm.
%package daemon-driver-storage-disk
Summary: Storage driver plugin for disk
Group: System/Management
Requires: %{name}-daemon-driver-storage-core = %{version}-%{release}
Requires: device-mapper
Requires: parted
@ -539,7 +558,6 @@ volumes using the host disks.
%package daemon-driver-storage-scsi
Summary: Storage driver plugin for local scsi devices
Group: System/Management
Requires: %{name}-daemon-driver-storage-core = %{version}-%{release}
Requires: %{name}-libs = %{version}-%{release}
@ -549,7 +567,6 @@ host devices.
%package daemon-driver-storage-iscsi
Summary: Storage driver plugin for iscsi
Group: System/Management
Requires: %{name}-daemon-driver-storage-core = %{version}-%{release}
Requires: %{name}-libs = %{version}-%{release}
Requires: open-iscsi
@ -560,7 +577,6 @@ volumes using the host iscsi stack.
%package daemon-driver-storage-iscsi-direct
Summary: Storage driver plugin for iscsi-direct
Group: System/Management
Requires: %{name}-daemon-driver-storage-core = %{version}-%{release}
Requires: %{name}-libs = %{version}-%{release}
@ -570,7 +586,6 @@ volumes using libiscsi direct connection.
%package daemon-driver-storage-mpath
Summary: Storage driver plugin for multipath volumes
Group: System/Management
Requires: %{name}-daemon-driver-storage-core = %{version}-%{release}
Requires: %{name}-libs = %{version}-%{release}
Requires: device-mapper
@ -581,7 +596,6 @@ multipath storage using device mapper.
%package daemon-driver-storage-gluster
Summary: Storage driver plugin for gluster
Group: System/Management
Requires: %{name}-daemon-driver-storage-core = %{version}-%{release}
Requires: %{name}-libs = %{version}-%{release}
@ -591,7 +605,6 @@ volumes using libgfapi.
%package daemon-driver-storage-rbd
Summary: Storage driver plugin for rbd
Group: System/Management
Requires: %{name}-daemon-driver-storage-core = %{version}-%{release}
Requires: %{name}-libs = %{version}-%{release}
@ -601,7 +614,6 @@ volumes using the ceph protocol.
%package daemon-driver-storage
Summary: Storage driver plugin including all backends for the libvirtd daemon
Group: System/Management
Requires: %{name}-daemon-driver-storage-core = %{version}-%{release}
Requires: %{name}-daemon-driver-storage-disk = %{version}-%{release}
Requires: %{name}-daemon-driver-storage-iscsi = %{version}-%{release}
@ -627,8 +639,8 @@ parted and more.
%package daemon-driver-qemu
Summary: Qemu driver plugin for the libvirtd daemon
Group: System/Management
Requires: %{name}-daemon = %{version}-%{release}
Requires: %{name}-daemon-common = %{version}-%{release}
Requires: %{name}-daemon-log = %{version}-%{release}
Requires: %{name}-libs = %{version}-%{release}
Requires: /usr/bin/qemu-img
# For image compression
@ -642,6 +654,9 @@ Requires: systemd-container
%if 0%{?suse_version} >= 1550 || 0%{?sle_version} >= 150300
Requires: swtpm
%endif
%if %{with_numad}
Suggests: numad
%endif
%description daemon-driver-qemu
The qemu driver plugin for the libvirtd daemon, providing
@ -649,12 +664,16 @@ an implementation of the hypervisor driver APIs using QEMU.
%package daemon-driver-lxc
Summary: LXC driver plugin for the libvirtd daemon
Group: System/Management
Requires: %{name}-daemon = %{version}-%{release}
Requires: %{name}-daemon-common = %{version}-%{release}
Requires: %{name}-libs = %{version}-%{release}
# There really is a hard cross-driver dependency here
Requires: %{name}-daemon-driver-network = %{version}-%{release}
Requires: systemd-container
# for modprobe of nbd driver
Requires: modutils
%if %{with_numad}
Suggests: numad
%endif
%description daemon-driver-lxc
The LXC driver plugin for the libvirtd daemon, providing
@ -663,8 +682,7 @@ the Linux kernel
%package daemon-driver-vbox
Summary: VirtualBox driver plugin for the libvirtd daemon
Group: System/Management
Requires: %{name}-daemon = %{version}-%{release}
Requires: %{name}-daemon-common = %{version}-%{release}
Requires: %{name}-libs = %{version}-%{release}
%description daemon-driver-vbox
@ -674,8 +692,7 @@ VirtualBox
%package daemon-driver-libxl
Summary: Libxl driver plugin for the libvirtd daemon
Group: System/Management
Requires: %{name}-daemon = %{version}-%{release}
Requires: %{name}-daemon-common = %{version}-%{release}
Requires: %{name}-libs = %{version}-%{release}
%description daemon-driver-libxl
@ -684,8 +701,15 @@ an implementation of the hypervisor driver APIs using libxl.
%package daemon-qemu
Summary: Server side daemon & driver required to run QEMU guests
Group: System/Management
%if %{with_modular_daemons}
Requires: %{name}-daemon-common = %{version}-%{release}
Requires: %{name}-daemon-lock = %{version}-%{release}
Requires: %{name}-daemon-log = %{version}-%{release}
Requires: %{name}-daemon-plugin-lockd = %{version}-%{release}
Requires: %{name}-daemon-proxy = %{version}-%{release}
%else
Requires: %{name}-daemon = %{version}-%{release}
%endif
Requires: %{name}-daemon-driver-interface = %{version}-%{release}
Requires: %{name}-daemon-driver-network = %{version}-%{release}
Requires: %{name}-daemon-driver-nodedev = %{version}-%{release}
@ -700,8 +724,13 @@ capabilities of the QEMU emulators
%package daemon-lxc
Summary: Server side daemon & driver required to run LXC guests
Group: System/Management
%if %{with_modular_daemons}
Requires: %{name}-daemon-common = %{version}-%{release}
Requires: %{name}-daemon-log = %{version}-%{release}
Requires: %{name}-daemon-proxy = %{version}-%{release}
%else
Requires: %{name}-daemon = %{version}-%{release}
%endif
Requires: %{name}-daemon-driver-interface = %{version}-%{release}
Requires: %{name}-daemon-driver-lxc = %{version}-%{release}
Requires: %{name}-daemon-driver-network = %{version}-%{release}
@ -716,8 +745,14 @@ capabilities of LXC
%package daemon-xen
Summary: Server side daemon & driver required to run XEN guests
Group: System/Management
%if %{with_modular_daemons}
Requires: %{name}-daemon-common = %{version}-%{release}
Requires: %{name}-daemon-lock = %{version}-%{release}
Requires: %{name}-daemon-plugin-lockd = %{version}-%{release}
Requires: %{name}-daemon-proxy = %{version}-%{release}
%else
Requires: %{name}-daemon = %{version}-%{release}
%endif
Requires: %{name}-daemon-driver-interface = %{version}-%{release}
Requires: %{name}-daemon-driver-libxl = %{version}-%{release}
Requires: %{name}-daemon-driver-network = %{version}-%{release}
@ -733,8 +768,12 @@ capabilities of XEN
%package daemon-vbox
Summary: Server side daemon & driver required to run VirtualBox guests
Group: System/Management
%if %{with_modular_daemons}
Requires: %{name}-daemon-common = %{version}-%{release}
Requires: %{name}-daemon-proxy = %{version}-%{release}
%else
Requires: %{name}-daemon = %{version}-%{release}
%endif
Requires: %{name}-daemon-driver-interface = %{version}-%{release}
Requires: %{name}-daemon-driver-network = %{version}-%{release}
Requires: %{name}-daemon-driver-nodedev = %{version}-%{release}
@ -752,7 +791,6 @@ capabilities of VirtualBox
%package client
Summary: Client side utilities of the libvirt library
Group: System/Management
Requires: %{name}-libs = %{version}-%{release}
# Needed by virt-pki-validate script.
Requires: cyrus-sasl
@ -779,7 +817,6 @@ with some QEMU specific features of libvirt.
Summary: Client side libraries for libvirt
# Not technically required, but makes 'out-of-box' config
# work correctly & doesn't have onerous dependencies
Group: System/Libraries
Requires: cyrus-sasl-digestmd5
%description libs
@ -787,7 +824,6 @@ Shared libraries for accessing the libvirt daemon.
%package devel
Summary: Libraries, includes, etc. to compile with the libvirt library
Group: Development/Libraries/C and C++
Requires: %{name}-libs = %{version}-%{release}
Suggests: %{name}-doc = %{version}-%{release}
Requires: pkg-config
@ -795,21 +831,20 @@ Requires: pkg-config
%description devel
Include header files & development libraries for the libvirt C library.
%package lock-sanlock
%package daemon-plugin-sanlock
Summary: Sanlock lock manager plugin for QEMU driver
Group: System/Management
Requires: sanlock >= 2.4
# for virt-sanlock-cleanup require augeas
Requires: %{name}-daemon = %{version}-%{release}
Requires: %{name}-libs = %{version}-%{release}
Requires: augeas
Obsoletes: %{name}-lock-sanlock < 9.0.0
Provides: %{name}-lock-sanlock = %{version}-%{release}
%description lock-sanlock
%description daemon-plugin-sanlock
Includes the Sanlock lock manager plugin for the QEMU driver
%package -n wireshark-plugin-libvirt
Summary: Wireshark plugin for libvirt RPC protocol
Group: Productivity/Networking/Diagnostic
Requires: %{name}-libs = %{version}-%{release}
Requires: wireshark
@ -818,7 +853,6 @@ Wireshark dissector plugin for better analysis of libvirt RPC traffic.
%package nss
Summary: Libvirt plugin for Name Service Switch
Group: System/Management
Requires: %{name}-daemon-driver-network = %{version}-%{release}
%description nss
@ -1179,15 +1213,10 @@ VIR_TEST_DEBUG=1 %meson_test -t 5 --no-suite syntax-check
%define libvirt_daemon_systemd_postun_priv_restart() %service_del_postun %1.service %1-admin.socket %1.socket
%pre daemon
%libvirt_sysconfig_pre libvirtd virtproxyd virtlogd virtlockd libvirt-guests
%libvirt_daemon_systemd_pre_priv virtlogd
%libvirt_daemon_systemd_pre_priv virtlockd
%if %{with_modular_daemons}
%libvirt_daemon_systemd_pre_inet virtproxyd
%else
%libvirt_sysconfig_pre libvirtd
%if ! %{with_modular_daemons}
%libvirt_daemon_systemd_pre_inet libvirtd
%endif
%service_add_pre libvirt-guests
%libvirt_logrotate_pre libvirtd
%post daemon
@ -1195,44 +1224,23 @@ VIR_TEST_DEBUG=1 %meson_test -t 5 --no-suite syntax-check
%if %{with_apparmor}
%apparmor_reload /etc/apparmor.d/usr.sbin.libvirtd
%endif
%libvirt_daemon_systemd_post_priv virtlogd
%libvirt_daemon_systemd_post_priv virtlockd
%if %{with_modular_daemons}
%libvirt_daemon_systemd_post_inet virtproxyd
%else
%libvirt_daemon_systemd_post_inet libvirtd
%if ! %{with_modular_daemons}
%libvirt_daemon_systemd_post_inet libvirtd
%endif
%service_add_post libvirt-guests.service
%preun daemon
%service_del_preun libvirt-guests.service
if [ $1 = 0 ]; then
rm -f /var/lib/%{name}/libvirt-guests
fi
%libvirt_daemon_systemd_preun_inet libvirtd
%libvirt_daemon_systemd_preun_inet virtproxyd
%libvirt_daemon_systemd_preun_priv virtlogd
%libvirt_daemon_systemd_preun_priv virtlockd
%postun daemon
/sbin/ldconfig
# Handle restart/reload in posttrans
%libvirt_daemon_systemd_postun_priv virtlogd
%libvirt_daemon_systemd_postun_priv virtlockd
%if %{with_modular_daemons}
%libvirt_daemon_systemd_postun_inet virtproxyd
%else
%libvirt_daemon_systemd_postun_inet libvirtd
%if ! %{with_modular_daemons}
%libvirt_daemon_systemd_postun_inet libvirtd
%endif
%service_del_postun_without_restart libvirt-guests.service
%posttrans daemon
%libvirt_logrotate_posttrans libvirtd
%libvirt_sysconfig_posttrans libvirtd virtproxyd virtlogd virtlockd libvirt-guests
# virtlockd and virtlogd must not be restarted, particularly virtlockd since the
# locks it uses to protect VM resources would be lost. Both are safe to re-exec.
%{_bindir}/systemctl reload-or-try-restart virtlockd.service >/dev/null 2>&1 || :
%{_bindir}/systemctl reload-or-try-restart virtlogd.service >/dev/null 2>&1 || :
%libvirt_sysconfig_posttrans libvirtd
# All connection drivers should be installed post transaction.
# Time to restart the daemon
test -f %{_sysconfdir}/sysconfig/services -a \
@ -1271,6 +1279,92 @@ if test "$DISABLE_RESTART_ON_UPDATE" != yes -a \
fi
fi
%pre daemon-common
%libvirt_sysconfig_pre libvirt-guests
%service_add_pre libvirt-guests
%post daemon-common
/sbin/ldconfig
%service_add_post libvirt-guests.service
%preun daemon-common
%service_del_preun libvirt-guests.service
if [ $1 = 0 ]; then
rm -f /var/lib/%{name}/libvirt-guests
fi
%postun daemon-common
/sbin/ldconfig
%service_del_postun_without_restart libvirt-guests.service
%posttrans daemon-common
%libvirt_sysconfig_posttrans libvirt-guests
%pre daemon-proxy
%libvirt_sysconfig_pre virtproxyd
%if %{with_modular_daemons}
%libvirt_daemon_systemd_pre_inet virtproxyd
%endif
%post daemon-proxy
/sbin/ldconfig
%if %{with_modular_daemons}
%libvirt_daemon_systemd_post_inet virtproxyd
%endif
%preun daemon-proxy
%libvirt_daemon_systemd_preun_inet virtproxyd
%postun daemon-proxy
/sbin/ldconfig
# Handle restart/reload in posttrans
%if %{with_modular_daemons}
%libvirt_daemon_systemd_postun_inet virtproxyd
%endif
%posttrans daemon-proxy
%libvirt_sysconfig_posttrans virtproxyd
%pre daemon-lock
%libvirt_sysconfig_pre virlockd
%libvirt_daemon_systemd_pre_priv virtlockd
%post daemon-lock
/sbin/ldconfig
%libvirt_daemon_systemd_post_priv virtlockd
%preun daemon-lock
%libvirt_daemon_systemd_preun_priv virtlockd
%postun daemon-lock
%libvirt_daemon_systemd_postun_priv virtlockd
%posttrans daemon-lock
%libvirt_sysconfig_posttrans virtlockd
# virtlockd must not be restarted, otherwise the locks it uses to protect
# VM resources would be lost. It is safe to re-exec.
%{_bindir}/systemctl reload-or-try-restart virtlockd.service >/dev/null 2>&1 || :
%pre daemon-log
%libvirt_sysconfig_pre virlogd
%libvirt_daemon_systemd_pre_priv virtlogd
%post daemon-log
/sbin/ldconfig
%libvirt_daemon_systemd_post_priv virtlogd
%preun daemon-log
%libvirt_daemon_systemd_preun_priv virtlogd
%postun daemon-log
%libvirt_daemon_systemd_postun_priv virtlogd
%posttrans daemon-log
%libvirt_sysconfig_posttrans virtlogd
# virtlogd must not be restarted since it manages logs from virtual machine
# consoles. It is safe to re-exec.
%{_bindir}/systemctl reload-or-try-restart virtlogd.service >/dev/null 2>&1 || :
%pre daemon-driver-network
%libvirt_sysconfig_pre virtnetworkd
%libvirt_daemon_systemd_pre virtnetworkd
@ -1483,59 +1577,33 @@ fi
%files daemon
%{_sbindir}/libvirtd
%{_sbindir}/virtproxyd
%{_sbindir}/virtlogd
%{_sbindir}/virtlockd
%dir %{_libdir}/%{name}/
%attr(0755, root, root) %{_libexecdir}/libvirt-guests.sh
%dir %attr(0700, root, root) %{_sysconfdir}/%{name}/hooks/
%{_unitdir}/libvirtd.service
%{_unitdir}/libvirtd.socket
%{_unitdir}/libvirtd-ro.socket
%{_unitdir}/libvirt-guests.service
%{_unitdir}/libvirtd-admin.socket
%{_unitdir}/libvirtd-tcp.socket
%{_unitdir}/libvirtd-tls.socket
%{_unitdir}/virtproxyd.service
%{_unitdir}/virtproxyd.socket
%{_unitdir}/virtproxyd-ro.socket
%{_unitdir}/virtproxyd-admin.socket
%{_unitdir}/virtproxyd-tcp.socket
%{_unitdir}/virtproxyd-tls.socket
%{_unitdir}/virt-guest-shutdown.target
%{_unitdir}/virtlogd.service
%{_unitdir}/virtlogd.socket
%{_unitdir}/virtlogd-admin.socket
%{_unitdir}/virtlockd.service
%{_unitdir}/virtlockd.socket
%{_unitdir}/virtlockd-admin.socket
%{_sbindir}/rclibvirtd
%{_sbindir}/rclibvirt-guests
%{_sbindir}/rcvirtlogd
%{_sbindir}/rcvirtlockd
%{_sbindir}/rcvirtproxyd
%{_bindir}/virt-admin
%{_bindir}/virt-host-validate
%config(noreplace) %{_sysconfdir}/%{name}/libvirtd.conf
%config(noreplace) %{_sysconfdir}/%{name}/virtproxyd.conf
%{logrotate_prefix} %{logrotate_dir}/libvirtd
%config(noreplace) %{_sysconfdir}/%{name}/virtlogd.conf
%config(noreplace) %{_sysconfdir}/%{name}/virtlockd.conf
%dir %{_sysconfdir}/sasl2/
%config(noreplace) %{_sysconfdir}/sasl2/libvirt.conf
%dir %{_datadir}/augeas/
%dir %{_datadir}/augeas/lenses/
%dir %{_datadir}/augeas/lenses/tests/
%{_datadir}/augeas/lenses/libvirtd.aug
%{_datadir}/augeas/lenses/tests/test_libvirtd.aug
%{_datadir}/augeas/lenses/virtlogd.aug
%{_datadir}/augeas/lenses/tests/test_virtlogd.aug
%{_datadir}/augeas/lenses/virtlockd.aug
%{_datadir}/augeas/lenses/tests/test_virtlockd.aug
%{_datadir}/augeas/lenses/virtproxyd.aug
%{_datadir}/augeas/lenses/tests/test_virtproxyd.aug
%{_datadir}/augeas/lenses/libvirt_lockd.aug
%{_datadir}/augeas/lenses/tests/test_libvirt_lockd.aug
%doc %{_mandir}/man8/libvirtd.8*
%files daemon-common
%dir %{_libdir}/%{name}
%attr(0755, root, root) %{_libexecdir}/libvirt-guests.sh
%dir %attr(0700, root, root) %{_sysconfdir}/%{name}/hooks
%{_unitdir}/libvirt-guests.service
%{_unitdir}/virt-guest-shutdown.target
%{_sbindir}/rclibvirt-guests
%{_bindir}/virt-admin
%{_bindir}/virt-host-validate
%dir %{_sysconfdir}/sasl2/
%config(noreplace) %{_sysconfdir}/sasl2/libvirt.conf
%{_datadir}/bash-completion/completions/virt-admin
%dir %{_localstatedir}/lib/%{name}/
%dir %attr(0755, root, root) %{_localstatedir}/lib/%{name}/
@ -1544,8 +1612,6 @@ fi
%dir %attr(0711, root, root) %{_localstatedir}/lib/%{name}/boot/
%dir %attr(0711, root, root) %{_localstatedir}/cache/%{name}/
%dir %attr(0700, root, root) %{_localstatedir}/log/%{name}/
%dir %attr(0755, root, root) %{_libdir}/%{name}/lock-driver/
%attr(0755, root, root) %{_libdir}/%{name}/lock-driver/lockd.so
%if %{with_polkit_rules}
%{_datadir}/polkit-1/rules.d/50-libvirt.rules
%endif
@ -1557,10 +1623,6 @@ fi
%doc %{_mandir}/man1/virt-host-validate.1*
%doc %{_mandir}/man8/virt-ssh-helper.8*
%doc %{_mandir}/man8/libvirt-guests.8*
%doc %{_mandir}/man8/libvirtd.8*
%doc %{_mandir}/man8/virtlogd.8*
%doc %{_mandir}/man8/virtlockd.8*
%doc %{_mandir}/man8/virtproxyd.8*
%if %{with_apparmor}
%dir %{_sysconfdir}/apparmor.d/
%dir %{_sysconfdir}/apparmor.d/abstractions/
@ -1582,6 +1644,48 @@ fi
%dir /usr/lib/supportconfig/plugins/
/usr/lib/supportconfig/plugins/libvirt
%files daemon-lock
%{_sbindir}/virtlockd
%{_unitdir}/virtlockd.service
%{_unitdir}/virtlockd.socket
%{_unitdir}/virtlockd-admin.socket
%{_sbindir}/rcvirtlockd
%config(noreplace) %{_sysconfdir}/%{name}/virtlockd.conf
%{_datadir}/augeas/lenses/virtlockd.aug
%{_datadir}/augeas/lenses/tests/test_virtlockd.aug
%{_datadir}/augeas/lenses/libvirt_lockd.aug
%{_datadir}/augeas/lenses/tests/test_libvirt_lockd.aug
%doc %{_mandir}/man8/virtlockd.8*
%files daemon-plugin-lockd
%dir %attr(0755, root, root) %{_libdir}/%{name}/lock-driver
%attr(0755, root, root) %{_libdir}/%{name}/lock-driver/lockd.so
%files daemon-log
%{_sbindir}/virtlogd
%{_unitdir}/virtlogd.service
%{_unitdir}/virtlogd.socket
%{_unitdir}/virtlogd-admin.socket
%{_sbindir}/rcvirtlogd
%config(noreplace) %{_sysconfdir}/%{name}/virtlogd.conf
%{_datadir}/augeas/lenses/virtlogd.aug
%{_datadir}/augeas/lenses/tests/test_virtlogd.aug
%doc %{_mandir}/man8/virtlogd.8*
%files daemon-proxy
%{_sbindir}/virtproxyd
%{_unitdir}/virtproxyd.service
%{_unitdir}/virtproxyd.socket
%{_unitdir}/virtproxyd-ro.socket
%{_unitdir}/virtproxyd-admin.socket
%{_unitdir}/virtproxyd-tcp.socket
%{_unitdir}/virtproxyd-tls.socket
%{_sbindir}/rcvirtproxyd
%config(noreplace) %{_sysconfdir}/%{name}/virtproxyd.conf
%{_datadir}/augeas/lenses/virtproxyd.aug
%{_datadir}/augeas/lenses/tests/test_virtproxyd.aug
%doc %{_mandir}/man8/virtproxyd.8*
%files daemon-hooks
%{_sysconfdir}/%{name}/hooks/qemu
@ -1928,7 +2032,7 @@ fi
%if %{with_sanlock}
%files lock-sanlock
%files daemon-plugin-sanlock
%doc %{_mandir}/man8/virt-sanlock-cleanup.8*
%if %{with_qemu}
%config(noreplace) %{_sysconfdir}/%{name}/qemu-sanlock.conf

View File

@ -12,10 +12,10 @@ Signed-off-by: Jim Fehlig <jfehlig@suse.com>
src/libxl/libxl_driver.c | 58 ++++++++++++++++++++++++++++++++++++++++
1 file changed, 58 insertions(+)
Index: libvirt-9.0.0/src/libxl/libxl_driver.c
Index: libvirt-9.1.0/src/libxl/libxl_driver.c
===================================================================
--- libvirt-9.0.0.orig/src/libxl/libxl_driver.c
+++ libvirt-9.0.0/src/libxl/libxl_driver.c
--- libvirt-9.1.0.orig/src/libxl/libxl_driver.c
+++ libvirt-9.1.0/src/libxl/libxl_driver.c
@@ -1355,6 +1355,63 @@ libxlDomainReboot(virDomainPtr dom, unsi
}
@ -80,7 +80,7 @@ Index: libvirt-9.0.0/src/libxl/libxl_driver.c
libxlDomainDestroyFlags(virDomainPtr dom,
unsigned int flags)
{
@@ -6455,6 +6512,7 @@ static virHypervisorDriver libxlHypervis
@@ -6601,6 +6658,7 @@ static virHypervisorDriver libxlHypervis
.domainShutdown = libxlDomainShutdown, /* 0.9.0 */
.domainShutdownFlags = libxlDomainShutdownFlags, /* 0.9.10 */
.domainReboot = libxlDomainReboot, /* 0.9.0 */

View File

@ -10,10 +10,10 @@ Signed-off-by: Jim Fehlig <jfehlig@suse.com>
src/libxl/libxl_conf.c | 23 +++++++++++++++++++++++
1 file changed, 23 insertions(+)
Index: libvirt-9.0.0/src/libxl/libxl_conf.c
Index: libvirt-9.1.0/src/libxl/libxl_conf.c
===================================================================
--- libvirt-9.0.0.orig/src/libxl/libxl_conf.c
+++ libvirt-9.0.0/src/libxl/libxl_conf.c
--- libvirt-9.1.0.orig/src/libxl/libxl_conf.c
+++ libvirt-9.1.0/src/libxl/libxl_conf.c
@@ -949,6 +949,28 @@ libxlDiskSetDiscard(libxl_device_disk *x
}
}
@ -43,7 +43,7 @@ Index: libvirt-9.0.0/src/libxl/libxl_conf.c
static char *
libxlMakeNetworkDiskSrcStr(virStorageSource *src,
const char *username,
@@ -1188,6 +1210,7 @@ libxlMakeDisk(virDomainDiskDef *l_disk,
@@ -1183,6 +1205,7 @@ libxlMakeDisk(virDomainDiskDef *l_disk,
x_disk->readwrite = !l_disk->src->readonly;
x_disk->is_cdrom = l_disk->device == VIR_DOMAIN_DISK_DEVICE_CDROM ? 1 : 0;
libxlDiskSetDiscard(x_disk, l_disk->discard);

View File

@ -15,10 +15,10 @@ Signed-off-by: Olaf Hering <olaf@aepfle.de>
tools/virsh-domain.c | 29 +++++++++++++++++
6 files changed, 124 insertions(+), 21 deletions(-)
Index: libvirt-9.0.0/docs/manpages/virsh.rst
Index: libvirt-9.1.0/docs/manpages/virsh.rst
===================================================================
--- libvirt-9.0.0.orig/docs/manpages/virsh.rst
+++ libvirt-9.0.0/docs/manpages/virsh.rst
--- libvirt-9.1.0.orig/docs/manpages/virsh.rst
+++ libvirt-9.1.0/docs/manpages/virsh.rst
@@ -3362,6 +3362,7 @@ migrate
[--parallel [--parallel-connections connections]]
[--bandwidth bandwidth] [--tls-destination hostname]
@ -40,10 +40,10 @@ Index: libvirt-9.0.0/docs/manpages/virsh.rst
Running migration can be canceled by interrupting virsh (usually using
``Ctrl-C``) or by ``domjobabort`` command sent from another virsh instance.
Index: libvirt-9.0.0/include/libvirt/libvirt-domain.h
Index: libvirt-9.1.0/include/libvirt/libvirt-domain.h
===================================================================
--- libvirt-9.0.0.orig/include/libvirt/libvirt-domain.h
+++ libvirt-9.0.0/include/libvirt/libvirt-domain.h
--- libvirt-9.1.0.orig/include/libvirt/libvirt-domain.h
+++ libvirt-9.1.0/include/libvirt/libvirt-domain.h
@@ -1367,6 +1367,31 @@ typedef enum {
*/
# define VIR_MIGRATE_PARAM_TLS_DESTINATION "tls.destination"
@ -76,11 +76,11 @@ Index: libvirt-9.0.0/include/libvirt/libvirt-domain.h
/* Domain migration. */
virDomainPtr virDomainMigrate (virDomainPtr domain, virConnectPtr dconn,
unsigned long flags, const char *dname,
Index: libvirt-9.0.0/src/libxl/libxl_driver.c
Index: libvirt-9.1.0/src/libxl/libxl_driver.c
===================================================================
--- libvirt-9.0.0.orig/src/libxl/libxl_driver.c
+++ libvirt-9.0.0/src/libxl/libxl_driver.c
@@ -5996,6 +5996,9 @@ libxlDomainMigratePerform3Params(virDoma
--- libvirt-9.1.0.orig/src/libxl/libxl_driver.c
+++ libvirt-9.1.0/src/libxl/libxl_driver.c
@@ -6142,6 +6142,9 @@ libxlDomainMigratePerform3Params(virDoma
const char *dname = NULL;
const char *uri = NULL;
int ret = -1;
@ -90,7 +90,7 @@ Index: libvirt-9.0.0/src/libxl/libxl_driver.c
#ifdef LIBXL_HAVE_NO_SUSPEND_RESUME
virReportUnsupportedError();
@@ -6012,6 +6015,15 @@ libxlDomainMigratePerform3Params(virDoma
@@ -6158,6 +6161,15 @@ libxlDomainMigratePerform3Params(virDoma
virTypedParamsGetString(params, nparams,
VIR_MIGRATE_PARAM_DEST_NAME,
&dname) < 0 ||
@ -106,7 +106,7 @@ Index: libvirt-9.0.0/src/libxl/libxl_driver.c
virTypedParamsGetString(params, nparams,
VIR_MIGRATE_PARAM_URI,
&uri) < 0)
@@ -6026,11 +6038,11 @@ libxlDomainMigratePerform3Params(virDoma
@@ -6172,11 +6184,11 @@ libxlDomainMigratePerform3Params(virDoma
if ((flags & (VIR_MIGRATE_TUNNELLED | VIR_MIGRATE_PEER2PEER))) {
if (libxlDomainMigrationSrcPerformP2P(driver, vm, dom->conn, dom_xml,
@ -120,10 +120,10 @@ Index: libvirt-9.0.0/src/libxl/libxl_driver.c
goto cleanup;
}
Index: libvirt-9.0.0/src/libxl/libxl_migration.c
Index: libvirt-9.1.0/src/libxl/libxl_migration.c
===================================================================
--- libvirt-9.0.0.orig/src/libxl/libxl_migration.c
+++ libvirt-9.0.0/src/libxl/libxl_migration.c
--- libvirt-9.1.0.orig/src/libxl/libxl_migration.c
+++ libvirt-9.1.0/src/libxl/libxl_migration.c
@@ -329,18 +329,38 @@ libxlMigrateDstReceive(virNetSocket *soc
static int
libxlDoMigrateSrcSend(libxlDriverPrivate *driver,
@ -284,10 +284,10 @@ Index: libvirt-9.0.0/src/libxl/libxl_migration.c
virObjectLock(vm);
if (ret == 0) {
Index: libvirt-9.0.0/src/libxl/libxl_migration.h
Index: libvirt-9.1.0/src/libxl/libxl_migration.h
===================================================================
--- libvirt-9.0.0.orig/src/libxl/libxl_migration.h
+++ libvirt-9.0.0/src/libxl/libxl_migration.h
--- libvirt-9.1.0.orig/src/libxl/libxl_migration.h
+++ libvirt-9.1.0/src/libxl/libxl_migration.h
@@ -35,6 +35,9 @@
VIR_MIGRATE_PARAM_URI, VIR_TYPED_PARAM_STRING, \
VIR_MIGRATE_PARAM_DEST_NAME, VIR_TYPED_PARAM_STRING, \
@ -330,11 +330,11 @@ Index: libvirt-9.0.0/src/libxl/libxl_migration.h
virDomainPtr
libxlDomainMigrationDstFinish(virConnectPtr dconn,
Index: libvirt-9.0.0/tools/virsh-domain.c
Index: libvirt-9.1.0/tools/virsh-domain.c
===================================================================
--- libvirt-9.0.0.orig/tools/virsh-domain.c
+++ libvirt-9.0.0/tools/virsh-domain.c
@@ -11104,6 +11104,18 @@ static const vshCmdOptDef opts_migrate[]
--- libvirt-9.1.0.orig/tools/virsh-domain.c
+++ libvirt-9.1.0/tools/virsh-domain.c
@@ -11097,6 +11097,18 @@ static const vshCmdOptDef opts_migrate[]
.completer = virshCompleteEmpty,
.help = N_("override the destination host name used for TLS verification")
},
@ -353,7 +353,7 @@ Index: libvirt-9.0.0/tools/virsh-domain.c
{.name = NULL}
};
@@ -11124,6 +11136,7 @@ doMigrate(void *opaque)
@@ -11117,6 +11129,7 @@ doMigrate(void *opaque)
unsigned long long ullOpt = 0;
int rv;
virConnectPtr dconn = data->dconn;
@ -361,7 +361,7 @@ Index: libvirt-9.0.0/tools/virsh-domain.c
#ifndef WIN32
sigset_t sigmask, oldsigmask;
@@ -11254,6 +11267,22 @@ doMigrate(void *opaque)
@@ -11241,6 +11254,22 @@ doMigrate(void *opaque)
goto save_error;
}

View File

@ -13,10 +13,10 @@ Signed-off-by: Jim Fehlig <jfehlig@suse.com>
src/libxl/libxl_conf.c | 19 ++++++++++++++++++-
1 file changed, 18 insertions(+), 1 deletion(-)
Index: libvirt-9.0.0/src/libxl/libxl_conf.c
Index: libvirt-9.1.0/src/libxl/libxl_conf.c
===================================================================
--- libvirt-9.0.0.orig/src/libxl/libxl_conf.c
+++ libvirt-9.0.0/src/libxl/libxl_conf.c
--- libvirt-9.1.0.orig/src/libxl/libxl_conf.c
+++ libvirt-9.1.0/src/libxl/libxl_conf.c
@@ -950,6 +950,20 @@ libxlDiskSetDiscard(libxl_device_disk *x
}
@ -38,7 +38,7 @@ Index: libvirt-9.0.0/src/libxl/libxl_conf.c
libxlDiskSetCacheMode(libxl_device_disk *x_disk, int cachemode)
{
switch (cachemode) {
@@ -1092,6 +1106,7 @@ libxlMakeNetworkDiskSrc(virStorageSource
@@ -1087,6 +1101,7 @@ libxlMakeNetworkDiskSrc(virStorageSource
int
libxlMakeDisk(virDomainDiskDef *l_disk, libxl_device_disk *x_disk)
{
@ -46,7 +46,7 @@ Index: libvirt-9.0.0/src/libxl/libxl_conf.c
const char *driver = virDomainDiskGetDriver(l_disk);
int format = virDomainDiskGetFormat(l_disk);
virStorageType actual_type = virStorageSourceGetActualType(l_disk->src);
@@ -1105,7 +1120,7 @@ libxlMakeDisk(virDomainDiskDef *l_disk,
@@ -1100,7 +1115,7 @@ libxlMakeDisk(virDomainDiskDef *l_disk,
if (libxlMakeNetworkDiskSrc(l_disk->src, &x_disk->pdev_path) < 0)
return -1;
} else {
@ -55,7 +55,7 @@ Index: libvirt-9.0.0/src/libxl/libxl_conf.c
}
x_disk->vdev = g_strdup(l_disk->dst);
@@ -1211,6 +1226,8 @@ libxlMakeDisk(virDomainDiskDef *l_disk,
@@ -1206,6 +1221,8 @@ libxlMakeDisk(virDomainDiskDef *l_disk,
x_disk->is_cdrom = l_disk->device == VIR_DOMAIN_DISK_DEVICE_CDROM ? 1 : 0;
libxlDiskSetDiscard(x_disk, l_disk->discard);
libxlDiskSetCacheMode(x_disk, l_disk->cachemode);

View File

@ -15,10 +15,10 @@ From: <cbosdonnat@suse.com>
src/lxc/lxc_process.c | 1 +
3 files changed, 4 insertions(+)
Index: libvirt-9.0.0/src/lxc/lxc_controller.c
Index: libvirt-9.1.0/src/lxc/lxc_controller.c
===================================================================
--- libvirt-9.0.0.orig/src/lxc/lxc_controller.c
+++ libvirt-9.0.0/src/lxc/lxc_controller.c
--- libvirt-9.1.0.orig/src/lxc/lxc_controller.c
+++ libvirt-9.1.0/src/lxc/lxc_controller.c
@@ -1997,6 +1997,7 @@ static int virLXCControllerDeleteInterfa
if (virNetDevVethDelete(ctrl->veths[i]) < 0)
ret = -1;
@ -27,11 +27,11 @@ Index: libvirt-9.0.0/src/lxc/lxc_controller.c
return ret;
}
Index: libvirt-9.0.0/src/lxc/lxc_driver.c
Index: libvirt-9.1.0/src/lxc/lxc_driver.c
===================================================================
--- libvirt-9.0.0.orig/src/lxc/lxc_driver.c
+++ libvirt-9.0.0/src/lxc/lxc_driver.c
@@ -3494,6 +3494,7 @@ lxcDomainAttachDeviceNetLive(virLXCDrive
--- libvirt-9.1.0.orig/src/lxc/lxc_driver.c
+++ libvirt-9.1.0/src/lxc/lxc_driver.c
@@ -3593,6 +3593,7 @@ lxcDomainAttachDeviceNetLive(virLXCDrive
case VIR_DOMAIN_NET_TYPE_NETWORK:
case VIR_DOMAIN_NET_TYPE_ETHERNET:
ignore_value(virNetDevVethDelete(veth));
@ -39,7 +39,7 @@ Index: libvirt-9.0.0/src/lxc/lxc_driver.c
break;
case VIR_DOMAIN_NET_TYPE_DIRECT:
@@ -3935,6 +3936,7 @@ lxcDomainDetachDeviceNetLive(virDomainOb
@@ -4058,6 +4059,7 @@ lxcDomainDetachDeviceNetLive(virDomainOb
virDomainAuditNet(vm, detach, NULL, "detach", false);
goto cleanup;
}
@ -47,10 +47,10 @@ Index: libvirt-9.0.0/src/lxc/lxc_driver.c
break;
/* It'd be nice to support this, but with macvlan
Index: libvirt-9.0.0/src/lxc/lxc_process.c
Index: libvirt-9.1.0/src/lxc/lxc_process.c
===================================================================
--- libvirt-9.0.0.orig/src/lxc/lxc_process.c
+++ libvirt-9.0.0/src/lxc/lxc_process.c
--- libvirt-9.1.0.orig/src/lxc/lxc_process.c
+++ libvirt-9.1.0/src/lxc/lxc_process.c
@@ -226,6 +226,7 @@ static void virLXCProcessCleanup(virLXCD
VIR_WARN("Unable to release network device '%s'", NULLSTR(iface->ifname));
}

View File

@ -17,10 +17,10 @@ Signed-off-by: Martin Wilck <mwilck@suse.com>
tests/networkxml2confdata/dhcp6host-routed-network.conf | 1 -
2 files changed, 8 insertions(+), 2 deletions(-)
Index: libvirt-9.0.0/src/network/bridge_driver.c
Index: libvirt-9.1.0/src/network/bridge_driver.c
===================================================================
--- libvirt-9.0.0.orig/src/network/bridge_driver.c
+++ libvirt-9.0.0/src/network/bridge_driver.c
--- libvirt-9.1.0.orig/src/network/bridge_driver.c
+++ libvirt-9.1.0/src/network/bridge_driver.c
@@ -1044,7 +1044,14 @@ networkDnsmasqConfDHCP(virBuffer *buf,
if (VIR_SOCKET_ADDR_IS_FAMILY(&ipdef->address, AF_INET)) {
if (ipdef->nranges || ipdef->nhosts) {
@ -37,10 +37,10 @@ Index: libvirt-9.0.0/src/network/bridge_driver.c
}
if (ipdef->bootfile) {
Index: libvirt-9.0.0/tests/networkxml2confdata/dhcp6host-routed-network.conf
Index: libvirt-9.1.0/tests/networkxml2confdata/dhcp6host-routed-network.conf
===================================================================
--- libvirt-9.0.0.orig/tests/networkxml2confdata/dhcp6host-routed-network.conf
+++ libvirt-9.0.0/tests/networkxml2confdata/dhcp6host-routed-network.conf
--- libvirt-9.1.0.orig/tests/networkxml2confdata/dhcp6host-routed-network.conf
+++ libvirt-9.1.0/tests/networkxml2confdata/dhcp6host-routed-network.conf
@@ -10,7 +10,6 @@ bind-dynamic
interface=virbr1
dhcp-range=192.168.122.1,static

View File

@ -10,10 +10,10 @@ Signed-off-by: Jim Fehlig <jfehlig@suse.com>
src/util/virarch.c | 2 ++
1 file changed, 2 insertions(+)
Index: libvirt-9.0.0/src/util/virarch.c
Index: libvirt-9.1.0/src/util/virarch.c
===================================================================
--- libvirt-9.0.0.orig/src/util/virarch.c
+++ libvirt-9.0.0/src/util/virarch.c
--- libvirt-9.1.0.orig/src/util/virarch.c
+++ libvirt-9.1.0/src/util/virarch.c
@@ -222,6 +222,8 @@ virArch virArchFromHost(void)
arch = VIR_ARCH_X86_64;
} else if (STREQ(ut.machine, "arm64")) {

View File

@ -8,10 +8,10 @@ Not sure who added this patch. See bug#904426 for possible suspects.
src/security/apparmor/libvirt-qemu | 3 +++
1 file changed, 3 insertions(+)
Index: libvirt-9.0.0/src/security/apparmor/libvirt-qemu
Index: libvirt-9.1.0/src/security/apparmor/libvirt-qemu
===================================================================
--- libvirt-9.0.0.orig/src/security/apparmor/libvirt-qemu
+++ libvirt-9.0.0/src/security/apparmor/libvirt-qemu
--- libvirt-9.1.0.orig/src/security/apparmor/libvirt-qemu
+++ libvirt-9.1.0/src/security/apparmor/libvirt-qemu
@@ -254,3 +254,6 @@
# required for QEMU accessing UEFI nvram variables
owner /var/lib/libvirt/qemu/nvram/*_VARS.fd rwk,

View File

@ -15,10 +15,10 @@ Signed-off-by: Eric van Blokland <mail@ericvanblokland.nl>
src/lxc/lxc_process.c | 33 +++++++++++++++++++++++++++++++--
1 file changed, 31 insertions(+), 2 deletions(-)
Index: libvirt-9.0.0/src/lxc/lxc_process.c
Index: libvirt-9.1.0/src/lxc/lxc_process.c
===================================================================
--- libvirt-9.0.0.orig/src/lxc/lxc_process.c
+++ libvirt-9.0.0/src/lxc/lxc_process.c
--- libvirt-9.1.0.orig/src/lxc/lxc_process.c
+++ libvirt-9.1.0/src/lxc/lxc_process.c
@@ -49,6 +49,9 @@
#include "virprocess.h"
#include "netdev_bandwidth_conf.h"

View File

@ -8,10 +8,10 @@ Signed-off-by: Jim Fehlig <jfehlig@suse.com>
tools/libvirt-guests.sh.in | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
Index: libvirt-9.0.0/tools/libvirt-guests.sh.in
Index: libvirt-9.1.0/tools/libvirt-guests.sh.in
===================================================================
--- libvirt-9.0.0.orig/tools/libvirt-guests.sh.in
+++ libvirt-9.0.0/tools/libvirt-guests.sh.in
--- libvirt-9.1.0.orig/tools/libvirt-guests.sh.in
+++ libvirt-9.1.0/tools/libvirt-guests.sh.in
@@ -20,10 +20,6 @@ sysconfdir="@sysconfdir@"
localstatedir="@localstatedir@"
libvirtd="@sbindir@"/libvirtd

View File

@ -14,10 +14,10 @@ Signed-off-by: Jim Fehlig <jfehlig@suse.com>
src/remote/test_libvirtd.aug.in | 2 +-
3 files changed, 4 insertions(+), 4 deletions(-)
Index: libvirt-9.0.0/src/remote/libvirtd.conf.in
Index: libvirt-9.1.0/src/remote/libvirtd.conf.in
===================================================================
--- libvirt-9.0.0.orig/src/remote/libvirtd.conf.in
+++ libvirt-9.0.0/src/remote/libvirtd.conf.in
--- libvirt-9.1.0.orig/src/remote/libvirtd.conf.in
+++ libvirt-9.1.0/src/remote/libvirtd.conf.in
@@ -19,8 +19,8 @@
# It is necessary to setup a CA and issue server certificates before
# using this capability.
@ -29,10 +29,10 @@ Index: libvirt-9.0.0/src/remote/libvirtd.conf.in
# Listen for unencrypted TCP connections on the public TCP/IP port.
#
Index: libvirt-9.0.0/src/remote/remote_daemon_config.c
Index: libvirt-9.1.0/src/remote/remote_daemon_config.c
===================================================================
--- libvirt-9.0.0.orig/src/remote/remote_daemon_config.c
+++ libvirt-9.0.0/src/remote/remote_daemon_config.c
--- libvirt-9.1.0.orig/src/remote/remote_daemon_config.c
+++ libvirt-9.1.0/src/remote/remote_daemon_config.c
@@ -95,7 +95,7 @@ daemonConfigNew(bool privileged G_GNUC_U
#ifdef WITH_IP
@ -42,10 +42,10 @@ Index: libvirt-9.0.0/src/remote/remote_daemon_config.c
# else /* ! LIBVIRTD */
data->listen_tls = false; /* Always honoured, --listen doesn't exist. */
# endif /* ! LIBVIRTD */
Index: libvirt-9.0.0/src/remote/test_libvirtd.aug.in
Index: libvirt-9.1.0/src/remote/test_libvirtd.aug.in
===================================================================
--- libvirt-9.0.0.orig/src/remote/test_libvirtd.aug.in
+++ libvirt-9.0.0/src/remote/test_libvirtd.aug.in
--- libvirt-9.1.0.orig/src/remote/test_libvirtd.aug.in
+++ libvirt-9.1.0/src/remote/test_libvirtd.aug.in
@@ -3,7 +3,7 @@ module Test_@DAEMON_NAME@ =
test @DAEMON_NAME_UC@.lns get conf =

View File

@ -16,10 +16,10 @@ Signed-off-by: Jim Fehlig <jfehlig@suse.com>
src/libxl/test_libvirtd_libxl.aug.in | 2 +-
3 files changed, 8 insertions(+), 19 deletions(-)
Index: libvirt-9.0.0/src/libxl/libxl.conf
Index: libvirt-9.1.0/src/libxl/libxl.conf
===================================================================
--- libvirt-9.0.0.orig/src/libxl/libxl.conf
+++ libvirt-9.0.0/src/libxl/libxl.conf
--- libvirt-9.1.0.orig/src/libxl/libxl.conf
+++ libvirt-9.1.0/src/libxl/libxl.conf
@@ -4,12 +4,11 @@
# Enable autoballooning of domain0
@ -37,11 +37,11 @@ Index: libvirt-9.0.0/src/libxl/libxl.conf
# In order to prevent accidentally starting two domains that
Index: libvirt-9.0.0/src/libxl/libxl_conf.c
Index: libvirt-9.1.0/src/libxl/libxl_conf.c
===================================================================
--- libvirt-9.0.0.orig/src/libxl/libxl_conf.c
+++ libvirt-9.0.0/src/libxl/libxl_conf.c
@@ -1745,15 +1745,12 @@ libxlMakeBuildInfoVfb(virPortAllocatorRa
--- libvirt-9.1.0.orig/src/libxl/libxl_conf.c
+++ libvirt-9.1.0/src/libxl/libxl_conf.c
@@ -1740,15 +1740,12 @@ libxlMakeBuildInfoVfb(virPortAllocatorRa
/*
* Get domain0 autoballoon configuration. Honor user-specified
* setting in libxl.conf first. If not specified, autoballooning
@ -58,7 +58,7 @@ Index: libvirt-9.0.0/src/libxl/libxl_conf.c
int res;
res = virConfGetValueBool(conf, "autoballoon", &cfg->autoballoon);
@@ -1762,15 +1759,8 @@ libxlGetAutoballoonConf(libxlDriverConfi
@@ -1757,15 +1754,8 @@ libxlGetAutoballoonConf(libxlDriverConfi
else if (res == 1)
return 0;
@ -76,10 +76,10 @@ Index: libvirt-9.0.0/src/libxl/libxl_conf.c
return 0;
}
Index: libvirt-9.0.0/src/libxl/test_libvirtd_libxl.aug.in
Index: libvirt-9.1.0/src/libxl/test_libvirtd_libxl.aug.in
===================================================================
--- libvirt-9.0.0.orig/src/libxl/test_libvirtd_libxl.aug.in
+++ libvirt-9.0.0/src/libxl/test_libvirtd_libxl.aug.in
--- libvirt-9.1.0.orig/src/libxl/test_libvirtd_libxl.aug.in
+++ libvirt-9.1.0/src/libxl/test_libvirtd_libxl.aug.in
@@ -2,7 +2,7 @@ module Test_libvirtd_libxl =
@CONFIG@

View File

@ -17,10 +17,10 @@ Signed-off-by: Jim Fehlig <jfehlig@suse.com>
src/qemu/test_libvirtd_qemu.aug.in | 1 +
3 files changed, 28 insertions(+), 7 deletions(-)
Index: libvirt-9.0.0/src/qemu/qemu.conf.in
Index: libvirt-9.1.0/src/qemu/qemu.conf.in
===================================================================
--- libvirt-9.0.0.orig/src/qemu/qemu.conf.in
+++ libvirt-9.0.0/src/qemu/qemu.conf.in
--- libvirt-9.1.0.orig/src/qemu/qemu.conf.in
+++ libvirt-9.1.0/src/qemu/qemu.conf.in
@@ -491,10 +491,19 @@
# isolation, but it cannot appear in a list of drivers.
#
@ -70,10 +70,10 @@ Index: libvirt-9.0.0/src/qemu/qemu.conf.in
#
#lock_manager = "lockd"
Index: libvirt-9.0.0/src/qemu/qemu_conf.c
Index: libvirt-9.1.0/src/qemu/qemu_conf.c
===================================================================
--- libvirt-9.0.0.orig/src/qemu/qemu_conf.c
+++ libvirt-9.0.0/src/qemu/qemu_conf.c
--- libvirt-9.1.0.orig/src/qemu/qemu_conf.c
+++ libvirt-9.1.0/src/qemu/qemu_conf.c
@@ -265,7 +265,7 @@ virQEMUDriverConfig *virQEMUDriverConfig
cfg->slirpHelperName = g_strdup(QEMU_SLIRP_HELPER);
cfg->dbusDaemonName = g_strdup(QEMU_DBUS_DAEMON);
@ -83,10 +83,10 @@ Index: libvirt-9.0.0/src/qemu/qemu_conf.c
cfg->securityRequireConfined = false;
cfg->keepAliveInterval = 5;
Index: libvirt-9.0.0/src/qemu/test_libvirtd_qemu.aug.in
Index: libvirt-9.1.0/src/qemu/test_libvirtd_qemu.aug.in
===================================================================
--- libvirt-9.0.0.orig/src/qemu/test_libvirtd_qemu.aug.in
+++ libvirt-9.0.0/src/qemu/test_libvirtd_qemu.aug.in
--- libvirt-9.1.0.orig/src/qemu/test_libvirtd_qemu.aug.in
+++ libvirt-9.1.0/src/qemu/test_libvirtd_qemu.aug.in
@@ -45,6 +45,7 @@ module Test_libvirtd_qemu =
{ "remote_websocket_port_min" = "5700" }
{ "remote_websocket_port_max" = "65535" }

View File

@ -16,10 +16,10 @@ Signed-off-by: Jim Fehlig <jfehlig@suse.com>
src/security/virt-aa-helper.c | 3 ++-
4 files changed, 11 insertions(+), 13 deletions(-)
Index: libvirt-9.0.0/src/qemu/qemu.conf.in
Index: libvirt-9.1.0/src/qemu/qemu.conf.in
===================================================================
--- libvirt-9.0.0.orig/src/qemu/qemu.conf.in
+++ libvirt-9.0.0/src/qemu/qemu.conf.in
--- libvirt-9.1.0.orig/src/qemu/qemu.conf.in
+++ libvirt-9.1.0/src/qemu/qemu.conf.in
@@ -857,10 +857,9 @@
# for x86_64 and i686, but it's AAVMF for aarch64. The libvirt default
# follows this scheme.
@ -34,10 +34,10 @@ Index: libvirt-9.0.0/src/qemu/qemu.conf.in
#]
# The backend to use for handling stdout/stderr output from
Index: libvirt-9.0.0/src/qemu/qemu_conf.c
Index: libvirt-9.1.0/src/qemu/qemu_conf.c
===================================================================
--- libvirt-9.0.0.orig/src/qemu/qemu_conf.c
+++ libvirt-9.0.0/src/qemu/qemu_conf.c
--- libvirt-9.1.0.orig/src/qemu/qemu_conf.c
+++ libvirt-9.1.0/src/qemu/qemu_conf.c
@@ -90,10 +90,9 @@ VIR_ONCE_GLOBAL_INIT(virQEMUConfig);
#ifndef DEFAULT_LOADER_NVRAM
@ -52,10 +52,10 @@ Index: libvirt-9.0.0/src/qemu/qemu_conf.c
#endif
Index: libvirt-9.0.0/src/qemu/test_libvirtd_qemu.aug.in
Index: libvirt-9.1.0/src/qemu/test_libvirtd_qemu.aug.in
===================================================================
--- libvirt-9.0.0.orig/src/qemu/test_libvirtd_qemu.aug.in
+++ libvirt-9.0.0/src/qemu/test_libvirtd_qemu.aug.in
--- libvirt-9.1.0.orig/src/qemu/test_libvirtd_qemu.aug.in
+++ libvirt-9.1.0/src/qemu/test_libvirtd_qemu.aug.in
@@ -96,10 +96,9 @@ module Test_libvirtd_qemu =
{ "migration_port_max" = "49215" }
{ "log_timestamp" = "0" }
@ -70,10 +70,10 @@ Index: libvirt-9.0.0/src/qemu/test_libvirtd_qemu.aug.in
}
{ "stdio_handler" = "logd" }
{ "gluster_debug_level" = "9" }
Index: libvirt-9.0.0/src/security/virt-aa-helper.c
Index: libvirt-9.1.0/src/security/virt-aa-helper.c
===================================================================
--- libvirt-9.0.0.orig/src/security/virt-aa-helper.c
+++ libvirt-9.0.0/src/security/virt-aa-helper.c
--- libvirt-9.1.0.orig/src/security/virt-aa-helper.c
+++ libvirt-9.1.0/src/security/virt-aa-helper.c
@@ -482,7 +482,8 @@ valid_path(const char *path, const bool
"/usr/share/qemu-efi/", /* for AAVMF images */
"/usr/share/qemu-efi-aarch64/", /* for AAVMF images */

View File

@ -12,11 +12,11 @@ Signed-off-by: Jim Fehlig <jfehlig@suse.com>
src/libxl/libxl_conf.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
Index: libvirt-9.0.0/src/libxl/libxl_conf.c
Index: libvirt-9.1.0/src/libxl/libxl_conf.c
===================================================================
--- libvirt-9.0.0.orig/src/libxl/libxl_conf.c
+++ libvirt-9.0.0/src/libxl/libxl_conf.c
@@ -1796,7 +1796,7 @@ libxlDriverConfigNew(void)
--- libvirt-9.1.0.orig/src/libxl/libxl_conf.c
+++ libvirt-9.1.0/src/libxl/libxl_conf.c
@@ -1791,7 +1791,7 @@ libxlDriverConfigNew(void)
cfg->firmwares = g_new0(virFirmware *, 1);
cfg->nfirmwares = 1;
cfg->firmwares[0] = g_new0(virFirmware, 1);

View File

@ -13,10 +13,10 @@ From <cbosdonnat@suse.com>
create mode 100644 docs/manpages/virt-create-rootfs.rst
create mode 100644 tools/virt-create-rootfs
Index: libvirt-9.0.0/docs/manpages/meson.build
Index: libvirt-9.1.0/docs/manpages/meson.build
===================================================================
--- libvirt-9.0.0.orig/docs/manpages/meson.build
+++ libvirt-9.0.0/docs/manpages/meson.build
--- libvirt-9.1.0.orig/docs/manpages/meson.build
+++ libvirt-9.1.0/docs/manpages/meson.build
@@ -21,6 +21,7 @@ docs_man_files = [
{ 'name': 'virt-qemu-qmp-proxy', 'section': '1', 'install': conf.has('WITH_QEMU') },
{ 'name': 'virt-xml-validate', 'section': '1', 'install': true },
@ -25,10 +25,10 @@ Index: libvirt-9.0.0/docs/manpages/meson.build
{ 'name': 'libvirt-guests', 'section': '8', 'install': conf.has('WITH_LIBVIRTD') },
{ 'name': 'libvirtd', 'section': '8', 'install': conf.has('WITH_LIBVIRTD') },
Index: libvirt-9.0.0/docs/manpages/virt-create-rootfs.rst
Index: libvirt-9.1.0/docs/manpages/virt-create-rootfs.rst
===================================================================
--- /dev/null
+++ libvirt-9.0.0/docs/manpages/virt-create-rootfs.rst
+++ libvirt-9.1.0/docs/manpages/virt-create-rootfs.rst
@@ -0,0 +1,88 @@
+==================
+virt-create-rootfs
@ -118,10 +118,10 @@ Index: libvirt-9.0.0/docs/manpages/virt-create-rootfs.rst
+========
+
+virsh(1), `https://libvirt.org/ <https://libvirt.org/>`_
Index: libvirt-9.0.0/tools/meson.build
Index: libvirt-9.1.0/tools/meson.build
===================================================================
--- libvirt-9.0.0.orig/tools/meson.build
+++ libvirt-9.0.0/tools/meson.build
--- libvirt-9.1.0.orig/tools/meson.build
+++ libvirt-9.1.0/tools/meson.build
@@ -154,6 +154,8 @@ else
virsh_icon_res = []
endif
@ -131,10 +131,10 @@ Index: libvirt-9.0.0/tools/meson.build
executable(
'virsh',
[
Index: libvirt-9.0.0/tools/virt-create-rootfs
Index: libvirt-9.1.0/tools/virt-create-rootfs
===================================================================
--- /dev/null
+++ libvirt-9.0.0/tools/virt-create-rootfs
+++ libvirt-9.1.0/tools/virt-create-rootfs
@@ -0,0 +1,236 @@
+#!/bin/sh
+set -e
@ -372,3 +372,15 @@ Index: libvirt-9.0.0/tools/virt-create-rootfs
+ echo "pts/0" >> "$ROOT/etc/securetty"
+ chroot "$ROOT" /usr/bin/passwd
+fi
Index: libvirt-9.1.0/docs/manpages/index.rst
===================================================================
--- libvirt-9.1.0.orig/docs/manpages/index.rst
+++ libvirt-9.1.0/docs/manpages/index.rst
@@ -45,6 +45,7 @@ Tools
* `virt-pki-query-dn(1) <virt-pki-query-dn.html>`__ - extract Distinguished Name from a PEM certificate
* `virt-ssh-helper(8) <virt-ssh-helper.html>`__ - libvirt socket proxy (internal helper tool)
* `virt-qemu-qmp-proxy(1) <virt-qemu-qmp-proxy.html>`__ - Expose a QMP proxy server for a libvirt QEMU guest
+* `virt-create-rootfs(1) <virt-create-rootfs.html>`__ - tool to create a root file system for distro containers
Key codes
=========