[OE-core] [PATCH v2] ptest.bblass: Fix package QA issues when disabled
Nathan Rossi
nathan.rossi at xilinx.com
Fri Jan 10 08:01:33 UTC 2014
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 at xilinx.com>
---
meta/classes/ptest.bbclass | 25 ++++++++++++-------------
1 file changed, 12 insertions(+), 13 deletions(-)
diff --git a/meta/classes/ptest.bbclass b/meta/classes/ptest.bbclass
index ec10f80..e5bbb89 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)
}
--
1.7.9.5
More information about the Openembedded-core
mailing list