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

Bian Naimeng biannm at cn.fujitsu.com
Mon Jun 15 08:52:13 UTC 2015


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

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..4b351d9
--- /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 libtalloc 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 wafsamba
+
+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.8.4.2




More information about the Openembedded-devel mailing list