Compare commits

...

15 Commits
master ... f7

Author SHA1 Message Date
Fedora Release Engineering d152f0a7ef dist-git conversion 2010-07-29 07:22:23 +00:00
Daniel P. Berrange c332fbbcd5 Fix SSH tunnelling 2008-01-19 02:20:33 +00:00
Daniel P. Berrange 56811db0e1 Fix crash when no auth callback 2008-01-14 04:15:37 +00:00
Daniel P. Berrange dbca8efc68 Fix crash when no auth callback 2008-01-14 04:15:37 +00:00
Daniel P. Berrange 4230864da9 Fix config file reading 2008-01-02 21:58:20 +00:00
Daniel Veillard 046121a814 Update to 0.4.0, fixes a lot of bugs, Daniel 2007-12-18 11:48:23 +00:00
Daniel Veillard e353d4686f Release of 0.3.3, Daniel 2007-10-09 12:53:09 +00:00
Daniel Veillard d9f0d1b206 Update to 0.3.2, remove old patch, Daniel 2007-08-22 07:39:00 +00:00
Daniel Veillard f529859a7f Fixes Requires for libvirt-devel, but don't push a new F7 just for that, Daniel 2007-08-16 15:19:12 +00:00
Daniel Veillard cc20dcc771 Bug fix for 249594, daniel 2007-07-26 15:40:00 +00:00
Daniel Veillard 373a3ee987 Upstream release of 0.3.1, Daniel 2007-07-25 12:03:38 +00:00
Daniel Veillard a53e7df138 upstream release of 0.3.0, Daniel 2007-07-09 14:00:42 +00:00
Daniel Veillard 60e98f8638 Removing old patches, Daniel 2007-06-11 11:46:47 +00:00
Daniel Veillard f6005873fe Update of libvirt with the new upstream release, Daniel 2007-06-11 11:44:58 +00:00
Bill Nottingham 8be9ccc297 Initialize branch F-7 for libvirt 2007-05-18 05:48:29 +00:00
14 changed files with 265 additions and 312 deletions

View File

1
branch Normal file
View File

@ -0,0 +1 @@
F-7

View File

@ -1,17 +0,0 @@
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

View File

@ -1,15 +0,0 @@
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;

View File

@ -1,23 +0,0 @@
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");

View File

@ -1,70 +0,0 @@
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

View File

@ -1,128 +0,0 @@
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, &micro) != 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;

View File

@ -1,19 +0,0 @@
--- 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

View File

@ -0,0 +1,83 @@
diff -rupN libvirt-0.4.0.orig/src/remote_internal.c libvirt-0.4.0.new/src/remote_internal.c
--- libvirt-0.4.0.orig/src/remote_internal.c 2008-01-11 10:39:34.000000000 -0500
+++ libvirt-0.4.0.new/src/remote_internal.c 2008-01-11 10:43:12.000000000 -0500
@@ -3054,8 +3054,12 @@ remoteAuthSASL (virConnectPtr conn, stru
if ((remoteAddr = addrToString(&sa, salen)) == NULL)
goto cleanup;
- if ((saslcb = remoteAuthMakeCallbacks(auth->credtype, auth->ncredtype)) == NULL)
- goto cleanup;
+ if (auth) {
+ if ((saslcb = remoteAuthMakeCallbacks(auth->credtype, auth->ncredtype)) == NULL)
+ goto cleanup;
+ } else {
+ saslcb = NULL;
+ }
/* Setup a handle for being a client */
err = sasl_client_new("libvirt",
@@ -3168,15 +3172,21 @@ remoteAuthSASL (virConnectPtr conn, stru
goto cleanup;
}
/* Run the authentication callback */
- if ((*(auth->cb))(cred, ncred, auth->cbdata) < 0) {
+ if (auth && auth->cb) {
+ if ((*(auth->cb))(cred, ncred, auth->cbdata) < 0) {
+ __virRaiseError (in_open ? NULL : conn, NULL, NULL, VIR_FROM_REMOTE,
+ VIR_ERR_AUTH_FAILED, VIR_ERR_ERROR, NULL, NULL, NULL, 0, 0,
+ "Failed to collect auth credentials");
+ goto cleanup;
+ }
+ remoteAuthFillInteract(cred, interact);
+ goto restart;
+ } else {
__virRaiseError (in_open ? NULL : conn, NULL, NULL, VIR_FROM_REMOTE,
VIR_ERR_AUTH_FAILED, VIR_ERR_ERROR, NULL, NULL, NULL, 0, 0,
- "Failed to collect auth credentials");
+ "No authentication callback available");
goto cleanup;
- return -1;
}
- remoteAuthFillInteract(cred, interact);
- goto restart;
}
free(iret.mechlist);
@@ -3240,15 +3250,22 @@ remoteAuthSASL (virConnectPtr conn, stru
return -1;
}
/* Run the authentication callback */
- if ((*(auth->cb))(cred, ncred, auth->cbdata) < 0) {
+ if (auth && auth->cb) {
+ if ((*(auth->cb))(cred, ncred, auth->cbdata) < 0) {
+ __virRaiseError (in_open ? NULL : conn, NULL, NULL, VIR_FROM_REMOTE,
+ VIR_ERR_AUTH_FAILED, VIR_ERR_ERROR, NULL, NULL, NULL, 0, 0,
+ "Failed to collect auth credentials");
+ goto cleanup;
+ return -1;
+ }
+ remoteAuthFillInteract(cred, interact);
+ goto restep;
+ } else {
__virRaiseError (in_open ? NULL : conn, NULL, NULL, VIR_FROM_REMOTE,
VIR_ERR_AUTH_FAILED, VIR_ERR_ERROR, NULL, NULL, NULL, 0, 0,
- "Failed to collect auth credentials");
+ "No authentication callback available");
goto cleanup;
- return -1;
}
- remoteAuthFillInteract(cred, interact);
- goto restep;
}
if (serverin) {
@@ -3319,7 +3336,8 @@ remoteAuthSASL (virConnectPtr conn, stru
if (remoteAddr) free(remoteAddr);
if (serverin) free(serverin);
- free(saslcb);
+ if (saslcb)
+ free(saslcb);
remoteAuthFreeCredentials(cred, ncred);
if (ret != 0 && saslconn)
sasl_dispose(&saslconn);

View File

@ -0,0 +1,44 @@
diff -rup libvirt-0.4.0.orig/src/remote_internal.c libvirt-0.4.0.new/src/remote_internal.c
--- libvirt-0.4.0.orig/src/remote_internal.c 2007-12-17 16:51:09.000000000 -0500
+++ libvirt-0.4.0.new/src/remote_internal.c 2008-01-02 16:28:44.000000000 -0500
@@ -3347,24 +3347,26 @@ remoteAuthPolkit (virConnectPtr conn, st
};
remoteDebug(priv, "Client initialize PolicyKit authentication");
- for (i = 0 ; i < auth->ncredtype ; i++) {
- if (auth->credtype[i] == VIR_CRED_EXTERNAL)
- allowcb = 1;
- }
+ if (auth && auth->cb) {
+ /* Check if the neccessary credential type for PolicyKit is supported */
+ for (i = 0 ; i < auth->ncredtype ; i++) {
+ if (auth->credtype[i] == VIR_CRED_EXTERNAL)
+ allowcb = 1;
+ }
- /* Run the authentication callback */
- if (allowcb) {
- if (auth && auth->cb &&
- (*(auth->cb))(&cred, 1, auth->cbdata) < 0) {
- __virRaiseError (in_open ? NULL : conn, NULL, NULL, VIR_FROM_REMOTE,
- VIR_ERR_AUTH_FAILED, VIR_ERR_ERROR, NULL, NULL, NULL, 0, 0,
- "Failed to collect auth credentials");
- return -1;
+ if (allowcb) {
+ /* Run the authentication callback */
+ if ((*(auth->cb))(&cred, 1, auth->cbdata) < 0) {
+ __virRaiseError (in_open ? NULL : conn, NULL, NULL, VIR_FROM_REMOTE,
+ VIR_ERR_AUTH_FAILED, VIR_ERR_ERROR, NULL, NULL, NULL, 0, 0,
+ "Failed to collect auth credentials");
+ return -1;
+ }
} else {
- remoteDebug(priv, "No auth callback provided for PolicyKit");
+ remoteDebug(priv, "Client auth callback does not support PolicyKit");
}
} else {
- remoteDebug(priv, "Client auth callback does not support PolicyKit");
+ remoteDebug(priv, "No auth callback provided");
}
memset (&ret, 0, sizeof ret);

View File

@ -0,0 +1,12 @@
diff -rup libvirt-0.4.0.orig/src/conf.c libvirt-0.4.0.new/src/conf.c
--- libvirt-0.4.0.orig/src/conf.c 2007-12-12 08:30:49.000000000 -0500
+++ libvirt-0.4.0.new/src/conf.c 2008-01-02 16:30:12.000000000 -0500
@@ -705,7 +705,7 @@ error:
virConfPtr
__virConfReadFile(const char *filename)
{
- char content[4096];
+ char content[8192];
int fd;
int len;

View File

@ -0,0 +1,17 @@
diff -rup libvirt-0.4.0.orig/src/remote_internal.c libvirt-0.4.0.new/src/remote_internal.c
--- libvirt-0.4.0.orig/src/remote_internal.c 2008-01-14 19:32:25.000000000 -0500
+++ libvirt-0.4.0.new/src/remote_internal.c 2008-01-14 19:32:42.000000000 -0500
@@ -677,11 +677,12 @@ doRemoteOpen (virConnectPtr conn,
cmd_argv[j++] = strdup (sockname ? sockname : LIBVIRTD_PRIV_UNIX_SOCKET);
cmd_argv[j++] = 0;
assert (j == nr_args);
- for (j = 0; j < nr_args; j++)
+ for (j = 0; j < (nr_args-1); j++) {
if (cmd_argv[j] == NULL) {
error (conn, VIR_ERR_SYSTEM_ERROR, strerror (ENOMEM));
goto failed;
}
+ }
}
/*FALLTHROUGH*/

View File

@ -1,24 +1,24 @@
# -*- 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}}}
%if "%{fedora}" >= "8"
%define with_polkit 1
%define with_proxy no
%else
%define with_polkit 0
%define with_proxy yes
%endif
Summary: Library providing a simple API virtualization
Name: libvirt
Version: 0.2.2
Release: 4%{?_extra_release}
Version: 0.4.0
Release: 4%{?dist}%{?extra_release}
License: LGPL
Group: Development/Libraries
Source: libvirt-%{version}.tar.gz
Patch1: libvirt-0.2.2-disable-xm.patch
Patch2: libvirt-0.2.2-dnsmasq-order.patch
Patch3: libvirt-0.2.2-qemu-noreboot.patch
Patch4: libvirt-0.2.2-sync-daemon-restart.patch
Patch5: libvirt-0.2.2-graphics-hvm.patch
Patch6: libvirt-0.2.2-bridge-init.patch
Patch1: libvirt-%{version}-auth-null-cb.patch
Patch2: libvirt-%{version}-conffile-size.patch
Patch3: libvirt-%{version}-auth-null-cb-2.patch
Patch4: libvirt-%{version}-remote-ssh.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-root
URL: http://libvirt.org/
BuildRequires: python python-devel
@ -26,16 +26,38 @@ Requires: libxml2
Requires: readline
Requires: ncurses
Requires: dnsmasq
Requires: bridge-utils
Requires: iptables
# So remote clients can access libvirt over SSH tunnel
# (client invokes 'nc' against the UNIX socket on the server)
Requires: nc
Requires: cyrus-sasl
# Not technically required, but makes 'out-of-box' config
# work correctly & doesn't have onerous dependancies
Requires: cyrus-sasl-md5
%if %{with_polkit}
Requires: PolicyKit >= 0.6
%endif
BuildRequires: xen-devel
BuildRequires: libxml2-devel
BuildRequires: readline-devel
BuildRequires: ncurses-devel
BuildRequires: gettext
BuildRequires: libsysfs-devel
BuildRequires: /sbin/iptables
BuildRequires: gnutls-devel
BuildRequires: avahi-devel
BuildRequires: dnsmasq
BuildRequires: bridge-utils
BuildRequires: cyrus-sasl-devel
%if %{with_polkit}
BuildRequires: PolicyKit-devel >= 0.6
%endif
Obsoletes: libvir
ExclusiveArch: i386 x86_64 ia64
# Fedora build root suckage
BuildRequires: gawk
%description
Libvirt is a C toolkit to interract with the virtualization capabilities
of recent versions of Linux (and other OSes).
@ -45,6 +67,7 @@ Summary: Libraries, includes, etc. to compile with the libvirt library
Group: Development/Libraries
Requires: libvirt = %{version}
Requires: pkgconfig
Requires: xen-devel
Obsoletes: libvir-devel
%description devel
@ -60,7 +83,7 @@ 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 the virtualization capabilities
supplied by the libvirt library to use the the virtualization capabilities
of recent versions of Linux (and other OSes).
%prep
@ -69,18 +92,17 @@ of recent versions of Linux (and other OSes).
%patch2 -p1
%patch3 -p1
%patch4 -p1
%patch5 -p1
%patch6 -p1
%build
%configure --with-init-script=redhat --with-qemud-pid-file=%{_localstatedir}/run/libvirt_qemud.pid
%configure --with-init-script=redhat --with-qemud-pid-file=%{_localstatedir}/run/libvirt_qemud.pid --with-remote-file=%{_localstatedir}/run/libvirtd.pid
make
%install
rm -fr %{buildroot}
%makeinstall
(cd docs/examples ; make clean ; rm -rf .deps)
(cd docs/examples ; make clean ; rm -rf .deps Makefile Makefile.in)
(cd docs/examples/python ; rm -f Makefile Makefile.in)
rm -f $RPM_BUILD_ROOT%{_libdir}/*.la
rm -f $RPM_BUILD_ROOT%{_libdir}/*.a
rm -f $RPM_BUILD_ROOT%{_libdir}/python*/site-packages/*.la
@ -141,18 +163,25 @@ fi
%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
%config(noreplace) %{_sysconfdir}/sysconfig/libvirtd
%config(noreplace) %{_sysconfdir}/libvirt/libvirtd.conf
%config(noreplace) %{_sysconfdir}/libvirt/qemu.conf
%config(noreplace) %{_sysconfdir}/sasl2/libvirt.conf
%dir %{_datadir}/libvirt/
%dir %{_datadir}/libvirt/networks/
%{_datadir}/libvirt/networks/default.xml
%dir %{_localstatedir}/run/libvirt/
%dir %{_localstatedir}/lib/libvirt/
%if %{with_polkit}
%{_datadir}/PolicyKit/policy/libvirtd.policy
%endif
%dir %attr(0700, root, root) %{_localstatedir}/log/libvirt/qemu/
%if %{with_proxy} == "yes"
%attr(4755, root, root) %{_libexecdir}/libvirt_proxy
%attr(0755, root, root) %{_sbindir}/libvirt_qemud
%doc docs/libvirt.rng
%endif
%attr(0755, root, root) %{_sbindir}/libvirtd
%doc docs/*.rng
%doc docs/*.xml
%files devel
%defattr(-, root, root)
@ -182,21 +211,60 @@ fi
%doc docs/examples/python
%changelog
* 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)
* Fri Jan 18 2008 Daniel P. Berrange <berrange@redhat.com> - 0.4.0-4.fc7
- Fix SSH tunnelling (rhbz #428743)
* 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
* Sun Jan 13 2008 Daniel P. Berrange <berrange@redhat.com> - 0.4.0-3.fc7
- Fix crash when no auth callback
* Fri Apr 21 2007 Daniel P. Berrange <berrange@redhat.com> - 0.2.2-2.fc7
- Added Requires on dnsmasq for virtual networking
* Wed Jan 2 2008 Daniel P. Berrange <berrange@redhat.com> - 0.4.0-2.fc7
- Fix reading large config files (rhbz #426425)
* Tue Apr 17 2007 Daniel Veillard <veillard@redhat.com> - 0.2.2-1.fc7
* Tue Dec 18 2007 Daniel Veillard <veillard@redhat.com> - 0.4.0-1.fc7
- Release of 0.4.0
- SASL based authentication
- improved NUMA and statistics support
- lots of assorted improvements, bugfixes and cleanups
- documentation and localization improvements
* Tue Oct 9 2007 Daniel Veillard <veillard@redhat.com> - 0.3.3-1.fc7
- 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.fc7
- 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
* Thu Jul 26 2007 Daniel Veillard <veillard@redhat.com> - 0.3.1-2.fc7
- adds fix for bug #249594
* Tue Jul 24 2007 Daniel Veillard <veillard@redhat.com> - 0.3.1-1.fc7
- 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.fc7
- 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.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
- Release of 0.2.2
- lot of assorted bugfixes and cleanups
- preparing for Xen-3.0.5
@ -206,7 +274,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.fc7
* Fri Mar 16 2007 Daniel Veillard <veillard@redhat.com> - 0.2.1-1
- Release of 0.2.1
- lot of bug and portability fixes
- Add support for network autostart and init scripts

View File

@ -1 +1 @@
5abe4b1fd6b57948ce259036afdc9194 libvirt-0.2.2.tar.gz
2f6c6adb62145988f0e5021e5cbd71d3 libvirt-0.4.0.tar.gz