diff options
Diffstat (limited to 'meta-networking/recipes-support/libldb')
-rw-r--r-- | meta-networking/recipes-support/libldb/libldb/0001-do-not-import-target-module-while-cross-compile.patch | 10 | ||||
-rw-r--r-- | meta-networking/recipes-support/libldb/libldb/0002-ldb-Add-configure-options-for-packages.patch | 46 | ||||
-rw-r--r-- | meta-networking/recipes-support/libldb/libldb/0003-Fix-pyext_PATTERN-for-cross-compilation.patch | 59 | ||||
-rw-r--r-- | meta-networking/recipes-support/libldb/libldb/avoid-openldap-unless-wanted.patch (renamed from meta-networking/recipes-support/libldb/libldb/0003-avoid-openldap-unless-wanted.patch) | 9 | ||||
-rw-r--r-- | meta-networking/recipes-support/libldb/libldb/libldb-fix-musl-libc-conflict-type-error.patch | 45 | ||||
-rw-r--r-- | meta-networking/recipes-support/libldb/libldb/run-ptest | 17 | ||||
-rw-r--r-- | meta-networking/recipes-support/libldb/libldb_2.8.0.bb (renamed from meta-networking/recipes-support/libldb/libldb_2.3.0.bb) | 54 |
7 files changed, 141 insertions, 99 deletions
diff --git a/meta-networking/recipes-support/libldb/libldb/0001-do-not-import-target-module-while-cross-compile.patch b/meta-networking/recipes-support/libldb/libldb/0001-do-not-import-target-module-while-cross-compile.patch index 74f8d8ad0b..09c84b4405 100644 --- a/meta-networking/recipes-support/libldb/libldb/0001-do-not-import-target-module-while-cross-compile.patch +++ b/meta-networking/recipes-support/libldb/libldb/0001-do-not-import-target-module-while-cross-compile.patch @@ -1,4 +1,4 @@ -From 00500909ebb0f51dd3b4e90c665f07158e7fe255 Mon Sep 17 00:00:00 2001 +From 6a2f229e74804f70f4419b2a1e6843aab059e098 Mon Sep 17 00:00:00 2001 From: Changqing Li <changqing.li@windriver.com> Date: Tue, 25 Jun 2019 14:25:08 +0800 Subject: [PATCH] do not import target module while cross compile @@ -19,7 +19,7 @@ Signed-off-by: Yi Zhao <yi.zhao@windriver.com> 1 file changed, 19 insertions(+), 8 deletions(-) diff --git a/buildtools/wafsamba/samba_bundled.py b/buildtools/wafsamba/samba_bundled.py -index 5f080dd..cdc115e 100644 +index 2300565..26d9e8c 100644 --- a/buildtools/wafsamba/samba_bundled.py +++ b/buildtools/wafsamba/samba_bundled.py @@ -4,6 +4,7 @@ import sys @@ -28,9 +28,9 @@ index 5f080dd..cdc115e 100644 from wafsamba import samba_utils +import importlib.util, os - def PRIVATE_NAME(bld, name, private_extension, private_library): + def PRIVATE_NAME(bld, name): '''possibly rename a library to include a bundled extension''' -@@ -249,17 +250,27 @@ def CHECK_BUNDLED_SYSTEM_PYTHON(conf, libname, modulename, minversion='0.0.0'): +@@ -245,17 +246,27 @@ def CHECK_BUNDLED_SYSTEM_PYTHON(conf, libname, modulename, minversion='0.0.0'): # versions minversion = minimum_library_version(conf, libname, minversion) @@ -67,5 +67,5 @@ index 5f080dd..cdc115e 100644 Logs.error('ERROR: Python module %s of version %s not found, and bundling disabled' % (libname, minversion)) sys.exit(1) -- -2.17.1 +2.25.1 diff --git a/meta-networking/recipes-support/libldb/libldb/0002-ldb-Add-configure-options-for-packages.patch b/meta-networking/recipes-support/libldb/libldb/0002-ldb-Add-configure-options-for-packages.patch index a55d46bf75..15e093fd68 100644 --- a/meta-networking/recipes-support/libldb/libldb/0002-ldb-Add-configure-options-for-packages.patch +++ b/meta-networking/recipes-support/libldb/libldb/0002-ldb-Add-configure-options-for-packages.patch @@ -1,4 +1,4 @@ -From 100d16aaa6fe9a28a5ba77b2de2bde81a3fa3dac Mon Sep 17 00:00:00 2001 +From e949da7cb100c571631cd9bc7532e528c1f74820 Mon Sep 17 00:00:00 2001 From: Changqing Li <changqing.li@windriver.com> Date: Mon, 1 Jul 2019 16:14:16 +0800 Subject: [PATCH] ldb: Add configure options for packages @@ -6,7 +6,6 @@ Subject: [PATCH] ldb: Add configure options for packages Add configure options for the following packages: - acl - attr - - libaio - libbsd - libcap - valgrind @@ -19,17 +18,20 @@ upgrade to version 1.5.4 Signed-off-by: Changqing Li <changqing.li@windriver.com> Rebase to 2.3.0 + +Rebase to 2.8.0 +Remove libaio option Signed-off-by: Yi Zhao <yi.zhao@windriver.com> --- - lib/replace/wscript | 90 +++++++++++++++++++++++++++++++++++---------- - wscript | 8 ++++ - 2 files changed, 78 insertions(+), 20 deletions(-) + lib/replace/wscript | 80 +++++++++++++++++++++++++++++++++------------ + wscript | 8 +++++ + 2 files changed, 68 insertions(+), 20 deletions(-) diff --git a/lib/replace/wscript b/lib/replace/wscript -index 2c856b6..36b696d 100644 +index 37d7759..d0d6bb0 100644 --- a/lib/replace/wscript +++ b/lib/replace/wscript -@@ -25,6 +25,41 @@ def options(opt): +@@ -25,6 +25,34 @@ def options(opt): opt.PRIVATE_EXTENSION_DEFAULT('') opt.RECURSE('buildtools/wafsamba') @@ -47,13 +49,6 @@ index 2c856b6..36b696d 100644 + help=("Disable use of attr"), + action="store_false", dest='enable_attr', default=False) + -+ opt.add_option('--with-libaio', -+ help=("Enable use of libaio"), -+ action="store_true", dest='enable_libaio') -+ opt.add_option('--without-libaio', -+ help=("Disable use of libaio"), -+ action="store_false", dest='enable_libaio', default=False) -+ + opt.add_option('--with-libbsd', + help=("Enable use of libbsd"), + action="store_true", dest='enable_libbsd') @@ -71,7 +66,7 @@ index 2c856b6..36b696d 100644 @Utils.run_once def configure(conf): conf.RECURSE('buildtools/wafsamba') -@@ -35,12 +70,25 @@ def configure(conf): +@@ -38,12 +66,22 @@ def configure(conf): conf.DEFINE('HAVE_LIBREPLACE', 1) conf.DEFINE('LIBREPLACE_NETWORK_CHECKS', 1) @@ -92,28 +87,25 @@ index 2c856b6..36b696d 100644 + if Options.options.enable_attr: + conf.CHECK_HEADERS('attr/attributes.h attr/xattr.h') + -+ if Options.options.enable_libaio: -+ conf.CHECK_HEADERS('libaio.h') -+ + if Options.options.enable_libcap: + conf.CHECK_HEADERS('sys/capability.h') + - conf.CHECK_HEADERS('port.h') conf.CHECK_HEADERS('sys/fcntl.h sys/filio.h sys/filsys.h sys/fs/s5param.h') conf.CHECK_HEADERS('sys/id.h sys/ioctl.h sys/ipc.h sys/mman.h sys/mode.h sys/ndir.h sys/priv.h') -@@ -121,8 +169,9 @@ def configure(conf): + conf.CHECK_HEADERS('sys/resource.h sys/security.h sys/shm.h sys/statfs.h sys/statvfs.h sys/termio.h') +@@ -113,8 +151,9 @@ def configure(conf): conf.CHECK_HEADERS('sys/fileio.h sys/filesys.h sys/dustat.h sys/sysmacros.h') conf.CHECK_HEADERS('xfs/libxfs.h netgroup.h') - conf.CHECK_HEADERS('valgrind.h valgrind/valgrind.h') -- conf.CHECK_HEADERS('valgrind/memcheck.h valgrind/helgrind.h') +- conf.CHECK_HEADERS('valgrind/memcheck.h valgrind/helgrind.h valgrind/callgrind.h') + if Options.options.enable_valgrind: + conf.CHECK_HEADERS('valgrind.h valgrind/valgrind.h') -+ conf.CHECK_HEADERS('valgrind/memcheck.h valgrind/helgrind.h') ++ conf.CHECK_HEADERS('valgrind/memcheck.h valgrind/helgrind.h valgrind/callgrind.h') conf.CHECK_HEADERS('nss_common.h nsswitch.h ns_api.h') conf.CHECK_HEADERS('sys/extattr.h sys/ea.h sys/proplist.h sys/cdefs.h') conf.CHECK_HEADERS('utmp.h utmpx.h lastlog.h') -@@ -418,20 +467,21 @@ def configure(conf): +@@ -443,20 +482,21 @@ def configure(conf): strlcpy_in_bsd = False @@ -131,7 +123,7 @@ index 2c856b6..36b696d 100644 - - if not conf.CHECK_FUNCS('closefrom'): - conf.CHECK_FUNCS_IN('closefrom', 'bsd', headers='bsd/unistd.h') -+ if Options.options.enable_libbsd: ++ if Options.options.enable_libbsd: + # libbsd on some platforms provides strlcpy and strlcat + if not conf.CHECK_FUNCS('strlcpy strlcat'): + if conf.CHECK_FUNCS_IN('strlcpy strlcat', 'bsd', headers='bsd/string.h', @@ -150,10 +142,10 @@ index 2c856b6..36b696d 100644 conf.CHECK_CODE(''' struct ucred cred; diff --git a/wscript b/wscript -index bf6129b..722fdf6 100644 +index ed5d45f..6bb0b37 100644 --- a/wscript +++ b/wscript -@@ -39,6 +39,14 @@ def options(opt): +@@ -40,6 +40,14 @@ def options(opt): help='disable new LMDB backend for LDB', action='store_true', dest='without_ldb_lmdb', default=False) @@ -169,5 +161,5 @@ index bf6129b..722fdf6 100644 def configure(conf): conf.RECURSE('lib/tdb') -- -2.17.1 +2.25.1 diff --git a/meta-networking/recipes-support/libldb/libldb/0003-Fix-pyext_PATTERN-for-cross-compilation.patch b/meta-networking/recipes-support/libldb/libldb/0003-Fix-pyext_PATTERN-for-cross-compilation.patch new file mode 100644 index 0000000000..71934795b1 --- /dev/null +++ b/meta-networking/recipes-support/libldb/libldb/0003-Fix-pyext_PATTERN-for-cross-compilation.patch @@ -0,0 +1,59 @@ +From 989addc0ca7be8233b413d42704c5dc900e85d81 Mon Sep 17 00:00:00 2001 +From: Yi Zhao <yi.zhao@windriver.com> +Date: Wed, 24 Nov 2021 13:33:35 +0800 +Subject: [PATCH] Fix pyext_PATTERN for cross compilation + +The pyext_PATTERN will add native arch as suffix when cross compiling. +For example, on qemuarm64, it is expanded to: +pyext_PATTERN ='%s.cpython-310-x86_64-linux-gnu.so' +which will result in the incorrect library name. + +root@qemuarm64:~# find /usr/lib/ -name \*ldb\* +/usr/lib/pkgconfig/pyldb-util.cpython-310-x86_64-linux-gnu.pc +/usr/lib/pkgconfig/ldb.pc +/usr/lib/libpyldb-util.cpython-310-x86-64-linux-gnu.so.2.3.2 +/usr/lib/libldb.so.2.3.2 +/usr/lib/libpyldb-util.cpython-310-x86-64-linux-gnu.so.2 +/usr/lib/libldb.so +/usr/lib/libldb.so.2 +/usr/lib/python3.10/site-packages/_ldb_text.py +/usr/lib/python3.10/site-packages/ldb.cpython-310-x86_64-linux-gnu.so +/usr/lib/libpyldb-util.cpython-310-x86-64-linux-gnu.so + +Set pyext_PATTERN to '%s.so' to remove the suffix. +After the patch: +root@qemuarm64:~# find /usr/lib/ -name \*ldb\* +/usr/lib/pkgconfig/pyldb-util.pc +/usr/lib/pkgconfig/ldb.pc +/usr/lib/libpyldb-util.so.2.3.2 +/usr/lib/libldb.so.2.3.2 +/usr/lib/libpyldb-util.so.2 +/usr/lib/libldb.so +/usr/lib/libldb.so.2 +/usr/lib/python3.10/site-packages/_ldb_text.py +/usr/lib/python3.10/site-packages/ldb.so +/usr/lib/libpyldb-util.so + +Upstream-Status: Inappropriate [embedded specific] + +Signed-off-by: Yi Zhao <yi.zhao@windriver.com> +--- + third_party/waf/waflib/Tools/python.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/third_party/waf/waflib/Tools/python.py b/third_party/waf/waflib/Tools/python.py +index b2dd1a9..2bd3545 100644 +--- a/third_party/waf/waflib/Tools/python.py ++++ b/third_party/waf/waflib/Tools/python.py +@@ -339,7 +339,7 @@ def check_python_headers(conf, features='pyembed pyext'): + x = 'MACOSX_DEPLOYMENT_TARGET' + if dct[x]: + env[x] = conf.environ[x] = str(dct[x]) +- env.pyext_PATTERN = '%s' + (dct['EXT_SUFFIX'] or dct['SO']) # SO is deprecated in 3.5 and removed in 3.11 ++ env.pyext_PATTERN = '%s.so' + + + # Try to get pythonX.Y-config +-- +2.25.1 + diff --git a/meta-networking/recipes-support/libldb/libldb/0003-avoid-openldap-unless-wanted.patch b/meta-networking/recipes-support/libldb/libldb/avoid-openldap-unless-wanted.patch index dd1246538c..7e60b53051 100644 --- a/meta-networking/recipes-support/libldb/libldb/0003-avoid-openldap-unless-wanted.patch +++ b/meta-networking/recipes-support/libldb/libldb/avoid-openldap-unless-wanted.patch @@ -1,20 +1,21 @@ -From 1f24231095a59debcf25d0e3309dc5d1056a7fad Mon Sep 17 00:00:00 2001 +From 226b75a0e9654fb3c0435256af5fed0178dc0d69 Mon Sep 17 00:00:00 2001 From: Jens Rehsack <rehsack@gmail.com> Date: Thu, 19 Nov 2015 20:45:56 +0100 Subject: [PATCH] avoid openldap unless wanted Upstream-Status: Inappropriate [embedded specific] +Signed-off-by: Jens Rehsack <rehsack@gmail.com> Signed-off-by: Yi Zhao <yi.zhao@windriver.com> --- wscript | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/wscript b/wscript -index 722fdf6..22700d5 100644 +index 6bb0b37..8ee25b1 100644 --- a/wscript +++ b/wscript -@@ -153,9 +153,7 @@ def configure(conf): +@@ -154,9 +154,7 @@ def configure(conf): if conf.env.standalone_ldb: conf.CHECK_XSLTPROC_MANPAGES() @@ -26,5 +27,5 @@ index 722fdf6..22700d5 100644 # we don't want any libraries or modules to rely on runtime # resolution of symbols -- -2.17.1 +2.25.1 diff --git a/meta-networking/recipes-support/libldb/libldb/libldb-fix-musl-libc-conflict-type-error.patch b/meta-networking/recipes-support/libldb/libldb/libldb-fix-musl-libc-conflict-type-error.patch deleted file mode 100644 index 444fa3ff12..0000000000 --- a/meta-networking/recipes-support/libldb/libldb/libldb-fix-musl-libc-conflict-type-error.patch +++ /dev/null @@ -1,45 +0,0 @@ -From 5bd7b5d04435bd593349825973ce32290f5f604d Mon Sep 17 00:00:00 2001 -From: Changqing Li <changqing.li@windriver.com> -Date: Wed, 25 Jul 2018 09:55:25 +0800 -Subject: [PATCH] libldb: fix musl libc conflicting types error - -/third_party/cmocka/cmocka.h:126:28: error: conflicting types for 'uintptr_t' - typedef unsigned int uintptr_t; - ^~~~~~~~~ -use __DEFINED_uintptr_t in alltypes.h to check if uintptr already defined - -Upstream-Status: Pending - -Signed-off-by: Changqing Li <changqing.li@windriver.com> ---- - third_party/cmocka/cmocka.h | 7 +++---- - 1 file changed, 3 insertions(+), 4 deletions(-) - -diff --git a/third_party/cmocka/cmocka.h b/third_party/cmocka/cmocka.h -index 4fd82a9..5443a08 100644 ---- a/third_party/cmocka/cmocka.h -+++ b/third_party/cmocka/cmocka.h -@@ -110,7 +110,7 @@ typedef uintmax_t LargestIntegralType; - ((LargestIntegralType)(value)) - - /* Smallest integral type capable of holding a pointer. */ --#if !defined(_UINTPTR_T) && !defined(_UINTPTR_T_DEFINED) -+#if !defined(__DEFINED_uintptr_t) - # if defined(_WIN32) - /* WIN32 is an ILP32 platform */ - typedef unsigned int uintptr_t; -@@ -134,9 +134,8 @@ typedef uintmax_t LargestIntegralType; - # endif /* __WORDSIZE */ - # endif /* _WIN32 */ - --# define _UINTPTR_T --# define _UINTPTR_T_DEFINED --#endif /* !defined(_UINTPTR_T) || !defined(_UINTPTR_T_DEFINED) */ -+# define __DEFINED_uintptr_t -+#endif /* !defined(__DEFINED_uintptr_t) - - /* Perform an unsigned cast to uintptr_t. */ - #define cast_to_pointer_integral_type(value) \ --- -2.7.4 - diff --git a/meta-networking/recipes-support/libldb/libldb/run-ptest b/meta-networking/recipes-support/libldb/libldb/run-ptest new file mode 100644 index 0000000000..f0de0578c4 --- /dev/null +++ b/meta-networking/recipes-support/libldb/libldb/run-ptest @@ -0,0 +1,17 @@ +#!/bin/sh + +ptestdir=$(dirname "$(readlink -f "$0")") +cd "$ptestdir"/tests || exit + +tests="test_ldb_dn test_ldb_qsort" + +for f in $tests +do + if test -x ./"$f"; then + if ./"$f" > ./"$f".out 2> ./"$f".err; then + echo "PASS: $f" + else + echo "FAIL: $f" + fi + fi +done diff --git a/meta-networking/recipes-support/libldb/libldb_2.3.0.bb b/meta-networking/recipes-support/libldb/libldb_2.8.0.bb index 3731c260b6..bdd87993d7 100644 --- a/meta-networking/recipes-support/libldb/libldb_2.3.0.bb +++ b/meta-networking/recipes-support/libldb/libldb_2.8.0.bb @@ -1,15 +1,19 @@ SUMMARY = "Hierarchical, reference counted memory pool system with destructors" -HOMEPAGE = "http://ldb.samba.org" +HOMEPAGE = "https://ldb.samba.org" SECTION = "libs" -LICENSE = "LGPL-3.0+ & LGPL-2.1+ & GPL-3.0+" +LICENSE = "LGPL-3.0-or-later & LGPL-2.1-or-later & GPL-3.0-or-later" -DEPENDS += "libtdb libtalloc libtevent popt" -RDEPENDS_pyldb += "python3" +DEPENDS += "libtdb libtalloc libtevent popt cmocka" +RDEPENDS:pyldb += "python3" + +export PYTHONHASHSEED="1" +export PYTHONARCHDIR = "${PYTHON_SITEPACKAGES_DIR}" SRC_URI = "http://samba.org/ftp/ldb/ldb-${PV}.tar.gz \ file://0001-do-not-import-target-module-while-cross-compile.patch \ file://0002-ldb-Add-configure-options-for-packages.patch \ - file://libldb-fix-musl-libc-conflict-type-error.patch \ + file://0003-Fix-pyext_PATTERN-for-cross-compilation.patch \ + file://run-ptest \ " PACKAGECONFIG ??= "\ @@ -19,32 +23,30 @@ PACKAGECONFIG ??= "\ PACKAGECONFIG[acl] = "--with-acl,--without-acl,acl" PACKAGECONFIG[attr] = "--with-attr,--without-attr,attr" PACKAGECONFIG[ldap] = ",,openldap" -PACKAGECONFIG[libaio] = "--with-libaio,--without-libaio,libaio" PACKAGECONFIG[libbsd] = "--with-libbsd,--without-libbsd,libbsd" PACKAGECONFIG[libcap] = "--with-libcap,--without-libcap,libcap" PACKAGECONFIG[valgrind] = "--with-valgrind,--without-valgrind,valgrind" PACKAGECONFIG[lmdb] = ",--without-ldb-lmdb,lmdb," -SRC_URI += "${@bb.utils.contains('PACKAGECONFIG', 'ldap', '', 'file://0003-avoid-openldap-unless-wanted.patch', d)}" +SRC_URI += "${@bb.utils.contains('PACKAGECONFIG', 'ldap', '', 'file://avoid-openldap-unless-wanted.patch', d)}" LIC_FILES_CHKSUM = "file://pyldb.h;endline=24;md5=dfbd238cecad76957f7f860fbe9adade \ file://man/ldb.3.xml;beginline=261;endline=262;md5=137f9fd61040c1505d1aa1019663fd08 \ file://tools/ldbdump.c;endline=19;md5=a7d4fc5d1f75676b49df491575a86a42" -SRC_URI[md5sum] = "fe4b1f17f77e2ea52b4e1320d927844c" -SRC_URI[sha256sum] = "a4d308b3d0922ef01f3661a69ebc373e772374defa76cf0979ad21b21f91922d" +SRC_URI[sha256sum] = "358dca10fcd27207ac857a0d7f435a46dbc6cd1f7c10dbb840c1931bf1965f08" -inherit waf-samba +inherit pkgconfig waf-samba ptest S = "${WORKDIR}/ldb-${PV}" -#cross_compile cannot use preforked process, since fork process earlier than point subproces.popen -#to cross Popen +# Cross_compile cannot use preforked process, since fork process earlier than point subproces.popen +# to cross Popen export WAF_NO_PREFORK="yes" EXTRA_OECONF += "--disable-rpath \ --disable-rpath-install \ - --bundled-libraries=cmocka \ + --bundled-libraries=NONE \ --builtin-libraries=replace \ --with-modulesdir=${libdir}/ldb/modules \ --with-privatelibdir=${libdir}/ldb \ @@ -55,15 +57,31 @@ PACKAGES =+ "pyldb pyldb-dbg pyldb-dev" NOAUTOPACKAGEDEBUG = "1" -FILES_${PN} += "${libdir}/ldb/*" -FILES_${PN}-dbg += "${bindir}/.debug/* \ +FILES:${PN} += "${libdir}/ldb/*" +FILES:${PN}-dbg += "${bindir}/.debug/* \ ${libdir}/.debug/* \ ${libdir}/ldb/.debug/* \ ${libdir}/ldb/modules/ldb/.debug/*" -FILES_pyldb = "${libdir}/python${PYTHON_BASEVERSION}/site-packages/* \ +FILES:pyldb = "${PYTHON_SITEPACKAGES_DIR}/* \ ${libdir}/libpyldb-util.*.so.* \ " -FILES_pyldb-dbg = "${libdir}/python${PYTHON_BASEVERSION}/site-packages/.debug \ +FILES:pyldb-dbg = "${PYTHON_SITEPACKAGES_DIR}/.debug \ ${libdir}/.debug/libpyldb-util.*.so.*" -FILES_pyldb-dev = "${libdir}/libpyldb-util.*.so" +FILES:pyldb-dev = "${libdir}/libpyldb-util.*.so" + +# Prevent third_party/waf/waflib/Configure.py checking host's path which is +# incorrect for cross building. +export PREFIX = "/" +export LIBDIR = "${libdir}" +export BINDIR = "${bindir}" + +do_configure:prepend() { + # For a clean rebuild + rm -fr bin/ +} + +do_install_ptest() { + install -d ${D}${PTEST_PATH}/tests + install -m 0755 ${B}/bin/test_ldb_* ${D}${PTEST_PATH}/tests/ +} |