SHA256
1
0
forked from pool/libvirt

Accepting request 514264 from home:jfehlig:branches:Virtualization

- Update to libvirt 3.6.0
  - Many incremental improvements and bug fixes, see
    http://libvirt.org/news.html
- Fix unit tests on s390x and ppc64
  8982f3ab-util-hash-header.patch,
  0b1ecf7b-virHashCodeGen-mockable.patch.
  f536b0dd-tests-arch-independent-hash.patch
- Patch cleanup
  - Renamed libvirtd-defaults.patch to
    suse-libvirtd-disable-tls.patch
  - Renamed libvirtd-init-script.patch to
    suse-libvirtd-sysconfig-settings.patch
  - Renamed virtlockd-init-script.patch to
    suse-virtlockd-sysconfig-settings.patch
  - Renamed virtlogd-init-script.patch to
    suse-virtlogd-sysconfig-settings.patch
  - Renamed libvirt-guests-init-script.patch to
    suse-libvirt-guests-service.patch
  - Combined suse-libvirtd-service.patch and
    systemd-service-xen.patch to suse-libvirtd-service-xen.patch
    since both patches add Xen support to libvirtd service file
  - Pull OVMF-related changes from suse-qemu-conf.patch into a
    new suse-ovmf-paths.patch

- Add a supportconfig plugin
  libvirt-supportconfig
  FATE#323661

OBS-URL: https://build.opensuse.org/request/show/514264
OBS-URL: https://build.opensuse.org/package/show/Virtualization/libvirt?expand=0&rev=615
This commit is contained in:
James Fehlig 2017-08-03 17:28:59 +00:00 committed by Git OBS Bridge
parent b5d01ae01a
commit 0d01ad3986
39 changed files with 632 additions and 491 deletions

View File

@ -0,0 +1,37 @@
commit 0b1ecf7b5342f8631d1b1cce8a7937bda511be98
Author: Peter Krempa <pkrempa@redhat.com>
Date: Wed Aug 2 17:31:14 2017 +0200
util: hash: Make virHashCodeGen mockable
Export the function from the util module so that dynamic linking can
override it.
Index: libvirt-3.6.0/src/libvirt_private.syms
===================================================================
--- libvirt-3.6.0.orig/src/libvirt_private.syms
+++ libvirt-3.6.0/src/libvirt_private.syms
@@ -1776,6 +1776,10 @@ virHashUpdateEntry;
virHashValueFree;
+# util/virhashcode.h
+virHashCodeGen;
+
+
# util/virhook.h
virHookCall;
virHookInitialize;
Index: libvirt-3.6.0/src/util/virhashcode.h
===================================================================
--- libvirt-3.6.0.orig/src/util/virhashcode.h
+++ libvirt-3.6.0/src/util/virhashcode.h
@@ -30,6 +30,7 @@
# include "internal.h"
-uint32_t virHashCodeGen(const void *key, size_t len, uint32_t seed);
+uint32_t virHashCodeGen(const void *key, size_t len, uint32_t seed)
+ ATTRIBUTE_NOINLINE;
#endif /* __VIR_HASH_CODE_H__ */

View File

@ -0,0 +1,21 @@
commit 8982f3ab20194e23e34205c4165602a03ada8b56
Author: Peter Krempa <pkrempa@redhat.com>
Date: Wed Aug 2 17:28:55 2017 +0200
util: hash: Include stdbool.h in the header file
The functions declared in virhash.h return bool, but stdbool.h was not
included.
Index: libvirt-3.6.0/src/util/virhash.h
===================================================================
--- libvirt-3.6.0.orig/src/util/virhash.h
+++ libvirt-3.6.0/src/util/virhash.h
@@ -14,6 +14,7 @@
# define __VIR_HASH_H__
# include <stdint.h>
+# include <stdbool.h>
/*
* The hash table.

View File

@ -1,7 +1,7 @@
Index: libvirt-3.5.0/examples/apparmor/libvirt-qemu
Index: libvirt-3.6.0/examples/apparmor/libvirt-qemu
===================================================================
--- libvirt-3.5.0.orig/examples/apparmor/libvirt-qemu
+++ libvirt-3.5.0/examples/apparmor/libvirt-qemu
--- libvirt-3.6.0.orig/examples/apparmor/libvirt-qemu
+++ libvirt-3.6.0/examples/apparmor/libvirt-qemu
@@ -156,6 +156,9 @@
# for restore
/{usr/,}bin/bash rmix,

View File

@ -1,7 +1,7 @@
Index: libvirt-3.5.0/examples/apparmor/libvirt-lxc
Index: libvirt-3.6.0/examples/apparmor/libvirt-lxc
===================================================================
--- libvirt-3.5.0.orig/examples/apparmor/libvirt-lxc
+++ libvirt-3.5.0/examples/apparmor/libvirt-lxc
--- libvirt-3.6.0.orig/examples/apparmor/libvirt-lxc
+++ libvirt-3.6.0/examples/apparmor/libvirt-lxc
@@ -2,39 +2,15 @@
#include <abstractions/base>

View File

@ -11,15 +11,14 @@ Signed-off-by: Chunyan Liu <cyliu@suse.com>
src/qemu/qemu_driver.c | 7 +++++++
1 file changed, 7 insertions(+)
Index: libvirt-3.5.0/src/qemu/qemu_driver.c
Index: libvirt-3.6.0/src/qemu/qemu_driver.c
===================================================================
--- libvirt-3.5.0.orig/src/qemu/qemu_driver.c
+++ libvirt-3.5.0/src/qemu/qemu_driver.c
@@ -16789,6 +16789,15 @@ qemuDomainBlockCopyCommon(virDomainObjPt
_("non-file destination not supported yet"));
--- libvirt-3.6.0.orig/src/qemu/qemu_driver.c
+++ libvirt-3.6.0/src/qemu/qemu_driver.c
@@ -16836,6 +16836,14 @@ qemuDomainBlockCopyCommon(virDomainObjPt
goto endjob;
}
+
+ if (STREQ_NULLABLE(realpath(disk->src->path, NULL),
+ realpath(mirror->path, NULL))) {
+ virReportError(VIR_ERR_INVALID_ARG,
@ -28,6 +27,6 @@ Index: libvirt-3.5.0/src/qemu/qemu_driver.c
+ goto endjob;
+ }
+
if (stat(mirror->path, &st) < 0) {
if (errno != ENOENT) {
virReportSystemError(errno, _("unable to stat for disk %s: %s"),
if (qemuDomainStorageFileInit(driver, vm, mirror) < 0)
goto endjob;

View File

@ -0,0 +1,139 @@
commit f536b0dd7318c736c20ae646209671011d16c12c
Author: Peter Krempa <pkrempa@redhat.com>
Date: Wed Aug 2 17:23:51 2017 +0200
tests: deterministichash: Make hash tables arch-independent
It turns out that our implementation of the hashing function is
endian-dependent and thus if used on various architectures the testsuite
may have different results. Work this around by mocking virHashCodeGen
to something which does not use bit operations instead of just setting a
deterministic seed.
Index: libvirt-3.6.0/tests/qemumonitorjsondata/qemumonitorjson-nodename-relative.result
===================================================================
--- libvirt-3.6.0.orig/tests/qemumonitorjsondata/qemumonitorjson-nodename-relative.result
+++ libvirt-3.6.0/tests/qemumonitorjsondata/qemumonitorjson-nodename-relative.result
@@ -1,15 +1,3 @@
-drive-ide0-0-1
-filename : '/var/lib/libvirt/images/relsnap.qcow2'
-format node : '#block1290'
-format drv : 'qcow2'
-storage node: '#block1107'
-storage drv : 'file'
- filename : '/var/lib/libvirt/images/base.qcow2'
- format node : '#block927'
- format drv : 'qcow2'
- storage node: '#block800'
- storage drv : 'file'
-
drive-ide0-0-0
filename : '/var/lib/libvirt/images/img3'
format node : '#block118'
@@ -31,3 +19,15 @@ storage drv : 'file'
format drv : 'qcow2'
storage node: '#block614'
storage drv : 'file'
+
+drive-ide0-0-1
+filename : '/var/lib/libvirt/images/relsnap.qcow2'
+format node : '#block1290'
+format drv : 'qcow2'
+storage node: '#block1107'
+storage drv : 'file'
+ filename : '/var/lib/libvirt/images/base.qcow2'
+ format node : '#block927'
+ format drv : 'qcow2'
+ storage node: '#block800'
+ storage drv : 'file'
Index: libvirt-3.6.0/tests/qemumonitorjsondata/qemumonitorjson-nodename-same-backing.result
===================================================================
--- libvirt-3.6.0.orig/tests/qemumonitorjsondata/qemumonitorjson-nodename-same-backing.result
+++ libvirt-3.6.0/tests/qemumonitorjsondata/qemumonitorjson-nodename-same-backing.result
@@ -1,15 +1,3 @@
-drive-sata0-0-1
-filename : '/var/lib/libvirt/images/b.qcow2'
-format node : '#block548'
-format drv : 'qcow2'
-storage node: '#block487'
-storage drv : 'file'
- filename : '/var/lib/libvirt/images/base.qcow2'
- format node : '#block771'
- format drv : 'qcow2'
- storage node: '#block692'
- storage drv : 'file'
-
drive-sata0-0-0
filename : '/var/lib/libvirt/images/a.qcow2'
format node : '#block132'
@@ -21,3 +9,15 @@ storage drv : 'file'
format drv : 'qcow2'
storage node: '#block224'
storage drv : 'file'
+
+drive-sata0-0-1
+filename : '/var/lib/libvirt/images/b.qcow2'
+format node : '#block548'
+format drv : 'qcow2'
+storage node: '#block487'
+storage drv : 'file'
+ filename : '/var/lib/libvirt/images/base.qcow2'
+ format node : '#block771'
+ format drv : 'qcow2'
+ storage node: '#block692'
+ storage drv : 'file'
Index: libvirt-3.6.0/tests/virdeterministichashmock.c
===================================================================
--- libvirt-3.6.0.orig/tests/virdeterministichashmock.c
+++ libvirt-3.6.0/tests/virdeterministichashmock.c
@@ -20,10 +20,19 @@
#include <config.h>
-#include "virrandom.h"
+#include "util/virhashcode.h"
-uint64_t virRandomBits(int nbits ATTRIBUTE_UNUSED)
+uint32_t
+virHashCodeGen(const void *key,
+ size_t len,
+ uint32_t seed ATTRIBUTE_UNUSED)
{
- return 4; /* chosen by fair dice roll.
- guaranteed to be random. */
+ const uint8_t *k = key;
+ uint32_t h = 0;
+ size_t i;
+
+ for (i = 0; i < len; i++)
+ h += k[i];
+
+ return h;
}
Index: libvirt-3.6.0/tests/virmacmaptestdata/simple2.json
===================================================================
--- libvirt-3.6.0.orig/tests/virmacmaptestdata/simple2.json
+++ libvirt-3.6.0/tests/virmacmaptestdata/simple2.json
@@ -1,16 +1,16 @@
[
{
- "domain": "f25",
+ "domain": "f24",
"macs": [
- "00:11:22:33:44:55",
- "aa:bb:cc:00:11:22"
+ "aa:bb:cc:dd:ee:ff",
+ "a1:b2:c3:d4:e5:f6"
]
},
{
- "domain": "f24",
+ "domain": "f25",
"macs": [
- "aa:bb:cc:dd:ee:ff",
- "a1:b2:c3:d4:e5:f6"
+ "00:11:22:33:44:55",
+ "aa:bb:cc:00:11:22"
]
}
]

View File

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

View File

@ -1,10 +0,0 @@
-----BEGIN PGP SIGNATURE-----
iQEcBAABAgAGBQJZXACWAAoJEBVYiyZZa+pdgRgIAKCnd5WOpD+lOXAUDhXnBpUp
aWUOnqEAK6CqcnbtjqKzc22a6tBurP5+0HzuHquyrJKHO9VEUCu6a/a+26OHgrhH
UFYJTxVj7EAMdR6moY9J92RXQShus7Kav49j8QtUpuZh1LjEaFkHQqKHlntqE1YT
MBPfpj/zEL4QU4aki9e03TYDP/etwADSNbFxlMUbbP6Ugt3h2KHRQZ0y12EXzD3c
ZqNx7X+YV5zhY9+f1rKU0KHEkIzdkfM94aBeV0ZmzL3wnSla/a8zfP5vTbK76Gxu
bYtt0qp5Q2hbf96DVQJOPvohjRoP2k+sZXEaNMtVK+hczhmK7+jtU6hIiSNa4Vw=
=eRgg
-----END PGP SIGNATURE-----

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

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

10
libvirt-3.6.0.tar.xz.asc Normal file
View File

@ -0,0 +1,10 @@
-----BEGIN PGP SIGNATURE-----
iQEcBAABAgAGBQJZgTFuAAoJEBVYiyZZa+pdtVgH/AlO4NEMgA8VLeOCrQxDCAqB
Bvfx3tw1pm+6suwSAQBUfNIjRcmZzJbXXfmZX20K4pIjUBR3edz30ergxtIM9YXP
DJ+oPTl7lE1ibaqE/6lFD16KXZ1pXK4iAvbSske84ANYHjADUVOZDeov5beqs3Ef
DPCpN03Y5RPe/lrfY1c3ma3+wq5jFBJp4ERgpsKIuviD2XUFAhyiXyogQDqzyIZ1
I54GDZfJWFAof1iTB9f0mqtEEhNPCnBY/veS5GjUHI4EUrs+/TbYINLqfTyttf5l
Qyw9QOXvhQzGu0YF2TLvlVLcSfz/ZqeQkACROz4bRi85UvlmcSIVek01Qnr82Hw=
=ZqVA
-----END PGP SIGNATURE-----

View File

@ -2,10 +2,10 @@ Add POWER8 v2.0 and v2.1 to cpu map XML
From: <ro@suse.de>
Index: libvirt-3.5.0/src/cpu/cpu_map.xml
Index: libvirt-3.6.0/src/cpu/cpu_map.xml
===================================================================
--- libvirt-3.5.0.orig/src/cpu/cpu_map.xml
+++ libvirt-3.5.0/src/cpu/cpu_map.xml
--- libvirt-3.6.0.orig/src/cpu/cpu_map.xml
+++ libvirt-3.6.0/src/cpu/cpu_map.xml
@@ -1569,6 +1569,8 @@
<pvr value='0x004b0000' mask='0xffff0000'/>
<pvr value='0x004c0000' mask='0xffff0000'/>

131
libvirt-supportconfig Normal file
View File

@ -0,0 +1,131 @@
#!/bin/bash
#############################################################
# Name: Supportconfig Plugin for libvirt
# Description: Gathers important troubleshooting information
# about libvirt
# Author: Jim Fehlig <jfehlig@suse.com>
#############################################################
RCFILE="/usr/lib/supportconfig/resources/scplugin.rc"
LIBVIRTD_CONF_FILES="/etc/libvirt/libvirtd.conf /etc/libvirt/virtlockd.conf /etc/libvirt/virtlogd.conf"
VM_CONF_FILES=""
LIBVIRTD_LOG_FILES="$(find -L /var/log/libvirt/ -name libvirtd.log -type f | sort)"
if [ -s $RCFILE ]; then
if ! source $RCFILE; then
echo "ERROR: Initializing resource file: $RCFILE" >&2
exit 1
fi
fi
rpm_installed() {
thisrpm="$1"
if rpm -q "$thisrpm" >/dev/null 2>&1; then
return 0
fi
return 1
}
rpm_verify() {
thisrpm="$1"
local ret=0
echo
echo "#==[ Validating RPM ]=================================#"
if rpm -q "$thisrpm" >/dev/null 2>&1; then
echo "# rpm -V $thisrpm"
if rpm -V "$thisrpm"; then
echo "Status: Passed"
else
echo "Status: WARNING"
fi
else
echo "package $thisrpm is not installed"
ret=1
fi
echo
return $ret
}
if rpm_installed libvirt-daemon-xen; then
LIBVIRTD_CONF_FILES="$LIBVIRTD_CONF_FILES /etc/libvirt/libxl.conf /etc/libvirt/libxl-lockd.conf /etc/libvirt/libxl-sanlock.conf"
test -d /etc/libvirt/libxl && VM_CONF_FILES="$VM_CONF_FILES $(find -L /etc/libvirt/libxl/ -type f | sort)"
test -d /var/log/libvirt/libxl && LIBVIRTD_LOG_FILES="$LIBVIRTD_LOG_FILES $(find -L /var/log/libvirt/libxl/ -type f | grep 'log$' | sort)"
fi
if rpm_installed libvirt-daemon-qemu; then
LIBVIRTD_CONF_FILES="$LIBVIRTD_CONF_FILES /etc/libvirt/qemu.conf /etc/libvirt/qemu-lockd.conf /etc/libvirt/qemu-sanlock.conf"
test -d /etc/libvirt/qemu && VM_CONF_FILES="$VM_CONF_FILES $(find -L /etc/libvirt/qemu/ -type f | sort)"
test -d /var/log/libvirt/qemu && LIBVIRTD_LOG_FILES="$LIBVIRTD_LOG_FILES $(find -L /var/log/libvirt/qemu/ -type f | grep 'log$' | sort)"
fi
if rpm_installed libvirt-daemon-lxc; then
LIBVIRTD_CONF_FILES="$LIBVIRTD_CONF_FILES /etc/libvirt/lxc.conf"
test -d /etc/libvirt/lxc && VM_CONF_FILES="$VM_CONF_FILES $(find -L /etc/libvirt/lxc/ -type f | sort)"
test -d /var/log/libvirt/lxc && LIBVIRTD_LOG_FILES="$LIBVIRTD_LOG_FILES $(find -L /var/log/libvirt/lxc/ -type f | grep 'log$' | sort)"
fi
if rpm_installed libvirt-admin; then
LIBVIRTD_CONF_FILES="$LIBVIRTD_CONF_FILES /etc/libvirt/libvirt-admin.conf"
fi
if ! rpm_verify libvirt-daemon; then
echo "Skipped"
exit 0
fi
if systemctl is-enabled libvirtd.service 2>&1 > /dev/null; then
plugin_command "virsh version"
plugin_command "virsh capabilities"
plugin_command "virsh domcapabilities"
plugin_command "virsh nodeinfo"
plugin_command "virsh nodedev-list"
# print all known domains on default URI
plugin_command "virsh list --all"
echo
# dump configuration info of active domains on default URI
for DOM in $(virsh list --name)
do
plugin_command "virsh dumpxml $DOM"
plugin_command "virsh vcpuinfo $DOM"
plugin_command "virsh dominfo $DOM"
plugin_command "virsh domjobinfo $DOM"
plugin_command "virsh dommemstat $DOM"
plugin_command "virsh snapshot-list $DOM"
echo
done
# dump configuration info of inactive domains od default URI
for DOM in $(virsh list --name --inactive)
do
plugin_command "virsh dumpxml $DOM"
plugin_command "virsh snapshot-list $DOM"
echo
done
# for LXC domains we have to explicitly specify the URI
if rpm_installed libvirt-daemon-lxc; then
for DOM in $(virsh -c lxc:/// list --name --all); do
plugin_command "virsh -c lxc:/// dumpxml $DOM"
plugin_command "virsh -c lxc:/// dominfo $DOM"
echo
done
fi
fi
# dump libvirtd-related conf files
pconf_files "$LIBVIRTD_CONF_FILES"
# dump VM-related conf files
pconf_files "$VM_CONF_FILES"
# dump hook conf files
test -d /etc/libvirt/hooks && FILES="$(find -L /etc/libvirt/hooks/ -type f | sort)"
pconf_files "$FILES"
# dump all log files
plog_files 0 "$LIBVIRTD_LOG_FILES"
echo "Done"

View File

@ -1,7 +1,7 @@
Index: libvirt-3.5.0/configure.ac
Index: libvirt-3.6.0/configure.ac
===================================================================
--- libvirt-3.5.0.orig/configure.ac
+++ libvirt-3.5.0/configure.ac
--- libvirt-3.6.0.orig/configure.ac
+++ libvirt-3.6.0/configure.ac
@@ -256,6 +256,7 @@ LIBVIRT_ARG_LIBSSH
LIBVIRT_ARG_LIBXML
LIBVIRT_ARG_MACVTAP
@ -26,11 +26,11 @@ Index: libvirt-3.5.0/configure.ac
LIBVIRT_RESULT_NSS
LIBVIRT_RESULT_NUMACTL
LIBVIRT_RESULT_OPENWSMAN
Index: libvirt-3.5.0/src/Makefile.am
Index: libvirt-3.6.0/src/Makefile.am
===================================================================
--- libvirt-3.5.0.orig/src/Makefile.am
+++ libvirt-3.5.0/src/Makefile.am
@@ -1035,6 +1035,10 @@ if WITH_NETCF
--- libvirt-3.6.0.orig/src/Makefile.am
+++ libvirt-3.6.0/src/Makefile.am
@@ -1036,6 +1036,10 @@ if WITH_NETCF
INTERFACE_DRIVER_SOURCES += \
interface/interface_backend_netcf.c
endif WITH_NETCF
@ -41,7 +41,7 @@ Index: libvirt-3.5.0/src/Makefile.am
if WITH_UDEV
INTERFACE_DRIVER_SOURCES += \
interface/interface_backend_udev.c
@@ -1703,6 +1707,10 @@ if WITH_NETCF
@@ -1648,6 +1652,10 @@ if WITH_NETCF
libvirt_driver_interface_la_CFLAGS += $(NETCF_CFLAGS)
libvirt_driver_interface_la_LIBADD += $(NETCF_LIBS)
endif WITH_NETCF
@ -52,10 +52,10 @@ Index: libvirt-3.5.0/src/Makefile.am
if WITH_UDEV
libvirt_driver_interface_la_CFLAGS += $(UDEV_CFLAGS)
libvirt_driver_interface_la_LIBADD += $(UDEV_LIBS)
Index: libvirt-3.5.0/tools/virsh.c
Index: libvirt-3.6.0/tools/virsh.c
===================================================================
--- libvirt-3.5.0.orig/tools/virsh.c
+++ libvirt-3.5.0/tools/virsh.c
--- libvirt-3.6.0.orig/tools/virsh.c
+++ libvirt-3.6.0/tools/virsh.c
@@ -570,6 +570,8 @@ virshShowVersion(vshControl *ctl ATTRIBU
vshPrint(ctl, " Interface");
# if defined(WITH_NETCF)
@ -65,10 +65,10 @@ Index: libvirt-3.5.0/tools/virsh.c
# elif defined(WITH_UDEV)
vshPrint(ctl, " udev");
# endif
Index: libvirt-3.5.0/src/interface/interface_backend_netcf.c
Index: libvirt-3.6.0/src/interface/interface_backend_netcf.c
===================================================================
--- libvirt-3.5.0.orig/src/interface/interface_backend_netcf.c
+++ libvirt-3.5.0/src/interface/interface_backend_netcf.c
--- libvirt-3.6.0.orig/src/interface/interface_backend_netcf.c
+++ libvirt-3.6.0/src/interface/interface_backend_netcf.c
@@ -23,7 +23,12 @@
#include <config.h>
@ -152,10 +152,10 @@ Index: libvirt-3.5.0/src/interface/interface_backend_netcf.c
if (virSetSharedInterfaceDriver(&interfaceDriver) < 0)
return -1;
if (virRegisterStateDriver(&interfaceStateDriver) < 0)
Index: libvirt-3.5.0/src/interface/interface_driver.c
Index: libvirt-3.6.0/src/interface/interface_driver.c
===================================================================
--- libvirt-3.5.0.orig/src/interface/interface_driver.c
+++ libvirt-3.5.0/src/interface/interface_driver.c
--- libvirt-3.6.0.orig/src/interface/interface_driver.c
+++ libvirt-3.6.0/src/interface/interface_driver.c
@@ -30,8 +30,15 @@ interfaceRegister(void)
if (netcfIfaceRegister() == 0)
return 0;
@ -173,10 +173,10 @@ Index: libvirt-3.5.0/src/interface/interface_driver.c
if (udevIfaceRegister() == 0)
return 0;
#endif /* WITH_UDEV */
Index: libvirt-3.5.0/m4/virt-netcontrol.m4
Index: libvirt-3.6.0/m4/virt-netcontrol.m4
===================================================================
--- /dev/null
+++ libvirt-3.5.0/m4/virt-netcontrol.m4
+++ libvirt-3.6.0/m4/virt-netcontrol.m4
@@ -0,0 +1,39 @@
+dnl The libnetcontrol library
+dnl

View File

@ -1,3 +1,37 @@
-------------------------------------------------------------------
Thu Aug 3 17:56:42 UTC 2017 - jfehlig@suse.com
- Update to libvirt 3.6.0
- Many incremental improvements and bug fixes, see
http://libvirt.org/news.html
- Fix unit tests on s390x and ppc64
8982f3ab-util-hash-header.patch,
0b1ecf7b-virHashCodeGen-mockable.patch.
f536b0dd-tests-arch-independent-hash.patch
- Patch cleanup
- Renamed libvirtd-defaults.patch to
suse-libvirtd-disable-tls.patch
- Renamed libvirtd-init-script.patch to
suse-libvirtd-sysconfig-settings.patch
- Renamed virtlockd-init-script.patch to
suse-virtlockd-sysconfig-settings.patch
- Renamed virtlogd-init-script.patch to
suse-virtlogd-sysconfig-settings.patch
- Renamed libvirt-guests-init-script.patch to
suse-libvirt-guests-service.patch
- Combined suse-libvirtd-service.patch and
systemd-service-xen.patch to suse-libvirtd-service-xen.patch
since both patches add Xen support to libvirtd service file
- Pull OVMF-related changes from suse-qemu-conf.patch into a
new suse-ovmf-paths.patch
-------------------------------------------------------------------
Wed Jul 26 22:53:11 UTC 2017 - jfehlig@suse.com
- Add a supportconfig plugin
libvirt-supportconfig
FATE#323661
-------------------------------------------------------------------
Wed Jul 26 15:49:21 UTC 2017 - jfehlig@suse.com

View File

@ -165,7 +165,7 @@
Name: libvirt
Url: http://libvirt.org/
Version: 3.5.0
Version: 3.6.0
Release: 0
Summary: Library providing a simple virtualization API
License: LGPL-2.1+
@ -301,9 +301,13 @@ Source0: %{name}-%{version}.tar.xz
Source1: %{name}-%{version}.tar.xz.asc
Source2: %{name}.keyring
Source3: libvirtd-relocation-server.fw
Source4: libvirt-supportconfig
Source99: baselibs.conf
Source100: %{name}-rpmlintrc
# Upstream patches
Patch0: 8982f3ab-util-hash-header.patch
Patch1: 0b1ecf7b-virHashCodeGen-mockable.patch
Patch2: f536b0dd-tests-arch-independent-hash.patch
# Patches pending upstream review
Patch100: libxl-dom-reset.patch
Patch101: network-don-t-use-dhcp-authoritative-on-static-netwo.patch
@ -316,22 +320,22 @@ Patch154: libxl-set-migration-constraints.patch
Patch155: libxl-set-cach-mode.patch
Patch156: apparmor-fixes.patch
# Our patches
Patch200: libvirtd-defaults.patch
Patch201: libvirtd-init-script.patch
Patch202: libvirt-guests-init-script.patch
Patch203: virtlockd-init-script.patch
Patch204: virtlogd-init-script.patch
Patch205: suse-qemu-conf.patch
Patch206: support-managed-pci-xen-driver.patch
Patch207: systemd-service-xen.patch
Patch208: xen-sxpr-disk-type.patch
Patch209: libxl-support-block-script.patch
Patch210: apparmor-no-mount.patch
Patch211: qemu-apparmor-screenshot.patch
Patch212: libvirt-suse-netcontrol.patch
Patch213: lxc-wait-after-eth-del.patch
Patch214: libxl-qemu-emulator-caps.patch
Patch215: suse-libvirtd-service.patch
Patch200: suse-libvirtd-disable-tls.patch
Patch201: suse-libvirtd-sysconfig-settings.patch
Patch202: suse-libvirt-guests-service.patch
Patch203: suse-virtlockd-sysconfig-settings.patch
Patch204: suse-virtlogd-sysconfig-settings.patch
Patch205: suse-libvirtd-service-xen.patch
Patch206: suse-qemu-conf.patch
Patch207: suse-ovmf-paths.patch
Patch208: support-managed-pci-xen-driver.patch
Patch209: xen-sxpr-disk-type.patch
Patch210: libxl-support-block-script.patch
Patch211: apparmor-no-mount.patch
Patch212: qemu-apparmor-screenshot.patch
Patch213: libvirt-suse-netcontrol.patch
Patch214: lxc-wait-after-eth-del.patch
Patch215: libxl-qemu-emulator-caps.patch
# SLES-Only patches
%if %{with_sle_build}
Patch400: virt-create-rootfs.patch
@ -869,6 +873,9 @@ libvirt plugin for NSS for translating domain names into IP addresses.
%prep
%setup -q
%patch0 -p1
%patch1 -p1
%patch2 -p1
%patch100 -p1
%patch101 -p1
%patch150 -p1
@ -1191,6 +1198,10 @@ ln -s %{_sbindir}/service %{buildroot}/%{_sbindir}/rclibvirt-guests
mkdir -p %{buildroot}/%{_fwdefdir}
install -m 644 %{S:3} %{buildroot}/%{_fwdefdir}/libvirtd-relocation-server
# install supportconfig plugin
mkdir -p %{buildroot}/usr/lib/supportconfig/plugins
install -m 755 %{S:4} %{buildroot}/usr/lib/supportconfig/plugins/libvirt
%ifarch %{power64} s390x x86_64
mv %{buildroot}/%{_datadir}/systemtap/tapset/libvirt_probes.stp \
%{buildroot}/%{_datadir}/systemtap/tapset/libvirt_probes-64.stp
@ -1388,6 +1399,9 @@ fi
%{_libdir}/%{name}/virt-aa-helper
%endif
%config %{_fwdefdir}/libvirtd-relocation-server
%dir /usr/lib/supportconfig
%dir /usr/lib/supportconfig/plugins
/usr/lib/supportconfig/plugins/libvirt
%files daemon-config-network
%dir %{_datadir}/libvirt/networks/

View File

@ -8,10 +8,10 @@ Date: Mon Jun 23 15:51:20 2014 -0600
option, but domainReset can be implemented in the libxl driver by
forcibly destroying the domain and starting it again.
Index: libvirt-3.5.0/src/libxl/libxl_driver.c
Index: libvirt-3.6.0/src/libxl/libxl_driver.c
===================================================================
--- libvirt-3.5.0.orig/src/libxl/libxl_driver.c
+++ libvirt-3.5.0/src/libxl/libxl_driver.c
--- libvirt-3.6.0.orig/src/libxl/libxl_driver.c
+++ libvirt-3.6.0/src/libxl/libxl_driver.c
@@ -1381,6 +1381,61 @@ libxlDomainReboot(virDomainPtr dom, unsi
}

View File

@ -8,10 +8,10 @@ as the default <emulator>, instead of the qemu-xen one.
See FATE#320638 for details.
Index: libvirt-3.5.0/src/libxl/libxl_capabilities.c
Index: libvirt-3.6.0/src/libxl/libxl_capabilities.c
===================================================================
--- libvirt-3.5.0.orig/src/libxl/libxl_capabilities.c
+++ libvirt-3.5.0/src/libxl/libxl_capabilities.c
--- libvirt-3.6.0.orig/src/libxl/libxl_capabilities.c
+++ libvirt-3.6.0/src/libxl/libxl_capabilities.c
@@ -38,6 +38,7 @@
#include "libxl_capabilities.h"
#include "cpu/cpu_x86.h"

View File

@ -3,11 +3,11 @@ https://bugzilla.novell.com/show_bug.cgi?id=879425
src/libxl/libxl_conf.c | 25 +++++++++++++++++++++++++
1 file changed, 25 insertions(+)
Index: libvirt-3.5.0/src/libxl/libxl_conf.c
Index: libvirt-3.6.0/src/libxl/libxl_conf.c
===================================================================
--- libvirt-3.5.0.orig/src/libxl/libxl_conf.c
+++ libvirt-3.5.0/src/libxl/libxl_conf.c
@@ -645,6 +645,30 @@ libxlDiskSetDiscard(libxl_device_disk *x
--- libvirt-3.6.0.orig/src/libxl/libxl_conf.c
+++ libvirt-3.6.0/src/libxl/libxl_conf.c
@@ -646,6 +646,30 @@ libxlDiskSetDiscard(libxl_device_disk *x
#endif
}
@ -38,7 +38,7 @@ Index: libvirt-3.5.0/src/libxl/libxl_conf.c
static char *
libxlMakeNetworkDiskSrcStr(virStorageSourcePtr src,
const char *username,
@@ -892,6 +916,7 @@ libxlMakeDisk(virDomainDiskDefPtr l_disk
@@ -893,6 +917,7 @@ libxlMakeDisk(virDomainDiskDefPtr l_disk
x_disk->is_cdrom = l_disk->device == VIR_DOMAIN_DISK_DEVICE_CDROM ? 1 : 0;
if (libxlDiskSetDiscard(x_disk, l_disk->discard) < 0)
return -1;

View File

@ -16,10 +16,10 @@ Signed-off-by: Jim Fehlig <jfehlig@suse.com>
tools/virsh.pod | 8 ++++++++
6 files changed, 125 insertions(+), 6 deletions(-)
Index: libvirt-3.5.0/include/libvirt/libvirt-domain.h
Index: libvirt-3.6.0/include/libvirt/libvirt-domain.h
===================================================================
--- libvirt-3.5.0.orig/include/libvirt/libvirt-domain.h
+++ libvirt-3.5.0/include/libvirt/libvirt-domain.h
--- libvirt-3.6.0.orig/include/libvirt/libvirt-domain.h
+++ libvirt-3.6.0/include/libvirt/libvirt-domain.h
@@ -1008,6 +1008,31 @@ typedef enum {
*/
# define VIR_MIGRATE_PARAM_AUTO_CONVERGE_INCREMENT "auto_converge.increment"
@ -52,10 +52,10 @@ Index: libvirt-3.5.0/include/libvirt/libvirt-domain.h
/* Domain migration. */
virDomainPtr virDomainMigrate (virDomainPtr domain, virConnectPtr dconn,
unsigned long flags, const char *dname,
Index: libvirt-3.5.0/src/libxl/libxl_driver.c
Index: libvirt-3.6.0/src/libxl/libxl_driver.c
===================================================================
--- libvirt-3.5.0.orig/src/libxl/libxl_driver.c
+++ libvirt-3.5.0/src/libxl/libxl_driver.c
--- libvirt-3.6.0.orig/src/libxl/libxl_driver.c
+++ libvirt-3.6.0/src/libxl/libxl_driver.c
@@ -6105,6 +6105,9 @@ libxlDomainMigratePerform3Params(virDoma
const char *dname = NULL;
const char *uri = NULL;
@ -99,10 +99,10 @@ Index: libvirt-3.5.0/src/libxl/libxl_driver.c
goto cleanup;
}
Index: libvirt-3.5.0/src/libxl/libxl_migration.c
Index: libvirt-3.6.0/src/libxl/libxl_migration.c
===================================================================
--- libvirt-3.5.0.orig/src/libxl/libxl_migration.c
+++ libvirt-3.5.0/src/libxl/libxl_migration.c
--- libvirt-3.6.0.orig/src/libxl/libxl_migration.c
+++ libvirt-3.6.0/src/libxl/libxl_migration.c
@@ -359,18 +359,39 @@ libxlMigrateReceive(virNetSocketPtr sock
static int
libxlDoMigrateSend(libxlDriverPrivatePtr driver,
@ -263,10 +263,10 @@ Index: libvirt-3.5.0/src/libxl/libxl_migration.c
virObjectLock(vm);
cleanup:
Index: libvirt-3.5.0/src/libxl/libxl_migration.h
Index: libvirt-3.6.0/src/libxl/libxl_migration.h
===================================================================
--- libvirt-3.5.0.orig/src/libxl/libxl_migration.h
+++ libvirt-3.5.0/src/libxl/libxl_migration.h
--- libvirt-3.6.0.orig/src/libxl/libxl_migration.h
+++ libvirt-3.6.0/src/libxl/libxl_migration.h
@@ -39,6 +39,10 @@
VIR_MIGRATE_PARAM_URI, VIR_TYPED_PARAM_STRING, \
VIR_MIGRATE_PARAM_DEST_NAME, VIR_TYPED_PARAM_STRING, \
@ -311,10 +311,10 @@ Index: libvirt-3.5.0/src/libxl/libxl_migration.h
virDomainPtr
libxlDomainMigrationFinish(virConnectPtr dconn,
Index: libvirt-3.5.0/tools/virsh-domain.c
Index: libvirt-3.6.0/tools/virsh-domain.c
===================================================================
--- libvirt-3.5.0.orig/tools/virsh-domain.c
+++ libvirt-3.5.0/tools/virsh-domain.c
--- libvirt-3.6.0.orig/tools/virsh-domain.c
+++ libvirt-3.6.0/tools/virsh-domain.c
@@ -10246,6 +10246,22 @@ static const vshCmdOptDef opts_migrate[]
.type = VSH_OT_BOOL,
.help = N_("use TLS for migration")
@ -374,10 +374,10 @@ Index: libvirt-3.5.0/tools/virsh-domain.c
if (vshCommandOptStringReq(ctl, cmd, "xml", &opt) < 0)
goto out;
if (opt) {
Index: libvirt-3.5.0/tools/virsh.pod
Index: libvirt-3.6.0/tools/virsh.pod
===================================================================
--- libvirt-3.5.0.orig/tools/virsh.pod
+++ libvirt-3.5.0/tools/virsh.pod
--- libvirt-3.6.0.orig/tools/virsh.pod
+++ libvirt-3.6.0/tools/virsh.pod
@@ -1771,6 +1771,14 @@ Providing I<--tls> causes the migration
the migration of the domain. Usage requires proper TLS setup for both source
and target.

View File

@ -7,11 +7,11 @@ and npiv.
For more details, see bsc#954872 and FATE#319810
Index: libvirt-3.5.0/src/libxl/libxl_conf.c
Index: libvirt-3.6.0/src/libxl/libxl_conf.c
===================================================================
--- libvirt-3.5.0.orig/src/libxl/libxl_conf.c
+++ libvirt-3.5.0/src/libxl/libxl_conf.c
@@ -645,6 +645,25 @@ libxlDiskSetDiscard(libxl_device_disk *x
--- libvirt-3.6.0.orig/src/libxl/libxl_conf.c
+++ libvirt-3.6.0/src/libxl/libxl_conf.c
@@ -646,6 +646,25 @@ libxlDiskSetDiscard(libxl_device_disk *x
#endif
}
@ -37,7 +37,7 @@ Index: libvirt-3.5.0/src/libxl/libxl_conf.c
static void
libxlDiskSetCacheMode(libxl_device_disk *x_disk, int cachemode)
{
@@ -789,6 +808,7 @@ libxlMakeNetworkDiskSrc(virStorageSource
@@ -790,6 +809,7 @@ libxlMakeNetworkDiskSrc(virStorageSource
int
libxlMakeDisk(virDomainDiskDefPtr l_disk, libxl_device_disk *x_disk)
{
@ -45,7 +45,7 @@ Index: libvirt-3.5.0/src/libxl/libxl_conf.c
const char *driver = virDomainDiskGetDriver(l_disk);
int format = virDomainDiskGetFormat(l_disk);
int actual_type = virStorageSourceGetActualType(l_disk->src);
@@ -804,7 +824,7 @@ libxlMakeDisk(virDomainDiskDefPtr l_disk
@@ -805,7 +825,7 @@ libxlMakeDisk(virDomainDiskDefPtr l_disk
if (libxlMakeNetworkDiskSrc(l_disk->src, &x_disk->pdev_path) < 0)
return -1;
} else {
@ -54,7 +54,7 @@ Index: libvirt-3.5.0/src/libxl/libxl_conf.c
return -1;
}
@@ -917,6 +937,9 @@ libxlMakeDisk(virDomainDiskDefPtr l_disk
@@ -918,6 +938,9 @@ libxlMakeDisk(virDomainDiskDefPtr l_disk
if (libxlDiskSetDiscard(x_disk, l_disk->discard) < 0)
return -1;
libxlDiskSetCacheMode(x_disk, l_disk->cachemode);

View File

@ -13,10 +13,10 @@ device with the same name that is being created.
src/lxc/lxc_process.c | 1 +
3 files changed, 4 insertions(+)
Index: libvirt-3.5.0/src/lxc/lxc_controller.c
Index: libvirt-3.6.0/src/lxc/lxc_controller.c
===================================================================
--- libvirt-3.5.0.orig/src/lxc/lxc_controller.c
+++ libvirt-3.5.0/src/lxc/lxc_controller.c
--- libvirt-3.6.0.orig/src/lxc/lxc_controller.c
+++ libvirt-3.6.0/src/lxc/lxc_controller.c
@@ -73,6 +73,7 @@
#include "rpc/virnetdaemon.h"
#include "virstring.h"
@ -33,10 +33,10 @@ Index: libvirt-3.5.0/src/lxc/lxc_controller.c
return ret;
}
Index: libvirt-3.5.0/src/lxc/lxc_driver.c
Index: libvirt-3.6.0/src/lxc/lxc_driver.c
===================================================================
--- libvirt-3.5.0.orig/src/lxc/lxc_driver.c
+++ libvirt-3.5.0/src/lxc/lxc_driver.c
--- libvirt-3.6.0.orig/src/lxc/lxc_driver.c
+++ libvirt-3.6.0/src/lxc/lxc_driver.c
@@ -76,6 +76,7 @@
#include "virtime.h"
#include "virtypedparam.h"
@ -45,7 +45,7 @@ Index: libvirt-3.5.0/src/lxc/lxc_driver.c
#include "virstring.h"
#include "viraccessapicheck.h"
#include "viraccessapichecklxc.h"
@@ -4025,6 +4026,7 @@ lxcDomainAttachDeviceNetLive(virConnectP
@@ -4023,6 +4024,7 @@ lxcDomainAttachDeviceNetLive(virConnectP
case VIR_DOMAIN_NET_TYPE_NETWORK:
case VIR_DOMAIN_NET_TYPE_ETHERNET:
ignore_value(virNetDevVethDelete(veth));
@ -53,7 +53,7 @@ Index: libvirt-3.5.0/src/lxc/lxc_driver.c
break;
case VIR_DOMAIN_NET_TYPE_DIRECT:
@@ -4459,6 +4461,7 @@ lxcDomainDetachDeviceNetLive(virDomainOb
@@ -4457,6 +4459,7 @@ lxcDomainDetachDeviceNetLive(virDomainOb
virDomainAuditNet(vm, detach, NULL, "detach", false);
goto cleanup;
}
@ -61,10 +61,10 @@ Index: libvirt-3.5.0/src/lxc/lxc_driver.c
break;
/* It'd be nice to support this, but with macvlan
Index: libvirt-3.5.0/src/lxc/lxc_process.c
Index: libvirt-3.6.0/src/lxc/lxc_process.c
===================================================================
--- libvirt-3.5.0.orig/src/lxc/lxc_process.c
+++ libvirt-3.5.0/src/lxc/lxc_process.c
--- libvirt-3.6.0.orig/src/lxc/lxc_process.c
+++ libvirt-3.6.0/src/lxc/lxc_process.c
@@ -52,6 +52,7 @@
#include "viratomic.h"
#include "virprocess.h"

View File

@ -17,11 +17,11 @@ Signed-off-by: Martin Wilck <mwilck@suse.com>
tests/networkxml2confdata/dhcp6host-routed-network.conf | 1 -
2 files changed, 8 insertions(+), 2 deletions(-)
Index: libvirt-3.5.0/src/network/bridge_driver.c
Index: libvirt-3.6.0/src/network/bridge_driver.c
===================================================================
--- libvirt-3.5.0.orig/src/network/bridge_driver.c
+++ libvirt-3.5.0/src/network/bridge_driver.c
@@ -1409,7 +1409,14 @@ networkDnsmasqConfContents(virNetworkObj
--- libvirt-3.6.0.orig/src/network/bridge_driver.c
+++ libvirt-3.6.0/src/network/bridge_driver.c
@@ -1454,7 +1454,14 @@ networkDnsmasqConfContents(virNetworkObj
if (VIR_SOCKET_ADDR_IS_FAMILY(&ipdef->address, AF_INET)) {
if (ipdef->nranges || ipdef->nhosts) {
virBufferAddLit(&configbuf, "dhcp-no-override\n");
@ -37,10 +37,10 @@ Index: libvirt-3.5.0/src/network/bridge_driver.c
}
if (ipdef->tftproot) {
Index: libvirt-3.5.0/tests/networkxml2confdata/dhcp6host-routed-network.conf
Index: libvirt-3.6.0/tests/networkxml2confdata/dhcp6host-routed-network.conf
===================================================================
--- libvirt-3.5.0.orig/tests/networkxml2confdata/dhcp6host-routed-network.conf
+++ libvirt-3.5.0/tests/networkxml2confdata/dhcp6host-routed-network.conf
--- libvirt-3.6.0.orig/tests/networkxml2confdata/dhcp6host-routed-network.conf
+++ libvirt-3.6.0/tests/networkxml2confdata/dhcp6host-routed-network.conf
@@ -10,7 +10,6 @@ bind-dynamic
interface=virbr1
dhcp-range=192.168.122.1,static

View File

@ -2,10 +2,10 @@ Canonicalize hostarch name ppc64le to ppc64
See bnc#894956
Index: libvirt-3.5.0/src/util/virarch.c
Index: libvirt-3.6.0/src/util/virarch.c
===================================================================
--- libvirt-3.5.0.orig/src/util/virarch.c
+++ libvirt-3.5.0/src/util/virarch.c
--- libvirt-3.6.0.orig/src/util/virarch.c
+++ libvirt-3.6.0/src/util/virarch.c
@@ -169,6 +169,8 @@ virArch virArchFromHost(void)
arch = VIR_ARCH_I686;
} else if (STREQ(ut.machine, "amd64")) {

View File

@ -1,7 +1,7 @@
Index: libvirt-3.5.0/examples/apparmor/libvirt-qemu
Index: libvirt-3.6.0/examples/apparmor/libvirt-qemu
===================================================================
--- libvirt-3.5.0.orig/examples/apparmor/libvirt-qemu
+++ libvirt-3.5.0/examples/apparmor/libvirt-qemu
--- libvirt-3.6.0.orig/examples/apparmor/libvirt-qemu
+++ libvirt-3.6.0/examples/apparmor/libvirt-qemu
@@ -172,3 +172,6 @@
@{PROC}/device-tree/ r,
@{PROC}/device-tree/** r,

View File

@ -8,10 +8,10 @@ Subject: [PATCH] support managed pci devices in xen driver
src/xenxs/xen_xm.c | 28 +++++++++++++++++++++++++++-
2 files changed, 35 insertions(+), 15 deletions(-)
Index: libvirt-3.5.0/src/xenconfig/xen_common.c
Index: libvirt-3.6.0/src/xenconfig/xen_common.c
===================================================================
--- libvirt-3.5.0.orig/src/xenconfig/xen_common.c
+++ libvirt-3.5.0/src/xenconfig/xen_common.c
--- libvirt-3.6.0.orig/src/xenconfig/xen_common.c
+++ libvirt-3.6.0/src/xenconfig/xen_common.c
@@ -394,6 +394,8 @@ xenParsePCI(virConfPtr conf, virDomainDe
{
virConfValuePtr list = virConfGetValue(conf, "pci");
@ -58,7 +58,7 @@ Index: libvirt-3.5.0/src/xenconfig/xen_common.c
+ goto skippci;
+ }
+
if (!(hostdev = virDomainHostdevDefAlloc(NULL)))
if (!(hostdev = virDomainHostdevDefNew(NULL)))
return -1;
- hostdev->managed = false;
@ -66,10 +66,10 @@ Index: libvirt-3.5.0/src/xenconfig/xen_common.c
hostdev->source.subsys.type = VIR_DOMAIN_HOSTDEV_SUBSYS_TYPE_PCI;
hostdev->source.subsys.u.pci.addr.domain = domainID;
hostdev->source.subsys.u.pci.addr.bus = busID;
Index: libvirt-3.5.0/src/xenconfig/xen_sxpr.c
Index: libvirt-3.6.0/src/xenconfig/xen_sxpr.c
===================================================================
--- libvirt-3.5.0.orig/src/xenconfig/xen_sxpr.c
+++ libvirt-3.5.0/src/xenconfig/xen_sxpr.c
--- libvirt-3.6.0.orig/src/xenconfig/xen_sxpr.c
+++ libvirt-3.6.0/src/xenconfig/xen_sxpr.c
@@ -1062,6 +1062,7 @@ xenParseSxprPCI(virDomainDefPtr def,
int busID;
int slotID;
@ -84,7 +84,7 @@ Index: libvirt-3.5.0/src/xenconfig/xen_sxpr.c
+ managed = sexpr_int(node, "dev/opts/managed");
+
if (!(dev = virDomainHostdevDefAlloc(NULL)))
if (!(dev = virDomainHostdevDefNew(NULL)))
goto error;
dev->mode = VIR_DOMAIN_HOSTDEV_MODE_SUBSYS;

View File

@ -1,9 +1,9 @@
Adjust libvirt-guests init files to conform to SUSE standards
Adjust libvirt-guests service to conform to SUSE standards
Index: libvirt-3.5.0/tools/libvirt-guests.init.in
Index: libvirt-3.6.0/tools/libvirt-guests.init.in
===================================================================
--- libvirt-3.5.0.orig/tools/libvirt-guests.init.in
+++ libvirt-3.5.0/tools/libvirt-guests.init.in
--- libvirt-3.6.0.orig/tools/libvirt-guests.init.in
+++ libvirt-3.6.0/tools/libvirt-guests.init.in
@@ -4,27 +4,27 @@
# http://refspecs.linuxfoundation.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/initscrcomconv.html
#
@ -45,10 +45,10 @@ Index: libvirt-3.5.0/tools/libvirt-guests.init.in
#
exec @libexecdir@/libvirt-guests.sh "$@"
Index: libvirt-3.5.0/tools/libvirt-guests.sh.in
Index: libvirt-3.6.0/tools/libvirt-guests.sh.in
===================================================================
--- libvirt-3.5.0.orig/tools/libvirt-guests.sh.in
+++ libvirt-3.5.0/tools/libvirt-guests.sh.in
--- libvirt-3.6.0.orig/tools/libvirt-guests.sh.in
+++ libvirt-3.6.0/tools/libvirt-guests.sh.in
@@ -16,14 +16,13 @@
# License along with this library. If not, see
# <http://www.gnu.org/licenses/>.
@ -208,10 +208,10 @@ Index: libvirt-3.5.0/tools/libvirt-guests.sh.in
esac
-exit $RETVAL
+rc_exit
Index: libvirt-3.5.0/tools/libvirt-guests.sysconf
Index: libvirt-3.6.0/tools/libvirt-guests.sysconf
===================================================================
--- libvirt-3.5.0.orig/tools/libvirt-guests.sysconf
+++ libvirt-3.5.0/tools/libvirt-guests.sysconf
--- libvirt-3.6.0.orig/tools/libvirt-guests.sysconf
+++ libvirt-3.6.0/tools/libvirt-guests.sysconf
@@ -1,19 +1,29 @@
+## Path: System/Virtualization/libvirt-guests
+

View File

@ -1,7 +1,12 @@
Index: libvirt-3.5.0/daemon/libvirtd.conf
Disable TLS by default
On SUSE distros, the default is for libvirtd to listen only on the
Unix Domain Socket. The libvirt client still provides remote access
via a SSH tunnel.
Index: libvirt-3.6.0/daemon/libvirtd.conf
===================================================================
--- libvirt-3.5.0.orig/daemon/libvirtd.conf
+++ libvirt-3.5.0/daemon/libvirtd.conf
--- libvirt-3.6.0.orig/daemon/libvirtd.conf
+++ libvirt-3.6.0/daemon/libvirtd.conf
@@ -18,8 +18,8 @@
# It is necessary to setup a CA and issue server certificates before
# using this capability.
@ -13,10 +18,10 @@ Index: libvirt-3.5.0/daemon/libvirtd.conf
# Listen for unencrypted TCP connections on the public TCP/IP port.
# NB, must pass the --listen flag to the libvirtd process for this to
Index: libvirt-3.5.0/daemon/libvirtd-config.c
Index: libvirt-3.6.0/daemon/libvirtd-config.c
===================================================================
--- libvirt-3.5.0.orig/daemon/libvirtd-config.c
+++ libvirt-3.5.0/daemon/libvirtd-config.c
--- libvirt-3.6.0.orig/daemon/libvirtd-config.c
+++ libvirt-3.6.0/daemon/libvirtd-config.c
@@ -110,7 +110,7 @@ daemonConfigNew(bool privileged ATTRIBUT
if (VIR_ALLOC(data) < 0)
return NULL;
@ -26,10 +31,10 @@ Index: libvirt-3.5.0/daemon/libvirtd-config.c
data->listen_tcp = 0;
if (VIR_STRDUP(data->tls_port, LIBVIRTD_TLS_PORT) < 0 ||
Index: libvirt-3.5.0/daemon/test_libvirtd.aug.in
Index: libvirt-3.6.0/daemon/test_libvirtd.aug.in
===================================================================
--- libvirt-3.5.0.orig/daemon/test_libvirtd.aug.in
+++ libvirt-3.5.0/daemon/test_libvirtd.aug.in
--- libvirt-3.6.0.orig/daemon/test_libvirtd.aug.in
+++ libvirt-3.6.0/daemon/test_libvirtd.aug.in
@@ -2,7 +2,7 @@ module Test_libvirtd =
::CONFIG::

View File

@ -0,0 +1,22 @@
Add support for Xen in libvirtd service file
libvirtd should be started after the xencommons service.
libvirtd should also conflict with the xendomains service.
On SUSE distros, we promote libvirt and all the libvirt-based
tools. If a user installs libvirt on their SUSE Xen host, then
libvirt should be king and override xendomains. See bsc#1015348
Index: libvirt-3.6.0/daemon/libvirtd.service.in
===================================================================
--- libvirt-3.6.0.orig/daemon/libvirtd.service.in
+++ libvirt-3.6.0/daemon/libvirtd.service.in
@@ -14,6 +14,8 @@ After=iscsid.service
After=apparmor.service
After=local-fs.target
After=remote-fs.target
+After=xencommons.service
+Conflicts=xendomains.service
Documentation=man:libvirtd(8)
Documentation=http://libvirt.org

View File

@ -1,19 +0,0 @@
Add Conflicts=xendomains.service to libvirtd service
On SUSE distros, we promote libvirt and all the libvirt-based
tools. If a user installs libvirt on their SUSE Xen host, then libvirt
should be king and override xendomains.
bsc#1015348
Index: libvirt-3.5.0/daemon/libvirtd.service.in
===================================================================
--- libvirt-3.5.0.orig/daemon/libvirtd.service.in
+++ libvirt-3.5.0/daemon/libvirtd.service.in
@@ -15,6 +15,7 @@ After=apparmor.service
After=local-fs.target
After=remote-fs.target
After=xencommons.service
+Conflicts=xendomains.service
Documentation=man:libvirtd(8)
Documentation=http://libvirt.org

View File

@ -1,9 +1,9 @@
Adjust libvirtd sysconfig file to conform to SUSE standards
Index: libvirt-3.5.0/daemon/libvirtd.sysconf
Index: libvirt-3.6.0/daemon/libvirtd.sysconf
===================================================================
--- libvirt-3.5.0.orig/daemon/libvirtd.sysconf
+++ libvirt-3.5.0/daemon/libvirtd.sysconf
--- libvirt-3.6.0.orig/daemon/libvirtd.sysconf
+++ libvirt-3.6.0/daemon/libvirtd.sysconf
@@ -1,16 +1,25 @@
+## Path: System/Virtualization/libvirt
+

36
suse-ovmf-paths.patch Normal file
View File

@ -0,0 +1,36 @@
Adjust paths of OVMF firmwares on SUSE distros
Index: libvirt-3.6.0/src/qemu/qemu.conf
===================================================================
--- libvirt-3.6.0.orig/src/qemu/qemu.conf
+++ libvirt-3.6.0/src/qemu/qemu.conf
@@ -695,10 +695,8 @@ security_default_confined = 0
# for x86_64 and i686, but it's AAVMF for aarch64. The libvirt default
# follows this scheme.
#nvram = [
-# "/usr/share/OVMF/OVMF_CODE.fd:/usr/share/OVMF/OVMF_VARS.fd",
-# "/usr/share/OVMF/OVMF_CODE.secboot.fd:/usr/share/OVMF/OVMF_VARS.fd",
-# "/usr/share/AAVMF/AAVMF_CODE.fd:/usr/share/AAVMF/AAVMF_VARS.fd",
-# "/usr/share/AAVMF/AAVMF32_CODE.fd:/usr/share/AAVMF/AAVMF32_VARS.fd"
+# "/usr/share/qemu/ovmf-x86_64-ms-code.bin:/usr/share/qemu/ovmf-x86_64-ms-vars.bin",
+# "/usr/share/qemu/aavmf-aarch64-code.bin:/usr/share/qemu/aavmf-aarch64-vars.bin"
#]
# The backend to use for handling stdout/stderr output from
Index: libvirt-3.6.0/src/qemu/qemu_conf.c
===================================================================
--- libvirt-3.6.0.orig/src/qemu/qemu_conf.c
+++ libvirt-3.6.0/src/qemu/qemu_conf.c
@@ -127,10 +127,8 @@ void qemuDomainCmdlineDefFree(qemuDomain
#ifndef DEFAULT_LOADER_NVRAM
# define DEFAULT_LOADER_NVRAM \
- "/usr/share/OVMF/OVMF_CODE.fd:/usr/share/OVMF/OVMF_VARS.fd:" \
- "/usr/share/OVMF/OVMF_CODE.secboot.fd:/usr/share/OVMF/OVMF_VARS.fd:" \
- "/usr/share/AAVMF/AAVMF_CODE.fd:/usr/share/AAVMF/AAVMF_VARS.fd:" \
- "/usr/share/AAVMF/AAVMF32_CODE.fd:/usr/share/AAVMF/AAVMF32_VARS.fd"
+ "/usr/share/qemu/ovmf-x86_64-ms-code.bin:/usr/share/qemu/ovmf-x86_64-ms-vars.bin:" \
+ "/usr/share/qemu/aavmf-aarch64-code.bin:/usr/share/qemu/aavmf-aarch64-vars.bin"
#endif

View File

@ -7,10 +7,10 @@ suse-qemu-conf-secdriver.patch, suse-qemu-conf-lockmgr.patch,
etc.), but for now they are all lumped together in this
single patch.
Index: libvirt-3.5.0/src/qemu/qemu.conf
Index: libvirt-3.6.0/src/qemu/qemu.conf
===================================================================
--- libvirt-3.5.0.orig/src/qemu/qemu.conf
+++ libvirt-3.5.0/src/qemu/qemu.conf
--- libvirt-3.6.0.orig/src/qemu/qemu.conf
+++ libvirt-3.6.0/src/qemu/qemu.conf
@@ -332,11 +332,20 @@
# isolation, but it cannot appear in a list of drivers.
#
@ -62,15 +62,3 @@ Index: libvirt-3.5.0/src/qemu/qemu.conf
#
#lock_manager = "lockd"
@@ -675,9 +695,8 @@
# for x86_64 and i686, but it's AAVMF for aarch64. The libvirt default
# follows this scheme.
#nvram = [
-# "/usr/share/OVMF/OVMF_CODE.fd:/usr/share/OVMF/OVMF_VARS.fd",
-# "/usr/share/OVMF/OVMF_CODE.secboot.fd:/usr/share/OVMF/OVMF_VARS.fd",
-# "/usr/share/AAVMF/AAVMF_CODE.fd:/usr/share/AAVMF/AAVMF_VARS.fd"
+# "/usr/share/qemu/ovmf-x86_64-ms-code.bin:/usr/share/qemu/ovmf-x86_64-ms-vars.bin",
+# "/usr/share/qemu/aavmf-aarch64-code.bin:/usr/share/qemu/aavmf-aarch64-vars.bin"
#]
# The backend to use for handling stdout/stderr output from

View File

@ -0,0 +1,14 @@
Adjust virtlockd sysconfig file to conform to SUSE standards
Index: libvirt-3.6.0/src/locking/virtlockd.sysconf
===================================================================
--- libvirt-3.6.0.orig/src/locking/virtlockd.sysconf
+++ libvirt-3.6.0/src/locking/virtlockd.sysconf
@@ -1,3 +1,7 @@
+## Path: System/Virtualization/virtlockd
+
+## Type: string
+## Default: ""
#
# Pass extra arguments to virtlockd
#VIRTLOCKD_ARGS=

View File

@ -0,0 +1,14 @@
Adjust virtlogd sysconfig file to conform to SUSE standards
Index: libvirt-3.6.0/src/logging/virtlogd.sysconf
===================================================================
--- libvirt-3.6.0.orig/src/logging/virtlogd.sysconf
+++ libvirt-3.6.0/src/logging/virtlogd.sysconf
@@ -1,3 +1,7 @@
+## Path: System/Virtualization/virtlogd
+
+## Type: string
+## Default: ""
#
# Pass extra arguments to virtlogd
#VIRTLOGD_ARGS=

View File

@ -1,12 +0,0 @@
Index: libvirt-3.5.0/daemon/libvirtd.service.in
===================================================================
--- libvirt-3.5.0.orig/daemon/libvirtd.service.in
+++ libvirt-3.5.0/daemon/libvirtd.service.in
@@ -14,6 +14,7 @@ After=iscsid.service
After=apparmor.service
After=local-fs.target
After=remote-fs.target
+After=xencommons.service
Documentation=man:libvirtd(8)
Documentation=http://libvirt.org

View File

@ -1,142 +0,0 @@
Adjust virtlockd init files to conform to SUSE standards
Index: libvirt-3.5.0/src/locking/virtlockd.sysconf
===================================================================
--- libvirt-3.5.0.orig/src/locking/virtlockd.sysconf
+++ libvirt-3.5.0/src/locking/virtlockd.sysconf
@@ -1,3 +1,7 @@
+## Path: System/Virtualization/virtlockd
+
+## Type: string
+## Default: ""
#
# Pass extra arguments to virtlockd
#VIRTLOCKD_ARGS=
Index: libvirt-3.5.0/src/locking/virtlockd.init.in
===================================================================
--- libvirt-3.5.0.orig/src/locking/virtlockd.init.in
+++ libvirt-3.5.0/src/locking/virtlockd.init.in
@@ -4,59 +4,57 @@
# http://refspecs.linuxfoundation.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/initscrcomconv.html
#
### BEGIN INIT INFO
-# Provides: virtlockd
-# Default-Start: 3 4 5
-# Default-Stop: 0 1 2 6
-# Required-Start:
-# Required-Stop:
-# Should-Start: $network $remote_fs
-# Should-Stop: $network $remote_fs
+# Provides: virtlockd
+# Required-Start: $network $remote_fs
+# Required-Stop: $network $remote_fs
+# Default-Start: 3 5
+# Default-Stop: 0 1 2 4 6
+# Should-Start:
+# Should-Stop:
# Short-Description: virtual machine lock manager
-# Description: This is a daemon for managing locks
-# on virtual machine disk images
+# Description: This is a daemon for managing locks
+# on virtual machine disk images
### END INIT INFO
# the following is chkconfig init header
#
-# virtlockd: virtual machine lock manager
+# virtlockd: virtual machine lock manager
#
-# chkconfig: 345 96 04
-# description: This is a daemon for managing locks \
-# on virtual machine disk images
+# chkconfig: 345 96 04
+# description: This is a daemon for managing locks \
+# on virtual machine disk images
#
-# processname: virtlockd
-# pidfile: @localstatedir@/run/virtlockd.pid
+# processname: virtlockd
+# pidfile: @localstatedir@/run/virtlockd.pid
#
-# Source function library.
-. @sysconfdir@/rc.d/init.d/functions
+. @sysconfdir@/rc.status
+rc_reset
SERVICE=virtlockd
-PROCESS=virtlockd
-PIDFILE=@localstatedir@/run/$SERVICE.pid
+PROCESS=@sbindir@/virtlockd
+PIDDIR=@localstatedir@/run/libvirt/lockd/
+PIDFILE=$PIDDIR/$SERVICE.pid
VIRTLOCKD_ARGS=
test -f @sysconfdir@/sysconfig/virtlockd && . @sysconfdir@/sysconfig/virtlockd
-RETVAL=0
-
start() {
- echo -n $"Starting $SERVICE daemon: "
- daemon --pidfile $PIDFILE --check $SERVICE $PROCESS --daemon $VIRTLOCKD_ARGS
+ echo -n $"Starting $SERVICE "
+ test -d $PIDDIR || mkdir -p $PIDDIR
+ startproc -p $PIDFILE $PROCESS --pid-file $PIDFILE --daemon $VIRTLOCKD_ARGS
RETVAL=$?
- echo
- [ $RETVAL -eq 0 ] && touch @localstatedir@/lock/subsys/$SERVICE
+ rc_status -v
}
stop() {
- echo -n $"Stopping $SERVICE daemon: "
+ echo -n $"Stopping $SERVICE "
- killproc -p $PIDFILE $PROCESS
+ killproc -p $PIDFILE $PROCESS > /dev/null 2>&1
RETVAL=$?
- echo
+ rc_status -v
if [ $RETVAL -eq 0 ]; then
- rm -f @localstatedir@/lock/subsys/$SERVICE
rm -f $PIDFILE
fi
}
@@ -70,9 +68,7 @@ reload() {
echo -n $"Reloading $SERVICE configuration: "
killproc -p $PIDFILE $PROCESS -USR1
- RETVAL=$?
- echo
- return $RETVAL
+ rc_status
}
# See how we were called.
@@ -81,18 +77,20 @@ case "$1" in
$1
;;
status)
- status -p $PIDFILE $PROCESS
- RETVAL=$?
+ echo -n "Checking status of $SERVICE "
+ checkproc $PROCESS
+ rc_status -v
;;
force-reload)
reload
;;
condrestart|try-restart)
- [ -f @localstatedir@/lock/subsys/$SERVICE ] && restart || :
+ $0 status >/dev/null && restart || :
;;
*)
echo $"Usage: $0 {start|stop|status|restart|condrestart|reload|force-reload|try-restart}"
- exit 2
+ rc_failed 2
+ rc_exit
;;
esac
-exit $RETVAL
+rc_exit

View File

@ -1,140 +0,0 @@
Adjust virtlogd init files to conform to SUSE standards
Index: libvirt-3.5.0/src/logging/virtlogd.init.in
===================================================================
--- libvirt-3.5.0.orig/src/logging/virtlogd.init.in
+++ libvirt-3.5.0/src/logging/virtlogd.init.in
@@ -4,59 +4,56 @@
# http://refspecs.linuxfoundation.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/initscrcomconv.html
#
### BEGIN INIT INFO
-# Provides: virtlogd
-# Default-Start: 3 4 5
-# Default-Stop: 0 1 2 6
-# Required-Start:
-# Required-Stop:
-# Should-Start: $network $remote_fs
-# Should-Stop: $network $remote_fs
+# Provides: virtlogd
+# Required-Start: $network $remote_fs
+# Required-Stop: $network $remote_fs
+# Default-Start: 3 5
+# Default-Stop: 0 1 2 4 6
+# Should-Start
+# Should-Stop:
# Short-Description: virtual machine log manager
-# Description: This is a daemon for managing logs
-# of virtual machine consoles
+# Description: This is a daemon for managing logs
+# of virtual machine consoles
### END INIT INFO
# the following is chkconfig init header
#
-# virtlogd: virtual machine log manager
+# virtlogd: virtual machine log manager
#
-# chkconfig: 345 96 04
-# description: This is a daemon for managing logs \
-# of virtual machine consoles
+# chkconfig: 345 96 04
+# description: This is a daemon for managing logs \
+# of virtual machine consoles
#
-# processname: virtlogd
-# pidfile: @localstatedir@/run/virtlogd.pid
+# processname: virtlogd
+# pidfile: @localstatedir@/run/virtlogd.pid
#
-# Source function library.
-. @sysconfdir@/rc.d/init.d/functions
+. @sysconfdir@/rc.status
+rc_reset
SERVICE=virtlogd
-PROCESS=virtlogd
+PROCESS=@sbindir@/virtlogd
PIDFILE=@localstatedir@/run/$SERVICE.pid
VIRTLOGD_ARGS=
test -f @sysconfdir@/sysconfig/virtlogd && . @sysconfdir@/sysconfig/virtlogd
-RETVAL=0
start() {
- echo -n $"Starting $SERVICE daemon: "
- daemon --pidfile $PIDFILE --check $SERVICE $PROCESS --daemon $VIRTLOGD_ARGS
- RETVAL=$?
- echo
- [ $RETVAL -eq 0 ] && touch @localstatedir@/lock/subsys/$SERVICE
+ echo -n $"Starting $SERVICE "
+ test -d $PIDDIR || mkdir -p $PIDDIR
+ startproc -p $PIDFILE $PROCESS --pid-file $PIDFILE --daemon $VIRTLOGD_ARGS
+ rc_status -v
}
stop() {
- echo -n $"Stopping $SERVICE daemon: "
+ echo -n $"Stopping $SERVICE "
- killproc -p $PIDFILE $PROCESS
+ killproc -p $PIDFILE $PROCESS > /dev/null 2>&1
RETVAL=$?
- echo
+ rc_status -v
if [ $RETVAL -eq 0 ]; then
- rm -f @localstatedir@/lock/subsys/$SERVICE
rm -f $PIDFILE
fi
}
@@ -70,9 +67,7 @@ reload() {
echo -n $"Reloading $SERVICE configuration: "
killproc -p $PIDFILE $PROCESS -USR1
- RETVAL=$?
- echo
- return $RETVAL
+ rc_status
}
# See how we were called.
@@ -81,18 +76,20 @@ case "$1" in
$1
;;
status)
- status -p $PIDFILE $PROCESS
- RETVAL=$?
+ echo -n "Checking status of $SERVICE "
+ checkproc $PROCESS
+ rc_status -v
;;
force-reload)
reload
;;
condrestart|try-restart)
- [ -f @localstatedir@/lock/subsys/$SERVICE ] && restart || :
+ $0 status >/dev/null && restart || :
;;
*)
echo $"Usage: $0 {start|stop|status|restart|condrestart|reload|force-reload|try-restart}"
- exit 2
+ rc_failed 2
+ rc_exit
;;
esac
-exit $RETVAL
+rc_exit
Index: libvirt-3.5.0/src/logging/virtlogd.sysconf
===================================================================
--- libvirt-3.5.0.orig/src/logging/virtlogd.sysconf
+++ libvirt-3.5.0/src/logging/virtlogd.sysconf
@@ -1,3 +1,7 @@
+## Path: System/Virtualization/virtlogd
+
+## Type: string
+## Default: ""
#
# Pass extra arguments to virtlogd
#VIRTLOGD_ARGS=

View File

@ -1,7 +1,7 @@
Index: libvirt-3.5.0/src/xenconfig/xen_sxpr.c
Index: libvirt-3.6.0/src/xenconfig/xen_sxpr.c
===================================================================
--- libvirt-3.5.0.orig/src/xenconfig/xen_sxpr.c
+++ libvirt-3.5.0/src/xenconfig/xen_sxpr.c
--- libvirt-3.6.0.orig/src/xenconfig/xen_sxpr.c
+++ libvirt-3.6.0/src/xenconfig/xen_sxpr.c
@@ -392,7 +392,7 @@ xenParseSxprVifRate(const char *rate, un
static int
xenParseSxprDisks(virDomainDefPtr def,

View File

@ -6,10 +6,10 @@ and 'file'. This was implicitly done prior to commit 9673418c.
https://bugzilla.suse.com/show_bug.cgi?id=938228
Index: libvirt-3.5.0/src/xenconfig/xen_sxpr.c
Index: libvirt-3.6.0/src/xenconfig/xen_sxpr.c
===================================================================
--- libvirt-3.5.0.orig/src/xenconfig/xen_sxpr.c
+++ libvirt-3.5.0/src/xenconfig/xen_sxpr.c
--- libvirt-3.6.0.orig/src/xenconfig/xen_sxpr.c
+++ libvirt-3.6.0/src/xenconfig/xen_sxpr.c
@@ -506,10 +506,11 @@ xenParseSxprDisks(virDomainDefPtr def,
omnipotent, we can revisit this, perhaps stat()'ing
the src file in question */