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