UBUNTU: [Packaging] annotations: make sure to always drop undefined configs

Signed-off-by: Andrea Righi <andrea.righi@canonical.com>
This commit is contained in:
Andrea Righi
2023-01-30 09:11:01 +01:00
committed by Paolo Pisati
parent 00cc10f13f
commit ae281486dd
+11
View File
@@ -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 """