From 1b697a5e92be01725ad20298f54c277c852c974d Mon Sep 17 00:00:00 2001 From: Christopher Larson Date: Tue, 1 Sep 2015 15:23:02 -0700 Subject: insane.bbclass: handle tests which need fakeroot If any tests listed in FAKEROOT_QA are enabled (listed in ALL_QA), then run do_package_qa under fakeroot. Signed-off-by: Christopher Larson Signed-off-by: Richard Purdie --- meta/classes/insane.bbclass | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/meta/classes/insane.bbclass b/meta/classes/insane.bbclass index 61cd42bf34..7ea80dc90c 100644 --- a/meta/classes/insane.bbclass +++ b/meta/classes/insane.bbclass @@ -39,6 +39,9 @@ ERROR_QA ?= "dev-so debug-deps dev-deps debug-files arch pkgconfig la \ split-strip packages-list pkgv-undefined var-undefined \ version-going-backwards expanded-d invalid-chars \ " +FAKEROOT_QA = "" +FAKEROOT_QA[doc] = "QA tests which need to run under fakeroot. If any \ +enabled tests are listed here, the do_package_qa task will run under fakeroot." ALL_QA = "${WARN_QA} ${ERROR_QA}" @@ -1232,6 +1235,11 @@ python () { for var in 'RDEPENDS', 'RRECOMMENDS', 'RSUGGESTS', 'RCONFLICTS', 'RPROVIDES', 'RREPLACES', 'FILES', 'pkg_preinst', 'pkg_postinst', 'pkg_prerm', 'pkg_postrm', 'ALLOW_EMPTY': if d.getVar(var, False): issues.append(var) + + fakeroot_tests = d.getVar('FAKEROOT_QA', True).split() + if set(tests) & set(fakeroot_tests): + d.setVarFlag('do_package_qa', 'fakeroot', '1') + d.appendVarFlag('do_package_qa', 'depends', ' virtual/fakeroot-native:do_populate_sysroot') else: d.setVarFlag('do_package_qa', 'rdeptask', '') for i in issues: -- cgit 1.2.3-korg