From a54da721c4cb64afadd1e83d03e046b04e4d5659fe099390b284dfb29851cd86 Mon Sep 17 00:00:00 2001 From: OBS User unknown Date: Thu, 23 Jul 2009 23:36:28 +0000 Subject: [PATCH] OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/libvirt?expand=0&rev=39 --- clone.patch | 9 +- detach-disk.patch | 20 +-- libvirt-0.6.2.tar.bz2 | 3 - libvirt-0.6.5.tar.bz2 | 3 + libvirt.changes | 11 ++ libvirt.spec | 327 +--------------------------------------- libvirtd-defaults.patch | 16 +- migrate-params.patch | 8 +- snapshots.patch | 190 +++++++++++------------ socat.patch | 28 ++-- suse-network.patch | 28 ++-- xen-pv-cdrom.patch | 8 +- 12 files changed, 178 insertions(+), 473 deletions(-) delete mode 100644 libvirt-0.6.2.tar.bz2 create mode 100644 libvirt-0.6.5.tar.bz2 diff --git a/clone.patch b/clone.patch index f8f2ecc..02f55c8 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 -@@ -617,6 +617,9 @@ int lxcContainerStart(virDomainDefPtr de +@@ -791,6 +791,9 @@ int lxcContainerStart(virDomainDefPtr de lxc_child_argv_t args = { def, nveths, veths, control, ttyPath }; /* allocate a stack for the container */ @@ -12,7 +12,7 @@ Index: src/lxc_container.c if (VIR_ALLOC_N(stack, stacksize) < 0) { virReportOOMError(NULL); return -1; -@@ -628,7 +631,11 @@ int lxcContainerStart(virDomainDefPtr de +@@ -805,7 +808,11 @@ int lxcContainerStart(virDomainDefPtr de if (def->nets != NULL) flags |= CLONE_NEWNET; @@ -24,12 +24,15 @@ Index: src/lxc_container.c VIR_FREE(stack); DEBUG("clone() returned, %d", pid); -@@ -654,18 +661,26 @@ int lxcContainerAvailable(int features) +@@ -831,6 +838,7 @@ int lxcContainerAvailable(int features) char *childStack; char *stack; int childStatus; + int stacksize = getpagesize() * 4; + if (features & LXC_CONTAINER_FEATURE_USER) + flags |= CLONE_NEWUSER; +@@ -838,14 +846,21 @@ int lxcContainerAvailable(int features) if (features & LXC_CONTAINER_FEATURE_NET) flags |= CLONE_NEWNET; diff --git a/detach-disk.patch b/detach-disk.patch index 2bc1b14..513f8f0 100644 --- a/detach-disk.patch +++ b/detach-disk.patch @@ -1,8 +1,8 @@ -Index: libvirt-0.6.2/src/xend_internal.c +Index: libvirt-0.6.5/src/xend_internal.c =================================================================== ---- libvirt-0.6.2.orig/src/xend_internal.c -+++ libvirt-0.6.2/src/xend_internal.c -@@ -5829,7 +5829,7 @@ virDomainXMLDevID(virDomainPtr domain, +--- libvirt-0.6.5.orig/src/xend_internal.c ++++ libvirt-0.6.5/src/xend_internal.c +@@ -5857,7 +5857,7 @@ virDomainXMLDevID(virDomainPtr domain, return -1; xenUnifiedLock(priv); xref = xenStoreDomainGetDiskID(domain->conn, domain->id, @@ -11,10 +11,10 @@ Index: libvirt-0.6.2/src/xend_internal.c xenUnifiedUnlock(priv); if (xref == NULL) return -1; -Index: libvirt-0.6.2/src/xs_internal.c +Index: libvirt-0.6.5/src/xs_internal.c =================================================================== ---- libvirt-0.6.2.orig/src/xs_internal.c -+++ libvirt-0.6.2/src/xs_internal.c +--- libvirt-0.6.5.orig/src/xs_internal.c ++++ libvirt-0.6.5/src/xs_internal.c @@ -966,7 +966,8 @@ xenStoreDomainGetNetworkID(virConnectPtr * freed by the caller. */ @@ -34,10 +34,10 @@ Index: libvirt-0.6.2/src/xs_internal.c list = xs_directory(priv->xshandle, 0, dir, &num); if (list != NULL) { for (i = 0; i < num; i++) { -Index: libvirt-0.6.2/src/xs_internal.h +Index: libvirt-0.6.5/src/xs_internal.h =================================================================== ---- libvirt-0.6.2.orig/src/xs_internal.h -+++ libvirt-0.6.2/src/xs_internal.h +--- libvirt-0.6.5.orig/src/xs_internal.h ++++ libvirt-0.6.5/src/xs_internal.h @@ -49,7 +49,8 @@ char * xenStoreDomainGetNetworkID(virCo const char *mac); char * xenStoreDomainGetDiskID(virConnectPtr conn, diff --git a/libvirt-0.6.2.tar.bz2 b/libvirt-0.6.2.tar.bz2 deleted file mode 100644 index 96657b7..0000000 --- a/libvirt-0.6.2.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:15297915384d7f9cab9b21ca7fe9c301e1574a686c4927c69ffc7e65f148e7a5 -size 4144248 diff --git a/libvirt-0.6.5.tar.bz2 b/libvirt-0.6.5.tar.bz2 new file mode 100644 index 0000000..50dbe2c --- /dev/null +++ b/libvirt-0.6.5.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:996c90b104bfc492d9b6a46d5da10610e1a176306e0beb12306b0c23140e3b4a +size 4726066 diff --git a/libvirt.changes b/libvirt.changes index 7d4ec79..d03f6ab 100644 --- a/libvirt.changes +++ b/libvirt.changes @@ -1,3 +1,14 @@ +------------------------------------------------------------------- +Tue Jul 7 10:03:37 MDT 2009 - jfehlig@novell.com + +- Updated to version 0.6.5 + - create storage volumes on disk backend + - drop of capabilities based on libcap-ng when possible + - forbid autostart on transcient networks + - re-detection of transient VMs after libvirtd restart + - create and destroy NPIV support + - other bug fixes and cleanups + ------------------------------------------------------------------- Fri Apr 24 14:26:39 MDT 2009 - jfehlig@novell.com diff --git a/libvirt.spec b/libvirt.spec index 75bf101..8e9236e 100644 --- a/libvirt.spec +++ b/libvirt.spec @@ -1,5 +1,5 @@ # -# spec file for package libvirt (Version 0.6.2) +# spec file for package libvirt (Version 0.6.5) # # Copyright (c) 2009 SUSE LINUX Products GmbH, Nuernberg, Germany. # @@ -51,7 +51,7 @@ Url: http://libvirt.org/ License: LGPL v2.1 or later Group: Development/Libraries/C and C++ AutoReqProv: yes -Version: 0.6.2 +Version: 0.6.5 Release: 1 Summary: A C toolkit to interract with the virtualization capabilities of Linux Requires: readline @@ -262,11 +262,13 @@ rm -rf $RPM_BUILD_ROOT %files -f %{name}.lang %defattr(-, root, root) %{_bindir}/virsh +%{_bindir}/virt-xml-validate %{_sbindir}/libvirtd %doc %dir %{_docdir}/%{name} %doc %{_docdir}/%{name}/[CNRT]* %doc %{_docdir}/%{name}/AUTHORS %doc %{_mandir}/man1/virsh.1* +%doc %{_mandir}/man1/virt-xml-validate.1* %{_libdir}/*.so.* %dir %{_libdir}/%{name} %if 0%{?suse_version} > 1030 @@ -315,324 +317,3 @@ 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 -* Fri Jan 30 2009 jfehlig@novell.com -- Fix build for architectures not supporting numa -- Forward port suse-network.patch and snapshots.patch -* Wed Jan 28 2009 jfehlig@novell.com -- Updated to version 0.5.1 - - CPU and scheduler support for LXC - - SDL display configuration - - domain lifecycle event support for QEmu and Xen with python - bindings - - KVM/QEmu migration support - - User Mode Linux driver - - API for node device enumeration using HAL and DeviceKit with - python bindings - - Many bug fixes and improvements -* Fri Jan 09 2009 jfehlig@novell.com -- Added missing html and png files to libvirt-doc package - devhelp.patch - bnc#463810 -* Mon Dec 15 2008 jfehlig@novell.com -- Patch for CVE-2008-5086 - bnc#459009 -* Fri Dec 05 2008 jfehlig@novell.com -- Fix migration of Xen domains - bnc#456946 -* Tue Dec 02 2008 jfehlig@novell.com -- Refresh xen-maxmem.patch to match upstream - bnc#431766 -* Tue Nov 25 2008 jfehlig@novell.com -- Add network to Required-Start in libvirtd init script - bnc#448756 -* Mon Nov 24 2008 jfehlig@novell.com -- Fix connecting/disconnecting ISO via virt-manager - bnc#446773 -* Thu Nov 20 2008 jfehlig@novell.com -- Fix detach of Xen tap devices - bnc#410644 and bnc#411633 -* Thu Nov 06 2008 jfehlig@novell.com -- Fix handling of iso/cdrom for xen pv domains. - bnc#437388 -* 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 -* Thu Oct 23 2008 jfehlig@novell.com -- Add upstream patches to fix ordering problem with setting up - cgroup containment on LXC domains. - bnc#437816 -* Mon Oct 20 2008 jfehlig@novell.com -- Remove IA64 from list of architectures supporting Xen. -* Fri Oct 10 2008 jfehlig@novell.com -- Added upstream patches providing additional LXC support - bnc#433881 -* Mon Oct 06 2008 jfehlig@novell.com -- Use xend vs hypercall interface to change max mem setting - bnc#431766 -* 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 - - segfault in OpenVZ - - fix parsing of pool without a source -- Fixed bug in network interface parsing - - vif-parsing.patch submitted upstream -* Tue Sep 16 2008 jfehlig@novell.com -- open-iscsi package required for iscsi storage backend -* Mon Sep 15 2008 jfehlig@novell.com -- Updated to version 0.4.5 - - NETNS support for Linux containers - - unified XML domain and network parsing for all drivers - - OpenVZ features improvements - - OpenVZ and Linux containers support now default - - USB device passthrough for QEmu/KVM - - storage pool source discovery - - other bug fixes and improvements -* Thu Sep 04 2008 kwolf@suse.de -- Added Python bindings for the snapshot functions -* Wed Sep 03 2008 kwolf@suse.de -- Implemented listing of snapshots for Xen and in virsh -* Tue Sep 02 2008 kwolf@suse.de -- Added snapshot support. Implemented snapshot_create/apply/delete - for Xen. -* 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 -- Changed mDNS advertisement of libvirtd service to disabled by - default. Enable in libvirtd.conf. -- Disable libvirtd from listening on TLS socket by default. User - must enable after setting up CA and issuing certificates. -* Mon Aug 25 2008 jfehlig@novell.com -- Enabled iscsi storage driver support -- Enabled ssh transport using socat. SuSE's version of netcat - does not support connecting to UDS. -- Fixed spec file breakage due to SELinux enablement -* Fri Aug 22 2008 prusnak@suse.cz -- enabled SELinux support [Fate#303662] -* Mon Aug 11 2008 jfehlig@novell.com -- Cleanup of libvirtd init script -- Removed dnsmasq from BuildRequires -* Sat Aug 09 2008 jfehlig@novell.com -- Adjustments to spec file - + Added /var/lib/libvirt directory - + Enabled LXC support if suse_version > 1100, fate #304001 - + Cleaned up some rpmlint warnings -* Sun Jul 06 2008 jfehlig@novell.com -- Updated to libvirt 0.4.4 - + Bug fixes: QEmu network serialization, internal memory allocation - fixes, virsh large file config problem, xen list APIs when max is - zero, string escape problems in the xm driver - + Improvements: add autogen to tarballs, improve iSCSI support - + Cleanups: const-ness fixed, string helpers for enumeations -- spec file adjustments - + Remove ExclusiveArch - + Common spec file for all products - + Support for building/running without Xen -* Fri May 09 2008 jfehlig@novell.com -- Adjust libvirtd PolicyKit configuration file to match standard - suse procedures. bnc#388769 -* Mon May 05 2008 jfehlig@novell.com -- Fix path to iptables. bnc#386280 -* Thu Apr 24 2008 jfehlig@novell.com -- Fix Xen 3.2 hypercalls. bnc#378798 -* Thu Apr 10 2008 jfehlig@novell.com -- Fix NULL pointer dereference in auth callback. bnc#373180, - bnc#354995 -* 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. -* Tue Jan 08 2008 coolo@suse.de -- do not require a non existant package, but change it to a recommend - to digestmd5 -* Fri Jan 04 2008 jfehlig@novell.com -- Updated to libvirt-0.4.0 - - SASL based authentication for libvirt remote support - - PolicyKit authentication - - Documentation: example files for QEMU and libvirtd configuations, - authentication documentation updates - - Bug fixes, improvements and code cleanup -* Tue Oct 09 2007 jfehlig@novell.com -- Updated to libvirt 0.3.3 - - Avahi mDNS daemon export - - NUMA support - - Bug fixes -- Cleanup rpmlint warnings -* Mon Oct 08 2007 jfehlig@novell.com -- Removed 'jobs' option from make invocation in spec file. Appears - 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. -* 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. -* Mon Jul 23 2007 jfehlig@novell.com -- Update to libvirt-0.3.0 - - Secure Remote support - - Documentation: remote support, description of the URI connection - strings, update of virsh man page, matrix of libvirt API/hypervisor - support with version informations - - Bug fixes: examples Makefile.am generation, SetMem fix, URI - handling and ordering of drivers, fix virsh help without hypervisor, - id marshalling fix, fix virConnectGetMaxVcpus on remote, avoid - a realloc leak, scheduler parameters handling for Xen, various - early remote bug fixes, remove virsh leaks of domains references, - configCache refill bug, fix XML serialization bugs - - Improvements: QEmu switch to XDR-based protocol, device attach/detach - commands OCaml bindings, new entry points virDomainGetConnect and - virNetworkGetConnect useful for bindings, reunitifaction of remote - and qemu daemon under a single libvirtd with a config file - - Cleanups: parsing of connection URIs, messages from virsh, - Coverage files, Solaris fixes, avoid [r]index calls, release - information in Xen backend, virsh cpupin command cleanups, - xen:/// suppport as standard Xen URI, improve driver - selection/decline mechanism, error reporting on XML dump, - Remove unused virDomainKernel structure, daemon event loop event - handling, various unifications cleanup in the daemon merging, - internal file and timer monitoring API, remove libsysfs dependancy, - call brctl program directly, virBuffer functions cleanups, - make init script LSB compliant, error handling on lookup functions, - remove internal virGetDomainByID, revamp of xen subdrivers interfaces - - Localization updates -* Tue Jun 12 2007 ccoffing@novell.com -- Update to libvirt-0.2.3. -- Fix duplicate files found by rpmlint. -* Wed May 23 2007 ccoffing@novell.com -- Fix rpmlint errors. -* Fri Apr 27 2007 ccoffing@novell.com -- Update to libvirt-0.2.2. -* Wed Mar 07 2007 sbrabec@suse.cz -- Created -doc subpackage (#248813). -- Do not remove valid locales. -- Fixed docdir destination. -- Build with CFLAGS. -- Spec file cleanup. -* Tue Feb 20 2007 jfehlig@novell.com -- Removed usr/lib/libvirt_proxy setuid binary from package. Fixes - bug #246610. -* 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. -* 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 - - bug fixes: - - VCPU info breakages on xen 3.0.3 - - xenDaemonListDomains buffer overflow (Daniel Berrange) - - reference count bug when creating Xen domains (Daniel Berrange) - - improvements: - - 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) -* 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 - - some refactoring to use the driver for all entry points - - better error reporting (Daniel Berrange) - - fix OS reporting when running as non-root - - provide XML parsing errors - - extension of the test framework (Daniel Berrange) - - fix the reconnect regression test - - python bindings: Domain instances now link to the Connect to avoid garbage collection and disconnect - - separate the notion of maximum memory and current use at the XML level - - Fix a memory leak (Daniel Berrange) - - add support for shareable drives - - add support for non-bridge style networking configs for guests(Daniel Berrange) - - python bindings: fix unsigned long marshalling (Daniel Berrange) - - new config APIs virConfNew() and virConfSetValue() to build configs from scratch - - hot plug device support based on Michel Ponceau patch - - added support for inactive domains, new APIs, various associated cleanup (Daniel Berrange) - - special device model for HVM guests (Daniel Berrange) - - add API to dump core of domains (but requires a patched xend) - - pygrub bootloader informations take over informations - - updated the localization strings -* Fri Oct 20 2006 jfehlig@novell.com -- Updated to latest release, version 0.1.8. - - Bug for system with page size != 4k - - vcpu number initialization (Philippe Berthault) - - don't label crashed domains as shut off (Peter Vetere) - - fix virsh man page (Noriko Mizumoto) - - blktapdd support for alternate drivers like blktap (Daniel Berrange) - - memory leak fixes (xend interface and XML parsing) (Daniel Berrange) - - compile fix - - mlock/munlock size fixes (Daniel Berrange) - - improve error reporting -- Updated to latest release, version 0.1.7. - - fix a memory bug on getting vcpu informations from xend (Daniel Berrange) - - fix another problem in the hypercalls change in Xen changeset - 86d26e6ec89b when getting domain informations (Daniel Berrange) -* Tue Sep 26 2006 jfehlig@novell.com -- Updated to latest release, version 0.1.6. This release includes - fix in hypercall driver so local patch has been removed. -* Wed Sep 13 2006 jfehlig@novell.com -- Fixed bug in hypercall driver introduced in version 0.1.5. - Patch sumbmitted upstream and included locally until next release. -* Mon Sep 11 2006 jfehlig@novell.com -- Updated to latest release, version 0.1.5 - - Support for new hypercalls change in Xen changeset 86d26e6ec89b - - bug fixes: virParseUUID() was wrong, netwoking for paravirt guestsi - (Daniel Berrange), virsh on non-existent domains (Daniel Berrange), - string cast bug when handling error in python (Pete Vetere), HTTP - 500 xend error code handling (Pete Vetere and Daniel Berrange) - - improvements: test suite for SEXPR <-> XML format conversions (Daniel - Berrange), virsh output regression suite (Daniel Berrange), new environ - variable VIRSH_DEFAULT_CONNECT_URI for the default URI when connecting - (Daniel Berrange), graphical console support for paravirt guests - (Jeremy Katz), parsing of simple Xen config files (with Daniel Berrange), - early work on defined (not running) domains (Daniel Berrange), - virsh output improvement (Daniel Berrange -* Mon Aug 28 2006 jfehlig@novell.com -- Updated to latest release, version 0.1.4 - - bug fixes: spec file fix (Mark McLoughlin), error report problem (with - Hugh Brock), long integer in Python bindings (with Daniel Berrange), XML - generation bug for CDRom (Daniel Berrange), bug whem using number() XPath - function (Mark McLoughlin), fix python detection code, remove duplicate - initialization errors (Daniel Berrange) - - improvements: UUID in XML description (Peter Vetere), proxy code - cleanup, virtual CPU and affinity support + virsh support (Michel - Ponceau, Philippe Berthault, Daniel Berrange), port and tty informations - for console in XML (Daniel Berrange), added XML dump to driver and proxy - support (Daniel Berrange), extention of boot options with support for - floppy and cdrom (Daniel Berrange), features block in XML to report/ask - PAE, ACPI, APIC for HVM domains (Daniel Berrange), fail saide-effect - operations when using read-only connection, large improvements to test - driver (Daniel Berrange) - - documentation: spelling (Daniel Berrange), test driver examples. -* Wed Aug 16 2006 jfehlig@novell.com -- Added ExclusiveArch tag so as to only build on x86 and x86_64 -* Mon Jul 31 2006 jfehlig@novell.com -- initial submission of libvirt package, version 0.1.3 diff --git a/libvirtd-defaults.patch b/libvirtd-defaults.patch index 7a64b74..594f013 100644 --- a/libvirtd-defaults.patch +++ b/libvirtd-defaults.patch @@ -1,7 +1,7 @@ -Index: libvirt-0.6.2/qemud/libvirtd.conf +Index: libvirt-0.6.5/qemud/libvirtd.conf =================================================================== ---- libvirt-0.6.2.orig/qemud/libvirtd.conf -+++ libvirt-0.6.2/qemud/libvirtd.conf +--- libvirt-0.6.5.orig/qemud/libvirtd.conf ++++ libvirt-0.6.5/qemud/libvirtd.conf @@ -18,8 +18,8 @@ # It is necessary to setup a CA and issue server certificates before # using this capability. @@ -28,11 +28,11 @@ Index: libvirt-0.6.2/qemud/libvirtd.conf # Override the default mDNS advertizement name. This must be # unique on the immediate broadcast network. -Index: libvirt-0.6.2/qemud/qemud.c +Index: libvirt-0.6.5/qemud/qemud.c =================================================================== ---- libvirt-0.6.2.orig/qemud/qemud.c -+++ libvirt-0.6.2/qemud/qemud.c -@@ -132,7 +132,7 @@ static char *log_filters = NULL; +--- libvirt-0.6.5.orig/qemud/qemud.c ++++ libvirt-0.6.5/qemud/qemud.c +@@ -133,7 +133,7 @@ static char *log_filters = NULL; static char *log_outputs = NULL; /* Defaults for configuration file elements */ @@ -41,7 +41,7 @@ Index: libvirt-0.6.2/qemud/qemud.c static int listen_tcp = 0; static char *listen_addr = (char *) LIBVIRTD_LISTEN_ADDR; static char *tls_port = (char *) LIBVIRTD_TLS_PORT; -@@ -154,7 +154,7 @@ static int auth_tcp = REMOTE_AUTH_NONE; +@@ -155,7 +155,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 aaa7c90..c619f6a 100644 --- a/migrate-params.patch +++ b/migrate-params.patch @@ -1,8 +1,8 @@ -Index: libvirt-0.6.2/src/xend_internal.c +Index: libvirt-0.6.5/src/xend_internal.c =================================================================== ---- libvirt-0.6.2.orig/src/xend_internal.c -+++ libvirt-0.6.2/src/xend_internal.c -@@ -4453,6 +4453,8 @@ xenDaemonDomainMigratePerform (virDomain +--- libvirt-0.6.5.orig/src/xend_internal.c ++++ libvirt-0.6.5/src/xend_internal.c +@@ -4480,6 +4480,8 @@ xenDaemonDomainMigratePerform (virDomain "node", "-1", "ssl", "0", "resource", "0", /* required, xend ignores it */ diff --git a/snapshots.patch b/snapshots.patch index 84caf79..7fc43f0 100644 --- a/snapshots.patch +++ b/snapshots.patch @@ -1,7 +1,7 @@ -Index: libvirt-0.6.2/include/libvirt/libvirt.h.in +Index: libvirt-0.6.5/include/libvirt/libvirt.h.in =================================================================== ---- libvirt-0.6.2.orig/include/libvirt/libvirt.h.in -+++ libvirt-0.6.2/include/libvirt/libvirt.h.in +--- libvirt-0.6.5.orig/include/libvirt/libvirt.h.in ++++ libvirt-0.6.5/include/libvirt/libvirt.h.in @@ -537,6 +537,21 @@ int virDomainRestore const char *from); @@ -24,11 +24,11 @@ Index: libvirt-0.6.2/include/libvirt/libvirt.h.in * Domain core dump */ int virDomainCoreDump (virDomainPtr domain, -Index: libvirt-0.6.2/src/libvirt.c +Index: libvirt-0.6.5/src/libvirt.c =================================================================== ---- libvirt-0.6.2.orig/src/libvirt.c -+++ libvirt-0.6.2/src/libvirt.c -@@ -2067,6 +2067,168 @@ error: +--- libvirt-0.6.5.orig/src/libvirt.c ++++ libvirt-0.6.5/src/libvirt.c +@@ -2164,6 +2164,168 @@ error: return -1; } @@ -197,11 +197,11 @@ Index: libvirt-0.6.2/src/libvirt.c /** * virDomainCoreDump: * @domain: a domain object -Index: libvirt-0.6.2/src/driver.h +Index: libvirt-0.6.5/src/driver.h =================================================================== ---- libvirt-0.6.2.orig/src/driver.h -+++ libvirt-0.6.2/src/driver.h -@@ -145,6 +145,21 @@ typedef int +--- libvirt-0.6.5.orig/src/driver.h ++++ libvirt-0.6.5/src/driver.h +@@ -147,6 +147,21 @@ typedef int (*virDrvDomainRestore) (virConnectPtr conn, const char *from); typedef int @@ -223,7 +223,7 @@ Index: libvirt-0.6.2/src/driver.h (*virDrvDomainCoreDump) (virDomainPtr domain, const char *to, int flags); -@@ -408,6 +423,11 @@ struct _virDriver { +@@ -422,6 +437,11 @@ struct _virDriver { virDrvNodeDeviceDettach nodeDeviceDettach; virDrvNodeDeviceReAttach nodeDeviceReAttach; virDrvNodeDeviceReset nodeDeviceReset; @@ -235,11 +235,11 @@ Index: libvirt-0.6.2/src/driver.h }; typedef int -Index: libvirt-0.6.2/src/xen_unified.c +Index: libvirt-0.6.5/src/xen_unified.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 +--- libvirt-0.6.5.orig/src/xen_unified.c ++++ libvirt-0.6.5/src/xen_unified.c +@@ -952,6 +952,81 @@ xenUnifiedDomainRestore (virConnectPtr c } static int @@ -321,7 +321,7 @@ Index: libvirt-0.6.2/src/xen_unified.c xenUnifiedDomainCoreDump (virDomainPtr dom, const char *to, int flags) { GET_PRIVATE(dom->conn); -@@ -1608,6 +1683,11 @@ static virDriver xenUnifiedDriver = { +@@ -1722,6 +1797,11 @@ static virDriver xenUnifiedDriver = { xenUnifiedNodeDeviceDettach, /* nodeDeviceDettach */ xenUnifiedNodeDeviceReAttach, /* nodeDeviceReAttach */ xenUnifiedNodeDeviceReset, /* nodeDeviceReset */ @@ -333,11 +333,11 @@ Index: libvirt-0.6.2/src/xen_unified.c }; /** -Index: libvirt-0.6.2/src/xen_unified.h +Index: libvirt-0.6.5/src/xen_unified.h =================================================================== ---- libvirt-0.6.2.orig/src/xen_unified.h -+++ libvirt-0.6.2/src/xen_unified.h -@@ -95,6 +95,11 @@ struct xenUnifiedDriver { +--- libvirt-0.6.5.orig/src/xen_unified.h ++++ libvirt-0.6.5/src/xen_unified.h +@@ -98,6 +98,11 @@ struct xenUnifiedDriver { virDrvDomainGetSchedulerType domainGetSchedulerType; virDrvDomainGetSchedulerParameters domainGetSchedulerParameters; virDrvDomainSetSchedulerParameters domainSetSchedulerParameters; @@ -349,10 +349,10 @@ Index: libvirt-0.6.2/src/xen_unified.h }; typedef struct xenXMConfCache *xenXMConfCachePtr; -Index: libvirt-0.6.2/src/xend_internal.c +Index: libvirt-0.6.5/src/xend_internal.c =================================================================== ---- libvirt-0.6.2.orig/src/xend_internal.c -+++ libvirt-0.6.2/src/xend_internal.c +--- libvirt-0.6.5.orig/src/xend_internal.c ++++ libvirt-0.6.5/src/xend_internal.c @@ -53,6 +53,12 @@ #ifndef PROXY @@ -366,7 +366,7 @@ Index: libvirt-0.6.2/src/xend_internal.c /* * The number of Xen scheduler parameters */ -@@ -3233,6 +3239,87 @@ xenDaemonDomainRestore(virConnectPtr con +@@ -3250,6 +3256,87 @@ xenDaemonDomainRestore(virConnectPtr con } return xend_op(conn, "", "op", "restore", "file", filename, NULL); } @@ -454,7 +454,7 @@ Index: libvirt-0.6.2/src/xend_internal.c #endif /* !PROXY */ /** -@@ -5025,6 +5112,11 @@ struct xenUnifiedDriver xenDaemonDriver +@@ -5052,6 +5139,11 @@ struct xenUnifiedDriver xenDaemonDriver xenDaemonGetSchedulerType, /* domainGetSchedulerType */ xenDaemonGetSchedulerParameters, /* domainGetSchedulerParameters */ xenDaemonSetSchedulerParameters, /* domainSetSchedulerParameters */ @@ -466,10 +466,10 @@ Index: libvirt-0.6.2/src/xend_internal.c }; /************************************************************************ -Index: libvirt-0.6.2/src/proxy_internal.c +Index: libvirt-0.6.5/src/proxy_internal.c =================================================================== ---- libvirt-0.6.2.orig/src/proxy_internal.c -+++ libvirt-0.6.2/src/proxy_internal.c +--- libvirt-0.6.5.orig/src/proxy_internal.c ++++ libvirt-0.6.5/src/proxy_internal.c @@ -84,6 +84,11 @@ struct xenUnifiedDriver xenProxyDriver = NULL, /* domainGetSchedulerType */ NULL, /* domainGetSchedulerParameters */ @@ -482,11 +482,11 @@ Index: libvirt-0.6.2/src/proxy_internal.c }; -Index: libvirt-0.6.2/src/xen_internal.c +Index: libvirt-0.6.5/src/xen_internal.c =================================================================== ---- libvirt-0.6.2.orig/src/xen_internal.c -+++ libvirt-0.6.2/src/xen_internal.c -@@ -731,6 +731,11 @@ struct xenUnifiedDriver xenHypervisorDri +--- libvirt-0.6.5.orig/src/xen_internal.c ++++ libvirt-0.6.5/src/xen_internal.c +@@ -741,6 +741,11 @@ struct xenUnifiedDriver xenHypervisorDri xenHypervisorGetSchedulerType, /* domainGetSchedulerType */ xenHypervisorGetSchedulerParameters, /* domainGetSchedulerParameters */ xenHypervisorSetSchedulerParameters, /* domainSetSchedulerParameters */ @@ -498,10 +498,10 @@ Index: libvirt-0.6.2/src/xen_internal.c }; #endif /* !PROXY */ -Index: libvirt-0.6.2/src/xm_internal.c +Index: libvirt-0.6.5/src/xm_internal.c =================================================================== ---- libvirt-0.6.2.orig/src/xm_internal.c -+++ libvirt-0.6.2/src/xm_internal.c +--- libvirt-0.6.5.orig/src/xm_internal.c ++++ libvirt-0.6.5/src/xm_internal.c @@ -116,6 +116,11 @@ struct xenUnifiedDriver xenXMDriver = { NULL, /* domainGetSchedulerType */ NULL, /* domainGetSchedulerParameters */ @@ -514,10 +514,10 @@ Index: libvirt-0.6.2/src/xm_internal.c }; #define xenXMError(conn, code, fmt...) \ -Index: libvirt-0.6.2/src/xs_internal.c +Index: libvirt-0.6.5/src/xs_internal.c =================================================================== ---- libvirt-0.6.2.orig/src/xs_internal.c -+++ libvirt-0.6.2/src/xs_internal.c +--- libvirt-0.6.5.orig/src/xs_internal.c ++++ libvirt-0.6.5/src/xs_internal.c @@ -83,6 +83,11 @@ struct xenUnifiedDriver xenStoreDriver = NULL, /* domainGetSchedulerType */ NULL, /* domainGetSchedulerParameters */ @@ -530,10 +530,10 @@ Index: libvirt-0.6.2/src/xs_internal.c }; #endif /* ! PROXY */ -Index: libvirt-0.6.2/src/virsh.c +Index: libvirt-0.6.5/src/virsh.c =================================================================== ---- libvirt-0.6.2.orig/src/virsh.c -+++ libvirt-0.6.2/src/virsh.c +--- libvirt-0.6.5.orig/src/virsh.c ++++ libvirt-0.6.5/src/virsh.c @@ -1146,6 +1146,189 @@ cmdSave(vshControl *ctl, const vshCmd *c return ret; } @@ -724,7 +724,7 @@ Index: libvirt-0.6.2/src/virsh.c /* * "schedinfo" command */ -@@ -5929,6 +6112,12 @@ static const vshCmdDef commands[] = { +@@ -6293,6 +6476,12 @@ static const vshCmdDef commands[] = { {"undefine", cmdUndefine, opts_undefine, info_undefine}, {"uri", cmdURI, NULL, info_uri}, @@ -735,13 +735,13 @@ Index: libvirt-0.6.2/src/virsh.c + + {"vol-create", cmdVolCreate, opts_vol_create, info_vol_create}, + {"vol-create-from", cmdVolCreateFrom, opts_vol_create_from, info_vol_create_from}, {"vol-create-as", cmdVolCreateAs, opts_vol_create_as, info_vol_create_as}, - {"vol-delete", cmdVolDelete, opts_vol_delete, info_vol_delete}, -Index: libvirt-0.6.2/src/lxc_driver.c +Index: libvirt-0.6.5/src/lxc_driver.c =================================================================== ---- libvirt-0.6.2.orig/src/lxc_driver.c -+++ libvirt-0.6.2/src/lxc_driver.c -@@ -1471,6 +1471,11 @@ static virDriver lxcDriver = { +--- libvirt-0.6.5.orig/src/lxc_driver.c ++++ libvirt-0.6.5/src/lxc_driver.c +@@ -1497,6 +1497,11 @@ static virDriver lxcDriver = { NULL, /* nodeDeviceDettach */ NULL, /* nodeDeviceReAttach */ NULL, /* nodeDeviceReset */ @@ -753,11 +753,11 @@ Index: libvirt-0.6.2/src/lxc_driver.c }; static virStateDriver lxcStateDriver = { -Index: libvirt-0.6.2/src/openvz_driver.c +Index: libvirt-0.6.5/src/openvz_driver.c =================================================================== ---- libvirt-0.6.2.orig/src/openvz_driver.c -+++ libvirt-0.6.2/src/openvz_driver.c -@@ -1372,6 +1372,11 @@ static virDriver openvzDriver = { +--- libvirt-0.6.5.orig/src/openvz_driver.c ++++ libvirt-0.6.5/src/openvz_driver.c +@@ -1392,6 +1392,11 @@ static virDriver openvzDriver = { NULL, /* nodeDeviceDettach */ NULL, /* nodeDeviceReAttach */ NULL, /* nodeDeviceReset */ @@ -769,11 +769,11 @@ Index: libvirt-0.6.2/src/openvz_driver.c }; int openvzRegister(void) { -Index: libvirt-0.6.2/src/qemu_driver.c +Index: libvirt-0.6.5/src/qemu_driver.c =================================================================== ---- libvirt-0.6.2.orig/src/qemu_driver.c -+++ libvirt-0.6.2/src/qemu_driver.c -@@ -5131,6 +5131,11 @@ static virDriver qemuDriver = { +--- libvirt-0.6.5.orig/src/qemu_driver.c ++++ libvirt-0.6.5/src/qemu_driver.c +@@ -5353,6 +5353,11 @@ static virDriver qemuDriver = { qemudNodeDeviceDettach, /* nodeDeviceDettach */ qemudNodeDeviceReAttach, /* nodeDeviceReAttach */ qemudNodeDeviceReset, /* nodeDeviceReset */ @@ -785,11 +785,11 @@ Index: libvirt-0.6.2/src/qemu_driver.c }; -Index: libvirt-0.6.2/src/test.c +Index: libvirt-0.6.5/src/test.c =================================================================== ---- libvirt-0.6.2.orig/src/test.c -+++ libvirt-0.6.2/src/test.c -@@ -3532,6 +3532,11 @@ static virDriver testDriver = { +--- libvirt-0.6.5.orig/src/test.c ++++ libvirt-0.6.5/src/test.c +@@ -3700,6 +3700,11 @@ static virDriver testDriver = { NULL, /* nodeDeviceDettach */ NULL, /* nodeDeviceReAttach */ NULL, /* nodeDeviceReset */ @@ -801,12 +801,12 @@ Index: libvirt-0.6.2/src/test.c }; static virNetworkDriver testNetworkDriver = { -Index: libvirt-0.6.2/docs/libvirt-api.xml +Index: libvirt-0.6.5/docs/libvirt-api.xml =================================================================== ---- libvirt-0.6.2.orig/docs/libvirt-api.xml -+++ libvirt-0.6.2/docs/libvirt-api.xml -@@ -194,6 +194,11 @@ - +--- libvirt-0.6.5.orig/docs/libvirt-api.xml ++++ libvirt-0.6.5/docs/libvirt-api.xml +@@ -199,6 +199,11 @@ + + @@ -817,7 +817,7 @@ Index: libvirt-0.6.2/docs/libvirt-api.xml -@@ -1296,6 +1301,36 @@ see note above'/> +@@ -1363,6 +1368,36 @@ see note above'/> @@ -854,10 +854,10 @@ Index: libvirt-0.6.2/docs/libvirt-api.xml Undefine a domain but does not stop it if it is running -Index: libvirt-0.6.2/python/libvirt-py.c +Index: libvirt-0.6.5/python/libvirt-py.c =================================================================== ---- libvirt-0.6.2.orig/python/libvirt-py.c -+++ libvirt-0.6.2/python/libvirt-py.c +--- libvirt-0.6.5.orig/python/libvirt-py.c ++++ libvirt-0.6.5/python/libvirt-py.c @@ -25,6 +25,25 @@ LIBVIRT_END_ALLOW_THREADS; } @@ -884,7 +884,7 @@ Index: libvirt-0.6.2/python/libvirt-py.c libvirt_virStorageVolGetKey(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) { PyObject *py_retval; const char * c_retval; -@@ -883,6 +902,25 @@ LIBVIRT_END_ALLOW_THREADS; +@@ -1058,6 +1077,25 @@ LIBVIRT_END_ALLOW_THREADS; } PyObject * @@ -910,7 +910,7 @@ Index: libvirt-0.6.2/python/libvirt-py.c libvirt_virNetworkDefineXML(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) { PyObject *py_retval; virNetworkPtr c_retval; -@@ -918,6 +956,24 @@ LIBVIRT_END_ALLOW_THREADS; +@@ -1093,6 +1131,24 @@ LIBVIRT_END_ALLOW_THREADS; } PyObject * @@ -935,7 +935,7 @@ Index: libvirt-0.6.2/python/libvirt-py.c libvirt_virDomainResume(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) { PyObject *py_retval; int c_retval; -@@ -933,6 +989,25 @@ LIBVIRT_BEGIN_ALLOW_THREADS; +@@ -1108,6 +1164,25 @@ LIBVIRT_BEGIN_ALLOW_THREADS; LIBVIRT_END_ALLOW_THREADS; py_retval = libvirt_intWrap((int) c_retval); return(py_retval); @@ -961,10 +961,10 @@ Index: libvirt-0.6.2/python/libvirt-py.c } PyObject * -Index: libvirt-0.6.2/python/libvirt-py.h +Index: libvirt-0.6.5/python/libvirt-py.h =================================================================== ---- libvirt-0.6.2.orig/python/libvirt-py.h -+++ libvirt-0.6.2/python/libvirt-py.h +--- libvirt-0.6.5.orig/python/libvirt-py.h ++++ libvirt-0.6.5/python/libvirt-py.h @@ -1,6 +1,7 @@ /* Generated */ @@ -973,11 +973,11 @@ Index: libvirt-0.6.2/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.6.2/python/libvirt.py +Index: libvirt-0.6.5/python/libvirt.py =================================================================== ---- libvirt-0.6.2.orig/python/libvirt.py -+++ libvirt-0.6.2/python/libvirt.py -@@ -384,6 +384,12 @@ class virDomain: +--- libvirt-0.6.5.orig/python/libvirt.py ++++ libvirt-0.6.5/python/libvirt.py +@@ -388,6 +388,12 @@ class virDomain: ret = libvirtmod.virDomainGetName(self._o) return ret @@ -990,7 +990,7 @@ Index: libvirt-0.6.2/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. -@@ -472,6 +478,24 @@ class virDomain: +@@ -476,6 +482,24 @@ class virDomain: if ret == -1: raise libvirtError ('virDomainShutdown() failed', dom=self) return ret @@ -1015,7 +1015,7 @@ Index: libvirt-0.6.2/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 -@@ -528,6 +552,12 @@ class virDomain: +@@ -532,6 +556,12 @@ class virDomain: ret = libvirtmod.virDomainInterfaceStats(self._o, path) return ret @@ -1028,10 +1028,10 @@ Index: libvirt-0.6.2/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.6.2/python/libvir.c +Index: libvirt-0.6.5/python/libvir.c =================================================================== ---- libvirt-0.6.2.orig/python/libvir.c -+++ libvirt-0.6.2/python/libvir.c +--- libvirt-0.6.5.orig/python/libvir.c ++++ libvirt-0.6.5/python/libvir.c @@ -1375,6 +1375,35 @@ libvirt_virStoragePoolGetInfo(PyObject * return(py_retval); } @@ -1068,7 +1068,7 @@ Index: libvirt-0.6.2/python/libvir.c static PyObject * libvirt_virStorageVolGetInfo(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) { -@@ -2246,6 +2275,7 @@ static PyMethodDef libvirtMethods[] = { +@@ -2247,6 +2276,7 @@ static PyMethodDef libvirtMethods[] = { {(char *) "virDomainSetSchedulerParameters", libvirt_virDomainSetSchedulerParameters, METH_VARARGS, NULL}, {(char *) "virDomainGetVcpus", libvirt_virDomainGetVcpus, METH_VARARGS, NULL}, {(char *) "virDomainPinVcpu", libvirt_virDomainPinVcpu, METH_VARARGS, NULL}, @@ -1076,10 +1076,10 @@ Index: libvirt-0.6.2/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.6.2/python/libvirt-python-api.xml +Index: libvirt-0.6.5/python/libvirt-python-api.xml =================================================================== ---- libvirt-0.6.2.orig/python/libvirt-python-api.xml -+++ libvirt-0.6.2/python/libvirt-python-api.xml +--- libvirt-0.6.5.orig/python/libvirt-python-api.xml ++++ libvirt-0.6.5/python/libvirt-python-api.xml @@ -135,6 +135,11 @@ @@ -1092,11 +1092,11 @@ Index: libvirt-0.6.2/python/libvirt-python-api.xml list the storage pools, stores the pointers to the names in @names -Index: libvirt-0.6.2/python/generator.py +Index: libvirt-0.6.5/python/generator.py =================================================================== ---- libvirt-0.6.2.orig/python/generator.py -+++ libvirt-0.6.2/python/generator.py -@@ -313,6 +313,7 @@ skip_impl = ( +--- libvirt-0.6.5.orig/python/generator.py ++++ libvirt-0.6.5/python/generator.py +@@ -320,6 +320,7 @@ skip_impl = ( 'virDomainSetSchedulerParameters', 'virDomainGetVcpus', 'virDomainPinVcpu', @@ -1104,10 +1104,10 @@ Index: libvirt-0.6.2/python/generator.py 'virStoragePoolGetUUID', 'virStoragePoolGetUUIDString', 'virStoragePoolLookupByUUID', -Index: libvirt-0.6.2/src/libvirt_public.syms +Index: libvirt-0.6.5/src/libvirt_public.syms =================================================================== ---- libvirt-0.6.2.orig/src/libvirt_public.syms -+++ libvirt-0.6.2/src/libvirt_public.syms +--- libvirt-0.6.5.orig/src/libvirt_public.syms ++++ libvirt-0.6.5/src/libvirt_public.syms @@ -215,6 +215,11 @@ LIBVIRT_0.4.2 { LIBVIRT_0.4.5 { global: diff --git a/socat.patch b/socat.patch index 94ec39f..5cbe83b 100644 --- a/socat.patch +++ b/socat.patch @@ -1,29 +1,39 @@ -Index: libvirt-0.6.2/src/remote_internal.c +Index: libvirt-0.6.5/src/remote_internal.c =================================================================== ---- libvirt-0.6.2.orig/src/remote_internal.c -+++ libvirt-0.6.2/src/remote_internal.c -@@ -704,9 +704,22 @@ doRemoteOpen (virConnectPtr conn, +--- libvirt-0.6.5.orig/src/remote_internal.c ++++ libvirt-0.6.5/src/remote_internal.c +@@ -721,12 +721,29 @@ doRemoteOpen (virConnectPtr conn, cmd_argv[j++] = strdup ("none"); } cmd_argv[j++] = strdup (priv->hostname); - cmd_argv[j++] = strdup (netcat ? netcat : "nc"); - cmd_argv[j++] = strdup ("-U"); -- cmd_argv[j++] = strdup (sockname ? sockname : LIBVIRTD_PRIV_UNIX_SOCKET); +- cmd_argv[j++] = strdup (sockname ? sockname : +- (flags & VIR_CONNECT_RO +- ? LIBVIRTD_PRIV_UNIX_SOCKET_RO +- : LIBVIRTD_PRIV_UNIX_SOCKET)); + if (netcat) { + cmd_argv[j++] = strdup (netcat); + cmd_argv[j++] = strdup ("-U"); -+ cmd_argv[j++] = strdup (sockname ? sockname : LIBVIRTD_PRIV_UNIX_SOCKET); ++ cmd_argv[j++] = strdup (sockname ? sockname : ++ (flags & VIR_CONNECT_RO ++ ? LIBVIRTD_PRIV_UNIX_SOCKET_RO ++ : LIBVIRTD_PRIV_UNIX_SOCKET)); + } else { + cmd_argv[j++] = strdup ("socat"); + cmd_argv[j++] = strdup ("-"); + -+ char *socat_addr = 0; ++ char *socat_addr = NULL; + if ((asprintf (&socat_addr, "GOPEN:%s", -+ sockname ? sockname : LIBVIRTD_PRIV_UNIX_SOCKET)) < 0) { ++ sockname ? sockname : ++ (flags & VIR_CONNECT_RO ++ ? LIBVIRTD_PRIV_UNIX_SOCKET_RO ++ : LIBVIRTD_PRIV_UNIX_SOCKET))) < 0) { + error (conn, VIR_ERR_SYSTEM_ERROR, strerror (ENOMEM)); + goto failed; + } -+ cmd_argv[j++] = socat_addr; ++ cmd_argv[j++] = strdup (socat_addr); ++ VIR_FREE(socat_addr); + } cmd_argv[j++] = 0; assert (j == nr_args); diff --git a/suse-network.patch b/suse-network.patch index d332761..8c2b3b1 100644 --- a/suse-network.patch +++ b/suse-network.patch @@ -1,8 +1,8 @@ -Index: libvirt-0.6.2/src/network_conf.c +Index: libvirt-0.6.5/src/network_conf.c =================================================================== ---- libvirt-0.6.2.orig/src/network_conf.c -+++ libvirt-0.6.2/src/network_conf.c -@@ -768,6 +768,137 @@ error: +--- libvirt-0.6.5.orig/src/network_conf.c ++++ libvirt-0.6.5/src/network_conf.c +@@ -771,6 +771,137 @@ error: return NULL; } @@ -140,7 +140,7 @@ Index: libvirt-0.6.2/src/network_conf.c int virNetworkLoadAllConfigs(virConnectPtr conn, virNetworkObjListPtr nets, const char *configDir, -@@ -807,6 +938,7 @@ int virNetworkLoadAllConfigs(virConnectP +@@ -810,6 +941,7 @@ int virNetworkLoadAllConfigs(virConnectP closedir(dir); @@ -148,10 +148,10 @@ Index: libvirt-0.6.2/src/network_conf.c return 0; } -Index: libvirt-0.6.2/src/network_conf.h +Index: libvirt-0.6.5/src/network_conf.h =================================================================== ---- libvirt-0.6.2.orig/src/network_conf.h -+++ libvirt-0.6.2/src/network_conf.h +--- libvirt-0.6.5.orig/src/network_conf.h ++++ libvirt-0.6.5/src/network_conf.h @@ -89,6 +89,7 @@ struct _virNetworkObj { unsigned int active : 1; unsigned int autostart : 1; @@ -160,23 +160,23 @@ Index: libvirt-0.6.2/src/network_conf.h virNetworkDefPtr def; /* The current definition */ virNetworkDefPtr newDef; /* New definition to activate at shutdown */ -Index: libvirt-0.6.2/src/network_driver.c +Index: libvirt-0.6.5/src/network_driver.c =================================================================== ---- libvirt-0.6.2.orig/src/network_driver.c -+++ libvirt-0.6.2/src/network_driver.c -@@ -914,6 +914,11 @@ static int networkShutdownNetworkDaemon( +--- libvirt-0.6.5.orig/src/network_driver.c ++++ libvirt-0.6.5/src/network_driver.c +@@ -903,6 +903,11 @@ static int networkShutdownNetworkDaemon( unlink(stateFile); VIR_FREE(stateFile); + if (network->readonly) { -+ networkLog(NETWORK_WARN, ": Network '%s' is readonly", network->def->name); ++ VIR_WARN("Network '%s' is readonly\n", network->def->name); + return -1; + } + if (network->dnsmasqPid > 0) kill(network->dnsmasqPid, SIGTERM); -@@ -1360,6 +1365,12 @@ static int networkSetAutostart(virNetwor +@@ -1359,6 +1364,12 @@ static int networkSetAutostart(virNetwor goto cleanup; } diff --git a/xen-pv-cdrom.patch b/xen-pv-cdrom.patch index 42c6cb2..cf4b992 100644 --- a/xen-pv-cdrom.patch +++ b/xen-pv-cdrom.patch @@ -1,8 +1,8 @@ -Index: libvirt-0.6.2/src/xend_internal.c +Index: libvirt-0.6.5/src/xend_internal.c =================================================================== ---- libvirt-0.6.2.orig/src/xend_internal.c -+++ libvirt-0.6.2/src/xend_internal.c -@@ -5262,7 +5262,10 @@ xenDaemonFormatSxprDisk(virConnectPtr co +--- libvirt-0.6.5.orig/src/xend_internal.c ++++ libvirt-0.6.5/src/xend_internal.c +@@ -5289,7 +5289,10 @@ xenDaemonFormatSxprDisk(virConnectPtr co } else if (def->device == VIR_DOMAIN_DISK_DEVICE_CDROM) { virBufferVSprintf(buf, "(dev '%s:cdrom')", def->dst); } else {