From de284c467a99fa17b98531206b0dc51a4401de64 Mon Sep 17 00:00:00 2001 From: Ross Burton Date: Fri, 26 Aug 2022 15:23:37 +0100 Subject: libgcrypt: rewrite ptest Instead of installing pieces of the build system, we can install the test driver (which can also be used to list the files needed) and run the tests directly. (From OE-Core rev: 5e07e6c376cf46d2788dcef53e9feba890c0236d) Signed-off-by: Ross Burton Signed-off-by: Luca Ceresoli Signed-off-by: Richard Purdie --- .../libgcrypt/files/no-native-gpg-error.patch | 18 ++++++++++++++++++ meta/recipes-support/libgcrypt/files/run-ptest | 8 +++++++- meta/recipes-support/libgcrypt/libgcrypt_1.10.1.bb | 19 ++++--------------- 3 files changed, 29 insertions(+), 16 deletions(-) create mode 100644 meta/recipes-support/libgcrypt/files/no-native-gpg-error.patch diff --git a/meta/recipes-support/libgcrypt/files/no-native-gpg-error.patch b/meta/recipes-support/libgcrypt/files/no-native-gpg-error.patch new file mode 100644 index 0000000000..b9a607863d --- /dev/null +++ b/meta/recipes-support/libgcrypt/files/no-native-gpg-error.patch @@ -0,0 +1,18 @@ +Don't depend on a native libgpg-error to build the test driver, as it's +an optional dependency for some C annotations. + +Upstream-Status: Inappropriate +Signed-off-by: Ross Burton + +diff --git a/tests/testdrv.c b/tests/testdrv.c +index 0ccde326..6d6abd57 100644 +--- a/tests/testdrv.c ++++ b/tests/testdrv.c +@@ -32,7 +32,6 @@ + # include + # include + #endif +-#include /* For some macros. */ + + #include "stopwatch.h" + diff --git a/meta/recipes-support/libgcrypt/files/run-ptest b/meta/recipes-support/libgcrypt/files/run-ptest index 4818a061b4..c349ae1944 100644 --- a/meta/recipes-support/libgcrypt/files/run-ptest +++ b/meta/recipes-support/libgcrypt/files/run-ptest @@ -1,3 +1,9 @@ #!/bin/sh -make -C build/tests runtest-TESTS +# Run the tests in regression mode so they are quicker +export GCRYPT_IN_REGRESSION_TEST=1 +# The 'random' test invokes itself, so we need to be sure that the test +# directory is on PATH. +export PATH=$PATH:. + +./testdrv --verbose diff --git a/meta/recipes-support/libgcrypt/libgcrypt_1.10.1.bb b/meta/recipes-support/libgcrypt/libgcrypt_1.10.1.bb index 5047c9075f..b0d88de3aa 100644 --- a/meta/recipes-support/libgcrypt/libgcrypt_1.10.1.bb +++ b/meta/recipes-support/libgcrypt/libgcrypt_1.10.1.bb @@ -17,13 +17,13 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \ " DEPENDS = "libgpg-error" -RDEPENDS:${PN}-ptest = "bash make" UPSTREAM_CHECK_URI = "https://gnupg.org/download/index.html" SRC_URI = "${GNUPG_MIRROR}/libgcrypt/libgcrypt-${PV}.tar.bz2 \ file://0001-libgcrypt-fix-m4-file-for-oe-core.patch \ file://0002-libgcrypt-fix-building-error-with-O2-in-sysroot-path.patch \ file://0004-tests-Makefile.am-fix-undefined-reference-to-pthread.patch \ + file://no-native-gpg-error.patch \ file://run-ptest \ " SRC_URI[sha256sum] = "ef14ae546b0084cd84259f61a55e07a38c3b53afc0f546bffcef2f01baffe9de" @@ -38,8 +38,6 @@ inherit autotools texinfo binconfig-disabled pkgconfig ptest EXTRA_OECONF = "--disable-asm" EXTRA_OEMAKE:class-target = "LIBTOOLFLAGS='--tag=CC'" -PRIVATE_LIBS:${PN}-ptest:append = " libgcrypt.so.20" - PACKAGECONFIG ??= "capabilities" PACKAGECONFIG[capabilities] = "--with-capabilities,--without-capabilities,libcap" @@ -49,18 +47,9 @@ do_configure:prepend () { } do_install_ptest() { - cp -r --preserve=mode,links -v ${S} ${D}${PTEST_PATH} - cp -r --preserve=mode,links -v ${B} ${D}${PTEST_PATH} - rm ${D}${PTEST_PATH}/build/cipher/gost-s-box - rm ${D}${PTEST_PATH}/build/doc/yat2m - rm ${D}${PTEST_PATH}/build/libtool - rm ${D}${PTEST_PATH}/build/config.status - rm ${D}${PTEST_PATH}/build/config.log - rm ${D}${PTEST_PATH}/build/src/mpicalc - rm ${D}${PTEST_PATH}/${BP}/autom4te* -rf - sed -i -e 's/Makefile:.*/Makefile-disabled:/' ${D}${PTEST_PATH}/build/Makefile - find ${D}/${PTEST_PATH}/build -name "*.cmake" -or -name "Makefile" \ - | xargs sed -e "s|${WORKDIR}|${PTEST_PATH}|g" -e "s|${WORKDIR}/recipe-sysroot-native||g" -i + cd tests + oe_runmake testdrv-build testdrv + install testdrv $(srcdir=${S}/tests ./testdrv-build --files | sort | uniq) ${D}${PTEST_PATH} } FILES:${PN}-dev += "${bindir}/hmac256 ${bindir}/dumpsexp" -- cgit v1.2.3-54-g00ecf