[Unstable/Lunar][PATCH 3/5] UBUNTU: [Packaging] annotations: Handle tabs in annotations file
Juerg Haefliger
juerg.haefliger at canonical.com
Tue Feb 7 07:36:05 UTC 2023
Handle tabs in the annotations file by replacing them with spaces.
While at make the parsing more robust by removing leading and trailing
whitespaces and ignoring empty lines.
Signed-off-by: Juerg Haefliger <juerg.haefliger at canonical.com>
---
debian/scripts/misc/kconfig/annotations.py | 14 +++++++++-----
1 file changed, 9 insertions(+), 5 deletions(-)
diff --git a/debian/scripts/misc/kconfig/annotations.py b/debian/scripts/misc/kconfig/annotations.py
index ee679903d9da..766405c48ec1 100644
--- a/debian/scripts/misc/kconfig/annotations.py
+++ b/debian/scripts/misc/kconfig/annotations.py
@@ -50,13 +50,17 @@ class Annotation(Config):
Parse body of annotations file
"""
def _parse_body(self, data: str):
- # Skip comments
- data = re.sub(r'(?m)^\s*#.*\n?', '', data)
+ for line in data.splitlines():
+ # Replace tabs with spaces, squeeze multiple into singles and
+ # remove leading and trailing spaces
+ line = line.replace('\t', ' ')
+ line = re.sub(r' +', ' ', line)
+ line = line.strip()
- # Convert multiple spaces to single space to simplifly parsing
- data = re.sub(r' *', ' ', data)
+ # Ignore empty lines and comments
+ if not line or line.startswith('#'):
+ continue
- for line in data.splitlines():
# Handle includes (recursively)
m = re.match(r'^include\s+"?([^"]*)"?', line)
if m:
--
2.34.1
More information about the kernel-team
mailing list