summaryrefslogtreecommitdiffstats
path: root/meta-oe
diff options
context:
space:
mode:
authorBian Naimeng <biannm@cn.fujitsu.com>2015-07-17 11:58:49 +0800
committerMartin Jansa <Martin.Jansa@gmail.com>2015-08-24 14:01:38 +0200
commit772cdf8ef08ed7e1c56313575032702ce152ce2f (patch)
tree638f042568494d649420d28b66115293f31ccf2a /meta-oe
parent3a22c67fe39dcb63561881d7b190660d7d8b6644 (diff)
downloadmeta-openembedded-772cdf8ef08ed7e1c56313575032702ce152ce2f.tar.gz
libldb: add new recipe
libldb is required by samba4 Signed-off-by: Bian Naimeng <biannm@cn.fujitsu.com>
Diffstat (limited to 'meta-oe')
-rwxr-xr-xmeta-oe/recipes-support/libldb/libldb/do-not-import-target-module-while-cross-compile.patch57
-rw-r--r--meta-oe/recipes-support/libldb/libldb_1.1.17.bb46
2 files changed, 103 insertions, 0 deletions
diff --git a/meta-oe/recipes-support/libldb/libldb/do-not-import-target-module-while-cross-compile.patch b/meta-oe/recipes-support/libldb/libldb/do-not-import-target-module-while-cross-compile.patch
new file mode 100755
index 000000000..2425a55e3
--- /dev/null
+++ b/meta-oe/recipes-support/libldb/libldb/do-not-import-target-module-while-cross-compile.patch
@@ -0,0 +1,57 @@
1Some modules such as dynamic library maybe cann't be imported while cross compile,
2we just check whether does the module exist.
3
4Signed-off-by: Bian Naimeng <biannm@cn.fujitsu.com>
5
6--- ldb-1.1.17.orig/buildtools/wafsamba/samba_bundled.py 2015-07-16 16:42:12.265127110 +0800
7+++ ldb-1.1.17/buildtools/wafsamba/samba_bundled.py 2015-07-16 16:45:25.717119550 +0800
8@@ -1,7 +1,7 @@
9 # functions to support bundled libraries
10
11 from Configure import conf
12-import sys, Logs
13+import sys, Logs, imp
14 from samba_utils import *
15
16 def PRIVATE_NAME(bld, name, private_extension, private_library):
17@@ -218,17 +218,32 @@ def CHECK_BUNDLED_SYSTEM_PYTHON(conf, li
18 # versions
19 minversion = minimum_library_version(conf, libname, minversion)
20
21- try:
22- m = __import__(modulename)
23- except ImportError:
24- found = False
25- else:
26+ # Find module in PYTHONPATH
27+ stuff = imp.find_module(modulename, [os.environ["PYTHONPATH"]])
28+ if stuff:
29 try:
30- version = m.__version__
31- except AttributeError:
32+ m = imp.load_module(modulename, stuff[0], stuff[1], stuff[2])
33+ except ImportError:
34 found = False
35+
36+ if conf.env.CROSS_COMPILE:
37+ # Some modules such as dynamic library maybe cann't be imported
38+ # while cross compile, we just check whether the module exist
39+ Logs.warn('Cross module[%s] has been found, but can not be loaded.' % (stuff[1]))
40+ found = True
41 else:
42- found = tuplize_version(version) >= tuplize_version(minversion)
43+ try:
44+ version = m.__version__
45+ except AttributeError:
46+ found = False
47+ else:
48+ found = tuplize_version(version) >= tuplize_version(minversion)
49+ finally:
50+ if stuff[0]:
51+ stuff[0].close()
52+ else:
53+ found = False
54+
55 if not found and not conf.LIB_MAY_BE_BUNDLED(libname):
56 Logs.error('ERROR: Python module %s of version %s not found, and bundling disabled' % (libname, minversion))
57 sys.exit(1)
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 000000000..44f061ab6
--- /dev/null
+++ b/meta-oe/recipes-support/libldb/libldb_1.1.17.bb
@@ -0,0 +1,46 @@
1SUMMARY = "Hierarchical, reference counted memory pool system with destructors"
2HOMEPAGE = "http://ldb.samba.org"
3SECTION = "libs"
4LICENSE = "LGPL-3.0+ & LGPL-2.1+ & GPL-3.0+"
5
6DEPENDS += "libtdb talloc libtevent popt"
7RDEPENDS_${PN} += "libtevent popt libtalloc openldap"
8RDEPENDS_pyldb += "python libtdb libtalloc"
9
10SRC_URI = "http://samba.org/ftp/ldb/ldb-${PV}.tar.gz \
11 file://do-not-import-target-module-while-cross-compile.patch \
12 "
13
14LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/LGPL-3.0;md5=bfccfe952269fff2b407dd11f2f3083b \
15 file://${COREBASE}/meta/files/common-licenses/LGPL-2.1;md5=1a6d268fd218675ffea8be556788b780 \
16 file://${COREBASE}/meta/files/common-licenses/GPL-3.0;md5=c79ff39f19dfec6d293b95dea7b07891"
17
18SRC_URI[md5sum] = "7c2ab4e3f2a4186493aa06eabbc61cc0"
19SRC_URI[sha256sum] = "b9a312aad19e9463716d257d8f2529fd7fc1a5ef24f6dcdc0c4a1930d7bdb6e6"
20
21inherit waf-samba
22
23S = "${WORKDIR}/ldb-${PV}"
24
25EXTRA_OECONF += "--disable-rpath \
26 --disable-rpath-install \
27 --bundled-libraries=NONE \
28 --builtin-libraries=replace \
29 --with-modulesdir=${libdir}/ldb/modules \
30 --with-privatelibdir=${libdir}/ldb \
31 --with-libiconv=${STAGING_DIR_HOST}${prefix}\
32 "
33
34PACKAGES += "pyldb pyldb-dbg pyldb-dev"
35
36FILES_${PN} += "${libdir}/ldb/*"
37FILES_${PN}-dbg += "${libdir}/ldb/.debug/* \
38 ${libdir}/ldb/modules/ldb/.debug/*"
39
40FILES_pyldb = "${libdir}/python${PYTHON_BASEVERSION}/site-packages/* \
41 ${libdir}/libpyldb-util.so.1 \
42 ${libdir}/libpyldb-util.so.1.1.17 \
43 "
44FILES_pyldb-dbg = "${libdir}/python${PYTHON_BASEVERSION}/site-packages/.debug \
45 ${libdir}/.debug/libpyldb-util.so.1.1.17"
46FILES_pyldb-dev = "${libdir}/libpyldb-util.so"