summaryrefslogtreecommitdiffstats
path: root/import-layers/meta-virtualization/recipes-extended/libvirt/libvirt/libvirt_api_xml_path.patch
diff options
context:
space:
mode:
Diffstat (limited to 'import-layers/meta-virtualization/recipes-extended/libvirt/libvirt/libvirt_api_xml_path.patch')
-rw-r--r--import-layers/meta-virtualization/recipes-extended/libvirt/libvirt/libvirt_api_xml_path.patch85
1 files changed, 85 insertions, 0 deletions
diff --git a/import-layers/meta-virtualization/recipes-extended/libvirt/libvirt/libvirt_api_xml_path.patch b/import-layers/meta-virtualization/recipes-extended/libvirt/libvirt/libvirt_api_xml_path.patch
new file mode 100644
index 000000000..3c2622c72
--- /dev/null
+++ b/import-layers/meta-virtualization/recipes-extended/libvirt/libvirt/libvirt_api_xml_path.patch
@@ -0,0 +1,85 @@
+Adding support for LIBVIRT_CFLAGS and LIBVIRT_LIBS
+
+Signed-off-by: Amy Fong <amy.fong@windriver.com>
+
+
+Adding a support for LIBVIRT_API_PATH evironment variable, which can
+control where the script should look for the 'libvirt-api.xml' file.
+This allows building libvirt-python against different libvirt than the
+one installed in the system. This may be used for example in autotest
+or by packagers without the need to install libvirt into the system.
+
+Signed-off-by: Martin Kletzander <mkletzan redhat com>
+[ywei: rebased to 1.3.2]
+Signed-off-by: Yunguo Wei <yunguo.wei@windriver.com>
+---
+ setup.py | 25 ++++++++++++++++++++++---
+ 1 file changed, 22 insertions(+), 3 deletions(-)
+
+Index: libvirt-python-1.2.4/setup.py
+===================================================================
+--- libvirt-python-1.2.4.orig/setup.py
++++ libvirt-python-1.2.4/setup.py
+@@ -40,13 +40,7 @@
+ "libvirt"])
+
+ def have_libvirt_lxc():
+- try:
+- spawn([get_pkgcfg(),
+- "--atleast-version=%s" % MIN_LIBVIRT_LXC,
+- "libvirt"])
+- return True
+- except DistutilsExecError:
+- return False
++ return True
+
+ def get_pkgconfig_data(args, mod, required=True):
+ """Run pkg-config to and return content associated with it"""
+@@ -68,7 +62,17 @@
+ """Check with pkg-config that libvirt is present and extract
+ the API XML file paths we need from it"""
+
+- libvirt_api = get_pkgconfig_data(["--variable", "libvirt_api"], "libvirt")
++ libvirt_api = os.getenv("LIBVIRT_API_PATH")
++
++ if libvirt_api:
++ if not libvirt_api.endswith("-api.xml"):
++ raise ValueError("Invalid path '%s' for API XML" % libvirt_api)
++ if not os.path.exists(libvirt_api):
++ raise ValueError("API XML '%s' does not exist, "
++ "have you built libvirt?" % libvirt_api)
++ else:
++ libvirt_api = get_pkgconfig_data(["--variable", "libvirt_api"],
++ "libvirt")
+
+ offset = libvirt_api.index("-api.xml")
+ libvirt_qemu_api = libvirt_api[0:offset] + "-qemu-api.xml"
+@@ -88,8 +92,17 @@
+
+ c_modules = []
+ py_modules = []
+- ldflags = get_pkgconfig_data(["--libs-only-L"], "libvirt", False).split()
+- cflags = get_pkgconfig_data(["--cflags"], "libvirt", False).split()
++ libvirt_cflags = os.getenv("LIBVIRT_CFLAGS")
++ if libvirt_cflags:
++ cflags = libvirt_cflags.split()
++ else:
++ cflags = get_pkgconfig_data(["--cflags"], "libvirt", False).split()
++
++ libvirt_libs = os.getenv("LIBVIRT_LIBS")
++ if libvirt_libs:
++ ldflags = libvirt_libs.split()
++ else:
++ ldflags = get_pkgconfig_data(["--libs-only-L"], "libvirt", False).split()
+
+ module = Extension('libvirtmod',
+ sources = ['libvirt-override.c', 'build/libvirt.c', 'typewrappers.c', 'libvirt-utils.c'],
+@@ -138,7 +151,7 @@
+ class my_build(build):
+
+ def run(self):
+- check_minimum_libvirt_version()
++# check_minimum_libvirt_version()
+ apis = get_api_xml_files()
+
+ self.spawn([sys.executable, "generator.py", "libvirt", apis[0]])
OpenPOWER on IntegriCloud