diff options
Diffstat (limited to 'classes')
| -rw-r--r-- | classes/machine-overrides-extender.bbclass | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/classes/machine-overrides-extender.bbclass b/classes/machine-overrides-extender.bbclass index b9b00ebe2..58cb45b14 100644 --- a/classes/machine-overrides-extender.bbclass +++ b/classes/machine-overrides-extender.bbclass | |||
| @@ -55,3 +55,22 @@ python machine_overrides_extender_handler() { | |||
| 55 | 55 | ||
| 56 | machine_overrides_extender_handler[eventmask] = "bb.event.ConfigParsed" | 56 | machine_overrides_extender_handler[eventmask] = "bb.event.ConfigParsed" |
| 57 | addhandler machine_overrides_extender_handler | 57 | addhandler machine_overrides_extender_handler |
| 58 | |||
| 59 | python machineoverrides_filtered_out_qa_handler() { | ||
| 60 | filtered_out = (d.getVar('MACHINEOVERRIDES_EXTENDER_FILTER_OUT') or "").split() | ||
| 61 | qa_error = d.getVar('MACHINEOVERRIDES_FILTERED_OUT_QA_ERROR') | ||
| 62 | |||
| 63 | for var in d.overridedata: | ||
| 64 | # We need to allow the overrides being used in the extender | ||
| 65 | # so avoid processing it. | ||
| 66 | if 'MACHINEOVERRIDES_EXTENDER' in var: | ||
| 67 | continue | ||
| 68 | |||
| 69 | for (r, o) in d.overridedata[var]: | ||
| 70 | common = list(set(o.split(":")).intersection(filtered_out)) | ||
| 71 | if len(common) > 0: | ||
| 72 | raise bb.parse.SkipRecipe(qa_error % common) | ||
| 73 | } | ||
| 74 | |||
| 75 | machineoverrides_filtered_out_qa_handler[eventmask] = "bb.event.RecipeParsed" | ||
| 76 | addhandler machineoverrides_filtered_out_qa_handler | ||
