From ad6f3ea1b4e2d05a9308e957bc7431fa8f96a342 Mon Sep 17 00:00:00 2001 From: Nathan Rossi Date: Fri, 10 Jan 2014 18:01:33 +1000 Subject: 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. (From OE-Core rev: def21f3f0bedae51651f1f0fc58b62b8aaaf37ae) Signed-off-by: Nathan Rossi Signed-off-by: Saul Wold Signed-off-by: Richard Purdie --- meta/classes/ptest.bbclass | 25 ++++++++++++------------- 1 file changed, 12 insertions(+), 13 deletions(-) (limited to 'meta/classes/ptest.bbclass') 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) } -- cgit v1.2.3-54-g00ecf