diff options
author | Nathan Rossi <nathan.rossi@xilinx.com> | 2014-01-10 18:01:33 +1000 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2014-01-14 11:33:16 +0000 |
commit | def21f3f0bedae51651f1f0fc58b62b8aaaf37ae (patch) | |
tree | bb4fbca0f137216acaea273edf92e3a88b867d71 | |
parent | 5aea3d375b717d96f8f916f2f830e8f8649a4991 (diff) | |
download | openembedded-core-def21f3f0bedae51651f1f0fc58b62b8aaaf37ae.tar.gz openembedded-core-def21f3f0bedae51651f1f0fc58b62b8aaaf37ae.tar.bz2 openembedded-core-def21f3f0bedae51651f1f0fc58b62b8aaaf37ae.zip |
ptest.bblass: Fix package QA issues when disabled
When the ptest distro feature is disabled, a ptest directory is still
created in the install phase, This directory is not cleaned up or
consumed by any package and will throw a QA error, e.g.
ERROR: QA Issue: glib-2.0: Files/directories were installed but not
shipped
/usr/lib/glib-2.0/ptest
ERROR: QA run found fatal errors. Please consider fixing them.
ERROR: Function failed: do_package_qa
This is caused by the do_install_ptest_base[cleandirs] attribute which
is not setup to be conditional on ptest being enabled.
This patch refactors the use of PTEST_ENABLED in the *ptest_base tasks,
replacing the conditional execution with the removal of the tasks from
the build, this prevents any part (including cleandirs) of the ptest
tasks from executing when disabled.
Signed-off-by: Nathan Rossi <nathan.rossi@xilinx.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
-rw-r--r-- | meta/classes/ptest.bbclass | 25 |
1 files changed, 12 insertions, 13 deletions
diff --git a/meta/classes/ptest.bbclass b/meta/classes/ptest.bbclass index ec10f80e68..e5bbb89ade 100644 --- a/meta/classes/ptest.bbclass +++ b/meta/classes/ptest.bbclass @@ -18,9 +18,7 @@ do_configure_ptest() { } do_configure_ptest_base() { - if [ ${PTEST_ENABLED} = 1 ]; then - do_configure_ptest - fi + do_configure_ptest } do_compile_ptest() { @@ -28,9 +26,7 @@ do_compile_ptest() { } do_compile_ptest_base() { - if [ ${PTEST_ENABLED} = 1 ]; then - do_compile_ptest - fi + do_compile_ptest } do_install_ptest() { @@ -38,14 +34,12 @@ do_install_ptest() { } do_install_ptest_base() { - if [ ${PTEST_ENABLED} = 1 ]; then - if [ -f ${WORKDIR}/run-ptest ]; then - install -D ${WORKDIR}/run-ptest ${D}${PTEST_PATH}/run-ptest - if grep -q install-ptest: Makefile; then - oe_runmake DESTDIR=${D}${PTEST_PATH} install-ptest - fi - do_install_ptest + if [ -f ${WORKDIR}/run-ptest ]; then + install -D ${WORKDIR}/run-ptest ${D}${PTEST_PATH}/run-ptest + if grep -q install-ptest: Makefile; then + oe_runmake DESTDIR=${D}${PTEST_PATH} install-ptest fi + do_install_ptest fi } @@ -58,4 +52,9 @@ addtask install_ptest_base after do_install before do_package do_populate_sy python () { if not bb.data.inherits_class('native', d) and not bb.data.inherits_class('cross', d): d.setVarFlag('do_install_ptest_base', 'fakeroot', 1) + + # Remove all '*ptest_base' tasks when ptest is not enabled + if not(d.getVar('PTEST_ENABLED', True) == "1"): + for i in filter(lambda k: d.getVarFlag(k, "task") and k.endswith("ptest_base"), d.keys()): + bb.build.deltask(i, d) } |