[Unstable/Lunar][PATCH 5/5] UBUNTU: [Packaging] annotations: Write out annotations with notes first
Juerg Haefliger
juerg.haefliger at canonical.com
Tue Feb 7 07:36:07 UTC 2023
When writing the annotations file, separate them into two groups: With
and without a note. Write the group with notes first and separate the
other group with a visual marker.
The idea is that all configs that are set/modified manually should have
an annotation note and putting them at the top of the annotations file
should make it easier to figure out what the config of this kernel is
about.
Signed-off-by: Juerg Haefliger <juerg.haefliger at canonical.com>
---
debian/scripts/misc/kconfig/annotations.py | 19 ++++++++++++++++++-
1 file changed, 18 insertions(+), 1 deletion(-)
diff --git a/debian/scripts/misc/kconfig/annotations.py b/debian/scripts/misc/kconfig/annotations.py
index 03b01baad46b..113ce53eb4e0 100644
--- a/debian/scripts/misc/kconfig/annotations.py
+++ b/debian/scripts/misc/kconfig/annotations.py
@@ -262,6 +262,17 @@ class Annotation(Config):
if not self.config[conf]['policy']:
del self.config[conf]
+ def _sorted(self, config):
+ """ Sort configs alphabetically but return configs with a note first """
+ w_note = []
+ wo_note = []
+ for c in sorted(config):
+ if 'note' in config[c]:
+ w_note.append(c)
+ else:
+ wo_note.append(c)
+ return w_note + wo_note
+
def save(self, fname: str):
""" Save annotations data to the annotation file """
# Compact annotations structure
@@ -284,7 +295,8 @@ class Annotation(Config):
tmp_a = Annotation(fname)
# Only save local differences (preserve includes)
- for conf in sorted(self.config):
+ marker = False
+ for conf in self._sorted(self.config):
new_val = self.config[conf]
if 'policy' not in new_val:
continue
@@ -307,6 +319,11 @@ class Annotation(Config):
# Separate policy and note lines,
# followed by an empty line
line += f'\n{conf : <47} note<{val}>\n'
+ elif not marker:
+ # Write out a marker indicating the start of annotations
+ # without notes
+ tmp.write('\n# ---- Annotations without notes ----\n\n')
+ marker = True
tmp.write(line + "\n")
# Replace annotations with the updated version
--
2.34.1
More information about the kernel-team
mailing list