Compare commits
2 Commits
libvirt-0_
...
libvirt-0_
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
f6005873fe | ||
|
|
8be9ccc297 |
32
.cvsignore
32
.cvsignore
@@ -1,13 +1,19 @@
|
||||
.build*.log
|
||||
*.rpm
|
||||
i686
|
||||
x86_64
|
||||
libvirt-*.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.tar.gz
|
||||
libvirt-0.7.1.tar.gz
|
||||
libvirt-0.0.3.tar.gz
|
||||
libvirt-0.0.4.tar.gz
|
||||
libvirt-0.0.5.tar.gz
|
||||
libvirt-0.0.6.tar.gz
|
||||
libvirt-0.1.0.tar.gz
|
||||
libvirt-0.1.2.tar.gz
|
||||
libvirt-0.1.1.tar.gz
|
||||
libvirt-0.1.3.tar.gz
|
||||
libvirt-0.1.4.tar.gz
|
||||
libvirt-0.1.5.tar.gz
|
||||
libvirt-0.1.6.tar.gz
|
||||
libvirt-0.1.7.tar.gz
|
||||
libvirt-0.1.8.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
|
||||
|
||||
17
Makefile
17
Makefile
@@ -3,19 +3,4 @@
|
||||
NAME := libvirt
|
||||
SPECFILE = $(firstword $(wildcard *.spec))
|
||||
|
||||
define find-makefile-common
|
||||
for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done
|
||||
endef
|
||||
|
||||
MAKEFILE_COMMON := $(shell $(find-makefile-common))
|
||||
|
||||
ifeq ($(MAKEFILE_COMMON),)
|
||||
# attempt a checkout
|
||||
define checkout-makefile-common
|
||||
test -f CVS/Root && { cvs -Q -d $$(cat CVS/Root) checkout common && echo "common/Makefile.common" ; } || { echo "ERROR: I can't figure out how to checkout the 'common' module." ; exit -1 ; } >&2
|
||||
endef
|
||||
|
||||
MAKEFILE_COMMON := $(shell $(checkout-makefile-common))
|
||||
endif
|
||||
|
||||
include $(MAKEFILE_COMMON)
|
||||
include ../common/Makefile.common
|
||||
|
||||
17
libvirt-0.2.2-bridge-init.patch
Normal file
17
libvirt-0.2.2-bridge-init.patch
Normal file
@@ -0,0 +1,17 @@
|
||||
diff -rup libvirt-0.2.2/qemud/conf.c libvirt-0.2.2.new/qemud/conf.c
|
||||
--- libvirt-0.2.2/qemud/conf.c 2007-05-14 10:38:52.000000000 -0400
|
||||
+++ libvirt-0.2.2.new/qemud/conf.c 2007-05-14 10:38:34.000000000 -0400
|
||||
@@ -1151,6 +1151,12 @@ qemudNetworkIfaceConnect(struct qemud_se
|
||||
goto error;
|
||||
}
|
||||
|
||||
+ if (!server->brctl && (err = brInit(&server->brctl))) {
|
||||
+ qemudReportError(server, VIR_ERR_INTERNAL_ERROR,
|
||||
+ "cannot initialize bridge support: %s", strerror(err));
|
||||
+ goto error;
|
||||
+ }
|
||||
+
|
||||
if ((err = brAddTap(server->brctl, brname,
|
||||
ifname, BR_IFNAME_MAXLEN, &tapfd))) {
|
||||
qemudReportError(server, VIR_ERR_INTERNAL_ERROR,
|
||||
Only in libvirt-0.2.2.new/qemud: conf.c.orig
|
||||
15
libvirt-0.2.2-disable-xm.patch
Normal file
15
libvirt-0.2.2-disable-xm.patch
Normal file
@@ -0,0 +1,15 @@
|
||||
diff -rup libvirt-0.2.2/src/xen_unified.c libvirt-0.2.2.new/src/xen_unified.c
|
||||
--- libvirt-0.2.2/src/xen_unified.c 2007-04-17 04:38:52.000000000 -0400
|
||||
+++ libvirt-0.2.2.new/src/xen_unified.c 2007-05-01 16:49:54.000000000 -0400
|
||||
@@ -112,6 +112,11 @@ xenUnifiedOpen (virConnectPtr conn, cons
|
||||
for (i = 0; i < nb_drivers; ++i) {
|
||||
int failed_to_open = 1;
|
||||
|
||||
+ /* Only use XM driver for Xen <= 3.0.3 (ie xendConfigVersion <= 2) */
|
||||
+ if (drivers[i] == &xenXMDriver &&
|
||||
+ priv->xendConfigVersion > 2)
|
||||
+ continue;
|
||||
+
|
||||
/* Ignore proxy for root */
|
||||
if (i == proxy_offset && getuid() == 0)
|
||||
continue;
|
||||
23
libvirt-0.2.2-dnsmasq-order.patch
Normal file
23
libvirt-0.2.2-dnsmasq-order.patch
Normal file
@@ -0,0 +1,23 @@
|
||||
diff -rup libvirt-0.2.2/qemud/qemud.c libvirt-0.2.2.new/qemud/qemud.c
|
||||
--- libvirt-0.2.2/qemud/qemud.c 2007-04-11 10:13:36.000000000 -0400
|
||||
+++ libvirt-0.2.2.new/qemud/qemud.c 2007-05-01 16:51:15.000000000 -0400
|
||||
@@ -1110,6 +1110,7 @@ qemudBuildDnsmasqArgv(struct qemud_serve
|
||||
len =
|
||||
1 + /* dnsmasq */
|
||||
1 + /* --keep-in-foreground */
|
||||
+ 1 + /* --strict-order */
|
||||
1 + /* --bind-interfaces */
|
||||
2 + /* --pid-file "" */
|
||||
2 + /* --conf-file "" */
|
||||
@@ -1133,6 +1134,11 @@ qemudBuildDnsmasqArgv(struct qemud_serve
|
||||
APPEND_ARG(*argv, i++, "dnsmasq");
|
||||
|
||||
APPEND_ARG(*argv, i++, "--keep-in-foreground");
|
||||
+ /*
|
||||
+ * Needed to ensure dnsmasq uses same algorithm for processing
|
||||
+ * multiple nameserver entries in /etc/resolv.conf as GLibC.
|
||||
+ */
|
||||
+ APPEND_ARG(*argv, i++, "--strict-order");
|
||||
APPEND_ARG(*argv, i++, "--bind-interfaces");
|
||||
|
||||
APPEND_ARG(*argv, i++, "--pid-file");
|
||||
70
libvirt-0.2.2-graphics-hvm.patch
Normal file
70
libvirt-0.2.2-graphics-hvm.patch
Normal file
@@ -0,0 +1,70 @@
|
||||
diff -rup libvirt-0.2.2.new/src/xend_internal.c libvirt-0.2.2/src/xend_internal.c
|
||||
--- libvirt-0.2.2.new/src/xend_internal.c 2007-04-15 16:09:10.000000000 -0400
|
||||
+++ libvirt-0.2.2/src/xend_internal.c 2007-05-03 14:52:42.000000000 -0400
|
||||
@@ -1676,35 +1676,38 @@ xend_parse_sexp_desc(virConnectPtr conn,
|
||||
}
|
||||
}
|
||||
|
||||
- /* Graphics device (HVM <= 3.0.4, or PV <= 3.0.4) vnc config */
|
||||
- tmp = sexpr_fmt_node(root, "domain/image/%s/vnc", hvm ? "hvm" : "linux");
|
||||
- if (tmp != NULL) {
|
||||
- if (tmp[0] == '1') {
|
||||
- int port = xenStoreDomainGetVNCPort(conn, domid);
|
||||
- const char *listenAddr = sexpr_fmt_node(root, "domain/image/%s/vnclisten", hvm ? "hvm" : "linux");
|
||||
- const char *keymap = sexpr_fmt_node(root, "domain/image/%s/keymap", hvm ? "hvm" : "linux");
|
||||
- /* For Xen >= 3.0.3, don't generate a fixed port mapping
|
||||
- * because it will almost certainly be wrong ! Just leave
|
||||
- * it as -1 which lets caller see that the VNC server isn't
|
||||
- * present yet. Subsquent dumps of the XML will eventually
|
||||
- * find the port in XenStore once VNC server has started
|
||||
- */
|
||||
- if (port == -1 && xendConfigVersion < 2)
|
||||
- port = 5900 + domid;
|
||||
- virBufferVSprintf(&buf, " <graphics type='vnc' port='%d'", port);
|
||||
- if (listenAddr)
|
||||
- virBufferVSprintf(&buf, " listen='%s'", listenAddr);
|
||||
- if (keymap)
|
||||
- virBufferVSprintf(&buf, " keymap='%s'", keymap);
|
||||
- virBufferAdd(&buf, "/>\n", 3);
|
||||
+ /* Graphics device (HVM <= 3.0.4, or PV <= 3.0.3) vnc config */
|
||||
+ if ((hvm && xendConfigVersion < 4) ||
|
||||
+ (!hvm && xendConfigVersion < 3)) {
|
||||
+ tmp = sexpr_fmt_node(root, "domain/image/%s/vnc", hvm ? "hvm" : "linux");
|
||||
+ if (tmp != NULL) {
|
||||
+ if (tmp[0] == '1') {
|
||||
+ int port = xenStoreDomainGetVNCPort(conn, domid);
|
||||
+ const char *listenAddr = sexpr_fmt_node(root, "domain/image/%s/vnclisten", hvm ? "hvm" : "linux");
|
||||
+ const char *keymap = sexpr_fmt_node(root, "domain/image/%s/keymap", hvm ? "hvm" : "linux");
|
||||
+ /* For Xen >= 3.0.3, don't generate a fixed port mapping
|
||||
+ * because it will almost certainly be wrong ! Just leave
|
||||
+ * it as -1 which lets caller see that the VNC server isn't
|
||||
+ * present yet. Subsquent dumps of the XML will eventually
|
||||
+ * find the port in XenStore once VNC server has started
|
||||
+ */
|
||||
+ if (port == -1 && xendConfigVersion < 2)
|
||||
+ port = 5900 + domid;
|
||||
+ virBufferVSprintf(&buf, " <graphics type='vnc' port='%d'", port);
|
||||
+ if (listenAddr)
|
||||
+ virBufferVSprintf(&buf, " listen='%s'", listenAddr);
|
||||
+ if (keymap)
|
||||
+ virBufferVSprintf(&buf, " keymap='%s'", keymap);
|
||||
+ virBufferAdd(&buf, "/>\n", 3);
|
||||
+ }
|
||||
}
|
||||
- }
|
||||
|
||||
- /* Graphics device (HVM, or old (pre-3.0.4) style PV sdl config) */
|
||||
- tmp = sexpr_fmt_node(root, "domain/image/%s/sdl", hvm ? "hvm" : "linux");
|
||||
- if (tmp != NULL) {
|
||||
- if (tmp[0] == '1')
|
||||
- virBufferAdd(&buf, " <graphics type='sdl'/>\n", 27 );
|
||||
+ /* Graphics device (HVM, or old (pre-3.0.4) style PV sdl config) */
|
||||
+ tmp = sexpr_fmt_node(root, "domain/image/%s/sdl", hvm ? "hvm" : "linux");
|
||||
+ if (tmp != NULL) {
|
||||
+ if (tmp[0] == '1')
|
||||
+ virBufferAdd(&buf, " <graphics type='sdl'/>\n", 27 );
|
||||
+ }
|
||||
}
|
||||
|
||||
tty = xenStoreDomainGetConsolePath(conn, domid);
|
||||
Only in libvirt-0.2.2/src: xend_internal.c.orig
|
||||
128
libvirt-0.2.2-qemu-noreboot.patch
Normal file
128
libvirt-0.2.2-qemu-noreboot.patch
Normal file
@@ -0,0 +1,128 @@
|
||||
diff -rup libvirt-0.2.2/qemud/conf.c libvirt-0.2.2.new/qemud/conf.c
|
||||
--- libvirt-0.2.2/qemud/conf.c 2007-04-17 04:34:42.000000000 -0400
|
||||
+++ libvirt-0.2.2.new/qemud/conf.c 2007-05-14 10:36:12.000000000 -0400
|
||||
@@ -245,21 +245,25 @@ static int qemudExtractVersionInfo(const
|
||||
cleanup1:
|
||||
_exit(-1); /* Just in case */
|
||||
} else { /* Parent */
|
||||
- char help[4096]; /* Ought to be enough to hold QEMU help screen */
|
||||
- int got, ret = -1;
|
||||
+ char help[8192]; /* Ought to be enough to hold QEMU help screen */
|
||||
+ int got = 0, ret = -1;
|
||||
int major, minor, micro;
|
||||
|
||||
if (close(newstdout[1]) < 0)
|
||||
goto cleanup2;
|
||||
|
||||
- reread:
|
||||
- if ((got = read(newstdout[0], help, sizeof(help)-1)) < 0) {
|
||||
- if (errno == EINTR)
|
||||
- goto reread;
|
||||
- goto cleanup2;
|
||||
+ while (got < (sizeof(help)-1)) {
|
||||
+ int len;
|
||||
+ if ((len = read(newstdout[0], help+got, sizeof(help)-got-1)) <= 0) {
|
||||
+ if (!len)
|
||||
+ break;
|
||||
+ if (errno == EINTR)
|
||||
+ continue;
|
||||
+ goto cleanup2;
|
||||
+ }
|
||||
+ got += len;
|
||||
}
|
||||
help[got] = '\0';
|
||||
-
|
||||
if (sscanf(help, "QEMU PC emulator version %d.%d.%d", &major,&minor, µ) != 3) {
|
||||
goto cleanup2;
|
||||
}
|
||||
@@ -267,6 +271,8 @@ static int qemudExtractVersionInfo(const
|
||||
*version = (major * 1000 * 1000) + (minor * 1000) + micro;
|
||||
if (strstr(help, "-no-kqemu"))
|
||||
*flags |= QEMUD_CMD_FLAG_KQEMU;
|
||||
+ if (strstr(help, "-no-reboot"))
|
||||
+ *flags |= QEMUD_CMD_FLAG_NO_REBOOT;
|
||||
if (*version >= 9000)
|
||||
*flags |= QEMUD_CMD_FLAG_VNC_COLON;
|
||||
ret = 0;
|
||||
@@ -858,6 +864,22 @@ static struct qemud_vm_def *qemudParseXM
|
||||
}
|
||||
xmlXPathFreeObject(obj);
|
||||
|
||||
+
|
||||
+ /* See if we disable reboots */
|
||||
+ obj = xmlXPathEval(BAD_CAST "string(/domain/on_reboot)", ctxt);
|
||||
+ if ((obj == NULL) || (obj->type != XPATH_STRING) ||
|
||||
+ (obj->stringval == NULL) || (obj->stringval[0] == 0)) {
|
||||
+ def->noReboot = 0;
|
||||
+ } else {
|
||||
+ if (!strcmp((char*)obj->stringval, "destroy"))
|
||||
+ def->noReboot = 1;
|
||||
+ else
|
||||
+ def->noReboot = 0;
|
||||
+ }
|
||||
+ if (obj)
|
||||
+ xmlXPathFreeObject(obj);
|
||||
+
|
||||
+
|
||||
/* Extract OS type info */
|
||||
obj = xmlXPathEval(BAD_CAST "string(/domain/os/type[1])", ctxt);
|
||||
if ((obj == NULL) || (obj->type != XPATH_STRING) ||
|
||||
@@ -1220,6 +1242,8 @@ int qemudBuildCommandLine(struct qemud_s
|
||||
2 + /* cpus */
|
||||
2 + /* boot device */
|
||||
2 + /* monitor */
|
||||
+ (server->qemuCmdFlags & QEMUD_CMD_FLAG_NO_REBOOT &&
|
||||
+ vm->def->noReboot ? 1 : 0) + /* no-reboot */
|
||||
(vm->def->features & QEMUD_FEATURE_ACPI ? 0 : 1) + /* acpi */
|
||||
(vm->def->os.kernel[0] ? 2 : 0) + /* kernel */
|
||||
(vm->def->os.initrd[0] ? 2 : 0) + /* initrd */
|
||||
@@ -1255,6 +1279,11 @@ int qemudBuildCommandLine(struct qemud_s
|
||||
goto no_memory;
|
||||
if (!((*argv)[++n] = strdup("pty")))
|
||||
goto no_memory;
|
||||
+ if (server->qemuCmdFlags & QEMUD_CMD_FLAG_NO_REBOOT &&
|
||||
+ vm->def->noReboot) {
|
||||
+ if (!((*argv)[++n] = strdup("-no-reboot")))
|
||||
+ goto no_memory;
|
||||
+ }
|
||||
|
||||
if (!(vm->def->features & QEMUD_FEATURE_ACPI)) {
|
||||
if (!((*argv)[++n] = strdup("-no-acpi")))
|
||||
@@ -2517,6 +2546,17 @@ char *qemudGenerateXML(struct qemud_serv
|
||||
goto no_memory;
|
||||
}
|
||||
|
||||
+ if (bufferAdd(buf, " <on_poweroff>destroy</on_poweroff>\n", -1) < 0)
|
||||
+ goto no_memory;
|
||||
+ if (def->noReboot) {
|
||||
+ if (bufferAdd(buf, " <on_reboot>destroy</on_reboot>\n", -1) < 0)
|
||||
+ goto no_memory;
|
||||
+ } else {
|
||||
+ if (bufferAdd(buf, " <on_reboot>restart</on_reboot>\n", -1) < 0)
|
||||
+ goto no_memory;
|
||||
+ }
|
||||
+ if (bufferAdd(buf, " <on_crash>destroy</on_crash>\n", -1) < 0)
|
||||
+ goto no_memory;
|
||||
|
||||
if (bufferAdd(buf, " <devices>\n", -1) < 0)
|
||||
goto no_memory;
|
||||
diff -rup libvirt-0.2.2/qemud/internal.h libvirt-0.2.2.new/qemud/internal.h
|
||||
--- libvirt-0.2.2/qemud/internal.h 2007-04-11 10:13:36.000000000 -0400
|
||||
+++ libvirt-0.2.2.new/qemud/internal.h 2007-05-14 10:36:02.000000000 -0400
|
||||
@@ -161,6 +161,7 @@ enum qemud_vm_grapics_type {
|
||||
enum qemud_cmd_flags {
|
||||
QEMUD_CMD_FLAG_KQEMU = 1,
|
||||
QEMUD_CMD_FLAG_VNC_COLON = 2,
|
||||
+ QEMUD_CMD_FLAG_NO_REBOOT = 4,
|
||||
};
|
||||
|
||||
|
||||
@@ -191,6 +192,8 @@ struct qemud_vm_def {
|
||||
int maxmem;
|
||||
int vcpus;
|
||||
|
||||
+ int noReboot;
|
||||
+
|
||||
struct qemud_vm_os_def os;
|
||||
|
||||
int features;
|
||||
19
libvirt-0.2.2-sync-daemon-restart.patch
Normal file
19
libvirt-0.2.2-sync-daemon-restart.patch
Normal file
@@ -0,0 +1,19 @@
|
||||
--- libvirt-0.2.2/ChangeLog.sync-restart 2007-05-02 13:07:21.719425000 -0400
|
||||
+++ libvirt-0.2.2/ChangeLog 2007-05-02 13:08:23.204879000 -0400
|
||||
@@ -0,0 +1,5 @@
|
||||
+Wed May 2 17:55:12 IST 2007 Mark McLoughlin <markmc@redhat.com>
|
||||
+
|
||||
+ * qemud/libvirtd.in: synchronously restart the daemon in
|
||||
+ order to avoid https://bugzilla.redhat.com/238492
|
||||
+
|
||||
--- libvirt-0.2.2/qemud/libvirtd.in.sync-restart 2007-02-23 07:50:58.000000000 -0500
|
||||
+++ libvirt-0.2.2/qemud/libvirtd.in 2007-05-02 13:08:23.209868000 -0400
|
||||
@@ -34,7 +34,7 @@
|
||||
stop() {
|
||||
echo -n $"Stopping $SERVICE daemon: "
|
||||
|
||||
- killproc $PROCESS -TERM
|
||||
+ killproc $PROCESS
|
||||
RETVAL=$?
|
||||
echo
|
||||
if [ $RETVAL -eq 0 ]; then
|
||||
@@ -1,51 +0,0 @@
|
||||
From e2106f6db9beb9f48e9f87f8a1eaba821d1a2296 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
|
||||
|
||||
840
libvirt.spec
840
libvirt.spec
@@ -1,527 +1,80 @@
|
||||
# -*- 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
|
||||
|
||||
|
||||
# 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
|
||||
|
||||
# This macro is used for the continuous automated builds. It just
|
||||
# allows an extra fragment based on the timestamp to be appended
|
||||
# to the release. This distinguishes automated builds, from formal
|
||||
# Fedora RPM builds
|
||||
%define _extra_release %{?dist:%{dist}}%{!?dist:%{?extra_release:%{extra_release}}}
|
||||
|
||||
Summary: Library providing a simple API virtualization
|
||||
Name: libvirt
|
||||
Version: 0.7.1
|
||||
Release: 2%{?dist}%{?extra_release}
|
||||
License: LGPLv2+
|
||||
Version: 0.2.3
|
||||
Release: 1%{?_extra_release}
|
||||
License: LGPL
|
||||
Group: Development/Libraries
|
||||
Source: http://libvirt.org/sources/libvirt-%{version}.tar.gz
|
||||
|
||||
# Temporary hack till PulseAudio autostart problems are sorted
|
||||
# out when SELinux enforcing (bz 486112)
|
||||
Patch00: libvirt-0.6.4-svirt-sound.patch
|
||||
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
|
||||
Source: libvirt-%{version}.tar.gz
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-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}
|
||||
BuildRequires: python python-devel
|
||||
Requires: libxml2
|
||||
Requires: readline
|
||||
Requires: ncurses
|
||||
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
|
||||
%endif
|
||||
%if %{with_one}
|
||||
BuildRequires: xmlrpc-c-devel >= 1.14.0
|
||||
%endif
|
||||
BuildRequires: libxml2-devel
|
||||
BuildRequires: xhtml1-dtds
|
||||
BuildRequires: readline-devel
|
||||
BuildRequires: ncurses-devel
|
||||
BuildRequires: gettext
|
||||
BuildRequires: gnutls-devel
|
||||
%if %{with_hal}
|
||||
BuildRequires: hal-devel
|
||||
%endif
|
||||
%if %{with_avahi}
|
||||
BuildRequires: avahi-devel
|
||||
%endif
|
||||
%if %{with_selinux}
|
||||
BuildRequires: libselinux-devel
|
||||
%endif
|
||||
%if %{with_network}
|
||||
BuildRequires: dnsmasq
|
||||
%endif
|
||||
BuildRequires: bridge-utils
|
||||
%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
|
||||
BuildRequires: gawk
|
||||
BuildRequires: libsysfs-devel
|
||||
BuildRequires: /sbin/iptables
|
||||
Obsoletes: libvir
|
||||
ExclusiveArch: i386 x86_64 ia64
|
||||
|
||||
%description
|
||||
Libvirt is a C toolkit to interact with the virtualization capabilities
|
||||
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).
|
||||
Libvirt is a C toolkit to interract with the virtualization capabilities
|
||||
of recent versions of Linux (and other OSes).
|
||||
|
||||
%package devel
|
||||
Summary: Libraries, includes, etc. to compile with the libvirt library
|
||||
Group: Development/Libraries
|
||||
Requires: libvirt = %{version}-%{release}
|
||||
Requires: libvirt = %{version}
|
||||
Requires: pkgconfig
|
||||
%if %{with_xen}
|
||||
Requires: xen-devel
|
||||
%endif
|
||||
Obsoletes: libvir-devel
|
||||
|
||||
%description devel
|
||||
Includes and documentations for the C library providing an API to use
|
||||
the virtualization capabilities of recent versions of Linux (and other OSes).
|
||||
|
||||
%if %{with_python}
|
||||
%package python
|
||||
Summary: Python bindings for the libvirt library
|
||||
Group: Development/Libraries
|
||||
Requires: libvirt = %{version}-%{release}
|
||||
Requires: libvirt = %{version}
|
||||
Obsoletes: libvir-python
|
||||
|
||||
%description python
|
||||
The libvirt-python package contains a module that permits applications
|
||||
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 the virtualization capabilities
|
||||
of recent versions of Linux (and other OSes).
|
||||
%endif
|
||||
|
||||
%prep
|
||||
%setup -q
|
||||
|
||||
%patch00 -p1
|
||||
|
||||
%build
|
||||
%if ! %{with_xen}
|
||||
%define _without_xen --without-xen
|
||||
%endif
|
||||
|
||||
%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
|
||||
%configure --with-init-script=redhat --with-qemud-pid-file=%{_localstatedir}/run/libvirt_qemud.pid
|
||||
make
|
||||
|
||||
%install
|
||||
rm -fr %{buildroot}
|
||||
|
||||
%makeinstall
|
||||
(cd docs/examples ; make clean ; rm -rf .deps 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)
|
||||
(cd docs/examples ; make clean ; rm -rf .deps)
|
||||
rm -f $RPM_BUILD_ROOT%{_libdir}/*.la
|
||||
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/*.a
|
||||
install -d -m 0755 $RPM_BUILD_ROOT%{_localstatedir}/run/libvirt/
|
||||
|
||||
%if %{with_network}
|
||||
# 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
|
||||
# want to end up re-incarnating it on every RPM upgrade.
|
||||
@@ -532,56 +85,19 @@ rm -f $RPM_BUILD_ROOT%{_sysconfdir}/libvirt/qemu/networks/default.xml
|
||||
rm -f $RPM_BUILD_ROOT%{_sysconfdir}/libvirt/qemu/networks/autostart/default.xml
|
||||
# Strip auto-generated UUID - we need it generated per-install
|
||||
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}
|
||||
|
||||
%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
|
||||
rm -fr %{buildroot}
|
||||
|
||||
%pre
|
||||
%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
|
||||
/sbin/ldconfig
|
||||
|
||||
%if %{with_libvirtd}
|
||||
%if %{with_network}
|
||||
# We want to install the default network for initial RPM installs
|
||||
# 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
|
||||
/sbin/chkconfig --list libvirtd 1>/dev/null 2>&1
|
||||
if [ $? != 0 -a ! -f %{_sysconfdir}/libvirt/qemu/networks/default.xml ]
|
||||
if [ $? != 0 ]
|
||||
then
|
||||
UUID=`/usr/bin/uuidgen`
|
||||
sed -e "s,</name>,</name>\n <uuid>$UUID</uuid>," \
|
||||
@@ -589,143 +105,43 @@ then
|
||||
> %{_sysconfdir}/libvirt/qemu/networks/default.xml
|
||||
ln -s ../default.xml %{_sysconfdir}/libvirt/qemu/networks/autostart/default.xml
|
||||
fi
|
||||
%endif
|
||||
|
||||
/sbin/chkconfig --add libvirtd
|
||||
if [ "$1" -ge "1" ]; then
|
||||
/sbin/service libvirtd condrestart > /dev/null 2>&1
|
||||
fi
|
||||
%endif
|
||||
|
||||
%preun
|
||||
%if %{with_libvirtd}
|
||||
if [ $1 = 0 ]; then
|
||||
/sbin/service libvirtd stop 1>/dev/null 2>&1
|
||||
/sbin/chkconfig --del libvirtd
|
||||
fi
|
||||
%endif
|
||||
|
||||
%post client -p /sbin/ldconfig
|
||||
%postun
|
||||
/sbin/ldconfig
|
||||
|
||||
%postun client -p /sbin/ldconfig
|
||||
|
||||
%if %{with_libvirtd}
|
||||
%files
|
||||
%files -f %{name}.lang
|
||||
%defattr(-, root, root)
|
||||
|
||||
%doc AUTHORS ChangeLog.gz NEWS README COPYING.LIB TODO
|
||||
%doc AUTHORS ChangeLog NEWS README COPYING.LIB TODO
|
||||
%doc %{_mandir}/man1/virsh.1*
|
||||
%{_bindir}/virsh
|
||||
%{_libdir}/lib*.so.*
|
||||
%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/networks/
|
||||
%dir %attr(0700, root, root) %{_sysconfdir}/libvirt/qemu/networks/autostart
|
||||
%endif
|
||||
|
||||
%{_sysconfdir}/rc.d/init.d/libvirtd
|
||||
%config(noreplace) %{_sysconfdir}/sysconfig/libvirtd
|
||||
%config(noreplace) %{_sysconfdir}/libvirt/libvirtd.conf
|
||||
%config(noreplace) %{_sysconfdir}/logrotate.d/libvirtd
|
||||
|
||||
%if %{with_qemu}
|
||||
%config(noreplace) %{_sysconfdir}/libvirt/qemu.conf
|
||||
%endif
|
||||
|
||||
%dir %{_sysconfdir}/libvirt
|
||||
%dir %{_sysconfdir}/libvirt/qemu
|
||||
%dir %{_sysconfdir}/libvirt/qemu/networks
|
||||
%dir %{_sysconfdir}/libvirt/qemu/networks/autostart
|
||||
%dir %{_datadir}/libvirt/
|
||||
|
||||
%if %{with_network}
|
||||
%dir %{_datadir}/libvirt/networks/
|
||||
%{_datadir}/libvirt/networks/default.xml
|
||||
%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, 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/
|
||||
%endif
|
||||
|
||||
%if %{with_xen_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
|
||||
|
||||
%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
|
||||
%attr(0755, root, root) %{_sbindir}/libvirt_qemud
|
||||
%doc docs/libvirt.rng
|
||||
|
||||
%files devel
|
||||
%defattr(-, root, root)
|
||||
@@ -734,7 +150,6 @@ fi
|
||||
%dir %{_includedir}/libvirt
|
||||
%{_includedir}/libvirt/*.h
|
||||
%{_libdir}/pkgconfig/libvirt.pc
|
||||
%dir %{_datadir}/gtk-doc/html/libvirt/
|
||||
%doc %{_datadir}/gtk-doc/html/libvirt/*.devhelp
|
||||
%doc %{_datadir}/gtk-doc/html/libvirt/*.html
|
||||
%doc %{_datadir}/gtk-doc/html/libvirt/*.png
|
||||
@@ -743,9 +158,7 @@ fi
|
||||
%doc docs/*.html docs/html docs/*.gif
|
||||
%doc docs/examples
|
||||
%doc docs/libvirt-api.xml
|
||||
%doc examples
|
||||
|
||||
%if %{with_python}
|
||||
%files python
|
||||
%defattr(-, root, root)
|
||||
|
||||
@@ -756,156 +169,29 @@ fi
|
||||
%doc python/TODO
|
||||
%doc python/libvirtclass.txt
|
||||
%doc docs/examples/python
|
||||
%endif
|
||||
|
||||
%changelog
|
||||
* 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
|
||||
- Release of 0.3.3
|
||||
- Avahi support
|
||||
- NUMA support
|
||||
- lots of assorted improvements, bugfixes and cleanups
|
||||
- documentation and localization improvements
|
||||
|
||||
* Tue Aug 21 2007 Daniel Veillard <veillard@redhat.com> - 0.3.2-1
|
||||
- Release of 0.3.2
|
||||
- API for domains migration
|
||||
- APIs for collecting statistics on disks and interfaces
|
||||
- lots of assorted bugfixes and cleanups
|
||||
- documentation and localization improvements
|
||||
|
||||
* Tue Jul 24 2007 Daniel Veillard <veillard@redhat.com> - 0.3.1-1
|
||||
- Release of 0.3.1
|
||||
- localtime clock support
|
||||
- PS/2 and USB input devices
|
||||
- lots of assorted bugfixes and cleanups
|
||||
- documentation and localization improvements
|
||||
|
||||
* Mon Jul 9 2007 Daniel Veillard <veillard@redhat.com> - 0.3.0-1
|
||||
- Release of 0.3.0
|
||||
- Secure remote access support
|
||||
- unification of daemons
|
||||
- lots of assorted bugfixes and cleanups
|
||||
- documentation and localization improvements
|
||||
|
||||
* Fri Jun 8 2007 Daniel Veillard <veillard@redhat.com> - 0.2.3-1
|
||||
* Mon Jun 11 2007 Daniel Veillard <veillard@redhat.com> - 0.2.3-1.fc7
|
||||
- Release of 0.2.3
|
||||
- lot of assorted bugfixes and cleanups
|
||||
- support for Xen-3.1
|
||||
- new scheduler API
|
||||
|
||||
* Tue Apr 17 2007 Daniel Veillard <veillard@redhat.com> - 0.2.2-1
|
||||
* Mon May 14 2007 Daniel P. Berrange <berrange@redhat.com> - 0.2.2-4.fc7
|
||||
- Fixed uninitialized value causing stack overflow
|
||||
- Fixed bridged networking when no virtual network is defined (bz 239273)
|
||||
|
||||
* Thu May 3 2007 Daniel P. Berrange <berrange@redhat.com> - 0.2.2-3.fc7
|
||||
- Fixed init script restart race
|
||||
- Remove duplicate <graphics> tag for HVM
|
||||
- Support -no-reboot in qemu for installs
|
||||
- Disable xm config file driver for 3.0.5
|
||||
- Force dnsmasq ordering for resolv.conf
|
||||
|
||||
* Fri Apr 21 2007 Daniel P. Berrange <berrange@redhat.com> - 0.2.2-2.fc7
|
||||
- Added Requires on dnsmasq for virtual networking
|
||||
|
||||
* Tue Apr 17 2007 Daniel Veillard <veillard@redhat.com> - 0.2.2-1.fc7
|
||||
- Release of 0.2.2
|
||||
- lot of assorted bugfixes and cleanups
|
||||
- preparing for Xen-3.0.5
|
||||
@@ -915,7 +201,7 @@ fi
|
||||
- fix scriptlet error (need to own more directories)
|
||||
- update description text
|
||||
|
||||
* Fri Mar 16 2007 Daniel Veillard <veillard@redhat.com> - 0.2.1-1
|
||||
* Fri Mar 16 2007 Daniel Veillard <veillard@redhat.com> - 0.2.1-1.fc7
|
||||
- Release of 0.2.1
|
||||
- lot of bug and portability fixes
|
||||
- Add support for network autostart and init scripts
|
||||
@@ -1009,7 +295,7 @@ fi
|
||||
- add patch to address dom0_ops API breakage in Xen 3.0.3 tree
|
||||
|
||||
* Mon Aug 28 2006 Jeremy Katz <katzj@redhat.com> - 0.1.4-4
|
||||
- add patch to support paravirt framebuffer in Xen
|
||||
- add patch to support paravirt framebuffer in Xen
|
||||
|
||||
* Mon Aug 21 2006 Daniel Veillard <veillard@redhat.com> 0.1.4-3
|
||||
- another patch to fix network handling in non-HVM guests
|
||||
@@ -1082,7 +368,7 @@ fi
|
||||
- fixes some problems in 0.0.3 due to the change of names
|
||||
|
||||
* Wed Feb 8 2006 Daniel Veillard <veillard@redhat.com> 0.0.3-1
|
||||
- changed library name to libvirt from libvir, complete and test the python
|
||||
- changed library name to libvirt from libvir, complete and test the python
|
||||
bindings
|
||||
|
||||
* Sun Jan 29 2006 Daniel Veillard <veillard@redhat.com> 0.0.2-1
|
||||
|
||||
Reference in New Issue
Block a user