Compare commits
97
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
e1b7b518ac | ||
|
|
581b5f5022 | ||
|
|
c476c8b683 | ||
|
|
b93eafc59f | ||
|
|
2105d62ca8 | ||
|
|
743adffffe | ||
|
|
11e3b51c0d | ||
|
|
66df925739 | ||
|
|
b20a5c6d3b | ||
|
|
7f58f3aa54 | ||
|
|
6577b14441 | ||
|
|
2e7812764f | ||
|
|
854b878580 | ||
|
|
89c28e4013 | ||
|
|
db269c2d21 | ||
|
|
98e4f7ee9f | ||
|
|
0c4afc5ee9 | ||
|
|
593255292e | ||
|
|
ccafc8ecb4 | ||
|
|
a38fb9cbc1 | ||
|
|
6359121866 | ||
|
|
b20d669e88 | ||
|
|
a3e1cc37ed | ||
|
|
a6eca3382d | ||
|
|
c6c5072e90 | ||
|
|
705fd20a0e | ||
|
|
e0e9927d93 | ||
|
|
bae7a0fb84 | ||
|
|
36aee593bc | ||
|
|
dc0cb0e91a | ||
|
|
84d66312fe | ||
|
|
4f644ce267 | ||
|
|
cdd5b3d62d | ||
|
|
53f63aa62d | ||
|
|
748df35c5f | ||
|
|
a6e23d00fa | ||
|
|
c6d11b43c9 | ||
|
|
83091ff0dd | ||
|
|
4465a63872 | ||
|
|
3f397d9786 | ||
|
|
750aec5507 | ||
|
|
d7c1d3bbc0 | ||
|
|
fa0f21c263 | ||
|
|
afdaf5d354 | ||
|
|
26bba5aea9 | ||
|
|
1a4185bdcc | ||
|
|
6a73119e65 | ||
|
|
1e2f9fce0a | ||
|
|
f5edf79c95 | ||
|
|
b59e64bf44 | ||
|
|
a09fc2658a | ||
|
|
a008fcf27e | ||
|
|
511f6cd625 | ||
|
|
48b90fefc1 | ||
|
|
bc4bbabdf6 | ||
|
|
905627c8fd | ||
|
|
a16d752c10 | ||
|
|
29b1292019 | ||
|
|
f3546be64b | ||
|
|
fb9044931e | ||
|
|
03c5fec4d2 | ||
|
|
ce373a25b6 | ||
|
|
996d0e4709 | ||
|
|
8c01426c44 | ||
|
|
e859f7e59e | ||
|
|
25ea2f59bd | ||
|
|
c80b7f0d5a | ||
|
|
958f1c3dff | ||
|
|
4a8ca1017f | ||
|
|
1e122ee5dc | ||
|
|
6a6307bcdc | ||
|
|
6e8332946a | ||
|
|
982683e56f | ||
|
|
7244d1a339 | ||
|
|
2a3935580c | ||
|
|
28f7f11450 | ||
|
|
ca07bc4597 | ||
|
|
8e23194a2b | ||
|
|
fe09090e2d | ||
|
|
b5868cf8cf | ||
|
|
f294b40ba5 | ||
|
|
c0c1a7bb79 | ||
|
|
1b864048bd | ||
|
|
072c9c45ab | ||
|
|
af111679c3 | ||
|
|
dd9f21eaa2 | ||
|
|
f0e356df98 | ||
|
|
140bcf9ffc | ||
|
|
af69660412 | ||
|
|
6dc94c6252 | ||
|
|
eb34165670 | ||
|
|
7ce08f2148 | ||
|
|
049a8c79d9 | ||
|
|
f7a6d90012 | ||
|
|
67a2f29a89 | ||
|
|
82422fa1ff | ||
|
|
a73cf1d010 |
+9
-1
@@ -3,4 +3,12 @@
|
|||||||
i686
|
i686
|
||||||
x86_64
|
x86_64
|
||||||
libvirt-*.tar.gz
|
libvirt-*.tar.gz
|
||||||
libvirt-0.4.2.tar.gz
|
libvirt-0.6.0.tar.gz
|
||||||
|
libvirt-0.6.1.tar.gz
|
||||||
|
libvirt-0.6.2.tar.gz
|
||||||
|
libvirt-0.6.3.tar.gz
|
||||||
|
libvirt-0.6.4.tar.gz
|
||||||
|
libvirt-0.6.5.tar.gz
|
||||||
|
libvirt-0.7.0-0.1.gitf055724.tar.gz
|
||||||
|
libvirt-0.7.0-0.6.gite195b43.tar.gz
|
||||||
|
libvirt-0.7.0.tar.gz
|
||||||
|
|||||||
@@ -0,0 +1,33 @@
|
|||||||
|
--- src/qemu_conf.c.orig 2009-05-29 19:24:59.000000000 +0200
|
||||||
|
+++ src/qemu_conf.c 2009-05-29 19:19:39.000000000 +0200
|
||||||
|
@@ -792,6 +792,20 @@ int qemudBuildCommandLine(virConnectPtr
|
||||||
|
char uuid[VIR_UUID_STRING_BUFLEN];
|
||||||
|
char domid[50];
|
||||||
|
const char *cpu = NULL;
|
||||||
|
+ int skipSound = 0;
|
||||||
|
+
|
||||||
|
+ if (driver->securityDriver &&
|
||||||
|
+ driver->securityDriver->name &&
|
||||||
|
+ STREQ(driver->securityDriver->name, "selinux") &&
|
||||||
|
+ getuid() == 0) {
|
||||||
|
+ static int soundWarned = 0;
|
||||||
|
+ skipSound = 1;
|
||||||
|
+ if (def->nsounds &&
|
||||||
|
+ !soundWarned) {
|
||||||
|
+ soundWarned = 1;
|
||||||
|
+ VIR_WARN0("Sound cards for VMs are disabled while SELinux security model is active");
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
|
|
||||||
|
uname_normalize(&ut);
|
||||||
|
|
||||||
|
@@ -1429,7 +1443,8 @@ int qemudBuildCommandLine(virConnectPtr
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Add sound hardware */
|
||||||
|
- if (def->nsounds) {
|
||||||
|
+ if (def->nsounds &&
|
||||||
|
+ !skipSound) {
|
||||||
|
int size = 100;
|
||||||
|
char *modstr;
|
||||||
|
if (VIR_ALLOC_N(modstr, size+1) < 0)
|
||||||
@@ -0,0 +1,73 @@
|
|||||||
|
From: Mark McLoughlin <markmc@redhat.com>
|
||||||
|
Subject: [PATCH] chown kernel/initrd before spawning qemu
|
||||||
|
|
||||||
|
If we're running qemu unprivileged, we need to chown any supplied kernel
|
||||||
|
or initrd before spawning it.
|
||||||
|
|
||||||
|
* src/qemu_driver.c: rename qemuDomainSetDiskOwnership() to
|
||||||
|
qemuDomainSetFileOwnership(), pass it a path string instead of a disk
|
||||||
|
definition and use it for chowning the kernel/initrd in
|
||||||
|
qemuDomainSetAllDeviceOwnership()
|
||||||
|
---
|
||||||
|
src/qemu_driver.c | 20 ++++++++++++--------
|
||||||
|
1 files changed, 12 insertions(+), 8 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/src/qemu_driver.c b/src/qemu_driver.c
|
||||||
|
index 412b68d..bd58435 100644
|
||||||
|
--- a/src/qemu_driver.c
|
||||||
|
+++ b/src/qemu_driver.c
|
||||||
|
@@ -1684,18 +1684,18 @@ static int qemuDomainSetHostdevOwnership(virConnectPtr conn,
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
-static int qemuDomainSetDiskOwnership(virConnectPtr conn,
|
||||||
|
- virDomainDiskDefPtr def,
|
||||||
|
+static int qemuDomainSetFileOwnership(virConnectPtr conn,
|
||||||
|
+ const char *path,
|
||||||
|
uid_t uid, gid_t gid)
|
||||||
|
{
|
||||||
|
|
||||||
|
- if (!def->src)
|
||||||
|
+ if (!path)
|
||||||
|
return 0;
|
||||||
|
|
||||||
|
- VIR_DEBUG("Setting ownership on %s to %d:%d", def->src, uid, gid);
|
||||||
|
- if (chown(def->src, uid, gid) < 0) {
|
||||||
|
+ VIR_DEBUG("Setting ownership on %s to %d:%d", path, uid, gid);
|
||||||
|
+ if (chown(path, uid, gid) < 0) {
|
||||||
|
virReportSystemError(conn, errno, _("cannot set ownership on %s"),
|
||||||
|
- def->src);
|
||||||
|
+ path);
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
return 0;
|
||||||
|
@@ -1725,7 +1725,7 @@ static int qemuDomainSetDeviceOwnership(virConnectPtr conn,
|
||||||
|
(def->data.disk->readonly || def->data.disk->shared))
|
||||||
|
return 0;
|
||||||
|
|
||||||
|
- return qemuDomainSetDiskOwnership(conn, def->data.disk, uid, gid);
|
||||||
|
+ return qemuDomainSetFileOwnership(conn, def->data.disk->src, uid, gid);
|
||||||
|
|
||||||
|
case VIR_DOMAIN_DEVICE_HOSTDEV:
|
||||||
|
return qemuDomainSetHostdevOwnership(conn, def->data.hostdev, uid, gid);
|
||||||
|
@@ -1753,12 +1753,16 @@ static int qemuDomainSetAllDeviceOwnership(virConnectPtr conn,
|
||||||
|
uid = restore ? 0 : driver->user;
|
||||||
|
gid = restore ? 0 : driver->group;
|
||||||
|
|
||||||
|
+ if (qemuDomainSetFileOwnership(conn, def->os.kernel, uid, gid) < 0 ||
|
||||||
|
+ qemuDomainSetFileOwnership(conn, def->os.initrd, uid, gid) < 0)
|
||||||
|
+ return -1;
|
||||||
|
+
|
||||||
|
for (i = 0 ; i < def->ndisks ; i++) {
|
||||||
|
if (restore &&
|
||||||
|
(def->disks[i]->readonly || def->disks[i]->shared))
|
||||||
|
continue;
|
||||||
|
|
||||||
|
- if (qemuDomainSetDiskOwnership(conn, def->disks[i], uid, gid) < 0)
|
||||||
|
+ if (qemuDomainSetFileOwnership(conn, def->disks[i]->src, uid, gid) < 0)
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
--
|
||||||
|
1.6.2.5
|
||||||
|
|
||||||
@@ -0,0 +1,39 @@
|
|||||||
|
From: Mark McLoughlin <markmc@redhat.com>
|
||||||
|
Subject: [PATCH] Handle kernels with no ipv6 support
|
||||||
|
|
||||||
|
If the ipv6 kernel module is not loaded, then we get this when starting
|
||||||
|
a virtual network:
|
||||||
|
|
||||||
|
libvir: Network Config error :
|
||||||
|
cannot enable /proc/sys/net/ipv6/conf/virbr0/disable_ipv6:
|
||||||
|
No such file or directory
|
||||||
|
|
||||||
|
If disable_ipv6 is not present, we should just merrily continue on our
|
||||||
|
way.
|
||||||
|
|
||||||
|
* src/network_driver.c: make networkDisableIPV6() not fail if the kernel
|
||||||
|
has no ipv6 support
|
||||||
|
---
|
||||||
|
src/network_driver.c | 6 ++++++
|
||||||
|
1 files changed, 6 insertions(+), 0 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/src/network_driver.c b/src/network_driver.c
|
||||||
|
index eaea454..84910ab 100644
|
||||||
|
--- a/src/network_driver.c
|
||||||
|
+++ b/src/network_driver.c
|
||||||
|
@@ -801,6 +801,12 @@ static int networkDisableIPV6(virConnectPtr conn,
|
||||||
|
goto cleanup;
|
||||||
|
}
|
||||||
|
|
||||||
|
+ if (access(field, W_OK) < 0 && errno == ENOENT) {
|
||||||
|
+ VIR_DEBUG("ipv6 appears to already be disabled on %s", network->def->bridge);
|
||||||
|
+ ret = 0;
|
||||||
|
+ goto cleanup;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
if (virFileWriteStr(field, "1") < 0) {
|
||||||
|
virReportSystemError(conn, errno,
|
||||||
|
_("cannot enable %s"), field);
|
||||||
|
--
|
||||||
|
1.6.2.5
|
||||||
|
|
||||||
@@ -0,0 +1,85 @@
|
|||||||
|
commit 19bac57b26c2d46ac8a7601158f210f34acdceac
|
||||||
|
Author: Daniel P. Berrange <berrange@redhat.com>
|
||||||
|
Date: Thu Aug 13 11:56:31 2009 +0100
|
||||||
|
|
||||||
|
Make LXC / UML drivers robust against NUMA topology brokenness
|
||||||
|
|
||||||
|
Some kernel versions expose broken NUMA topology for some machines.
|
||||||
|
This causes the LXC/UML drivers to fail to start. QEMU driver was
|
||||||
|
already fixed for this problem
|
||||||
|
|
||||||
|
* src/lxc_conf.c: Log and ignore failure to populate NUMA info
|
||||||
|
* src/uml_conf.c: Log and ignore failure to populate NUMA info
|
||||||
|
* src/capabilities.c: Reset nnumaCell to 0 after freeing
|
||||||
|
|
||||||
|
diff --git a/src/capabilities.c b/src/capabilities.c
|
||||||
|
index c6766b6..193a9fe 100644
|
||||||
|
--- a/src/capabilities.c
|
||||||
|
+++ b/src/capabilities.c
|
||||||
|
@@ -139,6 +139,7 @@ virCapabilitiesFreeNUMAInfo(virCapsPtr caps)
|
||||||
|
for (i = 0 ; i < caps->host.nnumaCell ; i++)
|
||||||
|
virCapabilitiesFreeHostNUMACell(caps->host.numaCell[i]);
|
||||||
|
VIR_FREE(caps->host.numaCell);
|
||||||
|
+ caps->host.nnumaCell = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
diff --git a/src/lxc_conf.c b/src/lxc_conf.c
|
||||||
|
index d06a024..fef60ba 100644
|
||||||
|
--- a/src/lxc_conf.c
|
||||||
|
+++ b/src/lxc_conf.c
|
||||||
|
@@ -30,6 +30,8 @@
|
||||||
|
#include "lxc_conf.h"
|
||||||
|
#include "nodeinfo.h"
|
||||||
|
#include "virterror_internal.h"
|
||||||
|
+#include "logging.h"
|
||||||
|
+
|
||||||
|
|
||||||
|
#define VIR_FROM_THIS VIR_FROM_LXC
|
||||||
|
|
||||||
|
@@ -46,8 +48,14 @@ virCapsPtr lxcCapsInit(void)
|
||||||
|
0, 0)) == NULL)
|
||||||
|
goto no_memory;
|
||||||
|
|
||||||
|
- if (nodeCapsInitNUMA(caps) < 0)
|
||||||
|
- goto no_memory;
|
||||||
|
+ /* Some machines have problematic NUMA toplogy causing
|
||||||
|
+ * unexpected failures. We don't want to break the QEMU
|
||||||
|
+ * driver in this scenario, so log errors & carry on
|
||||||
|
+ */
|
||||||
|
+ if (nodeCapsInitNUMA(caps) < 0) {
|
||||||
|
+ virCapabilitiesFreeNUMAInfo(caps);
|
||||||
|
+ VIR_WARN0("Failed to query host NUMA topology, disabling NUMA capabilities");
|
||||||
|
+ }
|
||||||
|
|
||||||
|
/* XXX shouldn't 'borrow' KVM's prefix */
|
||||||
|
virCapabilitiesSetMacPrefix(caps, (unsigned char []){ 0x52, 0x54, 0x00 });
|
||||||
|
diff --git a/src/uml_conf.c b/src/uml_conf.c
|
||||||
|
index 48e05a8..4f756d4 100644
|
||||||
|
--- a/src/uml_conf.c
|
||||||
|
+++ b/src/uml_conf.c
|
||||||
|
@@ -45,6 +45,7 @@
|
||||||
|
#include "nodeinfo.h"
|
||||||
|
#include "verify.h"
|
||||||
|
#include "bridge.h"
|
||||||
|
+#include "logging.h"
|
||||||
|
|
||||||
|
#define VIR_FROM_THIS VIR_FROM_UML
|
||||||
|
|
||||||
|
@@ -63,8 +64,14 @@ virCapsPtr umlCapsInit(void) {
|
||||||
|
0, 0)) == NULL)
|
||||||
|
goto no_memory;
|
||||||
|
|
||||||
|
- if (nodeCapsInitNUMA(caps) < 0)
|
||||||
|
- goto no_memory;
|
||||||
|
+ /* Some machines have problematic NUMA toplogy causing
|
||||||
|
+ * unexpected failures. We don't want to break the QEMU
|
||||||
|
+ * driver in this scenario, so log errors & carry on
|
||||||
|
+ */
|
||||||
|
+ if (nodeCapsInitNUMA(caps) < 0) {
|
||||||
|
+ virCapabilitiesFreeNUMAInfo(caps);
|
||||||
|
+ VIR_WARN0("Failed to query host NUMA topology, disabling NUMA capabilities");
|
||||||
|
+ }
|
||||||
|
|
||||||
|
if ((guest = virCapabilitiesAddGuest(caps,
|
||||||
|
"uml",
|
||||||
@@ -0,0 +1,469 @@
|
|||||||
|
diff -rupN libvirt-0.7.0/configure.in libvirt-0.7.0.new/configure.in
|
||||||
|
--- libvirt-0.7.0/configure.in 2009-08-05 08:53:49.000000000 -0400
|
||||||
|
+++ libvirt-0.7.0.new/configure.in 2009-08-13 08:37:22.393897620 -0400
|
||||||
|
@@ -641,40 +641,61 @@ AC_SUBST([SASL_LIBS])
|
||||||
|
dnl PolicyKit library
|
||||||
|
POLKIT_CFLAGS=
|
||||||
|
POLKIT_LIBS=
|
||||||
|
+PKCHECK_PATH=
|
||||||
|
AC_ARG_WITH([polkit],
|
||||||
|
[ --with-polkit use PolicyKit for UNIX socket access checks],
|
||||||
|
[],
|
||||||
|
[with_polkit=check])
|
||||||
|
|
||||||
|
+with_polkit0=no
|
||||||
|
+with_polkit1=no
|
||||||
|
if test "x$with_polkit" = "xyes" -o "x$with_polkit" = "xcheck"; then
|
||||||
|
- PKG_CHECK_MODULES(POLKIT, polkit-dbus >= $POLKIT_REQUIRED,
|
||||||
|
- [with_polkit=yes], [
|
||||||
|
- if test "x$with_polkit" = "xcheck" ; then
|
||||||
|
- with_polkit=no
|
||||||
|
- else
|
||||||
|
- AC_MSG_ERROR(
|
||||||
|
- [You must install PolicyKit >= $POLKIT_REQUIRED to compile libvirt])
|
||||||
|
- fi
|
||||||
|
- ])
|
||||||
|
- if test "x$with_polkit" = "xyes" ; then
|
||||||
|
+ dnl Check for new polkit first - just a binary
|
||||||
|
+ AC_PATH_PROG([PKCHECK_PATH],[pkcheck], [], [/usr/sbin:$PATH])
|
||||||
|
+ if test "x$PKCHECK_PATH" != "x" ; then
|
||||||
|
+ AC_DEFINE_UNQUOTED([PKCHECK_PATH],["$PKCHECK_PATH"],[Location of pkcheck program])
|
||||||
|
AC_DEFINE_UNQUOTED([HAVE_POLKIT], 1,
|
||||||
|
- [use PolicyKit for UNIX socket access checks])
|
||||||
|
-
|
||||||
|
- old_CFLAGS=$CFLAGS
|
||||||
|
- old_LDFLAGS=$LDFLAGS
|
||||||
|
- CFLAGS="$CFLAGS $POLKIT_CFLAGS"
|
||||||
|
- LDFLAGS="$LDFLAGS $POLKIT_LIBS"
|
||||||
|
- AC_CHECK_FUNCS([polkit_context_is_caller_authorized])
|
||||||
|
- CFLAGS="$old_CFLAGS"
|
||||||
|
- LDFLAGS="$old_LDFLAGS"
|
||||||
|
-
|
||||||
|
- AC_PATH_PROG([POLKIT_AUTH], [polkit-auth])
|
||||||
|
- if test "x$POLKIT_AUTH" != "x"; then
|
||||||
|
- AC_DEFINE_UNQUOTED([POLKIT_AUTH],["$POLKIT_AUTH"],[Location of polkit-auth program])
|
||||||
|
+ [use PolicyKit for UNIX socket access checks])
|
||||||
|
+ AC_DEFINE_UNQUOTED([HAVE_POLKIT1], 1,
|
||||||
|
+ [use PolicyKit for UNIX socket access checks])
|
||||||
|
+ with_polkit="yes"
|
||||||
|
+ with_polkit1="yes"
|
||||||
|
+ else
|
||||||
|
+ dnl Check for old polkit second - library + binary
|
||||||
|
+ PKG_CHECK_MODULES(POLKIT, polkit-dbus >= $POLKIT_REQUIRED,
|
||||||
|
+ [with_polkit=yes], [
|
||||||
|
+ if test "x$with_polkit" = "xcheck" ; then
|
||||||
|
+ with_polkit=no
|
||||||
|
+ else
|
||||||
|
+ AC_MSG_ERROR(
|
||||||
|
+ [You must install PolicyKit >= $POLKIT_REQUIRED to compile libvirt])
|
||||||
|
+ fi
|
||||||
|
+ ])
|
||||||
|
+ if test "x$with_polkit" = "xyes" ; then
|
||||||
|
+ AC_DEFINE_UNQUOTED([HAVE_POLKIT], 1,
|
||||||
|
+ [use PolicyKit for UNIX socket access checks])
|
||||||
|
+ AC_DEFINE_UNQUOTED([HAVE_POLKIT0], 1,
|
||||||
|
+ [use PolicyKit for UNIX socket access checks])
|
||||||
|
+
|
||||||
|
+ old_CFLAGS=$CFLAGS
|
||||||
|
+ old_LDFLAGS=$LDFLAGS
|
||||||
|
+ CFLAGS="$CFLAGS $POLKIT_CFLAGS"
|
||||||
|
+ LDFLAGS="$LDFLAGS $POLKIT_LIBS"
|
||||||
|
+ AC_CHECK_FUNCS([polkit_context_is_caller_authorized])
|
||||||
|
+ CFLAGS="$old_CFLAGS"
|
||||||
|
+ LDFLAGS="$old_LDFLAGS"
|
||||||
|
+
|
||||||
|
+ AC_PATH_PROG([POLKIT_AUTH], [polkit-auth])
|
||||||
|
+ if test "x$POLKIT_AUTH" != "x"; then
|
||||||
|
+ AC_DEFINE_UNQUOTED([POLKIT_AUTH],["$POLKIT_AUTH"],[Location of polkit-auth program])
|
||||||
|
+ fi
|
||||||
|
+ with_polkit0="yes"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
AM_CONDITIONAL([HAVE_POLKIT], [test "x$with_polkit" = "xyes"])
|
||||||
|
+AM_CONDITIONAL([HAVE_POLKIT0], [test "x$with_polkit0" = "xyes"])
|
||||||
|
+AM_CONDITIONAL([HAVE_POLKIT1], [test "x$with_polkit1" = "xyes"])
|
||||||
|
AC_SUBST([POLKIT_CFLAGS])
|
||||||
|
AC_SUBST([POLKIT_LIBS])
|
||||||
|
|
||||||
|
@@ -1695,7 +1716,11 @@ else
|
||||||
|
AC_MSG_NOTICE([ avahi: no])
|
||||||
|
fi
|
||||||
|
if test "$with_polkit" = "yes" ; then
|
||||||
|
-AC_MSG_NOTICE([ polkit: $POLKIT_CFLAGS $POLKIT_LIBS])
|
||||||
|
+if test "$with_polkit0" = "yes" ; then
|
||||||
|
+AC_MSG_NOTICE([ polkit: $POLKIT_CFLAGS $POLKIT_LIBS (version 0)])
|
||||||
|
+else
|
||||||
|
+AC_MSG_NOTICE([ polkit: $PKCHECK_PATH (version 1)])
|
||||||
|
+fi
|
||||||
|
else
|
||||||
|
AC_MSG_NOTICE([ polkit: no])
|
||||||
|
fi
|
||||||
|
diff -rupN libvirt-0.7.0/qemud/libvirtd.policy libvirt-0.7.0.new/qemud/libvirtd.policy
|
||||||
|
--- libvirt-0.7.0/qemud/libvirtd.policy 2009-07-22 09:37:32.000000000 -0400
|
||||||
|
+++ libvirt-0.7.0.new/qemud/libvirtd.policy 1969-12-31 19:00:00.000000000 -0500
|
||||||
|
@@ -1,42 +0,0 @@
|
||||||
|
-<!DOCTYPE policyconfig PUBLIC
|
||||||
|
- "-//freedesktop//DTD PolicyKit Policy Configuration 1.0//EN"
|
||||||
|
- "http://www.freedesktop.org/standards/PolicyKit/1.0/policyconfig.dtd">
|
||||||
|
-
|
||||||
|
-<!--
|
||||||
|
-Policy definitions for libvirt daemon
|
||||||
|
-
|
||||||
|
-Copyright (c) 2007 Daniel P. Berrange <berrange redhat com>
|
||||||
|
-
|
||||||
|
-libvirt is licensed to you under the GNU Lesser General Public License
|
||||||
|
-version 2. See COPYING for details.
|
||||||
|
-
|
||||||
|
-NOTE: If you make changes to this file, make sure to validate the file
|
||||||
|
-using the polkit-policy-file-validate(1) tool. Changes made to this
|
||||||
|
-file are instantly applied.
|
||||||
|
--->
|
||||||
|
-
|
||||||
|
-<policyconfig>
|
||||||
|
- <action id="org.libvirt.unix.monitor">
|
||||||
|
- <description>Monitor local virtualized systems</description>
|
||||||
|
- <message>System policy prevents monitoring of local virtualized systems</message>
|
||||||
|
- <defaults>
|
||||||
|
- <!-- Any program can use libvirt in read-only mode for monitoring,
|
||||||
|
- even if not part of a session -->
|
||||||
|
- <allow_any>yes</allow_any>
|
||||||
|
- <allow_inactive>yes</allow_inactive>
|
||||||
|
- <allow_active>yes</allow_active>
|
||||||
|
- </defaults>
|
||||||
|
- </action>
|
||||||
|
-
|
||||||
|
- <action id="org.libvirt.unix.manage">
|
||||||
|
- <description>Manage local virtualized systems</description>
|
||||||
|
- <message>System policy prevents management of local virtualized systems</message>
|
||||||
|
- <defaults>
|
||||||
|
- <!-- Only a program in the active host session can use libvirt in
|
||||||
|
- read-write mode for management, and we require user password -->
|
||||||
|
- <allow_any>no</allow_any>
|
||||||
|
- <allow_inactive>no</allow_inactive>
|
||||||
|
- <allow_active>auth_admin_keep_session</allow_active>
|
||||||
|
- </defaults>
|
||||||
|
- </action>
|
||||||
|
-</policyconfig>
|
||||||
|
diff -rupN libvirt-0.7.0/qemud/libvirtd.policy-0 libvirt-0.7.0.new/qemud/libvirtd.policy-0
|
||||||
|
--- libvirt-0.7.0/qemud/libvirtd.policy-0 1969-12-31 19:00:00.000000000 -0500
|
||||||
|
+++ libvirt-0.7.0.new/qemud/libvirtd.policy-0 2009-08-13 08:37:22.408883879 -0400
|
||||||
|
@@ -0,0 +1,42 @@
|
||||||
|
+<!DOCTYPE policyconfig PUBLIC
|
||||||
|
+ "-//freedesktop//DTD PolicyKit Policy Configuration 1.0//EN"
|
||||||
|
+ "http://www.freedesktop.org/standards/PolicyKit/1.0/policyconfig.dtd">
|
||||||
|
+
|
||||||
|
+<!--
|
||||||
|
+Policy definitions for libvirt daemon
|
||||||
|
+
|
||||||
|
+Copyright (c) 2007 Daniel P. Berrange <berrange redhat com>
|
||||||
|
+
|
||||||
|
+libvirt is licensed to you under the GNU Lesser General Public License
|
||||||
|
+version 2. See COPYING for details.
|
||||||
|
+
|
||||||
|
+NOTE: If you make changes to this file, make sure to validate the file
|
||||||
|
+using the polkit-policy-file-validate(1) tool. Changes made to this
|
||||||
|
+file are instantly applied.
|
||||||
|
+-->
|
||||||
|
+
|
||||||
|
+<policyconfig>
|
||||||
|
+ <action id="org.libvirt.unix.monitor">
|
||||||
|
+ <description>Monitor local virtualized systems</description>
|
||||||
|
+ <message>System policy prevents monitoring of local virtualized systems</message>
|
||||||
|
+ <defaults>
|
||||||
|
+ <!-- Any program can use libvirt in read-only mode for monitoring,
|
||||||
|
+ even if not part of a session -->
|
||||||
|
+ <allow_any>yes</allow_any>
|
||||||
|
+ <allow_inactive>yes</allow_inactive>
|
||||||
|
+ <allow_active>yes</allow_active>
|
||||||
|
+ </defaults>
|
||||||
|
+ </action>
|
||||||
|
+
|
||||||
|
+ <action id="org.libvirt.unix.manage">
|
||||||
|
+ <description>Manage local virtualized systems</description>
|
||||||
|
+ <message>System policy prevents management of local virtualized systems</message>
|
||||||
|
+ <defaults>
|
||||||
|
+ <!-- Only a program in the active host session can use libvirt in
|
||||||
|
+ read-write mode for management, and we require user password -->
|
||||||
|
+ <allow_any>no</allow_any>
|
||||||
|
+ <allow_inactive>no</allow_inactive>
|
||||||
|
+ <allow_active>auth_admin_keep_session</allow_active>
|
||||||
|
+ </defaults>
|
||||||
|
+ </action>
|
||||||
|
+</policyconfig>
|
||||||
|
diff -rupN libvirt-0.7.0/qemud/libvirtd.policy-1 libvirt-0.7.0.new/qemud/libvirtd.policy-1
|
||||||
|
--- libvirt-0.7.0/qemud/libvirtd.policy-1 1969-12-31 19:00:00.000000000 -0500
|
||||||
|
+++ libvirt-0.7.0.new/qemud/libvirtd.policy-1 2009-08-13 08:37:22.412905763 -0400
|
||||||
|
@@ -0,0 +1,42 @@
|
||||||
|
+<!DOCTYPE policyconfig PUBLIC
|
||||||
|
+ "-//freedesktop//DTD PolicyKit Policy Configuration 1.0//EN"
|
||||||
|
+ "http://www.freedesktop.org/standards/PolicyKit/1.0/policyconfig.dtd">
|
||||||
|
+
|
||||||
|
+<!--
|
||||||
|
+Policy definitions for libvirt daemon
|
||||||
|
+
|
||||||
|
+Copyright (c) 2007 Daniel P. Berrange <berrange redhat com>
|
||||||
|
+
|
||||||
|
+libvirt is licensed to you under the GNU Lesser General Public License
|
||||||
|
+version 2. See COPYING for details.
|
||||||
|
+
|
||||||
|
+NOTE: If you make changes to this file, make sure to validate the file
|
||||||
|
+using the polkit-policy-file-validate(1) tool. Changes made to this
|
||||||
|
+file are instantly applied.
|
||||||
|
+-->
|
||||||
|
+
|
||||||
|
+<policyconfig>
|
||||||
|
+ <action id="org.libvirt.unix.monitor">
|
||||||
|
+ <description>Monitor local virtualized systems</description>
|
||||||
|
+ <message>System policy prevents monitoring of local virtualized systems</message>
|
||||||
|
+ <defaults>
|
||||||
|
+ <!-- Any program can use libvirt in read-only mode for monitoring,
|
||||||
|
+ even if not part of a session -->
|
||||||
|
+ <allow_any>yes</allow_any>
|
||||||
|
+ <allow_inactive>yes</allow_inactive>
|
||||||
|
+ <allow_active>yes</allow_active>
|
||||||
|
+ </defaults>
|
||||||
|
+ </action>
|
||||||
|
+
|
||||||
|
+ <action id="org.libvirt.unix.manage">
|
||||||
|
+ <description>Manage local virtualized systems</description>
|
||||||
|
+ <message>System policy prevents management of local virtualized systems</message>
|
||||||
|
+ <defaults>
|
||||||
|
+ <!-- Only a program in the active host session can use libvirt in
|
||||||
|
+ read-write mode for management, and we require user password -->
|
||||||
|
+ <allow_any>no</allow_any>
|
||||||
|
+ <allow_inactive>no</allow_inactive>
|
||||||
|
+ <allow_active>auth_admin_keep</allow_active>
|
||||||
|
+ </defaults>
|
||||||
|
+ </action>
|
||||||
|
+</policyconfig>
|
||||||
|
diff -rupN libvirt-0.7.0/qemud/Makefile.am libvirt-0.7.0.new/qemud/Makefile.am
|
||||||
|
--- libvirt-0.7.0/qemud/Makefile.am 2009-07-22 09:37:32.000000000 -0400
|
||||||
|
+++ libvirt-0.7.0.new/qemud/Makefile.am 2009-08-13 08:37:22.398915449 -0400
|
||||||
|
@@ -21,7 +21,8 @@ EXTRA_DIST = \
|
||||||
|
remote_protocol.x \
|
||||||
|
libvirtd.conf \
|
||||||
|
libvirtd.init.in \
|
||||||
|
- libvirtd.policy \
|
||||||
|
+ libvirtd.policy-0 \
|
||||||
|
+ libvirtd.policy-1 \
|
||||||
|
libvirtd.sasl \
|
||||||
|
libvirtd.sysconf \
|
||||||
|
libvirtd.aug \
|
||||||
|
@@ -147,7 +148,13 @@ endif
|
||||||
|
libvirtd_LDADD += ../src/libvirt.la
|
||||||
|
|
||||||
|
if HAVE_POLKIT
|
||||||
|
+if HAVE_POLKIT0
|
||||||
|
policydir = $(datadir)/PolicyKit/policy
|
||||||
|
+policyfile = libvirtd.policy-0
|
||||||
|
+else
|
||||||
|
+policydir = $(datadir)/polkit-1/actions
|
||||||
|
+policyfile = libvirtd.policy-1
|
||||||
|
+endif
|
||||||
|
endif
|
||||||
|
|
||||||
|
if HAVE_AVAHI
|
||||||
|
@@ -197,7 +204,7 @@ endif
|
||||||
|
if HAVE_POLKIT
|
||||||
|
install-data-polkit:: install-init
|
||||||
|
mkdir -p $(DESTDIR)$(policydir)
|
||||||
|
- $(INSTALL_DATA) $(srcdir)/libvirtd.policy $(DESTDIR)$(policydir)/org.libvirt.unix.policy
|
||||||
|
+ $(INSTALL_DATA) $(srcdir)/$(policyfile) $(DESTDIR)$(policydir)/org.libvirt.unix.policy
|
||||||
|
uninstall-data-polkit:: install-init
|
||||||
|
rm -f $(DESTDIR)$(policydir)/org.libvirt.unix.policy
|
||||||
|
else
|
||||||
|
diff -rupN libvirt-0.7.0/qemud/qemud.c libvirt-0.7.0.new/qemud/qemud.c
|
||||||
|
--- libvirt-0.7.0/qemud/qemud.c 2009-07-22 09:37:32.000000000 -0400
|
||||||
|
+++ libvirt-0.7.0.new/qemud/qemud.c 2009-08-13 08:37:22.419878018 -0400
|
||||||
|
@@ -895,7 +895,7 @@ static struct qemud_server *qemudNetwork
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
-#ifdef HAVE_POLKIT
|
||||||
|
+#if HAVE_POLKIT0
|
||||||
|
if (auth_unix_rw == REMOTE_AUTH_POLKIT ||
|
||||||
|
auth_unix_ro == REMOTE_AUTH_POLKIT) {
|
||||||
|
DBusError derr;
|
||||||
|
@@ -982,7 +982,7 @@ static struct qemud_server *qemudNetwork
|
||||||
|
sock = sock->next;
|
||||||
|
}
|
||||||
|
|
||||||
|
-#ifdef HAVE_POLKIT
|
||||||
|
+#if HAVE_POLKIT0
|
||||||
|
if (server->sysbus)
|
||||||
|
dbus_connection_unref(server->sysbus);
|
||||||
|
#endif
|
||||||
|
diff -rupN libvirt-0.7.0/qemud/qemud.h libvirt-0.7.0.new/qemud/qemud.h
|
||||||
|
--- libvirt-0.7.0/qemud/qemud.h 2009-07-23 12:33:02.000000000 -0400
|
||||||
|
+++ libvirt-0.7.0.new/qemud/qemud.h 2009-08-13 08:37:22.425909852 -0400
|
||||||
|
@@ -34,7 +34,7 @@
|
||||||
|
#include <sasl/sasl.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
-#ifdef HAVE_POLKIT
|
||||||
|
+#if HAVE_POLKIT0
|
||||||
|
#include <dbus/dbus.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
@@ -253,7 +253,7 @@ struct qemud_server {
|
||||||
|
#if HAVE_SASL
|
||||||
|
char **saslUsernameWhitelist;
|
||||||
|
#endif
|
||||||
|
-#if HAVE_POLKIT
|
||||||
|
+#if HAVE_POLKIT0
|
||||||
|
DBusConnection *sysbus;
|
||||||
|
#endif
|
||||||
|
};
|
||||||
|
diff -rupN libvirt-0.7.0/qemud/remote.c libvirt-0.7.0.new/qemud/remote.c
|
||||||
|
--- libvirt-0.7.0/qemud/remote.c 2009-07-23 12:33:02.000000000 -0400
|
||||||
|
+++ libvirt-0.7.0.new/qemud/remote.c 2009-08-13 08:37:22.431865087 -0400
|
||||||
|
@@ -43,7 +43,7 @@
|
||||||
|
#include <fnmatch.h>
|
||||||
|
#include "virterror_internal.h"
|
||||||
|
|
||||||
|
-#ifdef HAVE_POLKIT
|
||||||
|
+#if HAVE_POLKIT0
|
||||||
|
#include <polkit/polkit.h>
|
||||||
|
#include <polkit-dbus/polkit-dbus.h>
|
||||||
|
#endif
|
||||||
|
@@ -3106,7 +3106,80 @@ remoteDispatchAuthSaslStep (struct qemud
|
||||||
|
#endif /* HAVE_SASL */
|
||||||
|
|
||||||
|
|
||||||
|
-#if HAVE_POLKIT
|
||||||
|
+#if HAVE_POLKIT1
|
||||||
|
+static int
|
||||||
|
+remoteDispatchAuthPolkit (struct qemud_server *server,
|
||||||
|
+ struct qemud_client *client,
|
||||||
|
+ virConnectPtr conn ATTRIBUTE_UNUSED,
|
||||||
|
+ remote_error *rerr,
|
||||||
|
+ void *args ATTRIBUTE_UNUSED,
|
||||||
|
+ remote_auth_polkit_ret *ret)
|
||||||
|
+{
|
||||||
|
+ pid_t callerPid;
|
||||||
|
+ uid_t callerUid;
|
||||||
|
+ const char *action;
|
||||||
|
+ int status = -1;
|
||||||
|
+ char pidbuf[50];
|
||||||
|
+ int rv;
|
||||||
|
+
|
||||||
|
+ virMutexLock(&server->lock);
|
||||||
|
+ virMutexLock(&client->lock);
|
||||||
|
+ virMutexUnlock(&server->lock);
|
||||||
|
+
|
||||||
|
+ action = client->readonly ?
|
||||||
|
+ "org.libvirt.unix.monitor" :
|
||||||
|
+ "org.libvirt.unix.manage";
|
||||||
|
+
|
||||||
|
+ const char * const pkcheck [] = {
|
||||||
|
+ PKCHECK_PATH,
|
||||||
|
+ "--action-id", action,
|
||||||
|
+ "--process", pidbuf,
|
||||||
|
+ "--allow-user-interaction",
|
||||||
|
+ NULL
|
||||||
|
+ };
|
||||||
|
+
|
||||||
|
+ REMOTE_DEBUG("Start PolicyKit auth %d", client->fd);
|
||||||
|
+ if (client->auth != REMOTE_AUTH_POLKIT) {
|
||||||
|
+ VIR_ERROR0(_("client tried invalid PolicyKit init request"));
|
||||||
|
+ goto authfail;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ if (qemudGetSocketIdentity(client->fd, &callerUid, &callerPid) < 0) {
|
||||||
|
+ VIR_ERROR0(_("cannot get peer socket identity"));
|
||||||
|
+ goto authfail;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ VIR_INFO(_("Checking PID %d running as %d"), callerPid, callerUid);
|
||||||
|
+
|
||||||
|
+ rv = snprintf(pidbuf, sizeof pidbuf, "%d", callerPid);
|
||||||
|
+ if (rv < 0 || rv >= sizeof pidbuf) {
|
||||||
|
+ VIR_ERROR(_("Caller PID was too large %d"), callerPid);
|
||||||
|
+ goto authfail;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ if (virRun(NULL, pkcheck, &status) < 0) {
|
||||||
|
+ VIR_ERROR(_("Cannot invoke %s"), PKCHECK_PATH);
|
||||||
|
+ goto authfail;
|
||||||
|
+ }
|
||||||
|
+ if (status != 0) {
|
||||||
|
+ VIR_ERROR(_("Policy kit denied action %s from pid %d, uid %d, result: %d\n"),
|
||||||
|
+ action, callerPid, callerUid, status);
|
||||||
|
+ goto authfail;
|
||||||
|
+ }
|
||||||
|
+ VIR_INFO(_("Policy allowed action %s from pid %d, uid %d"),
|
||||||
|
+ action, callerPid, callerUid);
|
||||||
|
+ ret->complete = 1;
|
||||||
|
+ client->auth = REMOTE_AUTH_NONE;
|
||||||
|
+
|
||||||
|
+ virMutexUnlock(&client->lock);
|
||||||
|
+ return 0;
|
||||||
|
+
|
||||||
|
+authfail:
|
||||||
|
+ remoteDispatchAuthError(rerr);
|
||||||
|
+ virMutexUnlock(&client->lock);
|
||||||
|
+ return -1;
|
||||||
|
+}
|
||||||
|
+#elif HAVE_POLKIT0
|
||||||
|
static int
|
||||||
|
remoteDispatchAuthPolkit (struct qemud_server *server,
|
||||||
|
struct qemud_client *client,
|
||||||
|
@@ -3217,7 +3290,7 @@ authfail:
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
-#else /* HAVE_POLKIT */
|
||||||
|
+#else /* !HAVE_POLKIT0 & !HAVE_POLKIT1*/
|
||||||
|
|
||||||
|
static int
|
||||||
|
remoteDispatchAuthPolkit (struct qemud_server *server ATTRIBUTE_UNUSED,
|
||||||
|
@@ -3231,7 +3304,7 @@ remoteDispatchAuthPolkit (struct qemud_s
|
||||||
|
remoteDispatchAuthError(rerr);
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
-#endif /* HAVE_POLKIT */
|
||||||
|
+#endif /* HAVE_POLKIT1 */
|
||||||
|
|
||||||
|
|
||||||
|
/***************************************************************
|
||||||
|
diff -rupN libvirt-0.7.0/src/remote_internal.c libvirt-0.7.0.new/src/remote_internal.c
|
||||||
|
--- libvirt-0.7.0/src/remote_internal.c 2009-07-29 10:42:15.000000000 -0400
|
||||||
|
+++ libvirt-0.7.0.new/src/remote_internal.c 2009-08-13 10:55:57.607899170 -0400
|
||||||
|
@@ -6201,6 +6201,7 @@ remoteAuthPolkit (virConnectPtr conn, st
|
||||||
|
virConnectAuthPtr auth)
|
||||||
|
{
|
||||||
|
remote_auth_polkit_ret ret;
|
||||||
|
+#if HAVE_POLKIT0
|
||||||
|
int i, allowcb = 0;
|
||||||
|
virConnectCredential cred = {
|
||||||
|
VIR_CRED_EXTERNAL,
|
||||||
|
@@ -6210,8 +6211,10 @@ remoteAuthPolkit (virConnectPtr conn, st
|
||||||
|
NULL,
|
||||||
|
0,
|
||||||
|
};
|
||||||
|
+#endif
|
||||||
|
DEBUG0("Client initialize PolicyKit authentication");
|
||||||
|
|
||||||
|
+#if HAVE_POLKIT0
|
||||||
|
if (auth && auth->cb) {
|
||||||
|
/* Check if the necessary credential type for PolicyKit is supported */
|
||||||
|
for (i = 0 ; i < auth->ncredtype ; i++) {
|
||||||
|
@@ -6220,6 +6223,7 @@ remoteAuthPolkit (virConnectPtr conn, st
|
||||||
|
}
|
||||||
|
|
||||||
|
if (allowcb) {
|
||||||
|
+ DEBUG0("Client run callback for PolicyKit authentication");
|
||||||
|
/* Run the authentication callback */
|
||||||
|
if ((*(auth->cb))(&cred, 1, auth->cbdata) < 0) {
|
||||||
|
virRaiseError (in_open ? NULL : conn, NULL, NULL, VIR_FROM_REMOTE,
|
||||||
|
@@ -6233,6 +6237,9 @@ remoteAuthPolkit (virConnectPtr conn, st
|
||||||
|
} else {
|
||||||
|
DEBUG0("No auth callback provided");
|
||||||
|
}
|
||||||
|
+#else
|
||||||
|
+ DEBUG0("No auth callback required for PolicyKit-1");
|
||||||
|
+#endif
|
||||||
|
|
||||||
|
memset (&ret, 0, sizeof ret);
|
||||||
|
if (call (conn, priv, in_open, REMOTE_PROC_AUTH_POLKIT,
|
||||||
+718
-85
@@ -1,180 +1,424 @@
|
|||||||
# -*- rpm-spec -*-
|
# -*- rpm-spec -*-
|
||||||
|
|
||||||
%if "%{fedora}" >= "8"
|
%define with_xen 0%{!?_without_xen:1}
|
||||||
%define with_polkit 1
|
%define with_xen_proxy 0%{!?_without_xen_proxy:1}
|
||||||
%define with_proxy no
|
%define with_qemu 0%{!?_without_qemu:1}
|
||||||
%else
|
%define with_openvz 0%{!?_without_openvz:1}
|
||||||
%define with_polkit 0
|
%define with_lxc 0%{!?_without_lxc:1}
|
||||||
%define with_proxy yes
|
%define with_vbox 0%{!?_without_vbox:1}
|
||||||
|
%define with_sasl 0%{!?_without_sasl:1}
|
||||||
|
%define with_avahi 0%{!?_without_avahi:1}
|
||||||
|
%define with_python 0%{!?_without_python:1}
|
||||||
|
%define with_libvirtd 0%{!?_without_libvirtd:1}
|
||||||
|
%define with_uml 0%{!?_without_uml:1}
|
||||||
|
%define with_one 0%{!?_without_one:1}
|
||||||
|
%define with_network 0%{!?_without_network:1}
|
||||||
|
%define with_storage_fs 0%{!?_without_storage_fs:1}
|
||||||
|
%define with_storage_lvm 0%{!?_without_storage_lvm:1}
|
||||||
|
%define with_storage_iscsi 0%{!?_without_storage_iscsi:1}
|
||||||
|
%define with_storage_disk 0%{!?_without_storage_disk:1}
|
||||||
|
%define with_numactl 0%{!?_without_numactl:1}
|
||||||
|
|
||||||
|
# default to off - selectively enabled below
|
||||||
|
%define with_polkit 0%{!?_without_polkit:0}
|
||||||
|
%define with_capng 0%{!?_without_capng:0}
|
||||||
|
%define with_netcf 0%{!?_without_netcf:0}
|
||||||
|
|
||||||
|
# default to off
|
||||||
|
%define with_phyp 0%{!?_without_phyp:0}
|
||||||
|
|
||||||
|
# Xen is available only on i386 x86_64 ia64
|
||||||
|
%ifnarch i386 i586 i686 x86_64 ia64
|
||||||
|
%define with_xen 0
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%if "%{fedora}"
|
%if ! %{with_xen}
|
||||||
|
%define with_xen_proxy 0
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%if 0%{?fedora}
|
||||||
%ifarch ppc64
|
%ifarch ppc64
|
||||||
%define with_qemu 0
|
%define with_qemu 0
|
||||||
%else
|
|
||||||
%define with_qemu 1
|
|
||||||
%endif
|
%endif
|
||||||
%else
|
|
||||||
%define with_qemu 0
|
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
|
%if 0%{?fedora} >= 8
|
||||||
|
%define with_polkit 0%{!?_without_polkit:1}
|
||||||
|
%define with_xen_proxy 0
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%if 0%{?fedora} >= 12
|
||||||
|
%define with_capng 0%{!?_without_capng:1}
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%if 0%{?fedora} >= 12
|
||||||
|
%define with_netcf 0%{!?_without_netcf:1}
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%if 0%{?fedora} >= 12
|
||||||
|
%define qemu_user qemu
|
||||||
|
%define qemu_group qemu
|
||||||
|
%else
|
||||||
|
%define qemu_user root
|
||||||
|
%define qemu_group root
|
||||||
|
%endif
|
||||||
|
|
||||||
|
#
|
||||||
|
# If building on RHEL switch on the specific support
|
||||||
|
#
|
||||||
|
%if 0%{?fedora}
|
||||||
|
%define with_rhel5 0
|
||||||
|
%else
|
||||||
|
%define with_rhel5 1
|
||||||
|
%define with_polkit 0
|
||||||
|
%define with_one 0
|
||||||
|
%endif
|
||||||
|
|
||||||
|
|
||||||
Summary: Library providing a simple API virtualization
|
Summary: Library providing a simple API virtualization
|
||||||
Name: libvirt
|
Name: libvirt
|
||||||
Version: 0.4.2
|
Version: 0.7.0
|
||||||
Release: 1%{?dist}%{?extra_release}
|
Release: 4%{?dist}%{?extra_release}
|
||||||
License: LGPL
|
License: LGPLv2+
|
||||||
Group: Development/Libraries
|
Group: Development/Libraries
|
||||||
Source: libvirt-%{version}.tar.gz
|
Source: libvirt-%{version}.tar.gz
|
||||||
BuildRoot: %{_tmppath}/%{name}-%{version}-root
|
|
||||||
|
# Make sure qemu can access kernel/initrd (bug #516034)
|
||||||
|
Patch01: libvirt-0.7.0-chown-kernel-initrd-before-spawning-qemu.patch
|
||||||
|
|
||||||
|
# Don't fail to start network if ipv6 modules is not loaded (bug #516497)
|
||||||
|
Patch02: libvirt-0.7.0-handle-kernels-with-no-ipv6-support.patch
|
||||||
|
|
||||||
|
# Policykit rewrite (bug #499970)
|
||||||
|
# NB remove autoreconf hack & extra BRs when this goes away
|
||||||
|
Patch03: libvirt-0.7.0-policy-kit-rewrite.patch
|
||||||
|
|
||||||
|
# Log and ignore NUMA topology problems (rhbz #506590)
|
||||||
|
Patch04: libvirt-0.7.0-numa-ignore-fail.patch
|
||||||
|
|
||||||
|
# Temporary hack till PulseAudio autostart problems are sorted
|
||||||
|
# out when SELinux enforcing (bz 486112)
|
||||||
|
Patch200: libvirt-0.6.4-svirt-sound.patch
|
||||||
|
|
||||||
|
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
|
||||||
URL: http://libvirt.org/
|
URL: http://libvirt.org/
|
||||||
BuildRequires: python python-devel
|
BuildRequires: python-devel
|
||||||
Requires: libxml2
|
|
||||||
Requires: readline
|
# The client side, i.e. shared libs and virsh are in a subpackage
|
||||||
Requires: ncurses
|
Requires: libvirt-client = %{version}-%{release}
|
||||||
|
|
||||||
Requires: dnsmasq
|
Requires: dnsmasq
|
||||||
Requires: bridge-utils
|
Requires: bridge-utils
|
||||||
Requires: iptables
|
Requires: iptables
|
||||||
# So remote clients can access libvirt over SSH tunnel
|
# needed for device enumeration
|
||||||
# (client invokes 'nc' against the UNIX socket on the server)
|
Requires: hal
|
||||||
Requires: nc
|
|
||||||
Requires: cyrus-sasl
|
|
||||||
# Not technically required, but makes 'out-of-box' config
|
|
||||||
# work correctly & doesn't have onerous dependencies
|
|
||||||
Requires: cyrus-sasl-md5
|
|
||||||
%if %{with_polkit}
|
%if %{with_polkit}
|
||||||
|
%if 0%{?fedora} >= 12
|
||||||
|
Requires: polkit >= 0.93
|
||||||
|
%else
|
||||||
Requires: PolicyKit >= 0.6
|
Requires: PolicyKit >= 0.6
|
||||||
%endif
|
%endif
|
||||||
|
%endif
|
||||||
|
%if %{with_storage_fs}
|
||||||
# For mount/umount in FS driver
|
# For mount/umount in FS driver
|
||||||
BuildRequires: util-linux
|
BuildRequires: util-linux
|
||||||
# PPC64 has no Xen nor QEmu, try to build anyway
|
# For showmount in FS driver (netfs discovery)
|
||||||
%ifnarch ppc64
|
BuildRequires: nfs-utils
|
||||||
|
Requires: nfs-utils
|
||||||
|
# For glusterfs
|
||||||
|
Requires: glusterfs-client >= 2.0.1
|
||||||
|
%endif
|
||||||
%if %{with_qemu}
|
%if %{with_qemu}
|
||||||
# From QEMU RPMs
|
# From QEMU RPMs
|
||||||
Requires: /usr/bin/qemu-img
|
Requires: /usr/bin/qemu-img
|
||||||
%else
|
%else
|
||||||
|
%if %{with_xen}
|
||||||
# From Xen RPMs
|
# From Xen RPMs
|
||||||
Requires: /usr/sbin/qcow-create
|
Requires: /usr/sbin/qcow-create
|
||||||
%endif
|
%endif
|
||||||
%endif
|
%endif
|
||||||
|
%if %{with_storage_lvm}
|
||||||
# For LVM drivers
|
# For LVM drivers
|
||||||
Requires: lvm2
|
Requires: lvm2
|
||||||
|
%endif
|
||||||
|
%if %{with_storage_iscsi}
|
||||||
# For ISCSI driver
|
# For ISCSI driver
|
||||||
Requires: iscsi-initiator-utils
|
Requires: iscsi-initiator-utils
|
||||||
|
%endif
|
||||||
|
%if %{with_storage_disk}
|
||||||
# For disk driver
|
# For disk driver
|
||||||
Requires: parted
|
Requires: parted
|
||||||
%ifarch i386 x86_64 ia64
|
%endif
|
||||||
|
%if %{with_xen}
|
||||||
BuildRequires: xen-devel
|
BuildRequires: xen-devel
|
||||||
%endif
|
%endif
|
||||||
|
%if %{with_one}
|
||||||
|
BuildRequires: xmlrpc-c-devel >= 1.14.0
|
||||||
|
%endif
|
||||||
BuildRequires: libxml2-devel
|
BuildRequires: libxml2-devel
|
||||||
|
BuildRequires: xhtml1-dtds
|
||||||
BuildRequires: readline-devel
|
BuildRequires: readline-devel
|
||||||
BuildRequires: ncurses-devel
|
BuildRequires: ncurses-devel
|
||||||
BuildRequires: gettext
|
BuildRequires: gettext
|
||||||
BuildRequires: gnutls-devel
|
BuildRequires: gnutls-devel
|
||||||
|
BuildRequires: hal-devel
|
||||||
|
%if %{with_avahi}
|
||||||
BuildRequires: avahi-devel
|
BuildRequires: avahi-devel
|
||||||
|
%endif
|
||||||
BuildRequires: libselinux-devel
|
BuildRequires: libselinux-devel
|
||||||
BuildRequires: dnsmasq
|
BuildRequires: dnsmasq
|
||||||
BuildRequires: bridge-utils
|
BuildRequires: bridge-utils
|
||||||
%if %{with_qemu}
|
%if %{with_sasl}
|
||||||
BuildRequires: qemu
|
|
||||||
%endif
|
|
||||||
BuildRequires: cyrus-sasl-devel
|
BuildRequires: cyrus-sasl-devel
|
||||||
|
%endif
|
||||||
%if %{with_polkit}
|
%if %{with_polkit}
|
||||||
|
%if 0%{?fedora} >= 12
|
||||||
|
# Only need the binary, not -devel
|
||||||
|
BuildRequires: polkit >= 0.93
|
||||||
|
%else
|
||||||
BuildRequires: PolicyKit-devel >= 0.6
|
BuildRequires: PolicyKit-devel >= 0.6
|
||||||
%endif
|
%endif
|
||||||
|
%endif
|
||||||
|
%if %{with_storage_fs}
|
||||||
# For mount/umount in FS driver
|
# For mount/umount in FS driver
|
||||||
BuildRequires: util-linux
|
BuildRequires: util-linux
|
||||||
# PPC64 has no Xen nor QEmu, try to build anyway
|
%endif
|
||||||
%ifnarch ppc64
|
|
||||||
%if %{with_qemu}
|
%if %{with_qemu}
|
||||||
# From QEMU RPMs
|
# From QEMU RPMs
|
||||||
BuildRequires: /usr/bin/qemu-img
|
BuildRequires: /usr/bin/qemu-img
|
||||||
%else
|
%else
|
||||||
|
%if %{with_xen}
|
||||||
# From Xen RPMs
|
# From Xen RPMs
|
||||||
BuildRequires: /usr/sbin/qcow-create
|
BuildRequires: /usr/sbin/qcow-create
|
||||||
%endif
|
%endif
|
||||||
%endif
|
%endif
|
||||||
|
%if %{with_storage_lvm}
|
||||||
# For LVM drivers
|
# For LVM drivers
|
||||||
BuildRequires: lvm2
|
BuildRequires: lvm2
|
||||||
|
%endif
|
||||||
|
%if %{with_storage_iscsi}
|
||||||
# For ISCSI driver
|
# For ISCSI driver
|
||||||
BuildRequires: iscsi-initiator-utils
|
BuildRequires: iscsi-initiator-utils
|
||||||
|
%endif
|
||||||
|
%if %{with_storage_disk}
|
||||||
# For disk driver
|
# For disk driver
|
||||||
BuildRequires: parted-devel
|
BuildRequires: parted-devel
|
||||||
Obsoletes: libvir
|
%endif
|
||||||
|
%if %{with_numactl}
|
||||||
|
# For QEMU/LXC numa info
|
||||||
|
BuildRequires: numactl-devel
|
||||||
|
%endif
|
||||||
|
%if %{with_capng}
|
||||||
|
BuildRequires: libcap-ng-devel >= 0.5.0
|
||||||
|
%endif
|
||||||
|
%if %{with_phyp}
|
||||||
|
BuildRequires: libssh-devel >= 0.3.1
|
||||||
|
%endif
|
||||||
|
%if %{with_netcf}
|
||||||
|
BuildRequires: netcf-devel
|
||||||
|
%endif
|
||||||
|
|
||||||
# Fedora build root suckage
|
# Fedora build root suckage
|
||||||
BuildRequires: gawk
|
BuildRequires: gawk
|
||||||
|
|
||||||
|
# Temp hack for patch 3
|
||||||
|
BuildRequires: libtool autoconf automake gettext cvs
|
||||||
|
|
||||||
%description
|
%description
|
||||||
Libvirt is a C toolkit to interact with the virtualization capabilities
|
Libvirt is a C toolkit to interact with the virtualization capabilities
|
||||||
of recent versions of Linux (and other OSes).
|
of recent versions of Linux (and other OSes). The main package includes
|
||||||
|
the libvirtd server exporting the virtualization support.
|
||||||
|
|
||||||
|
%package client
|
||||||
|
Summary: Client side library and utilities of the libvirt library
|
||||||
|
Group: Development/Libraries
|
||||||
|
Requires: readline
|
||||||
|
Requires: ncurses
|
||||||
|
# So remote clients can access libvirt over SSH tunnel
|
||||||
|
# (client invokes 'nc' against the UNIX socket on the server)
|
||||||
|
Requires: nc
|
||||||
|
%if %{with_sasl}
|
||||||
|
Requires: cyrus-sasl
|
||||||
|
# Not technically required, but makes 'out-of-box' config
|
||||||
|
# work correctly & doesn't have onerous dependencies
|
||||||
|
Requires: cyrus-sasl-md5
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%description client
|
||||||
|
Shared libraries and client binaries needed to access to the
|
||||||
|
virtualization capabilities of recent versions of Linux (and other OSes).
|
||||||
|
|
||||||
%package devel
|
%package devel
|
||||||
Summary: Libraries, includes, etc. to compile with the libvirt library
|
Summary: Libraries, includes, etc. to compile with the libvirt library
|
||||||
Group: Development/Libraries
|
Group: Development/Libraries
|
||||||
Requires: libvirt = %{version}
|
Requires: libvirt = %{version}-%{release}
|
||||||
Requires: pkgconfig
|
Requires: pkgconfig
|
||||||
%ifarch i386 x86_64 ia64
|
%if %{with_xen}
|
||||||
Requires: xen-devel
|
Requires: xen-devel
|
||||||
%endif
|
%endif
|
||||||
Obsoletes: libvir-devel
|
|
||||||
|
|
||||||
%description devel
|
%description devel
|
||||||
Includes and documentations for the C library providing an API to use
|
Includes and documentations for the C library providing an API to use
|
||||||
the virtualization capabilities of recent versions of Linux (and other OSes).
|
the virtualization capabilities of recent versions of Linux (and other OSes).
|
||||||
|
|
||||||
|
%if %{with_python}
|
||||||
%package python
|
%package python
|
||||||
Summary: Python bindings for the libvirt library
|
Summary: Python bindings for the libvirt library
|
||||||
Group: Development/Libraries
|
Group: Development/Libraries
|
||||||
Requires: libvirt = %{version}
|
Requires: libvirt = %{version}-%{release}
|
||||||
Obsoletes: libvir-python
|
|
||||||
|
|
||||||
%description python
|
%description python
|
||||||
The libvirt-python package contains a module that permits applications
|
The libvirt-python package contains a module that permits applications
|
||||||
written in the Python programming language to use the interface
|
written in the Python programming language to use the interface
|
||||||
supplied by the libvirt library to use the virtualization capabilities
|
supplied by the libvirt library to use the virtualization capabilities
|
||||||
of recent versions of Linux (and other OSes).
|
of recent versions of Linux (and other OSes).
|
||||||
|
%endif
|
||||||
|
|
||||||
%prep
|
%prep
|
||||||
%setup -q
|
%setup -q
|
||||||
|
|
||||||
|
%patch01 -p1
|
||||||
|
%patch02 -p1
|
||||||
|
%patch03 -p1
|
||||||
|
%patch04 -p1
|
||||||
|
|
||||||
|
%patch200 -p0
|
||||||
|
|
||||||
%build
|
%build
|
||||||
# Xen is available only on i386 x86_64 ia64
|
%if ! %{with_xen}
|
||||||
%ifarch i386 i686 x86_64 ia64
|
%define _without_xen --without-xen
|
||||||
%configure --with-init-script=redhat \
|
|
||||||
--with-qemud-pid-file=%{_localstatedir}/run/libvirt_qemud.pid \
|
|
||||||
--with-remote-file=%{_localstatedir}/run/libvirtd.pid \
|
|
||||||
--with-xen-proxy=%{with_proxy}
|
|
||||||
%else
|
|
||||||
%ifnarch ppc64
|
|
||||||
%configure --without-xen \
|
|
||||||
--with-init-script=redhat \
|
|
||||||
--with-qemud-pid-file=%{_localstatedir}/run/libvirt_qemud.pid \
|
|
||||||
--with-remote-file=%{_localstatedir}/run/libvirtd.pid
|
|
||||||
%else
|
|
||||||
%configure --without-xen \
|
|
||||||
--without-qemu \
|
|
||||||
--with-init-script=redhat \
|
|
||||||
--with-qemud-pid-file=%{_localstatedir}/run/libvirt_qemud.pid \
|
|
||||||
--with-remote-file=%{_localstatedir}/run/libvirtd.pid
|
|
||||||
%endif
|
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
make
|
%if ! %{with_qemu}
|
||||||
|
%define _without_qemu --without-qemu
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%if ! %{with_openvz}
|
||||||
|
%define _without_openvz --without-openvz
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%if ! %{with_lxc}
|
||||||
|
%define _without_lxc --without-lxc
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%if ! %{with_vbox}
|
||||||
|
%define _without_vbox --without-vbox
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%if ! %{with_sasl}
|
||||||
|
%define _without_sasl --without-sasl
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%if ! %{with_avahi}
|
||||||
|
%define _without_avahi --without-avahi
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%if ! %{with_phyp}
|
||||||
|
%define _without_phyp --without-phyp
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%if ! %{with_polkit}
|
||||||
|
%define _without_polkit --without-polkit
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%if ! %{with_python}
|
||||||
|
%define _without_python --without-python
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%if ! %{with_libvirtd}
|
||||||
|
%define _without_libvirtd --without-libvirtd
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%if ! %{with_uml}
|
||||||
|
%define _without_uml --without-uml
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%if ! %{with_one}
|
||||||
|
%define _without_one --without-one
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%if %{with_rhel5}
|
||||||
|
%define _with_rhel5_api --with-rhel5-api
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%if ! %{with_network}
|
||||||
|
%define _without_network --without-network
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%if ! %{with_storage_fs}
|
||||||
|
%define _without_storage_fs --without-storage-fs
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%if ! %{with_storage_lvm}
|
||||||
|
%define _without_storage_lvm --without-storage-lvm
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%if ! %{with_storage_iscsi}
|
||||||
|
%define _without_storage_iscsi --without-storage-iscsi
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%if ! %{with_storage_disk}
|
||||||
|
%define _without_storage_disk --without-storage-disk
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%if ! %{with_numactl}
|
||||||
|
%define _without_numactl --without-numactl
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%if ! %{with_capng}
|
||||||
|
%define _without_capng --without-capng
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%if ! %{with_netcf}
|
||||||
|
%define _without_netcf --without-netcf
|
||||||
|
%endif
|
||||||
|
|
||||||
|
# Temp hack for patch 3
|
||||||
|
autoreconf -if
|
||||||
|
|
||||||
|
%configure %{?_without_xen} \
|
||||||
|
%{?_without_qemu} \
|
||||||
|
%{?_without_openvz} \
|
||||||
|
%{?_without_lxc} \
|
||||||
|
%{?_without_vbox} \
|
||||||
|
%{?_without_sasl} \
|
||||||
|
%{?_without_avahi} \
|
||||||
|
%{?_without_polkit} \
|
||||||
|
%{?_without_python} \
|
||||||
|
%{?_without_libvirtd} \
|
||||||
|
%{?_without_uml} \
|
||||||
|
%{?_without_one} \
|
||||||
|
%{?_without_phyp} \
|
||||||
|
%{?_without_network} \
|
||||||
|
%{?_with_rhel5_api} \
|
||||||
|
%{?_without_storage_fs} \
|
||||||
|
%{?_without_storage_lvm} \
|
||||||
|
%{?_without_storage_iscsi} \
|
||||||
|
%{?_without_storage_disk} \
|
||||||
|
%{?_without_numactl} \
|
||||||
|
%{?_without_capng} \
|
||||||
|
%{?_without_netcf} \
|
||||||
|
--with-qemu-user=%{qemu_user} \
|
||||||
|
--with-qemu-group=%{qemu_group} \
|
||||||
|
--with-init-script=redhat \
|
||||||
|
--with-remote-pid-file=%{_localstatedir}/run/libvirtd.pid
|
||||||
|
make %{?_smp_mflags}
|
||||||
|
gzip -9 ChangeLog
|
||||||
|
|
||||||
%install
|
%install
|
||||||
rm -fr %{buildroot}
|
rm -fr %{buildroot}
|
||||||
|
|
||||||
%makeinstall
|
%makeinstall
|
||||||
(cd docs/examples ; make clean ; rm -rf .deps Makefile Makefile.in)
|
(cd docs/examples ; make clean ; rm -rf .deps Makefile Makefile.in)
|
||||||
(cd docs/examples/python ; rm -f Makefile Makefile.in)
|
(cd docs/examples/python ; rm -rf .deps Makefile Makefile.in)
|
||||||
|
(cd examples/hellolibvirt ; make clean ; rm -rf .deps .libs Makefile Makefile.in)
|
||||||
|
(cd examples/domain-events/events-c ; make clean ;rm -rf .deps .libs Makefile Makefile.in)
|
||||||
rm -f $RPM_BUILD_ROOT%{_libdir}/*.la
|
rm -f $RPM_BUILD_ROOT%{_libdir}/*.la
|
||||||
rm -f $RPM_BUILD_ROOT%{_libdir}/*.a
|
rm -f $RPM_BUILD_ROOT%{_libdir}/*.a
|
||||||
rm -f $RPM_BUILD_ROOT%{_libdir}/python*/site-packages/*.la
|
rm -f $RPM_BUILD_ROOT%{_libdir}/python*/site-packages/*.la
|
||||||
rm -f $RPM_BUILD_ROOT%{_libdir}/python*/site-packages/*.a
|
rm -f $RPM_BUILD_ROOT%{_libdir}/python*/site-packages/*.a
|
||||||
install -d -m 0755 $RPM_BUILD_ROOT%{_localstatedir}/run/libvirt/
|
|
||||||
# Default dir for disk images defined in SELinux policy
|
|
||||||
install -d -m 0755 $RPM_BUILD_ROOT%{_localstatedir}/lib/libvirt/images/
|
|
||||||
|
|
||||||
|
%if %{with_qemu}
|
||||||
# We don't want to install /etc/libvirt/qemu/networks in the main %files list
|
# We don't want to install /etc/libvirt/qemu/networks in the main %files list
|
||||||
# because if the admin wants to delete the default network completely, we don't
|
# because if the admin wants to delete the default network completely, we don't
|
||||||
# want to end up re-incarnating it on every RPM upgrade.
|
# want to end up re-incarnating it on every RPM upgrade.
|
||||||
@@ -185,19 +429,50 @@ rm -f $RPM_BUILD_ROOT%{_sysconfdir}/libvirt/qemu/networks/default.xml
|
|||||||
rm -f $RPM_BUILD_ROOT%{_sysconfdir}/libvirt/qemu/networks/autostart/default.xml
|
rm -f $RPM_BUILD_ROOT%{_sysconfdir}/libvirt/qemu/networks/autostart/default.xml
|
||||||
# Strip auto-generated UUID - we need it generated per-install
|
# Strip auto-generated UUID - we need it generated per-install
|
||||||
sed -i -e "/<uuid>/d" $RPM_BUILD_ROOT%{_datadir}/libvirt/networks/default.xml
|
sed -i -e "/<uuid>/d" $RPM_BUILD_ROOT%{_datadir}/libvirt/networks/default.xml
|
||||||
|
%else
|
||||||
|
rm -f $RPM_BUILD_ROOT%{_sysconfdir}/libvirt/qemu/networks/default.xml
|
||||||
|
rm -f $RPM_BUILD_ROOT%{_sysconfdir}/libvirt/qemu/networks/autostart/default.xml
|
||||||
|
rm -f $RPM_BUILD_ROOT%{_datadir}/augeas/lenses/libvirtd_qemu.aug
|
||||||
|
rm -f $RPM_BUILD_ROOT%{_datadir}/augeas/lenses/tests/test_libvirtd_qemu.aug
|
||||||
|
%endif
|
||||||
%find_lang %{name}
|
%find_lang %{name}
|
||||||
|
|
||||||
|
%if ! %{with_python}
|
||||||
|
rm -rf $RPM_BUILD_ROOT%{_datadir}/doc/libvirt-python-%{version}
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%if ! %{with_qemu}
|
||||||
|
rm -rf $RPM_BUILD_ROOT%{_sysconfdir}/libvirt/qemu.conf
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%if %{with_libvirtd}
|
||||||
|
chmod 0644 $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig/libvirtd
|
||||||
|
%endif
|
||||||
|
|
||||||
%clean
|
%clean
|
||||||
rm -fr %{buildroot}
|
rm -fr %{buildroot}
|
||||||
|
|
||||||
%post
|
%pre
|
||||||
/sbin/ldconfig
|
%if 0%{?fedora} >= 12
|
||||||
|
# Normally 'setup' adds this in /etc/passwd, but this is
|
||||||
|
# here for case of upgrades from earlier Fedora. This
|
||||||
|
# UID/GID pair is reserved for qemu:qemu
|
||||||
|
getent group kvm >/dev/null || groupadd -g 36 -r kvm
|
||||||
|
getent group qemu >/dev/null || groupadd -g 107 -r qemu
|
||||||
|
getent passwd qemu >/dev/null || \
|
||||||
|
useradd -r -u 107 -g qemu -G kvm -d / -s /sbin/nologin \
|
||||||
|
-c "qemu user" qemu
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%post
|
||||||
|
|
||||||
|
%if %{with_libvirtd}
|
||||||
|
%if %{with_qemu}
|
||||||
# We want to install the default network for initial RPM installs
|
# We want to install the default network for initial RPM installs
|
||||||
# or on the first upgrade from a non-network aware libvirt only.
|
# or on the first upgrade from a non-network aware libvirt only.
|
||||||
# We check this by looking to see if the daemon is already installed
|
# We check this by looking to see if the daemon is already installed
|
||||||
/sbin/chkconfig --list libvirtd 1>/dev/null 2>&1
|
/sbin/chkconfig --list libvirtd 1>/dev/null 2>&1
|
||||||
if [ $? != 0 ]
|
if [ $? != 0 -a ! -f %{_sysconfdir}/libvirt/qemu/networks/default.xml ]
|
||||||
then
|
then
|
||||||
UUID=`/usr/bin/uuidgen`
|
UUID=`/usr/bin/uuidgen`
|
||||||
sed -e "s,</name>,</name>\n <uuid>$UUID</uuid>," \
|
sed -e "s,</name>,</name>\n <uuid>$UUID</uuid>," \
|
||||||
@@ -205,52 +480,143 @@ then
|
|||||||
> %{_sysconfdir}/libvirt/qemu/networks/default.xml
|
> %{_sysconfdir}/libvirt/qemu/networks/default.xml
|
||||||
ln -s ../default.xml %{_sysconfdir}/libvirt/qemu/networks/autostart/default.xml
|
ln -s ../default.xml %{_sysconfdir}/libvirt/qemu/networks/autostart/default.xml
|
||||||
fi
|
fi
|
||||||
|
%endif
|
||||||
|
|
||||||
/sbin/chkconfig --add libvirtd
|
/sbin/chkconfig --add libvirtd
|
||||||
|
%endif
|
||||||
|
|
||||||
%preun
|
%preun
|
||||||
|
%if %{with_libvirtd}
|
||||||
if [ $1 = 0 ]; then
|
if [ $1 = 0 ]; then
|
||||||
/sbin/service libvirtd stop 1>/dev/null 2>&1
|
/sbin/service libvirtd stop 1>/dev/null 2>&1
|
||||||
/sbin/chkconfig --del libvirtd
|
/sbin/chkconfig --del libvirtd
|
||||||
fi
|
fi
|
||||||
|
%endif
|
||||||
|
|
||||||
%postun
|
%post client -p /sbin/ldconfig
|
||||||
/sbin/ldconfig
|
|
||||||
|
|
||||||
%files -f %{name}.lang
|
%postun client -p /sbin/ldconfig
|
||||||
|
|
||||||
|
%files
|
||||||
%defattr(-, root, root)
|
%defattr(-, root, root)
|
||||||
|
|
||||||
%doc AUTHORS ChangeLog NEWS README COPYING.LIB TODO
|
%doc AUTHORS ChangeLog.gz NEWS README COPYING.LIB TODO
|
||||||
%doc %{_mandir}/man1/virsh.1*
|
|
||||||
%{_bindir}/virsh
|
|
||||||
%{_libdir}/lib*.so.*
|
|
||||||
%dir %attr(0700, root, root) %{_sysconfdir}/libvirt/
|
%dir %attr(0700, root, root) %{_sysconfdir}/libvirt/
|
||||||
|
|
||||||
|
%if %{with_qemu}
|
||||||
%dir %attr(0700, root, root) %{_sysconfdir}/libvirt/qemu/
|
%dir %attr(0700, root, root) %{_sysconfdir}/libvirt/qemu/
|
||||||
%dir %attr(0700, root, root) %{_sysconfdir}/libvirt/qemu/networks/
|
%dir %attr(0700, root, root) %{_sysconfdir}/libvirt/qemu/networks/
|
||||||
%dir %attr(0700, root, root) %{_sysconfdir}/libvirt/qemu/networks/autostart
|
%dir %attr(0700, root, root) %{_sysconfdir}/libvirt/qemu/networks/autostart
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%if %{with_libvirtd}
|
||||||
%{_sysconfdir}/rc.d/init.d/libvirtd
|
%{_sysconfdir}/rc.d/init.d/libvirtd
|
||||||
%config(noreplace) %{_sysconfdir}/sysconfig/libvirtd
|
%config(noreplace) %{_sysconfdir}/sysconfig/libvirtd
|
||||||
%config(noreplace) %{_sysconfdir}/libvirt/libvirtd.conf
|
%config(noreplace) %{_sysconfdir}/libvirt/libvirtd.conf
|
||||||
|
%config(noreplace) %{_sysconfdir}/logrotate.d/libvirtd
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%if %{with_qemu}
|
||||||
%config(noreplace) %{_sysconfdir}/libvirt/qemu.conf
|
%config(noreplace) %{_sysconfdir}/libvirt/qemu.conf
|
||||||
%config(noreplace) %{_sysconfdir}/sasl2/libvirt.conf
|
%endif
|
||||||
|
|
||||||
|
%if %{with_qemu}
|
||||||
%dir %{_datadir}/libvirt/
|
%dir %{_datadir}/libvirt/
|
||||||
%dir %{_datadir}/libvirt/networks/
|
%dir %{_datadir}/libvirt/networks/
|
||||||
%{_datadir}/libvirt/networks/default.xml
|
%{_datadir}/libvirt/networks/default.xml
|
||||||
%dir %{_localstatedir}/run/libvirt/
|
|
||||||
%dir %{_localstatedir}/lib/libvirt/
|
|
||||||
%dir %attr(0700, root, root) %{_localstatedir}/lib/libvirt/images/
|
|
||||||
%if %{with_polkit}
|
|
||||||
%{_datadir}/PolicyKit/policy/libvirtd.policy
|
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
|
%dir %{_localstatedir}/run/libvirt/
|
||||||
|
|
||||||
|
%dir %{_localstatedir}/lib/libvirt/
|
||||||
|
%dir %attr(0711, root, root) %{_localstatedir}/lib/libvirt/images/
|
||||||
|
%dir %attr(0711, root, root) %{_localstatedir}/lib/libvirt/boot/
|
||||||
|
%dir %attr(0700, root, root) %{_localstatedir}/cache/libvirt/
|
||||||
|
|
||||||
|
%if %{with_qemu}
|
||||||
|
%dir %attr(0700, %{qemu_user}, %{qemu_group}) %{_localstatedir}/run/libvirt/qemu/
|
||||||
|
%dir %attr(0700, %{qemu_user}, %{qemu_group}) %{_localstatedir}/lib/libvirt/qemu/
|
||||||
|
%dir %attr(0700, %{qemu_user}, %{qemu_group}) %{_localstatedir}/cache/libvirt/qemu/
|
||||||
|
%endif
|
||||||
|
%if %{with_lxc}
|
||||||
|
%dir %{_localstatedir}/run/libvirt/lxc/
|
||||||
|
%dir %attr(0700, root, root) %{_localstatedir}/lib/libvirt/lxc/
|
||||||
|
%endif
|
||||||
|
%if %{with_uml}
|
||||||
|
%dir %{_localstatedir}/run/libvirt/uml/
|
||||||
|
%dir %attr(0700, root, root) %{_localstatedir}/lib/libvirt/uml/
|
||||||
|
%endif
|
||||||
|
%if %{with_network}
|
||||||
|
%dir %{_localstatedir}/run/libvirt/network/
|
||||||
|
%dir %attr(0700, root, root) %{_localstatedir}/lib/libvirt/network/
|
||||||
|
%dir %attr(0700, root, root) %{_localstatedir}/lib/libvirt/iptables/
|
||||||
|
%dir %attr(0700, root, root) %{_localstatedir}/lib/libvirt/iptables/filter/
|
||||||
|
%dir %attr(0700, root, root) %{_localstatedir}/lib/libvirt/iptables/nat/
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%if %{with_qemu}
|
||||||
|
%{_datadir}/augeas/lenses/libvirtd_qemu.aug
|
||||||
|
%{_datadir}/augeas/lenses/tests/test_libvirtd_qemu.aug
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%if %{with_libvirtd}
|
||||||
|
%{_datadir}/augeas/lenses/libvirtd.aug
|
||||||
|
%{_datadir}/augeas/lenses/tests/test_libvirtd.aug
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%if %{with_polkit}
|
||||||
|
%if 0%{?fedora} >= 12
|
||||||
|
%{_datadir}/polkit-1/actions/org.libvirt.unix.policy
|
||||||
|
%else
|
||||||
|
%{_datadir}/PolicyKit/policy/org.libvirt.unix.policy
|
||||||
|
%endif
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%dir %attr(0700, root, root) %{_localstatedir}/log/libvirt/
|
||||||
|
%if %{with_qemu}
|
||||||
%dir %attr(0700, root, root) %{_localstatedir}/log/libvirt/qemu/
|
%dir %attr(0700, root, root) %{_localstatedir}/log/libvirt/qemu/
|
||||||
%if %{with_proxy} == "yes"
|
%endif
|
||||||
|
|
||||||
|
%if %{with_xen_proxy}
|
||||||
%attr(4755, root, root) %{_libexecdir}/libvirt_proxy
|
%attr(4755, root, root) %{_libexecdir}/libvirt_proxy
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
|
%if %{with_lxc}
|
||||||
|
%attr(0755, root, root) %{_libexecdir}/libvirt_lxc
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%if %{with_libvirtd}
|
||||||
%attr(0755, root, root) %{_libexecdir}/libvirt_parthelper
|
%attr(0755, root, root) %{_libexecdir}/libvirt_parthelper
|
||||||
%attr(0755, root, root) %{_sbindir}/libvirtd
|
%attr(0755, root, root) %{_sbindir}/libvirtd
|
||||||
%doc docs/*.rng
|
%endif
|
||||||
|
|
||||||
%doc docs/*.xml
|
%doc docs/*.xml
|
||||||
|
|
||||||
|
%files client -f %{name}.lang
|
||||||
|
%defattr(-, root, root)
|
||||||
|
%doc AUTHORS ChangeLog.gz NEWS README COPYING.LIB TODO
|
||||||
|
|
||||||
|
%{_mandir}/man1/virsh.1*
|
||||||
|
%{_mandir}/man1/virt-xml-validate.1*
|
||||||
|
%{_bindir}/virsh
|
||||||
|
%{_bindir}/virt-xml-validate
|
||||||
|
%{_libdir}/lib*.so.*
|
||||||
|
|
||||||
|
%dir %{_datadir}/libvirt/
|
||||||
|
%dir %{_datadir}/libvirt/schemas/
|
||||||
|
|
||||||
|
%{_datadir}/libvirt/schemas/domain.rng
|
||||||
|
%{_datadir}/libvirt/schemas/network.rng
|
||||||
|
%{_datadir}/libvirt/schemas/storagepool.rng
|
||||||
|
%{_datadir}/libvirt/schemas/storagevol.rng
|
||||||
|
%{_datadir}/libvirt/schemas/nodedev.rng
|
||||||
|
%{_datadir}/libvirt/schemas/capability.rng
|
||||||
|
%{_datadir}/libvirt/schemas/interface.rng
|
||||||
|
|
||||||
|
%if %{with_sasl}
|
||||||
|
%config(noreplace) %{_sysconfdir}/sasl2/libvirt.conf
|
||||||
|
%endif
|
||||||
|
|
||||||
%files devel
|
%files devel
|
||||||
%defattr(-, root, root)
|
%defattr(-, root, root)
|
||||||
|
|
||||||
@@ -258,6 +624,7 @@ fi
|
|||||||
%dir %{_includedir}/libvirt
|
%dir %{_includedir}/libvirt
|
||||||
%{_includedir}/libvirt/*.h
|
%{_includedir}/libvirt/*.h
|
||||||
%{_libdir}/pkgconfig/libvirt.pc
|
%{_libdir}/pkgconfig/libvirt.pc
|
||||||
|
%dir %{_datadir}/gtk-doc/html/libvirt/
|
||||||
%doc %{_datadir}/gtk-doc/html/libvirt/*.devhelp
|
%doc %{_datadir}/gtk-doc/html/libvirt/*.devhelp
|
||||||
%doc %{_datadir}/gtk-doc/html/libvirt/*.html
|
%doc %{_datadir}/gtk-doc/html/libvirt/*.html
|
||||||
%doc %{_datadir}/gtk-doc/html/libvirt/*.png
|
%doc %{_datadir}/gtk-doc/html/libvirt/*.png
|
||||||
@@ -266,7 +633,9 @@ fi
|
|||||||
%doc docs/*.html docs/html docs/*.gif
|
%doc docs/*.html docs/html docs/*.gif
|
||||||
%doc docs/examples
|
%doc docs/examples
|
||||||
%doc docs/libvirt-api.xml
|
%doc docs/libvirt-api.xml
|
||||||
|
%doc examples
|
||||||
|
|
||||||
|
%if %{with_python}
|
||||||
%files python
|
%files python
|
||||||
%defattr(-, root, root)
|
%defattr(-, root, root)
|
||||||
|
|
||||||
@@ -277,9 +646,273 @@ fi
|
|||||||
%doc python/TODO
|
%doc python/TODO
|
||||||
%doc python/libvirtclass.txt
|
%doc python/libvirtclass.txt
|
||||||
%doc docs/examples/python
|
%doc docs/examples/python
|
||||||
|
%endif
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
* Tue Apr 8 2008 Daniel Veillard ,veillard@redhat.com> 0.4.2-1.fc9
|
* Thu Aug 13 2009 Daniel P. Berrange <berrange@redhat.com> - 0.7.0-4
|
||||||
|
- Rewrite policykit support (rhbz #499970)
|
||||||
|
- Log and ignore NUMA topology problems (rhbz #506590)
|
||||||
|
|
||||||
|
* Mon Aug 10 2009 Mark McLoughlin <markmc@redhat.com> - 0.7.0-3
|
||||||
|
- Don't fail to start network if ipv6 modules is not loaded (#516497)
|
||||||
|
|
||||||
|
* Thu Aug 6 2009 Mark McLoughlin <markmc@redhat.com> - 0.7.0-2
|
||||||
|
- Make sure qemu can access kernel/initrd (bug #516034)
|
||||||
|
- Set perms on /var/lib/libvirt/boot to 0711 (bug #516034)
|
||||||
|
|
||||||
|
* Wed Aug 5 2009 Daniel Veillard <veillard@redhat.com> - 0.7.0-1
|
||||||
|
- Upstream release of 0.7.0
|
||||||
|
- ESX, VBox3, Power Hypervisor drivers
|
||||||
|
- new net filesystem glusterfs
|
||||||
|
- Storage cloning for LVM and Disk backends
|
||||||
|
- interface implementation based on netcf
|
||||||
|
- Support cgroups in QEMU driver
|
||||||
|
- QEmu hotplug NIC support
|
||||||
|
- a lot of fixes
|
||||||
|
|
||||||
|
* Fri Jul 31 2009 Mark McLoughlin <markmc@redhat.com> - 0.7.0-0.9.gite195b43
|
||||||
|
- Set perms on /var/lib/libvirt/images to 0711
|
||||||
|
|
||||||
|
* Thu Jul 30 2009 Mark McLoughlin <markmc@redhat.com> - 0.7.0-0.8.gite195b43
|
||||||
|
- Add patch from upstream to fix qemu pidfile perms problem
|
||||||
|
|
||||||
|
* Thu Jul 30 2009 Daniel P. Berrange <berrange@redhat.com> - 0.7.0-0.7.gite195b43
|
||||||
|
- Create qemu/kvm user & group to fix upgrades
|
||||||
|
|
||||||
|
* Wed Jul 29 2009 Daniel Veillard <veillard@redhat.com> - 0.7.0-0.6.gite195b43
|
||||||
|
- another prerelease with qemu, uml and remote patches
|
||||||
|
- drop the news patch as it's now UTF8 upstream
|
||||||
|
|
||||||
|
* Wed Jul 29 2009 Mark McLoughlin <markmc@redhat.com> - 0.7.0-0.5.gitf055724
|
||||||
|
- Move ldconfig call to libvirt-client %post/%postun
|
||||||
|
- Fix rpmlint warning about libvirt-client summary
|
||||||
|
- Fix disabling polkit and netcf on older fedoras
|
||||||
|
|
||||||
|
* Wed Jul 29 2009 Mark McLoughlin <markmc@redhat.com> - 0.7.0-0.4.gitf055724
|
||||||
|
- Drop explicit libselinux requires, it is autorequired
|
||||||
|
- Drop cleanup of python/tests, apparently not needed
|
||||||
|
- Cherry-pick upstream patch to convert NEWS to UTF-8, drop iconv
|
||||||
|
- Drop python BR; python-devel requires it
|
||||||
|
|
||||||
|
* Tue Jul 28 2009 Mark McLoughlin <markmc@redhat.com> - 0.7.0-0.3.gitf055724
|
||||||
|
- Enable netcf support
|
||||||
|
- Pass --with-qemu-user=qemu etc. to configure
|
||||||
|
- Move various requires to the libvirt-client sub-package
|
||||||
|
- Sync some trivial cleanups from upstream spec file
|
||||||
|
- Remove explicit libxml2 requires, again
|
||||||
|
- Build with --without-capng if capng support is disabled
|
||||||
|
- Remove explicit dir creating in makeinstall, replaced by attr in files
|
||||||
|
- Set perms on /var/{run,lib,cache}/libvirt/qemu
|
||||||
|
|
||||||
|
* Tue Jul 28 2009 Mark McLoughlin <markmc@redhat.com> - 0.7.0-0.2.gitf055724
|
||||||
|
- Drop glusterfs dep to 2.0.1 (bug #514191)
|
||||||
|
|
||||||
|
* Mon Jul 27 2009 Daniel Veillard <veillard@redhat.com> - 0.7.0-0.1.gitf055724
|
||||||
|
- prerelease of 0.7.0
|
||||||
|
|
||||||
|
* Sat Jul 25 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.6.5-3
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
|
||||||
|
|
||||||
|
* Fri Jul 10 2009 Richard W.M. Jones <rjones@redhat.com> - 0.6.5-2.fc12
|
||||||
|
- Bump release number to rebuild against new libparted.
|
||||||
|
|
||||||
|
* Fri Jul 3 2009 Daniel Veillard <veillard@redhat.com> - 0.6.5-1.fc12
|
||||||
|
- Upstream release of 0.6.5
|
||||||
|
- OpenNebula driver
|
||||||
|
- many bug fixes
|
||||||
|
|
||||||
|
* Fri Jul 3 2009 Mark McLoughlin <markmc@redhat.com> - 0.6.4-4.fc12
|
||||||
|
- Fix libvirtd crash with bad capabilities data (bug #505635)
|
||||||
|
|
||||||
|
* Fri Jul 3 2009 Mark McLoughlin <markmc@redhat.com> - 0.6.4-3.fc12
|
||||||
|
- Handle shared/readonly image labelling (bug #493692)
|
||||||
|
- Don't unnecessarily try to change a file context (bug #507555)
|
||||||
|
- Don't try to label a disk with no path (e.g. empty cdrom) (bug #499569)
|
||||||
|
|
||||||
|
* Fri Jun 5 2009 Mark McLoughlin <markmc@redhat.com> - 0.6.4-2.fc12
|
||||||
|
- Remove the qemu BuildRequires
|
||||||
|
|
||||||
|
* Fri May 29 2009 Daniel Veillard <veillard@redhat.com> - 0.6.4-1.fc12
|
||||||
|
- Upstream release of 0.6.4
|
||||||
|
- new APIs
|
||||||
|
- fixes for latests QEmu/KVM versions
|
||||||
|
- various assorted fixes
|
||||||
|
|
||||||
|
* Mon May 25 2009 Mark McLoughlin <markmc@redhat.com> - 0.6.3-11.fc12
|
||||||
|
- Bring up the bridge, even if it doesn't have an IP address (bug #501912)
|
||||||
|
|
||||||
|
* Thu May 21 2009 Mark McLoughlin <markmc@redhat.com> - 0.6.3-10.fc12
|
||||||
|
- Fix XML attribute escaping (bug #499791)
|
||||||
|
- Fix serious event handling issues causing guests to be destroyed (bug #499698)
|
||||||
|
|
||||||
|
* Thu May 21 2009 Mark McLoughlin <markmc@redhat.com> - 0.6.3-9.fc12
|
||||||
|
- Fix qemu argv detection with latest qemu (bug #501923)
|
||||||
|
|
||||||
|
* Sun May 10 2009 Cole Robinson <crobinso@redhat.com> - 0.6.2-8.fc12
|
||||||
|
- Don't try to label a disk with no path (e.g. empty cdrom) (bug #499569)
|
||||||
|
|
||||||
|
* Thu May 7 2009 Mark McLoughlin <markmc@redhat.com> - 0.6.3-7.fc12
|
||||||
|
- Enable migration for qemu 0.10 (bug #499704)
|
||||||
|
|
||||||
|
* Wed May 6 2009 Cole Robinson <crobinso@redhat.com> - 0.6.3-6.fc12
|
||||||
|
- Refresh qemu caps when getCapabilities is called (bug #460649)
|
||||||
|
|
||||||
|
* Wed May 6 2009 Mark McLoughlin <markmc@redhat.com> - 0.6.3-5.fc12
|
||||||
|
- Fix handling of <hostdev managed='yes'> (bug #499386)
|
||||||
|
|
||||||
|
* Tue May 5 2009 Daniel Berrange <berrange@redhat.com> - 0.6.3-4.fc12
|
||||||
|
- Fix readonly/shared disk image labelling (rhbz #493692)
|
||||||
|
|
||||||
|
* Tue Apr 28 2009 Daniel Veillard <veillard@redhat.com> - 0.6.3-3.fc12
|
||||||
|
- was also missing /usr/share/gtk-doc/html/libvirt in -devel
|
||||||
|
|
||||||
|
* Tue Apr 28 2009 Daniel Veillard <veillard@redhat.com> - 0.6.3-2.fc12
|
||||||
|
- fix packaging bug #496945 libvirt should own /var/cache/libvirt
|
||||||
|
|
||||||
|
* Fri Apr 24 2009 Daniel Veillard <veillard@redhat.com> - 0.6.3-1.fc12
|
||||||
|
- release of 0.6.3
|
||||||
|
- VirtualBox driver
|
||||||
|
- new virt-xml-validate command
|
||||||
|
- assorted bug fixes
|
||||||
|
|
||||||
|
* Thu Apr 16 2009 Mark McLoughlin <markmc@redhat.com> - 0.6.2-2.fc12
|
||||||
|
- Fix qemu drive format specification (#496092)
|
||||||
|
|
||||||
|
* Fri Apr 3 2009 Daniel Veillard <veillard@redhat.com> - 0.6.2-1.fc11
|
||||||
|
- release of 0.6.2
|
||||||
|
- memory ballooning in QEMU
|
||||||
|
- SCSI HBA storage pool support
|
||||||
|
- support SASL auth for VNC server
|
||||||
|
- PCI passthrough in Xen driver
|
||||||
|
- assorted bug fixes
|
||||||
|
|
||||||
|
* Fri Apr 3 2009 Daniel P. Berrange <berrange@redhat.com> - 0.6.1-6.fc11
|
||||||
|
- Fix typo in previous patch
|
||||||
|
|
||||||
|
* Tue Mar 17 2009 Daniel P. Berrange <berrange@redhat.com> - 0.6.1-5.fc11
|
||||||
|
- Don't relabel shared/readonly disks
|
||||||
|
- Disable sound cards when running sVirt
|
||||||
|
|
||||||
|
* Tue Mar 17 2009 Daniel P. Berrange <berrange@redhat.com> - 0.6.1-4.fc11
|
||||||
|
- Fix memory allocation for xend lookup
|
||||||
|
- Avoid crash if storage volume deletion fails
|
||||||
|
- Fix multiple FD leaks
|
||||||
|
- Fix bug in dispatch FD events when a callback is marked deleted
|
||||||
|
- Fix parsing of storage volume owner/group/mode
|
||||||
|
- Fix memory allocation for virDomainGetVcpus RPC handler
|
||||||
|
- Avoid deadlock in setting vCPU count
|
||||||
|
- Use correct driver name in Xen block detach
|
||||||
|
|
||||||
|
* Mon Mar 9 2009 Cole Robinson <crobinso@redhat.com> - 0.6.1-3.fc11
|
||||||
|
- Add Requires: libselinux
|
||||||
|
|
||||||
|
* Fri Mar 6 2009 Daniel P. Berrange <berrange@redhat.com> - 0.6.1-2.fc11
|
||||||
|
- Fix crash after storage vol deletion fails
|
||||||
|
- Add patch to enable VNC SASL authentication
|
||||||
|
|
||||||
|
* Wed Mar 4 2009 Daniel Veillard <veillard@redhat.com> - 0.6.1-1.fc11
|
||||||
|
- upstream release 0.6.1
|
||||||
|
- support for node device detach reattach and reset
|
||||||
|
- sVirt mandatory access control support
|
||||||
|
- many bug fixes and small improvements
|
||||||
|
|
||||||
|
* Mon Mar 2 2009 Daniel Veillard <veillard@redhat.com> - 0.6.0-6.fc11
|
||||||
|
- make sure Xen is handled in i586 new default 32bits x86 packages
|
||||||
|
|
||||||
|
* Wed Feb 25 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.6.0-5.fc11
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild
|
||||||
|
|
||||||
|
* Wed Feb 18 2009 Daniel P. Berrange <berrange@redhat.com> - 0.6.0-4.fc11
|
||||||
|
- Fix QEMU startup timeout/race (rhbz #484649)
|
||||||
|
- Setup DBus threading. Don't allow dbus to call _exit / change SIGPIPE (rhbz #484553)
|
||||||
|
- Fix timeout when autostarting session daemon
|
||||||
|
|
||||||
|
* Wed Feb 11 2009 Richard W.M. Jones <rjones@redhat.com> - 0.6.0-3.fc11
|
||||||
|
- Multiple fixes to remove rpmlint warnings/errors (rhbz #226055)
|
||||||
|
|
||||||
|
* Fri Feb 6 2009 Daniel P. Berrange <berrange@redhat.com> - 0.6.0-2.fc11
|
||||||
|
- Fix libvirtd --timeout usage
|
||||||
|
- Fix RPC call problems and QEMU startup handling (rhbz #484414)
|
||||||
|
- Fix unowned directories (rhbz #483442)
|
||||||
|
|
||||||
|
* Sat Jan 31 2009 Daniel Veillard <veillard@redhat.com> - 0.6.0-1.fc11
|
||||||
|
- upstream release 0.6.0
|
||||||
|
- thread safety of API
|
||||||
|
- allow QEmu/KVM domains to survive daemon restart
|
||||||
|
- extended logging capabilities
|
||||||
|
- support copy on write storage volumes for QEmu/KVM
|
||||||
|
- support of storage cache control options for QEmu/KVM
|
||||||
|
- a lot of bug fixes
|
||||||
|
|
||||||
|
* Wed Dec 17 2008 Daniel Veillard <veillard@redhat.com> - 0.5.1-2.fc11
|
||||||
|
- fix missing read-only access checks, fixes CVE-2008-5086
|
||||||
|
|
||||||
|
* Fri Dec 5 2008 Daniel Veillard <veillard@redhat.com> - 0.5.1-1.fc11
|
||||||
|
- upstream release 0.5.1
|
||||||
|
- mostly bugfixes e.g #473071
|
||||||
|
- some driver improvments
|
||||||
|
|
||||||
|
* Sat Nov 29 2008 Ignacio Vazquez-Abrams <ivazqueznet+rpm@gmail.com> - 0.5.0-2
|
||||||
|
- Rebuild for Python 2.6
|
||||||
|
|
||||||
|
* Wed Nov 26 2008 Daniel Veillard <veillard@redhat.com> - 0.5.0-1.fc11
|
||||||
|
- upstream release 0.5.0
|
||||||
|
- domain lifecycle event support
|
||||||
|
- node device enumeration
|
||||||
|
- KVM/QEmu migration support
|
||||||
|
- improved LXC support
|
||||||
|
- SDL display configuration
|
||||||
|
- User Mode Linux driver (Daniel Berrange)
|
||||||
|
|
||||||
|
* Wed Sep 24 2008 Daniel Veillard <veillard@redhat.com> - 0.4.6-3.fc10
|
||||||
|
- apply the python makefile patch for #463733
|
||||||
|
|
||||||
|
* Wed Sep 24 2008 Daniel Veillard <veillard@redhat.com> - 0.4.6-2.fc10
|
||||||
|
- upstream release 0.4.6
|
||||||
|
- fixes some problems with 0.4.5
|
||||||
|
|
||||||
|
* Tue Sep 9 2008 Daniel Veillard <veillard@redhat.com> - 0.4.5-2.fc10
|
||||||
|
- fix a crash if a QEmu/KVM domain is defined without an emulator path
|
||||||
|
|
||||||
|
* Mon Sep 8 2008 Daniel Veillard <veillard@redhat.com> - 0.4.5-1.fc10
|
||||||
|
- upstream release 0.4.5
|
||||||
|
- a lot of bug fixes
|
||||||
|
- major updates to QEmu/KVM and Linux containers drivers
|
||||||
|
- support for OpenVZ if installed
|
||||||
|
|
||||||
|
* Thu Aug 7 2008 Tom "spot" Callaway <tcallawa@redhat.com> - 0.4.4-3.fc10
|
||||||
|
- fix license tag
|
||||||
|
|
||||||
|
* Tue Jul 8 2008 Daniel P. Berrange <berrange@redhat.com> - 0.4.4-2.fc10
|
||||||
|
- Fix booting of CDROM images with KVM (rhbz #452355)
|
||||||
|
|
||||||
|
* Wed Jun 25 2008 Daniel Veillard <veillard@redhat.com> - 0.4.4-1.fc10
|
||||||
|
- upstream release 0.4.4
|
||||||
|
- fix a few bugs in previous release
|
||||||
|
|
||||||
|
* Thu Jun 12 2008 Daniel Veillard <veillard@redhat.com> - 0.4.3-1.fc10
|
||||||
|
- upstream release 0.4.3
|
||||||
|
- many bug fixes
|
||||||
|
- many small improvements
|
||||||
|
- serious xenner fixes
|
||||||
|
|
||||||
|
* Wed Jun 4 2008 Mark McLoughlin <markmc@redhat.com> - 0.4.2-6.fc10
|
||||||
|
- Disable lokkit support again (#449996, #447633)
|
||||||
|
- Ensure %-fedora is evaluated correctly
|
||||||
|
|
||||||
|
* Thu May 15 2008 Daniel P. Berrange <berrange@redhat.com> - 0.4.2-5.fc10
|
||||||
|
- Rebuild with policy enabled (rhbz #446616)
|
||||||
|
|
||||||
|
* Fri May 9 2008 Daniel P. Berrange <berrange@redhat.com> - 0.4.2-4.fc10
|
||||||
|
- Added directory for initrd/kernel images for SELinux policy
|
||||||
|
|
||||||
|
* Mon Apr 28 2008 Mark McLoughlin <markmc@redhat.com> - 0.4.2-3.fc10
|
||||||
|
- Simplify the way arch conditionals are handled
|
||||||
|
|
||||||
|
* Mon Apr 28 2008 Mark McLoughlin <markmc@redhat.com> - 0.4.2-2.fc10
|
||||||
|
- Enable lokkit support (#443796)
|
||||||
|
|
||||||
|
* Tue Apr 8 2008 Daniel Veillard <veillard@redhat.com> - 0.4.2-1.fc9
|
||||||
- upstream release 0.4.2
|
- upstream release 0.4.2
|
||||||
- many bug fixes
|
- many bug fixes
|
||||||
- localization updates
|
- localization updates
|
||||||
@@ -450,7 +1083,7 @@ fi
|
|||||||
- it's pkgconfig not pgkconfig !
|
- it's pkgconfig not pgkconfig !
|
||||||
|
|
||||||
* Mon Nov 6 2006 Daniel Veillard <veillard@redhat.com> 0.1.8-2
|
* Mon Nov 6 2006 Daniel Veillard <veillard@redhat.com> 0.1.8-2
|
||||||
- fixing spec file, added %dist, -devel requires pkgconfig and xen-devel
|
- fixing spec file, added %-dist, -devel requires pkgconfig and xen-devel
|
||||||
- Resolves: rhbz#202320
|
- Resolves: rhbz#202320
|
||||||
|
|
||||||
* Mon Oct 16 2006 Daniel Veillard <veillard@redhat.com> 0.1.8-1
|
* Mon Oct 16 2006 Daniel Veillard <veillard@redhat.com> 0.1.8-1
|
||||||
|
|||||||
Reference in New Issue
Block a user