From d5a4f031b460437e9501e4e65194ce94d3641130 Mon Sep 17 00:00:00 2001 From: Chen Qi Date: Thu, 5 Sep 2013 13:58:25 +0000 Subject: ptest.bbclass: fix error on ubuntu host The do_install_ptest_base function uses 'type -t' command to check whether do_install_ptest is a function and acts correspondingly. However, the 'type' command is a shell builtin and its behavior is not all the same across Linux distros. On ubuntu, if we use #!/bin/sh as the interpreter for the scripts, as in the case of our intermediate scripts, the '-t' option for the 'type' command is not supported. So the check always fails and the do_install_ptest function, even if defined, is not run. The same problem also applies to the do_configure_ptest_base and the do_compile_ptest_base functions. This patch fixes this problem by avoiding using the 'type' builtin command. [YOCTO #5128] Signed-off-by: Chen Qi Signed-off-by: Saul Wold Signed-off-by: Richard Purdie --- meta/classes/ptest.bbclass | 24 +++++++++++++++--------- 1 file changed, 15 insertions(+), 9 deletions(-) (limited to 'meta/classes') diff --git a/meta/classes/ptest.bbclass b/meta/classes/ptest.bbclass index 37357e8215..15a42d6c25 100644 --- a/meta/classes/ptest.bbclass +++ b/meta/classes/ptest.bbclass @@ -16,22 +16,30 @@ RDEPENDS_${PN}-ptest_virtclass-nativesdk = "" PACKAGES =+ "${@base_contains('DISTRO_FEATURES', 'ptest', '${PN}-ptest', '', d)}" +do_configure_ptest() { + : +} + do_configure_ptest_base() { if [ ${PTEST_ENABLED} = 1 ]; then - if [ a$(type -t do_configure_ptest) = afunction ]; then - do_configure_ptest - fi + do_configure_ptest fi } +do_compile_ptest() { + : +} + do_compile_ptest_base() { if [ ${PTEST_ENABLED} = 1 ]; then - if [ a$(type -t do_compile_ptest) = afunction ]; then - do_compile_ptest - fi + do_compile_ptest fi } +do_install_ptest() { + : +} + do_install_ptest_base() { if [ ${PTEST_ENABLED} = 1 ]; then if [ -f ${WORKDIR}/run-ptest ]; then @@ -39,9 +47,7 @@ do_install_ptest_base() { if grep -q install-ptest: Makefile; then oe_runmake DESTDIR=${D}${PTEST_PATH} install-ptest fi - if [ a$(type -t do_install_ptest) = afunction ]; then - do_install_ptest - fi + do_install_ptest fi fi } -- cgit 1.2.3-korg