SHA256
1
0
forked from pool/libvirt

Accepting request 105602 from Virtualization

- Add a note in /etc/libvirt/qemu.conf describing administrator
  vigilance required when enabling a lock manager such as sanlock

- Recommend dmidecode if suse_version > 1110.  dmidecode is used
  by virConnectGetSysinfo.

- Add upstream patches to fix issues with older PolicyKit
  c05ec920-polkit0-build.patch
  fcdfa31f-polkit0-auth.patch

- Update to libvirt 0.9.10
  - Add support for sVirt in the LXC driver
  - Add new API virDomainBlockRebase
  - Add api to set and get domain metadata
  - virDomainGetDiskErrors public API
  - Add rawio attribute to disk element of domain XML
  - Introduce virDomainPMSuspendForDuration API
  - Add virStorageVolResize() API
  - Add a virt-host-validate command to sanity check HV config
  - Add new virDomainShutdownFlags API
  - QEMU guest agent support

- Fix libvirtd apparmor profile to work with libxenlight toolstack
  Updated install-apparmor-profiles.patch
  bnc#745890

- Fix init script packaging after enabling systemd support

- Fix %files after enabling sanlock support

OBS-URL: https://build.opensuse.org/request/show/105602
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/libvirt?expand=0&rev=95
This commit is contained in:
Stephan Kulow 2012-02-17 11:01:54 +00:00 committed by Git OBS Bridge
commit 73ef50b5f4
17 changed files with 312 additions and 215 deletions

View File

@ -1,79 +0,0 @@
commit 9ae4ac7ac07d872cd32d0a3a1b1b44730b04bda7
Author: Jim Fehlig <jfehlig@suse.com>
Date: Tue Jan 3 11:35:06 2012 -0700
PolicyKit: Check auth before asking client to obtain it
I previously mentioned [1] a PolicyKit issue where libvirt would
proceed with authentication even though polkit-auth failed:
testusr xen134:~> virsh list --all
Attempting to obtain authorization for org.libvirt.unix.manage.
polkit-grant-helper: given auth type (8 -> yes) is bogus
Failed to obtain authorization for org.libvirt.unix.manage.
Id Name State
----------------------------------
0 Domain-0 running
- sles11sp1-pv shut off
AFAICT, libvirt attempts to obtain a privilege it already has,
causing polkit-auth to fail with above message. Instead of calling
obtain and then checking auth, IMO the workflow should be for the
server to check auth first, and if that fails ask the client to
obtain it and check again. This workflow also allows for checking
only successful exit of polkit-auth in virConnectAuthGainPolkit().
[1] https://www.redhat.com/archives/libvir-list/2011-December/msg00837.html
Index: libvirt-0.9.9/src/libvirt.c
===================================================================
--- libvirt-0.9.9.orig/src/libvirt.c
+++ libvirt-0.9.9/src/libvirt.c
@@ -119,7 +119,7 @@ static int virConnectAuthGainPolkit(cons
cmd = virCommandNewArgList(POLKIT_AUTH, "--obtain", privilege, NULL);
if (virCommandRun(cmd, &status) < 0 ||
- status > 1)
+ status > 0)
goto cleanup;
ret = 0;
Index: libvirt-0.9.9/src/remote/remote_driver.c
===================================================================
--- libvirt-0.9.9.orig/src/remote/remote_driver.c
+++ libvirt-0.9.9/src/remote/remote_driver.c
@@ -3121,6 +3121,14 @@ remoteAuthPolkit (virConnectPtr conn, st
};
VIR_DEBUG("Client initialize PolicyKit-0 authentication");
+ /* Check auth first and if it succeeds we are done. */
+ memset (&ret, 0, sizeof ret);
+ if (call (conn, priv, 0, REMOTE_PROC_AUTH_POLKIT,
+ (xdrproc_t) xdr_void, (char *)NULL,
+ (xdrproc_t) xdr_remote_auth_polkit_ret, (char *) &ret) == 0)
+ goto out;
+
+ /* Auth failed. Ask client to obtain it and check again. */
if (auth && auth->cb) {
/* Check if the necessary credential type for PolicyKit is supported */
for (i = 0 ; i < auth->ncredtype ; i++) {
@@ -3138,9 +3146,11 @@ remoteAuthPolkit (virConnectPtr conn, st
}
} else {
VIR_DEBUG("Client auth callback does not support PolicyKit");
+ return -1;
}
} else {
VIR_DEBUG("No auth callback provided");
+ return -1;
}
memset (&ret, 0, sizeof ret);
@@ -3150,6 +3160,7 @@ remoteAuthPolkit (virConnectPtr conn, st
return -1; /* virError already set by call */
}
+out:
VIR_DEBUG("PolicyKit-0 authentication complete");
return 0;
}

View File

@ -1,20 +1,20 @@
Index: libvirt-0.9.9/src/util/virnetdev.c Index: libvirt-0.9.10/src/util/virnetdev.c
=================================================================== ===================================================================
--- libvirt-0.9.9.orig/src/util/virnetdev.c --- libvirt-0.9.10.orig/src/util/virnetdev.c
+++ libvirt-0.9.9/src/util/virnetdev.c +++ libvirt-0.9.10/src/util/virnetdev.c
@@ -84,7 +84,7 @@ static int virNetDevSetupControlFull(con @@ -85,7 +85,7 @@ static int virNetDevSetupControlFull(con
static int virNetDevSetupControl(const char *ifname, static int virNetDevSetupControl(const char *ifname,
struct ifreq *ifr) struct ifreq *ifr)
{ {
- return virNetDevSetupControlFull(ifname, ifr, AF_PACKET, SOCK_DGRAM); - return virNetDevSetupControlFull(ifname, ifr, AF_PACKET, SOCK_DGRAM);
+ return virNetDevSetupControlFull(ifname, ifr, AF_INET, SOCK_STREAM); + return virNetDevSetupControlFull(ifname, ifr, AF_INET, SOCK_STREAM);
} }
#endif #endif
Index: libvirt-0.9.9/src/util/virnetdevbridge.c Index: libvirt-0.9.10/src/util/virnetdevbridge.c
=================================================================== ===================================================================
--- libvirt-0.9.9.orig/src/util/virnetdevbridge.c --- libvirt-0.9.10.orig/src/util/virnetdevbridge.c
+++ libvirt-0.9.9/src/util/virnetdevbridge.c +++ libvirt-0.9.10/src/util/virnetdevbridge.c
@@ -84,7 +84,7 @@ static int virNetDevSetupControlFull(con @@ -84,7 +84,7 @@ static int virNetDevSetupControlFull(con
static int virNetDevSetupControl(const char *ifname, static int virNetDevSetupControl(const char *ifname,
struct ifreq *ifr) struct ifreq *ifr)

View File

@ -0,0 +1,24 @@
commit c05ec920219dc9fad9230c3cea7c1fb17d29ddc3
Author: Jim Fehlig <jfehlig@suse.com>
Date: Wed Feb 15 21:34:13 2012 -0700
Fix build with polkit0
Commit 8dd623b9 introduced a build error with --enable-compile-warnings=error
remote.c:2593: error: unused variable 'rv' [-Wunused-variable]
Pushing under build-breaker rule.
Index: libvirt-0.9.10/daemon/remote.c
===================================================================
--- libvirt-0.9.10.orig/daemon/remote.c
+++ libvirt-0.9.10/daemon/remote.c
@@ -2589,7 +2589,6 @@ remoteDispatchAuthPolkit(virNetServerPtr
DBusError err;
const char *action;
char *ident = NULL;
- int rv = -1;
struct daemonClientPrivate *priv =
virNetServerClientGetPrivateData(client);

View File

@ -2,7 +2,7 @@ Index: src/lxc/lxc_container.c
=================================================================== ===================================================================
--- src/lxc/lxc_container.c.orig --- src/lxc/lxc_container.c.orig
+++ src/lxc/lxc_container.c +++ src/lxc/lxc_container.c
@@ -1345,6 +1345,9 @@ int lxcContainerStart(virDomainDefPtr de @@ -1439,6 +1439,9 @@ int lxcContainerStart(virDomainDefPtr de
ttyPaths, nttyPaths, handshakefd}; ttyPaths, nttyPaths, handshakefd};
/* allocate a stack for the container */ /* allocate a stack for the container */
@ -12,7 +12,7 @@ Index: src/lxc/lxc_container.c
if (VIR_ALLOC_N(stack, stacksize) < 0) { if (VIR_ALLOC_N(stack, stacksize) < 0) {
virReportOOMError(); virReportOOMError();
return -1; return -1;
@@ -1363,7 +1366,11 @@ int lxcContainerStart(virDomainDefPtr de @@ -1457,7 +1460,11 @@ int lxcContainerStart(virDomainDefPtr de
cflags |= CLONE_NEWNET; cflags |= CLONE_NEWNET;
} }
@ -24,7 +24,7 @@ Index: src/lxc/lxc_container.c
VIR_FREE(stack); VIR_FREE(stack);
VIR_DEBUG("clone() completed, new container PID is %d", pid); VIR_DEBUG("clone() completed, new container PID is %d", pid);
@@ -1389,6 +1396,7 @@ int lxcContainerAvailable(int features) @@ -1483,6 +1490,7 @@ int lxcContainerAvailable(int features)
int cpid; int cpid;
char *childStack; char *childStack;
char *stack; char *stack;
@ -32,7 +32,7 @@ Index: src/lxc/lxc_container.c
if (features & LXC_CONTAINER_FEATURE_USER) if (features & LXC_CONTAINER_FEATURE_USER)
flags |= CLONE_NEWUSER; flags |= CLONE_NEWUSER;
@@ -1396,14 +1404,21 @@ int lxcContainerAvailable(int features) @@ -1490,14 +1498,21 @@ int lxcContainerAvailable(int features)
if (features & LXC_CONTAINER_FEATURE_NET) if (features & LXC_CONTAINER_FEATURE_NET)
flags |= CLONE_NEWNET; flags |= CLONE_NEWNET;

View File

@ -0,0 +1,53 @@
From a06fab953f99e778883618dd0aeaef8da5d5b32a Mon Sep 17 00:00:00 2001
From: Jim Fehlig <jfehlig@suse.com>
Date: Wed, 15 Feb 2012 10:01:50 -0700
Subject: [PATCH] Fix polkit0 authentication
Commit 7033c5f2 introduced some bugs in polkit0 authentication.
Fix libvirtd segfault in remoteDispatchAuthPolkit().
Fix polkit authentication bypass when caller UID = 0.
---
daemon/remote.c | 20 +++++++++-----------
1 files changed, 9 insertions(+), 11 deletions(-)
Index: libvirt-0.9.10/daemon/remote.c
===================================================================
--- libvirt-0.9.10.orig/daemon/remote.c
+++ libvirt-0.9.10/daemon/remote.c
@@ -2052,16 +2052,16 @@ remoteDispatchAuthList(virNetServerPtr s
} else if (callerUid == 0) {
char *ident;
if (virAsprintf(&ident, "pid:%lld,uid:%d",
- (long long) callerPid, callerUid) == 0) {
- VIR_INFO("Bypass polkit auth for privileged client %s",
- ident);
- if (virNetServerClientSetIdentity(client, ident) < 0)
- virResetLastError();
- else
- auth = VIR_NET_SERVER_SERVICE_AUTH_NONE;
- VIR_FREE(ident);
+ (long long) callerPid, callerUid) < 0) {
+ virReportOOMError();
+ goto cleanup;
}
- rv = -1;
+ VIR_INFO("Bypass polkit auth for privileged client %s", ident);
+ if (virNetServerClientSetIdentity(client, ident) < 0)
+ virResetLastError();
+ else
+ auth = VIR_NET_SERVER_SERVICE_AUTH_NONE;
+ VIR_FREE(ident);
}
}
@@ -2592,8 +2592,6 @@ remoteDispatchAuthPolkit(virNetServerPtr
struct daemonClientPrivate *priv =
virNetServerClientGetPrivateData(client);
- memset(ident, 0, sizeof ident);
-
virMutexLock(&priv->lock);
action = virNetServerClientGetReadonly(client) ?

View File

@ -1,7 +1,7 @@
Index: libvirt-0.9.9/examples/apparmor/Makefile.am Index: libvirt-0.9.10/examples/apparmor/Makefile.am
=================================================================== ===================================================================
--- libvirt-0.9.9.orig/examples/apparmor/Makefile.am --- libvirt-0.9.10.orig/examples/apparmor/Makefile.am
+++ libvirt-0.9.9/examples/apparmor/Makefile.am +++ libvirt-0.9.10/examples/apparmor/Makefile.am
@@ -1,8 +1,39 @@ @@ -1,8 +1,39 @@
## Copyright (C) 2005-2011 Red Hat, Inc. ## Copyright (C) 2005-2011 Red Hat, Inc.
## See COPYING.LIB for the License of this software ## See COPYING.LIB for the License of this software
@ -47,10 +47,10 @@ Index: libvirt-0.9.9/examples/apparmor/Makefile.am
+ rm -f $(DESTDIR)$(sysconfdir)/apparmor.d/libvirt/TEMPLATE + rm -f $(DESTDIR)$(sysconfdir)/apparmor.d/libvirt/TEMPLATE
+ +
+endif +endif
Index: libvirt-0.9.9/examples/apparmor/usr.lib.libvirt.virt-aa-helper.in Index: libvirt-0.9.10/examples/apparmor/usr.lib.libvirt.virt-aa-helper.in
=================================================================== ===================================================================
--- /dev/null --- /dev/null
+++ libvirt-0.9.9/examples/apparmor/usr.lib.libvirt.virt-aa-helper.in +++ libvirt-0.9.10/examples/apparmor/usr.lib.libvirt.virt-aa-helper.in
@@ -0,0 +1,40 @@ @@ -0,0 +1,40 @@
+# Last Modified: Fri Aug 19 11:21:48 2011 +# Last Modified: Fri Aug 19 11:21:48 2011
+#include <tunables/global> +#include <tunables/global>
@ -92,9 +92,9 @@ Index: libvirt-0.9.9/examples/apparmor/usr.lib.libvirt.virt-aa-helper.in
+ /var/lib/kvm/images/ r, + /var/lib/kvm/images/ r,
+ /var/lib/kvm/images/** r, + /var/lib/kvm/images/** r,
+} +}
Index: libvirt-0.9.9/examples/apparmor/usr.lib.libvirt.virt-aa-helper Index: libvirt-0.9.10/examples/apparmor/usr.lib.libvirt.virt-aa-helper
=================================================================== ===================================================================
--- libvirt-0.9.9.orig/examples/apparmor/usr.lib.libvirt.virt-aa-helper --- libvirt-0.9.10.orig/examples/apparmor/usr.lib.libvirt.virt-aa-helper
+++ /dev/null +++ /dev/null
@@ -1,38 +0,0 @@ @@ -1,38 +0,0 @@
-# Last Modified: Mon Apr 5 15:10:27 2010 -# Last Modified: Mon Apr 5 15:10:27 2010
@ -135,9 +135,9 @@ Index: libvirt-0.9.9/examples/apparmor/usr.lib.libvirt.virt-aa-helper
- /var/lib/libvirt/images/ r, - /var/lib/libvirt/images/ r,
- /var/lib/libvirt/images/** r, - /var/lib/libvirt/images/** r,
-} -}
Index: libvirt-0.9.9/examples/apparmor/usr.sbin.libvirtd Index: libvirt-0.9.10/examples/apparmor/usr.sbin.libvirtd
=================================================================== ===================================================================
--- libvirt-0.9.9.orig/examples/apparmor/usr.sbin.libvirtd --- libvirt-0.9.10.orig/examples/apparmor/usr.sbin.libvirtd
+++ /dev/null +++ /dev/null
@@ -1,52 +0,0 @@ @@ -1,52 +0,0 @@
-# Last Modified: Mon Apr 5 15:03:58 2010 -# Last Modified: Mon Apr 5 15:03:58 2010
@ -192,11 +192,11 @@ Index: libvirt-0.9.9/examples/apparmor/usr.sbin.libvirtd
- change_profile -> @{LIBVIRT}-[0-9a-f]*-[0-9a-f]*-[0-9a-f]*-[0-9a-f]*-[0-9a-f]*, - change_profile -> @{LIBVIRT}-[0-9a-f]*-[0-9a-f]*-[0-9a-f]*-[0-9a-f]*-[0-9a-f]*,
- -
-} -}
Index: libvirt-0.9.9/examples/apparmor/usr.sbin.libvirtd.in Index: libvirt-0.9.10/examples/apparmor/usr.sbin.libvirtd.in
=================================================================== ===================================================================
--- /dev/null --- /dev/null
+++ libvirt-0.9.9/examples/apparmor/usr.sbin.libvirtd.in +++ libvirt-0.9.10/examples/apparmor/usr.sbin.libvirtd.in
@@ -0,0 +1,54 @@ @@ -0,0 +1,57 @@
+# Last Modified: Fri Aug 19 11:20:36 2011 +# Last Modified: Fri Aug 19 11:20:36 2011
+#include <tunables/global> +#include <tunables/global>
+@{LIBVIRT}="libvirt" +@{LIBVIRT}="libvirt"
@ -221,6 +221,7 @@ Index: libvirt-0.9.9/examples/apparmor/usr.sbin.libvirtd.in
+ capability setpcap, + capability setpcap,
+ capability mknod, + capability mknod,
+ capability fsetid, + capability fsetid,
+ capability ipc_lock,
+ +
+ network inet stream, + network inet stream,
+ network inet dgram, + network inet dgram,
@ -235,6 +236,8 @@ Index: libvirt-0.9.9/examples/apparmor/usr.sbin.libvirtd.in
+ /sbin/* Ux, + /sbin/* Ux,
+ /usr/bin/* Ux, + /usr/bin/* Ux,
+ /usr/sbin/* Ux, + /usr/sbin/* Ux,
+ /usr/lib/xen/bin/qemu-dm Ux,
+ /usr/lib/PolicyKit/polkit-read-auth-helper Px,
+ +
+ # force the use of virt-aa-helper + # force the use of virt-aa-helper
+ audit deny /sbin/apparmor_parser rwxl, + audit deny /sbin/apparmor_parser rwxl,
@ -251,10 +254,10 @@ Index: libvirt-0.9.9/examples/apparmor/usr.sbin.libvirtd.in
+ change_profile -> @{LIBVIRT}-[0-9a-f]*-[0-9a-f]*-[0-9a-f]*-[0-9a-f]*-[0-9a-f]*, + change_profile -> @{LIBVIRT}-[0-9a-f]*-[0-9a-f]*-[0-9a-f]*-[0-9a-f]*-[0-9a-f]*,
+ +
+} +}
Index: libvirt-0.9.9/examples/apparmor/libvirt-qemu Index: libvirt-0.9.10/examples/apparmor/libvirt-qemu
=================================================================== ===================================================================
--- libvirt-0.9.9.orig/examples/apparmor/libvirt-qemu --- libvirt-0.9.10.orig/examples/apparmor/libvirt-qemu
+++ libvirt-0.9.9/examples/apparmor/libvirt-qemu +++ libvirt-0.9.10/examples/apparmor/libvirt-qemu
@@ -52,6 +52,7 @@ @@ -52,6 +52,7 @@
# access to firmware's etc # access to firmware's etc
/usr/share/kvm/** r, /usr/share/kvm/** r,

3
libvirt-0.9.10.tar.bz2 Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:7c0b775b679afe373cc39a7b56f0d8f6faece3b85964e5ad906fbc7cff8a1798
size 13393379

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:7de73cb8961b3cdecde265102abb55d8f9f1f81aceb6100cb10692721fba090f
size 13000699

View File

@ -1,7 +1,7 @@
Index: libvirt-0.9.9/configure.ac Index: libvirt-0.9.10/configure.ac
=================================================================== ===================================================================
--- libvirt-0.9.9.orig/configure.ac --- libvirt-0.9.10.orig/configure.ac
+++ libvirt-0.9.9/configure.ac +++ libvirt-0.9.10/configure.ac
@@ -63,6 +63,7 @@ AVAHI_REQUIRED="0.6.0" @@ -63,6 +63,7 @@ AVAHI_REQUIRED="0.6.0"
POLKIT_REQUIRED="0.6" POLKIT_REQUIRED="0.6"
PARTED_REQUIRED="1.8.0" PARTED_REQUIRED="1.8.0"
@ -10,7 +10,7 @@ Index: libvirt-0.9.9/configure.ac
UDEV_REQUIRED=145 UDEV_REQUIRED=145
PCIACCESS_REQUIRED=0.10.0 PCIACCESS_REQUIRED=0.10.0
XMLRPC_REQUIRED=1.14.0 XMLRPC_REQUIRED=1.14.0
@@ -1637,6 +1638,38 @@ AM_CONDITIONAL([WITH_NETCF], [test "$wit @@ -1641,6 +1642,38 @@ AM_CONDITIONAL([WITH_NETCF], [test "$wit
AC_SUBST([NETCF_CFLAGS]) AC_SUBST([NETCF_CFLAGS])
AC_SUBST([NETCF_LIBS]) AC_SUBST([NETCF_LIBS])
@ -49,7 +49,7 @@ Index: libvirt-0.9.9/configure.ac
AC_ARG_WITH([secrets], AC_ARG_WITH([secrets],
AC_HELP_STRING([--with-secrets], [with local secrets management driver @<:@default=yes@:>@]),[],[with_secrets=yes]) AC_HELP_STRING([--with-secrets], [with local secrets management driver @<:@default=yes@:>@]),[],[with_secrets=yes])
@@ -2565,6 +2598,7 @@ AC_MSG_NOTICE([ Remote: $with_remote]) @@ -2592,6 +2625,7 @@ AC_MSG_NOTICE([ Remote: $with_remote])
AC_MSG_NOTICE([ Network: $with_network]) AC_MSG_NOTICE([ Network: $with_network])
AC_MSG_NOTICE([Libvirtd: $with_libvirtd]) AC_MSG_NOTICE([Libvirtd: $with_libvirtd])
AC_MSG_NOTICE([ netcf: $with_netcf]) AC_MSG_NOTICE([ netcf: $with_netcf])
@ -57,7 +57,7 @@ Index: libvirt-0.9.9/configure.ac
AC_MSG_NOTICE([ macvtap: $with_macvtap]) AC_MSG_NOTICE([ macvtap: $with_macvtap])
AC_MSG_NOTICE([virtport: $with_virtualport]) AC_MSG_NOTICE([virtport: $with_virtualport])
AC_MSG_NOTICE([]) AC_MSG_NOTICE([])
@@ -2696,6 +2730,11 @@ AC_MSG_NOTICE([ netcf: $NETCF_CFLAGS $ @@ -2723,6 +2757,11 @@ AC_MSG_NOTICE([ netcf: $NETCF_CFLAGS $
else else
AC_MSG_NOTICE([ netcf: no]) AC_MSG_NOTICE([ netcf: no])
fi fi
@ -69,10 +69,10 @@ Index: libvirt-0.9.9/configure.ac
if test "$with_qemu" = "yes" && test "$LIBPCAP_FOUND" != "no"; then if test "$with_qemu" = "yes" && test "$LIBPCAP_FOUND" != "no"; then
AC_MSG_NOTICE([ pcap: $LIBPCAP_CFLAGS $LIBPCAP_LIBS]) AC_MSG_NOTICE([ pcap: $LIBPCAP_CFLAGS $LIBPCAP_LIBS])
else else
Index: libvirt-0.9.9/daemon/Makefile.am Index: libvirt-0.9.10/daemon/Makefile.am
=================================================================== ===================================================================
--- libvirt-0.9.9.orig/daemon/Makefile.am --- libvirt-0.9.10.orig/daemon/Makefile.am
+++ libvirt-0.9.9/daemon/Makefile.am +++ libvirt-0.9.10/daemon/Makefile.am
@@ -143,6 +143,10 @@ endif @@ -143,6 +143,10 @@ endif
if WITH_NETCF if WITH_NETCF
@ -84,10 +84,10 @@ Index: libvirt-0.9.9/daemon/Makefile.am
endif endif
if WITH_NODE_DEVICES if WITH_NODE_DEVICES
Index: libvirt-0.9.9/daemon/libvirtd.c Index: libvirt-0.9.10/daemon/libvirtd.c
=================================================================== ===================================================================
--- libvirt-0.9.9.orig/daemon/libvirtd.c --- libvirt-0.9.10.orig/daemon/libvirtd.c
+++ libvirt-0.9.9/daemon/libvirtd.c +++ libvirt-0.9.10/daemon/libvirtd.c
@@ -75,6 +75,10 @@ @@ -75,6 +75,10 @@
# endif # endif
# ifdef WITH_NETCF # ifdef WITH_NETCF
@ -110,11 +110,11 @@ Index: libvirt-0.9.9/daemon/libvirtd.c
# endif # endif
# ifdef WITH_STORAGE_DIR # ifdef WITH_STORAGE_DIR
storageRegister(); storageRegister();
Index: libvirt-0.9.9/src/Makefile.am Index: libvirt-0.9.10/src/Makefile.am
=================================================================== ===================================================================
--- libvirt-0.9.9.orig/src/Makefile.am --- libvirt-0.9.10.orig/src/Makefile.am
+++ libvirt-0.9.9/src/Makefile.am +++ libvirt-0.9.10/src/Makefile.am
@@ -955,6 +955,24 @@ libvirt_driver_interface_la_LIBADD += .. @@ -960,6 +960,24 @@ libvirt_driver_interface_la_LIBADD += ..
libvirt_driver_interface_la_LDFLAGS += -module -avoid-version libvirt_driver_interface_la_LDFLAGS += -module -avoid-version
endif endif
libvirt_driver_interface_la_SOURCES = $(INTERFACE_DRIVER_SOURCES) libvirt_driver_interface_la_SOURCES = $(INTERFACE_DRIVER_SOURCES)
@ -139,10 +139,10 @@ Index: libvirt-0.9.9/src/Makefile.am
endif endif
if WITH_SECRETS if WITH_SECRETS
Index: libvirt-0.9.9/src/interface/netcf_driver.c Index: libvirt-0.9.10/src/interface/netcf_driver.c
=================================================================== ===================================================================
--- libvirt-0.9.9.orig/src/interface/netcf_driver.c --- libvirt-0.9.10.orig/src/interface/netcf_driver.c
+++ libvirt-0.9.9/src/interface/netcf_driver.c +++ libvirt-0.9.10/src/interface/netcf_driver.c
@@ -23,7 +23,13 @@ @@ -23,7 +23,13 @@
#include <config.h> #include <config.h>
@ -208,11 +208,11 @@ Index: libvirt-0.9.9/src/interface/netcf_driver.c
/* open netcf */ /* open netcf */
if (ncf_init(&driverState->netcf, NULL) != 0) if (ncf_init(&driverState->netcf, NULL) != 0)
{ {
Index: libvirt-0.9.9/tools/virsh.c Index: libvirt-0.9.10/tools/virsh.c
=================================================================== ===================================================================
--- libvirt-0.9.9.orig/tools/virsh.c --- libvirt-0.9.10.orig/tools/virsh.c
+++ libvirt-0.9.9/tools/virsh.c +++ libvirt-0.9.10/tools/virsh.c
@@ -18328,6 +18328,10 @@ vshShowVersion(vshControl *ctl ATTRIBUTE @@ -19067,6 +19067,10 @@ vshShowVersion(vshControl *ctl ATTRIBUTE
#endif #endif
#ifdef WITH_NETCF #ifdef WITH_NETCF
vshPrint(ctl, " Netcf"); vshPrint(ctl, " Netcf");

View File

@ -1,3 +1,59 @@
-------------------------------------------------------------------
Thu Feb 16 09:59:52 MST 2012 - jfehlig@suse.com
- Add a note in /etc/libvirt/qemu.conf describing administrator
vigilance required when enabling a lock manager such as sanlock
-------------------------------------------------------------------
Thu Feb 16 09:01:58 MST 2012 - jfehlig@suse.com
- Recommend dmidecode if suse_version > 1110. dmidecode is used
by virConnectGetSysinfo.
-------------------------------------------------------------------
Wed Feb 15 22:00:42 MST 2012 - jfehlig@suse.com
- Add upstream patches to fix issues with older PolicyKit
c05ec920-polkit0-build.patch
fcdfa31f-polkit0-auth.patch
-------------------------------------------------------------------
Wed Feb 15 11:57:25 MST 2012 - jfehlig@suse.com
- Update to libvirt 0.9.10
- Add support for sVirt in the LXC driver
- Add new API virDomainBlockRebase
- Add api to set and get domain metadata
- virDomainGetDiskErrors public API
- Add rawio attribute to disk element of domain XML
- Introduce virDomainPMSuspendForDuration API
- Add virStorageVolResize() API
- Add a virt-host-validate command to sanity check HV config
- Add new virDomainShutdownFlags API
- QEMU guest agent support
-------------------------------------------------------------------
Wed Feb 8 11:12:28 MST 2012 - jfehlig@suse.com
- Fix libvirtd apparmor profile to work with libxenlight toolstack
Updated install-apparmor-profiles.patch
bnc#745890
-------------------------------------------------------------------
Wed Jan 25 14:40:32 MST 2012 - jfehlig@suse.com
- Fix init script packaging after enabling systemd support
-------------------------------------------------------------------
Tue Jan 24 14:26:47 MST 2012 - jfehlig@suse.com
- Fix %files after enabling sanlock support
-------------------------------------------------------------------
Wed Jan 18 15:58:57 MST 2012 - jfehlig@suse.com
- Enable libvirt integration with sanlock
------------------------------------------------------------------- -------------------------------------------------------------------
Wed Jan 11 09:32:28 MST 2012 - jfehlig@suse.com Wed Jan 11 09:32:28 MST 2012 - jfehlig@suse.com

View File

@ -15,8 +15,6 @@
# Please submit bugfixes or comments via http://bugs.opensuse.org/ # Please submit bugfixes or comments via http://bugs.opensuse.org/
# #
# norootforbuild
# For now, default to a full server + client build # For now, default to a full server + client build
%define client_only 0 %define client_only 0
@ -156,6 +154,11 @@
%define with_systemd 0%{!?_without_systemd:1} %define with_systemd 0%{!?_without_systemd:1}
%endif %endif
# Enable sanlock on openSUSE > 12.1
%if 0%{?suse_version} > 1210
%define with_sanlock 0%{!?_without_sanlock:%{server_drivers}}
%endif
# Disable some drivers when building without libvirt daemon. # Disable some drivers when building without libvirt daemon.
# The logic is the same as in configure.ac # The logic is the same as in configure.ac
%if ! %{with_libvirtd} %if ! %{with_libvirtd}
@ -193,20 +196,21 @@
%define _fwdefdir /etc/sysconfig/SuSEfirewall2.d/services %define _fwdefdir /etc/sysconfig/SuSEfirewall2.d/services
BuildRequires: python-devel
BuildRequires: libxml2-devel
BuildRequires: xhtml-dtd
BuildRequires: libxslt
BuildRequires: readline-devel
BuildRequires: ncurses-devel
BuildRequires: gettext
BuildRequires: libtasn1-devel
BuildRequires: libgnutls-devel
BuildRequires: libgcrypt-devel
BuildRequires: bridge-utils BuildRequires: bridge-utils
BuildRequires: fdupes BuildRequires: fdupes
BuildRequires: libtool pkg-config BuildRequires: gettext
BuildRequires: libgcrypt-devel
BuildRequires: libgnutls-devel
BuildRequires: libtasn1-devel
BuildRequires: libtool
BuildRequires: libxml2-devel
BuildRequires: libxslt
BuildRequires: ncurses-devel
BuildRequires: pkg-config
BuildRequires: python-devel
BuildRequires: python-xml BuildRequires: python-xml
BuildRequires: readline-devel
BuildRequires: xhtml-dtd
# Only for directory ownership: # Only for directory ownership:
BuildRequires: gtk-doc BuildRequires: gtk-doc
%if %{with_xen} || %{with_libxl} %if %{with_xen} || %{with_libxl}
@ -321,12 +325,11 @@ BuildRequires: systemd
Name: libvirt Name: libvirt
Url: http://libvirt.org/ Url: http://libvirt.org/
Version: 0.9.10
Release: 0
Summary: A C toolkit to interact with the virtualization capabilities of Linux
License: LGPL-2.1+ License: LGPL-2.1+
Group: Development/Libraries/C and C++ Group: Development/Libraries/C and C++
AutoReqProv: yes
Version: 0.9.9
Release: 1
Summary: A C toolkit to interact with the virtualization capabilities of Linux
Conflicts: kvm < 0.14.1 Conflicts: kvm < 0.14.1
# The client side, i.e. shared libs and virsh are in a subpackage # The client side, i.e. shared libs and virsh are in a subpackage
@ -386,8 +389,12 @@ Recommends: device-mapper
# For multipath support # For multipath support
Recommends: device-mapper Recommends: device-mapper
%endif %endif
%if 0%{?suse_version} > 1110
%ifarch i386 i586 i686 x86_64 ia64
# For virConnectGetSysinfo # For virConnectGetSysinfo
Requires: dmidecode Recommends: dmidecode
%endif
%endif
# For service management # For service management
%if %{with_systemd} %if %{with_systemd}
%{?systemd_requires} %{?systemd_requires}
@ -398,7 +405,8 @@ Source1: libvirtd.init
Source2: libvirtd-relocation-server.fw Source2: libvirtd-relocation-server.fw
Source99: baselibs.conf Source99: baselibs.conf
# Upstream patches # Upstream patches
Patch0: 9ae4ac7a-PolicyKit.patch Patch0: c05ec920-polkit0-build.patch
Patch1: fcdfa31f-polkit0-auth.patch
# Need to go upstream # Need to go upstream
Patch100: xen-name-for-devid.patch Patch100: xen-name-for-devid.patch
Patch101: clone.patch Patch101: clone.patch
@ -433,7 +441,6 @@ Authors:
Karel Zak <kzak@redhat.com> Karel Zak <kzak@redhat.com>
%package client %package client
License: LGPL-2.1+
Summary: Client side library and utilities of the libvirt library Summary: Client side library and utilities of the libvirt library
Group: Development/Libraries/C and C++ Group: Development/Libraries/C and C++
Requires: readline Requires: readline
@ -460,7 +467,6 @@ Authors:
Karel Zak <kzak@redhat.com> Karel Zak <kzak@redhat.com>
%package devel %package devel
License: LGPL-2.1+
Summary: A C toolkit to interact with the virtualization capabilities of Linux Summary: A C toolkit to interact with the virtualization capabilities of Linux
Group: Development/Libraries/C and C++ Group: Development/Libraries/C and C++
Requires: %{name}-client = %{version}-%{release} libxml2-devel Requires: %{name}-client = %{version}-%{release} libxml2-devel
@ -482,7 +488,6 @@ Authors:
Karel Zak <kzak@redhat.com> Karel Zak <kzak@redhat.com>
%package doc %package doc
License: LGPL-2.1+
Summary: A C toolkit to interact with the virtualization capabilities of Linux Summary: A C toolkit to interact with the virtualization capabilities of Linux
Group: Development/Libraries/C and C++ Group: Development/Libraries/C and C++
Requires: %{name}-client = %{version}-%{release} Requires: %{name}-client = %{version}-%{release}
@ -502,7 +507,6 @@ Authors:
%if %{with_sanlock} %if %{with_sanlock}
%package lock-sanlock %package lock-sanlock
License: LGPL-2.1+
Summary: Sanlock lock manager plugin for QEMU driver Summary: Sanlock lock manager plugin for QEMU driver
Group: Development/Libraries/C and C++ Group: Development/Libraries/C and C++
Requires: sanlock >= 1.8 Requires: sanlock >= 1.8
@ -517,7 +521,6 @@ Includes the Sanlock lock manager plugin for the QEMU driver
%if %{with_python} %if %{with_python}
%package python %package python
License: LGPL-2.1+
Summary: A C toolkit to interact with the virtualization capabilities of Linux Summary: A C toolkit to interact with the virtualization capabilities of Linux
Group: Development/Libraries/C and C++ Group: Development/Libraries/C and C++
Requires: %{name}-client = %{version}-%{release} Requires: %{name}-client = %{version}-%{release}
@ -539,6 +542,7 @@ Authors:
%prep %prep
%setup -q %setup -q
%patch0 -p1 %patch0 -p1
%patch1 -p1
%patch100 -p1 %patch100 -p1
%patch101 %patch101
%patch102 -p1 %patch102 -p1
@ -654,6 +658,9 @@ Authors:
%if ! %{with_sasl} %if ! %{with_sasl}
%define _without_sasl --without-sasl %define _without_sasl --without-sasl
%endif %endif
%if ! %{with_avahi}
%define _without_avahi --without-avahi
%endif
%if ! %{with_python} %if ! %{with_python}
%define _without_python --without-python %define _without_python --without-python
%endif %endif
@ -708,6 +715,7 @@ export CFLAGS="$RPM_OPT_FLAGS"
%{?_without_dtrace} \ %{?_without_dtrace} \
%{?_without_network} \ %{?_without_network} \
%{?_without_sasl} \ %{?_without_sasl} \
%{?_without_avahi} \
%{?_without_python} \ %{?_without_python} \
%{?_without_libpcap} \ %{?_without_libpcap} \
%{?_without_sanlock} \ %{?_without_sanlock} \
@ -724,13 +732,18 @@ make V=1 %{?jobs:-j%jobs} DOCS_DIR=%{_docdir}/%{name}-python EXAMPLE_DIR=%{_docd
%makeinstall SYSTEMD_UNIT_DIR=%{_unitdir} DOCS_DIR=%{_docdir}/%{name}-python EXAMPLE_DIR=%{_docdir}/%{name}-python/examples HTML_DIR=%{_docdir}/%{name} %makeinstall SYSTEMD_UNIT_DIR=%{_unitdir} DOCS_DIR=%{_docdir}/%{name}-python EXAMPLE_DIR=%{_docdir}/%{name}-python/examples HTML_DIR=%{_docdir}/%{name}
cp -a AUTHORS ChangeLog COPYING NEWS README TODO $RPM_BUILD_ROOT%{_docdir}/%{name}/ cp -a AUTHORS ChangeLog COPYING NEWS README TODO $RPM_BUILD_ROOT%{_docdir}/%{name}/
cd docs ; cp -a *.html $RPM_BUILD_ROOT%{_docdir}/%{name} ; cp -a *.png $RPM_BUILD_ROOT%{_docdir}/%{name} ; cd .. cd docs ; cp -a *.html $RPM_BUILD_ROOT%{_docdir}/%{name} ; cp -a *.png $RPM_BUILD_ROOT%{_docdir}/%{name} ; cd ..
rm -f $RPM_BUILD_ROOT%{_libdir}/*.la
rm -f $RPM_BUILD_ROOT%{_libdir}/*.a
rm -f $RPM_BUILD_ROOT%{py_sitedir}/*.la
rm -f $RPM_BUILD_ROOT%{py_sitedir}/*.a
rm -f $RPM_BUILD_ROOT%{_libdir}/%{name}/lock-driver/*.la
rm -f $RPM_BUILD_ROOT%{_libdir}/%{name}/lock-driver/*.a
# remove currently unsupported locale(s) # remove currently unsupported locale(s)
rm -rf $RPM_BUILD_ROOT/usr/share/locale/sr@latin rm -rf $RPM_BUILD_ROOT/usr/share/locale/sr@latin
%if 0%{?suse_version} < 1130 %if 0%{?suse_version} < 1130
rm -rf $RPM_BUILD_ROOT/usr/share/locale/vi_VN rm -rf $RPM_BUILD_ROOT/usr/share/locale/vi_VN
%endif %endif
mkdir -p $RPM_BUILD_ROOT/%{_localstatedir}/lib/libvirt mkdir -p $RPM_BUILD_ROOT/%{_localstatedir}/lib/libvirt
rm $RPM_BUILD_ROOT%{_libdir}/*.*a $RPM_BUILD_ROOT%{py_sitedir}/*.*a
%find_lang %{name} %find_lang %{name}
%if %{with_network} %if %{with_network}
install -d -m 0755 $RPM_BUILD_ROOT%{_localstatedir}/lib/libvirt/dnsmasq/ install -d -m 0755 $RPM_BUILD_ROOT%{_localstatedir}/lib/libvirt/dnsmasq/
@ -803,7 +816,7 @@ fi
%endif %endif
%if %{with_systemd} %if %{with_systemd}
%service_add_post libvirtd.service libvirt-guests.service %service_add_post libvirtd.service libvirt-guests.service
%else %endif
%if 0%{?sles_version} %if 0%{?sles_version}
%{fillup_and_insserv -y libvirtd} %{fillup_and_insserv -y libvirtd}
%else # ! sles %else # ! sles
@ -811,15 +824,13 @@ fi
%endif %endif
%{fillup_only -n libvirt-guests} %{fillup_only -n libvirt-guests}
%endif %endif
%endif
%preun %preun
%if %{with_libvirtd} %if %{with_libvirtd}
%if %{with_systemd} %if %{with_systemd}
%service_del_preun libvirtd.service libvirt-guests.service %service_del_preun libvirtd.service libvirt-guests.service
%else
%stop_on_removal libvirtd
%endif %endif
%stop_on_removal libvirtd
%endif %endif
%postun %postun
@ -827,9 +838,8 @@ fi
%if %{with_libvirtd} %if %{with_libvirtd}
%if %{with_systemd} %if %{with_systemd}
%service_del_postun libvirtd.service libvirt-guests.service %service_del_postun libvirtd.service libvirt-guests.service
%else
%restart_on_update libvirtd
%endif %endif
%restart_on_update libvirtd
%endif %endif
%insserv_cleanup %insserv_cleanup
@ -863,6 +873,11 @@ fi
%endif %endif
%config(noreplace) %{_sysconfdir}/libvirt/libvirtd.conf %config(noreplace) %{_sysconfdir}/libvirt/libvirtd.conf
%config(noreplace) %{_sysconfdir}/logrotate.d/libvirtd %config(noreplace) %{_sysconfdir}/logrotate.d/libvirtd
%dir %{_datadir}/augeas/
%dir %{_datadir}/augeas/lenses
%dir %{_datadir}/augeas/lenses/tests
%{_datadir}/augeas/lenses/libvirtd.aug
%{_datadir}/augeas/lenses/tests/test_libvirtd.aug
%if %{with_dtrace} %if %{with_dtrace}
%{_datadir}/systemtap/tapset/libvirt_probes.stp %{_datadir}/systemtap/tapset/libvirt_probes.stp
%{_datadir}/systemtap/tapset/libvirt_functions.stp %{_datadir}/systemtap/tapset/libvirt_functions.stp
@ -879,13 +894,14 @@ fi
%{_datadir}/PolicyKit/policy/org.libvirt.unix.policy %{_datadir}/PolicyKit/policy/org.libvirt.unix.policy
%endif %endif
%endif %endif
%{_datadir}/augeas
%if %{with_qemu} %if %{with_qemu}
%config(noreplace) %{_sysconfdir}/libvirt/qemu.conf %config(noreplace) %{_sysconfdir}/libvirt/qemu.conf
%config(noreplace) %{_sysconfdir}/logrotate.d/libvirtd.qemu %config(noreplace) %{_sysconfdir}/logrotate.d/libvirtd.qemu
%dir %attr(0750, %{qemu_user}, %{qemu_group}) %{_localstatedir}/lib/libvirt/qemu/ %dir %attr(0750, %{qemu_user}, %{qemu_group}) %{_localstatedir}/lib/libvirt/qemu/
%dir %attr(0750, %{qemu_user}, %{qemu_group}) %{_localstatedir}/cache/libvirt/qemu/ %dir %attr(0750, %{qemu_user}, %{qemu_group}) %{_localstatedir}/cache/libvirt/qemu/
%dir %attr(0700, root, root) %{_localstatedir}/log/libvirt/qemu/ %dir %attr(0700, root, root) %{_localstatedir}/log/libvirt/qemu/
%{_datadir}/augeas/lenses/libvirtd_qemu.aug
%{_datadir}/augeas/lenses/tests/test_libvirtd_qemu.aug
%endif %endif
%if %{with_lxc} %if %{with_lxc}
%config(noreplace) %{_sysconfdir}/libvirt/lxc.conf %config(noreplace) %{_sysconfdir}/libvirt/lxc.conf
@ -893,6 +909,8 @@ fi
%dir %attr(0700, root, root) %{_localstatedir}/lib/libvirt/lxc/ %dir %attr(0700, root, root) %{_localstatedir}/lib/libvirt/lxc/
%dir %attr(0700, root, root) %{_localstatedir}/log/libvirt/lxc/ %dir %attr(0700, root, root) %{_localstatedir}/log/libvirt/lxc/
%attr(0755, root, root) %{_libdir}/%{name}/libvirt_lxc %attr(0755, root, root) %{_libdir}/%{name}/libvirt_lxc
%{_datadir}/augeas/lenses/libvirtd_lxc.aug
%{_datadir}/augeas/lenses/tests/test_libvirtd_lxc.aug
%endif %endif
%if %{with_uml} %if %{with_uml}
%config(noreplace) %{_sysconfdir}/logrotate.d/libvirtd.uml %config(noreplace) %{_sysconfdir}/logrotate.d/libvirtd.uml
@ -929,10 +947,12 @@ fi
%doc %{_mandir}/man1/virsh.1* %doc %{_mandir}/man1/virsh.1*
%doc %{_mandir}/man1/virt-xml-validate.1* %doc %{_mandir}/man1/virt-xml-validate.1*
%doc %{_mandir}/man1/virt-pki-validate.1* %doc %{_mandir}/man1/virt-pki-validate.1*
%doc %{_mandir}/man1/virt-host-validate.1*
%config(noreplace) %{_sysconfdir}/libvirt/libvirt.conf %config(noreplace) %{_sysconfdir}/libvirt/libvirt.conf
%{_bindir}/virsh %{_bindir}/virsh
%{_bindir}/virt-xml-validate %{_bindir}/virt-xml-validate
%{_bindir}/virt-pki-validate %{_bindir}/virt-pki-validate
%{_bindir}/virt-host-validate
%dir %{_libdir}/%{name} %dir %{_libdir}/%{name}
%{_libdir}/lib*.so.* %{_libdir}/lib*.so.*
%{_localstatedir}/adm/fillup-templates/sysconfig.libvirt-guests %{_localstatedir}/adm/fillup-templates/sysconfig.libvirt-guests
@ -983,15 +1003,19 @@ fi
%files lock-sanlock %files lock-sanlock
%defattr(-, root, root) %defattr(-, root, root)
%doc %{_mandir}/man8/virt-sanlock-cleanup.8*
%if %{with_qemu} %if %{with_qemu}
%config(noreplace) %{_sysconfdir}/libvirt/qemu-sanlock.conf %config(noreplace) %{_sysconfdir}/%{name}/qemu-sanlock.conf
%endif %endif
%attr(0755, root, root) %{_libdir}/libvirt/lock-driver/sanlock.so %dir %{_libdir}/%{name}/lock-driver/
%attr(0755, root, root) %{_libdir}/%{name}/lock-driver/sanlock.so
%dir %{_datadir}/augeas/
%dir %{_datadir}/augeas/lenses
%dir %{_datadir}/augeas/lenses/tests
%{_datadir}/augeas/lenses/libvirt_sanlock.aug %{_datadir}/augeas/lenses/libvirt_sanlock.aug
%{_datadir}/augeas/lenses/tests/test_libvirt_sanlock.aug %{_datadir}/augeas/lenses/tests/test_libvirt_sanlock.aug
%dir %attr(0700, root, root) %{_localstatedir}/lib/libvirt/sanlock %dir %attr(0700, root, root) %{_localstatedir}/lib/%{name}/sanlock
%{_sbindir}/virt-sanlock-cleanup %{_sbindir}/virt-sanlock-cleanup
%{_mandir}/man8/virt-sanlock-cleanup.8*
%endif %endif
%if %{with_python} %if %{with_python}

View File

@ -1,7 +1,7 @@
Index: libvirt-0.9.9/daemon/libvirtd.conf Index: libvirt-0.9.10/daemon/libvirtd.conf
=================================================================== ===================================================================
--- libvirt-0.9.9.orig/daemon/libvirtd.conf --- libvirt-0.9.10.orig/daemon/libvirtd.conf
+++ libvirt-0.9.9/daemon/libvirtd.conf +++ libvirt-0.9.10/daemon/libvirtd.conf
@@ -18,8 +18,8 @@ @@ -18,8 +18,8 @@
# It is necessary to setup a CA and issue server certificates before # It is necessary to setup a CA and issue server certificates before
# using this capability. # using this capability.
@ -28,10 +28,10 @@ Index: libvirt-0.9.9/daemon/libvirtd.conf
# Override the default mDNS advertizement name. This must be # Override the default mDNS advertizement name. This must be
# unique on the immediate broadcast network. # unique on the immediate broadcast network.
Index: libvirt-0.9.9/daemon/libvirtd.c Index: libvirt-0.9.10/daemon/libvirtd.c
=================================================================== ===================================================================
--- libvirt-0.9.9.orig/daemon/libvirtd.c --- libvirt-0.9.10.orig/daemon/libvirtd.c
+++ libvirt-0.9.9/daemon/libvirtd.c +++ libvirt-0.9.10/daemon/libvirtd.c
@@ -871,7 +871,7 @@ daemonConfigNew(bool privileged ATTRIBUT @@ -871,7 +871,7 @@ daemonConfigNew(bool privileged ATTRIBUT
return NULL; return NULL;
} }

View File

@ -7,11 +7,11 @@ drivers as loadable modules instead of built-in to the
daemon. Then the qemu driver would only be loaded when needed, daemon. Then the qemu driver would only be loaded when needed,
which would never be the case on a xen-only configuration. which would never be the case on a xen-only configuration.
Index: libvirt-0.9.9/src/qemu/qemu_conf.c Index: libvirt-0.9.10/src/qemu/qemu_conf.c
=================================================================== ===================================================================
--- libvirt-0.9.9.orig/src/qemu/qemu_conf.c --- libvirt-0.9.10.orig/src/qemu/qemu_conf.c
+++ libvirt-0.9.9/src/qemu/qemu_conf.c +++ libvirt-0.9.10/src/qemu/qemu_conf.c
@@ -255,9 +255,7 @@ int qemudLoadDriverConfig(struct qemud_d @@ -266,9 +266,7 @@ int qemudLoadDriverConfig(struct qemud_d
return -1; return -1;
} }
if (virGetUserID(user, &driver->user) < 0) { if (virGetUserID(user, &driver->user) < 0) {
@ -22,7 +22,7 @@ Index: libvirt-0.9.9/src/qemu/qemu_conf.c
} }
VIR_FREE(user); VIR_FREE(user);
@@ -270,9 +268,7 @@ int qemudLoadDriverConfig(struct qemud_d @@ -281,9 +279,7 @@ int qemudLoadDriverConfig(struct qemud_d
return -1; return -1;
} }
if (virGetGroupID(group, &driver->group) < 0) { if (virGetGroupID(group, &driver->group) < 0) {

View File

@ -1,7 +1,7 @@
Index: libvirt-0.9.9/src/qemu/qemu.conf Index: libvirt-0.9.10/src/qemu/qemu.conf
=================================================================== ===================================================================
--- libvirt-0.9.9.orig/src/qemu/qemu.conf --- libvirt-0.9.10.orig/src/qemu/qemu.conf
+++ libvirt-0.9.9/src/qemu/qemu.conf +++ libvirt-0.9.10/src/qemu/qemu.conf
@@ -136,7 +136,16 @@ @@ -136,7 +136,16 @@
# leaving SELinux enabled for the host in general, then set this # leaving SELinux enabled for the host in general, then set this
# to 'none' instead. # to 'none' instead.
@ -17,5 +17,21 @@ Index: libvirt-0.9.9/src/qemu/qemu.conf
+# security_driver = "apparmor" +# security_driver = "apparmor"
+security_driver = "none" +security_driver = "none"
# If set to non-zero, then the default security labeling
# will make guests confined. If set to zero, then guests
@@ -316,6 +325,15 @@
# max_processes = 0
# max_files = 0
# The user ID for QEMU processes run by the system instance. +# SUSE note:
+# Many lock managers, sanlock included, will kill the resources
+# they protect when terminated. E.g. the sanlock daemon will kill
+# any virtual machines for which it holds disk leases when the
+# daemon is stopped or restarted. Administrators must be vigilant
+# when enabling a lock manager since simply updating the manager
+# may cause it to be restarted, potentially killing the resources
+# it protects.
+#
# To enable 'Sanlock' project based locking of the file
# content (to prevent two VMs writing to the same
# disk), uncomment this

View File

@ -1,8 +1,8 @@
Index: libvirt-0.9.9/tools/Makefile.am Index: libvirt-0.9.10/tools/Makefile.am
=================================================================== ===================================================================
--- libvirt-0.9.9.orig/tools/Makefile.am --- libvirt-0.9.10.orig/tools/Makefile.am
+++ libvirt-0.9.9/tools/Makefile.am +++ libvirt-0.9.10/tools/Makefile.am
@@ -153,24 +153,22 @@ install-data-local: install-init install @@ -182,24 +182,22 @@ install-data-local: install-init install
uninstall-local: uninstall-init uninstall-systemd uninstall-local: uninstall-init uninstall-systemd
install-sysconfig: install-sysconfig:
@ -33,10 +33,10 @@ Index: libvirt-0.9.9/tools/Makefile.am
if LIBVIRT_INIT_SCRIPT_RED_HAT if LIBVIRT_INIT_SCRIPT_RED_HAT
Index: libvirt-0.9.9/tools/libvirt-guests.sysconf Index: libvirt-0.9.10/tools/libvirt-guests.sysconf
=================================================================== ===================================================================
--- libvirt-0.9.9.orig/tools/libvirt-guests.sysconf --- libvirt-0.9.10.orig/tools/libvirt-guests.sysconf
+++ libvirt-0.9.9/tools/libvirt-guests.sysconf +++ libvirt-0.9.10/tools/libvirt-guests.sysconf
@@ -1,18 +1,28 @@ @@ -1,18 +1,28 @@
+## Path: System/Virtualization/libvirt +## Path: System/Virtualization/libvirt
+ +
@ -87,10 +87,10 @@ Index: libvirt-0.9.9/tools/libvirt-guests.sysconf
# If non-zero, try to bypass the file system cache when saving and # If non-zero, try to bypass the file system cache when saving and
# restoring guests, even though this may give slower operation for # restoring guests, even though this may give slower operation for
# some file systems. # some file systems.
Index: libvirt-0.9.9/tools/libvirt-guests.init.sh Index: libvirt-0.9.10/tools/libvirt-guests.init.sh
=================================================================== ===================================================================
--- libvirt-0.9.9.orig/tools/libvirt-guests.init.sh --- libvirt-0.9.10.orig/tools/libvirt-guests.init.sh
+++ libvirt-0.9.9/tools/libvirt-guests.init.sh +++ libvirt-0.9.10/tools/libvirt-guests.init.sh
@@ -4,10 +4,10 @@ @@ -4,10 +4,10 @@
# #
### BEGIN INIT INFO ### BEGIN INIT INFO
@ -233,10 +233,10 @@ Index: libvirt-0.9.9/tools/libvirt-guests.init.sh
esac esac
-exit $RETVAL -exit $RETVAL
+rc_exit +rc_exit
Index: libvirt-0.9.9/daemon/Makefile.am Index: libvirt-0.9.10/daemon/Makefile.am
=================================================================== ===================================================================
--- libvirt-0.9.9.orig/daemon/Makefile.am --- libvirt-0.9.10.orig/daemon/Makefile.am
+++ libvirt-0.9.9/daemon/Makefile.am +++ libvirt-0.9.10/daemon/Makefile.am
@@ -249,34 +249,23 @@ uninstall-logrotate: @@ -249,34 +249,23 @@ uninstall-logrotate:
rmdir $(DESTDIR)$(sysconfdir)/logrotate.d || : rmdir $(DESTDIR)$(sysconfdir)/logrotate.d || :
@ -275,10 +275,10 @@ Index: libvirt-0.9.9/daemon/Makefile.am
else else
install-init-redhat: install-init-redhat:
uninstall-init-redhat: uninstall-init-redhat:
Index: libvirt-0.9.9/daemon/libvirtd.sysconf Index: libvirt-0.9.10/daemon/libvirtd.sysconf
=================================================================== ===================================================================
--- libvirt-0.9.9.orig/daemon/libvirtd.sysconf --- libvirt-0.9.10.orig/daemon/libvirtd.sysconf
+++ libvirt-0.9.9/daemon/libvirtd.sysconf +++ libvirt-0.9.10/daemon/libvirtd.sysconf
@@ -1,16 +1,25 @@ @@ -1,16 +1,25 @@
+## Path: System/Virtualization/libvirt +## Path: System/Virtualization/libvirt
+ +

View File

@ -13,10 +13,10 @@ Date: Wed Jan 27 16:11:41 2010 -0700
This approach allows removing a disk when domain is inactive. We This approach allows removing a disk when domain is inactive. We
obviously can't search xenstore when the domain is inactive. obviously can't search xenstore when the domain is inactive.
Index: libvirt-0.9.9/src/xen/xend_internal.c Index: libvirt-0.9.10/src/xen/xend_internal.c
=================================================================== ===================================================================
--- libvirt-0.9.9.orig/src/xen/xend_internal.c --- libvirt-0.9.10.orig/src/xen/xend_internal.c
+++ libvirt-0.9.9/src/xen/xend_internal.c +++ libvirt-0.9.10/src/xen/xend_internal.c
@@ -60,6 +60,7 @@ @@ -60,6 +60,7 @@
static int static int

View File

@ -1,8 +1,8 @@
Index: libvirt-0.9.9/src/xenxs/xen_sxpr.c Index: libvirt-0.9.10/src/xenxs/xen_sxpr.c
=================================================================== ===================================================================
--- libvirt-0.9.9.orig/src/xenxs/xen_sxpr.c --- libvirt-0.9.10.orig/src/xenxs/xen_sxpr.c
+++ libvirt-0.9.9/src/xenxs/xen_sxpr.c +++ libvirt-0.9.10/src/xenxs/xen_sxpr.c
@@ -329,7 +329,7 @@ error: @@ -340,7 +340,7 @@ error:
static int static int
xenParseSxprDisks(virDomainDefPtr def, xenParseSxprDisks(virDomainDefPtr def,
const struct sexpr *root, const struct sexpr *root,
@ -11,7 +11,7 @@ Index: libvirt-0.9.9/src/xenxs/xen_sxpr.c
int xendConfigVersion) int xendConfigVersion)
{ {
const struct sexpr *cur, *node; const struct sexpr *cur, *node;
@@ -380,7 +380,6 @@ xenParseSxprDisks(virDomainDefPtr def, @@ -391,7 +391,6 @@ xenParseSxprDisks(virDomainDefPtr def,
/* There is a case without the uname to the CD-ROM device */ /* There is a case without the uname to the CD-ROM device */
offset = strchr(dst, ':'); offset = strchr(dst, ':');
if (!offset || if (!offset ||