gdb: make copyright.py interface a bit nicer

This way people can run `./copyright.py --help` and get some info as
to what this does without it going and modifying the tree.
This commit is contained in:
Mike Frysinger 2022-01-01 13:02:02 -05:00
parent 8f97b519fb
commit e5fbca55b2

21
gdb/copyright.py Normal file → Executable file
View File

@ -22,7 +22,7 @@
This script updates the list of years in the copyright notices in
most files maintained by the GDB project.
Usage: cd src/gdb && python copyright.py
Usage: cd src/gdb && ./copyright.py
Always review the output of this script before committing it!
A useful command to review the output is:
@ -30,12 +30,14 @@ A useful command to review the output is:
This removes the bulk of the changes which are most likely to be correct.
"""
import argparse
import datetime
import locale
import os
import os.path
import subprocess
import sys
from typing import List, Optional
def get_update_list():
@ -158,16 +160,25 @@ def may_have_copyright_notice(filename):
return False
def main():
def get_parser() -> argparse.ArgumentParser:
"""Get a command line parser."""
parser = argparse.ArgumentParser(
description=__doc__, formatter_class=argparse.RawDescriptionHelpFormatter
)
return parser
def main(argv: List[str]) -> Optional[int]:
"""The main subprogram."""
parser = get_parser()
_ = parser.parse_args(argv)
root_dir = os.path.dirname(os.getcwd())
os.chdir(root_dir)
if not (
os.path.isdir("gdb") and os.path.isfile("gnulib/import/extra/update-copyright")
):
print("Error: This script must be called from the gdb directory.")
sys.exit(1)
sys.exit("Error: This script must be called from the gdb directory.")
update_list = get_update_list()
update_files(update_list)
@ -416,4 +427,4 @@ NOT_FSF_LIST = (
)
if __name__ == "__main__":
main()
sys.exit(main(sys.argv[1:]))