mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-10 23:24:38 +00:00
buildman: Warn about dangling maintainer entries
Other than the top-level MAINTAINERS file, all maintainer entries should actually reference a target. Add a warning to detect those that do not. Signed-off-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
parent
a114c61536
commit
bc12d03493
2 changed files with 22 additions and 8 deletions
|
@ -345,17 +345,28 @@ class MaintainersDatabase:
|
||||||
srcdir (str): Directory containing source code (Kconfig files)
|
srcdir (str): Directory containing source code (Kconfig files)
|
||||||
fname (str): MAINTAINERS file to be parsed
|
fname (str): MAINTAINERS file to be parsed
|
||||||
"""
|
"""
|
||||||
def add_targets():
|
def add_targets(linenum):
|
||||||
"""Add any new targets"""
|
"""Add any new targets
|
||||||
|
|
||||||
|
Args:
|
||||||
|
linenum (int): Current line number
|
||||||
|
"""
|
||||||
|
added = False
|
||||||
if targets:
|
if targets:
|
||||||
for target in targets:
|
for target in targets:
|
||||||
self.database[target] = (status, maintainers)
|
self.database[target] = (status, maintainers)
|
||||||
|
added = True
|
||||||
|
if not added and (status != '-' and maintainers):
|
||||||
|
leaf = fname[len(srcdir) + 1:]
|
||||||
|
if leaf != 'MAINTAINERS':
|
||||||
|
self.warnings.append(
|
||||||
|
f'WARNING: orphaned defconfig in {leaf} ending at line {linenum + 1}')
|
||||||
|
|
||||||
targets = []
|
targets = []
|
||||||
maintainers = []
|
maintainers = []
|
||||||
status = '-'
|
status = '-'
|
||||||
with open(fname, encoding="utf-8") as inf:
|
with open(fname, encoding="utf-8") as inf:
|
||||||
for line in inf:
|
for linenum, line in enumerate(inf):
|
||||||
# Check also commented maintainers
|
# Check also commented maintainers
|
||||||
if line[:3] == '#M:':
|
if line[:3] == '#M:':
|
||||||
line = line[1:]
|
line = line[1:]
|
||||||
|
@ -388,11 +399,11 @@ class MaintainersDatabase:
|
||||||
if match and not rear:
|
if match and not rear:
|
||||||
targets.append(front)
|
targets.append(front)
|
||||||
elif line == '\n':
|
elif line == '\n':
|
||||||
add_targets()
|
add_targets(linenum)
|
||||||
targets = []
|
targets = []
|
||||||
maintainers = []
|
maintainers = []
|
||||||
status = '-'
|
status = '-'
|
||||||
add_targets()
|
add_targets(linenum)
|
||||||
|
|
||||||
|
|
||||||
class Boards:
|
class Boards:
|
||||||
|
|
|
@ -917,7 +917,8 @@ Active aarch64 armv8 - armltd total_compute board2
|
||||||
params_list, warnings = self._boards.build_board_list(config_dir, src)
|
params_list, warnings = self._boards.build_board_list(config_dir, src)
|
||||||
self.assertEquals(2, len(params_list))
|
self.assertEquals(2, len(params_list))
|
||||||
self.assertEquals(
|
self.assertEquals(
|
||||||
["WARNING: no status info for 'board0'",
|
['WARNING: orphaned defconfig in boards/board0/MAINTAINERS ending at line 4',
|
||||||
|
"WARNING: no status info for 'board0'",
|
||||||
"WARNING: no maintainers for 'board0'"], warnings)
|
"WARNING: no maintainers for 'board0'"], warnings)
|
||||||
|
|
||||||
# Remove the maintainer line (M:) from a file (this should be fine)
|
# Remove the maintainer line (M:) from a file (this should be fine)
|
||||||
|
@ -937,9 +938,11 @@ Active aarch64 armv8 - armltd total_compute board2
|
||||||
self.assertEquals(2, len(params_list))
|
self.assertEquals(2, len(params_list))
|
||||||
self.assertFalse(warnings)
|
self.assertFalse(warnings)
|
||||||
|
|
||||||
# Add another record, this should be ignored
|
# Add another record, this should be ignored with a warning
|
||||||
extra = '\n\nAnother\nM: Fred\nF: configs/board9_defconfig\nS: other\n'
|
extra = '\n\nAnother\nM: Fred\nF: configs/board9_defconfig\nS: other\n'
|
||||||
tools.write_file(main, data + extra, binary=False)
|
tools.write_file(main, data + extra, binary=False)
|
||||||
params_list, warnings = self._boards.build_board_list(config_dir, src)
|
params_list, warnings = self._boards.build_board_list(config_dir, src)
|
||||||
self.assertEquals(2, len(params_list))
|
self.assertEquals(2, len(params_list))
|
||||||
self.assertFalse(warnings)
|
self.assertEquals(
|
||||||
|
['WARNING: orphaned defconfig in boards/board0/MAINTAINERS ending at line 16'],
|
||||||
|
warnings)
|
||||||
|
|
Loading…
Reference in a new issue