Accepting request 453026 from Virtualization

1

OBS-URL: https://build.opensuse.org/request/show/453026
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/libvirt?expand=0&rev=220
This commit is contained in:
Dominique Leuenberger 2017-01-31 11:27:29 +00:00 committed by Git OBS Bridge
commit 0f30a9a159
33 changed files with 690 additions and 190 deletions

View File

@ -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,

View File

@ -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>

View File

@ -0,0 +1,33 @@
commit b018ada3304c08e02b0750f8735b0702f0fd5f8c
Author: Jim Fehlig <jfehlig@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 = \

View File

@ -11,11 +11,11 @@ Signed-off-by: Chunyan Liu <cyliu@suse.com>
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;
}

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:819dffefbfd6ae95dfe1b28cfdee15ebcf9f91bbd732157488a57705bf81cb1e
size 13638636

View File

@ -1,10 +0,0 @@
-----BEGIN PGP SIGNATURE-----
iQEcBAABAgAGBQJYRIafAAoJEBVYiyZZa+pdCEkIAMzxa5BHPXFnolPlD06kNRBl
aqiLDiFb9uYMAdg87pNiHMzwjhby9iH8HORflxGpW7MLSNS/Q3U66WFt6EUefzv1
PRLfR+9rkdGmwrDBoj8HA/EeDaC3OR5j0XdAYn6KXFTTWlOo5IgC+3idq6iIxXYP
wco3HKo+gm863U5O2a+EPsWqSj0jopjU9wj9c1uCR8t1Ezhz+iI8qk3GWoozMzBI
s6Z5a7KmUKZAHUDy+vD1UAOATy2+8kEJ57hAeaaj5WPEC6x1l3u6MDQRmZ+wM7C9
PV5VUvDDzm9mCakmhIL8/2iPlLip6Qk2HXVjObimiqGO5xQvWlD0ivuZrfClkpM=
=lyBB
-----END PGP SIGNATURE-----

3
libvirt-3.0.0.tar.xz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:9d9d26b70e13b1b2dfde5789ed52fc4528289a37e0f158418e9746263b37175e
size 13815736

10
libvirt-3.0.0.tar.xz.asc Normal file
View File

@ -0,0 +1,10 @@
-----BEGIN PGP SIGNATURE-----
iQEcBAABAgAGBQJYfl7BAAoJEBVYiyZZa+pdlPoH/0nWMZ7B4U8PAz/WCW1vasvF
MC/2BN9owUgA5LTKKROTMG2eoY1daJJgpZ+kC61Xnlnt39DDSvisQlPlnmhb6RLU
1JtopaDIkhTQ/lL9JG4pnvAHTcHbBqWmGC3jSKBrLAfjjfpkPHYuJqnnDfnMQ9a7
lm4PE0MQZtvZILqYUPJiuzYinvyBkzHacd1+FlUZZIdBEOGp28xoh4ILHc7f6iDL
P/87gsmrIE/A/ElWCCntQPpn5s99Oz2WIpdnyK+9jBxd5EfZOTo/69qTNLn4XLRE
F4LlkAX7HducBOtNPIVMYNXWI1sdq+LzhKW5lL5wQDFh7kKTK8WL5sc3EPNmHnw=
=mauQ
-----END PGP SIGNATURE-----

View File

@ -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 @@ Index: libvirt-2.5.0/tools/libvirt-guests.init.in
#
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 @@ Index: libvirt-2.5.0/tools/libvirt-guests.sh.in
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
+

View File

@ -2,11 +2,11 @@ Add POWER8 v2.0 and v2.1 to cpu map XML
From: <ro@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'/>

View File

@ -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 @@ Index: libvirt-2.5.0/src/Makefile.am
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 @@ Index: libvirt-2.5.0/src/Makefile.am
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 @@ Index: libvirt-2.5.0/tools/virsh.c
# 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 @@ Index: libvirt-2.5.0/src/interface/interface_backend_netcf.c
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 @@ Index: libvirt-2.5.0/src/interface/interface_driver.c
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 @@ Index: libvirt-2.5.0/m4/virt-netcontrol.m4
+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])
+

View File

@ -1,3 +1,40 @@
-------------------------------------------------------------------
Fri Jan 27 17:53:23 UTC 2017 - jfehlig@suse.com
- Fix dom0 ballooning with Xen >= 4.8
libxl-dom0-balloon-fix.patch
bsc#1020755
-------------------------------------------------------------------
Fri Jan 27 17:31:32 UTC 2017 - jfehlig@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 - jfehlig@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 - jfehlig@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
-------------------------------------------------------------------
Wed Dec 28 10:20:49 UTC 2016 - matwey.kornilov@gmail.com

View File

@ -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 @@ Source4: libvirtd-relocation-server.fw
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 @@ Patch211: qemu-apparmor-screenshot.patch
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 @@ libvirt plugin for NSS for translating domain names into IP addresses.
%prep
%setup -q
%patch0 -p1
%patch100 -p1
%patch101 -p1
%patch150 -p1
%patch151 -p1
%patch152 -p1
@ -806,6 +818,10 @@ libvirt plugin for NSS for translating domain names into IP addresses.
%patch212 -p1
%patch213 -p1
%patch214 -p1
%patch300 -p1
%if %{with_sle_build}
%patch400 -p1
%endif
%build
%if %{with_xen}
@ -1433,6 +1449,10 @@ fi
%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 @@ fi
%{_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 @@ fi
%files nss
%{_libdir}/libnss_libvirt.so.2
%{_libdir}/libnss_libvirt_guest.so.2
%changelog

View File

@ -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 @@ Index: libvirt-2.5.0/daemon/libvirtd.conf
# Listen for unencrypted TCP connections on the public TCP/IP port.
# NB, must pass the --listen flag to the libvirtd process for this to
Index: libvirt-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 @@ Index: libvirt-2.5.0/daemon/libvirtd-config.c
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::

View File

@ -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
+

View File

@ -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-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 @@ Index: libvirt-2.5.0/src/libxl/libxl_driver.c
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 */

View File

@ -0,0 +1,52 @@
commit f7143d2f0d918cf96010f1d7610b3c3bf7005c1d
Author: Jim Fehlig <jfehlig@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;

View File

@ -8,10 +8,10 @@ as the default <emulator>, instead of the qemu-xen one.
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"

View File

@ -3,11 +3,11 @@ https://bugzilla.novell.com/show_bug.cgi?id=879425
src/libxl/libxl_conf.c | 25 +++++++++++++++++++++++++
1 file changed, 25 insertions(+)
Index: libvirt-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 @@ Index: libvirt-2.5.0/src/libxl/libxl_conf.c
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;

View File

@ -16,10 +16,10 @@ Signed-off-by: Jim Fehlig <jfehlig@suse.com>
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 @@ Index: libvirt-2.5.0/include/libvirt/libvirt-domain.h
/* 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 @@ Index: libvirt-2.5.0/src/libxl/libxl_driver.c
#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 @@ Index: libvirt-2.5.0/src/libxl/libxl_driver.c
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 @@ Index: libvirt-2.5.0/src/libxl/libxl_driver.c
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 @@ Index: libvirt-2.5.0/src/libxl/libxl_migration.c
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 @@ Index: libvirt-2.5.0/src/libxl/libxl_migration.h
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 @@ Index: libvirt-2.5.0/tools/virsh-domain.c
{.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 @@ Index: libvirt-2.5.0/tools/virsh-domain.c
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 @@ Index: libvirt-2.5.0/tools/virsh-domain.c
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.

View File

@ -7,11 +7,11 @@ and npiv.
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 @@ Index: libvirt-2.5.0/src/libxl/libxl_conf.c
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 @@ Index: libvirt-2.5.0/src/libxl/libxl_conf.c
const char *driver = virDomainDiskGetDriver(l_disk);
int format = virDomainDiskGetFormat(l_disk);
int actual_type = virStorageSourceGetActualType(l_disk->src);
@@ -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 @@ Index: libvirt-2.5.0/src/libxl/libxl_conf.c
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);

View File

@ -13,11 +13,11 @@ device with the same name that is being created.
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 @@ Index: libvirt-2.5.0/src/lxc/lxc_controller.c
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 @@ Index: libvirt-2.5.0/src/lxc/lxc_driver.c
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 @@ Index: libvirt-2.5.0/src/lxc/lxc_driver.c
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);

View File

@ -2,10 +2,10 @@ Canonicalize hostarch name ppc64le to ppc64
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")) {

View File

@ -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,

View File

@ -0,0 +1,29 @@
commit eaa2043dee8b8ada7b0b80c9b5b0b0db575a4abf
Author: Daniel P. Berrange <berrange@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 <berrange@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,

View File

@ -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-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 @@ Index: libvirt-2.5.0/src/xenconfig/xen_common.c
hostdev->source.subsys.type = VIR_DOMAIN_HOSTDEV_SUBSYS_TYPE_PCI;
hostdev->source.subsys.u.pci.addr.domain = domainID;
hostdev->source.subsys.u.pci.addr.bus = busID;
Index: libvirt-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;

View File

@ -7,10 +7,10 @@ suse-qemu-conf-secdriver.patch, suse-qemu-conf-lockmgr.patch,
etc.), but for now they are all lumped together in this
single patch.
Index: libvirt-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.
#

View File

@ -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

331
virt-create-rootfs.patch Normal file
View File

@ -0,0 +1,331 @@
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 <build@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

View File

@ -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 @@ Index: libvirt-2.5.0/src/locking/virtlockd.sysconf
#
# 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
#

View File

@ -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 @@ Index: libvirt-2.5.0/src/logging/virtlogd.init.in
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
+

View File

@ -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,

View File

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