[oe] [meta-oe][PATCH v2 3/7] libldb: add new recipe

Martin Jansa martin.jansa at gmail.com
Fri Jun 19 15:56:37 UTC 2015


On Wed, Jun 17, 2015 at 03:49:09PM +0800, Bian Naimeng wrote:
> libldb is required by samba4
> 
> Signed-off-by: Bian Naimeng <biannm at cn.fujitsu.com>
> ---
>  .../do-not-import-target-module-in-configure.patch | 32 +++++++++++++++
>  meta-oe/recipes-support/libldb/libldb_1.1.17.bb    | 45 ++++++++++++++++++++++
>  2 files changed, 77 insertions(+)
>  create mode 100644 meta-oe/recipes-support/libldb/libldb/do-not-import-target-module-in-configure.patch
>  create mode 100644 meta-oe/recipes-support/libldb/libldb_1.1.17.bb

Fails to build in bitbake world:

| Checking for system tdb >= 1.2.13                                                 : yes
| ERROR: Python module pytdb of version 1.2.13 not found, and bundling disabled
| WARNING: exit code 1 from a shell command.
| ERROR: Function failed: do_configure (log file is located at /home/jenkins/oe/world/shr-core/tmp-glibc/work/core2-64-oe-linux/libldb/1.1.17-r0/temp/log.do_configure.22697)
NOTE: recipe libldb-1.1.17-r0: task do_configure: Failed
ERROR: Task 25505 (/home/jenkins/oe/world/shr-core/meta-openembedded/meta-oe/recipes-support/libldb/libldb_1.1.17.bb, do_configure) failed with exit code '1'

> diff --git a/meta-oe/recipes-support/libldb/libldb/do-not-import-target-module-in-configure.patch b/meta-oe/recipes-support/libldb/libldb/do-not-import-target-module-in-configure.patch
> new file mode 100644
> index 0000000..b4d522a
> --- /dev/null
> +++ b/meta-oe/recipes-support/libldb/libldb/do-not-import-target-module-in-configure.patch
> @@ -0,0 +1,32 @@
> +Some module can be loaded while cross compile, we jst check whether the module exist
> +
> +Signed-off-by: Bian Naimeng <biannm at cn.fujitsu.com>
> +
> +--- ldb-1.1.17.orig/buildtools/wafsamba/samba_bundled.py	2014-05-05 17:00:41.000000000 +0900
> ++++ ldb-1.1.17/buildtools/wafsamba/samba_bundled.py	2015-06-15 10:09:50.210000217 +0900
> +@@ -1,7 +1,7 @@
> + # functions to support bundled libraries
> + 
> + from Configure import conf
> +-import sys, Logs
> ++import sys, Logs, imp
> + from samba_utils import *
> + 
> + def PRIVATE_NAME(bld, name, private_extension, private_library):
> +@@ -222,6 +222,16 @@ def CHECK_BUNDLED_SYSTEM_PYTHON(conf, li
> +         m = __import__(modulename)
> +     except ImportError:
> +         found = False
> ++
> ++        build_arch = os.environ["BUILD_ARCH"]
> ++        host_arch = os.environ["HOST_ARCH"]
> ++        if build_arch != host_arch:
> ++            # Some modules maybe can not be imported while cross compile
> ++            # We just check whether the module exist
> ++            stuff = imp.find_module(modulename, [os.environ["PYTHONPATH"]])
> ++            if stuff != None:
> ++                Logs.warn('Cross module[%s] has been found, but can not be loaded.' % (stuff[1]))
> ++                found = True
> +     else:
> +         try:
> +             version = m.__version__
> diff --git a/meta-oe/recipes-support/libldb/libldb_1.1.17.bb b/meta-oe/recipes-support/libldb/libldb_1.1.17.bb
> new file mode 100644
> index 0000000..17607f7
> --- /dev/null
> +++ b/meta-oe/recipes-support/libldb/libldb_1.1.17.bb
> @@ -0,0 +1,45 @@
> +SUMMARY = "Hierarchical, reference counted memory pool system with destructors"
> +HOMEPAGE = "http://ldb.samba.org"
> +SECTION = "libs"
> +LICENSE = "LGPL-3.0+ & LGPL-2.1+ & GPL-3.0+"
> +
> +DEPENDS += "libtdb talloc libtevent libtdb"
> +RDEPENDS_${PN} += "libtevent popt libtalloc"
> +RDEPENDS_pyldb += "python libtdb libtalloc"
> +
> +SRC_URI = "http://samba.org/ftp/ldb/ldb-${PV}.tar.gz \
> +           file://do-not-import-target-module-in-configure.patch"
> +
> +LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/LGPL-3.0;md5=bfccfe952269fff2b407dd11f2f3083b \
> +                    file://${COREBASE}/meta/files/common-licenses/LGPL-2.1;md5=1a6d268fd218675ffea8be556788b780 \
> +                    file://${COREBASE}/meta/files/common-licenses/GPL-3.0;md5=c79ff39f19dfec6d293b95dea7b07891"
> +
> +SRC_URI[md5sum] = "7c2ab4e3f2a4186493aa06eabbc61cc0"
> +SRC_URI[sha256sum] = "b9a312aad19e9463716d257d8f2529fd7fc1a5ef24f6dcdc0c4a1930d7bdb6e6"
> +
> +inherit waf-samba
> +
> +S = "${WORKDIR}/ldb-${PV}"
> +
> +EXTRA_OECONF += "--disable-rpath \
> +                 --disable-rpath-install \
> +                 --bundled-libraries=NONE \
> +                 --builtin-libraries=replace \
> +                 --with-modulesdir=${libdir}/ldb/modules \
> +                 --with-privatelibdir=${libdir}/ldb \
> +                 --with-libiconv=${STAGING_DIR_HOST}${prefix}\
> +                "
> +
> +PACKAGES += "pyldb pyldb-dbg pyldb-dev"
> +
> +FILES_${PN} += "${libdir}/ldb/*"
> +FILES_${PN}-dbg += "${libdir}/ldb/.debug/* \
> +                    ${libdir}/ldb/modules/ldb/.debug/*"
> +
> +FILES_pyldb = "${libdir}/python${PYTHON_BASEVERSION}/site-packages/* \
> +               ${libdir}/libpyldb-util.so.1 \
> +               ${libdir}/libpyldb-util.so.1.1.17 \
> +              "
> +FILES_pyldb-dbg = "${libdir}/python${PYTHON_BASEVERSION}/site-packages/.debug \
> +                   ${libdir}/.debug/libpyldb-util.so.1.1.17"
> +FILES_pyldb-dev = "${libdir}/libpyldb-util.so"
> -- 
> 1.9.1
> 
> -- 
> _______________________________________________
> Openembedded-devel mailing list
> Openembedded-devel at lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-devel

-- 
Martin 'JaMa' Jansa     jabber: Martin.Jansa at gmail.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 181 bytes
Desc: Digital signature
URL: <http://lists.openembedded.org/pipermail/openembedded-devel/attachments/20150619/4d6e7088/attachment-0002.sig>


More information about the Openembedded-devel mailing list