aboutsummaryrefslogtreecommitdiffstats
path: root/main/libvirt/0001-Fix-missing-error-constants-in-libvirt-python-module.patch
diff options
context:
space:
mode:
Diffstat (limited to 'main/libvirt/0001-Fix-missing-error-constants-in-libvirt-python-module.patch')
-rw-r--r--main/libvirt/0001-Fix-missing-error-constants-in-libvirt-python-module.patch98
1 files changed, 98 insertions, 0 deletions
diff --git a/main/libvirt/0001-Fix-missing-error-constants-in-libvirt-python-module.patch b/main/libvirt/0001-Fix-missing-error-constants-in-libvirt-python-module.patch
new file mode 100644
index 0000000000..b9afb51031
--- /dev/null
+++ b/main/libvirt/0001-Fix-missing-error-constants-in-libvirt-python-module.patch
@@ -0,0 +1,98 @@
+From 25ea8e47e74def560bf89cd94dd54b75ca5ff4d6 Mon Sep 17 00:00:00 2001
+From: "Daniel P. Berrange" <berrange@redhat.com>
+Date: Tue, 5 Feb 2013 12:55:09 +0000
+Subject: [PATCH] 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>
+---
+ python/Makefile.am | 5 +++++
+ python/generator.py | 4 +++-
+ python/sanitytest.py | 31 +++++++++++++++++++++++++++++++
+ 3 files changed, 39 insertions(+), 1 deletion(-)
+ create mode 100644 python/sanitytest.py
+
+diff --git a/python/Makefile.am b/python/Makefile.am
+index dd69600..ef3c3eb 100644
+--- a/python/Makefile.am
++++ b/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)
+diff --git a/python/generator.py b/python/generator.py
+index 71ca883..ceade6b 100755
+--- a/python/generator.py
++++ b/python/generator.py
+@@ -122,8 +122,9 @@ class docParser(xml.sax.handler.ContentHandler):
+ 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.ContentHandler):
+ 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
+diff --git a/python/sanitytest.py b/python/sanitytest.py
+new file mode 100644
+index 0000000..047450b
+--- /dev/null
++++ b/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)
+--
+1.7.11.7
+