Hello community, here is the log from the commit of package libvirt for openSUSE:Factory checked in at 2017-08-10 13:44:34 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/libvirt (Old) and /work/SRC/openSUSE:Factory/.libvirt.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libvirt" Thu Aug 10 13:44:34 2017 rev:232 rq:514265 version:3.6.0 Changes: -------- --- /work/SRC/openSUSE:Factory/libvirt/libvirt.changes 2017-07-11 08:35:00.133944617 +0200 +++ /work/SRC/openSUSE:Factory/.libvirt.new/libvirt.changes 2017-08-10 13:44:38.816375923 +0200 @@ -1,0 +2,46 @@ +Thu Aug 3 17:56:42 UTC 2017 - [email protected] + +- 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 - [email protected] + +- Add a supportconfig plugin + libvirt-supportconfig + FATE#323661 + +------------------------------------------------------------------- +Wed Jul 26 15:49:21 UTC 2017 - [email protected] + +- Remove Requires on bridge-utils + FATE#323639 + +------------------------------------------------------------------- +Fri Jul 21 07:47:46 UTC 2017 - [email protected] + +- drop dependency on xen for armv6hl (not supported and does not + build) + +------------------------------------------------------------------- Old: ---- libvirt-3.5.0.tar.xz libvirt-3.5.0.tar.xz.asc libvirt-guests-init-script.patch libvirtd-defaults.patch libvirtd-init-script.patch suse-libvirtd-service.patch systemd-service-xen.patch virtlockd-init-script.patch virtlogd-init-script.patch New: ---- 0b1ecf7b-virHashCodeGen-mockable.patch 8982f3ab-util-hash-header.patch f536b0dd-tests-arch-independent-hash.patch libvirt-3.6.0.tar.xz libvirt-3.6.0.tar.xz.asc libvirt-supportconfig suse-libvirt-guests-service.patch suse-libvirtd-disable-tls.patch suse-libvirtd-service-xen.patch suse-libvirtd-sysconfig-settings.patch suse-ovmf-paths.patch suse-virtlockd-sysconfig-settings.patch suse-virtlogd-sysconfig-settings.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ libvirt.spec ++++++ --- /var/tmp/diff_new_pack.TjkSWw/_old 2017-08-10 13:44:42.699829232 +0200 +++ /var/tmp/diff_new_pack.TjkSWw/_new 2017-08-10 13:44:42.719826417 +0200 @@ -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 @@ 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 @@ 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 @@ # 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 @@ %prep %setup -q +%patch0 -p1 +%patch1 -p1 +%patch2 -p1 %patch100 -p1 %patch101 -p1 %patch150 -p1 @@ -1192,6 +1198,10 @@ 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 @@ %{_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/ ++++++ 0b1ecf7b-virHashCodeGen-mockable.patch ++++++ commit 0b1ecf7b5342f8631d1b1cce8a7937bda511be98 Author: Peter Krempa <[email protected]> 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__ */ ++++++ 8982f3ab-util-hash-header.patch ++++++ commit 8982f3ab20194e23e34205c4165602a03ada8b56 Author: Peter Krempa <[email protected]> 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. ++++++ apparmor-fixes.patch ++++++ --- /var/tmp/diff_new_pack.TjkSWw/_old 2017-08-10 13:44:43.199758855 +0200 +++ /var/tmp/diff_new_pack.TjkSWw/_new 2017-08-10 13:44:43.207757729 +0200 @@ -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, ++++++ apparmor-no-mount.patch ++++++ --- /var/tmp/diff_new_pack.TjkSWw/_old 2017-08-10 13:44:43.255750973 +0200 +++ /var/tmp/diff_new_pack.TjkSWw/_new 2017-08-10 13:44:43.263749847 +0200 @@ -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> ++++++ blockcopy-check-dst-identical-device.patch ++++++ --- /var/tmp/diff_new_pack.TjkSWw/_old 2017-08-10 13:44:43.327740838 +0200 +++ /var/tmp/diff_new_pack.TjkSWw/_new 2017-08-10 13:44:43.327740838 +0200 @@ -11,15 +11,14 @@ 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 @@ + 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; + ++++++ f536b0dd-tests-arch-independent-hash.patch ++++++ commit f536b0dd7318c736c20ae646209671011d16c12c Author: Peter Krempa <[email protected]> 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" ] } ] ++++++ libvirt-3.5.0.tar.xz -> libvirt-3.6.0.tar.xz ++++++ /work/SRC/openSUSE:Factory/libvirt/libvirt-3.5.0.tar.xz /work/SRC/openSUSE:Factory/.libvirt.new/libvirt-3.6.0.tar.xz differ: char 15, line 1 ++++++ libvirt-power8-models.patch ++++++ --- /var/tmp/diff_new_pack.TjkSWw/_old 2017-08-10 13:44:43.523713250 +0200 +++ /var/tmp/diff_new_pack.TjkSWw/_new 2017-08-10 13:44:43.527712687 +0200 @@ -2,10 +2,10 @@ From: <[email protected]> -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'/> ++++++ libvirt-supportconfig ++++++ #!/bin/bash ############################################################# # Name: Supportconfig Plugin for libvirt # Description: Gathers important troubleshooting information # about libvirt # Author: Jim Fehlig <[email protected]> ############################################################# 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" ++++++ libvirt-suse-netcontrol.patch ++++++ --- /var/tmp/diff_new_pack.TjkSWw/_old 2017-08-10 13:44:43.731683974 +0200 +++ /var/tmp/diff_new_pack.TjkSWw/_new 2017-08-10 13:44:43.739682847 +0200 @@ -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 @@ 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 @@ 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 @@ 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 @@ # 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 @@ 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 @@ 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 ++++++ libxl-dom-reset.patch ++++++ --- /var/tmp/diff_new_pack.TjkSWw/_old 2017-08-10 13:44:43.859665956 +0200 +++ /var/tmp/diff_new_pack.TjkSWw/_new 2017-08-10 13:44:43.859665956 +0200 @@ -8,10 +8,10 @@ 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 } ++++++ libxl-qemu-emulator-caps.patch ++++++ --- /var/tmp/diff_new_pack.TjkSWw/_old 2017-08-10 13:44:43.867664831 +0200 +++ /var/tmp/diff_new_pack.TjkSWw/_new 2017-08-10 13:44:43.887662016 +0200 @@ -8,10 +8,10 @@ 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" ++++++ libxl-set-cach-mode.patch ++++++ --- /var/tmp/diff_new_pack.TjkSWw/_old 2017-08-10 13:44:43.903659763 +0200 +++ /var/tmp/diff_new_pack.TjkSWw/_new 2017-08-10 13:44:43.919657511 +0200 @@ -3,11 +3,11 @@ 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 @@ 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; ++++++ libxl-set-migration-constraints.patch ++++++ --- /var/tmp/diff_new_pack.TjkSWw/_old 2017-08-10 13:44:43.943654134 +0200 +++ /var/tmp/diff_new_pack.TjkSWw/_new 2017-08-10 13:44:43.947653570 +0200 @@ -16,10 +16,10 @@ 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 @@ /* 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 @@ 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 @@ 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 @@ 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 @@ 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. ++++++ libxl-support-block-script.patch ++++++ --- /var/tmp/diff_new_pack.TjkSWw/_old 2017-08-10 13:44:43.971650192 +0200 +++ /var/tmp/diff_new_pack.TjkSWw/_new 2017-08-10 13:44:43.971650192 +0200 @@ -7,11 +7,11 @@ 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 @@ 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 @@ 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 @@ 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); ++++++ lxc-wait-after-eth-del.patch ++++++ --- /var/tmp/diff_new_pack.TjkSWw/_old 2017-08-10 13:44:43.995646814 +0200 +++ /var/tmp/diff_new_pack.TjkSWw/_new 2017-08-10 13:44:44.031641747 +0200 @@ -13,10 +13,10 @@ 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 @@ 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 @@ #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 @@ 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 @@ 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" ++++++ network-don-t-use-dhcp-authoritative-on-static-netwo.patch ++++++ --- /var/tmp/diff_new_pack.TjkSWw/_old 2017-08-10 13:44:44.059637806 +0200 +++ /var/tmp/diff_new_pack.TjkSWw/_new 2017-08-10 13:44:44.063637243 +0200 @@ -17,11 +17,11 @@ 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 @@ } 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 ++++++ ppc64le-canonical-name.patch ++++++ --- /var/tmp/diff_new_pack.TjkSWw/_old 2017-08-10 13:44:44.079634991 +0200 +++ /var/tmp/diff_new_pack.TjkSWw/_new 2017-08-10 13:44:44.087633864 +0200 @@ -2,10 +2,10 @@ 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")) { ++++++ qemu-apparmor-screenshot.patch ++++++ --- /var/tmp/diff_new_pack.TjkSWw/_old 2017-08-10 13:44:44.135627109 +0200 +++ /var/tmp/diff_new_pack.TjkSWw/_new 2017-08-10 13:44:44.135627109 +0200 @@ -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, ++++++ support-managed-pci-xen-driver.patch ++++++ --- /var/tmp/diff_new_pack.TjkSWw/_old 2017-08-10 13:44:44.179620915 +0200 +++ /var/tmp/diff_new_pack.TjkSWw/_new 2017-08-10 13:44:44.179620915 +0200 @@ -8,10 +8,10 @@ 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 @@ + goto skippci; + } + - if (!(hostdev = virDomainHostdevDefAlloc(NULL))) + if (!(hostdev = virDomainHostdevDefNew(NULL))) return -1; - hostdev->managed = false; @@ -66,10 +66,10 @@ 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 @@ + managed = sexpr_int(node, "dev/opts/managed"); + - if (!(dev = virDomainHostdevDefAlloc(NULL))) + if (!(dev = virDomainHostdevDefNew(NULL))) goto error; dev->mode = VIR_DOMAIN_HOSTDEV_MODE_SUBSYS; ++++++ suse-libvirt-guests-service.patch ++++++ Adjust libvirt-guests service to conform to SUSE standards Index: libvirt-3.6.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 # ### BEGIN INIT INFO -# Provides: libvirt-guests -# Default-Start: 3 4 5 -# Default-Stop: 0 1 2 6 -# Required-Start: libvirtd -# Required-Stop: libvirtd +# Provides: libvirt-guests +# Required-Start: $network $remote_fs libvirtd +# Required-Stop: $network $remote_fs libvirtd +# Default-Start: 3 5 +# Default-Stop: 0 1 2 4 6 # Should-Start: # Should-Stop: # Short-Description: suspend/resume libvirt guests on shutdown/boot -# Description: This is a script for suspending active libvirt guests -# on shutdown and resuming them on next boot -# See http://libvirt.org +# Description: This is a script for suspending active libvirt guests +# on shutdown and resuming them on next boot +# See http://libvirt.org ### END INIT INFO # the following is chkconfig init header # -# libvirt-guests: suspend/resume libvirt guests on shutdown/boot +# libvirt-guests: suspend/resume libvirt guests on shutdown/boot # -# chkconfig: 345 99 01 -# description: This is a script for suspending active libvirt guests \ -# on shutdown and resuming them on next boot \ -# See http://libvirt.org +# chkconfig: 345 99 01 +# description: This is a script for suspending active libvirt guests \ +# on shutdown and resuming them on next boot \ +# See http://libvirt.org # exec @libexecdir@/libvirt-guests.sh "$@" Index: libvirt-3.6.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/>. +. /etc/rc.status +rc_reset + sysconfdir="@sysconfdir@" localstatedir="@localstatedir@" libvirtd="@sbindir@"/libvirtd -# Source function library. -test ! -r "$sysconfdir"/rc.d/init.d/functions || - . "$sysconfdir"/rc.d/init.d/functions - # Source gettext library. # Make sure this file is recognized as having translations: _("dummy") . "@bindir@"/gettext.sh @@ -45,9 +44,11 @@ test -f "$sysconfdir"/sysconfig/libvirt- . "$sysconfdir"/sysconfig/libvirt-guests LISTFILE="$localstatedir"/lib/libvirt/libvirt-guests -VAR_SUBSYS_LIBVIRT_GUESTS="$localstatedir"/lock/subsys/libvirt-guests - -RETVAL=0 +if [ -d "$localstatedir"/lock/subsys ]; then + VAR_SUBSYS_LIBVIRT_GUESTS="$localstatedir"/lock/subsys/libvirt-guests +else + VAR_SUBSYS_LIBVIRT_GUESTS="$localstatedir"/lock/libvirt-guests +fi # retval COMMAND ARGUMENTS... # run command with arguments and convert non-zero return value to 1 and set @@ -55,7 +56,7 @@ RETVAL=0 retval() { "$@" if [ $? -ne 0 ]; then - RETVAL=1 + rc_failed 1 return 1 else return 0 @@ -84,6 +85,26 @@ run_virsh_c() { ( export LC_ALL=C; run_virsh "$@" ) } +await_daemon_up() +{ + uri=$1 + i=1 + rets=10 + run_virsh $uri list > /dev/null 2>&1 + while test $? -ne 0 && test $i -lt $rets; do + sleep 1 + echo -n . + i=$(($i + 1)) + run_virsh $uri list > /dev/null 2>&1 + done + if [ $i -eq $rets ]; then + eval_gettext "libvirt-guests unable to connect to URI: $uri" + echo + return 1 + fi + return 0 +} + # test_connect URI # check if URI is reachable test_connect() @@ -117,7 +138,7 @@ list_guests() { list=$(run_virsh_c "$uri" list --uuid $persistent) if [ $? -ne 0 ]; then - RETVAL=1 + rc_failed 1 return 1 fi @@ -143,7 +164,7 @@ guest_is_on() { guest_running=false id=$(run_virsh "$uri" domid "$uuid") if [ $? -ne 0 ]; then - RETVAL=1 + rc_failed 1 return 1 fi @@ -193,6 +214,13 @@ start() { test_connect "$uri" || continue + await_daemon_up $uri + if [ $? -ne 0 ]; then + eval_gettext "Ignoring guests on $uri URI, can't connect" + echo + continue + fi + eval_gettext "Resuming guests on \$uri URI..."; echo for guest in $list; do name=$(guest_name "$uri" "$guest") @@ -409,7 +437,7 @@ shutdown_guests_parallel() timeout=$(($timeout - 1)) if [ $timeout -le 0 ]; then eval_gettext "Timeout expired while shutting down domains"; echo - RETVAL=1 + rc_failed 1 return fi else @@ -437,7 +465,7 @@ stop() { if [ $SHUTDOWN_TIMEOUT -lt 0 ]; then gettext "SHUTDOWN_TIMEOUT must be equal or greater than 0" echo - RETVAL=6 + rc_failed 6 return fi fi @@ -485,14 +513,14 @@ stop() { if [ $? -ne 0 ]; then eval_gettext "Failed to list persistent guests on \$uri" echo - RETVAL=1 + rc_failed 1 set +f return fi else gettext "Failed to list transient guests" echo - RETVAL=1 + rc_failed 1 set +f return fi @@ -551,14 +579,13 @@ gueststatus() { rh_status() { if [ -f "$LISTFILE" ]; then gettext "stopped, with saved guests"; echo - RETVAL=3 + rc_failed 3 else if [ -f "$VAR_SUBSYS_LIBVIRT_GUESTS" ]; then gettext "started"; echo - RETVAL=0 else gettext "stopped, with no saved guests"; echo - RETVAL=3 + rc_failed 3 fi fi } @@ -603,4 +630,4 @@ case "$1" in usage ;; esac -exit $RETVAL +rc_exit Index: libvirt-3.6.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 + +## Type: string +## Default: default # URIs to check for running guests # example: URIS='default xen:/// vbox+tcp://host/system lxc:///' -#URIS=default +URIS=default +## Type: string +## Default: start # action taken on host boot # - start all guests which were running on shutdown are started on boot # regardless on their autostart settings # - ignore libvirt-guests init script won't start any guest on boot, however, # guests marked as autostart will still be automatically started by # libvirtd -#ON_BOOT=start +ON_BOOT=start +## Type: integer +## Default: 0 # Number of seconds to wait between each guest start. Set to 0 to allow # parallel startup. -#START_DELAY=0 +START_DELAY=0 +## Type: string +## Default: suspend # action taken on host shutdown # - suspend all running guests are suspended using virsh managedsave # - shutdown all running guests are asked to shutdown. Please be careful with @@ -22,12 +32,16 @@ # which just needs a long time to shutdown. When setting # ON_SHUTDOWN=shutdown, you must also set SHUTDOWN_TIMEOUT to a # value suitable for your guests. -#ON_SHUTDOWN=suspend +ON_SHUTDOWN=suspend +## Type: integer +## Default: 0 # If set to non-zero, shutdown will suspend guests concurrently. Number of # guests on shutdown at any time will not exceed number set in this variable. -#PARALLEL_SHUTDOWN=0 +PARALLEL_SHUTDOWN=0 +## Type: integer +## Default: 300 # Number of seconds we're willing to wait for a guest to shut down. If parallel # shutdown is enabled, this timeout applies as a timeout for shutting down all # guests on a single URI defined in the variable URIS. If this is 0, then there @@ -35,14 +49,18 @@ # request). The default value is 300 seconds (5 minutes). #SHUTDOWN_TIMEOUT=300 +## Type: integer +## Default: 0 # If non-zero, try to bypass the file system cache when saving and # restoring guests, even though this may give slower operation for # some file systems. -#BYPASS_CACHE=0 +BYPASS_CACHE=0 +## Type: integer +## Default: 0 # If non-zero, try to sync guest time on domain resume. Be aware, that # this requires guest agent with support for time synchronization # running in the guest. For instance, qemu-ga doesn't support guest time # synchronization on Windows guests, but Linux ones. By default, this # functionality is turned off. -#SYNC_TIME=1 +SYNC_TIME=0 ++++++ suse-libvirtd-disable-tls.patch ++++++ 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.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. # -# This is enabled by default, uncomment this to disable it -#listen_tls = 0 +# This is disabled by default, uncomment this to enable it +#listen_tls = 1 # 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.6.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; - data->listen_tls = 1; + data->listen_tls = 0; data->listen_tcp = 0; if (VIR_STRDUP(data->tls_port, LIBVIRTD_TLS_PORT) < 0 || Index: libvirt-3.6.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:: test Libvirtd.lns get conf = - { "listen_tls" = "0" } + { "listen_tls" = "1" } { "listen_tcp" = "1" } { "tls_port" = "16514" } { "tcp_port" = "16509" } ++++++ suse-libvirtd-service-xen.patch ++++++ 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 ++++++ suse-libvirtd-sysconfig-settings.patch ++++++ Adjust libvirtd sysconfig file to conform to SUSE standards Index: libvirt-3.6.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 + +## Type: string +## Default: /etc/libvirt/libvirtd.conf # Override the default config file # NOTE: This setting is no longer honoured if using # systemd. Set '--config /etc/libvirt/libvirtd.conf' # in LIBVIRTD_ARGS instead. -#LIBVIRTD_CONFIG=/etc/libvirt/libvirtd.conf +LIBVIRTD_CONFIG=/etc/libvirt/libvirtd.conf -# Listen for TCP/IP connections -# NB. must setup TLS/SSL keys prior to using this -#LIBVIRTD_ARGS="--listen" +## Type: string +## Default: --listen +# Arguments to pass to libvirtd +LIBVIRTD_ARGS="--listen" +## Type: string +## Default: none # Override Kerberos service keytab for SASL/GSSAPI #KRB5_KTNAME=/etc/libvirt/krb5.tab +## Type: string +## Default: none # Override the QEMU/SDL default audio driver probing when # starting virtual machines using SDL graphics # @@ -20,14 +29,16 @@ # #SDL_AUDIODRIVER=pulse -# Override the maximum number of opened files. -# This only works with traditional init scripts. -# In the systemd world, the limit can only be changed by overriding -# LimitNOFILE for libvirtd.service. To do that, just create a *.conf -# file in /etc/systemd/system/libvirtd.service.d/ (for example -# /etc/systemd/system/libvirtd.service.d/openfiles.conf) and write -# the following two lines in it: -# [Service] -# LimitNOFILE=2048 -# -#LIBVIRTD_NOFILES_LIMIT=2048 +## Type: integer +## Default: 2048 +## Override the maximum number of opened files. +## This only works with traditional init scripts. +## In the systemd world, the limit can only be changed by overriding +## LimitNOFILE for libvirtd.service. To do that, just create a *.conf +## file in /etc/systemd/system/libvirtd.service.d/ (for example +## /etc/systemd/system/libvirtd.service.d/openfiles.conf) and write +## the following two lines in it: +## [Service] +## LimitNOFILE=2048 +## +LIBVIRTD_NOFILES_LIMIT=2048 ++++++ suse-ovmf-paths.patch ++++++ 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 ++++++ suse-qemu-conf.patch ++++++ --- /var/tmp/diff_new_pack.TjkSWw/_old 2017-08-10 13:44:44.335598958 +0200 +++ /var/tmp/diff_new_pack.TjkSWw/_new 2017-08-10 13:44:44.335598958 +0200 @@ -7,10 +7,10 @@ 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 @@ # #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 ++++++ suse-virtlockd-sysconfig-settings.patch ++++++ 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= ++++++ suse-virtlogd-sysconfig-settings.patch ++++++ 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= ++++++ xen-pv-cdrom.patch ++++++ --- /var/tmp/diff_new_pack.TjkSWw/_old 2017-08-10 13:44:44.419587134 +0200 +++ /var/tmp/diff_new_pack.TjkSWw/_new 2017-08-10 13:44:44.423586571 +0200 @@ -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, ++++++ xen-sxpr-disk-type.patch ++++++ --- /var/tmp/diff_new_pack.TjkSWw/_old 2017-08-10 13:44:44.451582630 +0200 +++ /var/tmp/diff_new_pack.TjkSWw/_new 2017-08-10 13:44:44.451582630 +0200 @@ -6,10 +6,10 @@ 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 */
