Compare commits
126 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 288291b795 | |||
| 7c2073faca | |||
| 5b528ba717 | |||
| 4f731a7250 | |||
| f1ac0031f5 | |||
| e45b9c9030 | |||
| 3cf75c269d | |||
| 585033f372 | |||
| 897506e66a | |||
| e4bf8ffa42 | |||
| 20367a58a6 | |||
| aa037364ed | |||
| c034c1a3b2 | |||
| da05e02884 | |||
| 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 | |||
| 481419ebb6 | |||
| 1e65165c3a | |||
| bca27d9111 | |||
| 08b9144b41 | |||
| 2063007248 | |||
| 81e46cb6da | |||
| 263e2f2021 | |||
| 2b9efc3de2 | |||
| 69f6239766 | |||
| bf744f9872 | |||
| 45b0b2bfa6 | |||
| f29ea218b7 | |||
| 7d193b7810 | |||
| 3182a4df5a | |||
| 4f667910e9 |
+13
-24
@@ -1,24 +1,13 @@
|
|||||||
libvirt-0.0.3.tar.gz
|
.build*.log
|
||||||
libvirt-0.0.4.tar.gz
|
*.rpm
|
||||||
libvirt-0.0.5.tar.gz
|
i686
|
||||||
libvirt-0.0.6.tar.gz
|
x86_64
|
||||||
libvirt-0.1.0.tar.gz
|
libvirt-*.tar.gz
|
||||||
libvirt-0.1.2.tar.gz
|
libvirt-0.6.0.tar.gz
|
||||||
libvirt-0.1.1.tar.gz
|
libvirt-0.6.1.tar.gz
|
||||||
libvirt-0.1.3.tar.gz
|
libvirt-0.6.2.tar.gz
|
||||||
libvirt-0.1.4.tar.gz
|
libvirt-0.6.3.tar.gz
|
||||||
libvirt-0.1.5.tar.gz
|
libvirt-0.6.4.tar.gz
|
||||||
libvirt-0.1.6.tar.gz
|
libvirt-0.6.5.tar.gz
|
||||||
libvirt-0.1.7.tar.gz
|
libvirt-0.7.0.tar.gz
|
||||||
libvirt-0.1.8.tar.gz
|
libvirt-0.7.1.tar.gz
|
||||||
libvirt-0.1.9.tar.gz
|
|
||||||
libvirt-0.1.10.tar.gz
|
|
||||||
libvirt-0.1.11.tar.gz
|
|
||||||
libvirt-0.2.0.tar.gz
|
|
||||||
libvirt-0.2.1.tar.gz
|
|
||||||
libvirt-0.2.2.tar.gz
|
|
||||||
libvirt-0.2.3.tar.gz
|
|
||||||
libvirt-0.3.0.tar.gz
|
|
||||||
libvirt-0.3.1.tar.gz
|
|
||||||
libvirt-0.3.2.tar.gz
|
|
||||||
libvirt-0.3.3.tar.gz
|
|
||||||
|
|||||||
@@ -1,207 +0,0 @@
|
|||||||
changeset: 1147:7481eafdde8d
|
|
||||||
user: berrange
|
|
||||||
date: Fri Oct 12 18:54:15 2007 +0000
|
|
||||||
files: libvirt.spec.in qemud/Makefile.am qemud/libvirtd.conf src/Makefile.am src/qemu.conf
|
|
||||||
description:
|
|
||||||
Added default example configs for libvirtd/qemu driver
|
|
||||||
|
|
||||||
|
|
||||||
diff -r c48e81e685a3 -r 7481eafdde8d qemud/libvirtd.conf
|
|
||||||
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
|
|
||||||
+++ b/qemud/libvirtd.conf Fri Oct 12 18:54:15 2007 +0000
|
|
||||||
@@ -0,0 +1,141 @@
|
|
||||||
+# Master libvirt daemon configuration file
|
|
||||||
+#
|
|
||||||
+# For further information consult http://libvirt.org/format.html
|
|
||||||
+
|
|
||||||
+
|
|
||||||
+# Flag listening for secure TLS connections on the public TCP/IP port.
|
|
||||||
+# NB, must pass the --listen flag to the libvirtd process for this to
|
|
||||||
+# have any effect.
|
|
||||||
+#
|
|
||||||
+# It is neccessary to setup a CA and issue server certificates before
|
|
||||||
+# using this capability.
|
|
||||||
+#
|
|
||||||
+# This is enabled by default, uncomment this to disable it
|
|
||||||
+# listen_tls = 0
|
|
||||||
+
|
|
||||||
+# Listen for unencrypted TCP connections on the public TCP/IP port.
|
|
||||||
+# NB, must pass the --listen flag to the libvirtd process for this to
|
|
||||||
+# have any effect.
|
|
||||||
+#
|
|
||||||
+# NB, this is insecure. Do not use except for development.
|
|
||||||
+#
|
|
||||||
+# This is disabled by default, uncomment this to enable it.
|
|
||||||
+# listen_tcp = 1
|
|
||||||
+
|
|
||||||
+
|
|
||||||
+
|
|
||||||
+# Override the port for accepting secure TLS connections
|
|
||||||
+# This can be a port number, or service name
|
|
||||||
+#
|
|
||||||
+# tls_port = "16514"
|
|
||||||
+
|
|
||||||
+# Override the port for accepting insecure TCP connections
|
|
||||||
+# This can be a port number, or service name
|
|
||||||
+#
|
|
||||||
+# tcp_port = "16509"
|
|
||||||
+
|
|
||||||
+
|
|
||||||
+
|
|
||||||
+# Flag toggling mDNS advertizement of the libvirt service.
|
|
||||||
+#
|
|
||||||
+# Alternatively can disable for all services on a host by
|
|
||||||
+# stopping the Avahi daemon
|
|
||||||
+#
|
|
||||||
+# This is enabled by default, uncomment this to disable it
|
|
||||||
+# mdns_adv = 0
|
|
||||||
+
|
|
||||||
+# Override the default mDNS advertizement name. This must be
|
|
||||||
+# unique on the immediate broadcast network.
|
|
||||||
+#
|
|
||||||
+# The default is "Virtualization Host HOSTNAME", where HOSTNAME
|
|
||||||
+# is subsituted for the short hostname of the machine (without domain)
|
|
||||||
+#
|
|
||||||
+# mdns_name "Virtualization Host Joe Demo"
|
|
||||||
+
|
|
||||||
+
|
|
||||||
+
|
|
||||||
+# Set the UNIX domain socket group ownership. This can be used to
|
|
||||||
+# allow a 'trusted' set of users access to management capabilities
|
|
||||||
+# without becoming root.
|
|
||||||
+#
|
|
||||||
+# This is restricted to 'root' by default.
|
|
||||||
+# unix_sock_group "libvirt"
|
|
||||||
+
|
|
||||||
+# Set the UNIX socket permissions for the R/O socket. This is used
|
|
||||||
+# for monitoring VM status only
|
|
||||||
+#
|
|
||||||
+# Default allows any user. If setting group ownership may want to
|
|
||||||
+# restrict this to:
|
|
||||||
+# unix_sock_ro_perms "0777"
|
|
||||||
+
|
|
||||||
+# Set the UNIX socket permissions for the R/W socket. This is used
|
|
||||||
+# for full management of VMs
|
|
||||||
+#
|
|
||||||
+# Default allows only root. If setting group ownership may want to
|
|
||||||
+# relax this to:
|
|
||||||
+# unix_sock_rw_perms "octal-perms" "0770"
|
|
||||||
+
|
|
||||||
+
|
|
||||||
+
|
|
||||||
+# Flag to disable verification of client certificates
|
|
||||||
+#
|
|
||||||
+# Client certificate verification is the primary authentication mechanism.
|
|
||||||
+# Any client which does not present a certificate signed by the CA
|
|
||||||
+# will be rejected.
|
|
||||||
+#
|
|
||||||
+# Default is to always verify. Uncommenting this will disable
|
|
||||||
+# verification - make sure an IP whitelist is set
|
|
||||||
+# tls_no_verify_certificate 1
|
|
||||||
+
|
|
||||||
+# Flag to disable verification of client IP address
|
|
||||||
+#
|
|
||||||
+# Client IP address will be verified against the CommonName field
|
|
||||||
+# of the x509 certificate. This has minimal security benefit since
|
|
||||||
+# it is easy to spoof source IP.
|
|
||||||
+#
|
|
||||||
+# Uncommenting this will disable verification
|
|
||||||
+# tls_no_verify_address 1
|
|
||||||
+
|
|
||||||
+# Override the default server key file path
|
|
||||||
+#
|
|
||||||
+# key_file "/etc/pki/libvirt/private/serverkey.pem"
|
|
||||||
+
|
|
||||||
+# Override the default server certificate file path
|
|
||||||
+#
|
|
||||||
+# cert_file "/etc/pki/libvirt/servercert.pem"
|
|
||||||
+
|
|
||||||
+# Override the default CA certificate path
|
|
||||||
+#
|
|
||||||
+# ca_file "/etc/pki/CA/cacert.pem"
|
|
||||||
+
|
|
||||||
+# Specify a certificate revocation list.
|
|
||||||
+#
|
|
||||||
+# Defaults to not using a CRL, uncomment to enable it
|
|
||||||
+# crl_file "/etc/pki/CA/crl.pem"
|
|
||||||
+
|
|
||||||
+# A whitelist of allowed x509 Distinguished Names
|
|
||||||
+# This list may contain wildcards such as
|
|
||||||
+#
|
|
||||||
+# "C=GB,ST=London,L=London,O=Red Hat,CN=*"
|
|
||||||
+#
|
|
||||||
+# See the POSIX fnmatch function for the format of the wildcards.
|
|
||||||
+#
|
|
||||||
+# NB If this is an empty list, no client can connect, so comment out
|
|
||||||
+# entirely rather than using empty list to disable these checks
|
|
||||||
+#
|
|
||||||
+# By default, no DN's are checked
|
|
||||||
+# tls_allowed_dn_list ["DN1", "DN2"]
|
|
||||||
+
|
|
||||||
+
|
|
||||||
+# A whitelist of allowed client IP addresses
|
|
||||||
+#
|
|
||||||
+# This list may contain wildcards such as 192.168.* See the POSIX fnmatch
|
|
||||||
+# function for the format of the wildcards.
|
|
||||||
+#
|
|
||||||
+# NB If this is an empty list, no client can connect, so comment out
|
|
||||||
+# entirely rather than using empty list to disable these checks
|
|
||||||
+#
|
|
||||||
+# By default, no IP's are checked. This can be IPv4 or IPv6 addresses
|
|
||||||
+# tls_allowed_ip_list ["ip1", "ip2", "ip3"]
|
|
||||||
+
|
|
||||||
+
|
|
||||||
diff -r c48e81e685a3 -r 7481eafdde8d src/qemu.conf
|
|
||||||
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
|
|
||||||
+++ b/src/qemu.conf Fri Oct 12 18:54:15 2007 +0000
|
|
||||||
@@ -0,0 +1,49 @@
|
|
||||||
+# Master configuration file for the QEMU driver.
|
|
||||||
+# All settings described here are optional - if omitted, sensible
|
|
||||||
+# defaults are used.
|
|
||||||
+
|
|
||||||
+# VNC is configured to listen on 127.0.0.1 by default.
|
|
||||||
+# To make it listen on all public interfaces, uncomment
|
|
||||||
+# this next option.
|
|
||||||
+#
|
|
||||||
+# NB, strong recommendation to enable TLS + x509 certificate
|
|
||||||
+# verification when allowing public access
|
|
||||||
+#
|
|
||||||
+# vnc_listen = "0.0.0.0"
|
|
||||||
+
|
|
||||||
+
|
|
||||||
+# Enable use of TLS encryption on the VNC server. This requires
|
|
||||||
+# a VNC client which supports the VeNCrypt protocol extension.
|
|
||||||
+# Examples include vinagre, virt-viewer, virt-manager and vencrypt
|
|
||||||
+# itself. UltraVNC, RealVNC, TightVNC do not support this
|
|
||||||
+#
|
|
||||||
+# It is neccessary to setup CA and issue a server certificate
|
|
||||||
+# before enabling this.
|
|
||||||
+#
|
|
||||||
+# vnc_tls = 1
|
|
||||||
+
|
|
||||||
+
|
|
||||||
+# Use of TLS requires that x509 certificates be issued. The
|
|
||||||
+# default it to keep them in /etc/pki/libvirt-vnc. This directory
|
|
||||||
+# must contain
|
|
||||||
+#
|
|
||||||
+# ca-cert.pem - the CA master certificate
|
|
||||||
+# server-cert.pem - the server certificate signed with ca-cert.pem
|
|
||||||
+# server-key.pem - the server private key
|
|
||||||
+#
|
|
||||||
+# This option allows the certificate directory to be changed
|
|
||||||
+#
|
|
||||||
+# vnc_tls_x509_cert_dir = "/etc/pki/libvirt-vnc"
|
|
||||||
+
|
|
||||||
+
|
|
||||||
+# The default TLS configuration only uses certificates for the server
|
|
||||||
+# allowing the client to verify the server's identity and establish
|
|
||||||
+# and encrypted channel.
|
|
||||||
+#
|
|
||||||
+# It is possible to use x509 certificates for authentication too, by
|
|
||||||
+# issuing a x509 certificate to every client who needs to connect.
|
|
||||||
+#
|
|
||||||
+# Enabling this option will reject any client who does not have a
|
|
||||||
+# certificate signed by the CA in /etc/pki/libvirt-vnc/ca-cert.pem
|
|
||||||
+#
|
|
||||||
+# vnc_tls_x509_verify = 1
|
|
||||||
|
|
||||||
@@ -1,230 +0,0 @@
|
|||||||
changeset: 1146:c48e81e685a3
|
|
||||||
user: berrange
|
|
||||||
date: Fri Oct 12 15:05:44 2007 +0000
|
|
||||||
files: ChangeLog src/qemu_conf.c src/qemu_conf.h src/qemu_driver.c
|
|
||||||
description:
|
|
||||||
Added QEMU driver config file
|
|
||||||
|
|
||||||
|
|
||||||
diff -r 522efe7f7e8f -r c48e81e685a3 src/qemu_conf.c
|
|
||||||
--- a/src/qemu_conf.c Wed Oct 10 18:46:17 2007 +0000
|
|
||||||
+++ b/src/qemu_conf.c Fri Oct 12 15:05:44 2007 +0000
|
|
||||||
@@ -45,6 +45,7 @@
|
|
||||||
#include "qemu_conf.h"
|
|
||||||
#include "uuid.h"
|
|
||||||
#include "buf.h"
|
|
||||||
+#include "conf.h"
|
|
||||||
|
|
||||||
#define qemudLog(level, msg...) fprintf(stderr, msg)
|
|
||||||
|
|
||||||
@@ -65,6 +66,68 @@ void qemudReportError(virConnectPtr conn
|
|
||||||
__virRaiseError(conn, dom, net, VIR_FROM_QEMU, code, VIR_ERR_ERROR,
|
|
||||||
NULL, NULL, NULL, -1, -1, errorMessage);
|
|
||||||
}
|
|
||||||
+
|
|
||||||
+int qemudLoadDriverConfig(struct qemud_driver *driver,
|
|
||||||
+ const char *filename) {
|
|
||||||
+ virConfPtr conf;
|
|
||||||
+ virConfValuePtr p;
|
|
||||||
+
|
|
||||||
+ /* Setup 2 critical defaults */
|
|
||||||
+ strcpy(driver->vncListen, "127.0.0.1");
|
|
||||||
+ if (!(driver->vncTLSx509certdir = strdup(SYSCONF_DIR "/pki/libvirt-vnc"))) {
|
|
||||||
+ qemudReportError(NULL, NULL, NULL, VIR_ERR_NO_MEMORY,
|
|
||||||
+ "vncTLSx509certdir");
|
|
||||||
+ return -1;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ /* Just check the file is readable before opening it, otherwise
|
|
||||||
+ * libvirt emits an error.
|
|
||||||
+ */
|
|
||||||
+ if (access (filename, R_OK) == -1) return 0;
|
|
||||||
+
|
|
||||||
+ conf = virConfReadFile (filename);
|
|
||||||
+ if (!conf) return 0;
|
|
||||||
+
|
|
||||||
+
|
|
||||||
+#define CHECK_TYPE(name,typ) if (p && p->type != (typ)) { \
|
|
||||||
+ qemudReportError(NULL, NULL, NULL, VIR_ERR_INTERNAL_ERROR, \
|
|
||||||
+ "remoteReadConfigFile: %s: %s: expected type " #typ "\n", \
|
|
||||||
+ filename, (name)); \
|
|
||||||
+ virConfFree(conf); \
|
|
||||||
+ return -1; \
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ p = virConfGetValue (conf, "vnc_tls");
|
|
||||||
+ CHECK_TYPE ("vnc_tls", VIR_CONF_LONG);
|
|
||||||
+ if (p) driver->vncTLS = p->l;
|
|
||||||
+
|
|
||||||
+ p = virConfGetValue (conf, "vnc_tls_x509_verify");
|
|
||||||
+ CHECK_TYPE ("vnc_tls_x509_verify", VIR_CONF_LONG);
|
|
||||||
+ if (p) driver->vncTLSx509verify = p->l;
|
|
||||||
+
|
|
||||||
+ p = virConfGetValue (conf, "vnc_tls_x509_cert_dir");
|
|
||||||
+ CHECK_TYPE ("vnc_tls_x509_cert_dir", VIR_CONF_STRING);
|
|
||||||
+ if (p && p->str) {
|
|
||||||
+ free(driver->vncTLSx509certdir);
|
|
||||||
+ if (!(driver->vncTLSx509certdir = strdup(p->str))) {
|
|
||||||
+ qemudReportError(NULL, NULL, NULL, VIR_ERR_NO_MEMORY,
|
|
||||||
+ "vncTLSx509certdir");
|
|
||||||
+ virConfFree(conf);
|
|
||||||
+ return -1;
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ p = virConfGetValue (conf, "vnc_listen");
|
|
||||||
+ CHECK_TYPE ("vnc_listen", VIR_CONF_STRING);
|
|
||||||
+ if (p && p->str) {
|
|
||||||
+ strncpy(driver->vncListen, p->str, sizeof(driver->vncListen));
|
|
||||||
+ driver->vncListen[sizeof(driver->vncListen)-1] = '\0';
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ virConfFree (conf);
|
|
||||||
+ return 0;
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
|
|
||||||
struct qemud_vm *qemudFindVMByID(const struct qemud_driver *driver, int id) {
|
|
||||||
struct qemud_vm *vm = driver->vms;
|
|
||||||
@@ -1234,7 +1297,7 @@ static struct qemud_vm_def *qemudParseXM
|
|
||||||
if (vnclisten && *vnclisten)
|
|
||||||
strncpy(def->vncListen, (char *)vnclisten, BR_INET_ADDR_MAXLEN-1);
|
|
||||||
else
|
|
||||||
- strcpy(def->vncListen, "127.0.0.1");
|
|
||||||
+ strcpy(def->vncListen, driver->vncListen);
|
|
||||||
def->vncListen[BR_INET_ADDR_MAXLEN-1] = '\0';
|
|
||||||
xmlFree(vncport);
|
|
||||||
xmlFree(vnclisten);
|
|
||||||
@@ -1750,15 +1813,30 @@ int qemudBuildCommandLine(virConnectPtr
|
|
||||||
}
|
|
||||||
|
|
||||||
if (vm->def->graphicsType == QEMUD_GRAPHICS_VNC) {
|
|
||||||
- char vncdisplay[BR_INET_ADDR_MAXLEN+20];
|
|
||||||
+ char vncdisplay[PATH_MAX];
|
|
||||||
int ret;
|
|
||||||
- if (vm->qemuCmdFlags & QEMUD_CMD_FLAG_VNC_COLON)
|
|
||||||
- ret = snprintf(vncdisplay, sizeof(vncdisplay), "%s:%d",
|
|
||||||
+
|
|
||||||
+ if (vm->qemuCmdFlags & QEMUD_CMD_FLAG_VNC_COLON) {
|
|
||||||
+ char options[PATH_MAX] = "";
|
|
||||||
+ if (driver->vncTLS) {
|
|
||||||
+ strcat(options, ",tls");
|
|
||||||
+ if (driver->vncTLSx509verify) {
|
|
||||||
+ strcat(options, ",x509verify=");
|
|
||||||
+ } else {
|
|
||||||
+ strcat(options, ",x509=");
|
|
||||||
+ }
|
|
||||||
+ strncat(options, driver->vncTLSx509certdir,
|
|
||||||
+ sizeof(options) - (strlen(driver->vncTLSx509certdir)-1));
|
|
||||||
+ options[sizeof(options)-1] = '\0';
|
|
||||||
+ }
|
|
||||||
+ ret = snprintf(vncdisplay, sizeof(vncdisplay), "%s:%d%s",
|
|
||||||
vm->def->vncListen,
|
|
||||||
- vm->def->vncActivePort - 5900);
|
|
||||||
- else
|
|
||||||
+ vm->def->vncActivePort - 5900,
|
|
||||||
+ options);
|
|
||||||
+ } else {
|
|
||||||
ret = snprintf(vncdisplay, sizeof(vncdisplay), "%d",
|
|
||||||
vm->def->vncActivePort - 5900);
|
|
||||||
+ }
|
|
||||||
if (ret < 0 || ret >= (int)sizeof(vncdisplay))
|
|
||||||
goto error;
|
|
||||||
|
|
||||||
diff -r 522efe7f7e8f -r c48e81e685a3 src/qemu_conf.h
|
|
||||||
--- a/src/qemu_conf.h Wed Oct 10 18:46:17 2007 +0000
|
|
||||||
+++ b/src/qemu_conf.h Fri Oct 12 15:05:44 2007 +0000
|
|
||||||
@@ -289,6 +289,10 @@ struct qemud_driver {
|
|
||||||
char *networkConfigDir;
|
|
||||||
char *networkAutostartDir;
|
|
||||||
char logDir[PATH_MAX];
|
|
||||||
+ int vncTLS : 1;
|
|
||||||
+ int vncTLSx509verify : 1;
|
|
||||||
+ char *vncTLSx509certdir;
|
|
||||||
+ char vncListen[BR_INET_ADDR_MAXLEN];
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
@@ -311,6 +315,8 @@ void qemudReportError(virConnectPtr conn
|
|
||||||
ATTRIBUTE_FORMAT(printf,5,6);
|
|
||||||
|
|
||||||
|
|
||||||
+int qemudLoadDriverConfig(struct qemud_driver *driver,
|
|
||||||
+ const char *filename);
|
|
||||||
|
|
||||||
struct qemud_vm *qemudFindVMByID(const struct qemud_driver *driver,
|
|
||||||
int id);
|
|
||||||
diff -r 522efe7f7e8f -r c48e81e685a3 src/qemu_driver.c
|
|
||||||
--- a/src/qemu_driver.c Wed Oct 10 18:46:17 2007 +0000
|
|
||||||
+++ b/src/qemu_driver.c Fri Oct 12 15:05:44 2007 +0000
|
|
||||||
@@ -155,6 +155,7 @@ qemudStartup(void) {
|
|
||||||
uid_t uid = geteuid();
|
|
||||||
struct passwd *pw;
|
|
||||||
char *base = NULL;
|
|
||||||
+ char driverConf[PATH_MAX];
|
|
||||||
|
|
||||||
if (!(qemu_driver = calloc(1, sizeof(struct qemud_driver)))) {
|
|
||||||
return -1;
|
|
||||||
@@ -167,7 +168,7 @@ qemudStartup(void) {
|
|
||||||
if (snprintf(qemu_driver->logDir, PATH_MAX, "%s/log/libvirt/qemu", LOCAL_STATE_DIR) >= PATH_MAX)
|
|
||||||
goto snprintf_error;
|
|
||||||
|
|
||||||
- if ((base = strdup (SYSCONF_DIR "/libvirt/qemu")) == NULL)
|
|
||||||
+ if ((base = strdup (SYSCONF_DIR "/libvirt")) == NULL)
|
|
||||||
goto out_of_memory;
|
|
||||||
} else {
|
|
||||||
if (!(pw = getpwuid(uid))) {
|
|
||||||
@@ -179,7 +180,7 @@ qemudStartup(void) {
|
|
||||||
if (snprintf(qemu_driver->logDir, PATH_MAX, "%s/.libvirt/qemu/log", pw->pw_dir) >= PATH_MAX)
|
|
||||||
goto snprintf_error;
|
|
||||||
|
|
||||||
- if (asprintf (&base, "%s/.libvirt/qemu", pw->pw_dir) == -1) {
|
|
||||||
+ if (asprintf (&base, "%s/.libvirt", pw->pw_dir) == -1) {
|
|
||||||
qemudLog (QEMUD_ERR, "out of memory in asprintf");
|
|
||||||
goto out_of_memory;
|
|
||||||
}
|
|
||||||
@@ -188,24 +189,36 @@ qemudStartup(void) {
|
|
||||||
/* Configuration paths are either ~/.libvirt/qemu/... (session) or
|
|
||||||
* /etc/libvirt/qemu/... (system).
|
|
||||||
*/
|
|
||||||
- if (asprintf (&qemu_driver->configDir, "%s", base) == -1)
|
|
||||||
+ if (snprintf (driverConf, sizeof(driverConf), "%s/qemu.conf", base) == -1)
|
|
||||||
goto out_of_memory;
|
|
||||||
-
|
|
||||||
- if (asprintf (&qemu_driver->autostartDir, "%s/autostart", base) == -1)
|
|
||||||
+ driverConf[sizeof(driverConf)-1] = '\0';
|
|
||||||
+
|
|
||||||
+ if (asprintf (&qemu_driver->configDir, "%s/qemu", base) == -1)
|
|
||||||
goto out_of_memory;
|
|
||||||
|
|
||||||
- if (asprintf (&qemu_driver->networkConfigDir, "%s/networks", base) == -1)
|
|
||||||
+ if (asprintf (&qemu_driver->autostartDir, "%s/qemu/autostart", base) == -1)
|
|
||||||
goto out_of_memory;
|
|
||||||
|
|
||||||
- if (asprintf (&qemu_driver->networkAutostartDir, "%s/networks/autostart",
|
|
||||||
+ if (asprintf (&qemu_driver->networkConfigDir, "%s/qemu/networks", base) == -1)
|
|
||||||
+ goto out_of_memory;
|
|
||||||
+
|
|
||||||
+ if (asprintf (&qemu_driver->networkAutostartDir, "%s/qemu/networks/autostart",
|
|
||||||
base) == -1)
|
|
||||||
goto out_of_memory;
|
|
||||||
|
|
||||||
- if (qemudScanConfigs(qemu_driver) < 0)
|
|
||||||
+ free(base);
|
|
||||||
+
|
|
||||||
+ if (qemudLoadDriverConfig(qemu_driver, driverConf) < 0) {
|
|
||||||
qemudShutdown();
|
|
||||||
+ return -1;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ if (qemudScanConfigs(qemu_driver) < 0) {
|
|
||||||
+ qemudShutdown();
|
|
||||||
+ return -1;
|
|
||||||
+ }
|
|
||||||
qemudAutostartConfigs(qemu_driver);
|
|
||||||
|
|
||||||
- free(base);
|
|
||||||
return 0;
|
|
||||||
|
|
||||||
snprintf_error:
|
|
||||||
|
|
||||||
@@ -0,0 +1,51 @@
|
|||||||
|
From 127a39777e9809053bb98a9082e27c73543ccfa2 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Daniel P. Berrange <berrange@redhat.com>
|
||||||
|
Date: Mon, 17 Aug 2009 08:32:08 +0100
|
||||||
|
Subject: [PATCH] Disable sound cards when running sVirt
|
||||||
|
|
||||||
|
Temporary hack till PulseAudio autostart problems are sorted out when
|
||||||
|
SELinux enforcing (bz 486112)
|
||||||
|
|
||||||
|
Fedora-patch: libvirt-0.6.4-svirt-sound.patch
|
||||||
|
---
|
||||||
|
src/qemu_conf.c | 17 ++++++++++++++++-
|
||||||
|
1 files changed, 16 insertions(+), 1 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/src/qemu_conf.c b/src/qemu_conf.c
|
||||||
|
index f92bcef..f3b4ef0 100644
|
||||||
|
--- a/src/qemu_conf.c
|
||||||
|
+++ b/src/qemu_conf.c
|
||||||
|
@@ -1510,6 +1510,20 @@ int qemudBuildCommandLine(virConnectPtr conn,
|
||||||
|
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);
|
||||||
|
|
||||||
|
@@ -2181,7 +2195,8 @@ int qemudBuildCommandLine(virConnectPtr conn,
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Add sound hardware */
|
||||||
|
- if (def->nsounds) {
|
||||||
|
+ if (def->nsounds &&
|
||||||
|
+ !skipSound) {
|
||||||
|
int size = 100;
|
||||||
|
char *modstr;
|
||||||
|
if (VIR_ALLOC_N(modstr, size+1) < 0)
|
||||||
|
--
|
||||||
|
1.6.2.5
|
||||||
|
|
||||||
@@ -0,0 +1,32 @@
|
|||||||
|
From 2f6e857ac7d6ed5cd417e684147dd9c98775ab3d Mon Sep 17 00:00:00 2001
|
||||||
|
From: Chris Lalancette <clalance@redhat.com>
|
||||||
|
Date: Mon, 21 Sep 2009 14:53:31 +0200
|
||||||
|
Subject: [PATCH] Don't do virSetConnError when virDrvSupportsFeature is successful.
|
||||||
|
|
||||||
|
Signed-off-by: Chris Lalancette <clalance@redhat.com>
|
||||||
|
Fedora-patch: libvirt-fix-drv-supports-feature-bogus-error.patch
|
||||||
|
---
|
||||||
|
src/libvirt.c | 7 +++++--
|
||||||
|
1 files changed, 5 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/src/libvirt.c b/src/libvirt.c
|
||||||
|
index 4a11688..fa59dc7 100644
|
||||||
|
--- a/src/libvirt.c
|
||||||
|
+++ b/src/libvirt.c
|
||||||
|
@@ -1349,8 +1349,11 @@ virDrvSupportsFeature (virConnectPtr conn, int feature)
|
||||||
|
}
|
||||||
|
|
||||||
|
ret = VIR_DRV_SUPPORTS_FEATURE (conn->driver, conn, feature);
|
||||||
|
- /* Copy to connection error object for back compatability */
|
||||||
|
- virSetConnError(conn);
|
||||||
|
+
|
||||||
|
+ if (ret < 0)
|
||||||
|
+ /* Copy to connection error object for back compatability */
|
||||||
|
+ virSetConnError(conn);
|
||||||
|
+
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
--
|
||||||
|
1.6.2.5
|
||||||
|
|
||||||
@@ -0,0 +1,46 @@
|
|||||||
|
From d09ff3c35c29d14760d5ea03559042cc024e09ab Mon Sep 17 00:00:00 2001
|
||||||
|
From: Mark McLoughlin <markmc@redhat.com>
|
||||||
|
Date: Thu, 17 Sep 2009 15:31:08 +0100
|
||||||
|
Subject: [PATCH] Fix net/disk hot-unplug segfault
|
||||||
|
|
||||||
|
When we hot-unplug the last device, we're currently double-freeing
|
||||||
|
the device definition.
|
||||||
|
|
||||||
|
Reported by Michal Nowak here:
|
||||||
|
|
||||||
|
https://bugzilla.redhat.com/523953
|
||||||
|
|
||||||
|
* src/qemu_driver.c: fix double free
|
||||||
|
|
||||||
|
(cherry-picked from commit 8881ae1bf8783006777429403cc543c33187175d)
|
||||||
|
|
||||||
|
Fedora-patch: libvirt-fix-net-hotunplug-double-free.patch
|
||||||
|
---
|
||||||
|
src/qemu_driver.c | 4 ++--
|
||||||
|
1 files changed, 2 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/src/qemu_driver.c b/src/qemu_driver.c
|
||||||
|
index a65334f..de31581 100644
|
||||||
|
--- a/src/qemu_driver.c
|
||||||
|
+++ b/src/qemu_driver.c
|
||||||
|
@@ -5998,7 +5998,7 @@ try_command:
|
||||||
|
/* ignore, harmless */
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
- VIR_FREE(vm->def->disks[0]);
|
||||||
|
+ VIR_FREE(vm->def->disks);
|
||||||
|
vm->def->ndisks = 0;
|
||||||
|
}
|
||||||
|
virDomainDiskDefFree(detach);
|
||||||
|
@@ -6100,7 +6100,7 @@ qemudDomainDetachNetDevice(virConnectPtr conn,
|
||||||
|
/* ignore, harmless */
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
- VIR_FREE(vm->def->nets[0]);
|
||||||
|
+ VIR_FREE(vm->def->nets);
|
||||||
|
vm->def->nnets = 0;
|
||||||
|
}
|
||||||
|
virDomainNetDefFree(detach);
|
||||||
|
--
|
||||||
|
1.6.2.5
|
||||||
|
|
||||||
@@ -0,0 +1,50 @@
|
|||||||
|
From d04ac8624f5fabe7587982796f2e2161220b0fcc Mon Sep 17 00:00:00 2001
|
||||||
|
From: Mark McLoughlin <markmc@redhat.com>
|
||||||
|
Date: Thu, 17 Sep 2009 15:32:45 +0100
|
||||||
|
Subject: [PATCH] Fix leak in PCI hostdev hot-unplug
|
||||||
|
|
||||||
|
* src/qemu_driver.c: sync the hostdev hot-unplug code with the disk/net
|
||||||
|
code.
|
||||||
|
|
||||||
|
(cherry-picked from commit a70da51ff76ed860bfc0cdee2e1d556da997c557)
|
||||||
|
|
||||||
|
Fedora-patch: libvirt-fix-pci-hostdev-hotunplug-leak.patch
|
||||||
|
---
|
||||||
|
src/qemu_driver.c | 20 +++++++++++++-------
|
||||||
|
1 files changed, 13 insertions(+), 7 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/src/qemu_driver.c b/src/qemu_driver.c
|
||||||
|
index de31581..2ddcdc0 100644
|
||||||
|
--- a/src/qemu_driver.c
|
||||||
|
+++ b/src/qemu_driver.c
|
||||||
|
@@ -6206,14 +6206,20 @@ static int qemudDomainDetachHostPciDevice(virConnectPtr conn,
|
||||||
|
pciFreeDevice(conn, pci);
|
||||||
|
}
|
||||||
|
|
||||||
|
- if (i != --vm->def->nhostdevs)
|
||||||
|
- memmove(&vm->def->hostdevs[i],
|
||||||
|
- &vm->def->hostdevs[i+1],
|
||||||
|
- sizeof(*vm->def->hostdevs) * (vm->def->nhostdevs-i));
|
||||||
|
- if (VIR_REALLOC_N(vm->def->hostdevs, vm->def->nhostdevs) < 0) {
|
||||||
|
- virReportOOMError(conn);
|
||||||
|
- ret = -1;
|
||||||
|
+ if (vm->def->nhostdevs > 1) {
|
||||||
|
+ memmove(vm->def->hostdevs + i,
|
||||||
|
+ vm->def->hostdevs + i + 1,
|
||||||
|
+ sizeof(*vm->def->hostdevs) *
|
||||||
|
+ (vm->def->nhostdevs - (i + 1)));
|
||||||
|
+ vm->def->nhostdevs--;
|
||||||
|
+ if (VIR_REALLOC_N(vm->def->hostdevs, vm->def->nhostdevs) < 0) {
|
||||||
|
+ /* ignore, harmless */
|
||||||
|
+ }
|
||||||
|
+ } else {
|
||||||
|
+ VIR_FREE(vm->def->hostdevs);
|
||||||
|
+ vm->def->nhostdevs = 0;
|
||||||
|
}
|
||||||
|
+ virDomainHostdevDefFree(detach);
|
||||||
|
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
--
|
||||||
|
1.6.2.5
|
||||||
|
|
||||||
@@ -0,0 +1,53 @@
|
|||||||
|
From e50c91fdcea5d81e3eb2051c05f4e51a16c3e692 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Charles Duffy <Charles_Duffy@dell.com>
|
||||||
|
Date: Fri, 18 Sep 2009 11:32:35 -0500
|
||||||
|
Subject: [PATCH] Prevent attempt to call cat -c during virDomainSave to raw
|
||||||
|
|
||||||
|
Fedora-patch: libvirt-fix-qemu-raw-format-save.patch
|
||||||
|
---
|
||||||
|
src/qemu_driver.c | 28 ++++++++++++++++++----------
|
||||||
|
1 files changed, 18 insertions(+), 10 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/src/qemu_driver.c b/src/qemu_driver.c
|
||||||
|
index 2ddcdc0..7c7b985 100644
|
||||||
|
--- a/src/qemu_driver.c
|
||||||
|
+++ b/src/qemu_driver.c
|
||||||
|
@@ -3905,17 +3905,25 @@ static int qemudDomainSave(virDomainPtr dom,
|
||||||
|
goto cleanup;
|
||||||
|
}
|
||||||
|
|
||||||
|
- const char *prog = qemudSaveCompressionTypeToString(header.compressed);
|
||||||
|
- if (prog == NULL) {
|
||||||
|
- qemudReportError(dom->conn, dom, NULL, VIR_ERR_INTERNAL_ERROR,
|
||||||
|
- _("Invalid compress format %d"), header.compressed);
|
||||||
|
- goto cleanup;
|
||||||
|
- }
|
||||||
|
+ {
|
||||||
|
+ const char *prog = qemudSaveCompressionTypeToString(header.compressed);
|
||||||
|
+ const char *args;
|
||||||
|
|
||||||
|
- if (STREQ (prog, "raw"))
|
||||||
|
- prog = "cat";
|
||||||
|
- internalret = virAsprintf(&command, "migrate \"exec:"
|
||||||
|
- "%s -c >> '%s' 2>/dev/null\"", prog, safe_path);
|
||||||
|
+ if (prog == NULL) {
|
||||||
|
+ qemudReportError(dom->conn, dom, NULL, VIR_ERR_INTERNAL_ERROR,
|
||||||
|
+ _("Invalid compress format %d"), header.compressed);
|
||||||
|
+ goto cleanup;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ if (STREQ (prog, "raw")) {
|
||||||
|
+ prog = "cat";
|
||||||
|
+ args = "";
|
||||||
|
+ } else {
|
||||||
|
+ args = "-c";
|
||||||
|
+ }
|
||||||
|
+ internalret = virAsprintf(&command, "migrate \"exec:"
|
||||||
|
+ "%s %s >> '%s' 2>/dev/null\"", prog, args, safe_path);
|
||||||
|
+ }
|
||||||
|
|
||||||
|
if (internalret < 0) {
|
||||||
|
virReportOOMError(dom->conn);
|
||||||
|
--
|
||||||
|
1.6.2.5
|
||||||
|
|
||||||
+763
-73
@@ -1,105 +1,545 @@
|
|||||||
# -*- rpm-spec -*-
|
# -*- rpm-spec -*-
|
||||||
|
|
||||||
|
# A client only build will create a libvirt.so only containing
|
||||||
|
# the generic RPC driver, and test driver and no libvirtd
|
||||||
|
# Default to a full server + client build
|
||||||
|
%define client_only 0
|
||||||
|
|
||||||
|
# Now turn off server build in certain cases
|
||||||
|
|
||||||
|
# RHEL-5 builds are client-only for s390, ppc
|
||||||
|
%if 0%{?rhel} == 5
|
||||||
|
%ifnarch i386 i586 i686 x86_64 ia64
|
||||||
|
%define client_only 1
|
||||||
|
%endif
|
||||||
|
%endif
|
||||||
|
|
||||||
|
# Disable all server side drivers if client only build requested
|
||||||
|
%if %{client_only}
|
||||||
|
%define server_drivers 0
|
||||||
|
%else
|
||||||
|
%define server_drivers 1
|
||||||
|
%endif
|
||||||
|
|
||||||
|
|
||||||
|
# Now set the defaults for all the important features, independant
|
||||||
|
# of any particular OS
|
||||||
|
|
||||||
|
# First the daemon itself
|
||||||
|
%define with_libvirtd 0%{!?_without_libvirtd:%{server_drivers}}
|
||||||
|
%define with_avahi 0%{!?_without_avahi:%{server_drivers}}
|
||||||
|
|
||||||
|
# Then the hypervisor drivers
|
||||||
|
%define with_xen 0%{!?_without_xen:%{server_drivers}}
|
||||||
|
%define with_xen_proxy 0%{!?_without_xen_proxy:%{server_drivers}}
|
||||||
|
%define with_qemu 0%{!?_without_qemu:%{server_drivers}}
|
||||||
|
%define with_openvz 0%{!?_without_openvz:%{server_drivers}}
|
||||||
|
%define with_lxc 0%{!?_without_lxc:%{server_drivers}}
|
||||||
|
%define with_vbox 0%{!?_without_vbox:%{server_drivers}}
|
||||||
|
%define with_uml 0%{!?_without_uml:%{server_drivers}}
|
||||||
|
%define with_one 0%{!?_without_one:%{server_drivers}}
|
||||||
|
%define with_phyp 0%{!?_without_phyp:%{server_drivers}}
|
||||||
|
%define with_esx 0%{!?_without_esx:%{server_drivers}}
|
||||||
|
|
||||||
|
# Then the secondary host drivers
|
||||||
|
%define with_network 0%{!?_without_network:%{server_drivers}}
|
||||||
|
%define with_storage_fs 0%{!?_without_storage_fs:%{server_drivers}}
|
||||||
|
%define with_storage_lvm 0%{!?_without_storage_lvm:%{server_drivers}}
|
||||||
|
%define with_storage_iscsi 0%{!?_without_storage_iscsi:%{server_drivers}}
|
||||||
|
%define with_storage_disk 0%{!?_without_storage_disk:%{server_drivers}}
|
||||||
|
%define with_storage_mpath 0%{!?_without_storage_mpath:%{server_drivers}}
|
||||||
|
%define with_numactl 0%{!?_without_numactl:%{server_drivers}}
|
||||||
|
%define with_selinux 0%{!?_without_selinux:%{server_drivers}}
|
||||||
|
%define with_hal 0%{!?_without_hal:%{server_drivers}}
|
||||||
|
|
||||||
|
# A few optional bits off by default, we enable later
|
||||||
|
%define with_polkit 0%{!?_without_polkit:0}
|
||||||
|
%define with_capng 0%{!?_without_capng:0}
|
||||||
|
%define with_netcf 0%{!?_without_netcf:0}
|
||||||
|
|
||||||
|
# Non-server/HV driver defaults which are always enabled
|
||||||
|
%define with_python 0%{!?_without_python:1}
|
||||||
|
%define with_sasl 0%{!?_without_sasl:1}
|
||||||
|
|
||||||
|
|
||||||
|
# Finally set the OS / architecture specific special cases
|
||||||
|
|
||||||
|
# Xen is available only on i386 x86_64 ia64
|
||||||
|
%ifnarch i386 i586 i686 x86_64 ia64
|
||||||
|
%define with_xen 0
|
||||||
|
%endif
|
||||||
|
|
||||||
|
# Numactl is not available on s390[x]
|
||||||
|
%ifarch s390 s390x
|
||||||
|
%define with_numactl 0
|
||||||
|
%endif
|
||||||
|
|
||||||
|
# RHEL doesn't ship OpenVZ, VBox, UML, OpenNebula, PowerHypervisor or ESX
|
||||||
|
%if 0%{?rhel}
|
||||||
|
%define with_openvz 0
|
||||||
|
%define with_vbox 0
|
||||||
|
%define with_uml 0
|
||||||
|
%define with_one 0
|
||||||
|
%define with_phyp 0
|
||||||
|
%define with_esx 0
|
||||||
|
%endif
|
||||||
|
|
||||||
|
# RHEL-5 has restricted QEMU to x86_64 only and is too old for LXC
|
||||||
|
%if 0%{?rhel} == 5
|
||||||
|
%ifnarch x86_64
|
||||||
|
%define with_qemu 0
|
||||||
|
%endif
|
||||||
|
%define with_lxc 0
|
||||||
|
%endif
|
||||||
|
|
||||||
|
# RHEL-6 has restricted QEMU to x86_64 only, stopped including Xen
|
||||||
|
# on all archs. Other archs all have LXC available though
|
||||||
|
%if 0%{?rhel} >= 6
|
||||||
|
%ifnarch x86_64
|
||||||
|
%define with_qemu 0
|
||||||
|
%endif
|
||||||
|
%define with_xen 0
|
||||||
|
%endif
|
||||||
|
# If Xen isn't turned on, we shouldn't build the xen proxy either
|
||||||
|
%if ! %{with_xen}
|
||||||
|
%define with_xen_proxy 0
|
||||||
|
%endif
|
||||||
|
|
||||||
|
# Fedora doesn't have any QEMU on ppc64 - only ppc
|
||||||
|
%if 0%{?fedora}
|
||||||
|
%ifarch ppc64
|
||||||
|
%define with_qemu 0
|
||||||
|
%endif
|
||||||
|
%endif
|
||||||
|
|
||||||
|
# PolicyKit was introduced in Fedora 8 / RHEL-6 or newer, allowing
|
||||||
|
# the setuid Xen proxy to be killed off
|
||||||
|
%if 0%{?fedora} >= 8 || 0%{?rhel} >= 6
|
||||||
|
%define with_polkit 0%{!?_without_polkit:1}
|
||||||
|
%define with_xen_proxy 0
|
||||||
|
%endif
|
||||||
|
|
||||||
|
# libcapng is used to manage capabilities in Fedora 12 / RHEL-6 or newer
|
||||||
|
%if 0%{?fedora} >= 12 || 0%{?rhel} >= 6
|
||||||
|
%define with_capng 0%{!?_without_capng:1}
|
||||||
|
%endif
|
||||||
|
|
||||||
|
# netcf is used to manage network interfaces in Fedora 12 / RHEL-6 or newer
|
||||||
|
%if 0%{?fedora} >= 12 || 0%{?rhel} >= 6
|
||||||
|
%define with_netcf 0%{!?_without_netcf:%{server_drivers}}
|
||||||
|
%endif
|
||||||
|
|
||||||
|
# Force QEMU to run as non-root
|
||||||
|
%if 0%{?fedora} >= 12 || 0%{?rhel} >= 6
|
||||||
|
%define qemu_user qemu
|
||||||
|
%define qemu_group qemu
|
||||||
|
%else
|
||||||
|
%define qemu_user root
|
||||||
|
%define qemu_group root
|
||||||
|
%endif
|
||||||
|
|
||||||
|
|
||||||
|
# The RHEL-5 Xen package has some feature backports. This
|
||||||
|
# flag is set to enable use of those special bits on RHEL-5
|
||||||
|
%if 0%{?rhel} == 5
|
||||||
|
%define with_rhel5 1
|
||||||
|
%else
|
||||||
|
%define with_rhel5 0
|
||||||
|
%endif
|
||||||
|
|
||||||
|
|
||||||
Summary: Library providing a simple API virtualization
|
Summary: Library providing a simple API virtualization
|
||||||
Name: libvirt
|
Name: libvirt
|
||||||
Version: 0.3.3
|
Version: 0.7.1
|
||||||
Release: 2%{?dist}%{?extra_release}
|
Release: 6%{?dist}%{?extra_release}
|
||||||
License: LGPL
|
License: LGPLv2+
|
||||||
Group: Development/Libraries
|
Group: Development/Libraries
|
||||||
Source: libvirt-%{version}.tar.gz
|
Source: http://libvirt.org/sources/libvirt-%{version}.tar.gz
|
||||||
Patch1: %{name}-%{version}-qemu-config.patch
|
|
||||||
# NB, when removing this patch on next release, also remove the manual
|
|
||||||
# config file copy in the install section of this spec file
|
|
||||||
Patch2: %{name}-%{version}-example-config.patch
|
|
||||||
BuildRoot: %{_tmppath}/%{name}-%{version}-root
|
|
||||||
URL: http://libvirt.org/
|
|
||||||
BuildRequires: python python-devel
|
|
||||||
Requires: libxml2
|
|
||||||
Requires: readline
|
|
||||||
Requires: ncurses
|
|
||||||
Requires: dnsmasq
|
|
||||||
Requires: bridge-utils
|
|
||||||
Requires: iptables
|
|
||||||
|
|
||||||
%ifarch i386 x86_64 ia64
|
# Temporary hack till PulseAudio autostart problems are sorted
|
||||||
|
# out when SELinux enforcing (bz 486112)
|
||||||
|
Patch00: libvirt-0.6.4-svirt-sound.patch
|
||||||
|
|
||||||
|
# A couple of hot-unplug memory handling fixes (#523953)
|
||||||
|
Patch01: libvirt-fix-net-hotunplug-double-free.patch
|
||||||
|
Patch02: libvirt-fix-pci-hostdev-hotunplug-leak.patch
|
||||||
|
|
||||||
|
# Don't set a bogus error in virDrvSupportsFeature()
|
||||||
|
Patch03: libvirt-fix-drv-supports-feature-bogus-error.patch
|
||||||
|
|
||||||
|
# Fix raw save format
|
||||||
|
Patch04: libvirt-fix-qemu-raw-format-save.patch
|
||||||
|
|
||||||
|
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
|
||||||
|
URL: http://libvirt.org/
|
||||||
|
BuildRequires: python-devel
|
||||||
|
|
||||||
|
# The client side, i.e. shared libs and virsh are in a subpackage
|
||||||
|
Requires: libvirt-client = %{version}-%{release}
|
||||||
|
|
||||||
|
# Used by many of the drivers, so turn it on whenever the
|
||||||
|
# daemon is present
|
||||||
|
%if %{with_libvirtd}
|
||||||
|
Requires: bridge-utils
|
||||||
|
%endif
|
||||||
|
%if %{with_network}
|
||||||
|
Requires: dnsmasq
|
||||||
|
Requires: iptables
|
||||||
|
%endif
|
||||||
|
# needed for device enumeration
|
||||||
|
%if %{with_hal}
|
||||||
|
Requires: hal
|
||||||
|
%endif
|
||||||
|
%if %{with_polkit}
|
||||||
|
%if 0%{?fedora} >= 12 || 0%{?rhel} >=6
|
||||||
|
Requires: polkit >= 0.93
|
||||||
|
%else
|
||||||
|
Requires: PolicyKit >= 0.6
|
||||||
|
%endif
|
||||||
|
%endif
|
||||||
|
%if %{with_storage_fs}
|
||||||
|
# For mount/umount in FS driver
|
||||||
|
BuildRequires: util-linux
|
||||||
|
# For showmount in FS driver (netfs discovery)
|
||||||
|
BuildRequires: nfs-utils
|
||||||
|
Requires: nfs-utils
|
||||||
|
# For glusterfs
|
||||||
|
%if 0%{?fedora} >= 11
|
||||||
|
Requires: glusterfs-client >= 2.0.1
|
||||||
|
%endif
|
||||||
|
%endif
|
||||||
|
%if %{with_qemu}
|
||||||
|
# From QEMU RPMs
|
||||||
|
Requires: /usr/bin/qemu-img
|
||||||
|
# For image compression
|
||||||
|
Requires: gzip
|
||||||
|
Requires: bzip2
|
||||||
|
Requires: lzop
|
||||||
|
Requires: xz
|
||||||
|
%else
|
||||||
|
%if %{with_xen}
|
||||||
|
# From Xen RPMs
|
||||||
|
Requires: /usr/sbin/qcow-create
|
||||||
|
%endif
|
||||||
|
%endif
|
||||||
|
%if %{with_storage_lvm}
|
||||||
|
# For LVM drivers
|
||||||
|
Requires: lvm2
|
||||||
|
%endif
|
||||||
|
%if %{with_storage_iscsi}
|
||||||
|
# For ISCSI driver
|
||||||
|
Requires: iscsi-initiator-utils
|
||||||
|
%endif
|
||||||
|
%if %{with_storage_disk}
|
||||||
|
# For disk driver
|
||||||
|
Requires: parted
|
||||||
|
%endif
|
||||||
|
%if %{with_storage_mpath}
|
||||||
|
# For multipath support
|
||||||
|
Requires: device-mapper
|
||||||
|
%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
|
||||||
|
%if %{with_hal}
|
||||||
|
BuildRequires: hal-devel
|
||||||
|
%endif
|
||||||
|
%if %{with_avahi}
|
||||||
BuildRequires: avahi-devel
|
BuildRequires: avahi-devel
|
||||||
|
%endif
|
||||||
|
%if %{with_selinux}
|
||||||
|
BuildRequires: libselinux-devel
|
||||||
|
%endif
|
||||||
|
%if %{with_network}
|
||||||
BuildRequires: dnsmasq
|
BuildRequires: dnsmasq
|
||||||
|
%endif
|
||||||
BuildRequires: bridge-utils
|
BuildRequires: bridge-utils
|
||||||
Obsoletes: libvir
|
%if %{with_sasl}
|
||||||
|
BuildRequires: cyrus-sasl-devel
|
||||||
|
%endif
|
||||||
|
%if %{with_polkit}
|
||||||
|
%if 0%{?fedora} >= 12 || 0%{?rhel} >= 6
|
||||||
|
# Only need the binary, not -devel
|
||||||
|
BuildRequires: polkit >= 0.93
|
||||||
|
%else
|
||||||
|
BuildRequires: PolicyKit-devel >= 0.6
|
||||||
|
%endif
|
||||||
|
%endif
|
||||||
|
%if %{with_storage_fs}
|
||||||
|
# For mount/umount in FS driver
|
||||||
|
BuildRequires: util-linux
|
||||||
|
%endif
|
||||||
|
%if %{with_qemu}
|
||||||
|
# From QEMU RPMs
|
||||||
|
BuildRequires: /usr/bin/qemu-img
|
||||||
|
%else
|
||||||
|
%if %{with_xen}
|
||||||
|
# From Xen RPMs
|
||||||
|
BuildRequires: /usr/sbin/qcow-create
|
||||||
|
%endif
|
||||||
|
%endif
|
||||||
|
%if %{with_storage_lvm}
|
||||||
|
# For LVM drivers
|
||||||
|
BuildRequires: lvm2
|
||||||
|
%endif
|
||||||
|
%if %{with_storage_iscsi}
|
||||||
|
# For ISCSI driver
|
||||||
|
BuildRequires: iscsi-initiator-utils
|
||||||
|
%endif
|
||||||
|
%if %{with_storage_disk}
|
||||||
|
# For disk driver
|
||||||
|
BuildRequires: parted-devel
|
||||||
|
%if 0%{?rhel} == 5
|
||||||
|
# Broken RHEL-5 parted RPM is missing a dep
|
||||||
|
BuildRequires: e2fsprogs-devel
|
||||||
|
%endif
|
||||||
|
%endif
|
||||||
|
%if %{with_storage_mpath}
|
||||||
|
# For Multipath support
|
||||||
|
%if 0%{?rhel} == 5
|
||||||
|
# Broken RHEL-5 packaging has header files in main RPM :-(
|
||||||
|
BuildRequires: device-mapper
|
||||||
|
%else
|
||||||
|
BuildRequires: device-mapper-devel
|
||||||
|
%endif
|
||||||
|
%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: libssh2-devel
|
||||||
|
%endif
|
||||||
|
%if %{with_netcf}
|
||||||
|
BuildRequires: netcf-devel
|
||||||
|
%endif
|
||||||
|
|
||||||
# Fedora build root suckage
|
# Fedora build root suckage
|
||||||
BuildRequires: gawk
|
BuildRequires: gawk
|
||||||
|
|
||||||
%description
|
%description
|
||||||
Libvirt is a C toolkit to interract 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
|
||||||
Requires: gnutls-devel
|
|
||||||
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 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
|
||||||
%patch1 -p1
|
|
||||||
%patch2 -p1
|
%patch00 -p1
|
||||||
|
%patch01 -p1
|
||||||
|
%patch02 -p1
|
||||||
|
%patch03 -p1
|
||||||
|
%patch04 -p1
|
||||||
|
|
||||||
%build
|
%build
|
||||||
# Xen is availble 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
|
|
||||||
%else
|
|
||||||
%configure --without-xen --with-init-script=redhat --with-qemud-pid-file=%{_localstatedir}/run/libvirt_qemud.pid --with-remote-file=%{_localstatedir}/run/libvirtd.pid
|
|
||||||
%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_esx}
|
||||||
|
%define _without_esx --without-esx
|
||||||
|
%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_storage_mpath}
|
||||||
|
%define _without_storage_mpath --without-storage-mpath
|
||||||
|
%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
|
||||||
|
|
||||||
|
%if ! %{with_selinux}
|
||||||
|
%define _without_selinux --without-selinux
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%if ! %{with_hal}
|
||||||
|
%define _without_hal --without-hal
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%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_esx} \
|
||||||
|
%{?_without_network} \
|
||||||
|
%{?_with_rhel5_api} \
|
||||||
|
%{?_without_storage_fs} \
|
||||||
|
%{?_without_storage_lvm} \
|
||||||
|
%{?_without_storage_iscsi} \
|
||||||
|
%{?_without_storage_disk} \
|
||||||
|
%{?_without_storage_mpath} \
|
||||||
|
%{?_without_numactl} \
|
||||||
|
%{?_without_capng} \
|
||||||
|
%{?_without_netcf} \
|
||||||
|
%{?_without_selinux} \
|
||||||
|
%{?_without_hal} \
|
||||||
|
--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/
|
|
||||||
|
|
||||||
# Copy files from patch2 into location
|
|
||||||
install -d $RPM_BUILD_ROOT%{_sysconfdir}/libvirt
|
|
||||||
install -m 0755 src/qemu.conf $RPM_BUILD_ROOT%{_sysconfdir}/libvirt/qemu.conf
|
|
||||||
install -m 0755 qemud/libvirtd.conf $RPM_BUILD_ROOT%{_sysconfdir}/libvirt/libvirtd.conf
|
|
||||||
|
|
||||||
|
%if %{with_network}
|
||||||
# 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.
|
||||||
@@ -110,19 +550,56 @@ 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
|
||||||
|
%endif
|
||||||
|
%if ! %{with_qemu}
|
||||||
|
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 %{client_only}
|
||||||
|
rm -rf $RPM_BUILD_ROOT%{_datadir}/doc/libvirt-%{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 || 0%{?rhel} >= 6
|
||||||
|
# Normally 'setup' adds this in /etc/passwd, but this is
|
||||||
|
# here for case of upgrades from earlier Fedora/RHEL. 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_network}
|
||||||
# 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>," \
|
||||||
@@ -130,43 +607,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
|
||||||
|
if [ "$1" -ge "1" ]; then
|
||||||
|
/sbin/service libvirtd condrestart > /dev/null 2>&1
|
||||||
|
fi
|
||||||
|
%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
|
||||||
|
|
||||||
|
%if %{with_libvirtd}
|
||||||
|
%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_network}
|
||||||
%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
|
||||||
|
|
||||||
%{_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
|
||||||
|
|
||||||
|
%if %{with_qemu}
|
||||||
%config(noreplace) %{_sysconfdir}/libvirt/qemu.conf
|
%config(noreplace) %{_sysconfdir}/libvirt/qemu.conf
|
||||||
|
%endif
|
||||||
|
|
||||||
%dir %{_datadir}/libvirt/
|
%dir %{_datadir}/libvirt/
|
||||||
|
|
||||||
|
%if %{with_network}
|
||||||
%dir %{_datadir}/libvirt/networks/
|
%dir %{_datadir}/libvirt/networks/
|
||||||
%{_datadir}/libvirt/networks/default.xml
|
%{_datadir}/libvirt/networks/default.xml
|
||||||
|
%endif
|
||||||
|
|
||||||
%dir %{_localstatedir}/run/libvirt/
|
%dir %{_localstatedir}/run/libvirt/
|
||||||
|
|
||||||
%dir %{_localstatedir}/lib/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, root, root) %{_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
|
||||||
|
|
||||||
|
%{_datadir}/augeas/lenses/libvirtd.aug
|
||||||
|
%{_datadir}/augeas/lenses/tests/test_libvirtd.aug
|
||||||
|
|
||||||
|
%if %{with_polkit}
|
||||||
|
%if 0%{?fedora} >= 12 || 0%{?rhel} >= 6
|
||||||
|
%{_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/
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%if %{with_xen_proxy}
|
||||||
%attr(4755, root, root) %{_libexecdir}/libvirt_proxy
|
%attr(4755, root, root) %{_libexecdir}/libvirt_proxy
|
||||||
|
%endif
|
||||||
|
%if %{with_lxc}
|
||||||
|
%attr(0755, root, root) %{_libexecdir}/libvirt_lxc
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%attr(0755, root, root) %{_libexecdir}/libvirt_parthelper
|
||||||
%attr(0755, root, root) %{_sbindir}/libvirtd
|
%attr(0755, root, root) %{_sbindir}/libvirtd
|
||||||
%doc docs/*.rng
|
|
||||||
%doc docs/*.xml
|
%doc docs/*.xml
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%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
|
||||||
|
%{_datadir}/libvirt/schemas/secret.rng
|
||||||
|
%{_datadir}/libvirt/schemas/storageencryption.rng
|
||||||
|
|
||||||
|
%if %{with_sasl}
|
||||||
|
%config(noreplace) %{_sysconfdir}/sasl2/libvirt.conf
|
||||||
|
%endif
|
||||||
|
|
||||||
%files devel
|
%files devel
|
||||||
%defattr(-, root, root)
|
%defattr(-, root, root)
|
||||||
@@ -175,6 +752,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
|
||||||
@@ -183,7 +761,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)
|
||||||
|
|
||||||
@@ -194,11 +774,133 @@ 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
|
||||||
* Mon Oct 15 2007 Daniel P. Berrange <berrange@redhat.com> - 0.3.3-2.fc8
|
* Mon Sep 21 2009 Chris Weyl <cweyl@alumni.drew.edu> - 0.7.1-6
|
||||||
- Added QEMU driver config file support
|
- rebuild for libssh2 1.2
|
||||||
- Added example config files
|
|
||||||
|
* Mon Sep 21 2009 Mark McLoughlin <markmc@redhat.com> - 0.7.1-5
|
||||||
|
- Don't set a bogus error in virDrvSupportsFeature()
|
||||||
|
- Fix raw save format
|
||||||
|
|
||||||
|
* Thu Sep 17 2009 Mark McLoughlin <markmc@redhat.com> - 0.7.1-4
|
||||||
|
- A couple of hot-unplug memory handling fixes (#523953)
|
||||||
|
|
||||||
|
* Thu Sep 17 2009 Daniel Veillard <veillard@redhat.com> - 0.7.1-3
|
||||||
|
- disable numactl on s390[x]
|
||||||
|
|
||||||
|
* Thu Sep 17 2009 Daniel Veillard <veillard@redhat.com> - 0.7.1-2
|
||||||
|
- revamp of spec file for modularity and RHELs
|
||||||
|
|
||||||
|
* Tue Sep 15 2009 Daniel Veillard <veillard@redhat.com> - 0.7.1-1
|
||||||
|
- Upstream release of 0.7.1
|
||||||
|
- ESX, VBox driver updates
|
||||||
|
- mutipath support
|
||||||
|
- support for encrypted (qcow) volume
|
||||||
|
- compressed save image format for Qemu/KVM
|
||||||
|
- QEmu host PCI device hotplug support
|
||||||
|
- configuration of huge pages in guests
|
||||||
|
- a lot of fixes
|
||||||
|
|
||||||
|
* Mon Sep 14 2009 Mark McLoughlin <markmc@redhat.com> - 0.7.1-0.2.gitfac3f4c
|
||||||
|
- Update to newer snapshot of 0.7.1
|
||||||
|
- Stop libvirt using untrusted 'info vcpus' PID data (#520864)
|
||||||
|
- Support relabelling of USB and PCI devices
|
||||||
|
- Enable multipath storage support
|
||||||
|
- Restart libvirtd upon RPM upgrade
|
||||||
|
|
||||||
|
* Sun Sep 6 2009 Mark McLoughlin <markmc@redhat.com> - 0.7.1-0.1.gitg3ef2e05
|
||||||
|
- Update to pre-release git snapshot of 0.7.1
|
||||||
|
- Drop upstreamed patches
|
||||||
|
|
||||||
|
* Wed Aug 19 2009 Mark McLoughlin <markmc@redhat.com> - 0.7.0-6
|
||||||
|
- Fix migration completion with newer versions of qemu (#516187)
|
||||||
|
|
||||||
|
* Wed Aug 19 2009 Mark McLoughlin <markmc@redhat.com> - 0.7.0-5
|
||||||
|
- Add PCI host device hotplug support
|
||||||
|
- Allow PCI bus reset to reset other devices (#499678)
|
||||||
|
- Fix stupid PCI reset error message (bug #499678)
|
||||||
|
- Allow PM reset on multi-function PCI devices (bug #515689)
|
||||||
|
- Re-attach PCI host devices after guest shuts down (bug #499561)
|
||||||
|
- Fix list corruption after disk hot-unplug
|
||||||
|
- Fix minor 'virsh nodedev-list --tree' annoyance
|
||||||
|
|
||||||
|
* 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
|
||||||
|
- 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 3 2009 Daniel Veillard <veillard@redhat.com> - 0.6.5-1
|
||||||
|
- release of 0.6.5
|
||||||
|
|
||||||
|
* Fri May 29 2009 Daniel Veillard <veillard@redhat.com> - 0.6.4-1
|
||||||
|
- release of 0.6.4
|
||||||
|
- various new APIs
|
||||||
|
|
||||||
|
* Fri Apr 24 2009 Daniel Veillard <veillard@redhat.com> - 0.6.3-1
|
||||||
|
- release of 0.6.3
|
||||||
|
- VirtualBox driver
|
||||||
|
|
||||||
|
* Fri Apr 3 2009 Daniel Veillard <veillard@redhat.com> - 0.6.2-1
|
||||||
|
- release of 0.6.2
|
||||||
|
|
||||||
|
* Fri Mar 4 2009 Daniel Veillard <veillard@redhat.com> - 0.6.1-1
|
||||||
|
- release of 0.6.1
|
||||||
|
|
||||||
|
* Sat Jan 31 2009 Daniel Veillard <veillard@redhat.com> - 0.6.0-1
|
||||||
|
- release of 0.6.0
|
||||||
|
|
||||||
|
* Tue Nov 25 2008 Daniel Veillard <veillard@redhat.com> - 0.5.0-1
|
||||||
|
- release of 0.5.0
|
||||||
|
|
||||||
|
* Tue Sep 23 2008 Daniel Veillard <veillard@redhat.com> - 0.4.6-1
|
||||||
|
- release of 0.4.6
|
||||||
|
|
||||||
|
* Mon Sep 8 2008 Daniel Veillard <veillard@redhat.com> - 0.4.5-1
|
||||||
|
- release of 0.4.5
|
||||||
|
|
||||||
|
* Wed Jun 25 2008 Daniel Veillard <veillard@redhat.com> - 0.4.4-1
|
||||||
|
- release of 0.4.4
|
||||||
|
- mostly a few bug fixes from 0.4.3
|
||||||
|
|
||||||
|
* Thu Jun 12 2008 Daniel Veillard <veillard@redhat.com> - 0.4.3-1
|
||||||
|
- release of 0.4.3
|
||||||
|
- lots of bug fixes and small improvements
|
||||||
|
|
||||||
|
* Tue Apr 8 2008 Daniel Veillard <veillard@redhat.com> - 0.4.2-1
|
||||||
|
- release of 0.4.2
|
||||||
|
- lots of bug fixes and small improvements
|
||||||
|
|
||||||
|
* Mon Mar 3 2008 Daniel Veillard <veillard@redhat.com> - 0.4.1-1
|
||||||
|
- Release of 0.4.1
|
||||||
|
- Storage APIs
|
||||||
|
- xenner support
|
||||||
|
- lots of assorted improvements, bugfixes and cleanups
|
||||||
|
- documentation and localization improvements
|
||||||
|
|
||||||
|
* Tue Dec 18 2007 Daniel Veillard <veillard@redhat.com> - 0.4.0-1
|
||||||
|
- Release of 0.4.0
|
||||||
|
- SASL based authentication
|
||||||
|
- PolicyKit authentication
|
||||||
|
- improved NUMA and statistics support
|
||||||
|
- lots of assorted improvements, bugfixes and cleanups
|
||||||
|
- documentation and localization improvements
|
||||||
|
|
||||||
* Sun Sep 30 2007 Daniel Veillard <veillard@redhat.com> - 0.3.3-1
|
* Sun Sep 30 2007 Daniel Veillard <veillard@redhat.com> - 0.3.3-1
|
||||||
- Release of 0.3.3
|
- Release of 0.3.3
|
||||||
@@ -207,40 +909,28 @@ fi
|
|||||||
- lots of assorted improvements, bugfixes and cleanups
|
- lots of assorted improvements, bugfixes and cleanups
|
||||||
- documentation and localization improvements
|
- documentation and localization improvements
|
||||||
|
|
||||||
* Fri Aug 24 2007 Daniel Veillard <veillard@redhat.com> - 0.3.2-2.fc8
|
* Tue Aug 21 2007 Daniel Veillard <veillard@redhat.com> - 0.3.2-1
|
||||||
- also build on arches where Xen is not available
|
|
||||||
|
|
||||||
* Tue Aug 21 2007 Daniel Veillard <veillard@redhat.com> - 0.3.2-1.fc8
|
|
||||||
- Release of 0.3.2
|
- Release of 0.3.2
|
||||||
- API for domains migration
|
- API for domains migration
|
||||||
- APIs for collecting statistics on disks and interfaces
|
- APIs for collecting statistics on disks and interfaces
|
||||||
- lots of assorted bugfixes and cleanups
|
- lots of assorted bugfixes and cleanups
|
||||||
- documentation and localization improvements
|
- documentation and localization improvements
|
||||||
|
|
||||||
* Thu Aug 16 2007 Daniel Veillard <veillard@redhat.com> - 0.3.1-4.fc8
|
* Tue Jul 24 2007 Daniel Veillard <veillard@redhat.com> - 0.3.1-1
|
||||||
- Fixes missing Requires for libvirt-devel
|
|
||||||
|
|
||||||
* Thu Jul 26 2007 Daniel Veillard <veillard@redhat.com> - 0.3.1-3.fc8
|
|
||||||
- adds fix for bug #249594
|
|
||||||
|
|
||||||
* Wed Jul 25 2007 Jesse Keating <jkeating@redhat.com> - 0.3.1-2
|
|
||||||
- Rebuild for RH #249435
|
|
||||||
|
|
||||||
* Tue Jul 24 2007 Daniel Veillard <veillard@redhat.com> - 0.3.1-1.fc8
|
|
||||||
- Release of 0.3.1
|
- Release of 0.3.1
|
||||||
- localtime clock support
|
- localtime clock support
|
||||||
- PS/2 and USB input devices
|
- PS/2 and USB input devices
|
||||||
- lots of assorted bugfixes and cleanups
|
- lots of assorted bugfixes and cleanups
|
||||||
- documentation and localization improvements
|
- documentation and localization improvements
|
||||||
|
|
||||||
* Mon Jul 9 2007 Daniel Veillard <veillard@redhat.com> - 0.3.0-1.fc8
|
* Mon Jul 9 2007 Daniel Veillard <veillard@redhat.com> - 0.3.0-1
|
||||||
- Release of 0.3.0
|
- Release of 0.3.0
|
||||||
- Secure remote access support
|
- Secure remote access support
|
||||||
- unification of daemons
|
- unification of daemons
|
||||||
- lots of assorted bugfixes and cleanups
|
- lots of assorted bugfixes and cleanups
|
||||||
- documentation and localization improvements
|
- documentation and localization improvements
|
||||||
|
|
||||||
* Fri Jun 8 2007 Daniel Veillard <veillard@redhat.com> - 0.2.3-1.fc8
|
* Fri Jun 8 2007 Daniel Veillard <veillard@redhat.com> - 0.2.3-1
|
||||||
- Release of 0.2.3
|
- Release of 0.2.3
|
||||||
- lot of assorted bugfixes and cleanups
|
- lot of assorted bugfixes and cleanups
|
||||||
- support for Xen-3.1
|
- support for Xen-3.1
|
||||||
|
|||||||
Reference in New Issue
Block a user