[Unstable/Lunar][PATCH v2 2/2] UBUNTU: [Packaging] annotations: Preserve single-line annotation rules
    Juerg Haefliger 
    juerg.haefliger at canonical.com
       
    Mon Feb  6 07:14:48 UTC 2023
    
    
  
Currently, rules with notes are written out as separate lines, i. e.,
one line for the policy and one line for the note, followed by an
empty line. The parser now supports single line rules so preserve that
style when writting out the rules.
Signed-off-by: Juerg Haefliger <juerg.haefliger at canonical.com>
---
 debian/scripts/misc/kconfig/annotations.py | 12 +++++++++---
 1 file changed, 9 insertions(+), 3 deletions(-)
diff --git a/debian/scripts/misc/kconfig/annotations.py b/debian/scripts/misc/kconfig/annotations.py
index cb73232b01e7..dd9c05fbb8e4 100644
--- a/debian/scripts/misc/kconfig/annotations.py
+++ b/debian/scripts/misc/kconfig/annotations.py
@@ -82,6 +82,7 @@ class Annotation(Config):
 
                         m = re.match(r'.* note<(.*?)>', line)
                         if m:
+                            entry['oneline'] = match
                             match = True
                             entry['note'] = "'" + m.group(1).replace("'", '') + "'"
 
@@ -284,11 +285,16 @@ class Annotation(Config):
                 if 'policy' in new_val:
                     val = dict(sorted(new_val['policy'].items()))
                     line = f"{conf : <47} policy<{val}>"
-                    tmp.write(line + "\n")
                     if 'note' in new_val:
                         val = new_val['note']
-                        line = f"{conf : <47} note<{val}>"
-                        tmp.write(line + "\n\n")
+                        if new_val.get('oneline', False):
+                            # Single line
+                            line += f' note<{val}>'
+                        else:
+                            # Separate policy and note lines,
+                            # followed by an empty line
+                            line += f'\n{conf : <47} note<{val}>\n'
+                    tmp.write(line + "\n")
 
             # Replace annotations with the updated version
             tmp.flush()
-- 
2.34.1
    
    
More information about the kernel-team
mailing list