diff options
| author | Yi Zhao <yi.zhao@windriver.com> | 2023-10-12 19:56:14 +0800 |
|---|---|---|
| committer | Armin Kuster <akuster808@gmail.com> | 2023-10-17 08:23:02 -0400 |
| commit | 3426b62b54385b9696dec1c8bc329edea887fa49 (patch) | |
| tree | 5559732133beba112cfbd7bb4a9f400f49eea57b | |
| parent | 872c600a9ff56e1db06c6f5e6398c691baf32ba5 (diff) | |
| download | meta-openembedded-3426b62b54385b9696dec1c8bc329edea887fa49.tar.gz | |
libldb: add ptest
* use external cmocka instead of bundled cmocka
* add run-ptest script
Ptest results:
$ ptest-runner libldb
START: ptest-runner
2023-10-12T11:49
BEGIN: /usr/lib/libldb/ptest
PASS: test_ldb_dn
PASS: test_ldb_qsort
DURATION: 0
END: /usr/lib/libldb/ptest
2023-10-12T11:49
STOP: ptest-runner
TOTAL: 1 FAIL: 0
Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
(cherry picked from commit 4a07ee78c57950aaf2e0858c159ffa6454f7f28a)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
3 files changed, 26 insertions, 50 deletions
diff --git a/meta-networking/recipes-support/libldb/libldb/cmocka-fix-musl-libc-conflicting-types-error.patch b/meta-networking/recipes-support/libldb/libldb/cmocka-fix-musl-libc-conflicting-types-error.patch deleted file mode 100644 index 8e756d8d3a..0000000000 --- a/meta-networking/recipes-support/libldb/libldb/cmocka-fix-musl-libc-conflicting-types-error.patch +++ /dev/null | |||
| @@ -1,45 +0,0 @@ | |||
| 1 | From a37eb0a46669592e32ed4e004abb2698ee4f90c5 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Changqing Li <changqing.li@windriver.com> | ||
| 3 | Date: Wed, 25 Jul 2018 09:55:25 +0800 | ||
| 4 | Subject: [PATCH] cmocka: fix musl libc conflicting types error | ||
| 5 | |||
| 6 | /third_party/cmocka/cmocka.h:126:28: error: conflicting types for 'uintptr_t' | ||
| 7 | typedef unsigned int uintptr_t; | ||
| 8 | ^~~~~~~~~ | ||
| 9 | use __DEFINED_uintptr_t in alltypes.h to check if uintptr already defined | ||
| 10 | |||
| 11 | Upstream-Status: Pending | ||
| 12 | |||
| 13 | Signed-off-by: Changqing Li <changqing.li@windriver.com> | ||
| 14 | --- | ||
| 15 | third_party/cmocka/cmocka.h | 7 +++---- | ||
| 16 | 1 file changed, 3 insertions(+), 4 deletions(-) | ||
| 17 | |||
| 18 | diff --git a/third_party/cmocka/cmocka.h b/third_party/cmocka/cmocka.h | ||
| 19 | index e6861c8..238201d 100644 | ||
| 20 | --- a/third_party/cmocka/cmocka.h | ||
| 21 | +++ b/third_party/cmocka/cmocka.h | ||
| 22 | @@ -111,7 +111,7 @@ typedef uintmax_t LargestIntegralType; | ||
| 23 | ((LargestIntegralType)(value)) | ||
| 24 | |||
| 25 | /* Smallest integral type capable of holding a pointer. */ | ||
| 26 | -#if !defined(_UINTPTR_T) && !defined(_UINTPTR_T_DEFINED) | ||
| 27 | +#if !defined(__DEFINED_uintptr_t) | ||
| 28 | # if defined(_WIN32) | ||
| 29 | /* WIN32 is an ILP32 platform */ | ||
| 30 | typedef unsigned int uintptr_t; | ||
| 31 | @@ -135,9 +135,8 @@ typedef uintmax_t LargestIntegralType; | ||
| 32 | # endif /* __WORDSIZE */ | ||
| 33 | # endif /* _WIN32 */ | ||
| 34 | |||
| 35 | -# define _UINTPTR_T | ||
| 36 | -# define _UINTPTR_T_DEFINED | ||
| 37 | -#endif /* !defined(_UINTPTR_T) || !defined(_UINTPTR_T_DEFINED) */ | ||
| 38 | +# define __DEFINED_uintptr_t | ||
| 39 | +#endif /* !defined(__DEFINED_uintptr_t) */ | ||
| 40 | |||
| 41 | /* Perform an unsigned cast to uintptr_t. */ | ||
| 42 | #define cast_to_pointer_integral_type(value) \ | ||
| 43 | -- | ||
| 44 | 2.25.1 | ||
| 45 | |||
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 @@ | |||
| 1 | #!/bin/sh | ||
| 2 | |||
| 3 | ptestdir=$(dirname "$(readlink -f "$0")") | ||
| 4 | cd "$ptestdir"/tests || exit | ||
| 5 | |||
| 6 | tests="test_ldb_dn test_ldb_qsort" | ||
| 7 | |||
| 8 | for f in $tests | ||
| 9 | do | ||
| 10 | if test -x ./"$f"; then | ||
| 11 | if ./"$f" > ./"$f".out 2> ./"$f".err; then | ||
| 12 | echo "PASS: $f" | ||
| 13 | else | ||
| 14 | echo "FAIL: $f" | ||
| 15 | fi | ||
| 16 | fi | ||
| 17 | done | ||
diff --git a/meta-networking/recipes-support/libldb/libldb_2.7.2.bb b/meta-networking/recipes-support/libldb/libldb_2.7.2.bb index daf0f73b89..c4b7602bf8 100644 --- a/meta-networking/recipes-support/libldb/libldb_2.7.2.bb +++ b/meta-networking/recipes-support/libldb/libldb_2.7.2.bb | |||
| @@ -3,7 +3,7 @@ HOMEPAGE = "https://ldb.samba.org" | |||
| 3 | SECTION = "libs" | 3 | SECTION = "libs" |
| 4 | LICENSE = "LGPL-3.0-or-later & LGPL-2.1-or-later & GPL-3.0-or-later" | 4 | LICENSE = "LGPL-3.0-or-later & LGPL-2.1-or-later & GPL-3.0-or-later" |
| 5 | 5 | ||
| 6 | DEPENDS += "libtdb libtalloc libtevent popt" | 6 | DEPENDS += "libtdb libtalloc libtevent popt cmocka" |
| 7 | RDEPENDS:pyldb += "python3" | 7 | RDEPENDS:pyldb += "python3" |
| 8 | 8 | ||
| 9 | export PYTHONHASHSEED="1" | 9 | export PYTHONHASHSEED="1" |
| @@ -12,10 +12,9 @@ SRC_URI = "http://samba.org/ftp/ldb/ldb-${PV}.tar.gz \ | |||
| 12 | file://0001-do-not-import-target-module-while-cross-compile.patch \ | 12 | file://0001-do-not-import-target-module-while-cross-compile.patch \ |
| 13 | file://0002-ldb-Add-configure-options-for-packages.patch \ | 13 | file://0002-ldb-Add-configure-options-for-packages.patch \ |
| 14 | file://0003-Fix-pyext_PATTERN-for-cross-compilation.patch \ | 14 | file://0003-Fix-pyext_PATTERN-for-cross-compilation.patch \ |
| 15 | file://run-ptest \ | ||
| 15 | " | 16 | " |
| 16 | 17 | ||
| 17 | SRC_URI:append:libc-musl = " file://cmocka-fix-musl-libc-conflicting-types-error.patch" | ||
| 18 | |||
| 19 | PACKAGECONFIG ??= "\ | 18 | PACKAGECONFIG ??= "\ |
| 20 | ${@bb.utils.filter('DISTRO_FEATURES', 'acl', d)} \ | 19 | ${@bb.utils.filter('DISTRO_FEATURES', 'acl', d)} \ |
| 21 | ${@bb.utils.contains('DISTRO_FEATURES', 'xattr', 'attr', '', d)} \ | 20 | ${@bb.utils.contains('DISTRO_FEATURES', 'xattr', 'attr', '', d)} \ |
| @@ -37,7 +36,7 @@ LIC_FILES_CHKSUM = "file://pyldb.h;endline=24;md5=dfbd238cecad76957f7f860fbe9ada | |||
| 37 | 36 | ||
| 38 | SRC_URI[sha256sum] = "26ee72d647854e662d99643eb2b2d341655abf31f4990838d6650fb5cf9209c8" | 37 | SRC_URI[sha256sum] = "26ee72d647854e662d99643eb2b2d341655abf31f4990838d6650fb5cf9209c8" |
| 39 | 38 | ||
| 40 | inherit pkgconfig waf-samba | 39 | inherit pkgconfig waf-samba ptest |
| 41 | 40 | ||
| 42 | S = "${WORKDIR}/ldb-${PV}" | 41 | S = "${WORKDIR}/ldb-${PV}" |
| 43 | 42 | ||
| @@ -47,7 +46,7 @@ export WAF_NO_PREFORK="yes" | |||
| 47 | 46 | ||
| 48 | EXTRA_OECONF += "--disable-rpath \ | 47 | EXTRA_OECONF += "--disable-rpath \ |
| 49 | --disable-rpath-install \ | 48 | --disable-rpath-install \ |
| 50 | --bundled-libraries=cmocka \ | 49 | --bundled-libraries=NONE \ |
| 51 | --builtin-libraries=replace \ | 50 | --builtin-libraries=replace \ |
| 52 | --with-modulesdir=${libdir}/ldb/modules \ | 51 | --with-modulesdir=${libdir}/ldb/modules \ |
| 53 | --with-privatelibdir=${libdir}/ldb \ | 52 | --with-privatelibdir=${libdir}/ldb \ |
| @@ -81,3 +80,8 @@ do_configure:prepend() { | |||
| 81 | # For a clean rebuild | 80 | # For a clean rebuild |
| 82 | rm -fr bin/ | 81 | rm -fr bin/ |
| 83 | } | 82 | } |
| 83 | |||
| 84 | do_install_ptest() { | ||
| 85 | install -d ${D}${PTEST_PATH}/tests | ||
| 86 | install -m 0755 ${B}/bin/test_ldb_* ${D}${PTEST_PATH}/tests/ | ||
| 87 | } | ||
