diff --git a/.cvsignore b/.cvsignore
index 050345f..e61589c 100644
--- a/.cvsignore
+++ b/.cvsignore
@@ -18,3 +18,4 @@ libvirt-0.2.0.tar.gz
libvirt-0.2.1.tar.gz
libvirt-0.2.2.tar.gz
libvirt-0.2.3.tar.gz
+libvirt-0.3.0.tar.gz
diff --git a/libvirt-0.2.2-bridge-init.patch b/libvirt-0.2.2-bridge-init.patch
deleted file mode 100644
index f27667b..0000000
--- a/libvirt-0.2.2-bridge-init.patch
+++ /dev/null
@@ -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
diff --git a/libvirt-0.2.2-disable-xm.patch b/libvirt-0.2.2-disable-xm.patch
deleted file mode 100644
index 51a9b68..0000000
--- a/libvirt-0.2.2-disable-xm.patch
+++ /dev/null
@@ -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;
diff --git a/libvirt-0.2.2-dnsmasq-order.patch b/libvirt-0.2.2-dnsmasq-order.patch
deleted file mode 100644
index 372a3f9..0000000
--- a/libvirt-0.2.2-dnsmasq-order.patch
+++ /dev/null
@@ -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");
diff --git a/libvirt-0.2.2-graphics-hvm.patch b/libvirt-0.2.2-graphics-hvm.patch
deleted file mode 100644
index b0b80e7..0000000
--- a/libvirt-0.2.2-graphics-hvm.patch
+++ /dev/null
@@ -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, " \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, " \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, " \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, " \n", 27 );
-+ }
- }
-
- tty = xenStoreDomainGetConsolePath(conn, domid);
-Only in libvirt-0.2.2/src: xend_internal.c.orig
diff --git a/libvirt-0.2.2-qemu-noreboot.patch b/libvirt-0.2.2-qemu-noreboot.patch
deleted file mode 100644
index bd4ef34..0000000
--- a/libvirt-0.2.2-qemu-noreboot.patch
+++ /dev/null
@@ -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, µ) != 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, " destroy\n", -1) < 0)
-+ goto no_memory;
-+ if (def->noReboot) {
-+ if (bufferAdd(buf, " destroy\n", -1) < 0)
-+ goto no_memory;
-+ } else {
-+ if (bufferAdd(buf, " restart\n", -1) < 0)
-+ goto no_memory;
-+ }
-+ if (bufferAdd(buf, " destroy\n", -1) < 0)
-+ goto no_memory;
-
- if (bufferAdd(buf, " \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;
diff --git a/libvirt-0.2.2-sync-daemon-restart.patch b/libvirt-0.2.2-sync-daemon-restart.patch
deleted file mode 100644
index efddd13..0000000
--- a/libvirt-0.2.2-sync-daemon-restart.patch
+++ /dev/null
@@ -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
-+
-+ * 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
diff --git a/libvirt.spec b/libvirt.spec
index 8182081..442dcf6 100644
--- a/libvirt.spec
+++ b/libvirt.spec
@@ -1,15 +1,9 @@
# -*- 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
-Version: 0.2.3
-Release: 1%{?_extra_release}
+Version: 0.3.0
+Release: 1%{?dist}%{?extra_release}
License: LGPL
Group: Development/Libraries
Source: libvirt-%{version}.tar.gz
@@ -20,13 +14,14 @@ Requires: libxml2
Requires: readline
Requires: ncurses
Requires: dnsmasq
+Requires: bridge-utils
+Requires: iptables
BuildRequires: xen-devel
BuildRequires: libxml2-devel
BuildRequires: readline-devel
BuildRequires: ncurses-devel
BuildRequires: gettext
-BuildRequires: libsysfs-devel
-BuildRequires: /sbin/iptables
+BuildRequires: gnutls-devel
Obsoletes: libvir
ExclusiveArch: i386 x86_64 ia64
@@ -61,14 +56,15 @@ of recent versions of Linux (and other OSes).
%setup -q
%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
@@ -129,10 +125,7 @@ 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
%dir %{_datadir}/libvirt/
%dir %{_datadir}/libvirt/networks/
%{_datadir}/libvirt/networks/default.xml
@@ -140,7 +133,7 @@ fi
%dir %{_localstatedir}/lib/libvirt/
%dir %attr(0700, root, root) %{_localstatedir}/log/libvirt/qemu/
%attr(4755, root, root) %{_libexecdir}/libvirt_proxy
-%attr(0755, root, root) %{_sbindir}/libvirt_qemud
+%attr(0755, root, root) %{_sbindir}/libvirtd
%doc docs/libvirt.rng
%files devel
@@ -171,27 +164,20 @@ fi
%doc docs/examples/python
%changelog
-* Fri Jun 8 2007 Daniel Veillard - 0.2.3-1.fc7
+* Mon Jul 9 2007 Daniel Veillard - 0.3.0-1.fc8
+- 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 - 0.2.3-1.fc8
- 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 - 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 - 0.2.2-3.fc7
-- Fixed init script restart race
-- Remove duplicate 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 - 0.2.2-2.fc7
-- Added Requires on dnsmasq for virtual networking
-
-* Tue Apr 17 2007 Daniel Veillard - 0.2.2-1.fc7
+* Tue Apr 17 2007 Daniel Veillard - 0.2.2-1
- Release of 0.2.2
- lot of assorted bugfixes and cleanups
- preparing for Xen-3.0.5
@@ -201,7 +187,7 @@ fi
- fix scriptlet error (need to own more directories)
- update description text
-* Fri Mar 16 2007 Daniel Veillard - 0.2.1-1.fc7
+* Fri Mar 16 2007 Daniel Veillard - 0.2.1-1
- Release of 0.2.1
- lot of bug and portability fixes
- Add support for network autostart and init scripts
diff --git a/sources b/sources
index 731337e..f4e4782 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-3b9e192de1777c8ec801d16cbf1c7819 libvirt-0.2.3.tar.gz
+e6a85e2ef99f985a298376e01fcc7a3c libvirt-0.3.0.tar.gz