* [PATCH] selftest: Test installation of recipes with complex packaging
@ 2026-02-10 8:07 Paul Barker
0 siblings, 0 replies; only message in thread
From: Paul Barker @ 2026-02-10 8:07 UTC (permalink / raw)
To: openembedded-core; +Cc: Paul Barker
When recipes have complex and dynamic packaging, it's easy to
accidentally end up with one or more packages that build but can't be
installed. We've seen this recently with linux-firmware [1].
Skimming through the recipes that set PACKAGESPLITFUNCS or
PACKAGES_DYNAMIC or are otherwise known offenders, I've also picked out
gstreamer1.0-plugins-*, kernel-modules, perl and python3 as recipes
where it would be easy to end up with similar issues in the future.
[1]: https://lore.kernel.org/openembedded-core/20260123163305.880111-1-dmitry.baryshkov@oss.qualcomm.com/
Signed-off-by: Paul Barker <paul@pbarker.dev>
---
meta/lib/oeqa/selftest/cases/install.py | 37 +++++++++++++++++++++++++++++++++
1 file changed, 37 insertions(+)
diff --git a/meta/lib/oeqa/selftest/cases/install.py b/meta/lib/oeqa/selftest/cases/install.py
new file mode 100644
index 000000000000..06ce5fd3b559
--- /dev/null
+++ b/meta/lib/oeqa/selftest/cases/install.py
@@ -0,0 +1,37 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
+from oeqa.selftest.case import OESelftestTestCase
+from oeqa.utils.commands import bitbake
+
+class InstallTests(OESelftestTestCase):
+ """Test installability of recipes which use complex dynamic packaging"""
+
+ def do_installation_test(self, packages, extra_config=""):
+ self.write_config('CORE_IMAGE_EXTRA_INSTALL = "{}"\n{}'.format(packages, extra_config))
+ bitbake("core-image-minimal")
+
+ def test_gstreamer_plugins(self):
+ """Ensure that all gstreamer plugins can be installed together"""
+ self.do_installation_test("gstreamer1.0-plugins-base gstreamer1.0-plugins-good \
+ gstreamer1.0-plugins-bad gstreamer1.0-plugins-ugly",
+ extra_config='LICENSE_FLAGS_ACCEPTED += "commercial"')
+
+ def test_linux_firmware(self):
+ """Ensure that all linux-firmware packages can be installed together"""
+ self.do_installation_test("linux-firmware")
+
+ def test_linux_modules(self):
+ """Ensure that all in-tree kernel modules can be installed together"""
+ self.do_installation_test("kernel-modules")
+
+ def test_perl(self):
+ """Ensure that all built-in perl modules can be installed together"""
+ self.do_installation_test("perl perl-modules")
+
+ def test_python(self):
+ """Ensure that all built-in python modules can be installed together"""
+ self.do_installation_test("python3 python3-modules python3-misc")
---
base-commit: 6ce19709f7835ee5cd7915e181f89397975236c8
change-id: 20260210-install-tests-6e506dfd367f
Best regards,
--
Paul Barker
^ permalink raw reply related [flat|nested] only message in thread
only message in thread, other threads:[~2026-02-10 8:08 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-02-10 8:07 [PATCH] selftest: Test installation of recipes with complex packaging Paul Barker
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox