mirror of
https://git.yoctoproject.org/poky
synced 2026-03-04 06:19:40 +01:00
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>
61 lines
1.7 KiB
Plaintext
61 lines
1.7 KiB
Plaintext
SUMMARY_${PN}-ptest ?= "${SUMMARY} - Package test files"
|
|
DESCRIPTION_${PN}-ptest ?= "${DESCRIPTION} \
|
|
This package contains a test directory ${PTEST_PATH} for package test purposes."
|
|
|
|
PTEST_PATH ?= "${libdir}/${PN}/ptest"
|
|
FILES_${PN}-ptest = "${PTEST_PATH}"
|
|
SECTION_${PN}-ptest = "devel"
|
|
ALLOW_EMPTY_${PN}-ptest = "1"
|
|
PTEST_ENABLED = "${@base_contains('DISTRO_FEATURES', 'ptest', '1', '0', d)}"
|
|
PTEST_ENABLED_class-native = ""
|
|
RDEPENDS_${PN}-ptest_virtclass-native = ""
|
|
RDEPENDS_${PN}-ptest_virtclass-nativesdk = ""
|
|
|
|
PACKAGES =+ "${@base_contains('DISTRO_FEATURES', 'ptest', '${PN}-ptest', '', d)}"
|
|
|
|
do_configure_ptest() {
|
|
:
|
|
}
|
|
|
|
do_configure_ptest_base() {
|
|
do_configure_ptest
|
|
}
|
|
|
|
do_compile_ptest() {
|
|
:
|
|
}
|
|
|
|
do_compile_ptest_base() {
|
|
do_compile_ptest
|
|
}
|
|
|
|
do_install_ptest() {
|
|
:
|
|
}
|
|
|
|
do_install_ptest_base() {
|
|
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
|
|
}
|
|
|
|
do_install_ptest_base[cleandirs] = "${D}${PTEST_PATH}"
|
|
|
|
addtask configure_ptest_base after do_configure before do_compile
|
|
addtask compile_ptest_base after do_compile before do_install
|
|
addtask install_ptest_base after do_install before do_package do_populate_sysroot
|
|
|
|
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)
|
|
}
|