-
Notifications
You must be signed in to change notification settings - Fork 176
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge and reformat boards.cfg and MAINTAINERS
Put all informations about targets, including state (active or orphan) and maintainers, in boards.cfg; remove MAINTAINERS; adjust the build system accordingly. Signed-off-by: Albert ARIBAUD <[email protected]>
- Loading branch information
1 parent
7bcee5f
commit 27af930
Showing
8 changed files
with
1,350 additions
and
2,631 deletions.
There are no files selected for viewing
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,132 @@ | ||
#! /usr/bin/python | ||
######################################################################## | ||
# | ||
# reorder and reformat a file in columns | ||
# | ||
# this utility takes lines from its standard input and reproduces them, | ||
# partially reordered and reformatted, on its standard output. | ||
# | ||
# It has the same effect as a 'sort | column -t', with the exception | ||
# that empty lines, as well as lines which start with a '#' sign, are | ||
# not affected, i.e. they keep their position and formatting, and act | ||
# as separators, i.e. the parts before and after them are each sorted | ||
# separately (but overall field widths are computed across the whole | ||
# input). | ||
# | ||
# Options: | ||
# -i: | ||
# --ignore-case: | ||
# Do not consider case when sorting. | ||
# -d: | ||
# --default: | ||
# What to chage empty fields to. | ||
# -s <N>: | ||
# --split=<N>: | ||
# Treat only the first N whitespace sequences as separators. | ||
# line content after the Nth separator will count as only one | ||
# field even if it contains whitespace. | ||
# Example : '-s 2' causes input 'a b c d e' to be split into | ||
# three fields, 'a', 'b', and 'c d e'. | ||
# | ||
# boards.cfg requires -ids 6. | ||
# | ||
######################################################################## | ||
|
||
import sys, getopt, locale | ||
|
||
# ensure we sort using the C locale. | ||
|
||
locale.setlocale(locale.LC_ALL, 'C') | ||
|
||
# check options | ||
|
||
maxsplit = 0 | ||
ignore_case = 0 | ||
default_field ='' | ||
|
||
try: | ||
opts, args = getopt.getopt(sys.argv[1:], "id:s:", | ||
["ignore-case","default","split="]) | ||
except getopt.GetoptError as err: | ||
print str(err) # will print something like "option -a not recognized" | ||
sys.exit(2) | ||
|
||
for o, a in opts: | ||
if o in ("-s", "--split"): | ||
maxsplit = eval(a) | ||
elif o in ("-i", "--ignore-case"): | ||
ignore_case = 1 | ||
elif o in ("-d", "--default"): | ||
default_field = a | ||
else: | ||
assert False, "unhandled option" | ||
|
||
# collect all lines from standard input and, for the ones which must be | ||
# reformatted and sorted, count their fields and compute each field's | ||
# maximum size | ||
|
||
input_lines = [] | ||
field_width = [] | ||
|
||
for line in sys.stdin: | ||
# remove final end of line | ||
input_line = line.strip('\n') | ||
if (len(input_line)>0) and (input_line[0] != '#'): | ||
# sortable line: split into fields | ||
fields = input_line.split(None,maxsplit) | ||
# if there are new fields, top up field_widths | ||
for f in range(len(field_width), len(fields)): | ||
field_width.append(0) | ||
# compute the maximum witdh of each field | ||
for f in range(len(fields)): | ||
field_width[f] = max(field_width[f],len(fields[f])) | ||
# collect the line for next stage | ||
input_lines.append(input_line) | ||
|
||
# run through collected input lines, collect the ones which must be | ||
# reformatted and sorted, and whenever a non-reformattable, non-sortable | ||
# line is met, sort the collected lines before it and append them to the | ||
# output lines, then add the non-sortable line too. | ||
|
||
output_lines = [] | ||
sortable_lines = [] | ||
for input_line in input_lines: | ||
if (len(input_line)>0) and (input_line[0] != '#'): | ||
# this line should be reformatted and sorted | ||
input_fields = input_line.split(None,maxsplit) | ||
output_fields = []; | ||
# reformat each field to this field's column width | ||
for f in range(len(input_fields)): | ||
output_field = input_fields[f]; | ||
output_fields.append(output_field.ljust(field_width[f])) | ||
# any missing field is set to default if it exists | ||
if default_field != '': | ||
for f in range(len(input_fields),len(field_width)): | ||
output_fields.append(default_field.ljust(field_width[f])) | ||
# join fields using two spaces, like column -t would | ||
output_line = ' '.join(output_fields); | ||
# collect line for later | ||
sortable_lines.append(output_line) | ||
else: | ||
# this line is non-sortable | ||
# sort collected sortable lines | ||
if ignore_case!=0: | ||
sortable_lines.sort(key=lambda x: str.lower(locale.strxfrm(x))) | ||
else: | ||
sortable_lines.sort(key=lambda x: locale.strxfrm(x)) | ||
# append sortable lines to the final output | ||
output_lines.extend(sortable_lines) | ||
sortable_lines = [] | ||
# append non-sortable line to the final output | ||
output_lines.append(input_line) | ||
# maybe we had sortable lines pending, so append them to the final output | ||
if ignore_case!=0: | ||
sortable_lines.sort(key=lambda x: str.lower(locale.strxfrm(x))) | ||
else: | ||
sortable_lines.sort(key=lambda x: locale.strxfrm(x)) | ||
output_lines.extend(sortable_lines) | ||
|
||
# run through output lines and print them, except rightmost whitespace | ||
|
||
for output_line in output_lines: | ||
print output_line.rstrip() |