diff options
| author | Amy Fong <amy.fong@windriver.com> | 2014-02-03 14:36:57 -0500 |
|---|---|---|
| committer | Bruce Ashfield <bruce.ashfield@windriver.com> | 2014-02-05 11:29:12 -0500 |
| commit | 43fe4b7d0e517a6eceb28382a8d8d89b8379f6c6 (patch) | |
| tree | 689c686ebee8b9431afa38c8b39e115e3599ccef | |
| parent | 851547589048e0ac253d682d22b25b8baac3ce02 (diff) | |
| download | meta-virtualization-43fe4b7d0e517a6eceb28382a8d8d89b8379f6c6.tar.gz | |
package libvirt-python
In 1.2.0, libvirt separated the python components into a separate package.
Signed-off-by: Amy Fong <amy.fong@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
| -rw-r--r-- | recipes-extended/libvirt/libvirt-python.inc | 37 | ||||
| -rw-r--r-- | recipes-extended/libvirt/libvirt/libvirt_api_xml_path.patch | 89 | ||||
| -rw-r--r-- | recipes-extended/libvirt/libvirt_1.2.1.bb | 6 |
3 files changed, 128 insertions, 4 deletions
diff --git a/recipes-extended/libvirt/libvirt-python.inc b/recipes-extended/libvirt/libvirt-python.inc index 0d3278d2..8f553988 100644 --- a/recipes-extended/libvirt/libvirt-python.inc +++ b/recipes-extended/libvirt/libvirt-python.inc | |||
| @@ -14,4 +14,39 @@ FILES_${PN}-python-dev += "${PYTHON_SITEPACKAGES_DIR}/*.la" | |||
| 14 | FILES_${PN}-python-dbg += "${PYTHON_SITEPACKAGES_DIR}/.debug/" | 14 | FILES_${PN}-python-dbg += "${PYTHON_SITEPACKAGES_DIR}/.debug/" |
| 15 | FILES_${PN}-python += "${PYTHON_SITEPACKAGES_DIR}" | 15 | FILES_${PN}-python += "${PYTHON_SITEPACKAGES_DIR}" |
| 16 | 16 | ||
| 17 | EXTRA_OECONF += "TARGET_PYTHON=${bindir}/python" | 17 | SRC_URI += "http://libvirt.org/sources/python/libvirt-python-${PV}.tar.gz;name=libvirt_python" |
| 18 | SRC_URI += "file://libvirt_api_xml_path.patch;patchdir=../libvirt-python-${PV}" | ||
| 19 | |||
| 20 | SRC_URI[libvirt_python.md5sum] = "38158e5740be65f17eef9f99ffa5dadf" | ||
| 21 | SRC_URI[libvirt_python.sha256sum] = "2fe7e341cb1b35cff130b7a04d0d58f3607094e63cbca689bc16c7b47da0f52b" | ||
| 22 | |||
| 23 | export LIBVIRT_API_PATH = "${S}/docs/libvirt-api.xml" | ||
| 24 | export LIBVIRT_CFLAGS = "-I${S}/include" | ||
| 25 | export LIBVIRT_LIBS = "-L${S}/src/.libs -lvirt -ldl" | ||
| 26 | export LDFLAGS="-L${S}/src/.libs" | ||
| 27 | |||
| 28 | python __anonymous () { | ||
| 29 | pkgconfig = d.getVar('PACKAGECONFIG', True) | ||
| 30 | if ('python') in pkgconfig.split(): | ||
| 31 | d.setVar('LIBVIRT_PYTHON_ENABLE', '1') | ||
| 32 | else: | ||
| 33 | d.setVar('LIBVIRT_PYTHON_ENABLE', '0') | ||
| 34 | } | ||
| 35 | |||
| 36 | do_compile_python() { | ||
| 37 | if [ "${LIBVIRT_PYTHON_ENABLE}" = "1" ]; then | ||
| 38 | cd ${WORKDIR}/libvirt-python-${PV} && \ | ||
| 39 | ${STAGING_BINDIR_NATIVE}/python-native/python setup.py build | ||
| 40 | fi | ||
| 41 | } | ||
| 42 | addtask do_compile_python before do_install after do_compile | ||
| 43 | |||
| 44 | do_install_python() { | ||
| 45 | if [ "${LIBVIRT_PYTHON_ENABLE}" = "1" ]; then | ||
| 46 | cd ${WORKDIR}/libvirt-python-${PV} && \ | ||
| 47 | ${STAGING_BINDIR_NATIVE}/python-native/python setup.py install \ | ||
| 48 | --install-lib=${PYTHON_SITEPACKAGES_DIR} \ | ||
| 49 | --root=${WORKDIR}/image | ||
| 50 | fi | ||
| 51 | } | ||
| 52 | addtask do_install_python before do_populate_sysroot after do_install | ||
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 00000000..0aa3bde2 --- /dev/null +++ b/recipes-extended/libvirt/libvirt/libvirt_api_xml_path.patch | |||
| @@ -0,0 +1,89 @@ | |||
| 1 | Adding support for LIBVIRT_CFLAGS and LIBVIRT_LIBS | ||
| 2 | |||
| 3 | Signed-off-by: Amy Fong <amy.fong@windriver.com> | ||
| 4 | |||
| 5 | |||
| 6 | Adding a support for LIBVIRT_API_PATH evironment variable, which can | ||
| 7 | control where the script should look for the 'libvirt-api.xml' file. | ||
| 8 | This allows building libvirt-python against different libvirt than the | ||
| 9 | one installed in the system. This may be used for example in autotest | ||
| 10 | or by packagers without the need to install libvirt into the system. | ||
| 11 | |||
| 12 | Signed-off-by: Martin Kletzander <mkletzan redhat com> | ||
| 13 | --- | ||
| 14 | setup.py | 25 ++++++++++++++++++++++--- | ||
| 15 | 1 file changed, 22 insertions(+), 3 deletions(-) | ||
| 16 | |||
| 17 | Index: libvirt-python-1.2.1/setup.py | ||
| 18 | =================================================================== | ||
| 19 | --- libvirt-python-1.2.1.orig/setup.py | ||
| 20 | +++ libvirt-python-1.2.1/setup.py | ||
| 21 | @@ -30,18 +30,19 @@ | ||
| 22 | if pkgcfg is None: | ||
| 23 | raise Exception("pkg-config binary is required to compile libvirt-python") | ||
| 24 | |||
| 25 | -spawn([pkgcfg, | ||
| 26 | - "--print-errors", | ||
| 27 | - "--atleast-version=%s" % MIN_LIBVIRT, | ||
| 28 | - "libvirt"]) | ||
| 29 | +# spawn([pkgcfg, | ||
| 30 | +# "--print-errors", | ||
| 31 | +# "--atleast-version=%s" % MIN_LIBVIRT, | ||
| 32 | +# "libvirt"]) | ||
| 33 | |||
| 34 | have_libvirt_lxc=True | ||
| 35 | -try: | ||
| 36 | - spawn([pkgcfg, | ||
| 37 | - "--atleast-version=%s" % MIN_LIBVIRT_LXC, | ||
| 38 | - "libvirt"]) | ||
| 39 | -except DistutilsExecError: | ||
| 40 | - have_libvirt_lxc=False | ||
| 41 | +# try: | ||
| 42 | +# spawn([pkgcfg, | ||
| 43 | +# "--atleast-version=%s" % MIN_LIBVIRT_LXC, | ||
| 44 | +# "libvirt"]) | ||
| 45 | +# except DistutilsExecError: | ||
| 46 | +# have_libvirt_lxc=False | ||
| 47 | +have_libvirt_lxc=True | ||
| 48 | |||
| 49 | def get_pkgconfig_data(args, mod, required=True): | ||
| 50 | """Run pkg-config to and return content associated with it""" | ||
| 51 | @@ -63,7 +64,17 @@ | ||
| 52 | """Check with pkg-config that libvirt is present and extract | ||
| 53 | the API XML file paths we need from it""" | ||
| 54 | |||
| 55 | - libvirt_api = get_pkgconfig_data(["--variable", "libvirt_api"], "libvirt") | ||
| 56 | + libvirt_api = os.getenv("LIBVIRT_API_PATH") | ||
| 57 | + | ||
| 58 | + if libvirt_api: | ||
| 59 | + if not libvirt_api.endswith("-api.xml"): | ||
| 60 | + raise ValueError("Invalid path '%s' for API XML" % libvirt_api) | ||
| 61 | + if not os.path.exists(libvirt_api): | ||
| 62 | + raise ValueError("API XML '%s' does not exist, " | ||
| 63 | + "have you built libvirt?" % libvirt_api) | ||
| 64 | + else: | ||
| 65 | + libvirt_api = get_pkgconfig_data(["--variable", "libvirt_api"], | ||
| 66 | + "libvirt") | ||
| 67 | |||
| 68 | offset = libvirt_api.index("-api.xml") | ||
| 69 | libvirt_qemu_api = libvirt_api[0:offset] + "-qemu-api.xml" | ||
| 70 | @@ -73,8 +84,17 @@ | ||
| 71 | |||
| 72 | return (libvirt_api, libvirt_qemu_api, libvirt_lxc_api) | ||
| 73 | |||
| 74 | -ldflags = get_pkgconfig_data(["--libs-only-L"], "libvirt", False) | ||
| 75 | -cflags = get_pkgconfig_data(["--cflags"], "libvirt", False) | ||
| 76 | +libvirt_cflags = os.getenv("LIBVIRT_CFLAGS") | ||
| 77 | +if libvirt_cflags: | ||
| 78 | + cflags = libvirt_cflags | ||
| 79 | +else: | ||
| 80 | + cflags = get_pkgconfig_data(["--cflags"], "libvirt", False) | ||
| 81 | + | ||
| 82 | +libvirt_libs = os.getenv("LIBVIRT_LIBS") | ||
| 83 | +if libvirt_libs: | ||
| 84 | + ldflags = libvirt_libs | ||
| 85 | +else: | ||
| 86 | + ldflags = get_pkgconfig_data(["--libs-only-L"], "libvirt", False) | ||
| 87 | |||
| 88 | c_modules = [] | ||
| 89 | py_modules = [] | ||
diff --git a/recipes-extended/libvirt/libvirt_1.2.1.bb b/recipes-extended/libvirt/libvirt_1.2.1.bb index 4daddd36..912ca55a 100644 --- a/recipes-extended/libvirt/libvirt_1.2.1.bb +++ b/recipes-extended/libvirt/libvirt_1.2.1.bb | |||
| @@ -19,13 +19,13 @@ RDEPENDS_libvirt-libvirtd_append_x86 = " dmidecode" | |||
| 19 | #connman blocks the 53 port and libvirtd can't start its DNS service | 19 | #connman blocks the 53 port and libvirtd can't start its DNS service |
| 20 | RCONFLICTS_${PN}_libvirtd = "connman" | 20 | RCONFLICTS_${PN}_libvirtd = "connman" |
| 21 | 21 | ||
| 22 | SRC_URI = "http://libvirt.org/sources/libvirt-${PV}.tar.gz \ | 22 | SRC_URI = "http://libvirt.org/sources/libvirt-${PV}.tar.gz;name=libvirt \ |
| 23 | file://tools-add-libvirt-net-rpc-to-virt-host-validate-when.patch \ | 23 | file://tools-add-libvirt-net-rpc-to-virt-host-validate-when.patch \ |
| 24 | file://libvirtd.sh \ | 24 | file://libvirtd.sh \ |
| 25 | file://libvirtd.conf" | 25 | file://libvirtd.conf" |
| 26 | 26 | ||
| 27 | SRC_URI[md5sum] = "cce374220f67895afb6331bd2ddedbfd" | 27 | SRC_URI[libvirt.md5sum] = "cce374220f67895afb6331bd2ddedbfd" |
| 28 | SRC_URI[sha256sum] = "bc29b5751bf36753c17e2fdbb75e70c7b07df3d9527586d3426e90f5f4abb898" | 28 | SRC_URI[libvirt.sha256sum] = "bc29b5751bf36753c17e2fdbb75e70c7b07df3d9527586d3426e90f5f4abb898" |
| 29 | 29 | ||
| 30 | inherit autotools gettext update-rc.d pkgconfig | 30 | inherit autotools gettext update-rc.d pkgconfig |
| 31 | 31 | ||
