diff --git a/apparmor-dont-scrub-environment-of-virtlogd-process.patch b/apparmor-dont-scrub-environment-of-virtlogd-process.patch deleted file mode 100644 index 9c7488b..0000000 --- a/apparmor-dont-scrub-environment-of-virtlogd-process.patch +++ /dev/null @@ -1,23 +0,0 @@ -From c5963fcd85e4bf1e7325b9a4c33ba34369e98231 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Guido=20G=C3=BCnther?= -Date: Sun, 5 Jun 2016 13:06:35 +0200 -Subject: [PATCH] apparmor: Don't scrub environment of virtlogd process - -otherwise we drop variables like XDG_RUNTIME_DIR with qemu:///session -and libvirtd faild to find virtlogd's socket. ---- - examples/apparmor/usr.sbin.libvirtd | 1 + - 1 file changed, 1 insertion(+) - -Index: libvirt-1.3.5/examples/apparmor/usr.sbin.libvirtd -=================================================================== ---- libvirt-1.3.5.orig/examples/apparmor/usr.sbin.libvirtd -+++ libvirt-1.3.5/examples/apparmor/usr.sbin.libvirtd -@@ -45,6 +45,7 @@ - /bin/* PUx, - /sbin/* PUx, - /usr/bin/* PUx, -+ /usr/sbin/virtlogd pix, - /usr/sbin/* PUx, - /lib/udev/scsi_id PUx, - /usr/{lib,lib64}/xen-common/bin/xen-toolstack PUx, diff --git a/apparmor-fixes.patch b/apparmor-fixes.patch index f7720a2..37f34b9 100644 --- a/apparmor-fixes.patch +++ b/apparmor-fixes.patch @@ -1,7 +1,7 @@ -Index: libvirt-1.3.5/examples/apparmor/libvirt-qemu +Index: libvirt-2.0.0/examples/apparmor/libvirt-qemu =================================================================== ---- libvirt-1.3.5.orig/examples/apparmor/libvirt-qemu -+++ libvirt-1.3.5/examples/apparmor/libvirt-qemu +--- libvirt-2.0.0.orig/examples/apparmor/libvirt-qemu ++++ libvirt-2.0.0/examples/apparmor/libvirt-qemu @@ -143,6 +143,9 @@ # for restore /bin/bash rmix, diff --git a/apparmor-no-mount.patch b/apparmor-no-mount.patch index 2a5459c..ed32d54 100644 --- a/apparmor-no-mount.patch +++ b/apparmor-no-mount.patch @@ -1,7 +1,7 @@ -Index: libvirt-1.3.5/examples/apparmor/libvirt-lxc +Index: libvirt-2.0.0/examples/apparmor/libvirt-lxc =================================================================== ---- libvirt-1.3.5.orig/examples/apparmor/libvirt-lxc -+++ libvirt-1.3.5/examples/apparmor/libvirt-lxc +--- libvirt-2.0.0.orig/examples/apparmor/libvirt-lxc ++++ libvirt-2.0.0/examples/apparmor/libvirt-lxc @@ -2,39 +2,15 @@ #include diff --git a/blockcopy-check-dst-identical-device.patch b/blockcopy-check-dst-identical-device.patch index 85d919c..7a41296 100644 --- a/blockcopy-check-dst-identical-device.patch +++ b/blockcopy-check-dst-identical-device.patch @@ -11,11 +11,11 @@ Signed-off-by: Chunyan Liu src/qemu/qemu_driver.c | 7 +++++++ 1 file changed, 7 insertions(+) -Index: libvirt-1.3.5/src/qemu/qemu_driver.c +Index: libvirt-2.0.0/src/qemu/qemu_driver.c =================================================================== ---- libvirt-1.3.5.orig/src/qemu/qemu_driver.c -+++ libvirt-1.3.5/src/qemu/qemu_driver.c -@@ -16432,6 +16432,15 @@ qemuDomainBlockCopyCommon(virDomainObjPt +--- libvirt-2.0.0.orig/src/qemu/qemu_driver.c ++++ libvirt-2.0.0/src/qemu/qemu_driver.c +@@ -16292,6 +16292,15 @@ qemuDomainBlockCopyCommon(virDomainObjPt _("non-file destination not supported yet")); goto endjob; } diff --git a/c8f08e48-systemd-notify-fix.patch b/c8f08e48-systemd-notify-fix.patch new file mode 100644 index 0000000..19cf089 --- /dev/null +++ b/c8f08e48-systemd-notify-fix.patch @@ -0,0 +1,46 @@ +commit c8f08e487672afcaa53629bddbc6703b5d90e846 +Author: Jim Fehlig +Date: Mon Jul 11 17:26:48 2016 -0600 + + systemd: fix ready notification on abstract socket + + At least with systemd v210, NOTIFY_SOCKET is abstact, e.g. + @/org/freedesktop/systemd1/notify. sendmsg() fails on such a socket + with "Connection refused". The unix(7) man page contains the following + details wrt abstract socket addresses + + abstract: an abstract socket address is distinguished (from a + pathname socket) by the fact that sun_path[0] is a null byte + ('\0'). The socket's address in this namespace is given by the + additional bytes in sun_path that are covered by the specified + length of the address structure. (Null bytes in the name have + no special significance.) + + So we need to be more precise about the address length, setting it to + the sizeof sa_family_t + length of address copied to sun_path instead + of setting it to the sizeof the entire sockaddr_un struct. + + Resolves: https://bugzilla.opensuse.org/show_bug.cgi?id=987668 + Signed-off-by: Jim Fehlig + +Index: libvirt-2.0.0/src/util/virsystemd.c +=================================================================== +--- libvirt-2.0.0.orig/src/util/virsystemd.c ++++ libvirt-2.0.0/src/util/virsystemd.c +@@ -495,7 +495,6 @@ virSystemdNotifyStartup(void) + }; + struct msghdr mh = { + .msg_name = &un, +- .msg_namelen = sizeof(un), + .msg_iov = &iov, + .msg_iovlen = 1, + }; +@@ -515,6 +514,8 @@ virSystemdNotifyStartup(void) + if (un.sun_path[0] == '@') + un.sun_path[0] = '\0'; + ++ mh.msg_namelen = offsetof(struct sockaddr_un, sun_path) + strlen(path); ++ + fd = socket(AF_UNIX, SOCK_DGRAM, 0); + if (fd < 0) { + VIR_WARN("Unable to create socket FD"); diff --git a/e33cd67a-xenconfig-backendtype-fix.patch b/e33cd67a-xenconfig-backendtype-fix.patch deleted file mode 100644 index 00eeeec..0000000 --- a/e33cd67a-xenconfig-backendtype-fix.patch +++ /dev/null @@ -1,60 +0,0 @@ -commit e33cd67a9b51e8fcb4e084f40f500057b30b2786 -Author: Jim Fehlig -Date: Wed Jun 15 23:09:36 2016 -0600 - - xenconfig: fix conversion of to backendtype - - When converting domXML to xen xl.cfg, backendtype should - not be emitted if is not specified. Moreover, - should be converted to backendtype - qdisk, similar to handling of in libxlMakeDisk() - in libxl_conf.c. - - Prior to this change, connectDomainXMLToNative would - produce incorrect xl.cfg when the input domXML contained - - - domXML: - - - - - - - - virsh domxml-to-native xen-xl domXML - - disk = [ "format=raw,vdev=xvda,access=rw,backendtype=target=/image/file/path" ] - - xl create xl.cfg - config parsing error in disk specification: unknown value - for backendtype: near `target=/image/file/path' in - `format=raw,vdev=xvda,access=rw,backendtype=target=/image/file/path' - -Index: libvirt-1.3.5/src/xenconfig/xen_xl.c -=================================================================== ---- libvirt-1.3.5.orig/src/xenconfig/xen_xl.c -+++ libvirt-1.3.5/src/xenconfig/xen_xl.c -@@ -752,13 +752,15 @@ xenFormatXLDisk(virConfValuePtr list, vi - } - - /* backendtype */ -- virBufferAddLit(&buf, "backendtype="); -- if (STREQ_NULLABLE(driver, "qemu")) -- virBufferAddLit(&buf, "qdisk,"); -- else if (STREQ_NULLABLE(driver, "tap")) -- virBufferAddLit(&buf, "tap,"); -- else if (STREQ_NULLABLE(driver, "phy")) -- virBufferAddLit(&buf, "phy,"); -+ if (driver) { -+ virBufferAddLit(&buf, "backendtype="); -+ if (STREQ(driver, "qemu") || STREQ(driver, "file")) -+ virBufferAddLit(&buf, "qdisk,"); -+ else if (STREQ(driver, "tap")) -+ virBufferAddLit(&buf, "tap,"); -+ else if (STREQ(driver, "phy")) -+ virBufferAddLit(&buf, "phy,"); -+ } - - /* devtype */ - if (disk->device == VIR_DOMAIN_DISK_DEVICE_CDROM) diff --git a/libvirt-1.3.5.tar.gz b/libvirt-1.3.5.tar.gz deleted file mode 100644 index dd7cf4c..0000000 --- a/libvirt-1.3.5.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:93a23c44eb431da46c9458f95a66e29c9b98e37515d44b6be09e75b35ec94ac8 -size 35109092 diff --git a/libvirt-1.3.5.tar.gz.asc b/libvirt-1.3.5.tar.gz.asc deleted file mode 100644 index 9a8161b..0000000 --- a/libvirt-1.3.5.tar.gz.asc +++ /dev/null @@ -1,7 +0,0 @@ ------BEGIN PGP SIGNATURE----- -Version: GnuPG v1 - -iEYEABECAAYFAldS8J8ACgkQRga4pd6VvB+VvwCcDfgIkCFsfgj5XmnLdb4oQjc0 -RXoAnirOBaSfylYPmgQJDnXHkFCh89LD -=PDgX ------END PGP SIGNATURE----- diff --git a/libvirt-2.0.0.tar.xz b/libvirt-2.0.0.tar.xz new file mode 100644 index 0000000..4b39480 --- /dev/null +++ b/libvirt-2.0.0.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:10e90af55e613953c0ddc60b4ac3a10c73c0f3493d7014259e3f012b2ffc9acb +size 13161096 diff --git a/libvirt-2.0.0.tar.xz.asc b/libvirt-2.0.0.tar.xz.asc new file mode 100644 index 0000000..1c6f845 --- /dev/null +++ b/libvirt-2.0.0.tar.xz.asc @@ -0,0 +1,7 @@ +-----BEGIN PGP SIGNATURE----- +Version: GnuPG v1 + +iEYEABECAAYFAld2MUcACgkQRga4pd6VvB8KZwCgmfElUahCJKGN6KEKIdDmjNWT +snoAnAn/J4imekmwJeGGJTBY4S8Izdv4 +=UgFQ +-----END PGP SIGNATURE----- diff --git a/libvirt-guests-init-script.patch b/libvirt-guests-init-script.patch index 9e6dc5d..4d4ab71 100644 --- a/libvirt-guests-init-script.patch +++ b/libvirt-guests-init-script.patch @@ -1,9 +1,9 @@ Adjust libvirt-guests init files to conform to SUSE standards -Index: libvirt-1.3.5/tools/libvirt-guests.init.in +Index: libvirt-2.0.0/tools/libvirt-guests.init.in =================================================================== ---- libvirt-1.3.5.orig/tools/libvirt-guests.init.in -+++ libvirt-1.3.5/tools/libvirt-guests.init.in +--- libvirt-2.0.0.orig/tools/libvirt-guests.init.in ++++ libvirt-2.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 @@ Index: libvirt-1.3.5/tools/libvirt-guests.init.in # exec @libexecdir@/libvirt-guests.sh "$@" -Index: libvirt-1.3.5/tools/libvirt-guests.sh.in +Index: libvirt-2.0.0/tools/libvirt-guests.sh.in =================================================================== ---- libvirt-1.3.5.orig/tools/libvirt-guests.sh.in -+++ libvirt-1.3.5/tools/libvirt-guests.sh.in +--- libvirt-2.0.0.orig/tools/libvirt-guests.sh.in ++++ libvirt-2.0.0/tools/libvirt-guests.sh.in @@ -16,14 +16,13 @@ # License along with this library. If not, see # . @@ -208,10 +208,10 @@ Index: libvirt-1.3.5/tools/libvirt-guests.sh.in esac -exit $RETVAL +rc_exit -Index: libvirt-1.3.5/tools/libvirt-guests.sysconf +Index: libvirt-2.0.0/tools/libvirt-guests.sysconf =================================================================== ---- libvirt-1.3.5.orig/tools/libvirt-guests.sysconf -+++ libvirt-1.3.5/tools/libvirt-guests.sysconf +--- libvirt-2.0.0.orig/tools/libvirt-guests.sysconf ++++ libvirt-2.0.0/tools/libvirt-guests.sysconf @@ -1,19 +1,29 @@ +## Path: System/Virtualization/libvirt-guests + diff --git a/libvirt-power8-models.patch b/libvirt-power8-models.patch index 875ead7..27b3f5b 100644 --- a/libvirt-power8-models.patch +++ b/libvirt-power8-models.patch @@ -1,8 +1,8 @@ -Index: libvirt-1.3.5/src/cpu/cpu_map.xml +Index: libvirt-2.0.0/src/cpu/cpu_map.xml =================================================================== ---- libvirt-1.3.5.orig/src/cpu/cpu_map.xml -+++ libvirt-1.3.5/src/cpu/cpu_map.xml -@@ -1430,6 +1430,16 @@ +--- libvirt-2.0.0.orig/src/cpu/cpu_map.xml ++++ libvirt-2.0.0/src/cpu/cpu_map.xml +@@ -1542,6 +1542,16 @@ diff --git a/libvirt-suse-netcontrol.patch b/libvirt-suse-netcontrol.patch index 51a78c3..a277060 100644 --- a/libvirt-suse-netcontrol.patch +++ b/libvirt-suse-netcontrol.patch @@ -1,7 +1,7 @@ -Index: libvirt-1.3.5/configure.ac +Index: libvirt-2.0.0/configure.ac =================================================================== ---- libvirt-1.3.5.orig/configure.ac -+++ libvirt-1.3.5/configure.ac +--- libvirt-2.0.0.orig/configure.ac ++++ libvirt-2.0.0/configure.ac @@ -248,6 +248,7 @@ LIBVIRT_CHECK_FUSE LIBVIRT_CHECK_GLUSTER LIBVIRT_CHECK_HAL @@ -10,7 +10,7 @@ Index: libvirt-1.3.5/configure.ac LIBVIRT_CHECK_NUMACTL LIBVIRT_CHECK_OPENWSMAN LIBVIRT_CHECK_PCIACCESS -@@ -2396,11 +2397,12 @@ if test "$with_libvirtd" = "no" ; then +@@ -2404,11 +2405,12 @@ if test "$with_libvirtd" = "no" ; then with_interface=no fi @@ -26,7 +26,7 @@ Index: libvirt-1.3.5/configure.ac esac if test "$with_interface" = "yes" ; then -@@ -2779,6 +2781,7 @@ LIBVIRT_RESULT_FUSE +@@ -2787,6 +2789,7 @@ LIBVIRT_RESULT_FUSE LIBVIRT_RESULT_GLUSTER LIBVIRT_RESULT_HAL LIBVIRT_RESULT_NETCF @@ -34,11 +34,11 @@ Index: libvirt-1.3.5/configure.ac LIBVIRT_RESULT_NUMACTL LIBVIRT_RESULT_OPENWSMAN LIBVIRT_RESULT_PCIACCESS -Index: libvirt-1.3.5/src/Makefile.am +Index: libvirt-2.0.0/src/Makefile.am =================================================================== ---- libvirt-1.3.5.orig/src/Makefile.am -+++ libvirt-1.3.5/src/Makefile.am -@@ -932,6 +932,10 @@ if WITH_NETCF +--- libvirt-2.0.0.orig/src/Makefile.am ++++ libvirt-2.0.0/src/Makefile.am +@@ -943,6 +943,10 @@ if WITH_NETCF INTERFACE_DRIVER_SOURCES += \ interface/interface_backend_netcf.c endif WITH_NETCF @@ -49,7 +49,7 @@ Index: libvirt-1.3.5/src/Makefile.am if WITH_UDEV INTERFACE_DRIVER_SOURCES += \ interface/interface_backend_udev.c -@@ -1579,6 +1583,10 @@ if WITH_NETCF +@@ -1589,6 +1593,10 @@ if WITH_NETCF libvirt_driver_interface_la_CFLAGS += $(NETCF_CFLAGS) libvirt_driver_interface_la_LIBADD += $(NETCF_LIBS) endif WITH_NETCF @@ -60,11 +60,11 @@ Index: libvirt-1.3.5/src/Makefile.am if WITH_UDEV libvirt_driver_interface_la_CFLAGS += $(UDEV_CFLAGS) libvirt_driver_interface_la_LIBADD += $(UDEV_LIBS) -Index: libvirt-1.3.5/tools/virsh.c +Index: libvirt-2.0.0/tools/virsh.c =================================================================== ---- libvirt-1.3.5.orig/tools/virsh.c -+++ libvirt-1.3.5/tools/virsh.c -@@ -597,6 +597,8 @@ virshShowVersion(vshControl *ctl ATTRIBU +--- libvirt-2.0.0.orig/tools/virsh.c ++++ libvirt-2.0.0/tools/virsh.c +@@ -636,6 +636,8 @@ virshShowVersion(vshControl *ctl ATTRIBU vshPrint(ctl, " Interface"); # if defined(WITH_NETCF) vshPrint(ctl, " netcf"); @@ -73,10 +73,10 @@ Index: libvirt-1.3.5/tools/virsh.c # elif defined(WITH_UDEV) vshPrint(ctl, " udev"); # endif -Index: libvirt-1.3.5/src/interface/interface_backend_netcf.c +Index: libvirt-2.0.0/src/interface/interface_backend_netcf.c =================================================================== ---- libvirt-1.3.5.orig/src/interface/interface_backend_netcf.c -+++ libvirt-1.3.5/src/interface/interface_backend_netcf.c +--- libvirt-2.0.0.orig/src/interface/interface_backend_netcf.c ++++ libvirt-2.0.0/src/interface/interface_backend_netcf.c @@ -23,7 +23,12 @@ #include @@ -160,10 +160,10 @@ Index: libvirt-1.3.5/src/interface/interface_backend_netcf.c if (virSetSharedInterfaceDriver(&interfaceDriver) < 0) return -1; if (virRegisterStateDriver(&interfaceStateDriver) < 0) -Index: libvirt-1.3.5/src/interface/interface_driver.c +Index: libvirt-2.0.0/src/interface/interface_driver.c =================================================================== ---- libvirt-1.3.5.orig/src/interface/interface_driver.c -+++ libvirt-1.3.5/src/interface/interface_driver.c +--- libvirt-2.0.0.orig/src/interface/interface_driver.c ++++ libvirt-2.0.0/src/interface/interface_driver.c @@ -30,8 +30,15 @@ interfaceRegister(void) if (netcfIfaceRegister() == 0) return 0; @@ -181,10 +181,10 @@ Index: libvirt-1.3.5/src/interface/interface_driver.c if (udevIfaceRegister() == 0) return 0; #endif /* WITH_UDEV */ -Index: libvirt-1.3.5/m4/virt-netcontrol.m4 +Index: libvirt-2.0.0/m4/virt-netcontrol.m4 =================================================================== --- /dev/null -+++ libvirt-1.3.5/m4/virt-netcontrol.m4 ++++ libvirt-2.0.0/m4/virt-netcontrol.m4 @@ -0,0 +1,35 @@ +dnl The libnetcontrol library +dnl diff --git a/libvirt.changes b/libvirt.changes index fe09598..3c8b8f7 100644 --- a/libvirt.changes +++ b/libvirt.changes @@ -1,3 +1,25 @@ +------------------------------------------------------------------- +Tue Jul 12 19:57:40 UTC 2016 - jfehlig@suse.com + +- systemd: fix ready notification on abstract socket + c8f08e48-systemd-notify-fix.patch + boo#987668 + +------------------------------------------------------------------- +Fri Jul 1 14:16:04 UTC 2016 - jfehlig@suse.com + +- Update to libvirt 2.0.0 + - Change version scheme to match libvirt's time-driven release + schedule. will be incremented on first release of + new calendar year, on each monthly release, and + on stable branch maintenance release + - Include libvirt-admin utility and API + - Many incremental improvements and bug fixes, see + http://libvirt.org/news.html + - Dropped patches: + apparmor-dont-scrub-environment-of-virtlogd-process.patch, + e33cd67a-xenconfig-backendtype-fix.patch + ------------------------------------------------------------------- Mon Jun 20 21:26:41 UTC 2016 - jfehlig@suse.com diff --git a/libvirt.spec b/libvirt.spec index 502ac63..b200649 100644 --- a/libvirt.spec +++ b/libvirt.spec @@ -57,7 +57,6 @@ %define with_numad 0%{!?_without_numad:0} %define with_firewalld 0%{!?_without_firewalld:0} %define with_wireshark 0%{!?_without_wireshark:0} -%define with_systemd_daemon 0%{!?_without_systemd_daemon:0} # Xen no longer contains xm/xend so disable building the legacy Xen driver %define with_xen 0 @@ -113,7 +112,6 @@ # Support systemd on 12.1 and later %if 0%{?suse_version} >= 1210 %define with_systemd 0%{!?_without_systemd:1} - %define with_systemd_daemon 1 %endif # libvirt commit 37397320 changed the configure check for wireshark to @@ -142,7 +140,7 @@ Name: libvirt Url: http://libvirt.org/ -Version: 1.3.5 +Version: 2.0.0 Release: 0 Summary: Library providing a simple virtualization API License: LGPL-2.1+ @@ -189,9 +187,6 @@ BuildRequires: modutils BuildRequires: systemd BuildRequires: pkgconfig(systemd) %endif -%if %{with_systemd_daemon} -BuildRequires: systemd-devel -%endif %if %{with_xen} || %{with_libxl} BuildRequires: xen-devel %endif @@ -276,18 +271,17 @@ BuildRequires: wireshark-devel BuildRequires: qemu-tools %endif -Source0: %{name}-%{version}.tar.gz -Source1: %{name}-%{version}.tar.gz.asc +Source0: %{name}-%{version}.tar.xz +Source1: %{name}-%{version}.tar.xz.asc Source2: %{name}.keyring Source3: libvirtd.init Source4: libvirtd-relocation-server.fw Source99: baselibs.conf Source100: %{name}-rpmlintrc # Upstream patches -Patch0: e33cd67a-xenconfig-backendtype-fix.patch +Patch0: c8f08e48-systemd-notify-fix.patch # Patches pending upstream review Patch100: libxl-dom-reset.patch -Patch101: apparmor-dont-scrub-environment-of-virtlogd-process.patch # Need to go upstream Patch150: xen-pv-cdrom.patch Patch151: blockcopy-check-dst-identical-device.patch @@ -739,7 +733,6 @@ libvirt plugin for NSS for translating domain names into IP addresses. %setup -q %patch0 -p1 %patch100 -p1 -%patch101 -p1 %patch150 -p1 %patch151 -p1 %patch152 -p1 @@ -870,11 +863,6 @@ libvirt plugin for NSS for translating domain names into IP addresses. %else %define arg_wireshark --without-wireshark-dissector %endif -%if %{with_systemd_daemon} - %define arg_systemd_daemon --with-systemd-daemon -%else - %define arg_systemd_daemon --without-systemd-daemon -%endif %define arg_selinux_mount --with-selinux-mount="/selinux" @@ -937,7 +925,6 @@ export CFLAGS="$RPM_OPT_FLAGS" --with-driver-modules \ %{?arg_firewalld} \ %{?arg_wireshark} \ - %{?arg_systemd_daemon} \ --with-nss-plugin \ --libexecdir=%{_libdir}/%{name} \ --with-qemu-user=%{qemu_user} \ @@ -976,12 +963,6 @@ done # temporarily remove polkit ACL policiy configuration - bnc#827644 rm -f $RPM_BUILD_ROOT/%{_datadir}/polkit-1/actions/org.libvirt.api.policy -# Similar to upstream, temporarily remove admin-related files -rm -f $RPM_BUILD_ROOT%{_libdir}/libvirt-admin.so -rm -f $RPM_BUILD_ROOT%{_bindir}/virt-admin -rm -f $RPM_BUILD_ROOT%{_mandir}/man1/virt-admin.1* -rm -f $RPM_BUILD_ROOT%{_sysconfdir}/libvirt/libvirt-admin.conf - mkdir -p $RPM_BUILD_ROOT/%{_localstatedir}/lib/libvirt mkdir -p $RPM_BUILD_ROOT/%{_sysconfdir}/libvirt/hooks %find_lang %{name} @@ -1463,11 +1444,14 @@ fi %files client -f %{name}.lang %doc AUTHORS ChangeLog.gz NEWS README COPYING COPYING.LESSER TODO %doc %{_mandir}/man1/virsh.1* +%doc %{_mandir}/man1/virt-admin.1* %doc %{_mandir}/man1/virt-xml-validate.1* %doc %{_mandir}/man1/virt-pki-validate.1* %doc %{_mandir}/man1/virt-host-validate.1* %config(noreplace) %{_sysconfdir}/%{name}/libvirt.conf +%config(noreplace) %{_sysconfdir}/%{name}/libvirt-admin.conf %{_bindir}/virsh +%{_bindir}/virt-admin %{_bindir}/virt-xml-validate %{_bindir}/virt-pki-validate %{_bindir}/virt-host-validate @@ -1510,14 +1494,17 @@ fi %files devel %{_libdir}/libvirt.so +%{_libdir}/libvirt-admin.so %{_libdir}/libvirt-qemu.so %{_libdir}/libvirt-lxc.so %{_includedir}/libvirt %{_libdir}/pkgconfig/libvirt.pc +%{_libdir}/pkgconfig/libvirt-admin.pc %{_libdir}/pkgconfig/libvirt-qemu.pc %{_libdir}/pkgconfig/libvirt-lxc.pc %dir %{_datadir}/libvirt/api/ %{_datadir}/libvirt/api/libvirt-api.xml +%{_datadir}/libvirt/api/libvirt-admin-api.xml %{_datadir}/libvirt/api/libvirt-qemu-api.xml %{_datadir}/libvirt/api/libvirt-lxc-api.xml diff --git a/libvirtd-defaults.patch b/libvirtd-defaults.patch index f55c0ba..728431b 100644 --- a/libvirtd-defaults.patch +++ b/libvirtd-defaults.patch @@ -1,7 +1,7 @@ -Index: libvirt-1.3.5/daemon/libvirtd.conf +Index: libvirt-2.0.0/daemon/libvirtd.conf =================================================================== ---- libvirt-1.3.5.orig/daemon/libvirtd.conf -+++ libvirt-1.3.5/daemon/libvirtd.conf +--- libvirt-2.0.0.orig/daemon/libvirtd.conf ++++ libvirt-2.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 @@ Index: libvirt-1.3.5/daemon/libvirtd.conf # Listen for unencrypted TCP connections on the public TCP/IP port. # NB, must pass the --listen flag to the libvirtd process for this to -Index: libvirt-1.3.5/daemon/libvirtd-config.c +Index: libvirt-2.0.0/daemon/libvirtd-config.c =================================================================== ---- libvirt-1.3.5.orig/daemon/libvirtd-config.c -+++ libvirt-1.3.5/daemon/libvirtd-config.c +--- libvirt-2.0.0.orig/daemon/libvirtd-config.c ++++ libvirt-2.0.0/daemon/libvirtd-config.c @@ -242,7 +242,7 @@ daemonConfigNew(bool privileged ATTRIBUT if (VIR_ALLOC(data) < 0) return NULL; @@ -26,10 +26,10 @@ Index: libvirt-1.3.5/daemon/libvirtd-config.c data->listen_tcp = 0; if (VIR_STRDUP(data->tls_port, LIBVIRTD_TLS_PORT) < 0 || -Index: libvirt-1.3.5/daemon/test_libvirtd.aug.in +Index: libvirt-2.0.0/daemon/test_libvirtd.aug.in =================================================================== ---- libvirt-1.3.5.orig/daemon/test_libvirtd.aug.in -+++ libvirt-1.3.5/daemon/test_libvirtd.aug.in +--- libvirt-2.0.0.orig/daemon/test_libvirtd.aug.in ++++ libvirt-2.0.0/daemon/test_libvirtd.aug.in @@ -2,7 +2,7 @@ module Test_libvirtd = ::CONFIG:: diff --git a/libvirtd-init-script.patch b/libvirtd-init-script.patch index 960e813..5951e35 100644 --- a/libvirtd-init-script.patch +++ b/libvirtd-init-script.patch @@ -1,9 +1,9 @@ Adjust libvirtd sysconfig file to conform to SUSE standards -Index: libvirt-1.3.5/daemon/libvirtd.sysconf +Index: libvirt-2.0.0/daemon/libvirtd.sysconf =================================================================== ---- libvirt-1.3.5.orig/daemon/libvirtd.sysconf -+++ libvirt-1.3.5/daemon/libvirtd.sysconf +--- libvirt-2.0.0.orig/daemon/libvirtd.sysconf ++++ libvirt-2.0.0/daemon/libvirtd.sysconf @@ -1,16 +1,25 @@ +## Path: System/Virtualization/libvirt + diff --git a/libxl-dom-reset.patch b/libxl-dom-reset.patch index 2a14624..6bdb28b 100644 --- a/libxl-dom-reset.patch +++ b/libxl-dom-reset.patch @@ -8,11 +8,11 @@ Date: Mon Jun 23 15:51:20 2014 -0600 option, but domainReset can be implemented in the libxl driver by forcibly destroying the domain and starting it again. -Index: libvirt-1.3.5/src/libxl/libxl_driver.c +Index: libvirt-2.0.0/src/libxl/libxl_driver.c =================================================================== ---- libvirt-1.3.5.orig/src/libxl/libxl_driver.c -+++ libvirt-1.3.5/src/libxl/libxl_driver.c -@@ -1325,6 +1325,63 @@ libxlDomainReboot(virDomainPtr dom, unsi +--- libvirt-2.0.0.orig/src/libxl/libxl_driver.c ++++ libvirt-2.0.0/src/libxl/libxl_driver.c +@@ -1327,6 +1327,61 @@ libxlDomainReboot(virDomainPtr dom, unsi } static int @@ -62,12 +62,10 @@ Index: libvirt-1.3.5/src/libxl/libxl_driver.c + ret = 0; + + endjob: -+ if (!libxlDomainObjEndJob(driver, vm)) -+ vm = NULL; ++ libxlDomainObjEndJob(driver, vm); + + cleanup: -+ if (vm) -+ virObjectUnlock(vm); ++ virDomainObjEndAPI(&vm); + virObjectUnref(cfg); + return ret; +} @@ -76,7 +74,7 @@ Index: libvirt-1.3.5/src/libxl/libxl_driver.c libxlDomainDestroyFlags(virDomainPtr dom, unsigned int flags) { -@@ -5581,6 +5638,7 @@ static virHypervisorDriver libxlHypervis +@@ -5763,6 +5818,7 @@ static virHypervisorDriver libxlHypervis .domainShutdown = libxlDomainShutdown, /* 0.9.0 */ .domainShutdownFlags = libxlDomainShutdownFlags, /* 0.9.10 */ .domainReboot = libxlDomainReboot, /* 0.9.0 */ diff --git a/libxl-qemu-emulator-caps.patch b/libxl-qemu-emulator-caps.patch index 5680b9a..3257b79 100644 --- a/libxl-qemu-emulator-caps.patch +++ b/libxl-qemu-emulator-caps.patch @@ -8,11 +8,19 @@ as the default , instead of the qemu-xen one. See FATE#320638 for details. -Index: libvirt-1.3.5/src/libxl/libxl_conf.c +Index: libvirt-2.0.0/src/libxl/libxl_capabilities.c =================================================================== ---- libvirt-1.3.5.orig/src/libxl/libxl_conf.c -+++ libvirt-1.3.5/src/libxl/libxl_conf.c -@@ -439,7 +439,7 @@ libxlCapsInitGuests(libxl_ctx *ctx, virC +--- libvirt-2.0.0.orig/src/libxl/libxl_capabilities.c ++++ libvirt-2.0.0/src/libxl/libxl_capabilities.c +@@ -36,6 +36,7 @@ + #include "domain_capabilities.h" + #include "vircommand.h" + #include "libxl_capabilities.h" ++#include "configmake.h" + + + #define VIR_FROM_THIS VIR_FROM_LIBXL +@@ -335,7 +336,7 @@ libxlCapsInitGuests(libxl_ctx *ctx, virC if ((guest = virCapabilitiesAddGuest(caps, guest_archs[i].hvm ? VIR_DOMAIN_OSTYPE_HVM : VIR_DOMAIN_OSTYPE_XEN, guest_archs[i].arch, diff --git a/libxl-set-cach-mode.patch b/libxl-set-cach-mode.patch index d96fe11..b724563 100644 --- a/libxl-set-cach-mode.patch +++ b/libxl-set-cach-mode.patch @@ -3,14 +3,14 @@ https://bugzilla.novell.com/show_bug.cgi?id=879425 src/libxl/libxl_conf.c | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) -Index: libvirt-1.3.5/src/libxl/libxl_conf.c +Index: libvirt-2.0.0/src/libxl/libxl_conf.c =================================================================== ---- libvirt-1.3.5.orig/src/libxl/libxl_conf.c -+++ libvirt-1.3.5/src/libxl/libxl_conf.c -@@ -905,6 +905,30 @@ libxlDiskSetDiscard(libxl_device_disk *x +--- libvirt-2.0.0.orig/src/libxl/libxl_conf.c ++++ libvirt-2.0.0/src/libxl/libxl_conf.c +@@ -562,6 +562,30 @@ libxlDiskSetDiscard(libxl_device_disk *x + #endif } - +static void +libxlDiskSetCacheMode(libxl_device_disk *x_disk, int cachemode) +{ @@ -35,10 +35,10 @@ Index: libvirt-1.3.5/src/libxl/libxl_conf.c + } +} + - #define LIBXL_QEMU_DM_STR "Options specific to the Xen version:" - - int -@@ -1180,6 +1204,7 @@ libxlMakeDisk(virDomainDiskDefPtr l_disk + static char * + libxlMakeNetworkDiskSrcStr(virStorageSourcePtr src, + const char *username, +@@ -803,6 +827,7 @@ libxlMakeDisk(virDomainDiskDefPtr l_disk x_disk->is_cdrom = l_disk->device == VIR_DOMAIN_DISK_DEVICE_CDROM ? 1 : 0; if (libxlDiskSetDiscard(x_disk, l_disk->discard) < 0) return -1; diff --git a/libxl-set-migration-constraints.patch b/libxl-set-migration-constraints.patch index a840e0a..35b1cc4 100644 --- a/libxl-set-migration-constraints.patch +++ b/libxl-set-migration-constraints.patch @@ -16,13 +16,13 @@ Signed-off-by: Jim Fehlig tools/virsh.pod | 8 ++++++++ 6 files changed, 125 insertions(+), 6 deletions(-) -Index: libvirt-1.3.5/include/libvirt/libvirt-domain.h +Index: libvirt-2.0.0/include/libvirt/libvirt-domain.h =================================================================== ---- libvirt-1.3.5.orig/include/libvirt/libvirt-domain.h -+++ libvirt-1.3.5/include/libvirt/libvirt-domain.h -@@ -845,6 +845,31 @@ typedef enum { +--- libvirt-2.0.0.orig/include/libvirt/libvirt-domain.h ++++ libvirt-2.0.0/include/libvirt/libvirt-domain.h +@@ -864,6 +864,31 @@ typedef enum { */ - # define VIR_MIGRATE_PARAM_COMPRESSION_XBZRLE_CACHE "compression.xbzrle.cache" + # define VIR_MIGRATE_PARAM_AUTO_CONVERGE_INCREMENT "auto_converge.increment" +/** + * VIR_MIGRATE_PARAM_SUSE_MAX_ITERS: @@ -52,11 +52,11 @@ Index: libvirt-1.3.5/include/libvirt/libvirt-domain.h /* Domain migration. */ virDomainPtr virDomainMigrate (virDomainPtr domain, virConnectPtr dconn, unsigned long flags, const char *dname, -Index: libvirt-1.3.5/src/libxl/libxl_driver.c +Index: libvirt-2.0.0/src/libxl/libxl_driver.c =================================================================== ---- libvirt-1.3.5.orig/src/libxl/libxl_driver.c -+++ libvirt-1.3.5/src/libxl/libxl_driver.c -@@ -5320,6 +5320,9 @@ libxlDomainMigratePerform3Params(virDoma +--- libvirt-2.0.0.orig/src/libxl/libxl_driver.c ++++ libvirt-2.0.0/src/libxl/libxl_driver.c +@@ -5428,6 +5428,9 @@ libxlDomainMigratePerform3Params(virDoma const char *dname = NULL; const char *uri = NULL; int ret = -1; @@ -66,7 +66,7 @@ Index: libvirt-1.3.5/src/libxl/libxl_driver.c #ifdef LIBXL_HAVE_NO_SUSPEND_RESUME virReportUnsupportedError(); -@@ -5336,6 +5339,18 @@ libxlDomainMigratePerform3Params(virDoma +@@ -5444,6 +5447,18 @@ libxlDomainMigratePerform3Params(virDoma virTypedParamsGetString(params, nparams, VIR_MIGRATE_PARAM_DEST_NAME, &dname) < 0 || @@ -85,7 +85,7 @@ Index: libvirt-1.3.5/src/libxl/libxl_driver.c virTypedParamsGetString(params, nparams, VIR_MIGRATE_PARAM_URI, &uri) < 0) -@@ -5350,11 +5365,11 @@ libxlDomainMigratePerform3Params(virDoma +@@ -5458,11 +5473,11 @@ libxlDomainMigratePerform3Params(virDoma if (flags & VIR_MIGRATE_PEER2PEER) { if (libxlDomainMigrationPerformP2P(driver, vm, dom->conn, dom_xml, @@ -99,11 +99,11 @@ Index: libvirt-1.3.5/src/libxl/libxl_driver.c goto cleanup; } -Index: libvirt-1.3.5/src/libxl/libxl_migration.c +Index: libvirt-2.0.0/src/libxl/libxl_migration.c =================================================================== ---- libvirt-1.3.5.orig/src/libxl/libxl_migration.c -+++ libvirt-1.3.5/src/libxl/libxl_migration.c -@@ -358,18 +358,39 @@ libxlMigrateReceive(virNetSocketPtr sock +--- libvirt-2.0.0.orig/src/libxl/libxl_migration.c ++++ libvirt-2.0.0/src/libxl/libxl_migration.c +@@ -357,18 +357,39 @@ libxlMigrateReceive(virNetSocketPtr sock static int libxlDoMigrateSend(libxlDriverPrivatePtr driver, virDomainObjPtr vm, @@ -145,7 +145,7 @@ Index: libvirt-1.3.5/src/libxl/libxl_migration.c if (ret != 0) { virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("Failed to send migration data to destination host")); -@@ -665,7 +686,7 @@ libxlDoMigrateP2P(libxlDriverPrivatePtr +@@ -663,7 +684,7 @@ libxlDoMigrateP2P(libxlDriverPrivatePtr const char *dconnuri ATTRIBUTE_UNUSED, const char *dname, const char *uri, @@ -154,7 +154,7 @@ Index: libvirt-1.3.5/src/libxl/libxl_migration.c { virDomainPtr ddomain = NULL; virTypedParameterPtr params = NULL; -@@ -702,7 +723,7 @@ libxlDoMigrateP2P(libxlDriverPrivatePtr +@@ -700,7 +721,7 @@ libxlDoMigrateP2P(libxlDriverPrivatePtr /* We don't require the destination to have P2P support * as it looks to be normal migration from the receiver perpective. */ @@ -163,7 +163,7 @@ Index: libvirt-1.3.5/src/libxl/libxl_migration.c VIR_DEBUG("Prepare3"); virObjectUnlock(vm); -@@ -727,7 +748,7 @@ libxlDoMigrateP2P(libxlDriverPrivatePtr +@@ -725,7 +746,7 @@ libxlDoMigrateP2P(libxlDriverPrivatePtr VIR_DEBUG("Perform3 uri=%s", NULLSTR(uri_out)); ret = libxlDomainMigrationPerform(driver, vm, NULL, NULL, @@ -172,7 +172,7 @@ Index: libvirt-1.3.5/src/libxl/libxl_migration.c if (ret < 0) orig_err = virSaveLastError(); -@@ -759,7 +780,7 @@ libxlDoMigrateP2P(libxlDriverPrivatePtr +@@ -757,7 +778,7 @@ libxlDoMigrateP2P(libxlDriverPrivatePtr orig_err = virSaveLastError(); VIR_DEBUG("Confirm3 cancelled=%d vm=%p", cancelled, vm); @@ -181,7 +181,7 @@ Index: libvirt-1.3.5/src/libxl/libxl_migration.c if (ret < 0) VIR_WARN("Guest %s probably left in 'paused' state on source", -@@ -808,7 +829,7 @@ libxlDomainMigrationPerformP2P(libxlDriv +@@ -806,7 +827,7 @@ libxlDomainMigrationPerformP2P(libxlDriv const char *dconnuri, const char *uri_str ATTRIBUTE_UNUSED, const char *dname, @@ -190,7 +190,7 @@ Index: libvirt-1.3.5/src/libxl/libxl_migration.c { int ret = -1; bool useParams; -@@ -843,7 +864,7 @@ libxlDomainMigrationPerformP2P(libxlDriv +@@ -841,7 +862,7 @@ libxlDomainMigrationPerformP2P(libxlDriv } ret = libxlDoMigrateP2P(driver, vm, sconn, xmlin, dconn, dconnuri, @@ -199,7 +199,7 @@ Index: libvirt-1.3.5/src/libxl/libxl_migration.c cleanup: orig_err = virSaveLastError(); -@@ -865,7 +886,7 @@ libxlDomainMigrationPerform(libxlDriverP +@@ -863,7 +884,7 @@ libxlDomainMigrationPerform(libxlDriverP const char *dconnuri ATTRIBUTE_UNUSED, const char *uri_str, const char *dname ATTRIBUTE_UNUSED, @@ -208,7 +208,7 @@ Index: libvirt-1.3.5/src/libxl/libxl_migration.c { libxlDomainObjPrivatePtr priv = vm->privateData; char *hostname = NULL; -@@ -905,7 +926,7 @@ libxlDomainMigrationPerform(libxlDriverP +@@ -903,7 +924,7 @@ libxlDomainMigrationPerform(libxlDriverP /* suspend vm and send saved data to dst through socket fd */ virObjectUnlock(vm); @@ -217,10 +217,10 @@ Index: libvirt-1.3.5/src/libxl/libxl_migration.c virObjectLock(vm); cleanup: -Index: libvirt-1.3.5/src/libxl/libxl_migration.h +Index: libvirt-2.0.0/src/libxl/libxl_migration.h =================================================================== ---- libvirt-1.3.5.orig/src/libxl/libxl_migration.h -+++ libvirt-1.3.5/src/libxl/libxl_migration.h +--- libvirt-2.0.0.orig/src/libxl/libxl_migration.h ++++ libvirt-2.0.0/src/libxl/libxl_migration.h @@ -37,6 +37,10 @@ VIR_MIGRATE_PARAM_URI, VIR_TYPED_PARAM_STRING, \ VIR_MIGRATE_PARAM_DEST_NAME, VIR_TYPED_PARAM_STRING, \ @@ -265,13 +265,13 @@ Index: libvirt-1.3.5/src/libxl/libxl_migration.h virDomainPtr libxlDomainMigrationFinish(virConnectPtr dconn, -Index: libvirt-1.3.5/tools/virsh-domain.c +Index: libvirt-2.0.0/tools/virsh-domain.c =================================================================== ---- libvirt-1.3.5.orig/tools/virsh-domain.c -+++ libvirt-1.3.5/tools/virsh-domain.c -@@ -9869,6 +9869,22 @@ static const vshCmdOptDef opts_migrate[] +--- libvirt-2.0.0.orig/tools/virsh-domain.c ++++ libvirt-2.0.0/tools/virsh-domain.c +@@ -9977,6 +9977,22 @@ static const vshCmdOptDef opts_migrate[] .type = VSH_OT_INT, - .help = N_("port to use by target server for incoming disks migration") + .help = N_("CPU throttling rate increment for auto-convergence") }, + {.name = "max_iters", + .type = VSH_OT_INT, @@ -292,7 +292,7 @@ Index: libvirt-1.3.5/tools/virsh-domain.c {.name = NULL} }; -@@ -9892,6 +9908,7 @@ doMigrate(void *opaque) +@@ -10000,6 +10016,7 @@ doMigrate(void *opaque) unsigned long long ullOpt = 0; int rv; virConnectPtr dconn = data->dconn; @@ -300,7 +300,7 @@ Index: libvirt-1.3.5/tools/virsh-domain.c sigemptyset(&sigmask); sigaddset(&sigmask, SIGINT); -@@ -10011,6 +10028,27 @@ doMigrate(void *opaque) +@@ -10119,6 +10136,27 @@ doMigrate(void *opaque) goto save_error; } @@ -328,11 +328,11 @@ Index: libvirt-1.3.5/tools/virsh-domain.c if (vshCommandOptStringReq(ctl, cmd, "xml", &opt) < 0) goto out; if (opt) { -Index: libvirt-1.3.5/tools/virsh.pod +Index: libvirt-2.0.0/tools/virsh.pod =================================================================== ---- libvirt-1.3.5.orig/tools/virsh.pod -+++ libvirt-1.3.5/tools/virsh.pod -@@ -1620,6 +1620,14 @@ compression. I<--comp-mt-threads> and I< +--- libvirt-2.0.0.orig/tools/virsh.pod ++++ libvirt-2.0.0/tools/virsh.pod +@@ -1631,6 +1631,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. diff --git a/libxl-support-block-script.patch b/libxl-support-block-script.patch index 163dc5a..2f78ef4 100644 --- a/libxl-support-block-script.patch +++ b/libxl-support-block-script.patch @@ -7,12 +7,12 @@ and npiv. For more details, see bsc#954872 and FATE#319810 -Index: libvirt-1.3.5/src/libxl/libxl_conf.c +Index: libvirt-2.0.0/src/libxl/libxl_conf.c =================================================================== ---- libvirt-1.3.5.orig/src/libxl/libxl_conf.c -+++ libvirt-1.3.5/src/libxl/libxl_conf.c -@@ -929,6 +929,25 @@ libxlDiskSetCacheMode(libxl_device_disk - } +--- libvirt-2.0.0.orig/src/libxl/libxl_conf.c ++++ libvirt-2.0.0/src/libxl/libxl_conf.c +@@ -562,6 +562,25 @@ libxlDiskSetDiscard(libxl_device_disk *x + #endif } +static int @@ -34,10 +34,10 @@ Index: libvirt-1.3.5/src/libxl/libxl_conf.c + return 0; +} + - #define LIBXL_QEMU_DM_STR "Options specific to the Xen version:" - - int -@@ -1082,6 +1101,7 @@ libxlMakeNetworkDiskSrc(virStorageSource + static void + libxlDiskSetCacheMode(libxl_device_disk *x_disk, int cachemode) + { +@@ -705,6 +724,7 @@ libxlMakeNetworkDiskSrc(virStorageSource int libxlMakeDisk(virDomainDiskDefPtr l_disk, libxl_device_disk *x_disk) { @@ -45,7 +45,7 @@ Index: libvirt-1.3.5/src/libxl/libxl_conf.c const char *driver = virDomainDiskGetDriver(l_disk); int format = virDomainDiskGetFormat(l_disk); int actual_type = virStorageSourceGetActualType(l_disk->src); -@@ -1097,7 +1117,7 @@ libxlMakeDisk(virDomainDiskDefPtr l_disk +@@ -720,7 +740,7 @@ libxlMakeDisk(virDomainDiskDefPtr l_disk if (libxlMakeNetworkDiskSrc(l_disk->src, &x_disk->pdev_path) < 0) return -1; } else { @@ -54,7 +54,7 @@ Index: libvirt-1.3.5/src/libxl/libxl_conf.c return -1; } -@@ -1205,6 +1225,9 @@ libxlMakeDisk(virDomainDiskDefPtr l_disk +@@ -828,6 +848,9 @@ libxlMakeDisk(virDomainDiskDefPtr l_disk if (libxlDiskSetDiscard(x_disk, l_disk->discard) < 0) return -1; libxlDiskSetCacheMode(x_disk, l_disk->cachemode); diff --git a/lxc-wait-after-eth-del.patch b/lxc-wait-after-eth-del.patch index 64ac636..f85c610 100644 --- a/lxc-wait-after-eth-del.patch +++ b/lxc-wait-after-eth-del.patch @@ -13,10 +13,10 @@ device with the same name that is being created. src/lxc/lxc_process.c | 1 + 3 files changed, 4 insertions(+) -Index: libvirt-1.3.5/src/lxc/lxc_controller.c +Index: libvirt-2.0.0/src/lxc/lxc_controller.c =================================================================== ---- libvirt-1.3.5.orig/src/lxc/lxc_controller.c -+++ libvirt-1.3.5/src/lxc/lxc_controller.c +--- libvirt-2.0.0.orig/src/lxc/lxc_controller.c ++++ libvirt-2.0.0/src/lxc/lxc_controller.c @@ -2009,6 +2009,7 @@ static int virLXCControllerDeleteInterfa if (virNetDevVethDelete(ctrl->veths[i]) < 0) ret = -1; @@ -25,11 +25,11 @@ Index: libvirt-1.3.5/src/lxc/lxc_controller.c return ret; } -Index: libvirt-1.3.5/src/lxc/lxc_driver.c +Index: libvirt-2.0.0/src/lxc/lxc_driver.c =================================================================== ---- libvirt-1.3.5.orig/src/lxc/lxc_driver.c -+++ libvirt-1.3.5/src/lxc/lxc_driver.c -@@ -4350,6 +4350,7 @@ lxcDomainAttachDeviceNetLive(virConnectP +--- libvirt-2.0.0.orig/src/lxc/lxc_driver.c ++++ libvirt-2.0.0/src/lxc/lxc_driver.c +@@ -4026,6 +4026,7 @@ lxcDomainAttachDeviceNetLive(virConnectP case VIR_DOMAIN_NET_TYPE_NETWORK: case VIR_DOMAIN_NET_TYPE_ETHERNET: ignore_value(virNetDevVethDelete(veth)); @@ -37,7 +37,7 @@ Index: libvirt-1.3.5/src/lxc/lxc_driver.c break; case VIR_DOMAIN_NET_TYPE_DIRECT: -@@ -4779,6 +4780,7 @@ lxcDomainDetachDeviceNetLive(virDomainOb +@@ -4455,6 +4456,7 @@ lxcDomainDetachDeviceNetLive(virDomainOb virDomainAuditNet(vm, detach, NULL, "detach", false); goto cleanup; } @@ -45,10 +45,10 @@ Index: libvirt-1.3.5/src/lxc/lxc_driver.c break; /* It'd be nice to support this, but with macvlan -Index: libvirt-1.3.5/src/lxc/lxc_process.c +Index: libvirt-2.0.0/src/lxc/lxc_process.c =================================================================== ---- libvirt-1.3.5.orig/src/lxc/lxc_process.c -+++ libvirt-1.3.5/src/lxc/lxc_process.c +--- libvirt-2.0.0.orig/src/lxc/lxc_process.c ++++ libvirt-2.0.0/src/lxc/lxc_process.c @@ -221,6 +221,7 @@ static void virLXCProcessCleanup(virLXCD } networkReleaseActualDevice(vm->def, iface); diff --git a/ppc64le-canonical-name.patch b/ppc64le-canonical-name.patch index ca1311e..126a321 100644 --- a/ppc64le-canonical-name.patch +++ b/ppc64le-canonical-name.patch @@ -2,10 +2,10 @@ Canonicalize hostarch name ppc64le to ppc64 See bnc#894956 -Index: libvirt-1.3.5/src/util/virarch.c +Index: libvirt-2.0.0/src/util/virarch.c =================================================================== ---- libvirt-1.3.5.orig/src/util/virarch.c -+++ libvirt-1.3.5/src/util/virarch.c +--- libvirt-2.0.0.orig/src/util/virarch.c ++++ libvirt-2.0.0/src/util/virarch.c @@ -169,6 +169,8 @@ virArch virArchFromHost(void) arch = VIR_ARCH_I686; } else if (STREQ(ut.machine, "amd64")) { diff --git a/qemu-apparmor-screenshot.patch b/qemu-apparmor-screenshot.patch index a6615bd..582493c 100644 --- a/qemu-apparmor-screenshot.patch +++ b/qemu-apparmor-screenshot.patch @@ -1,7 +1,7 @@ -Index: libvirt-1.3.5/examples/apparmor/libvirt-qemu +Index: libvirt-2.0.0/examples/apparmor/libvirt-qemu =================================================================== ---- libvirt-1.3.5.orig/examples/apparmor/libvirt-qemu -+++ libvirt-1.3.5/examples/apparmor/libvirt-qemu +--- libvirt-2.0.0.orig/examples/apparmor/libvirt-qemu ++++ libvirt-2.0.0/examples/apparmor/libvirt-qemu @@ -152,6 +152,9 @@ /sys/bus/ r, /sys/class/ r, diff --git a/support-managed-pci-xen-driver.patch b/support-managed-pci-xen-driver.patch index f05cd57..2dfd103 100644 --- a/support-managed-pci-xen-driver.patch +++ b/support-managed-pci-xen-driver.patch @@ -8,10 +8,10 @@ Subject: [PATCH] support managed pci devices in xen driver src/xenxs/xen_xm.c | 28 +++++++++++++++++++++++++++- 2 files changed, 35 insertions(+), 15 deletions(-) -Index: libvirt-1.3.5/src/xenconfig/xen_common.c +Index: libvirt-2.0.0/src/xenconfig/xen_common.c =================================================================== ---- libvirt-1.3.5.orig/src/xenconfig/xen_common.c -+++ libvirt-1.3.5/src/xenconfig/xen_common.c +--- libvirt-2.0.0.orig/src/xenconfig/xen_common.c ++++ libvirt-2.0.0/src/xenconfig/xen_common.c @@ -394,6 +394,8 @@ xenParsePCI(virConfPtr conf, virDomainDe { virConfValuePtr list = virConfGetValue(conf, "pci"); @@ -66,10 +66,10 @@ Index: libvirt-1.3.5/src/xenconfig/xen_common.c hostdev->source.subsys.type = VIR_DOMAIN_HOSTDEV_SUBSYS_TYPE_PCI; hostdev->source.subsys.u.pci.addr.domain = domainID; hostdev->source.subsys.u.pci.addr.bus = busID; -Index: libvirt-1.3.5/src/xenconfig/xen_sxpr.c +Index: libvirt-2.0.0/src/xenconfig/xen_sxpr.c =================================================================== ---- libvirt-1.3.5.orig/src/xenconfig/xen_sxpr.c -+++ libvirt-1.3.5/src/xenconfig/xen_sxpr.c +--- libvirt-2.0.0.orig/src/xenconfig/xen_sxpr.c ++++ libvirt-2.0.0/src/xenconfig/xen_sxpr.c @@ -1062,6 +1062,7 @@ xenParseSxprPCI(virDomainDefPtr def, int busID; int slotID; @@ -93,7 +93,7 @@ Index: libvirt-1.3.5/src/xenconfig/xen_sxpr.c dev->source.subsys.type = VIR_DOMAIN_HOSTDEV_SUBSYS_TYPE_PCI; dev->source.subsys.u.pci.addr.domain = domainID; dev->source.subsys.u.pci.addr.bus = busID; -@@ -1978,11 +1981,15 @@ static void +@@ -1977,11 +1980,15 @@ static void xenFormatSxprPCI(virDomainHostdevDefPtr def, virBufferPtr buf) { @@ -110,7 +110,7 @@ Index: libvirt-1.3.5/src/xenconfig/xen_sxpr.c } -@@ -2001,12 +2008,6 @@ xenFormatSxprOnePCI(virDomainHostdevDefP +@@ -2000,12 +2007,6 @@ xenFormatSxprOnePCI(virDomainHostdevDefP virBufferPtr buf, int detach) { @@ -123,7 +123,7 @@ Index: libvirt-1.3.5/src/xenconfig/xen_sxpr.c virBufferAddLit(buf, "(pci "); xenFormatSxprPCI(def, buf); if (detach) -@@ -2061,12 +2062,6 @@ xenFormatSxprAllPCI(virDomainDefPtr def, +@@ -2060,12 +2061,6 @@ xenFormatSxprAllPCI(virDomainDefPtr def, for (i = 0; i < def->nhostdevs; i++) { if (def->hostdevs[i]->mode == VIR_DOMAIN_HOSTDEV_MODE_SUBSYS && def->hostdevs[i]->source.subsys.type == VIR_DOMAIN_HOSTDEV_SUBSYS_TYPE_PCI) { diff --git a/suse-qemu-conf.patch b/suse-qemu-conf.patch index 53762a0..77f5a31 100644 --- a/suse-qemu-conf.patch +++ b/suse-qemu-conf.patch @@ -7,11 +7,11 @@ suse-qemu-conf-secdriver.patch, suse-qemu-conf-lockmgr.patch, etc.), but for now they are all lumped together in this single patch. -Index: libvirt-1.3.5/src/qemu/qemu.conf +Index: libvirt-2.0.0/src/qemu/qemu.conf =================================================================== ---- libvirt-1.3.5.orig/src/qemu/qemu.conf -+++ libvirt-1.3.5/src/qemu/qemu.conf -@@ -201,11 +201,20 @@ +--- libvirt-2.0.0.orig/src/qemu/qemu.conf ++++ libvirt-2.0.0/src/qemu/qemu.conf +@@ -212,11 +212,20 @@ # isolation, but it cannot appear in a list of drivers. # #security_driver = "selinux" @@ -34,7 +34,7 @@ Index: libvirt-1.3.5/src/qemu/qemu.conf # If set to non-zero, then attempts to create unconfined # guests will be blocked. Defaults to 0. -@@ -417,11 +426,22 @@ +@@ -428,11 +437,22 @@ #allow_disk_format_probing = 1 @@ -62,7 +62,7 @@ Index: libvirt-1.3.5/src/qemu/qemu.conf # #lock_manager = "lockd" -@@ -512,8 +532,8 @@ +@@ -523,8 +543,8 @@ # for x86_64 and i686, but it's AAVMF for aarch64. The libvirt default # follows this scheme. #nvram = [ diff --git a/systemd-service-xen.patch b/systemd-service-xen.patch index 7671f0a..dbb9b02 100644 --- a/systemd-service-xen.patch +++ b/systemd-service-xen.patch @@ -1,7 +1,7 @@ -Index: libvirt-1.3.5/daemon/libvirtd.service.in +Index: libvirt-2.0.0/daemon/libvirtd.service.in =================================================================== ---- libvirt-1.3.5.orig/daemon/libvirtd.service.in -+++ libvirt-1.3.5/daemon/libvirtd.service.in +--- libvirt-2.0.0.orig/daemon/libvirtd.service.in ++++ libvirt-2.0.0/daemon/libvirtd.service.in @@ -12,6 +12,7 @@ After=iscsid.service After=apparmor.service After=local-fs.target diff --git a/virtlockd-init-script.patch b/virtlockd-init-script.patch index 9068497..b51253d 100644 --- a/virtlockd-init-script.patch +++ b/virtlockd-init-script.patch @@ -1,9 +1,9 @@ Adjust virtlockd init files to conform to SUSE standards -Index: libvirt-1.3.5/src/locking/virtlockd.sysconf +Index: libvirt-2.0.0/src/locking/virtlockd.sysconf =================================================================== ---- libvirt-1.3.5.orig/src/locking/virtlockd.sysconf -+++ libvirt-1.3.5/src/locking/virtlockd.sysconf +--- libvirt-2.0.0.orig/src/locking/virtlockd.sysconf ++++ libvirt-2.0.0/src/locking/virtlockd.sysconf @@ -1,3 +1,7 @@ +## Path: System/Virtualization/virtlockd + @@ -12,10 +12,10 @@ Index: libvirt-1.3.5/src/locking/virtlockd.sysconf # # Pass extra arguments to virtlockd #VIRTLOCKD_ARGS= -Index: libvirt-1.3.5/src/locking/virtlockd.init.in +Index: libvirt-2.0.0/src/locking/virtlockd.init.in =================================================================== ---- libvirt-1.3.5.orig/src/locking/virtlockd.init.in -+++ libvirt-1.3.5/src/locking/virtlockd.init.in +--- libvirt-2.0.0.orig/src/locking/virtlockd.init.in ++++ libvirt-2.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 # diff --git a/virtlogd-init-script.patch b/virtlogd-init-script.patch index 4a645a3..1a3cfd2 100644 --- a/virtlogd-init-script.patch +++ b/virtlogd-init-script.patch @@ -1,9 +1,9 @@ Adjust virtlogd init files to conform to SUSE standards -Index: libvirt-1.3.5/src/logging/virtlogd.init.in +Index: libvirt-2.0.0/src/logging/virtlogd.init.in =================================================================== ---- libvirt-1.3.5.orig/src/logging/virtlogd.init.in -+++ libvirt-1.3.5/src/logging/virtlogd.init.in +--- libvirt-2.0.0.orig/src/logging/virtlogd.init.in ++++ libvirt-2.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 @@ Index: libvirt-1.3.5/src/logging/virtlogd.init.in esac -exit $RETVAL +rc_exit -Index: libvirt-1.3.5/src/logging/virtlogd.sysconf +Index: libvirt-2.0.0/src/logging/virtlogd.sysconf =================================================================== ---- libvirt-1.3.5.orig/src/logging/virtlogd.sysconf -+++ libvirt-1.3.5/src/logging/virtlogd.sysconf +--- libvirt-2.0.0.orig/src/logging/virtlogd.sysconf ++++ libvirt-2.0.0/src/logging/virtlogd.sysconf @@ -1,3 +1,7 @@ +## Path: System/Virtualization/virtlogd + diff --git a/xen-pv-cdrom.patch b/xen-pv-cdrom.patch index 0e54885..317a263 100644 --- a/xen-pv-cdrom.patch +++ b/xen-pv-cdrom.patch @@ -1,7 +1,7 @@ -Index: libvirt-1.3.5/src/xenconfig/xen_sxpr.c +Index: libvirt-2.0.0/src/xenconfig/xen_sxpr.c =================================================================== ---- libvirt-1.3.5.orig/src/xenconfig/xen_sxpr.c -+++ libvirt-1.3.5/src/xenconfig/xen_sxpr.c +--- libvirt-2.0.0.orig/src/xenconfig/xen_sxpr.c ++++ libvirt-2.0.0/src/xenconfig/xen_sxpr.c @@ -392,7 +392,7 @@ xenParseSxprVifRate(const char *rate, un static int xenParseSxprDisks(virDomainDefPtr def, diff --git a/xen-sxpr-disk-type.patch b/xen-sxpr-disk-type.patch index 45ad60b..997e225 100644 --- a/xen-sxpr-disk-type.patch +++ b/xen-sxpr-disk-type.patch @@ -6,10 +6,10 @@ and 'file'. This was implicitly done prior to commit 9673418c. https://bugzilla.suse.com/show_bug.cgi?id=938228 -Index: libvirt-1.3.5/src/xenconfig/xen_sxpr.c +Index: libvirt-2.0.0/src/xenconfig/xen_sxpr.c =================================================================== ---- libvirt-1.3.5.orig/src/xenconfig/xen_sxpr.c -+++ libvirt-1.3.5/src/xenconfig/xen_sxpr.c +--- libvirt-2.0.0.orig/src/xenconfig/xen_sxpr.c ++++ libvirt-2.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 */