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 */


Reply via email to