diff --git a/meta/conf/distro/include/no-gplv3.inc b/meta/conf/distro/include/no-gplv3.inc index b3eb936d94..705e05319a 100644 --- a/meta/conf/distro/include/no-gplv3.inc +++ b/meta/conf/distro/include/no-gplv3.inc @@ -28,3 +28,5 @@ CORE_IMAGE_BASE_INSTALL:remove:pn-core-image-weston = "matchbox-terminal" # Some python-tests use bash outside of ptest RDEPENDS:${PN}-tests:remove:class-target:pn-python3 = "${MLPREFIX}bash" INSANE_SKIP:${PN}-tests:pn-python3 = "file-rdeps" + +MACHINE_ESSENTIAL_EXTRA_RDEPENDS:remove = "tar" diff --git a/meta/conf/machine/include/qemu.inc b/meta/conf/machine/include/qemu.inc index bb7aec7675..d7392d4762 100644 --- a/meta/conf/machine/include/qemu.inc +++ b/meta/conf/machine/include/qemu.inc @@ -28,3 +28,6 @@ KERNEL_FEATURES:append:pn-linux-yocto = " features/nfsd/nfsd-enable.scc" KERNEL_FEATURES:append:pn-linux-yocto-rt = " features/nfsd/nfsd-enable.scc" IMAGE_CLASSES += "qemuboot" + +# Use gnu tar so we can handle sparse files in testimage debug archives +MACHINE_ESSENTIAL_EXTRA_RDEPENDS += "tar" diff --git a/meta/lib/oeqa/selftest/cases/incompatible_lic.py b/meta/lib/oeqa/selftest/cases/incompatible_lic.py index be5484bca4..93884f5731 100644 --- a/meta/lib/oeqa/selftest/cases/incompatible_lic.py +++ b/meta/lib/oeqa/selftest/cases/incompatible_lic.py @@ -102,6 +102,7 @@ class IncompatibleLicensePerImageTests(OESelftestTestCase): return """ IMAGE_INSTALL:append = " bash" INCOMPATIBLE_LICENSE:pn-core-image-minimal = "GPL-3.0* LGPL-3.0*" +MACHINE_ESSENTIAL_EXTRA_RDEPENDS:remove = "tar" """ def test_bash_default(self): @@ -136,6 +137,8 @@ class NoGPL3InImagesTests(OESelftestTestCase): def test_core_image_minimal(self): self.write_config(""" INCOMPATIBLE_LICENSE:pn-core-image-minimal = "GPL-3.0* LGPL-3.0*" + +require conf/distro/include/no-gplv3.inc """) bitbake('core-image-minimal') diff --git a/meta/lib/oeqa/utils/postactions.py b/meta/lib/oeqa/utils/postactions.py index 8f787838b9..c69481db6c 100644 --- a/meta/lib/oeqa/utils/postactions.py +++ b/meta/lib/oeqa/utils/postactions.py @@ -64,7 +64,8 @@ def list_and_fetch_failed_tests_artifacts(d, tc, artifacts_list, outputdir): bb.warn("Could not load artifacts list, skip artifacts retrieval") return try: - cmd = "tar zcf - " + " ".join(artifacts_list) + # We need gnu tar for sparse files, not busybox + cmd = "tar --sparse -zcf - " + " ".join(artifacts_list) (status, output) = tc.target.run(cmd, raw = True) if status != 0 or not output: raise Exception("Error while fetching compressed artifacts")