Accepting request 154941 from Virtualization
Updated libvirt package for Factory to fix bnc#802619. coolo, can this be copied to 12.3 as well? That is a nasty bug in the python bindings :(. Thanks! - Fix error handling in python bindings a6b8bae5-python-generator-fix1.patch 25ea8e47-python-generator-fix2.patch bnc#802619 OBS-URL: https://build.opensuse.org/request/show/154941 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/libvirt?expand=0&rev=113
This commit is contained in:
commit
9b9dd2a2aa
89
25ea8e47-python-generator-fix2.patch
Normal file
89
25ea8e47-python-generator-fix2.patch
Normal file
@ -0,0 +1,89 @@
|
|||||||
|
commit 25ea8e47e74def560bf89cd94dd54b75ca5ff4d6
|
||||||
|
Author: Daniel P. Berrange <berrange@redhat.com>
|
||||||
|
Date: Tue Feb 5 12:55:09 2013 +0000
|
||||||
|
|
||||||
|
Fix missing error constants in libvirt python module
|
||||||
|
|
||||||
|
The previous change to the generator, changed too much - only
|
||||||
|
the functions are in 'virerror.c', the constants remained in
|
||||||
|
'virerror.h' which could not be renamed for API compat reasons.
|
||||||
|
|
||||||
|
Add a test case to sanity check the generated python bindings
|
||||||
|
|
||||||
|
Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
|
||||||
|
|
||||||
|
Index: libvirt-1.0.2/python/Makefile.am
|
||||||
|
===================================================================
|
||||||
|
--- libvirt-1.0.2.orig/python/Makefile.am
|
||||||
|
+++ libvirt-1.0.2/python/Makefile.am
|
||||||
|
@@ -119,6 +119,11 @@ $(libvirtmod_la_OBJECTS): $(GENERATED)
|
||||||
|
$(libvirtmod_qemu_la_OBJECTS): $(QEMU_GENERATED)
|
||||||
|
$(libvirtmod_lxc_la_OBJECTS): $(LXC_GENERATED)
|
||||||
|
|
||||||
|
+EXTRA_DIST += sanitytest.py
|
||||||
|
+
|
||||||
|
+check-local:
|
||||||
|
+ $(AM_V_GEN)PYTHONPATH=$(abs_topbuilddir):$(abs_topbuilddir)/.libs $(PYTHON) $(srcdir)/sanitytest.py
|
||||||
|
+
|
||||||
|
install-data-local:
|
||||||
|
$(mkinstalldirs) $(DESTDIR)$(pyexecdir)
|
||||||
|
$(INSTALL) -m 0644 libvirt.py $(DESTDIR)$(pyexecdir)
|
||||||
|
Index: libvirt-1.0.2/python/generator.py
|
||||||
|
===================================================================
|
||||||
|
--- libvirt-1.0.2.orig/python/generator.py
|
||||||
|
+++ libvirt-1.0.2/python/generator.py
|
||||||
|
@@ -122,8 +122,9 @@ class docParser(xml.sax.handler.ContentH
|
||||||
|
if attrs.has_key('field'):
|
||||||
|
self.function_return_field = attrs['field']
|
||||||
|
elif tag == 'enum':
|
||||||
|
+ # enums come from header files, hence virterror.h
|
||||||
|
if (attrs['file'] == "libvirt" or
|
||||||
|
- attrs['file'] == "virerror"):
|
||||||
|
+ attrs['file'] == "virterror"):
|
||||||
|
enum(attrs['type'],attrs['name'],attrs['value'])
|
||||||
|
elif attrs['file'] == "libvirt-lxc":
|
||||||
|
lxc_enum(attrs['type'],attrs['name'],attrs['value'])
|
||||||
|
@@ -134,6 +135,7 @@ class docParser(xml.sax.handler.ContentH
|
||||||
|
if debug:
|
||||||
|
print "end %s" % tag
|
||||||
|
if tag == 'function':
|
||||||
|
+ # fuctions come from source files, hence 'virerror.c'
|
||||||
|
if self.function != None:
|
||||||
|
if (self.function_module == "libvirt" or
|
||||||
|
self.function_module == "virevent" or
|
||||||
|
Index: libvirt-1.0.2/python/sanitytest.py
|
||||||
|
===================================================================
|
||||||
|
--- /dev/null
|
||||||
|
+++ libvirt-1.0.2/python/sanitytest.py
|
||||||
|
@@ -0,0 +1,31 @@
|
||||||
|
+#!/usr/bin/python
|
||||||
|
+
|
||||||
|
+import libvirt
|
||||||
|
+
|
||||||
|
+globals = dir(libvirt)
|
||||||
|
+
|
||||||
|
+# Sanity test that the generator hasn't gone wrong
|
||||||
|
+
|
||||||
|
+# Look for core classes
|
||||||
|
+assert("virConnect" in globals)
|
||||||
|
+assert("virDomain" in globals)
|
||||||
|
+assert("virDomainSnapshot" in globals)
|
||||||
|
+assert("virInterface" in globals)
|
||||||
|
+assert("virNWFilter" in globals)
|
||||||
|
+assert("virNodeDevice" in globals)
|
||||||
|
+assert("virNetwork" in globals)
|
||||||
|
+assert("virSecret" in globals)
|
||||||
|
+assert("virStoragePool" in globals)
|
||||||
|
+assert("virStorageVol" in globals)
|
||||||
|
+assert("virStream" in globals)
|
||||||
|
+assert("VIR_CONNECT_RO" in globals)
|
||||||
|
+
|
||||||
|
+# Error related bits
|
||||||
|
+assert("libvirtError" in globals)
|
||||||
|
+assert("VIR_ERR_AUTH_FAILED" in globals)
|
||||||
|
+assert("virGetLastError" in globals)
|
||||||
|
+
|
||||||
|
+# Some misc methods
|
||||||
|
+assert("virInitialize" in globals)
|
||||||
|
+assert("virEventAddHandle" in globals)
|
||||||
|
+assert("virEventRegisterDefaultImpl" in globals)
|
35
a6b8bae5-python-generator-fix1.patch
Normal file
35
a6b8bae5-python-generator-fix1.patch
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
commit a6b8bae5a6a4752926eba409202ec061d81c6c8a
|
||||||
|
Author: Serge Hallyn <serge.hallyn@canonical.com>
|
||||||
|
Date: Wed Jan 30 21:05:45 2013 -0600
|
||||||
|
|
||||||
|
complete virterror->virerror name change
|
||||||
|
|
||||||
|
Without these two string changes in generator.py, the
|
||||||
|
virGetLastError wrapper does not get created in
|
||||||
|
/usr/share/pyshared/libvirt.py. Noticed when running
|
||||||
|
tests with virt-install.
|
||||||
|
|
||||||
|
Signed-off-by: Serge Hallyn <serge.hallyn@ubuntu.com>
|
||||||
|
|
||||||
|
Index: libvirt-1.0.2/python/generator.py
|
||||||
|
===================================================================
|
||||||
|
--- libvirt-1.0.2.orig/python/generator.py
|
||||||
|
+++ libvirt-1.0.2/python/generator.py
|
||||||
|
@@ -123,7 +123,7 @@ class docParser(xml.sax.handler.ContentH
|
||||||
|
self.function_return_field = attrs['field']
|
||||||
|
elif tag == 'enum':
|
||||||
|
if (attrs['file'] == "libvirt" or
|
||||||
|
- attrs['file'] == "virterror"):
|
||||||
|
+ attrs['file'] == "virerror"):
|
||||||
|
enum(attrs['type'],attrs['name'],attrs['value'])
|
||||||
|
elif attrs['file'] == "libvirt-lxc":
|
||||||
|
lxc_enum(attrs['type'],attrs['name'],attrs['value'])
|
||||||
|
@@ -137,7 +137,7 @@ class docParser(xml.sax.handler.ContentH
|
||||||
|
if self.function != None:
|
||||||
|
if (self.function_module == "libvirt" or
|
||||||
|
self.function_module == "virevent" or
|
||||||
|
- self.function_module == "virterror"):
|
||||||
|
+ self.function_module == "virerror"):
|
||||||
|
function(self.function, self.function_descr,
|
||||||
|
self.function_return, self.function_args,
|
||||||
|
self.function_file, self.function_module,
|
@ -1,3 +1,11 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Feb 7 10:23:10 MST 2013 - jfehlig@suse.com
|
||||||
|
|
||||||
|
- Fix error handling in python bindings
|
||||||
|
a6b8bae5-python-generator-fix1.patch
|
||||||
|
25ea8e47-python-generator-fix2.patch
|
||||||
|
bnc#802619
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Sun Feb 3 14:42:19 UTC 2013 - crrodriguez@opensuse.org
|
Sun Feb 3 14:42:19 UTC 2013 - crrodriguez@opensuse.org
|
||||||
|
|
||||||
|
@ -417,6 +417,8 @@ Source1: libvirtd.init
|
|||||||
Source2: libvirtd-relocation-server.fw
|
Source2: libvirtd-relocation-server.fw
|
||||||
Source99: baselibs.conf
|
Source99: baselibs.conf
|
||||||
# Upstream patches
|
# Upstream patches
|
||||||
|
Patch0: a6b8bae5-python-generator-fix1.patch
|
||||||
|
Patch1: 25ea8e47-python-generator-fix2.patch
|
||||||
# Need to go upstream
|
# Need to go upstream
|
||||||
Patch100: xen-name-for-devid.patch
|
Patch100: xen-name-for-devid.patch
|
||||||
Patch101: clone.patch
|
Patch101: clone.patch
|
||||||
@ -556,6 +558,8 @@ Authors:
|
|||||||
|
|
||||||
%prep
|
%prep
|
||||||
%setup -q
|
%setup -q
|
||||||
|
%patch0 -p1
|
||||||
|
%patch1 -p1
|
||||||
%patch100 -p1
|
%patch100 -p1
|
||||||
%patch101
|
%patch101
|
||||||
%patch102 -p1
|
%patch102 -p1
|
||||||
|
Loading…
Reference in New Issue
Block a user