From: Andrea Righi Date: Mon, 30 Jan 2023 08:11:54 +0000 (+0100) Subject: annotations: make sure to always drop undefined configs X-Git-Tag: v0.1~38 X-Git-Url: https://jxself.org/git/?a=commitdiff_plain;h=914363162019cab74d6e89f47c6cbe5fc7794012;p=annotations.git annotations: make sure to always drop undefined configs Signed-off-by: Andrea Righi --- diff --git a/kconfig/annotations.py b/kconfig/annotations.py index 20e7451..84dd4d2 100644 --- a/kconfig/annotations.py +++ b/kconfig/annotations.py @@ -236,6 +236,17 @@ class Annotation(Config): for flavour in arch_flavours: del self.config[conf]['policy'][flavour] self.config[conf]['policy'][arch] = value + # After the first round of compaction we may end up having configs that + # are undefined across all arches, so do another round of compaction to + # drop these settings that are not needed anymore. + for conf in self.config.copy(): + # Remove configs that are all undefined across all arches/flavours + if 'policy' in self.config[conf]: + if list(set(self.config[conf]['policy'].values())) == ['-']: + self.config[conf]['policy'] = {} + # Drop empty rules + if not self.config[conf]['policy']: + del self.config[conf] def save(self, fname: str): """ Save annotations data to the annotation file """