Hello community, here is the log from the commit of package libvirt for openSUSE:Factory checked in at 2017-01-31 12:27:29 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/libvirt (Old) and /work/SRC/openSUSE:Factory/.libvirt.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libvirt" Changes: -------- --- /work/SRC/openSUSE:Factory/libvirt/libvirt.changes 2017-01-09 10:24:27.949436524 +0100 +++ /work/SRC/openSUSE:Factory/.libvirt.new/libvirt.changes 2017-02-03 17:48:47.834523400 +0100 @@ -1,0 +2,37 @@ +Fri Jan 27 17:53:23 UTC 2017 - jfeh...@suse.com + +- Fix dom0 ballooning with Xen >= 4.8 + libxl-dom0-balloon-fix.patch + bsc#1020755 + +------------------------------------------------------------------- +Fri Jan 27 17:31:32 UTC 2017 - jfeh...@suse.com + +- SLE12 SP2 bugs merged via version updates of the Factory libvirt + package: + bsc#996020, bsc#987002, bsc#997278, bsc#998005, bsc#998389, + bsc#1001446, bsc#1001698, bsc#1005288, bsc#1013991, bsc#1016253, + bsc#1017086, bsc#1017762, bsc#1018189 + +------------------------------------------------------------------- +Fri Jan 27 17:01:39 UTC 2017 - jfeh...@suse.com + +- virt-create-rootfs is a temporary SLE-only hack that was never + added to the Factory libvirt package, causing it to be dropped + when rebasing SLE on Factory. Add it now but only apply + associated patch when building for SLE. + virt-create-rootfs.patch + bsc#995981 + +------------------------------------------------------------------- +Wed Jan 18 23:34:31 UTC 2017 - jfeh...@suse.com + +- Update to libvirt 3.0.0 + - Many incremental improvements and bug fixes, see + http://libvirt.org/news.html + - Add b018ada3-shunloadtest-build-fix.patch to fix 'make check' + failures + - Add qemu-disable-namespaces.patch to temporarily disable + qemu namespace feature until all issues are resolved + +------------------------------------------------------------------- Old: ---- libvirt-2.5.0.tar.xz libvirt-2.5.0.tar.xz.asc New: ---- b018ada3-shunloadtest-build-fix.patch libvirt-3.0.0.tar.xz libvirt-3.0.0.tar.xz.asc libxl-dom0-balloon-fix.patch qemu-disable-namespaces.patch virt-create-rootfs.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ libvirt.spec ++++++ --- /var/tmp/diff_new_pack.wtmr4c/_old 2017-02-03 17:48:51.106062183 +0100 +++ /var/tmp/diff_new_pack.wtmr4c/_new 2017-02-03 17:48:51.110061618 +0100 @@ -1,7 +1,7 @@ # # spec file for package libvirt # -# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -175,7 +175,7 @@ Name: libvirt Url: http://libvirt.org/ -Version: 2.5.0 +Version: 3.0.0 Release: 0 Summary: Library providing a simple virtualization API License: LGPL-2.1+ @@ -313,8 +313,10 @@ Source99: baselibs.conf Source100: %{name}-rpmlintrc # Upstream patches +Patch0: b018ada3-shunloadtest-build-fix.patch # Patches pending upstream review Patch100: libxl-dom-reset.patch +Patch101: libxl-dom0-balloon-fix.patch # Need to go upstream Patch150: xen-pv-cdrom.patch Patch151: blockcopy-check-dst-identical-device.patch @@ -339,6 +341,14 @@ Patch212: libvirt-suse-netcontrol.patch Patch213: lxc-wait-after-eth-del.patch Patch214: libxl-qemu-emulator-caps.patch +# Similar to upstream, temporarily disable qemu namespaces until all issues +# are resolved. See +# https://www.redhat.com/archives/libvir-list/2017-January/msg00790.html +Patch300: qemu-disable-namespaces.patch +# SLES-Only patches +%if %{with_sle_build} +Patch400: virt-create-rootfs.patch +%endif BuildRoot: %{_tmppath}/%{name}-%{version}-build %description @@ -783,7 +793,9 @@ %prep %setup -q +%patch0 -p1 %patch100 -p1 +%patch101 -p1 %patch150 -p1 %patch151 -p1 %patch152 -p1 @@ -806,6 +818,10 @@ %patch212 -p1 %patch213 -p1 %patch214 -p1 +%patch300 -p1 +%if %{with_sle_build} +%patch400 -p1 +%endif %build %if %{with_xen} @@ -1433,6 +1449,10 @@ %dir %{_libdir}/%{name}/connection-driver %{_libdir}/%{name}/connection-driver/libvirt_driver_lxc.so %attr(0755, root, root) %{_bindir}/virt-lxc-convert + %if %{with_sle_build} +%{_bindir}/virt-create-rootfs +%doc %{_mandir}/man1/virt-create-rootfs.1* + %endif %endif %if %{with_uml} @@ -1550,6 +1570,7 @@ %{_datadir}/libvirt/schemas/storagepool.rng %{_datadir}/libvirt/schemas/storagevol.rng %{_datadir}/libvirt/cpu_map.xml +%{_datadir}/libvirt/test-screenshot.png %dir %{_sysconfdir}/sasl2/ %config(noreplace) %{_sysconfdir}/sasl2/libvirt.conf @@ -1619,5 +1640,6 @@ %files nss %{_libdir}/libnss_libvirt.so.2 +%{_libdir}/libnss_libvirt_guest.so.2 %changelog ++++++ apparmor-fixes.patch ++++++ --- /var/tmp/diff_new_pack.wtmr4c/_old 2017-02-03 17:48:51.170053161 +0100 +++ /var/tmp/diff_new_pack.wtmr4c/_new 2017-02-03 17:48:51.170053161 +0100 @@ -1,10 +1,10 @@ -Index: libvirt-2.5.0/examples/apparmor/libvirt-qemu +Index: libvirt-3.0.0/examples/apparmor/libvirt-qemu =================================================================== ---- libvirt-2.5.0.orig/examples/apparmor/libvirt-qemu -+++ libvirt-2.5.0/examples/apparmor/libvirt-qemu -@@ -143,6 +143,9 @@ +--- libvirt-3.0.0.orig/examples/apparmor/libvirt-qemu ++++ libvirt-3.0.0/examples/apparmor/libvirt-qemu +@@ -146,6 +146,9 @@ # for restore - /bin/bash rmix, + /{usr/,}bin/bash rmix, + /run/nscd/passwd r, + /run/nscd/group r, ++++++ apparmor-no-mount.patch ++++++ --- /var/tmp/diff_new_pack.wtmr4c/_old 2017-02-03 17:48:51.182051469 +0100 +++ /var/tmp/diff_new_pack.wtmr4c/_new 2017-02-03 17:48:51.182051469 +0100 @@ -1,7 +1,7 @@ -Index: libvirt-2.5.0/examples/apparmor/libvirt-lxc +Index: libvirt-3.0.0/examples/apparmor/libvirt-lxc =================================================================== ---- libvirt-2.5.0.orig/examples/apparmor/libvirt-lxc -+++ libvirt-2.5.0/examples/apparmor/libvirt-lxc +--- libvirt-3.0.0.orig/examples/apparmor/libvirt-lxc ++++ libvirt-3.0.0/examples/apparmor/libvirt-lxc @@ -2,39 +2,15 @@ #include <abstractions/base> ++++++ b018ada3-shunloadtest-build-fix.patch ++++++ commit b018ada3304c08e02b0750f8735b0702f0fd5f8c Author: Jim Fehlig <jfeh...@suse.com> Date: Mon Jan 16 10:58:00 2017 -0700 tests: fix compilation of shunloadtest While local builds succeed fine, a build worker building in a chroot environment is encountering the following error with libvirt 3.0.0 release candidates [ 162s] shunloadtest.o: In function `main': [ 162s] /home/abuild/rpmbuild/BUILD/libvirt-3.0.0/tests/shunloadtest.c:110: undefined reference to `dlopen' [ 162s] /home/abuild/rpmbuild/BUILD/libvirt-3.0.0/tests/shunloadtest.c:114: undefined reference to `dlsym' [ 162s] /home/abuild/rpmbuild/BUILD/libvirt-3.0.0/tests/shunloadtest.c:133: undefined reference to `dlclose' [ 162s] /home/abuild/rpmbuild/BUILD/libvirt-3.0.0/tests/shunloadtest.c:111: undefined reference to `dlerror' [ 162s] /home/abuild/rpmbuild/BUILD/libvirt-3.0.0/tests/shunloadtest.c:115: undefined reference to `dlerror' [ 162s] /home/abuild/rpmbuild/BUILD/libvirt-3.0.0/tests/shunloadtest.c:116: undefined reference to `dlclose' Fix by appending DLOPEN_LIBS to shunloadtest_LDADD. Index: libvirt-3.0.0/tests/Makefile.am =================================================================== --- libvirt-3.0.0.orig/tests/Makefile.am +++ libvirt-3.0.0/tests/Makefile.am @@ -1348,7 +1348,7 @@ libshunload_la_LDFLAGS = $(MOCKLIBS_LDFL shunloadtest_SOURCES = \ shunloadtest.c -shunloadtest_LDADD = $(LIB_PTHREAD) +shunloadtest_LDADD = $(LIB_PTHREAD) $(DLOPEN_LIBS) shunloadtest_DEPENDENCIES = libshunload.la sysinfotest_SOURCES = \ ++++++ blockcopy-check-dst-identical-device.patch ++++++ --- /var/tmp/diff_new_pack.wtmr4c/_old 2017-02-03 17:48:51.218046395 +0100 +++ /var/tmp/diff_new_pack.wtmr4c/_new 2017-02-03 17:48:51.218046395 +0100 @@ -11,11 +11,11 @@ src/qemu/qemu_driver.c | 7 +++++++ 1 file changed, 7 insertions(+) -Index: libvirt-2.5.0/src/qemu/qemu_driver.c +Index: libvirt-3.0.0/src/qemu/qemu_driver.c =================================================================== ---- libvirt-2.5.0.orig/src/qemu/qemu_driver.c -+++ libvirt-2.5.0/src/qemu/qemu_driver.c -@@ -16680,6 +16680,15 @@ qemuDomainBlockCopyCommon(virDomainObjPt +--- libvirt-3.0.0.orig/src/qemu/qemu_driver.c ++++ libvirt-3.0.0/src/qemu/qemu_driver.c +@@ -16828,6 +16828,15 @@ qemuDomainBlockCopyCommon(virDomainObjPt _("non-file destination not supported yet")); goto endjob; } ++++++ libvirt-2.5.0.tar.xz -> libvirt-3.0.0.tar.xz ++++++ /work/SRC/openSUSE:Factory/libvirt/libvirt-2.5.0.tar.xz /work/SRC/openSUSE:Factory/.libvirt.new/libvirt-3.0.0.tar.xz differ: char 15, line 1 ++++++ libvirt-guests-init-script.patch ++++++ --- /var/tmp/diff_new_pack.wtmr4c/_old 2017-02-03 17:48:51.258040757 +0100 +++ /var/tmp/diff_new_pack.wtmr4c/_new 2017-02-03 17:48:51.258040757 +0100 @@ -1,9 +1,9 @@ Adjust libvirt-guests init files to conform to SUSE standards -Index: libvirt-2.5.0/tools/libvirt-guests.init.in +Index: libvirt-3.0.0/tools/libvirt-guests.init.in =================================================================== ---- libvirt-2.5.0.orig/tools/libvirt-guests.init.in -+++ libvirt-2.5.0/tools/libvirt-guests.init.in +--- libvirt-3.0.0.orig/tools/libvirt-guests.init.in ++++ libvirt-3.0.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 @@ # exec @libexecdir@/libvirt-guests.sh "$@" -Index: libvirt-2.5.0/tools/libvirt-guests.sh.in +Index: libvirt-3.0.0/tools/libvirt-guests.sh.in =================================================================== ---- libvirt-2.5.0.orig/tools/libvirt-guests.sh.in -+++ libvirt-2.5.0/tools/libvirt-guests.sh.in +--- libvirt-3.0.0.orig/tools/libvirt-guests.sh.in ++++ libvirt-3.0.0/tools/libvirt-guests.sh.in @@ -16,14 +16,13 @@ # License along with this library. If not, see # <http://www.gnu.org/licenses/>. @@ -208,10 +208,10 @@ esac -exit $RETVAL +rc_exit -Index: libvirt-2.5.0/tools/libvirt-guests.sysconf +Index: libvirt-3.0.0/tools/libvirt-guests.sysconf =================================================================== ---- libvirt-2.5.0.orig/tools/libvirt-guests.sysconf -+++ libvirt-2.5.0/tools/libvirt-guests.sysconf +--- libvirt-3.0.0.orig/tools/libvirt-guests.sysconf ++++ libvirt-3.0.0/tools/libvirt-guests.sysconf @@ -1,19 +1,29 @@ +## Path: System/Virtualization/libvirt-guests + ++++++ libvirt-power8-models.patch ++++++ --- /var/tmp/diff_new_pack.wtmr4c/_old 2017-02-03 17:48:51.270039065 +0100 +++ /var/tmp/diff_new_pack.wtmr4c/_new 2017-02-03 17:48:51.270039065 +0100 @@ -2,11 +2,11 @@ From: <r...@suse.de> -Index: libvirt-2.5.0/src/cpu/cpu_map.xml +Index: libvirt-3.0.0/src/cpu/cpu_map.xml =================================================================== ---- libvirt-2.5.0.orig/src/cpu/cpu_map.xml -+++ libvirt-2.5.0/src/cpu/cpu_map.xml -@@ -1540,6 +1540,8 @@ +--- libvirt-3.0.0.orig/src/cpu/cpu_map.xml ++++ libvirt-3.0.0/src/cpu/cpu_map.xml +@@ -1569,6 +1569,8 @@ <pvr value='0x004b0000' mask='0xffff0000'/> <pvr value='0x004c0000' mask='0xffff0000'/> <pvr value='0x004d0000' mask='0xffff0000'/> ++++++ libvirt-suse-netcontrol.patch ++++++ --- /var/tmp/diff_new_pack.wtmr4c/_old 2017-02-03 17:48:51.294035682 +0100 +++ /var/tmp/diff_new_pack.wtmr4c/_new 2017-02-03 17:48:51.294035682 +0100 @@ -1,44 +1,36 @@ -Index: libvirt-2.5.0/configure.ac +Index: libvirt-3.0.0/configure.ac =================================================================== ---- libvirt-2.5.0.orig/configure.ac -+++ libvirt-2.5.0/configure.ac -@@ -251,6 +251,7 @@ LIBVIRT_CHECK_GLUSTER - LIBVIRT_CHECK_HAL - LIBVIRT_CHECK_LIBSSH +--- libvirt-3.0.0.orig/configure.ac ++++ libvirt-3.0.0/configure.ac +@@ -255,6 +255,7 @@ LIBVIRT_ARG_LIBSSH + LIBVIRT_ARG_LIBXML + LIBVIRT_ARG_MACVTAP + LIBVIRT_ARG_NETCF ++LIBVIRT_ARG_NETCONTROL + LIBVIRT_ARG_NSS + LIBVIRT_ARG_NUMACTL + LIBVIRT_ARG_OPENWSMAN +@@ -294,6 +295,7 @@ LIBVIRT_CHECK_LIBSSH + LIBVIRT_CHECK_LIBXML + LIBVIRT_CHECK_MACVTAP LIBVIRT_CHECK_NETCF +LIBVIRT_CHECK_NETCONTROL LIBVIRT_CHECK_NUMACTL + LIBVIRT_CHECK_NWFILTER LIBVIRT_CHECK_OPENWSMAN - LIBVIRT_CHECK_PCIACCESS -@@ -2287,11 +2288,12 @@ if test "$with_libvirtd" = "no" ; then - with_interface=no - fi - --dnl The interface driver depends on the netcf library or udev library --case $with_interface:$with_netcf:$with_udev in -+dnl The interface driver depends on the netcf library, netcontrol library, or -+dnl udev library -+case $with_interface:$with_netcf:$with_netcontrol:$with_udev in - check:*yes*) with_interface=yes ;; - check:no:no) with_interface=no ;; -- yes:no:no) AC_MSG_ERROR([Requested the Interface driver without netcf or udev support]) ;; -+ yes:no:no) AC_MSG_ERROR([Requested the Interface driver without netcf, netcontrol, or udev support]) ;; - esac - - if test "$with_interface" = "yes" ; then -@@ -2680,6 +2682,7 @@ LIBVIRT_RESULT_GLUSTER - LIBVIRT_RESULT_HAL - LIBVIRT_RESULT_LIBSSH +@@ -977,6 +979,7 @@ LIBVIRT_RESULT_LIBXL + LIBVIRT_RESULT_LIBXML + LIBVIRT_RESULT_MACVTAP LIBVIRT_RESULT_NETCF +LIBVIRT_RESULT_NETCONTROL + LIBVIRT_RESULT_NSS LIBVIRT_RESULT_NUMACTL LIBVIRT_RESULT_OPENWSMAN - LIBVIRT_RESULT_PCIACCESS -Index: libvirt-2.5.0/src/Makefile.am +Index: libvirt-3.0.0/src/Makefile.am =================================================================== ---- libvirt-2.5.0.orig/src/Makefile.am -+++ libvirt-2.5.0/src/Makefile.am -@@ -954,6 +954,10 @@ if WITH_NETCF +--- libvirt-3.0.0.orig/src/Makefile.am ++++ libvirt-3.0.0/src/Makefile.am +@@ -957,6 +957,10 @@ if WITH_NETCF INTERFACE_DRIVER_SOURCES += \ interface/interface_backend_netcf.c endif WITH_NETCF @@ -49,7 +41,7 @@ if WITH_UDEV INTERFACE_DRIVER_SOURCES += \ interface/interface_backend_udev.c -@@ -1603,6 +1607,10 @@ if WITH_NETCF +@@ -1610,6 +1614,10 @@ if WITH_NETCF libvirt_driver_interface_la_CFLAGS += $(NETCF_CFLAGS) libvirt_driver_interface_la_LIBADD += $(NETCF_LIBS) endif WITH_NETCF @@ -60,10 +52,10 @@ if WITH_UDEV libvirt_driver_interface_la_CFLAGS += $(UDEV_CFLAGS) libvirt_driver_interface_la_LIBADD += $(UDEV_LIBS) -Index: libvirt-2.5.0/tools/virsh.c +Index: libvirt-3.0.0/tools/virsh.c =================================================================== ---- libvirt-2.5.0.orig/tools/virsh.c -+++ libvirt-2.5.0/tools/virsh.c +--- libvirt-3.0.0.orig/tools/virsh.c ++++ libvirt-3.0.0/tools/virsh.c @@ -602,6 +602,8 @@ virshShowVersion(vshControl *ctl ATTRIBU vshPrint(ctl, " Interface"); # if defined(WITH_NETCF) @@ -73,10 +65,10 @@ # elif defined(WITH_UDEV) vshPrint(ctl, " udev"); # endif -Index: libvirt-2.5.0/src/interface/interface_backend_netcf.c +Index: libvirt-3.0.0/src/interface/interface_backend_netcf.c =================================================================== ---- libvirt-2.5.0.orig/src/interface/interface_backend_netcf.c -+++ libvirt-2.5.0/src/interface/interface_backend_netcf.c +--- libvirt-3.0.0.orig/src/interface/interface_backend_netcf.c ++++ libvirt-3.0.0/src/interface/interface_backend_netcf.c @@ -23,7 +23,12 @@ #include <config.h> @@ -160,10 +152,10 @@ if (virSetSharedInterfaceDriver(&interfaceDriver) < 0) return -1; if (virRegisterStateDriver(&interfaceStateDriver) < 0) -Index: libvirt-2.5.0/src/interface/interface_driver.c +Index: libvirt-3.0.0/src/interface/interface_driver.c =================================================================== ---- libvirt-2.5.0.orig/src/interface/interface_driver.c -+++ libvirt-2.5.0/src/interface/interface_driver.c +--- libvirt-3.0.0.orig/src/interface/interface_driver.c ++++ libvirt-3.0.0/src/interface/interface_driver.c @@ -30,8 +30,15 @@ interfaceRegister(void) if (netcfIfaceRegister() == 0) return 0; @@ -181,11 +173,11 @@ if (udevIfaceRegister() == 0) return 0; #endif /* WITH_UDEV */ -Index: libvirt-2.5.0/m4/virt-netcontrol.m4 +Index: libvirt-3.0.0/m4/virt-netcontrol.m4 =================================================================== --- /dev/null -+++ libvirt-2.5.0/m4/virt-netcontrol.m4 -@@ -0,0 +1,35 @@ ++++ libvirt-3.0.0/m4/virt-netcontrol.m4 +@@ -0,0 +1,39 @@ +dnl The libnetcontrol library +dnl +dnl Copyright (C) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany. @@ -205,6 +197,10 @@ +dnl <http://www.gnu.org/licenses/>. +dnl + ++AC_DEFUN([LIBVIRT_ARG_NETCONTROL],[ ++ LIBVIRT_ARG_WITH_FEATURE([NETCONTROL], [netcontrol], [check], [0.2.0]) ++]) ++ +AC_DEFUN([LIBVIRT_CHECK_NETCONTROL],[ + LIBVIRT_CHECK_PKG([NETCONTROL], [netcontrol], [0.2.0]) + ++++++ libvirtd-defaults.patch ++++++ --- /var/tmp/diff_new_pack.wtmr4c/_old 2017-02-03 17:48:51.330030607 +0100 +++ /var/tmp/diff_new_pack.wtmr4c/_new 2017-02-03 17:48:51.330030607 +0100 @@ -1,7 +1,7 @@ -Index: libvirt-2.5.0/daemon/libvirtd.conf +Index: libvirt-3.0.0/daemon/libvirtd.conf =================================================================== ---- libvirt-2.5.0.orig/daemon/libvirtd.conf -+++ libvirt-2.5.0/daemon/libvirtd.conf +--- libvirt-3.0.0.orig/daemon/libvirtd.conf ++++ libvirt-3.0.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 +13,10 @@ # 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-2.5.0/daemon/libvirtd-config.c +Index: libvirt-3.0.0/daemon/libvirtd-config.c =================================================================== ---- libvirt-2.5.0.orig/daemon/libvirtd-config.c -+++ libvirt-2.5.0/daemon/libvirtd-config.c +--- libvirt-3.0.0.orig/daemon/libvirtd-config.c ++++ libvirt-3.0.0/daemon/libvirtd-config.c @@ -109,7 +109,7 @@ daemonConfigNew(bool privileged ATTRIBUT if (VIR_ALLOC(data) < 0) return NULL; @@ -26,10 +26,10 @@ data->listen_tcp = 0; if (VIR_STRDUP(data->tls_port, LIBVIRTD_TLS_PORT) < 0 || -Index: libvirt-2.5.0/daemon/test_libvirtd.aug.in +Index: libvirt-3.0.0/daemon/test_libvirtd.aug.in =================================================================== ---- libvirt-2.5.0.orig/daemon/test_libvirtd.aug.in -+++ libvirt-2.5.0/daemon/test_libvirtd.aug.in +--- libvirt-3.0.0.orig/daemon/test_libvirtd.aug.in ++++ libvirt-3.0.0/daemon/test_libvirtd.aug.in @@ -2,7 +2,7 @@ module Test_libvirtd = ::CONFIG:: ++++++ libvirtd-init-script.patch ++++++ --- /var/tmp/diff_new_pack.wtmr4c/_old 2017-02-03 17:48:51.342028916 +0100 +++ /var/tmp/diff_new_pack.wtmr4c/_new 2017-02-03 17:48:51.342028916 +0100 @@ -1,9 +1,9 @@ Adjust libvirtd sysconfig file to conform to SUSE standards -Index: libvirt-2.5.0/daemon/libvirtd.sysconf +Index: libvirt-3.0.0/daemon/libvirtd.sysconf =================================================================== ---- libvirt-2.5.0.orig/daemon/libvirtd.sysconf -+++ libvirt-2.5.0/daemon/libvirtd.sysconf +--- libvirt-3.0.0.orig/daemon/libvirtd.sysconf ++++ libvirt-3.0.0/daemon/libvirtd.sysconf @@ -1,16 +1,25 @@ +## Path: System/Virtualization/libvirt + ++++++ libxl-dom-reset.patch ++++++ --- /var/tmp/diff_new_pack.wtmr4c/_old 2017-02-03 17:48:51.378023841 +0100 +++ /var/tmp/diff_new_pack.wtmr4c/_new 2017-02-03 17:48:51.378023841 +0100 @@ -8,11 +8,11 @@ option, but domainReset can be implemented in the libxl driver by forcibly destroying the domain and starting it again. -Index: libvirt-2.5.0/src/libxl/libxl_driver.c +Index: libvirt-3.0.0/src/libxl/libxl_driver.c =================================================================== ---- libvirt-2.5.0.orig/src/libxl/libxl_driver.c -+++ libvirt-2.5.0/src/libxl/libxl_driver.c -@@ -1384,6 +1384,61 @@ libxlDomainReboot(virDomainPtr dom, unsi +--- libvirt-3.0.0.orig/src/libxl/libxl_driver.c ++++ libvirt-3.0.0/src/libxl/libxl_driver.c +@@ -1386,6 +1386,61 @@ libxlDomainReboot(virDomainPtr dom, unsi } static int @@ -74,7 +74,7 @@ libxlDomainDestroyFlags(virDomainPtr dom, unsigned int flags) { -@@ -6429,6 +6484,7 @@ static virHypervisorDriver libxlHypervis +@@ -6438,6 +6493,7 @@ static virHypervisorDriver libxlHypervis .domainShutdown = libxlDomainShutdown, /* 0.9.0 */ .domainShutdownFlags = libxlDomainShutdownFlags, /* 0.9.10 */ .domainReboot = libxlDomainReboot, /* 0.9.0 */ ++++++ libxl-dom0-balloon-fix.patch ++++++ commit f7143d2f0d918cf96010f1d7610b3c3bf7005c1d Author: Jim Fehlig <jfeh...@suse.com> Date: Tue Jan 17 15:11:32 2017 -0700 libxl: fix dom0 autoballooning with Xen 4.8 xen.git commit 57f8b13c changed several of the libxl memory get/set functions to take 64 bit parameters. The libvirt libxl driver still uses uint32_t variables for these various parameters, which is particularly problematic for the libxl_set_memory_target() function. When dom0 autoballooning is enabled, libvirt (like xl) determines the memory needed to start a domain and the memory available. If memory available is less than memory needed, dom0 is ballooned down by passing a negative value to libxl_set_memory_target() 'target_memkb' parameter. Prior to xen.git commit 57f8b13c, 'target_memkb' was an int32_t. Subtracting a larger uint32 from a smaller uint32 and assigning it to int32 resulted in a negative number. After commit 57f8b13c, the same subtraction is widened to a int64, resulting in a large positive number. The simple fix taken by this patch is to assign the difference of the uint32 values to a temporary int32 variable, which is then passed to 'target_memkb' parameter of libxl_set_memory_target(). Note that it is undesirable to change libvirt to use 64 bit variables since it requires setting LIBXL_API_VERSION to 0x040800. Currently libvirt supports LIBXL_API_VERSION >= 0x040400, essentially Xen >= 4.4. Index: libvirt-3.0.0/src/libxl/libxl_domain.c =================================================================== --- libvirt-3.0.0.orig/src/libxl/libxl_domain.c +++ libvirt-3.0.0/src/libxl/libxl_domain.c @@ -909,6 +909,7 @@ libxlDomainFreeMem(libxl_ctx *ctx, libxl { uint32_t needed_mem; uint32_t free_mem; + int32_t target_mem; int tries = 3; int wait_secs = 10; @@ -922,7 +923,8 @@ libxlDomainFreeMem(libxl_ctx *ctx, libxl if (free_mem >= needed_mem) return 0; - if (libxl_set_memory_target(ctx, 0, free_mem - needed_mem, + target_mem = free_mem - needed_mem; + if (libxl_set_memory_target(ctx, 0, target_mem, /* relative */ 1, 0) < 0) goto error; ++++++ libxl-qemu-emulator-caps.patch ++++++ --- /var/tmp/diff_new_pack.wtmr4c/_old 2017-02-03 17:48:51.402020458 +0100 +++ /var/tmp/diff_new_pack.wtmr4c/_new 2017-02-03 17:48:51.402020458 +0100 @@ -8,10 +8,10 @@ See FATE#320638 for details. -Index: libvirt-2.5.0/src/libxl/libxl_capabilities.c +Index: libvirt-3.0.0/src/libxl/libxl_capabilities.c =================================================================== ---- libvirt-2.5.0.orig/src/libxl/libxl_capabilities.c -+++ libvirt-2.5.0/src/libxl/libxl_capabilities.c +--- libvirt-3.0.0.orig/src/libxl/libxl_capabilities.c ++++ libvirt-3.0.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.wtmr4c/_old 2017-02-03 17:48:51.414018767 +0100 +++ /var/tmp/diff_new_pack.wtmr4c/_new 2017-02-03 17:48:51.414018767 +0100 @@ -3,11 +3,11 @@ src/libxl/libxl_conf.c | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) -Index: libvirt-2.5.0/src/libxl/libxl_conf.c +Index: libvirt-3.0.0/src/libxl/libxl_conf.c =================================================================== ---- libvirt-2.5.0.orig/src/libxl/libxl_conf.c -+++ libvirt-2.5.0/src/libxl/libxl_conf.c -@@ -584,6 +584,30 @@ libxlDiskSetDiscard(libxl_device_disk *x +--- libvirt-3.0.0.orig/src/libxl/libxl_conf.c ++++ libvirt-3.0.0/src/libxl/libxl_conf.c +@@ -583,6 +583,30 @@ libxlDiskSetDiscard(libxl_device_disk *x #endif } @@ -38,7 +38,7 @@ static char * libxlMakeNetworkDiskSrcStr(virStorageSourcePtr src, const char *username, -@@ -826,6 +850,7 @@ libxlMakeDisk(virDomainDiskDefPtr l_disk +@@ -836,6 +860,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.wtmr4c/_old 2017-02-03 17:48:51.426017076 +0100 +++ /var/tmp/diff_new_pack.wtmr4c/_new 2017-02-03 17:48:51.426017076 +0100 @@ -16,10 +16,10 @@ tools/virsh.pod | 8 ++++++++ 6 files changed, 125 insertions(+), 6 deletions(-) -Index: libvirt-2.5.0/include/libvirt/libvirt-domain.h +Index: libvirt-3.0.0/include/libvirt/libvirt-domain.h =================================================================== ---- libvirt-2.5.0.orig/include/libvirt/libvirt-domain.h -+++ libvirt-2.5.0/include/libvirt/libvirt-domain.h +--- libvirt-3.0.0.orig/include/libvirt/libvirt-domain.h ++++ libvirt-3.0.0/include/libvirt/libvirt-domain.h @@ -1000,6 +1000,31 @@ typedef enum { */ # define VIR_MIGRATE_PARAM_AUTO_CONVERGE_INCREMENT "auto_converge.increment" @@ -52,11 +52,11 @@ /* Domain migration. */ virDomainPtr virDomainMigrate (virDomainPtr domain, virConnectPtr dconn, unsigned long flags, const char *dname, -Index: libvirt-2.5.0/src/libxl/libxl_driver.c +Index: libvirt-3.0.0/src/libxl/libxl_driver.c =================================================================== ---- libvirt-2.5.0.orig/src/libxl/libxl_driver.c -+++ libvirt-2.5.0/src/libxl/libxl_driver.c -@@ -6047,6 +6047,9 @@ libxlDomainMigratePerform3Params(virDoma +--- libvirt-3.0.0.orig/src/libxl/libxl_driver.c ++++ libvirt-3.0.0/src/libxl/libxl_driver.c +@@ -6056,6 +6056,9 @@ libxlDomainMigratePerform3Params(virDoma const char *dname = NULL; const char *uri = NULL; int ret = -1; @@ -66,7 +66,7 @@ #ifdef LIBXL_HAVE_NO_SUSPEND_RESUME virReportUnsupportedError(); -@@ -6063,6 +6066,18 @@ libxlDomainMigratePerform3Params(virDoma +@@ -6072,6 +6075,18 @@ libxlDomainMigratePerform3Params(virDoma virTypedParamsGetString(params, nparams, VIR_MIGRATE_PARAM_DEST_NAME, &dname) < 0 || @@ -85,7 +85,7 @@ virTypedParamsGetString(params, nparams, VIR_MIGRATE_PARAM_URI, &uri) < 0) -@@ -6077,11 +6092,11 @@ libxlDomainMigratePerform3Params(virDoma +@@ -6086,11 +6101,11 @@ libxlDomainMigratePerform3Params(virDoma if (flags & VIR_MIGRATE_PEER2PEER) { if (libxlDomainMigrationPerformP2P(driver, vm, dom->conn, dom_xml, @@ -99,10 +99,10 @@ goto cleanup; } -Index: libvirt-2.5.0/src/libxl/libxl_migration.c +Index: libvirt-3.0.0/src/libxl/libxl_migration.c =================================================================== ---- libvirt-2.5.0.orig/src/libxl/libxl_migration.c -+++ libvirt-2.5.0/src/libxl/libxl_migration.c +--- libvirt-3.0.0.orig/src/libxl/libxl_migration.c ++++ libvirt-3.0.0/src/libxl/libxl_migration.c @@ -358,18 +358,39 @@ libxlMigrateReceive(virNetSocketPtr sock static int libxlDoMigrateSend(libxlDriverPrivatePtr driver, @@ -217,10 +217,10 @@ virObjectLock(vm); cleanup: -Index: libvirt-2.5.0/src/libxl/libxl_migration.h +Index: libvirt-3.0.0/src/libxl/libxl_migration.h =================================================================== ---- libvirt-2.5.0.orig/src/libxl/libxl_migration.h -+++ libvirt-2.5.0/src/libxl/libxl_migration.h +--- libvirt-3.0.0.orig/src/libxl/libxl_migration.h ++++ libvirt-3.0.0/src/libxl/libxl_migration.h @@ -38,6 +38,10 @@ VIR_MIGRATE_PARAM_URI, VIR_TYPED_PARAM_STRING, \ VIR_MIGRATE_PARAM_DEST_NAME, VIR_TYPED_PARAM_STRING, \ @@ -265,11 +265,11 @@ virDomainPtr libxlDomainMigrationFinish(virConnectPtr dconn, -Index: libvirt-2.5.0/tools/virsh-domain.c +Index: libvirt-3.0.0/tools/virsh-domain.c =================================================================== ---- libvirt-2.5.0.orig/tools/virsh-domain.c -+++ libvirt-2.5.0/tools/virsh-domain.c -@@ -10109,6 +10109,22 @@ static const vshCmdOptDef opts_migrate[] +--- libvirt-3.0.0.orig/tools/virsh-domain.c ++++ libvirt-3.0.0/tools/virsh-domain.c +@@ -10135,6 +10135,22 @@ static const vshCmdOptDef opts_migrate[] .type = VSH_OT_STRING, .help = N_("filename containing updated persistent XML for the target") }, @@ -292,7 +292,7 @@ {.name = NULL} }; -@@ -10132,6 +10148,7 @@ doMigrate(void *opaque) +@@ -10158,6 +10174,7 @@ doMigrate(void *opaque) unsigned long long ullOpt = 0; int rv; virConnectPtr dconn = data->dconn; @@ -300,7 +300,7 @@ sigemptyset(&sigmask); sigaddset(&sigmask, SIGINT); -@@ -10251,6 +10268,27 @@ doMigrate(void *opaque) +@@ -10277,6 +10294,27 @@ doMigrate(void *opaque) goto save_error; } @@ -328,11 +328,11 @@ if (vshCommandOptStringReq(ctl, cmd, "xml", &opt) < 0) goto out; if (opt) { -Index: libvirt-2.5.0/tools/virsh.pod +Index: libvirt-3.0.0/tools/virsh.pod =================================================================== ---- libvirt-2.5.0.orig/tools/virsh.pod -+++ libvirt-2.5.0/tools/virsh.pod -@@ -1706,6 +1706,14 @@ compression. I<--comp-mt-threads> and I< +--- libvirt-3.0.0.orig/tools/virsh.pod ++++ libvirt-3.0.0/tools/virsh.pod +@@ -1709,6 +1709,14 @@ compression. I<--comp-mt-threads> and I< of compress threads on source and the number of decompress threads on target respectively. I<--comp-xbzrle-cache> sets size of page cache in bytes. ++++++ libxl-support-block-script.patch ++++++ --- /var/tmp/diff_new_pack.wtmr4c/_old 2017-02-03 17:48:51.438015384 +0100 +++ /var/tmp/diff_new_pack.wtmr4c/_new 2017-02-03 17:48:51.438015384 +0100 @@ -7,11 +7,11 @@ For more details, see bsc#954872 and FATE#319810 -Index: libvirt-2.5.0/src/libxl/libxl_conf.c +Index: libvirt-3.0.0/src/libxl/libxl_conf.c =================================================================== ---- libvirt-2.5.0.orig/src/libxl/libxl_conf.c -+++ libvirt-2.5.0/src/libxl/libxl_conf.c -@@ -584,6 +584,25 @@ libxlDiskSetDiscard(libxl_device_disk *x +--- libvirt-3.0.0.orig/src/libxl/libxl_conf.c ++++ libvirt-3.0.0/src/libxl/libxl_conf.c +@@ -583,6 +583,25 @@ libxlDiskSetDiscard(libxl_device_disk *x #endif } @@ -37,7 +37,7 @@ static void libxlDiskSetCacheMode(libxl_device_disk *x_disk, int cachemode) { -@@ -728,6 +747,7 @@ libxlMakeNetworkDiskSrc(virStorageSource +@@ -727,6 +746,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); -@@ -743,7 +763,7 @@ libxlMakeDisk(virDomainDiskDefPtr l_disk +@@ -742,7 +762,7 @@ libxlMakeDisk(virDomainDiskDefPtr l_disk if (libxlMakeNetworkDiskSrc(l_disk->src, &x_disk->pdev_path) < 0) return -1; } else { @@ -54,7 +54,7 @@ return -1; } -@@ -851,6 +871,9 @@ libxlMakeDisk(virDomainDiskDefPtr l_disk +@@ -861,6 +881,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.wtmr4c/_old 2017-02-03 17:48:51.450013693 +0100 +++ /var/tmp/diff_new_pack.wtmr4c/_new 2017-02-03 17:48:51.454013128 +0100 @@ -13,11 +13,11 @@ src/lxc/lxc_process.c | 1 + 3 files changed, 4 insertions(+) -Index: libvirt-2.5.0/src/lxc/lxc_controller.c +Index: libvirt-3.0.0/src/lxc/lxc_controller.c =================================================================== ---- libvirt-2.5.0.orig/src/lxc/lxc_controller.c -+++ libvirt-2.5.0/src/lxc/lxc_controller.c -@@ -2009,6 +2009,7 @@ static int virLXCControllerDeleteInterfa +--- libvirt-3.0.0.orig/src/lxc/lxc_controller.c ++++ libvirt-3.0.0/src/lxc/lxc_controller.c +@@ -1997,6 +1997,7 @@ static int virLXCControllerDeleteInterfa if (virNetDevVethDelete(ctrl->veths[i]) < 0) ret = -1; } @@ -25,11 +25,11 @@ return ret; } -Index: libvirt-2.5.0/src/lxc/lxc_driver.c +Index: libvirt-3.0.0/src/lxc/lxc_driver.c =================================================================== ---- libvirt-2.5.0.orig/src/lxc/lxc_driver.c -+++ libvirt-2.5.0/src/lxc/lxc_driver.c -@@ -4034,6 +4034,7 @@ lxcDomainAttachDeviceNetLive(virConnectP +--- libvirt-3.0.0.orig/src/lxc/lxc_driver.c ++++ libvirt-3.0.0/src/lxc/lxc_driver.c +@@ -4036,6 +4036,7 @@ lxcDomainAttachDeviceNetLive(virConnectP case VIR_DOMAIN_NET_TYPE_NETWORK: case VIR_DOMAIN_NET_TYPE_ETHERNET: ignore_value(virNetDevVethDelete(veth)); @@ -37,7 +37,7 @@ break; case VIR_DOMAIN_NET_TYPE_DIRECT: -@@ -4468,6 +4469,7 @@ lxcDomainDetachDeviceNetLive(virDomainOb +@@ -4470,6 +4471,7 @@ lxcDomainDetachDeviceNetLive(virDomainOb virDomainAuditNet(vm, detach, NULL, "detach", false); goto cleanup; } @@ -45,10 +45,10 @@ break; /* It'd be nice to support this, but with macvlan -Index: libvirt-2.5.0/src/lxc/lxc_process.c +Index: libvirt-3.0.0/src/lxc/lxc_process.c =================================================================== ---- libvirt-2.5.0.orig/src/lxc/lxc_process.c -+++ libvirt-2.5.0/src/lxc/lxc_process.c +--- libvirt-3.0.0.orig/src/lxc/lxc_process.c ++++ libvirt-3.0.0/src/lxc/lxc_process.c @@ -221,6 +221,7 @@ static void virLXCProcessCleanup(virLXCD } networkReleaseActualDevice(vm->def, iface); ++++++ ppc64le-canonical-name.patch ++++++ --- /var/tmp/diff_new_pack.wtmr4c/_old 2017-02-03 17:48:51.462012001 +0100 +++ /var/tmp/diff_new_pack.wtmr4c/_new 2017-02-03 17:48:51.466011437 +0100 @@ -2,10 +2,10 @@ See bnc#894956 -Index: libvirt-2.5.0/src/util/virarch.c +Index: libvirt-3.0.0/src/util/virarch.c =================================================================== ---- libvirt-2.5.0.orig/src/util/virarch.c -+++ libvirt-2.5.0/src/util/virarch.c +--- libvirt-3.0.0.orig/src/util/virarch.c ++++ libvirt-3.0.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.wtmr4c/_old 2017-02-03 17:48:51.474010309 +0100 +++ /var/tmp/diff_new_pack.wtmr4c/_new 2017-02-03 17:48:51.474010309 +0100 @@ -1,8 +1,8 @@ -Index: libvirt-2.5.0/examples/apparmor/libvirt-qemu +Index: libvirt-3.0.0/examples/apparmor/libvirt-qemu =================================================================== ---- libvirt-2.5.0.orig/examples/apparmor/libvirt-qemu -+++ libvirt-2.5.0/examples/apparmor/libvirt-qemu -@@ -151,3 +151,6 @@ +--- libvirt-3.0.0.orig/examples/apparmor/libvirt-qemu ++++ libvirt-3.0.0/examples/apparmor/libvirt-qemu +@@ -154,3 +154,6 @@ /etc/udev/udev.conf r, /sys/bus/ r, /sys/class/ r, ++++++ qemu-disable-namespaces.patch ++++++ commit eaa2043dee8b8ada7b0b80c9b5b0b0db575a4abf Author: Daniel P. Berrange <berra...@redhat.com> Date: Wed Jan 18 10:49:59 2017 +0000 Disable use of namespaces by default When namespaces are enabled there is currently breakage when using disk hotplug and when using AppArmor Signed-off-by: Daniel P. Berrange <berra...@redhat.com> Index: libvirt-3.0.0/src/qemu/qemu_conf.c =================================================================== --- libvirt-3.0.0.orig/src/qemu/qemu_conf.c +++ libvirt-3.0.0/src/qemu/qemu_conf.c @@ -317,13 +317,6 @@ virQEMUDriverConfigPtr virQEMUDriverConf if (!(cfg->namespaces = virBitmapNew(QEMU_DOMAIN_NS_LAST))) goto error; -#if defined(__linux__) - if (privileged && - virProcessNamespaceAvailable(VIR_PROCESS_NAMESPACE_MNT) == 0 && - virBitmapSetBit(cfg->namespaces, QEMU_DOMAIN_NS_MOUNT) < 0) - goto error; -#endif /* defined(__linux__) */ - #ifdef DEFAULT_LOADER_NVRAM if (virFirmwareParseList(DEFAULT_LOADER_NVRAM, &cfg->firmwares, ++++++ support-managed-pci-xen-driver.patch ++++++ --- /var/tmp/diff_new_pack.wtmr4c/_old 2017-02-03 17:48:51.494007490 +0100 +++ /var/tmp/diff_new_pack.wtmr4c/_new 2017-02-03 17:48:51.494007490 +0100 @@ -8,10 +8,10 @@ src/xenxs/xen_xm.c | 28 +++++++++++++++++++++++++++- 2 files changed, 35 insertions(+), 15 deletions(-) -Index: libvirt-2.5.0/src/xenconfig/xen_common.c +Index: libvirt-3.0.0/src/xenconfig/xen_common.c =================================================================== ---- libvirt-2.5.0.orig/src/xenconfig/xen_common.c -+++ libvirt-2.5.0/src/xenconfig/xen_common.c +--- libvirt-3.0.0.orig/src/xenconfig/xen_common.c ++++ libvirt-3.0.0/src/xenconfig/xen_common.c @@ -394,6 +394,8 @@ xenParsePCI(virConfPtr conf, virDomainDe { virConfValuePtr list = virConfGetValue(conf, "pci"); @@ -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-2.5.0/src/xenconfig/xen_sxpr.c +Index: libvirt-3.0.0/src/xenconfig/xen_sxpr.c =================================================================== ---- libvirt-2.5.0.orig/src/xenconfig/xen_sxpr.c -+++ libvirt-2.5.0/src/xenconfig/xen_sxpr.c +--- libvirt-3.0.0.orig/src/xenconfig/xen_sxpr.c ++++ libvirt-3.0.0/src/xenconfig/xen_sxpr.c @@ -1062,6 +1062,7 @@ xenParseSxprPCI(virDomainDefPtr def, int busID; int slotID; ++++++ suse-qemu-conf.patch ++++++ --- /var/tmp/diff_new_pack.wtmr4c/_old 2017-02-03 17:48:51.506005799 +0100 +++ /var/tmp/diff_new_pack.wtmr4c/_new 2017-02-03 17:48:51.506005799 +0100 @@ -7,10 +7,10 @@ etc.), but for now they are all lumped together in this single patch. -Index: libvirt-2.5.0/src/qemu/qemu.conf +Index: libvirt-3.0.0/src/qemu/qemu.conf =================================================================== ---- libvirt-2.5.0.orig/src/qemu/qemu.conf -+++ libvirt-2.5.0/src/qemu/qemu.conf +--- libvirt-3.0.0.orig/src/qemu/qemu.conf ++++ libvirt-3.0.0/src/qemu/qemu.conf @@ -283,11 +283,20 @@ # isolation, but it cannot appear in a list of drivers. # ++++++ systemd-service-xen.patch ++++++ --- /var/tmp/diff_new_pack.wtmr4c/_old 2017-02-03 17:48:51.518004107 +0100 +++ /var/tmp/diff_new_pack.wtmr4c/_new 2017-02-03 17:48:51.518004107 +0100 @@ -1,7 +1,7 @@ -Index: libvirt-2.5.0/daemon/libvirtd.service.in +Index: libvirt-3.0.0/daemon/libvirtd.service.in =================================================================== ---- libvirt-2.5.0.orig/daemon/libvirtd.service.in -+++ libvirt-2.5.0/daemon/libvirtd.service.in +--- libvirt-3.0.0.orig/daemon/libvirtd.service.in ++++ libvirt-3.0.0/daemon/libvirtd.service.in @@ -13,6 +13,7 @@ After=iscsid.service After=apparmor.service After=local-fs.target ++++++ virt-create-rootfs.patch ++++++ Index: libvirt-3.0.0/tools/Makefile.am =================================================================== --- libvirt-3.0.0.orig/tools/Makefile.am +++ libvirt-3.0.0/tools/Makefile.am @@ -43,6 +43,7 @@ PODFILES = \ virt-sanlock-cleanup.pod \ virt-xml-validate.pod \ virsh.pod \ + virt-create-rootfs.pod \ $(NULL) MANINFILES = \ @@ -76,7 +77,7 @@ MAINTAINERCLEANFILES = confdir = $(sysconfdir)/libvirt conf_DATA = -bin_SCRIPTS = virt-xml-validate virt-pki-validate +bin_SCRIPTS = virt-xml-validate virt-pki-validate virt-create-rootfs bin_PROGRAMS = virsh virt-admin libexec_SCRIPTS = libvirt-guests.sh man1_MANS = \ @@ -102,6 +103,8 @@ bin_PROGRAMS += virt-host-validate man1_MANS += virt-host-validate.1 endif WITH_HOST_VALIDATE +man1_MANS += virt-create-rootfs.1 + virt-xml-validate: virt-xml-validate.in Makefile $(AM_V_GEN)sed -e 's|[@]schemadir@|$(pkgdatadir)/schemas|g' \ -e 's|[@]VERSION@|$(VERSION)|g' \ Index: libvirt-3.0.0/tools/virt-create-rootfs =================================================================== --- /dev/null +++ libvirt-3.0.0/tools/virt-create-rootfs @@ -0,0 +1,214 @@ +#!/bin/sh +set -e + +function fail +{ + echo $1 + exit 1 +} + +function print_help +{ +cat << EOF +virt-create-rootfs --root /path/to/rootfs [ARGS] + +Create a new root file system to use for distribution containers. + +ARGUMENTS + + -h, --help print this help and exit + -r, --root path where to create the root FS + -d, --distro distribution to install + -a, --arch target architecture + -u, --url URL of the registration server + -c, --regcode registration code for the product + -p, --root-pass the root password to set in the root FS + --dry-run don't actually run it +EOF +} + +ARCH=$(uname -i) +ROOT= +DISTRO= +URL= +REG_CODE= +ROOT_PASS= +DRY_RUN= + +while test $# -gt 0 +do + case $1 in + + -h | --help) + # usage and help + print_help + ;; + + -r | --root) + if test $# -lt 2; then + fail "$1 needs a value" + fi + ROOT="$2" + shift + ;; + + -a | --arch) + if test $# -lt 2; then + fail "$1 needs a value" + fi + case "$2" in + i586 | x86_64) + ARCH=$2 + shift + ;; + *) + fail "$1 valid values are 'i586', 'x86_64'" + esac + # Sanity checks for the arch + HOST_ARCH=$(uname -i) + case "$HOST_ARCH" in + i?86) + if test $ARCH = "x86_64"; then + fail "Host won't run x86_64 container" + fi + ;; + esac + ;; + + -u | --url) + if test $# -lt 2; then + fail "$1 needs a value" + fi + URL="$2" + shift + ;; + + -d | --distro) + if test $# -lt 2; then + fail "$1 needs a value" + fi + case "$2" in + SLED-* | SLES-* | openSUSE-*) + DISTRO=$2 + shift + ;; + *) + fail "$1 valid values are 'SLED-*', 'SLES-*', 'openSUSE-*'" + esac + ;; + + -c | --regcode) + if test $# -lt 2; then + fail "$1 needs a value" + fi + REG_CODE=$2 + shift + ;; + + -p | --root-pass) + if test $# -lt 2; then + fail "$1 needs a value" + fi + ROOT_PASS=$2 + shift + ;; + + --dry-run) + DRY_RUN="yes" + ;; + + *) + fail "Unknown option: $1" + ;; + esac + + shift +done + +if test -z "$ROOT"; then + fail "--root argument need to be provided" +fi + +RUN= +if test "$DRY_RUN" = "yes"; then + RUN="echo" +fi + +function call_zypper +{ + $RUN zypper --root "$ROOT" $* +} + +function install_sle +{ + PRODUCT="$1" + VERSION="$2" + + case "$VERSION" in + 12.0) + # Transform into zypper internal version scheme + VERSION="12" + ;; + *) + fail "Unhandled SLE version: $VERSION" + ;; + esac + + # First copy the SUSE GPG keys from the host to the new root + rpm -qa gpg-pubkey\* --qf "%{name}-%{version}-%{release}: %{summary}\n" | \ + grep 'gpg(SuSE Package Signing Key <bu...@suse.de>)' | \ + while read -r line; do + key=$(echo $line | cut -d ':' -f 1) + tmpkey=$(mktemp) + rpm -qi $key | sed -n '/BEGIN/,/END/p' > "$tmpkey" + rpm --root "$ROOT" --import "$tmpkey" + rm "$tmpkey" + done + + # SUSE Connect adds the repositories, and refreshes them, + # but requires the GPG key to be already imported + CONNECT_ARGS= + if test -n "$REG_CODE"; then + CONNECT_ARGS="$CONNECT_ARGS -r $REG_CODE" + fi + if test -n "$URL"; then + CONNECT_ARGS="$CONNECT_ARGS --url $URL" + fi + $RUN SUSEConnect -p "$PRODUCT/$VERSION/$ARCH" --root "$ROOT" $CONNECT_ARGS + + # Then we install what we need + call_zypper in -t pattern Minimal + + # Create the baseproduct symlink + ln -s $PRODUCT.prod "$ROOT/etc/products.d/baseproduct" +} + +case "$DISTRO" in + SLED-*) + install_sle "SLED" "${DISTRO:5}" + ;; + SLED-* | SLES-*) + install_sle "SLES" "${DISTRO:5}" + ;; + + openSUSE-*) + VERSION=${DISTRO:9} + case "$VERSION" in + 13.1) + REPO="http://download.opensuse.org/distribution/13.1/repo/oss/" + UPDATE_REPO="http://download.opensuse.org/update/13.1/" + ;; + *) + fail "Unhandled openSUSE version: $VERSION" + ;; + esac + call_zypper ar "$REPO" "openSUSE" + call_zypper ar "$UPDATE_REPO" "openSUSE udpate" + call_zypper in --no-recommends -t pattern base + ;; +esac + +if test "$DRY_RUN" != "yes"; then + echo "pts/0" >> "$ROOT/etc/securetty" + chroot "$ROOT" /usr/bin/passwd +fi Index: libvirt-3.0.0/tools/virt-create-rootfs.pod =================================================================== --- /dev/null +++ libvirt-3.0.0/tools/virt-create-rootfs.pod @@ -0,0 +1,77 @@ +=head1 NAME + +virt-create-rootfs - tool to create a root file system for distro containers. + +=head1 SYNOPSIS + +B<virt-create-rootfs> [I<OPTION>] + +=head1 DESCRIPTION + +The B<virt-create-rootfs> program is a shell script setting up a root file +system for a distribution container. + +The basic structure of most virt-create-rootfs usage is: + + virt-create-rootfs -r /path/to/root -d distro-name + +=head1 OPTIONS + +=over + +=item B<-h, --help> + +Display command line help usage then exit. + +=item B<-r, --root> + +Set the path where to create the new root file system. + +=item B<-d, --distro> + +Set the name of distribution to use for the root file system. + +As of now, only SLED-I<XXX>, SLES-I<XXX> and openSUSE-I<XXX> are implemented +where I<XXX> is the version number. Note that SUSEConnect is required to +handle SLE distributions. + +=item B<-a, --arch> + +Set the target architecture of the root file system to either i586 or x86_64. + +=item B<-c, --regcode> + +Set the registration code for the product to install in the root file system. +For SLE distributions, use a registration code from SUSE Customer Center. + +=item B<-u, --url> + +For SLE distributions, set the registration server to use. +Default: http://scc.suse.com. + +=item B<-p, --root-pass> + +If defined, set the root password for the new root file system. + +=item B<--dry-run> + +Don't do anything, just report what would be done. + +=back + +=head1 COPYRIGHT + +Copyright (C) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany. + +=head1 LICENSE + +virt-create-rootfs is distributed under the terms of the GNU LGPL v2+. +This is free software; see the source for copying conditions. There +is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR +PURPOSE + +=head1 SEE ALSO + +L<virsh(1)>, L<http://www.libvirt.org/> + +=cut ++++++ virtlockd-init-script.patch ++++++ --- /var/tmp/diff_new_pack.wtmr4c/_old 2017-02-03 17:48:51.534001851 +0100 +++ /var/tmp/diff_new_pack.wtmr4c/_new 2017-02-03 17:48:51.538001288 +0100 @@ -1,9 +1,9 @@ Adjust virtlockd init files to conform to SUSE standards -Index: libvirt-2.5.0/src/locking/virtlockd.sysconf +Index: libvirt-3.0.0/src/locking/virtlockd.sysconf =================================================================== ---- libvirt-2.5.0.orig/src/locking/virtlockd.sysconf -+++ libvirt-2.5.0/src/locking/virtlockd.sysconf +--- libvirt-3.0.0.orig/src/locking/virtlockd.sysconf ++++ libvirt-3.0.0/src/locking/virtlockd.sysconf @@ -1,3 +1,7 @@ +## Path: System/Virtualization/virtlockd + @@ -12,10 +12,10 @@ # # Pass extra arguments to virtlockd #VIRTLOCKD_ARGS= -Index: libvirt-2.5.0/src/locking/virtlockd.init.in +Index: libvirt-3.0.0/src/locking/virtlockd.init.in =================================================================== ---- libvirt-2.5.0.orig/src/locking/virtlockd.init.in -+++ libvirt-2.5.0/src/locking/virtlockd.init.in +--- libvirt-3.0.0.orig/src/locking/virtlockd.init.in ++++ libvirt-3.0.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 # ++++++ virtlogd-init-script.patch ++++++ --- /var/tmp/diff_new_pack.wtmr4c/_old 2017-02-03 17:48:51.549999597 +0100 +++ /var/tmp/diff_new_pack.wtmr4c/_new 2017-02-03 17:48:51.549999597 +0100 @@ -1,9 +1,9 @@ Adjust virtlogd init files to conform to SUSE standards -Index: libvirt-2.5.0/src/logging/virtlogd.init.in +Index: libvirt-3.0.0/src/logging/virtlogd.init.in =================================================================== ---- libvirt-2.5.0.orig/src/logging/virtlogd.init.in -+++ libvirt-2.5.0/src/logging/virtlogd.init.in +--- libvirt-3.0.0.orig/src/logging/virtlogd.init.in ++++ libvirt-3.0.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 # @@ -126,10 +126,10 @@ esac -exit $RETVAL +rc_exit -Index: libvirt-2.5.0/src/logging/virtlogd.sysconf +Index: libvirt-3.0.0/src/logging/virtlogd.sysconf =================================================================== ---- libvirt-2.5.0.orig/src/logging/virtlogd.sysconf -+++ libvirt-2.5.0/src/logging/virtlogd.sysconf +--- libvirt-3.0.0.orig/src/logging/virtlogd.sysconf ++++ libvirt-3.0.0/src/logging/virtlogd.sysconf @@ -1,3 +1,7 @@ +## Path: System/Virtualization/virtlogd + ++++++ xen-pv-cdrom.patch ++++++ --- /var/tmp/diff_new_pack.wtmr4c/_old 2017-02-03 17:48:51.561997905 +0100 +++ /var/tmp/diff_new_pack.wtmr4c/_new 2017-02-03 17:48:51.561997905 +0100 @@ -1,7 +1,7 @@ -Index: libvirt-2.5.0/src/xenconfig/xen_sxpr.c +Index: libvirt-3.0.0/src/xenconfig/xen_sxpr.c =================================================================== ---- libvirt-2.5.0.orig/src/xenconfig/xen_sxpr.c -+++ libvirt-2.5.0/src/xenconfig/xen_sxpr.c +--- libvirt-3.0.0.orig/src/xenconfig/xen_sxpr.c ++++ libvirt-3.0.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.wtmr4c/_old 2017-02-03 17:48:51.577995649 +0100 +++ /var/tmp/diff_new_pack.wtmr4c/_new 2017-02-03 17:48:51.577995649 +0100 @@ -6,10 +6,10 @@ https://bugzilla.suse.com/show_bug.cgi?id=938228 -Index: libvirt-2.5.0/src/xenconfig/xen_sxpr.c +Index: libvirt-3.0.0/src/xenconfig/xen_sxpr.c =================================================================== ---- libvirt-2.5.0.orig/src/xenconfig/xen_sxpr.c -+++ libvirt-2.5.0/src/xenconfig/xen_sxpr.c +--- libvirt-3.0.0.orig/src/xenconfig/xen_sxpr.c ++++ libvirt-3.0.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 */