diff --git a/0b1ecf7b-virHashCodeGen-mockable.patch b/0b1ecf7b-virHashCodeGen-mockable.patch new file mode 100644 index 0000000..96ce2fe --- /dev/null +++ b/0b1ecf7b-virHashCodeGen-mockable.patch @@ -0,0 +1,37 @@ +commit 0b1ecf7b5342f8631d1b1cce8a7937bda511be98 +Author: Peter Krempa +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__ */ diff --git a/8982f3ab-util-hash-header.patch b/8982f3ab-util-hash-header.patch new file mode 100644 index 0000000..f43c627 --- /dev/null +++ b/8982f3ab-util-hash-header.patch @@ -0,0 +1,21 @@ +commit 8982f3ab20194e23e34205c4165602a03ada8b56 +Author: Peter Krempa +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 ++# include + + /* + * The hash table. diff --git a/apparmor-fixes.patch b/apparmor-fixes.patch index aa3e355..8373193 100644 --- a/apparmor-fixes.patch +++ b/apparmor-fixes.patch @@ -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, diff --git a/apparmor-no-mount.patch b/apparmor-no-mount.patch index abd7466..eceba28 100644 --- a/apparmor-no-mount.patch +++ b/apparmor-no-mount.patch @@ -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 diff --git a/blockcopy-check-dst-identical-device.patch b/blockcopy-check-dst-identical-device.patch index 19f23c0..b945340 100644 --- a/blockcopy-check-dst-identical-device.patch +++ b/blockcopy-check-dst-identical-device.patch @@ -11,15 +11,14 @@ Signed-off-by: Chunyan Liu 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; + diff --git a/f536b0dd-tests-arch-independent-hash.patch b/f536b0dd-tests-arch-independent-hash.patch new file mode 100644 index 0000000..2631285 --- /dev/null +++ b/f536b0dd-tests-arch-independent-hash.patch @@ -0,0 +1,139 @@ +commit f536b0dd7318c736c20ae646209671011d16c12c +Author: Peter Krempa +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 + +-#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" + ] + } + ] diff --git a/libvirt-3.5.0.tar.xz b/libvirt-3.5.0.tar.xz deleted file mode 100644 index a6bca1f..0000000 --- a/libvirt-3.5.0.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:2963bae30d41411a2a8184de6a69cc3bd4dba14d2824b67906263dc35b27b516 -size 14695760 diff --git a/libvirt-3.5.0.tar.xz.asc b/libvirt-3.5.0.tar.xz.asc deleted file mode 100644 index daa93c5..0000000 --- a/libvirt-3.5.0.tar.xz.asc +++ /dev/null @@ -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----- diff --git a/libvirt-3.6.0.tar.xz b/libvirt-3.6.0.tar.xz new file mode 100644 index 0000000..d63182f --- /dev/null +++ b/libvirt-3.6.0.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3a2c97f6950796f300f6a2e0404f4de8e51c3b9430cdb82738439adb0ac59e3d +size 14797704 diff --git a/libvirt-3.6.0.tar.xz.asc b/libvirt-3.6.0.tar.xz.asc new file mode 100644 index 0000000..7749fa9 --- /dev/null +++ b/libvirt-3.6.0.tar.xz.asc @@ -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----- diff --git a/libvirt-power8-models.patch b/libvirt-power8-models.patch index 11ce49f..fb720ba 100644 --- a/libvirt-power8-models.patch +++ b/libvirt-power8-models.patch @@ -2,10 +2,10 @@ Add POWER8 v2.0 and v2.1 to cpu map XML From: -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 @@ diff --git a/libvirt-supportconfig b/libvirt-supportconfig new file mode 100644 index 0000000..3212c70 --- /dev/null +++ b/libvirt-supportconfig @@ -0,0 +1,131 @@ +#!/bin/bash +############################################################# +# Name: Supportconfig Plugin for libvirt +# Description: Gathers important troubleshooting information +# about libvirt +# Author: Jim Fehlig +############################################################# + +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" diff --git a/libvirt-suse-netcontrol.patch b/libvirt-suse-netcontrol.patch index ffa7679..6d513c7 100644 --- a/libvirt-suse-netcontrol.patch +++ b/libvirt-suse-netcontrol.patch @@ -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 @@ -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 diff --git a/libvirt.changes b/libvirt.changes index 024b220..de63070 100644 --- a/libvirt.changes +++ b/libvirt.changes @@ -1,3 +1,49 @@ +------------------------------------------------------------------- +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 + +- Remove Requires on bridge-utils + FATE#323639 + +------------------------------------------------------------------- +Fri Jul 21 07:47:46 UTC 2017 - dmueller@suse.com + +- drop dependency on xen for armv6hl (not supported and does not + build) + ------------------------------------------------------------------- Wed Jul 5 18:00:31 UTC 2017 - jfehlig@suse.com diff --git a/libvirt.spec b/libvirt.spec index 786fa78..3c1e5b1 100644 --- a/libvirt.spec +++ b/libvirt.spec @@ -57,8 +57,8 @@ # Set the OS / architecture specific special cases -# Xen is available only on x86_64 and arm -%ifnarch x86_64 %arm aarch64 +# Xen is available only on x86_64, armv7 and aarch64 +%ifnarch x86_64 armv7hl aarch64 %define with_xen 0 %define with_libxl 0 %endif @@ -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 @@ -367,7 +371,6 @@ Requires: %{name}-libs = %{version}-%{release} # for modprobe of pci devices Requires: modutils # for /sbin/ip & /sbin/tc -Requires: bridge-utils Requires: iproute Requires: logrotate Requires: udev >= 145 @@ -870,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 @@ -1192,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 @@ -1389,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/ diff --git a/libxl-dom-reset.patch b/libxl-dom-reset.patch index 6a741d8..4f696b9 100644 --- a/libxl-dom-reset.patch +++ b/libxl-dom-reset.patch @@ -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 } diff --git a/libxl-qemu-emulator-caps.patch b/libxl-qemu-emulator-caps.patch index 9bf638f..1286f85 100644 --- a/libxl-qemu-emulator-caps.patch +++ b/libxl-qemu-emulator-caps.patch @@ -8,10 +8,10 @@ as the default , 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" diff --git a/libxl-set-cach-mode.patch b/libxl-set-cach-mode.patch index a8a1402..ff7e122 100644 --- a/libxl-set-cach-mode.patch +++ b/libxl-set-cach-mode.patch @@ -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; diff --git a/libxl-set-migration-constraints.patch b/libxl-set-migration-constraints.patch index 98e4505..0cb57be 100644 --- a/libxl-set-migration-constraints.patch +++ b/libxl-set-migration-constraints.patch @@ -16,10 +16,10 @@ Signed-off-by: Jim Fehlig 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. diff --git a/libxl-support-block-script.patch b/libxl-support-block-script.patch index 14530c1..343ec56 100644 --- a/libxl-support-block-script.patch +++ b/libxl-support-block-script.patch @@ -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); diff --git a/lxc-wait-after-eth-del.patch b/lxc-wait-after-eth-del.patch index 8ae6785..ec79911 100644 --- a/lxc-wait-after-eth-del.patch +++ b/lxc-wait-after-eth-del.patch @@ -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" diff --git a/network-don-t-use-dhcp-authoritative-on-static-netwo.patch b/network-don-t-use-dhcp-authoritative-on-static-netwo.patch index 88e61c6..324a9e1 100644 --- a/network-don-t-use-dhcp-authoritative-on-static-netwo.patch +++ b/network-don-t-use-dhcp-authoritative-on-static-netwo.patch @@ -17,11 +17,11 @@ Signed-off-by: Martin Wilck 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 diff --git a/ppc64le-canonical-name.patch b/ppc64le-canonical-name.patch index c97830f..e729b44 100644 --- a/ppc64le-canonical-name.patch +++ b/ppc64le-canonical-name.patch @@ -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")) { diff --git a/qemu-apparmor-screenshot.patch b/qemu-apparmor-screenshot.patch index 7c4301d..eb3eb72 100644 --- a/qemu-apparmor-screenshot.patch +++ b/qemu-apparmor-screenshot.patch @@ -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, diff --git a/support-managed-pci-xen-driver.patch b/support-managed-pci-xen-driver.patch index 0551545..231af58 100644 --- a/support-managed-pci-xen-driver.patch +++ b/support-managed-pci-xen-driver.patch @@ -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; diff --git a/libvirt-guests-init-script.patch b/suse-libvirt-guests-service.patch similarity index 94% rename from libvirt-guests-init-script.patch rename to suse-libvirt-guests-service.patch index 27c2c06..3e723ee 100644 --- a/libvirt-guests-init-script.patch +++ b/suse-libvirt-guests-service.patch @@ -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 # . @@ -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 + diff --git a/libvirtd-defaults.patch b/suse-libvirtd-disable-tls.patch similarity index 65% rename from libvirtd-defaults.patch rename to suse-libvirtd-disable-tls.patch index 54fabc8..aca2c55 100644 --- a/libvirtd-defaults.patch +++ b/suse-libvirtd-disable-tls.patch @@ -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:: diff --git a/suse-libvirtd-service-xen.patch b/suse-libvirtd-service-xen.patch new file mode 100644 index 0000000..a91913d --- /dev/null +++ b/suse-libvirtd-service-xen.patch @@ -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 + diff --git a/suse-libvirtd-service.patch b/suse-libvirtd-service.patch deleted file mode 100644 index 35bb927..0000000 --- a/suse-libvirtd-service.patch +++ /dev/null @@ -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 - diff --git a/libvirtd-init-script.patch b/suse-libvirtd-sysconfig-settings.patch similarity index 93% rename from libvirtd-init-script.patch rename to suse-libvirtd-sysconfig-settings.patch index aa47210..64c1397 100644 --- a/libvirtd-init-script.patch +++ b/suse-libvirtd-sysconfig-settings.patch @@ -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 + diff --git a/suse-ovmf-paths.patch b/suse-ovmf-paths.patch new file mode 100644 index 0000000..df63a7b --- /dev/null +++ b/suse-ovmf-paths.patch @@ -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 + + diff --git a/suse-qemu-conf.patch b/suse-qemu-conf.patch index 291d817..6260481 100644 --- a/suse-qemu-conf.patch +++ b/suse-qemu-conf.patch @@ -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 diff --git a/suse-virtlockd-sysconfig-settings.patch b/suse-virtlockd-sysconfig-settings.patch new file mode 100644 index 0000000..4146d3a --- /dev/null +++ b/suse-virtlockd-sysconfig-settings.patch @@ -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= diff --git a/suse-virtlogd-sysconfig-settings.patch b/suse-virtlogd-sysconfig-settings.patch new file mode 100644 index 0000000..be635f1 --- /dev/null +++ b/suse-virtlogd-sysconfig-settings.patch @@ -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= diff --git a/systemd-service-xen.patch b/systemd-service-xen.patch deleted file mode 100644 index d8d7d62..0000000 --- a/systemd-service-xen.patch +++ /dev/null @@ -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 - diff --git a/virtlockd-init-script.patch b/virtlockd-init-script.patch deleted file mode 100644 index 0a6d825..0000000 --- a/virtlockd-init-script.patch +++ /dev/null @@ -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 diff --git a/virtlogd-init-script.patch b/virtlogd-init-script.patch deleted file mode 100644 index cdd50fb..0000000 --- a/virtlogd-init-script.patch +++ /dev/null @@ -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= diff --git a/xen-pv-cdrom.patch b/xen-pv-cdrom.patch index b9c9f94..f91f1ce 100644 --- a/xen-pv-cdrom.patch +++ b/xen-pv-cdrom.patch @@ -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, diff --git a/xen-sxpr-disk-type.patch b/xen-sxpr-disk-type.patch index 713717a..a4182d7 100644 --- a/xen-sxpr-disk-type.patch +++ b/xen-sxpr-disk-type.patch @@ -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 */