diff --git a/clone.patch b/clone.patch
index 1111855..f8f2ecc 100644
--- a/clone.patch
+++ b/clone.patch
@@ -2,7 +2,7 @@ Index: src/lxc_container.c
===================================================================
--- src/lxc_container.c.orig
+++ src/lxc_container.c
-@@ -603,6 +603,9 @@ int lxcContainerStart(virDomainDefPtr de
+@@ -617,6 +617,9 @@ int lxcContainerStart(virDomainDefPtr de
lxc_child_argv_t args = { def, nveths, veths, control, ttyPath };
/* allocate a stack for the container */
@@ -10,9 +10,9 @@ Index: src/lxc_container.c
+ stacksize *= 2;
+#endif
if (VIR_ALLOC_N(stack, stacksize) < 0) {
- lxcError(NULL, NULL, VIR_ERR_NO_MEMORY, NULL);
+ virReportOOMError(NULL);
return -1;
-@@ -614,7 +617,11 @@ int lxcContainerStart(virDomainDefPtr de
+@@ -628,7 +631,11 @@ int lxcContainerStart(virDomainDefPtr de
if (def->nets != NULL)
flags |= CLONE_NEWNET;
@@ -24,7 +24,7 @@ Index: src/lxc_container.c
VIR_FREE(stack);
DEBUG("clone() returned, %d", pid);
-@@ -640,18 +647,26 @@ int lxcContainerAvailable(int features)
+@@ -654,18 +661,26 @@ int lxcContainerAvailable(int features)
char *childStack;
char *stack;
int childStatus;
@@ -52,4 +52,4 @@ Index: src/lxc_container.c
+#endif
VIR_FREE(stack);
if (cpid < 0) {
- DEBUG("clone call returned %s, container support is not enabled",
+ char ebuf[1024];
diff --git a/cve-2008-5086.patch b/cve-2008-5086.patch
deleted file mode 100644
index 76db122..0000000
--- a/cve-2008-5086.patch
+++ /dev/null
@@ -1,152 +0,0 @@
-diff --git a/src/libvirt.c b/src/libvirt.c
---- a/src/libvirt.c
-+++ b/src/libvirt.c
-@@ -2296,6 +2296,16 @@ virDomainMigrate (virDomainPtr domain,
- conn = domain->conn; /* Source connection. */
- if (!VIR_IS_CONNECT (dconn)) {
- virLibConnError (conn, VIR_ERR_INVALID_CONN, __FUNCTION__);
-+ return NULL;
-+ }
-+
-+ if (domain->conn->flags & VIR_CONNECT_RO) {
-+ virLibDomainError(domain, VIR_ERR_OPERATION_DENIED, __FUNCTION__);
-+ return NULL;
-+ }
-+ if (dconn->flags & VIR_CONNECT_RO) {
-+ /* NB, delibrately report error against source object, not dest here */
-+ virLibDomainError(domain, VIR_ERR_OPERATION_DENIED, __FUNCTION__);
- return NULL;
- }
-
-@@ -2426,6 +2436,11 @@ virDomainMigratePrepare (virConnectPtr d
- return -1;
- }
-
-+ if (dconn->flags & VIR_CONNECT_RO) {
-+ virLibConnError(dconn, VIR_ERR_OPERATION_DENIED, __FUNCTION__);
-+ return -1;
-+ }
-+
- if (dconn->driver->domainMigratePrepare)
- return dconn->driver->domainMigratePrepare (dconn, cookie, cookielen,
- uri_in, uri_out,
-@@ -2457,6 +2472,11 @@ virDomainMigratePerform (virDomainPtr do
- }
- conn = domain->conn;
-
-+ if (domain->conn->flags & VIR_CONNECT_RO) {
-+ virLibDomainError(domain, VIR_ERR_OPERATION_DENIED, __FUNCTION__);
-+ return -1;
-+ }
-+
- if (conn->driver->domainMigratePerform)
- return conn->driver->domainMigratePerform (domain, cookie, cookielen,
- uri,
-@@ -2482,6 +2502,11 @@ virDomainMigrateFinish (virConnectPtr dc
-
- if (!VIR_IS_CONNECT (dconn)) {
- virLibConnError (NULL, VIR_ERR_INVALID_CONN, __FUNCTION__);
-+ return NULL;
-+ }
-+
-+ if (dconn->flags & VIR_CONNECT_RO) {
-+ virLibConnError(dconn, VIR_ERR_OPERATION_DENIED, __FUNCTION__);
- return NULL;
- }
-
-@@ -2517,6 +2542,11 @@ virDomainMigratePrepare2 (virConnectPtr
- return -1;
- }
-
-+ if (dconn->flags & VIR_CONNECT_RO) {
-+ virLibConnError(dconn, VIR_ERR_OPERATION_DENIED, __FUNCTION__);
-+ return -1;
-+ }
-+
- if (dconn->driver->domainMigratePrepare2)
- return dconn->driver->domainMigratePrepare2 (dconn, cookie, cookielen,
- uri_in, uri_out,
-@@ -2547,6 +2577,11 @@ virDomainMigrateFinish2 (virConnectPtr d
- return NULL;
- }
-
-+ if (dconn->flags & VIR_CONNECT_RO) {
-+ virLibConnError(dconn, VIR_ERR_OPERATION_DENIED, __FUNCTION__);
-+ return NULL;
-+ }
-+
- if (dconn->driver->domainMigrateFinish2)
- return dconn->driver->domainMigrateFinish2 (dconn, dname,
- cookie, cookielen,
-@@ -2905,6 +2940,11 @@ virDomainBlockPeek (virDomainPtr dom,
- }
- conn = dom->conn;
-
-+ if (dom->conn->flags & VIR_CONNECT_RO) {
-+ virLibDomainError(dom, VIR_ERR_OPERATION_DENIED, __FUNCTION__);
-+ return (-1);
-+ }
-+
- if (!path) {
- virLibDomainError (dom, VIR_ERR_INVALID_ARG,
- _("path is NULL"));
-@@ -2980,6 +3020,11 @@ virDomainMemoryPeek (virDomainPtr dom,
- }
- conn = dom->conn;
-
-+ if (dom->conn->flags & VIR_CONNECT_RO) {
-+ virLibDomainError(dom, VIR_ERR_OPERATION_DENIED, __FUNCTION__);
-+ return (-1);
-+ }
-+
- /* Flags must be VIR_MEMORY_VIRTUAL at the moment.
- *
- * Note on access to physical memory: A VIR_MEMORY_PHYSICAL flag is
-@@ -3246,6 +3291,11 @@ virDomainSetAutostart(virDomainPtr domai
- }
-
- conn = domain->conn;
-+
-+ if (domain->conn->flags & VIR_CONNECT_RO) {
-+ virLibDomainError(domain, VIR_ERR_OPERATION_DENIED, __FUNCTION__);
-+ return (-1);
-+ }
-
- if (conn->driver->domainSetAutostart)
- return conn->driver->domainSetAutostart (domain, autostart);
-@@ -4197,6 +4247,11 @@ virNetworkSetAutostart(virNetworkPtr net
- return (-1);
- }
-
-+ if (network->conn->flags & VIR_CONNECT_RO) {
-+ virLibNetworkError(network, VIR_ERR_OPERATION_DENIED, __FUNCTION__);
-+ return (-1);
-+ }
-+
- conn = network->conn;
-
- if (conn->networkDriver && conn->networkDriver->networkSetAutostart)
-@@ -4395,6 +4450,11 @@ virConnectFindStoragePoolSources(virConn
- return NULL;
- }
-
-+ if (conn->flags & VIR_CONNECT_RO) {
-+ virLibConnError(conn, VIR_ERR_OPERATION_DENIED, __FUNCTION__);
-+ return NULL;
-+ }
-+
- if (conn->storageDriver && conn->storageDriver->findPoolSources)
- return conn->storageDriver->findPoolSources(conn, type, srcSpec, flags);
-
-@@ -5068,6 +5128,11 @@ virStoragePoolSetAutostart(virStoragePoo
- return (-1);
- }
-
-+ if (pool->conn->flags & VIR_CONNECT_RO) {
-+ virLibStoragePoolError(pool, VIR_ERR_OPERATION_DENIED, __FUNCTION__);
-+ return (-1);
-+ }
-+
- conn = pool->conn;
-
- if (conn->storageDriver && conn->storageDriver->poolSetAutostart)
diff --git a/detach-disk.patch b/detach-disk.patch
index caf1da5..2bc1b14 100644
--- a/detach-disk.patch
+++ b/detach-disk.patch
@@ -1,31 +1,21 @@
-Index: libvirt-0.5.1/src/xend_internal.c
+Index: libvirt-0.6.2/src/xend_internal.c
===================================================================
---- libvirt-0.5.1.orig/src/xend_internal.c
-+++ libvirt-0.5.1/src/xend_internal.c
-@@ -5465,11 +5465,16 @@ virDomainXMLDevID(virDomainPtr domain,
- char *xref;
-
- if (dev->type == VIR_DOMAIN_DEVICE_DISK) {
-- strcpy(class, "vbd");
- if (dev->data.disk->dst == NULL)
+--- libvirt-0.6.2.orig/src/xend_internal.c
++++ libvirt-0.6.2/src/xend_internal.c
+@@ -5829,7 +5829,7 @@ virDomainXMLDevID(virDomainPtr domain,
return -1;
-+
-+ if (dev->data.disk->driverName &&
-+ (strcasecmp(dev->data.disk->driverName, "tap") == 0))
-+ strcpy(class, "tap");
-+ else
-+ strcpy(class, "vbd");
+ xenUnifiedLock(priv);
xref = xenStoreDomainGetDiskID(domain->conn, domain->id,
- dev->data.disk->dst);
+ dev->data.disk->dst, class);
+ xenUnifiedUnlock(priv);
if (xref == NULL)
return -1;
-
-Index: libvirt-0.5.1/src/xs_internal.c
+Index: libvirt-0.6.2/src/xs_internal.c
===================================================================
---- libvirt-0.5.1.orig/src/xs_internal.c
-+++ libvirt-0.5.1/src/xs_internal.c
-@@ -917,7 +917,8 @@ xenStoreDomainGetNetworkID(virConnectPtr
+--- libvirt-0.6.2.orig/src/xs_internal.c
++++ libvirt-0.6.2/src/xs_internal.c
+@@ -966,7 +966,8 @@ xenStoreDomainGetNetworkID(virConnectPtr
* freed by the caller.
*/
char *
@@ -35,7 +25,7 @@ Index: libvirt-0.5.1/src/xs_internal.c
char dir[80], path[128], **list = NULL, *val = NULL;
unsigned int devlen, len, i, num;
char *ret = NULL;
-@@ -935,7 +936,7 @@ xenStoreDomainGetDiskID(virConnectPtr co
+@@ -984,7 +985,7 @@ xenStoreDomainGetDiskID(virConnectPtr co
if (devlen <= 0)
return (NULL);
@@ -44,11 +34,11 @@ Index: libvirt-0.5.1/src/xs_internal.c
list = xs_directory(priv->xshandle, 0, dir, &num);
if (list != NULL) {
for (i = 0; i < num; i++) {
-Index: libvirt-0.5.1/src/xs_internal.h
+Index: libvirt-0.6.2/src/xs_internal.h
===================================================================
---- libvirt-0.5.1.orig/src/xs_internal.h
-+++ libvirt-0.5.1/src/xs_internal.h
-@@ -48,7 +48,8 @@ char * xenStoreDomainGetNetworkID(virCo
+--- libvirt-0.6.2.orig/src/xs_internal.h
++++ libvirt-0.6.2/src/xs_internal.h
+@@ -49,7 +49,8 @@ char * xenStoreDomainGetNetworkID(virCo
const char *mac);
char * xenStoreDomainGetDiskID(virConnectPtr conn,
int id,
diff --git a/devhelp.patch b/devhelp.patch
deleted file mode 100644
index 2028ea4..0000000
--- a/devhelp.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-Index: libvirt-0.4.6/docs/devhelp/Makefile.am
-===================================================================
---- libvirt-0.4.6.orig/docs/devhelp/Makefile.am
-+++ libvirt-0.4.6/docs/devhelp/Makefile.am
-@@ -1,7 +1,8 @@
- DEVHELP_DIR=$(datadir)/gtk-doc/html/libvirt
- HTML_FILES=index.html general.html $(HTML_MODULES)
- HTML_MODULES= \
-- libvirt-libvirt.html
-+ libvirt-libvirt.html \
-+ libvirt-virterror.html
-
- EXTRA_FORMAT= \
- home.png \
diff --git a/libvirt-0.5.1.tar.bz2 b/libvirt-0.5.1.tar.bz2
deleted file mode 100644
index 41e0a2a..0000000
--- a/libvirt-0.5.1.tar.bz2
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:cc6fc1909f40667bd32574a11f4052160ed94620b79f3d5db5541f25a12429ee
-size 3778088
diff --git a/libvirt-0.6.2.tar.bz2 b/libvirt-0.6.2.tar.bz2
new file mode 100644
index 0000000..96657b7
--- /dev/null
+++ b/libvirt-0.6.2.tar.bz2
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:15297915384d7f9cab9b21ca7fe9c301e1574a686c4927c69ffc7e65f148e7a5
+size 4144248
diff --git a/libvirt.changes b/libvirt.changes
index 454de2b..7d4ec79 100644
--- a/libvirt.changes
+++ b/libvirt.changes
@@ -1,3 +1,29 @@
+-------------------------------------------------------------------
+Fri Apr 24 14:26:39 MDT 2009 - jfehlig@novell.com
+
+- Removed unnecessary call to fillup_and_insserv macro in
+ %post scriptlet
+
+-------------------------------------------------------------------
+Wed Apr 22 17:33:01 MDT 2009 - jfehlig@novell.com
+
+- Updated to version 0.6.2
+ - support SASL auth for VNC server
+ - memory ballooning in QEMU
+ - SCSI HBA storage pool support
+ - PCI passthrough in Xen driver
+ - new APIs for Node device detach reattach and reset
+ - sVirt mandatory access control support
+ - thread safety of the API and event handling
+ - allow QEmu domains to survive daemon restart
+ - extended logging capabilities
+ - support copy-on-write storage volumes
+ - support of storage cache control options for QEMU/KVM
+- Improvements from lnussel@suse.de
+ - add %jobs macro again
+ - package default qemu network and augeas config files again
+ - don't start libvirtd by default (bnc#496838)
+
-------------------------------------------------------------------
Mon Apr 20 17:01:38 CEST 2009 - crrodriguez@suse.de
diff --git a/libvirt.spec b/libvirt.spec
index 8019fc8..75bf101 100644
--- a/libvirt.spec
+++ b/libvirt.spec
@@ -1,5 +1,5 @@
#
-# spec file for package libvirt (Version 0.5.1)
+# spec file for package libvirt (Version 0.6.2)
#
# Copyright (c) 2009 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
@@ -51,8 +51,8 @@ Url: http://libvirt.org/
License: LGPL v2.1 or later
Group: Development/Libraries/C and C++
AutoReqProv: yes
-Version: 0.5.1
-Release: 3
+Version: 0.6.2
+Release: 1
Summary: A C toolkit to interract with the virtualization capabilities of Linux
Requires: readline
Requires: ncurses
@@ -63,6 +63,7 @@ Requires: lvm2
Requires: parted
#Requires: /usr/bin/qemu-img
Recommends: cyrus-sasl-digestmd5
+Recommends: logrotate
Requires: dnsmasq
Requires: PolicyKit >= 0.6
Requires: socat
@@ -79,10 +80,8 @@ Patch4: vnc-port.patch
Patch5: xen-pv-cdrom.patch
Patch6: detach-disk.patch
Patch7: migrate-params.patch
-Patch8: cve-2008-5086.patch
-Patch9: devhelp.patch
-Patch10: suse-network.patch
-Patch11: snapshots.patch
+Patch8: suse-network.patch
+Patch9: snapshots.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%description
@@ -176,16 +175,14 @@ Authors:
%setup -q
%patch0 -p1
%patch1 -p1
-%patch2 -p1
+#%patch2 -p1
%patch3
-%patch4 -p1
+#%patch4 -p1
%patch5 -p1
%patch6 -p1
%patch7 -p1
%patch8 -p1
%patch9 -p1
-%patch10 -p1
-%patch11 -p1
%build
%if ! %{with_xen}
@@ -199,7 +196,8 @@ Authors:
%endif
autoreconf -f -i
export CFLAGS="$RPM_OPT_FLAGS"
-%configure --disable-static --with-pic %{?_without_xen} \
+%configure --disable-static --with-pic \
+ %{?_without_xen} \
%{?_without_lxc} \
%{?_with_selinux} \
--libexecdir=%{_libdir}/%{name} \
@@ -209,8 +207,10 @@ export CFLAGS="$RPM_OPT_FLAGS"
ac_cv_path_DNSMASQ=/usr/sbin/dnsmasq \
ac_cv_path_QEMU_IMG=/usr/bin/qemu-img-xen \
ac_cv_path_ISCSIADM=/sbin/iscsiadm \
+ ac_cv_path_MODPROBE=/sbin/modprobe \
+ ac_cv_path_UDEVADM=/sbin/udevadm \
ac_cv_path_SHOWMOUNT=/usr/sbin/showmount
-make DOCS_DIR=%{_docdir}/%{name}-python EXAMPLE_DIR=%{_docdir}/%{name}-python/examples HTML_DIR=%{_docdir}/%{name}
+make %{?jobs:-j%jobs} DOCS_DIR=%{_docdir}/%{name}-python EXAMPLE_DIR=%{_docdir}/%{name}-python/examples HTML_DIR=%{_docdir}/%{name}
%install
%makeinstall DOCS_DIR=%{_docdir}/%{name}-python EXAMPLE_DIR=%{_docdir}/%{name}-python/examples HTML_DIR=%{_docdir}/%{name}
@@ -218,14 +218,8 @@ cp -a AUTHORS ChangeLog COPYING NEWS README TODO $RPM_BUILD_ROOT%{_docdir}/%{nam
cd docs ; cp -a *.html $RPM_BUILD_ROOT%{_docdir}/%{name} ; cp -a *.png $RPM_BUILD_ROOT%{_docdir}/%{name} ; cd ..
# remove currently unsupported locale(s)
rm -rf $RPM_BUILD_ROOT/usr/share/locale/sr@latin
-# for now, do not install the default network definition
-rm -f $RPM_BUILD_ROOT%{_sysconfdir}/libvirt/qemu/networks/default.xml
+# don't autostart the default network
rm -f $RPM_BUILD_ROOT%{_sysconfdir}/libvirt/qemu/networks/autostart/default.xml
-# do not package augeas config files for now
-rm -f $RPM_BUILD_ROOT%{_datadir}/augeas/lenses/libvirtd.aug
-rm -f $RPM_BUILD_ROOT%{_datadir}/augeas/lenses/libvirtd_qemu.aug
-rm -f $RPM_BUILD_ROOT%{_datadir}/augeas/lenses/tests/test_libvirtd.aug
-rm -f $RPM_BUILD_ROOT%{_datadir}/augeas/lenses/tests/test_libvirtd_qemu.aug
mkdir -p $RPM_BUILD_ROOT/%{_localstatedir}/run/libvirt
mkdir -p $RPM_BUILD_ROOT/%{_localstatedir}/lib/libvirt
rm $RPM_BUILD_ROOT%{_docdir}/%{name}/{*.c,examples.x*}
@@ -255,9 +249,7 @@ ln -s /etc/init.d/libvirtd $RPM_BUILD_ROOT/usr/sbin/rclibvirtd
%clean
rm -rf $RPM_BUILD_ROOT
-%post
-/sbin/ldconfig
-%{fillup_and_insserv -f -y libvirtd}
+%post -p /sbin/ldconfig
%preun
%stop_on_removal libvirtd
@@ -287,6 +279,8 @@ rm -rf $RPM_BUILD_ROOT
%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
+%config %{_sysconfdir}/libvirt/qemu/networks/default.xml
+%config %{_sysconfdir}/logrotate.d/libvirtd
%dir /%{_localstatedir}/run/libvirt/
%dir /%{_localstatedir}/lib/libvirt/
%config /etc/init.d/libvirtd
@@ -297,6 +291,8 @@ rm -rf $RPM_BUILD_ROOT
%if 0%{?suse_version} > 1030
%{_datadir}/PolicyKit/policy/org.libvirt.unix.policy
%endif
+%{_datadir}/libvirt
+%{_datadir}/augeas
%files devel
%defattr(-, root, root)
@@ -319,12 +315,32 @@ rm -rf $RPM_BUILD_ROOT
%{py_sitedir}/libvirtmod*
%changelog
+* Fri Apr 24 2009 jfehlig@novell.com
+- Removed unnecessary call to fillup_and_insserv macro in
+ %%post scriptlet
+* Wed Apr 22 2009 jfehlig@novell.com
+- Updated to version 0.6.2
+ - support SASL auth for VNC server
+ - memory ballooning in QEMU
+ - SCSI HBA storage pool support
+ - PCI passthrough in Xen driver
+ - new APIs for Node device detach reattach and reset
+ - sVirt mandatory access control support
+ - thread safety of the API and event handling
+ - allow QEmu domains to survive daemon restart
+ - extended logging capabilities
+ - support copy-on-write storage volumes
+ - support of storage cache control options for QEMU/KVM
+- Improvements from lnussel@suse.de
+ - add %%jobs macro again
+ - package default qemu network and augeas config files again
+ - don't start libvirtd by default (bnc#496838)
* Mon Apr 20 2009 crrodriguez@suse.de
- use --disable-static instead of just removing static libraries
-* Sat Jan 31 2009 jfehlig@novell.com
+* Fri Jan 30 2009 jfehlig@novell.com
- Fix build for architectures not supporting numa
- Forward port suse-network.patch and snapshots.patch
-* Thu Jan 29 2009 jfehlig@novell.com
+* Wed Jan 28 2009 jfehlig@novell.com
- Updated to version 0.5.1
- CPU and scheduler support for LXC
- SDL display configuration
@@ -354,19 +370,19 @@ rm -rf $RPM_BUILD_ROOT
* Mon Nov 24 2008 jfehlig@novell.com
- Fix connecting/disconnecting ISO via virt-manager
bnc#446773
-* Fri Nov 21 2008 jfehlig@novell.com
+* Thu Nov 20 2008 jfehlig@novell.com
- Fix detach of Xen tap devices
bnc#410644 and bnc#411633
-* Fri Nov 07 2008 jfehlig@novell.com
+* Thu Nov 06 2008 jfehlig@novell.com
- Fix handling of iso/cdrom for xen pv domains.
bnc#437388
-* Thu Nov 06 2008 jfehlig@novell.com
+* Wed Nov 05 2008 jfehlig@novell.com
- Expose networks managed outside of libvirt as read-only.
bnc#441633
* Wed Nov 05 2008 jfehlig@novell.com
- Fix vnc port assignement in domain XML
bnc#441625
-* Fri Oct 24 2008 jfehlig@novell.com
+* Thu Oct 23 2008 jfehlig@novell.com
- Add upstream patches to fix ordering problem with setting up
cgroup containment on LXC domains.
bnc#437816
@@ -378,9 +394,9 @@ rm -rf $RPM_BUILD_ROOT
* Mon Oct 06 2008 jfehlig@novell.com
- Use xend vs hypercall interface to change max mem setting
bnc#431766
-* Thu Oct 02 2008 jfehlig@novell.com
-- Enabled libvirtd listen mode in libvirtd init script.
* Wed Oct 01 2008 jfehlig@novell.com
+- Enabled libvirtd listen mode in libvirtd init script.
+* Tue Sep 30 2008 jfehlig@novell.com
- Updated to version 0.4.6
- avoid a segfault if missing qemu emulator
- reading vncdisplay from xend domain
@@ -406,9 +422,9 @@ rm -rf $RPM_BUILD_ROOT
* Tue Sep 02 2008 kwolf@suse.de
- Added snapshot support. Implemented snapshot_create/apply/delete
for Xen.
-* Sat Aug 30 2008 jfehlig@novell.com
-- Fixed bugs in nfs storage pool creation/deletion
* Fri Aug 29 2008 jfehlig@novell.com
+- Fixed bugs in nfs storage pool creation/deletion
+* Thu Aug 28 2008 jfehlig@novell.com
- Fixed bugs in LVM storage pool creation.
logical-storage-driver.patch submitted upstream
* Wed Aug 27 2008 jfehlig@novell.com
@@ -423,7 +439,7 @@ rm -rf $RPM_BUILD_ROOT
- Fixed spec file breakage due to SELinux enablement
* Fri Aug 22 2008 prusnak@suse.cz
- enabled SELinux support [Fate#303662]
-* Tue Aug 12 2008 jfehlig@novell.com
+* Mon Aug 11 2008 jfehlig@novell.com
- Cleanup of libvirtd init script
- Removed dnsmasq from BuildRequires
* Sat Aug 09 2008 jfehlig@novell.com
@@ -452,7 +468,7 @@ rm -rf $RPM_BUILD_ROOT
* Thu Apr 10 2008 jfehlig@novell.com
- Fix NULL pointer dereference in auth callback. bnc#373180,
bnc#354995
-* Thu Jan 10 2008 jfehlig@novell.com
+* Wed Jan 09 2008 jfehlig@novell.com
- Remove Requires of nc package. netcat is the equivalent but it
does not support unix domain sockets so no need to require it
either.
@@ -477,11 +493,11 @@ rm -rf $RPM_BUILD_ROOT
to be a subtle dependency issue in one of the makefiles which is
causing problems with generation of python bindings when jobs > 1.
Bug #329032.
-* Tue Aug 21 2007 jfehlig@novell.com
+* Mon Aug 20 2007 jfehlig@novell.com
- Added init script for libvirtd. libvirtd is needed to support
management of qemu/kvm guests. Some Xen networking is handled
through libvirt as well - bug #298021.
-* Tue Jul 24 2007 jfehlig@novell.com
+* Mon Jul 23 2007 jfehlig@novell.com
- Update to libvirt-0.3.0
- Secure Remote support
- Documentation: remote support, description of the URI connection
@@ -522,14 +538,14 @@ rm -rf $RPM_BUILD_ROOT
- Fixed docdir destination.
- Build with CFLAGS.
- Spec file cleanup.
-* Wed Feb 21 2007 jfehlig@novell.com
+* Tue Feb 20 2007 jfehlig@novell.com
- Removed usr/lib/libvirt_proxy setuid binary from package. Fixes
bug #246610.
-* Sat Feb 17 2007 jfehlig@novell.com
+* Fri Feb 16 2007 jfehlig@novell.com
- Updated to latest release. Many of the issues seen in virt-manager
have been caused by bugs / missing functionality in libvirt. This
upate provides a better basis for virt-manager.
-* Thu Jan 11 2007 jfehlig@novell.com
+* Wed Jan 10 2007 jfehlig@novell.com
- Updated to latest release, version 0.1.10. Submitting to SLES10 SP1
to provide base functionality for FATE feature 301181.
- more localizations
@@ -541,7 +557,7 @@ rm -rf $RPM_BUILD_ROOT
- support graphic framebuffer for Xen paravirt (Daniel Berrange)
- VNC listen IP range support (Daniel Berrange)
- support for default Xen config files and inactive domains of 3.0.4 (Daniel Berrange)
-* Sat Dec 09 2006 jfehlig@novell.com
+* Fri Dec 08 2006 jfehlig@novell.com
- Updated to latest release, version 0.1.9.
- python bindings: release interpeter lock when calling C (Daniel Berrange)
- don't raise HTTP error when looking informations for a domain
diff --git a/libvirtd-defaults.patch b/libvirtd-defaults.patch
index 4c3d5bd..7a64b74 100644
--- a/libvirtd-defaults.patch
+++ b/libvirtd-defaults.patch
@@ -1,7 +1,7 @@
-Index: libvirt-0.5.1/qemud/libvirtd.conf
+Index: libvirt-0.6.2/qemud/libvirtd.conf
===================================================================
---- libvirt-0.5.1.orig/qemud/libvirtd.conf
-+++ libvirt-0.5.1/qemud/libvirtd.conf
+--- libvirt-0.6.2.orig/qemud/libvirtd.conf
++++ libvirt-0.6.2/qemud/libvirtd.conf
@@ -18,8 +18,8 @@
# It is necessary to setup a CA and issue server certificates before
# using this capability.
@@ -28,12 +28,12 @@ Index: libvirt-0.5.1/qemud/libvirtd.conf
# Override the default mDNS advertizement name. This must be
# unique on the immediate broadcast network.
-Index: libvirt-0.5.1/qemud/qemud.c
+Index: libvirt-0.6.2/qemud/qemud.c
===================================================================
---- libvirt-0.5.1.orig/qemud/qemud.c
-+++ libvirt-0.5.1/qemud/qemud.c
-@@ -92,7 +92,7 @@ static int sigwrite = -1; /* Signa
- static int ipsock = 0; /* -l Listen for TCP/IP */
+--- libvirt-0.6.2.orig/qemud/qemud.c
++++ libvirt-0.6.2/qemud/qemud.c
+@@ -132,7 +132,7 @@ static char *log_filters = NULL;
+ static char *log_outputs = NULL;
/* Defaults for configuration file elements */
-static int listen_tls = 1;
@@ -41,7 +41,7 @@ Index: libvirt-0.5.1/qemud/qemud.c
static int listen_tcp = 0;
static char *listen_addr = (char *) LIBVIRTD_LISTEN_ADDR;
static char *tls_port = (char *) LIBVIRTD_TLS_PORT;
-@@ -116,7 +116,7 @@ static int auth_tcp = REMOTE_AUTH_NONE;
+@@ -154,7 +154,7 @@ static int auth_tcp = REMOTE_AUTH_NONE;
#endif
static int auth_tls = REMOTE_AUTH_NONE;
diff --git a/migrate-params.patch b/migrate-params.patch
index cc6ce7d..aaa7c90 100644
--- a/migrate-params.patch
+++ b/migrate-params.patch
@@ -1,10 +1,10 @@
-Index: libvirt-0.5.1/src/xend_internal.c
+Index: libvirt-0.6.2/src/xend_internal.c
===================================================================
---- libvirt-0.5.1.orig/src/xend_internal.c
-+++ libvirt-0.5.1/src/xend_internal.c
-@@ -4226,6 +4226,8 @@ xenDaemonDomainMigratePerform (virDomain
- "live", live,
- "port", port,
+--- libvirt-0.6.2.orig/src/xend_internal.c
++++ libvirt-0.6.2/src/xend_internal.c
+@@ -4453,6 +4453,8 @@ xenDaemonDomainMigratePerform (virDomain
+ "node", "-1",
+ "ssl", "0",
"resource", "0", /* required, xend ignores it */
+ "node", "-1", /* numa node, xen c/s 17753 */
+ "ssl", "0", /* ssl migration, xen c/s 17709 */
diff --git a/snapshots.patch b/snapshots.patch
index 1d84f3a..84caf79 100644
--- a/snapshots.patch
+++ b/snapshots.patch
@@ -1,8 +1,8 @@
-Index: libvirt-0.5.1/include/libvirt/libvirt.h.in
+Index: libvirt-0.6.2/include/libvirt/libvirt.h.in
===================================================================
---- libvirt-0.5.1.orig/include/libvirt/libvirt.h.in
-+++ libvirt-0.5.1/include/libvirt/libvirt.h.in
-@@ -470,6 +470,21 @@ int virDomainRestore
+--- libvirt-0.6.2.orig/include/libvirt/libvirt.h.in
++++ libvirt-0.6.2/include/libvirt/libvirt.h.in
+@@ -537,6 +537,21 @@ int virDomainRestore
const char *from);
/*
@@ -24,11 +24,11 @@ Index: libvirt-0.5.1/include/libvirt/libvirt.h.in
* Domain core dump
*/
int virDomainCoreDump (virDomainPtr domain,
-Index: libvirt-0.5.1/src/libvirt.c
+Index: libvirt-0.6.2/src/libvirt.c
===================================================================
---- libvirt-0.5.1.orig/src/libvirt.c
-+++ libvirt-0.5.1/src/libvirt.c
-@@ -1777,6 +1777,168 @@ virDomainRestore(virConnectPtr conn, con
+--- libvirt-0.6.2.orig/src/libvirt.c
++++ libvirt-0.6.2/src/libvirt.c
+@@ -2067,6 +2067,168 @@ error:
return -1;
}
@@ -197,10 +197,10 @@ Index: libvirt-0.5.1/src/libvirt.c
/**
* virDomainCoreDump:
* @domain: a domain object
-Index: libvirt-0.5.1/src/driver.h
+Index: libvirt-0.6.2/src/driver.h
===================================================================
---- libvirt-0.5.1.orig/src/driver.h
-+++ libvirt-0.5.1/src/driver.h
+--- libvirt-0.6.2.orig/src/driver.h
++++ libvirt-0.6.2/src/driver.h
@@ -145,6 +145,21 @@ typedef int
(*virDrvDomainRestore) (virConnectPtr conn,
const char *from);
@@ -223,24 +223,23 @@ Index: libvirt-0.5.1/src/driver.h
(*virDrvDomainCoreDump) (virDomainPtr domain,
const char *to,
int flags);
-@@ -387,6 +402,12 @@ struct _virDriver {
- virDrvDomainEventDeregister domainEventDeregister;
- virDrvDomainMigratePrepare2 domainMigratePrepare2;
- virDrvDomainMigrateFinish2 domainMigrateFinish2;
-+
+@@ -408,6 +423,11 @@ struct _virDriver {
+ virDrvNodeDeviceDettach nodeDeviceDettach;
+ virDrvNodeDeviceReAttach nodeDeviceReAttach;
+ virDrvNodeDeviceReset nodeDeviceReset;
+ virDrvDomainSnapshotCreate domainSnapshotCreate;
-+ virDrvDomainSnapshotApply domainSnapshotApply;
++ virDrvDomainSnapshotApply domainSnapshotApply;
+ virDrvDomainSnapshotDelete domainSnapshotDelete;
+ virDrvDomainNumOfSnapshots domainNumOfSnapshots;
-+ virDrvDomainListSnapshots domainListSnapshots;
++ virDrvDomainListSnapshots domainListSnapshots;
};
typedef int
-Index: libvirt-0.5.1/src/xen_unified.c
+Index: libvirt-0.6.2/src/xen_unified.c
===================================================================
---- libvirt-0.5.1.orig/src/xen_unified.c
-+++ libvirt-0.5.1/src/xen_unified.c
-@@ -924,6 +924,81 @@ xenUnifiedDomainRestore (virConnectPtr c
+--- libvirt-0.6.2.orig/src/xen_unified.c
++++ libvirt-0.6.2/src/xen_unified.c
+@@ -931,6 +931,81 @@ xenUnifiedDomainRestore (virConnectPtr c
}
static int
@@ -322,39 +321,39 @@ Index: libvirt-0.5.1/src/xen_unified.c
xenUnifiedDomainCoreDump (virDomainPtr dom, const char *to, int flags)
{
GET_PRIVATE(dom->conn);
-@@ -1425,6 +1500,11 @@ static virDriver xenUnifiedDriver = {
- .domainGetInfo = xenUnifiedDomainGetInfo,
- .domainSave = xenUnifiedDomainSave,
- .domainRestore = xenUnifiedDomainRestore,
-+ .domainSnapshotCreate = xenUnifiedDomainSnapshotCreate,
-+ .domainSnapshotApply = xenUnifiedDomainSnapshotApply,
-+ .domainSnapshotDelete = xenUnifiedDomainSnapshotDelete,
-+ .domainNumOfSnapshots = xenUnifiedDomainNumOfSnapshots,
-+ .domainListSnapshots = xenUnifiedDomainListSnapshots,
- .domainCoreDump = xenUnifiedDomainCoreDump,
- .domainSetVcpus = xenUnifiedDomainSetVcpus,
- .domainPinVcpu = xenUnifiedDomainPinVcpu,
-Index: libvirt-0.5.1/src/xen_unified.h
+@@ -1608,6 +1683,11 @@ static virDriver xenUnifiedDriver = {
+ xenUnifiedNodeDeviceDettach, /* nodeDeviceDettach */
+ xenUnifiedNodeDeviceReAttach, /* nodeDeviceReAttach */
+ xenUnifiedNodeDeviceReset, /* nodeDeviceReset */
++ xenUnifiedDomainSnapshotCreate,
++ xenUnifiedDomainSnapshotApply,
++ xenUnifiedDomainSnapshotDelete,
++ xenUnifiedDomainNumOfSnapshots,
++ xenUnifiedDomainListSnapshots,
+ };
+
+ /**
+Index: libvirt-0.6.2/src/xen_unified.h
===================================================================
---- libvirt-0.5.1.orig/src/xen_unified.h
-+++ libvirt-0.5.1/src/xen_unified.h
-@@ -78,6 +78,11 @@ struct xenUnifiedDriver {
- virDrvDomainGetInfo domainGetInfo;
- virDrvDomainSave domainSave;
- virDrvDomainRestore domainRestore;
+--- libvirt-0.6.2.orig/src/xen_unified.h
++++ libvirt-0.6.2/src/xen_unified.h
+@@ -95,6 +95,11 @@ struct xenUnifiedDriver {
+ virDrvDomainGetSchedulerType domainGetSchedulerType;
+ virDrvDomainGetSchedulerParameters domainGetSchedulerParameters;
+ virDrvDomainSetSchedulerParameters domainSetSchedulerParameters;
+ virDrvDomainSnapshotCreate domainSnapshotCreate;
+ virDrvDomainSnapshotApply domainSnapshotApply;
+ virDrvDomainSnapshotDelete domainSnapshotDelete;
+ virDrvDomainNumOfSnapshots domainNumOfSnapshots;
+ virDrvDomainListSnapshots domainListSnapshots;
- virDrvDomainCoreDump domainCoreDump;
- virDrvDomainSetVcpus domainSetVcpus;
- virDrvDomainPinVcpu domainPinVcpu;
-Index: libvirt-0.5.1/src/xend_internal.c
+ };
+
+ typedef struct xenXMConfCache *xenXMConfCachePtr;
+Index: libvirt-0.6.2/src/xend_internal.c
===================================================================
---- libvirt-0.5.1.orig/src/xend_internal.c
-+++ libvirt-0.5.1/src/xend_internal.c
-@@ -51,6 +51,12 @@
+--- libvirt-0.6.2.orig/src/xend_internal.c
++++ libvirt-0.6.2/src/xend_internal.c
+@@ -53,6 +53,12 @@
#ifndef PROXY
@@ -367,7 +366,7 @@ Index: libvirt-0.5.1/src/xend_internal.c
/*
* The number of Xen scheduler parameters
*/
-@@ -3024,6 +3030,87 @@ xenDaemonDomainRestore(virConnectPtr con
+@@ -3233,6 +3239,87 @@ xenDaemonDomainRestore(virConnectPtr con
}
return xend_op(conn, "", "op", "restore", "file", filename, NULL);
}
@@ -455,87 +454,87 @@ Index: libvirt-0.5.1/src/xend_internal.c
#endif /* !PROXY */
/**
-@@ -4781,6 +4868,11 @@ struct xenUnifiedDriver xenDaemonDriver
- xenDaemonDomainGetInfo, /* domainGetInfo */
- xenDaemonDomainSave, /* domainSave */
- xenDaemonDomainRestore, /* domainRestore */
+@@ -5025,6 +5112,11 @@ struct xenUnifiedDriver xenDaemonDriver
+ xenDaemonGetSchedulerType, /* domainGetSchedulerType */
+ xenDaemonGetSchedulerParameters, /* domainGetSchedulerParameters */
+ xenDaemonSetSchedulerParameters, /* domainSetSchedulerParameters */
+ xenDaemonDomainSnapshotCreate, /* domainSnapshotCreate */
+ xenDaemonDomainSnapshotApply, /* domainSnapshotApply */
+ xenDaemonDomainSnapshotDelete, /* domainSnapshotDelete */
+ xenDaemonDomainNumOfSnapshots, /* domainNumOfSnapshots */
+ xenDaemonDomainListSnapshots, /* domainListSnapshots */
- xenDaemonDomainCoreDump, /* domainCoreDump */
- xenDaemonDomainSetVcpus, /* domainSetVcpus */
- xenDaemonDomainPinVcpu, /* domainPinVcpu */
-Index: libvirt-0.5.1/src/proxy_internal.c
+ };
+
+ /************************************************************************
+Index: libvirt-0.6.2/src/proxy_internal.c
===================================================================
---- libvirt-0.5.1.orig/src/proxy_internal.c
-+++ libvirt-0.5.1/src/proxy_internal.c
-@@ -68,6 +68,11 @@ struct xenUnifiedDriver xenProxyDriver =
- xenProxyDomainGetInfo, /* domainGetInfo */
- NULL, /* domainSave */
- NULL, /* domainRestore */
+--- libvirt-0.6.2.orig/src/proxy_internal.c
++++ libvirt-0.6.2/src/proxy_internal.c
+@@ -84,6 +84,11 @@ struct xenUnifiedDriver xenProxyDriver =
+ NULL, /* domainGetSchedulerType */
+ NULL, /* domainGetSchedulerParameters */
+ NULL, /* domainSetSchedulerParameters */
+ NULL, /* domainSnapshotCreate */
+ NULL, /* domainSnapshotApply */
+ NULL, /* domainSnapshotDelete */
+ NULL, /* domainNumOfSnapshots */
+ NULL, /* domainListSnapshots */
- NULL, /* domainCoreDump */
- NULL, /* domainSetVcpus */
- NULL, /* domainPinVcpu */
-Index: libvirt-0.5.1/src/xen_internal.c
+ };
+
+
+Index: libvirt-0.6.2/src/xen_internal.c
===================================================================
---- libvirt-0.5.1.orig/src/xen_internal.c
-+++ libvirt-0.5.1/src/xen_internal.c
-@@ -699,6 +699,11 @@ struct xenUnifiedDriver xenHypervisorDri
- xenHypervisorGetDomainInfo, /* domainGetInfo */
- NULL, /* domainSave */
- NULL, /* domainRestore */
+--- libvirt-0.6.2.orig/src/xen_internal.c
++++ libvirt-0.6.2/src/xen_internal.c
+@@ -731,6 +731,11 @@ struct xenUnifiedDriver xenHypervisorDri
+ xenHypervisorGetSchedulerType, /* domainGetSchedulerType */
+ xenHypervisorGetSchedulerParameters, /* domainGetSchedulerParameters */
+ xenHypervisorSetSchedulerParameters, /* domainSetSchedulerParameters */
+ NULL, /* domainSnapshotCreate */
+ NULL, /* domainSnapshotApply */
+ NULL, /* domainSnapshotDelete */
+ NULL, /* domainNumOfSnapshots */
+ NULL, /* domainListSnapshots */
- NULL, /* domainCoreDump */
- xenHypervisorSetVcpus, /* domainSetVcpus */
- xenHypervisorPinVcpu, /* domainPinVcpu */
-Index: libvirt-0.5.1/src/xm_internal.c
+ };
+ #endif /* !PROXY */
+
+Index: libvirt-0.6.2/src/xm_internal.c
===================================================================
---- libvirt-0.5.1.orig/src/xm_internal.c
-+++ libvirt-0.5.1/src/xm_internal.c
-@@ -100,6 +100,11 @@ struct xenUnifiedDriver xenXMDriver = {
- xenXMDomainGetInfo, /* domainGetInfo */
- NULL, /* domainSave */
- NULL, /* domainRestore */
+--- libvirt-0.6.2.orig/src/xm_internal.c
++++ libvirt-0.6.2/src/xm_internal.c
+@@ -116,6 +116,11 @@ struct xenUnifiedDriver xenXMDriver = {
+ NULL, /* domainGetSchedulerType */
+ NULL, /* domainGetSchedulerParameters */
+ NULL, /* domainSetSchedulerParameters */
+ NULL, /* domainSnapshotCreate */
+ NULL, /* domainSnapshotApply */
+ NULL, /* domainSnapshotDelete */
+ NULL, /* domainNumOfSnapshots */
+ NULL, /* domainListSnapshots */
- NULL, /* domainCoreDump */
- xenXMDomainSetVcpus, /* domainSetVcpus */
- xenXMDomainPinVcpu, /* domainPinVcpu */
-Index: libvirt-0.5.1/src/xs_internal.c
+ };
+
+ #define xenXMError(conn, code, fmt...) \
+Index: libvirt-0.6.2/src/xs_internal.c
===================================================================
---- libvirt-0.5.1.orig/src/xs_internal.c
-+++ libvirt-0.5.1/src/xs_internal.c
-@@ -74,6 +74,11 @@ struct xenUnifiedDriver xenStoreDriver =
- xenStoreGetDomainInfo, /* domainGetInfo */
- NULL, /* domainSave */
- NULL, /* domainRestore */
+--- libvirt-0.6.2.orig/src/xs_internal.c
++++ libvirt-0.6.2/src/xs_internal.c
+@@ -83,6 +83,11 @@ struct xenUnifiedDriver xenStoreDriver =
+ NULL, /* domainGetSchedulerType */
+ NULL, /* domainGetSchedulerParameters */
+ NULL, /* domainSetSchedulerParameters */
+ NULL, /* domainSnapshotCreate */
+ NULL, /* domainSnapshotApply */
+ NULL, /* domainSnapshotDelete */
+ NULL, /* domainNumOfSnapshots */
+ NULL, /* domainListSnapshots */
- NULL, /* domainCoreDump */
- NULL, /* domainSetVcpus */
- NULL, /* domainPinVcpu */
-Index: libvirt-0.5.1/src/virsh.c
+ };
+
+ #endif /* ! PROXY */
+Index: libvirt-0.6.2/src/virsh.c
===================================================================
---- libvirt-0.5.1.orig/src/virsh.c
-+++ libvirt-0.5.1/src/virsh.c
-@@ -1099,6 +1099,189 @@ cmdSave(vshControl *ctl, const vshCmd *c
+--- libvirt-0.6.2.orig/src/virsh.c
++++ libvirt-0.6.2/src/virsh.c
+@@ -1146,6 +1146,189 @@ cmdSave(vshControl *ctl, const vshCmd *c
return ret;
}
@@ -570,7 +569,7 @@ Index: libvirt-0.5.1/src/virsh.c
+ if (!(name = vshCommandOptString(cmd, "name", NULL)))
+ return FALSE;
+
-+ if (!(dom = vshCommandOptDomain(ctl, cmd, "domain", &domain)))
++ if (!(dom = vshCommandOptDomain(ctl, cmd, &domain)))
+ return FALSE;
+
+ if (virDomainSnapshotCreate(dom, name) == 0) {
@@ -615,7 +614,7 @@ Index: libvirt-0.5.1/src/virsh.c
+ if (!(name = vshCommandOptString(cmd, "name", NULL)))
+ return FALSE;
+
-+ if (!(dom = vshCommandOptDomain(ctl, cmd, "domain", &domain)))
++ if (!(dom = vshCommandOptDomain(ctl, cmd, &domain)))
+ return FALSE;
+
+ if (virDomainSnapshotApply(dom, name) == 0) {
@@ -661,7 +660,7 @@ Index: libvirt-0.5.1/src/virsh.c
+ if (!(name = vshCommandOptString(cmd, "name", NULL)))
+ return FALSE;
+
-+ if (!(dom = vshCommandOptDomain(ctl, cmd, "domain", &domain)))
++ if (!(dom = vshCommandOptDomain(ctl, cmd, &domain)))
+ return FALSE;
+
+ if (virDomainSnapshotDelete(dom, name) == 0) {
@@ -704,7 +703,7 @@ Index: libvirt-0.5.1/src/virsh.c
+ if (!vshConnectionUsability(ctl, ctl->conn, TRUE))
+ return FALSE;
+
-+ if (!(dom = vshCommandOptDomain(ctl, cmd, "domain", &domain)))
++ if (!(dom = vshCommandOptDomain(ctl, cmd, &domain)))
+ return FALSE;
+
+ // TODO Display snapshot details
@@ -725,7 +724,7 @@ Index: libvirt-0.5.1/src/virsh.c
/*
* "schedinfo" command
*/
-@@ -5697,6 +5880,12 @@ static const vshCmdDef commands[] = {
+@@ -5929,6 +6112,12 @@ static const vshCmdDef commands[] = {
{"undefine", cmdUndefine, opts_undefine, info_undefine},
{"uri", cmdURI, NULL, info_uri},
@@ -738,14 +737,14 @@ Index: libvirt-0.5.1/src/virsh.c
{"vol-create", cmdVolCreate, opts_vol_create, info_vol_create},
{"vol-create-as", cmdVolCreateAs, opts_vol_create_as, info_vol_create_as},
{"vol-delete", cmdVolDelete, opts_vol_delete, info_vol_delete},
-Index: libvirt-0.5.1/src/lxc_driver.c
+Index: libvirt-0.6.2/src/lxc_driver.c
===================================================================
---- libvirt-0.5.1.orig/src/lxc_driver.c
-+++ libvirt-0.5.1/src/lxc_driver.c
-@@ -1291,6 +1291,11 @@ static virDriver lxcDriver = {
- NULL, /* domainEventDeregister */
- NULL, /* domainMigratePrepare2 */
- NULL, /* domainMigrateFinish2 */
+--- libvirt-0.6.2.orig/src/lxc_driver.c
++++ libvirt-0.6.2/src/lxc_driver.c
+@@ -1471,6 +1471,11 @@ static virDriver lxcDriver = {
+ NULL, /* nodeDeviceDettach */
+ NULL, /* nodeDeviceReAttach */
+ NULL, /* nodeDeviceReset */
+ NULL, /* domainSnapshotCreate */
+ NULL, /* domainSnapshotApply */
+ NULL, /* domainSnapshotDelete */
@@ -754,14 +753,14 @@ Index: libvirt-0.5.1/src/lxc_driver.c
};
static virStateDriver lxcStateDriver = {
-Index: libvirt-0.5.1/src/openvz_driver.c
+Index: libvirt-0.6.2/src/openvz_driver.c
===================================================================
---- libvirt-0.5.1.orig/src/openvz_driver.c
-+++ libvirt-0.5.1/src/openvz_driver.c
-@@ -1146,6 +1146,11 @@ static virDriver openvzDriver = {
- NULL, /* domainEventDeregister */
- NULL, /* domainMigratePrepare2 */
- NULL, /* domainMigrateFinish2 */
+--- libvirt-0.6.2.orig/src/openvz_driver.c
++++ libvirt-0.6.2/src/openvz_driver.c
+@@ -1372,6 +1372,11 @@ static virDriver openvzDriver = {
+ NULL, /* nodeDeviceDettach */
+ NULL, /* nodeDeviceReAttach */
+ NULL, /* nodeDeviceReset */
+ NULL, /* domainSnapshotCreate */
+ NULL, /* domainSnapshotApply */
+ NULL, /* domainSnapshotDelete */
@@ -770,14 +769,14 @@ Index: libvirt-0.5.1/src/openvz_driver.c
};
int openvzRegister(void) {
-Index: libvirt-0.5.1/src/qemu_driver.c
+Index: libvirt-0.6.2/src/qemu_driver.c
===================================================================
---- libvirt-0.5.1.orig/src/qemu_driver.c
-+++ libvirt-0.5.1/src/qemu_driver.c
-@@ -3794,6 +3794,11 @@ static virDriver qemuDriver = {
- qemudDomainEventDeregister, /* domainEventDeregister */
- qemudDomainMigratePrepare2, /* domainMigratePrepare2 */
- qemudDomainMigrateFinish2, /* domainMigrateFinish2 */
+--- libvirt-0.6.2.orig/src/qemu_driver.c
++++ libvirt-0.6.2/src/qemu_driver.c
+@@ -5131,6 +5131,11 @@ static virDriver qemuDriver = {
+ qemudNodeDeviceDettach, /* nodeDeviceDettach */
+ qemudNodeDeviceReAttach, /* nodeDeviceReAttach */
+ qemudNodeDeviceReset, /* nodeDeviceReset */
+ NULL, /* domainSnapshotCreate */
+ NULL, /* domainSnapshotApply */
+ NULL, /* domainSnapshotDelete */
@@ -786,30 +785,14 @@ Index: libvirt-0.5.1/src/qemu_driver.c
};
-Index: libvirt-0.5.1/src/remote_internal.c
+Index: libvirt-0.6.2/src/test.c
===================================================================
---- libvirt-0.5.1.orig/src/remote_internal.c
-+++ libvirt-0.5.1/src/remote_internal.c
-@@ -5391,6 +5391,11 @@ static virDriver driver = {
- .domainEventDeregister = remoteDomainEventDeregister,
- .domainMigratePrepare2 = remoteDomainMigratePrepare2,
- .domainMigrateFinish2 = remoteDomainMigrateFinish2,
-+ .domainSnapshotCreate = NULL,
-+ .domainSnapshotApply = NULL,
-+ .domainSnapshotDelete = NULL,
-+ .domainNumOfSnapshots = NULL,
-+ .domainListSnapshots = NULL,
- };
-
- static virNetworkDriver network_driver = {
-Index: libvirt-0.5.1/src/test.c
-===================================================================
---- libvirt-0.5.1.orig/src/test.c
-+++ libvirt-0.5.1/src/test.c
-@@ -2255,6 +2255,11 @@ static virDriver testDriver = {
- NULL, /* domainEventDeregister */
- NULL, /* domainMigratePrepare2 */
- NULL, /* domainMigrateFinish2 */
+--- libvirt-0.6.2.orig/src/test.c
++++ libvirt-0.6.2/src/test.c
+@@ -3532,6 +3532,11 @@ static virDriver testDriver = {
+ NULL, /* nodeDeviceDettach */
+ NULL, /* nodeDeviceReAttach */
+ NULL, /* nodeDeviceReset */
+ NULL, /* domainSnapshotCreate */
+ NULL, /* domainSnapshotApply */
+ NULL, /* domainSnapshotDelete */
@@ -818,11 +801,11 @@ Index: libvirt-0.5.1/src/test.c
};
static virNetworkDriver testNetworkDriver = {
-Index: libvirt-0.5.1/docs/libvirt-api.xml
+Index: libvirt-0.6.2/docs/libvirt-api.xml
===================================================================
---- libvirt-0.5.1.orig/docs/libvirt-api.xml
-+++ libvirt-0.5.1/docs/libvirt-api.xml
-@@ -183,6 +183,11 @@
+--- libvirt-0.6.2.orig/docs/libvirt-api.xml
++++ libvirt-0.6.2/docs/libvirt-api.xml
+@@ -194,6 +194,11 @@
@@ -831,10 +814,10 @@ Index: libvirt-0.5.1/docs/libvirt-api.xml
+
+
+
-
+
-@@ -1237,6 +1242,36 @@ see note above'/>
+@@ -1296,6 +1301,36 @@ see note above'/>
@@ -871,10 +854,10 @@ Index: libvirt-0.5.1/docs/libvirt-api.xml
Undefine a domain but does not stop it if it is running
-Index: libvirt-0.5.1/python/libvirt-py.c
+Index: libvirt-0.6.2/python/libvirt-py.c
===================================================================
---- libvirt-0.5.1.orig/python/libvirt-py.c
-+++ libvirt-0.5.1/python/libvirt-py.c
+--- libvirt-0.6.2.orig/python/libvirt-py.c
++++ libvirt-0.6.2/python/libvirt-py.c
@@ -25,6 +25,25 @@ LIBVIRT_END_ALLOW_THREADS;
}
@@ -901,7 +884,7 @@ Index: libvirt-0.5.1/python/libvirt-py.c
libvirt_virStorageVolGetKey(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
PyObject *py_retval;
const char * c_retval;
-@@ -847,6 +866,25 @@ LIBVIRT_END_ALLOW_THREADS;
+@@ -883,6 +902,25 @@ LIBVIRT_END_ALLOW_THREADS;
}
PyObject *
@@ -927,7 +910,7 @@ Index: libvirt-0.5.1/python/libvirt-py.c
libvirt_virNetworkDefineXML(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
PyObject *py_retval;
virNetworkPtr c_retval;
-@@ -882,6 +920,24 @@ LIBVIRT_END_ALLOW_THREADS;
+@@ -918,6 +956,24 @@ LIBVIRT_END_ALLOW_THREADS;
}
PyObject *
@@ -952,10 +935,13 @@ Index: libvirt-0.5.1/python/libvirt-py.c
libvirt_virDomainResume(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
PyObject *py_retval;
int c_retval;
-@@ -900,6 +956,25 @@ LIBVIRT_END_ALLOW_THREADS;
- }
-
- PyObject *
+@@ -933,6 +989,25 @@ LIBVIRT_BEGIN_ALLOW_THREADS;
+ LIBVIRT_END_ALLOW_THREADS;
+ py_retval = libvirt_intWrap((int) c_retval);
+ return(py_retval);
++}
++
++PyObject *
+libvirt_virDomainSnapshotApply(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
+ PyObject *py_retval;
+ int c_retval;
@@ -972,16 +958,13 @@ Index: libvirt-0.5.1/python/libvirt-py.c
+LIBVIRT_END_ALLOW_THREADS;
+ py_retval = libvirt_intWrap((int) c_retval);
+ return(py_retval);
-+}
-+
-+PyObject *
- libvirt_virConnectGetHostname(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
- PyObject *py_retval;
- char * c_retval;
-Index: libvirt-0.5.1/python/libvirt-py.h
+ }
+
+ PyObject *
+Index: libvirt-0.6.2/python/libvirt-py.h
===================================================================
---- libvirt-0.5.1.orig/python/libvirt-py.h
-+++ libvirt-0.5.1/python/libvirt-py.h
+--- libvirt-0.6.2.orig/python/libvirt-py.h
++++ libvirt-0.6.2/python/libvirt-py.h
@@ -1,6 +1,7 @@
/* Generated */
@@ -990,11 +973,11 @@ Index: libvirt-0.5.1/python/libvirt-py.h
PyObject * libvirt_virStorageVolGetKey(PyObject *self, PyObject *args);
PyObject * libvirt_virConnectClose(PyObject *self, PyObject *args);
PyObject * libvirt_virDomainDefineXML(PyObject *self, PyObject *args);
-Index: libvirt-0.5.1/python/libvirt.py
+Index: libvirt-0.6.2/python/libvirt.py
===================================================================
---- libvirt-0.5.1.orig/python/libvirt.py
-+++ libvirt-0.5.1/python/libvirt.py
-@@ -382,6 +382,12 @@ class virDomain:
+--- libvirt-0.6.2.orig/python/libvirt.py
++++ libvirt-0.6.2/python/libvirt.py
+@@ -384,6 +384,12 @@ class virDomain:
ret = libvirtmod.virDomainGetName(self._o)
return ret
@@ -1007,7 +990,7 @@ Index: libvirt-0.5.1/python/libvirt.py
def reboot(self, flags):
"""Reboot a domain, the domain object is still usable there
after but the domain OS is being stopped for a restart.
-@@ -456,6 +462,24 @@ class virDomain:
+@@ -472,6 +478,24 @@ class virDomain:
if ret == -1: raise libvirtError ('virDomainShutdown() failed', dom=self)
return ret
@@ -1032,7 +1015,7 @@ Index: libvirt-0.5.1/python/libvirt.py
def suspend(self):
"""Suspends an active domain, the process is frozen without
further access to CPU resources and I/O but the memory used
-@@ -512,6 +536,12 @@ class virDomain:
+@@ -528,6 +552,12 @@ class virDomain:
ret = libvirtmod.virDomainInterfaceStats(self._o, path)
return ret
@@ -1045,10 +1028,10 @@ Index: libvirt-0.5.1/python/libvirt.py
def pinVcpu(self, vcpu, cpumap):
"""Dynamically change the real CPUs which can be allocated to
a virtual CPU. This function requires privileged access to
-Index: libvirt-0.5.1/python/libvir.c
+Index: libvirt-0.6.2/python/libvir.c
===================================================================
---- libvirt-0.5.1.orig/python/libvir.c
-+++ libvirt-0.5.1/python/libvir.c
+--- libvirt-0.6.2.orig/python/libvir.c
++++ libvirt-0.6.2/python/libvir.c
@@ -1375,6 +1375,35 @@ libvirt_virStoragePoolGetInfo(PyObject *
return(py_retval);
}
@@ -1093,10 +1076,10 @@ Index: libvirt-0.5.1/python/libvir.c
{(char *) "virConnectListStoragePools", libvirt_virConnectListStoragePools, METH_VARARGS, NULL},
{(char *) "virConnectListDefinedStoragePools", libvirt_virConnectListDefinedStoragePools, METH_VARARGS, NULL},
{(char *) "virStoragePoolGetAutostart", libvirt_virStoragePoolGetAutostart, METH_VARARGS, NULL},
-Index: libvirt-0.5.1/python/libvirt-python-api.xml
+Index: libvirt-0.6.2/python/libvirt-python-api.xml
===================================================================
---- libvirt-0.5.1.orig/python/libvirt-python-api.xml
-+++ libvirt-0.5.1/python/libvirt-python-api.xml
+--- libvirt-0.6.2.orig/python/libvirt-python-api.xml
++++ libvirt-0.6.2/python/libvirt-python-api.xml
@@ -135,6 +135,11 @@
@@ -1109,10 +1092,10 @@ Index: libvirt-0.5.1/python/libvirt-python-api.xml
list the storage pools, stores the pointers to the names in @names
-Index: libvirt-0.5.1/python/generator.py
+Index: libvirt-0.6.2/python/generator.py
===================================================================
---- libvirt-0.5.1.orig/python/generator.py
-+++ libvirt-0.5.1/python/generator.py
+--- libvirt-0.6.2.orig/python/generator.py
++++ libvirt-0.6.2/python/generator.py
@@ -313,6 +313,7 @@ skip_impl = (
'virDomainSetSchedulerParameters',
'virDomainGetVcpus',
@@ -1121,19 +1104,19 @@ Index: libvirt-0.5.1/python/generator.py
'virStoragePoolGetUUID',
'virStoragePoolGetUUIDString',
'virStoragePoolLookupByUUID',
-Index: libvirt-0.5.1/src/libvirt_sym.version.in
+Index: libvirt-0.6.2/src/libvirt_public.syms
===================================================================
---- libvirt-0.5.1.orig/src/libvirt_sym.version.in
-+++ libvirt-0.5.1/src/libvirt_sym.version.in
-@@ -224,6 +224,11 @@ LIBVIRT_0.4.2 {
+--- libvirt-0.6.2.orig/src/libvirt_public.syms
++++ libvirt-0.6.2/src/libvirt_public.syms
+@@ -215,6 +215,11 @@ LIBVIRT_0.4.2 {
LIBVIRT_0.4.5 {
global:
virConnectFindStoragePoolSources;
-+ virDomainSnapshotCreate;
-+ virDomainSnapshotApply;
-+ virDomainSnapshotDelete;
-+ virDomainNumOfSnapshots;
-+ virDomainListSnapshots;
++ virDomainSnapshotCreate;
++ virDomainSnapshotApply;
++ virDomainSnapshotDelete;
++ virDomainNumOfSnapshots;
++ virDomainListSnapshots;
} LIBVIRT_0.4.2;
LIBVIRT_0.5.0 {
diff --git a/socat.patch b/socat.patch
index 9a7a288..94ec39f 100644
--- a/socat.patch
+++ b/socat.patch
@@ -1,8 +1,8 @@
-Index: libvirt-0.5.1/src/remote_internal.c
+Index: libvirt-0.6.2/src/remote_internal.c
===================================================================
---- libvirt-0.5.1.orig/src/remote_internal.c
-+++ libvirt-0.5.1/src/remote_internal.c
-@@ -674,9 +674,22 @@ doRemoteOpen (virConnectPtr conn,
+--- libvirt-0.6.2.orig/src/remote_internal.c
++++ libvirt-0.6.2/src/remote_internal.c
+@@ -704,9 +704,22 @@ doRemoteOpen (virConnectPtr conn,
cmd_argv[j++] = strdup ("none");
}
cmd_argv[j++] = strdup (priv->hostname);
diff --git a/suse-network.patch b/suse-network.patch
index a8fb050..d332761 100644
--- a/suse-network.patch
+++ b/suse-network.patch
@@ -1,8 +1,8 @@
-Index: libvirt-0.5.1/src/network_conf.c
+Index: libvirt-0.6.2/src/network_conf.c
===================================================================
---- libvirt-0.5.1.orig/src/network_conf.c
-+++ libvirt-0.5.1/src/network_conf.c
-@@ -752,6 +752,137 @@ error:
+--- libvirt-0.6.2.orig/src/network_conf.c
++++ libvirt-0.6.2/src/network_conf.c
+@@ -768,6 +768,137 @@ error:
return NULL;
}
@@ -140,7 +140,7 @@ Index: libvirt-0.5.1/src/network_conf.c
int virNetworkLoadAllConfigs(virConnectPtr conn,
virNetworkObjListPtr nets,
const char *configDir,
-@@ -787,6 +918,7 @@ int virNetworkLoadAllConfigs(virConnectP
+@@ -807,6 +938,7 @@ int virNetworkLoadAllConfigs(virConnectP
closedir(dir);
@@ -148,25 +148,25 @@ Index: libvirt-0.5.1/src/network_conf.c
return 0;
}
-Index: libvirt-0.5.1/src/network_conf.h
+Index: libvirt-0.6.2/src/network_conf.h
===================================================================
---- libvirt-0.5.1.orig/src/network_conf.h
-+++ libvirt-0.5.1/src/network_conf.h
-@@ -86,6 +86,7 @@ struct _virNetworkObj {
+--- libvirt-0.6.2.orig/src/network_conf.h
++++ libvirt-0.6.2/src/network_conf.h
+@@ -89,6 +89,7 @@ struct _virNetworkObj {
unsigned int active : 1;
unsigned int autostart : 1;
unsigned int persistent : 1;
+ unsigned int readonly : 1;
- char *configFile; /* Persistent config file path */
- char *autostartLink; /* Symlink path for autostart */
-Index: libvirt-0.5.1/src/network_driver.c
+ virNetworkDefPtr def; /* The current definition */
+ virNetworkDefPtr newDef; /* New definition to activate at shutdown */
+Index: libvirt-0.6.2/src/network_driver.c
===================================================================
---- libvirt-0.5.1.orig/src/network_driver.c
-+++ libvirt-0.5.1/src/network_driver.c
-@@ -763,6 +763,11 @@ static int networkShutdownNetworkDaemon(
- if (!virNetworkIsActive(network))
- return 0;
+--- libvirt-0.6.2.orig/src/network_driver.c
++++ libvirt-0.6.2/src/network_driver.c
+@@ -914,6 +914,11 @@ static int networkShutdownNetworkDaemon(
+ unlink(stateFile);
+ VIR_FREE(stateFile);
+ if (network->readonly) {
+ networkLog(NETWORK_WARN, ": Network '%s' is readonly", network->def->name);
@@ -176,8 +176,8 @@ Index: libvirt-0.5.1/src/network_driver.c
if (network->dnsmasqPid > 0)
kill(network->dnsmasqPid, SIGTERM);
-@@ -1082,6 +1087,12 @@ static int networkSetAutostart(virNetwor
- return -1;
+@@ -1360,6 +1365,12 @@ static int networkSetAutostart(virNetwor
+ goto cleanup;
}
+ if (network->readonly) {
@@ -188,4 +188,4 @@ Index: libvirt-0.5.1/src/network_driver.c
+
autostart = (autostart != 0);
- if (network->autostart == autostart)
+ if (network->autostart != autostart) {
diff --git a/xen-pv-cdrom.patch b/xen-pv-cdrom.patch
index fa155e6..42c6cb2 100644
--- a/xen-pv-cdrom.patch
+++ b/xen-pv-cdrom.patch
@@ -1,10 +1,10 @@
-Index: libvirt-0.5.1/src/xend_internal.c
+Index: libvirt-0.6.2/src/xend_internal.c
===================================================================
---- libvirt-0.5.1.orig/src/xend_internal.c
-+++ libvirt-0.5.1/src/xend_internal.c
-@@ -5021,7 +5021,10 @@ xenDaemonFormatSxprDisk(virConnectPtr co
- def->device == VIR_DOMAIN_DISK_DEVICE_CDROM ?
- "cdrom" : "disk");
+--- libvirt-0.6.2.orig/src/xend_internal.c
++++ libvirt-0.6.2/src/xend_internal.c
+@@ -5262,7 +5262,10 @@ xenDaemonFormatSxprDisk(virConnectPtr co
+ } else if (def->device == VIR_DOMAIN_DISK_DEVICE_CDROM) {
+ virBufferVSprintf(buf, "(dev '%s:cdrom')", def->dst);
} else {
- virBufferVSprintf(buf, "(dev '%s')", def->dst);
+ if (def->device == VIR_DOMAIN_DISK_DEVICE_CDROM)