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 <nathan.rossi@xilinx.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Nathan Rossi
2014-01-10 18:01:33 +10:00
committed by Richard Purdie
parent f543a8e77f
commit ad6f3ea1b4

View File

@@ -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)
}