diff --git a/clone.patch b/clone.patch index 5c501d0..dda2750 100644 --- a/clone.patch +++ b/clone.patch @@ -2,7 +2,7 @@ Index: src/lxc/lxc_container.c =================================================================== --- src/lxc/lxc_container.c.orig +++ src/lxc/lxc_container.c -@@ -828,6 +828,9 @@ int lxcContainerStart(virDomainDefPtr de +@@ -831,6 +831,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/lxc_container.c if (VIR_ALLOC_N(stack, stacksize) < 0) { virReportOOMError(); return -1; -@@ -846,7 +849,11 @@ int lxcContainerStart(virDomainDefPtr de +@@ -849,7 +852,11 @@ int lxcContainerStart(virDomainDefPtr de flags |= CLONE_NEWNET; } @@ -24,7 +24,7 @@ Index: src/lxc/lxc_container.c VIR_FREE(stack); DEBUG("clone() completed, new container PID is %d", pid); -@@ -872,6 +879,7 @@ int lxcContainerAvailable(int features) +@@ -875,6 +882,7 @@ int lxcContainerAvailable(int features) char *childStack; char *stack; int childStatus; @@ -32,7 +32,7 @@ Index: src/lxc/lxc_container.c if (features & LXC_CONTAINER_FEATURE_USER) flags |= CLONE_NEWUSER; -@@ -879,14 +887,21 @@ int lxcContainerAvailable(int features) +@@ -882,14 +890,21 @@ int lxcContainerAvailable(int features) if (features & LXC_CONTAINER_FEATURE_NET) flags |= CLONE_NEWNET; diff --git a/libvirt-0.8.3.tar.bz2 b/libvirt-0.8.3.tar.bz2 deleted file mode 100644 index 77c2193..0000000 --- a/libvirt-0.8.3.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:759f4957e6f2b905857897a84e36cbe73f7dc3a5150637430ff086c3e2b414b4 -size 8250164 diff --git a/libvirt-0.8.4.tar.bz2 b/libvirt-0.8.4.tar.bz2 new file mode 100644 index 0000000..0f87f92 --- /dev/null +++ b/libvirt-0.8.4.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1f07f5ba0f9be4026866ee049a555777c525d3d4c754a69ebf92185878a8c128 +size 8432891 diff --git a/libvirt.changes b/libvirt.changes index d5dd114..eee1902 100644 --- a/libvirt.changes +++ b/libvirt.changes @@ -1,3 +1,12 @@ +------------------------------------------------------------------- +Fri Sep 10 15:45:04 MDT 2010 - jfehlig@novell.com + +- Update to libvirt 0.8.4 + - various improvements to UML driver + - documentation improvements + - lot of bug fixes and other improvements + - enable ESX driver for openSUSE + ------------------------------------------------------------------- Fri Aug 6 21:53:21 MDT 2010 - jfehlig@novell.com diff --git a/libvirt.spec b/libvirt.spec index 9428e71..84dec59 100644 --- a/libvirt.spec +++ b/libvirt.spec @@ -1,5 +1,5 @@ # -# spec file for package libvirt (Version 0.8.3) +# spec file for package libvirt (Version 0.8.4) # # Copyright (c) 2010 SUSE LINUX Products GmbH, Nuernberg, Germany. # @@ -27,7 +27,7 @@ %define with_one 0 # hypervisor drivers that use a native remote protocol %define with_phyp 0 -%define with_esx 0 +%define with_esx 1 # host drivers %define with_network 1 %define with_storage_fs 1 @@ -114,13 +114,16 @@ BuildRequires: libssh2-devel %if %{with_macvtap} BuildRequires: libnl-devel %endif +%if %{with_esx} +BuildRequires: libcurl-devel +%endif # Only for directory ownership: BuildRequires: gtk-doc Url: http://libvirt.org/ License: LGPLv2.1+ Group: Development/Libraries/C and C++ AutoReqProv: yes -Version: 0.8.3 +Version: 0.8.4 Release: 1 Summary: A C toolkit to interract with the virtualization capabilities of Linux # The client side, i.e. shared libs and virsh are in a subpackage @@ -150,8 +153,7 @@ Patch100: xen-name-for-devid.patch Patch102: clone.patch Patch103: xen-pv-cdrom.patch Patch104: xen-domctl-ver7.patch -Patch105: xen-tap2-support.patch -Patch106: xend-disk-order.patch +Patch105: xend-disk-order.patch # Our patches Patch200: libvirtd-defaults.patch BuildRoot: %{_tmppath}/%{name}-%{version}-build @@ -262,7 +264,6 @@ Authors: %patch103 -p1 %patch104 -p1 %patch105 -p1 -%patch106 -p1 %patch200 -p1 %build diff --git a/libvirtd-defaults.patch b/libvirtd-defaults.patch index 3f15365..0ca0f0e 100644 --- a/libvirtd-defaults.patch +++ b/libvirtd-defaults.patch @@ -1,7 +1,7 @@ -Index: libvirt-0.8.0/daemon/libvirtd.conf +Index: libvirt-0.8.4/daemon/libvirtd.conf =================================================================== ---- libvirt-0.8.0.orig/daemon/libvirtd.conf -+++ libvirt-0.8.0/daemon/libvirtd.conf +--- libvirt-0.8.4.orig/daemon/libvirtd.conf ++++ libvirt-0.8.4/daemon/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.8.0/daemon/libvirtd.conf # Override the default mDNS advertizement name. This must be # unique on the immediate broadcast network. -Index: libvirt-0.8.0/daemon/libvirtd.c +Index: libvirt-0.8.4/daemon/libvirtd.c =================================================================== ---- libvirt-0.8.0.orig/daemon/libvirtd.c -+++ libvirt-0.8.0/daemon/libvirtd.c -@@ -141,7 +141,7 @@ static int sigwrite = -1; /* Signa +--- libvirt-0.8.4.orig/daemon/libvirtd.c ++++ libvirt-0.8.4/daemon/libvirtd.c +@@ -142,7 +142,7 @@ static int sigwrite = -1; /* Signa static int ipsock = 0; /* -l Listen for TCP/IP */ /* Defaults for configuration file elements */ @@ -41,7 +41,7 @@ Index: libvirt-0.8.0/daemon/libvirtd.c static int listen_tcp = 0; static char *listen_addr = (char *) LIBVIRTD_LISTEN_ADDR; static char *tls_port = (char *) LIBVIRTD_TLS_PORT; -@@ -163,7 +163,7 @@ static int auth_tcp = REMOTE_AUTH_NONE; +@@ -164,7 +164,7 @@ static int auth_tcp = REMOTE_AUTH_NONE; #endif static int auth_tls = REMOTE_AUTH_NONE; diff --git a/xen-name-for-devid.patch b/xen-name-for-devid.patch index c1d3798..7a9e402 100644 --- a/xen-name-for-devid.patch +++ b/xen-name-for-devid.patch @@ -13,10 +13,10 @@ Date: Wed Jan 27 16:11:41 2010 -0700 This approach allows removing a disk when domain is inactive. We obviously can't search xenstore when the domain is inactive. -Index: libvirt-0.8.1/src/xen/xend_internal.c +Index: libvirt-0.8.4/src/xen/xend_internal.c =================================================================== ---- libvirt-0.8.1.orig/src/xen/xend_internal.c -+++ libvirt-0.8.1/src/xen/xend_internal.c +--- libvirt-0.8.4.orig/src/xen/xend_internal.c ++++ libvirt-0.8.4/src/xen/xend_internal.c @@ -92,6 +92,7 @@ xenDaemonFormatSxprOnePCI(virDomainHostd static int @@ -25,7 +25,7 @@ Index: libvirt-0.8.1/src/xen/xend_internal.c virDomainDeviceDefPtr dev, char *class, char *ref, -@@ -4178,7 +4179,7 @@ xenDaemonAttachDeviceFlags(virDomainPtr +@@ -3964,7 +3965,7 @@ xenDaemonAttachDeviceFlags(virDomainPtr sexpr = virBufferContentAndReset(&buf); @@ -34,7 +34,7 @@ Index: libvirt-0.8.1/src/xen/xend_internal.c /* device doesn't exist, define it */ ret = xend_op(domain->conn, domain->name, "op", "device_create", "config", sexpr, NULL); -@@ -4295,7 +4296,7 @@ xenDaemonUpdateDeviceFlags(virDomainPtr +@@ -4081,7 +4082,7 @@ xenDaemonUpdateDeviceFlags(virDomainPtr sexpr = virBufferContentAndReset(&buf); @@ -43,7 +43,7 @@ Index: libvirt-0.8.1/src/xen/xend_internal.c virXendError(VIR_ERR_OPERATION_INVALID, "%s", _("requested device does not exist")); goto cleanup; -@@ -4387,7 +4388,7 @@ xenDaemonDetachDeviceFlags(virDomainPtr +@@ -4173,7 +4174,7 @@ xenDaemonDetachDeviceFlags(virDomainPtr def, xml, VIR_DOMAIN_XML_INACTIVE))) goto cleanup; @@ -52,7 +52,7 @@ Index: libvirt-0.8.1/src/xen/xend_internal.c goto cleanup; if (dev->type == VIR_DOMAIN_DEVICE_HOSTDEV) { -@@ -6135,6 +6136,7 @@ error: +@@ -5923,6 +5924,7 @@ error: */ static int virDomainXMLDevID(virDomainPtr domain, @@ -60,7 +60,7 @@ Index: libvirt-0.8.1/src/xen/xend_internal.c virDomainDeviceDefPtr dev, char *class, char *ref, -@@ -6143,27 +6145,33 @@ virDomainXMLDevID(virDomainPtr domain, +@@ -5931,8 +5933,12 @@ virDomainXMLDevID(virDomainPtr domain, xenUnifiedPrivatePtr priv = domain->conn->privateData; char *xref; char *tmp; @@ -73,6 +73,7 @@ Index: libvirt-0.8.1/src/xen/xend_internal.c if (dev->data.disk->driverName && STREQ(dev->data.disk->driverName, "tap")) strcpy(class, "tap"); +@@ -5942,19 +5948,21 @@ virDomainXMLDevID(virDomainPtr domain, else strcpy(class, "vbd"); diff --git a/xen-pv-cdrom.patch b/xen-pv-cdrom.patch index bfa1faf..9d4da96 100644 --- a/xen-pv-cdrom.patch +++ b/xen-pv-cdrom.patch @@ -1,8 +1,8 @@ -Index: libvirt-0.8.1/src/xen/xend_internal.c +Index: libvirt-0.8.4/src/xen/xend_internal.c =================================================================== ---- libvirt-0.8.1.orig/src/xen/xend_internal.c -+++ libvirt-0.8.1/src/xen/xend_internal.c -@@ -5545,7 +5545,10 @@ xenDaemonFormatSxprDisk(virConnectPtr co +--- libvirt-0.8.4.orig/src/xen/xend_internal.c ++++ libvirt-0.8.4/src/xen/xend_internal.c +@@ -5332,7 +5332,10 @@ xenDaemonFormatSxprDisk(virConnectPtr co } else if (def->device == VIR_DOMAIN_DISK_DEVICE_CDROM) { virBufferVSprintf(buf, "(dev '%s:cdrom')", def->dst); } else { diff --git a/xen-tap2-support.patch b/xen-tap2-support.patch deleted file mode 100644 index de9ad21..0000000 --- a/xen-tap2-support.patch +++ /dev/null @@ -1,30 +0,0 @@ -Index: libvirt-0.8.1/src/xen/xend_internal.c -=================================================================== ---- libvirt-0.8.1.orig/src/xen/xend_internal.c -+++ libvirt-0.8.1/src/xen/xend_internal.c -@@ -1610,7 +1610,8 @@ xenDaemonParseSxprDisks(virDomainDefPtr - but blktap disks ended up in a differently named - (device (tap ....)) block.... */ - if (sexpr_lookup(node, "device/vbd") || -- sexpr_lookup(node, "device/tap")) { -+ sexpr_lookup(node, "device/tap") || -+ sexpr_lookup(node, "device/tap2")) { - char *offset; - const char *src = NULL; - const char *dst = NULL; -@@ -1621,10 +1622,14 @@ xenDaemonParseSxprDisks(virDomainDefPtr - src = sexpr_node(node, "device/vbd/uname"); - dst = sexpr_node(node, "device/vbd/dev"); - mode = sexpr_node(node, "device/vbd/mode"); -- } else { -+ } else if (sexpr_lookup(node, "device/tap")) { - src = sexpr_node(node, "device/tap/uname"); - dst = sexpr_node(node, "device/tap/dev"); - mode = sexpr_node(node, "device/tap/mode"); -+ } else { -+ src = sexpr_node(node, "device/tap2/uname"); -+ dst = sexpr_node(node, "device/tap2/dev"); -+ mode = sexpr_node(node, "device/tap2/mode"); - } - - if (VIR_ALLOC(disk) < 0) diff --git a/xend-disk-order.patch b/xend-disk-order.patch index 9360ab0..7bc0bde 100644 --- a/xend-disk-order.patch +++ b/xend-disk-order.patch @@ -1,8 +1,8 @@ -Index: libvirt-0.8.1/src/xen/xend_internal.c +Index: libvirt-0.8.4/src/xen/xend_internal.c =================================================================== ---- libvirt-0.8.1.orig/src/xen/xend_internal.c -+++ libvirt-0.8.1/src/xen/xend_internal.c -@@ -1616,20 +1616,24 @@ xenDaemonParseSxprDisks(virDomainDefPtr +--- libvirt-0.8.4.orig/src/xen/xend_internal.c ++++ libvirt-0.8.4/src/xen/xend_internal.c +@@ -1393,20 +1393,24 @@ xenDaemonParseSxprDisks(virDomainDefPtr const char *src = NULL; const char *dst = NULL; const char *mode = NULL; @@ -14,20 +14,20 @@ Index: libvirt-0.8.1/src/xen/xend_internal.c dst = sexpr_node(node, "device/vbd/dev"); mode = sexpr_node(node, "device/vbd/mode"); + bootable = sexpr_int(node, "device/vbd/bootable"); - } else if (sexpr_lookup(node, "device/tap")) { - src = sexpr_node(node, "device/tap/uname"); - dst = sexpr_node(node, "device/tap/dev"); - mode = sexpr_node(node, "device/tap/mode"); -+ bootable = sexpr_int(node, "device/tap/bootable"); - } else { + } else if (sexpr_lookup(node, "device/tap2")) { src = sexpr_node(node, "device/tap2/uname"); dst = sexpr_node(node, "device/tap2/dev"); mode = sexpr_node(node, "device/tap2/mode"); + bootable = sexpr_int(node, "device/tap2/bootable"); + } else { + src = sexpr_node(node, "device/tap/uname"); + dst = sexpr_node(node, "device/tap/dev"); + mode = sexpr_node(node, "device/tap/mode"); ++ bootable = sexpr_int(node, "device/tap/bootable"); } if (VIR_ALLOC(disk) < 0) -@@ -1754,7 +1758,12 @@ xenDaemonParseSxprDisks(virDomainDefPtr +@@ -1532,7 +1536,12 @@ xenDaemonParseSxprDisks(virDomainDefPtr if (VIR_REALLOC_N(def->disks, def->ndisks+1) < 0) goto no_memory;