Compare commits
37 Commits
libvirt-0_
...
libvirt-0_
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
52b4d91272 | ||
|
|
338630edc8 | ||
|
|
a05e64b718 | ||
|
|
c003690dfc | ||
|
|
2cac8ea133 | ||
|
|
deefad73a9 | ||
|
|
f6cef943a9 | ||
|
|
7a6f0752c1 | ||
|
|
36d558635e | ||
|
|
98bceee6b1 | ||
|
|
4e70e5049f | ||
|
|
e66ceb7f97 | ||
|
|
23d5b99123 | ||
|
|
df8a62cdc8 | ||
|
|
8e36286f00 | ||
|
|
cd0f44cfff | ||
|
|
dcd808aefc | ||
|
|
8713d4b7ef | ||
|
|
68efefa919 | ||
|
|
1c5afbb774 | ||
|
|
e61694fd1d | ||
|
|
608f915ea7 | ||
|
|
b28edd6eab | ||
|
|
327fe785ba | ||
|
|
5c1d884231 | ||
|
|
54c7c9997c | ||
|
|
dec47cc4eb | ||
|
|
ecaf0eb615 | ||
|
|
ea6b32b5e4 | ||
|
|
313e00f3ac | ||
|
|
b3a53e18a9 | ||
|
|
24467d1235 | ||
|
|
fdaa69f5e3 | ||
|
|
cf2cd869d9 | ||
|
|
f2572ab2b4 | ||
|
|
90a17a6e65 | ||
|
|
9f2e4f2b21 |
12
.cvsignore
12
.cvsignore
@@ -6,3 +6,15 @@ libvirt-0.1.0.tar.gz
|
|||||||
libvirt-0.1.2.tar.gz
|
libvirt-0.1.2.tar.gz
|
||||||
libvirt-0.1.1.tar.gz
|
libvirt-0.1.1.tar.gz
|
||||||
libvirt-0.1.3.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
|
||||||
|
libvirt-0.2.3.tar.gz
|
||||||
|
|||||||
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
|
||||||
232
libvirt.spec
232
libvirt.spec
@@ -1,55 +1,67 @@
|
|||||||
Summary: Library providing an API to use the Xen virtualization
|
# -*- rpm-spec -*-
|
||||||
|
|
||||||
|
# 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
|
Name: libvirt
|
||||||
Version: 0.1.3
|
Version: 0.2.3
|
||||||
Release: 5
|
Release: 1%{?_extra_release}
|
||||||
License: LGPL
|
License: LGPL
|
||||||
Group: Development/Libraries
|
Group: Development/Libraries
|
||||||
Source: libvirt-%{version}.tar.gz
|
Source: libvirt-%{version}.tar.gz
|
||||||
BuildRoot: %{_tmppath}/%{name}-%{version}-root
|
BuildRoot: %{_tmppath}/%{name}-%{version}-root
|
||||||
URL: http://libvir.org/
|
URL: http://libvirt.org/
|
||||||
BuildRequires: python python-devel
|
BuildRequires: python python-devel
|
||||||
Requires: xen
|
|
||||||
Requires: libxml2
|
Requires: libxml2
|
||||||
Requires: readline
|
Requires: readline
|
||||||
Requires: ncurses
|
Requires: ncurses
|
||||||
BuildRequires: xen-devel >= 3.0.2-23
|
Requires: dnsmasq
|
||||||
|
BuildRequires: xen-devel
|
||||||
BuildRequires: libxml2-devel
|
BuildRequires: libxml2-devel
|
||||||
BuildRequires: readline-devel
|
BuildRequires: readline-devel
|
||||||
BuildRequires: ncurses-devel
|
BuildRequires: ncurses-devel
|
||||||
|
BuildRequires: gettext
|
||||||
|
BuildRequires: libsysfs-devel
|
||||||
|
BuildRequires: /sbin/iptables
|
||||||
Obsoletes: libvir
|
Obsoletes: libvir
|
||||||
ExclusiveArch: i386 x86_64 ia64
|
ExclusiveArch: i386 x86_64 ia64
|
||||||
|
|
||||||
%description
|
%description
|
||||||
This C library provides an API to use the Xen virtualization framework,
|
Libvirt is a C toolkit to interract with the virtualization capabilities
|
||||||
and the virsh command line tool to control virtual domains.
|
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}
|
||||||
|
Requires: pkgconfig
|
||||||
Obsoletes: libvir-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 Xen virtualization framework
|
the virtualization capabilities of recent versions of Linux (and other OSes).
|
||||||
|
|
||||||
%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}
|
||||||
Obsoletes: libvir-python
|
Obsoletes: libvir-python
|
||||||
Requires: %{_libdir}/python%(echo `python -c "import sys; print sys.version[0:3]"`)
|
|
||||||
|
|
||||||
%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 Xen virtualization framework.
|
supplied by the libvirt library to use the the virtualization capabilities
|
||||||
|
of recent versions of Linux (and other OSes).
|
||||||
|
|
||||||
%prep
|
%prep
|
||||||
%setup -q
|
%setup -q
|
||||||
|
|
||||||
%build
|
%build
|
||||||
%configure
|
%configure --with-init-script=redhat --with-qemud-pid-file=%{_localstatedir}/run/libvirt_qemud.pid
|
||||||
make
|
make
|
||||||
|
|
||||||
%install
|
%install
|
||||||
@@ -61,6 +73,19 @@ 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/
|
||||||
|
|
||||||
|
# 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.
|
||||||
|
install -d -m 0755 $RPM_BUILD_ROOT%{_datadir}/libvirt/networks/
|
||||||
|
cp $RPM_BUILD_ROOT%{_sysconfdir}/libvirt/qemu/networks/default.xml \
|
||||||
|
$RPM_BUILD_ROOT%{_datadir}/libvirt/networks/default.xml
|
||||||
|
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
|
||||||
|
%find_lang %{name}
|
||||||
|
|
||||||
%clean
|
%clean
|
||||||
rm -fr %{buildroot}
|
rm -fr %{buildroot}
|
||||||
@@ -68,22 +93,61 @@ rm -fr %{buildroot}
|
|||||||
%post
|
%post
|
||||||
/sbin/ldconfig
|
/sbin/ldconfig
|
||||||
|
|
||||||
|
# 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 ]
|
||||||
|
then
|
||||||
|
UUID=`/usr/bin/uuidgen`
|
||||||
|
sed -e "s,</name>,</name>\n <uuid>$UUID</uuid>," \
|
||||||
|
< %{_datadir}/libvirt/networks/default.xml \
|
||||||
|
> %{_sysconfdir}/libvirt/qemu/networks/default.xml
|
||||||
|
ln -s ../default.xml %{_sysconfdir}/libvirt/qemu/networks/autostart/default.xml
|
||||||
|
fi
|
||||||
|
|
||||||
|
/sbin/chkconfig --add libvirtd
|
||||||
|
|
||||||
|
%preun
|
||||||
|
if [ $1 = 0 ]; then
|
||||||
|
/sbin/service libvirtd stop 1>/dev/null 2>&1
|
||||||
|
/sbin/chkconfig --del libvirtd
|
||||||
|
fi
|
||||||
|
|
||||||
%postun
|
%postun
|
||||||
/sbin/ldconfig
|
/sbin/ldconfig
|
||||||
|
|
||||||
%files
|
%files -f %{name}.lang
|
||||||
%defattr(-, root, root)
|
%defattr(-, root, root)
|
||||||
|
|
||||||
%doc AUTHORS ChangeLog NEWS README COPYING.LIB TODO
|
%doc AUTHORS ChangeLog NEWS README COPYING.LIB TODO
|
||||||
%doc %{_mandir}/man1/virsh.1*
|
%doc %{_mandir}/man1/virsh.1*
|
||||||
%{_bindir}/virsh
|
%{_bindir}/virsh
|
||||||
%{_libdir}/lib*.so.*
|
%{_libdir}/lib*.so.*
|
||||||
|
%dir %attr(0700, root, root) %{_sysconfdir}/libvirt/
|
||||||
|
%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
|
||||||
|
%{_sysconfdir}/rc.d/init.d/libvirtd
|
||||||
|
%dir %{_sysconfdir}/libvirt
|
||||||
|
%dir %{_sysconfdir}/libvirt/qemu
|
||||||
|
%dir %{_sysconfdir}/libvirt/qemu/networks
|
||||||
|
%dir %{_sysconfdir}/libvirt/qemu/networks/autostart
|
||||||
|
%dir %{_datadir}/libvirt/
|
||||||
|
%dir %{_datadir}/libvirt/networks/
|
||||||
|
%{_datadir}/libvirt/networks/default.xml
|
||||||
|
%dir %{_localstatedir}/run/libvirt/
|
||||||
|
%dir %{_localstatedir}/lib/libvirt/
|
||||||
|
%dir %attr(0700, root, root) %{_localstatedir}/log/libvirt/qemu/
|
||||||
%attr(4755, root, root) %{_libexecdir}/libvirt_proxy
|
%attr(4755, root, root) %{_libexecdir}/libvirt_proxy
|
||||||
|
%attr(0755, root, root) %{_sbindir}/libvirt_qemud
|
||||||
|
%doc docs/libvirt.rng
|
||||||
|
|
||||||
%files devel
|
%files devel
|
||||||
%defattr(-, root, root)
|
%defattr(-, root, root)
|
||||||
|
|
||||||
%{_libdir}/lib*.so
|
%{_libdir}/lib*.so
|
||||||
|
%dir %{_includedir}/libvirt
|
||||||
%{_includedir}/libvirt/*.h
|
%{_includedir}/libvirt/*.h
|
||||||
%{_libdir}/pkgconfig/libvirt.pc
|
%{_libdir}/pkgconfig/libvirt.pc
|
||||||
%doc %{_datadir}/gtk-doc/html/libvirt/*.devhelp
|
%doc %{_datadir}/gtk-doc/html/libvirt/*.devhelp
|
||||||
@@ -107,6 +171,148 @@ rm -fr %{buildroot}
|
|||||||
%doc docs/examples/python
|
%doc docs/examples/python
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Fri Jun 8 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
|
||||||
|
|
||||||
|
* 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
|
||||||
|
|
||||||
|
* Thu Mar 22 2007 Jeremy Katz <katzj@redhat.com> - 0.2.1-2.fc7
|
||||||
|
- don't require xen; we don't need the daemon and can control non-xen now
|
||||||
|
- fix scriptlet error (need to own more directories)
|
||||||
|
- update description text
|
||||||
|
|
||||||
|
* 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
|
||||||
|
- New API to detect the virtualization capabilities of a host
|
||||||
|
- Documentation updates
|
||||||
|
|
||||||
|
* Fri Feb 23 2007 Daniel P. Berrange <berrange@redhat.com> - 0.2.0-4.fc7
|
||||||
|
- Fix loading of guest & network configs
|
||||||
|
|
||||||
|
* Fri Feb 16 2007 Daniel P. Berrange <berrange@redhat.com> - 0.2.0-3.fc7
|
||||||
|
- Disable kqemu support since its not in Fedora qemu binary
|
||||||
|
- Fix for -vnc arg syntax change in 0.9.0 QEMU
|
||||||
|
|
||||||
|
* Thu Feb 15 2007 Daniel P. Berrange <berrange@redhat.com> - 0.2.0-2.fc7
|
||||||
|
- Fixed path to qemu daemon for autostart
|
||||||
|
- Fixed generation of <features> block in XML
|
||||||
|
- Pre-create config directory at startup
|
||||||
|
|
||||||
|
* Wed Feb 14 2007 Daniel Veillard <veillard@redhat.com> 0.2.0-1.fc7
|
||||||
|
- support for KVM and QEmu
|
||||||
|
- support for network configuration
|
||||||
|
- assorted fixes
|
||||||
|
|
||||||
|
* Mon Jan 22 2007 Daniel Veillard <veillard@redhat.com> 0.1.11-1.fc7
|
||||||
|
- finish inactive Xen domains support
|
||||||
|
- memory leak fix
|
||||||
|
- RelaxNG schemas for XML configs
|
||||||
|
|
||||||
|
* Wed Dec 20 2006 Daniel Veillard <veillard@redhat.com> 0.1.10-1.fc7
|
||||||
|
- support for inactive Xen domains
|
||||||
|
- improved support for Xen display and vnc
|
||||||
|
- a few bug fixes
|
||||||
|
- localization updates
|
||||||
|
|
||||||
|
* Thu Dec 7 2006 Jeremy Katz <katzj@redhat.com> - 0.1.9-2
|
||||||
|
- rebuild against python 2.5
|
||||||
|
|
||||||
|
* Wed Nov 29 2006 Daniel Veillard <veillard@redhat.com> 0.1.9-1
|
||||||
|
- better error reporting
|
||||||
|
- python bindings fixes and extensions
|
||||||
|
- add support for shareable drives
|
||||||
|
- add support for non-bridge style networking
|
||||||
|
- hot plug device support
|
||||||
|
- added support for inactive domains
|
||||||
|
- API to dump core of domains
|
||||||
|
- various bug fixes, cleanups and improvements
|
||||||
|
- updated the localization
|
||||||
|
|
||||||
|
* Tue Nov 7 2006 Daniel Veillard <veillard@redhat.com> 0.1.8-3
|
||||||
|
- it's pkgconfig not pgkconfig !
|
||||||
|
|
||||||
|
* Mon Nov 6 2006 Daniel Veillard <veillard@redhat.com> 0.1.8-2
|
||||||
|
- fixing spec file, added %dist, -devel requires pkgconfig and xen-devel
|
||||||
|
- Resolves: rhbz#202320
|
||||||
|
|
||||||
|
* Mon Oct 16 2006 Daniel Veillard <veillard@redhat.com> 0.1.8-1
|
||||||
|
- fix missing page size detection code for ia64
|
||||||
|
- fix mlock size when getting domain info list from hypervisor
|
||||||
|
- vcpu number initialization
|
||||||
|
- don't label crashed domains as shut off
|
||||||
|
- fix virsh man page
|
||||||
|
- blktapdd support for alternate drivers like blktap
|
||||||
|
- memory leak fixes (xend interface and XML parsing)
|
||||||
|
- compile fix
|
||||||
|
- mlock/munlock size fixes
|
||||||
|
|
||||||
|
* Fri Sep 22 2006 Daniel Veillard <veillard@redhat.com> 0.1.7-1
|
||||||
|
- Fix bug when running against xen-3.0.3 hypercalls
|
||||||
|
- Fix memory bug when getting vcpus info from xend
|
||||||
|
|
||||||
|
* Fri Sep 22 2006 Daniel Veillard <veillard@redhat.com> 0.1.6-1
|
||||||
|
- Support for localization
|
||||||
|
- Support for new Xen-3.0.3 cdrom and disk configuration
|
||||||
|
- Support for setting VNC port
|
||||||
|
- Fix bug when running against xen-3.0.2 hypercalls
|
||||||
|
- Fix reconnection problem when talking directly to http xend
|
||||||
|
|
||||||
|
* Tue Sep 5 2006 Jeremy Katz <katzj@redhat.com> - 0.1.5-3
|
||||||
|
- patch from danpb to support new-format cd devices for HVM guests
|
||||||
|
|
||||||
|
* Tue Sep 5 2006 Daniel Veillard <veillard@redhat.com> 0.1.5-2
|
||||||
|
- reactivating ia64 support
|
||||||
|
|
||||||
|
* Tue Sep 5 2006 Daniel Veillard <veillard@redhat.com> 0.1.5-1
|
||||||
|
- new release
|
||||||
|
- bug fixes
|
||||||
|
- support for new hypervisor calls
|
||||||
|
- early code for config files and defined domains
|
||||||
|
|
||||||
|
* Mon Sep 4 2006 Daniel Berrange <berrange@redhat.com> - 0.1.4-5
|
||||||
|
- 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
|
||||||
|
|
||||||
|
* Mon Aug 21 2006 Daniel Veillard <veillard@redhat.com> 0.1.4-3
|
||||||
|
- another patch to fix network handling in non-HVM guests
|
||||||
|
|
||||||
|
* Thu Aug 17 2006 Daniel Veillard <veillard@redhat.com> 0.1.4-2
|
||||||
|
- patch to fix virParseUUID()
|
||||||
|
|
||||||
|
* Wed Aug 16 2006 Daniel Veillard <veillard@redhat.com> 0.1.4-1
|
||||||
|
- vCPUs and affinity support
|
||||||
|
- more complete XML, console and boot options
|
||||||
|
- specific features support
|
||||||
|
- enforced read-only connections
|
||||||
|
- various improvements, bug fixes
|
||||||
|
|
||||||
|
* Wed Aug 2 2006 Jeremy Katz <katzj@redhat.com> - 0.1.3-6
|
||||||
|
- add patch from pvetere to allow getting uuid from libvirt
|
||||||
|
|
||||||
* Wed Aug 2 2006 Jeremy Katz <katzj@redhat.com> - 0.1.3-5
|
* Wed Aug 2 2006 Jeremy Katz <katzj@redhat.com> - 0.1.3-5
|
||||||
- build on ia64 now
|
- build on ia64 now
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user