diff options
Diffstat (limited to 'recipes-extended/libvirt/libvirt/libvirt_api_xml_path.patch')
-rw-r--r-- | recipes-extended/libvirt/libvirt/libvirt_api_xml_path.patch | 89 |
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 = [] |