diff options
author | Chen Qi <Qi.Chen@windriver.com> | 2013-09-05 13:58:25 +0000 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2013-09-10 15:57:19 +0100 |
commit | 8905f7715d175c834c4d0797b2da7366ee2c8ace (patch) | |
tree | 510741edfd59f61e6cd680daf5b18bf5b3f271db | |
parent | 0ca5d1fb38157564a2b9452ade32391d18a41b09 (diff) | |
download | poky-8905f7715d175c834c4d0797b2da7366ee2c8ace.tar.gz |
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]
(From OE-Core rev: d5a4f031b460437e9501e4e65194ce94d3641130)
Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r-- | meta/classes/ptest.bbclass | 24 |
1 files changed, 15 insertions, 9 deletions
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 = "" | |||
16 | 16 | ||
17 | PACKAGES =+ "${@base_contains('DISTRO_FEATURES', 'ptest', '${PN}-ptest', '', d)}" | 17 | PACKAGES =+ "${@base_contains('DISTRO_FEATURES', 'ptest', '${PN}-ptest', '', d)}" |
18 | 18 | ||
19 | do_configure_ptest() { | ||
20 | : | ||
21 | } | ||
22 | |||
19 | do_configure_ptest_base() { | 23 | do_configure_ptest_base() { |
20 | if [ ${PTEST_ENABLED} = 1 ]; then | 24 | if [ ${PTEST_ENABLED} = 1 ]; then |
21 | if [ a$(type -t do_configure_ptest) = afunction ]; then | 25 | do_configure_ptest |
22 | do_configure_ptest | ||
23 | fi | ||
24 | fi | 26 | fi |
25 | } | 27 | } |
26 | 28 | ||
29 | do_compile_ptest() { | ||
30 | : | ||
31 | } | ||
32 | |||
27 | do_compile_ptest_base() { | 33 | do_compile_ptest_base() { |
28 | if [ ${PTEST_ENABLED} = 1 ]; then | 34 | if [ ${PTEST_ENABLED} = 1 ]; then |
29 | if [ a$(type -t do_compile_ptest) = afunction ]; then | 35 | do_compile_ptest |
30 | do_compile_ptest | ||
31 | fi | ||
32 | fi | 36 | fi |
33 | } | 37 | } |
34 | 38 | ||
39 | do_install_ptest() { | ||
40 | : | ||
41 | } | ||
42 | |||
35 | do_install_ptest_base() { | 43 | do_install_ptest_base() { |
36 | if [ ${PTEST_ENABLED} = 1 ]; then | 44 | if [ ${PTEST_ENABLED} = 1 ]; then |
37 | if [ -f ${WORKDIR}/run-ptest ]; then | 45 | if [ -f ${WORKDIR}/run-ptest ]; then |
@@ -39,9 +47,7 @@ do_install_ptest_base() { | |||
39 | if grep -q install-ptest: Makefile; then | 47 | if grep -q install-ptest: Makefile; then |
40 | oe_runmake DESTDIR=${D}${PTEST_PATH} install-ptest | 48 | oe_runmake DESTDIR=${D}${PTEST_PATH} install-ptest |
41 | fi | 49 | fi |
42 | if [ a$(type -t do_install_ptest) = afunction ]; then | 50 | do_install_ptest |
43 | do_install_ptest | ||
44 | fi | ||
45 | fi | 51 | fi |
46 | fi | 52 | fi |
47 | } | 53 | } |