aboutsummaryrefslogtreecommitdiff
path: root/recipes-extended/libvirt/libvirt/libvirt_api_xml_path.patch
diff options
context:
space:
mode:
Diffstat (limited to 'recipes-extended/libvirt/libvirt/libvirt_api_xml_path.patch')
-rw-r--r--recipes-extended/libvirt/libvirt/libvirt_api_xml_path.patch89
1 files changed, 89 insertions, 0 deletions
diff --git a/recipes-extended/libvirt/libvirt/libvirt_api_xml_path.patch b/recipes-extended/libvirt/libvirt/libvirt_api_xml_path.patch
new file mode 100644
index 0000000..0aa3bde
--- /dev/null
+++ b/recipes-extended/libvirt/libvirt/libvirt_api_xml_path.patch
@@ -0,0 +1,89 @@
+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>
+---
+ setup.py | 25 ++++++++++++++++++++++---
+ 1 file changed, 22 insertions(+), 3 deletions(-)
+
+Index: libvirt-python-1.2.1/setup.py
+===================================================================
+--- libvirt-python-1.2.1.orig/setup.py
++++ libvirt-python-1.2.1/setup.py
+@@ -30,18 +30,19 @@
+ if pkgcfg is None:
+ raise Exception("pkg-config binary is required to compile libvirt-python")
+
+-spawn([pkgcfg,
+- "--print-errors",
+- "--atleast-version=%s" % MIN_LIBVIRT,
+- "libvirt"])
++# spawn([pkgcfg,
++# "--print-errors",
++# "--atleast-version=%s" % MIN_LIBVIRT,
++# "libvirt"])
+
+ have_libvirt_lxc=True
+-try:
+- spawn([pkgcfg,
+- "--atleast-version=%s" % MIN_LIBVIRT_LXC,
+- "libvirt"])
+-except DistutilsExecError:
+- have_libvirt_lxc=False
++# try:
++# spawn([pkgcfg,
++# "--atleast-version=%s" % MIN_LIBVIRT_LXC,
++# "libvirt"])
++# except DistutilsExecError:
++# have_libvirt_lxc=False
++have_libvirt_lxc=True
+
+ def get_pkgconfig_data(args, mod, required=True):
+ """Run pkg-config to and return content associated with it"""
+@@ -63,7 +64,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"
+@@ -73,8 +84,17 @@
+
+ return (libvirt_api, libvirt_qemu_api, libvirt_lxc_api)
+
+-ldflags = get_pkgconfig_data(["--libs-only-L"], "libvirt", False)
+-cflags = get_pkgconfig_data(["--cflags"], "libvirt", False)
++libvirt_cflags = os.getenv("LIBVIRT_CFLAGS")
++if libvirt_cflags:
++ cflags = libvirt_cflags
++else:
++ cflags = get_pkgconfig_data(["--cflags"], "libvirt", False)
++
++libvirt_libs = os.getenv("LIBVIRT_LIBS")
++if libvirt_libs:
++ ldflags = libvirt_libs
++else:
++ ldflags = get_pkgconfig_data(["--libs-only-L"], "libvirt", False)
+
+ c_modules = []
+ py_modules = []