From bfa2a3b98dde2a664615fe4a2527fd89b0c8dfbe Mon Sep 17 00:00:00 2001 From: Otavio Salvador Date: Wed, 2 Mar 2022 20:21:54 -0300 Subject: Ensure we fail if old SoC overrides are in use To assist existing layers to convert to the new BSP-specific overrides. Besides failing the parsing of the recipes where it is in use, we provide a script to automate most of it. Fixes: #990. Signed-off-by: Otavio Salvador --- classes/machine-overrides-extender.bbclass | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'classes/machine-overrides-extender.bbclass') diff --git a/classes/machine-overrides-extender.bbclass b/classes/machine-overrides-extender.bbclass index b9b00ebe..58cb45b1 100644 --- a/classes/machine-overrides-extender.bbclass +++ b/classes/machine-overrides-extender.bbclass @@ -55,3 +55,22 @@ python machine_overrides_extender_handler() { machine_overrides_extender_handler[eventmask] = "bb.event.ConfigParsed" addhandler machine_overrides_extender_handler + +python machineoverrides_filtered_out_qa_handler() { + filtered_out = (d.getVar('MACHINEOVERRIDES_EXTENDER_FILTER_OUT') or "").split() + qa_error = d.getVar('MACHINEOVERRIDES_FILTERED_OUT_QA_ERROR') + + for var in d.overridedata: + # We need to allow the overrides being used in the extender + # so avoid processing it. + if 'MACHINEOVERRIDES_EXTENDER' in var: + continue + + for (r, o) in d.overridedata[var]: + common = list(set(o.split(":")).intersection(filtered_out)) + if len(common) > 0: + raise bb.parse.SkipRecipe(qa_error % common) +} + +machineoverrides_filtered_out_qa_handler[eventmask] = "bb.event.RecipeParsed" +addhandler machineoverrides_filtered_out_qa_handler -- cgit v1.2.3-54-g00ecf