diff options
| author | Alexander Kanavin <alex@linutronix.de> | 2024-07-17 20:22:14 +0200 |
|---|---|---|
| committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2024-07-22 16:53:06 +0100 |
| commit | bd18497110796c5d86cef202dc37798478c84cd2 (patch) | |
| tree | d5c6250ee8efd07c798cde3c9f4e771c0687c49c /meta/lib/oeqa/selftest | |
| parent | 597b87a46855a792d0d78209db1a85b96a50ac8e (diff) | |
| download | poky-bd18497110796c5d86cef202dc37798478c84cd2.tar.gz | |
lib/recipeutils: add a function to determine recipes with shared include files
This functionality is needed for 'lockstep version upgrades' where several
recipes need to be upgraded at the same time to produce a buildable
outcome.
The function itself obtains BBINCLUDED for each recipe and then massages
the data until it takes the form of a list of sets:
[{'cmake','cmake-native'},
{'qemu','qemu-native','qemu-system-native'},
... ]
There's also a selftest that checks for the above.
Unfortunately this won't detect mutually exclusive recipes like mesa and mesa-gl
as they're chosen with PREFERRED_PROVIDER and can't be enabled in the same build
at the same time. ('devtool upgrade' will also accept just one of them but not the other)
(From OE-Core rev: 2400920f8b84cca9d6c1f6a2e850630554fe00fa)
Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/lib/oeqa/selftest')
| -rw-r--r-- | meta/lib/oeqa/selftest/cases/distrodata.py | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/meta/lib/oeqa/selftest/cases/distrodata.py b/meta/lib/oeqa/selftest/cases/distrodata.py index b60913dbca..bc56160522 100644 --- a/meta/lib/oeqa/selftest/cases/distrodata.py +++ b/meta/lib/oeqa/selftest/cases/distrodata.py | |||
| @@ -115,3 +115,15 @@ The list of oe-core recipes with maintainers is empty. This may indicate that th | |||
| 115 | self.fail(""" | 115 | self.fail(""" |
| 116 | Unable to find recipes for the following entries in maintainers.inc: | 116 | Unable to find recipes for the following entries in maintainers.inc: |
| 117 | """ + "\n".join(['%s' % i for i in missing_recipes])) | 117 | """ + "\n".join(['%s' % i for i in missing_recipes])) |
| 118 | |||
| 119 | def test_common_include_recipes(self): | ||
| 120 | """ | ||
| 121 | Summary: Test that obtaining recipes that share includes between them returns a sane result | ||
| 122 | Expected: At least cmake and qemu entries are present in the output | ||
| 123 | Product: oe-core | ||
| 124 | Author: Alexander Kanavin <alex.kanavin@gmail.com> | ||
| 125 | """ | ||
| 126 | recipes = oe.recipeutils.get_common_include_recipes() | ||
| 127 | |||
| 128 | self.assertIn({'qemu-system-native', 'qemu', 'qemu-native'}, recipes) | ||
| 129 | self.assertIn({'cmake-native', 'cmake'}, recipes) | ||
