gdb/copyright.py: Convert to Python 3
gdb/ChangeLog: * copyright.py: Convert to Python 3.
This commit is contained in:
parent
51fd40020e
commit
5f4def5cbd
@ -1,3 +1,7 @@
|
|||||||
|
2020-01-01 Joel Brobecker <brobecker@adacore.com>
|
||||||
|
|
||||||
|
* copyright.py: Convert to Python 3.
|
||||||
|
|
||||||
2020-01-01 Joel Brobecker <brobecker@adacore.com>
|
2020-01-01 Joel Brobecker <brobecker@adacore.com>
|
||||||
|
|
||||||
* copyright.py: Adapt after move of gnulib directory from gdb
|
* copyright.py: Adapt after move of gnulib directory from gdb
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
#! /usr/bin/env python
|
#! /usr/bin/env python3
|
||||||
|
|
||||||
# Copyright (C) 2011-2019 Free Software Foundation, Inc.
|
# Copyright (C) 2011-2019 Free Software Foundation, Inc.
|
||||||
#
|
#
|
||||||
@ -31,6 +31,7 @@ This removes the bulk of the changes which are most likely to be correct.
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
import datetime
|
import datetime
|
||||||
|
import locale
|
||||||
import os
|
import os
|
||||||
import os.path
|
import os.path
|
||||||
import subprocess
|
import subprocess
|
||||||
@ -84,7 +85,8 @@ def update_files(update_list):
|
|||||||
update_cmd += update_list
|
update_cmd += update_list
|
||||||
|
|
||||||
p = subprocess.Popen(update_cmd, stdout=subprocess.PIPE,
|
p = subprocess.Popen(update_cmd, stdout=subprocess.PIPE,
|
||||||
stderr=subprocess.STDOUT)
|
stderr=subprocess.STDOUT,
|
||||||
|
encoding=locale.getpreferredencoding())
|
||||||
update_out = p.communicate()[0]
|
update_out = p.communicate()[0]
|
||||||
|
|
||||||
# Process the output. Typically, a lot of files do not have
|
# Process the output. Typically, a lot of files do not have
|
||||||
@ -95,20 +97,18 @@ def update_files(update_list):
|
|||||||
# the line out from the output, since there is nothing more to do,
|
# the line out from the output, since there is nothing more to do,
|
||||||
# short of looking at each file and seeing which notice is appropriate.
|
# short of looking at each file and seeing which notice is appropriate.
|
||||||
# Too much work! (~4,000 files listed as of 2012-01-03).
|
# Too much work! (~4,000 files listed as of 2012-01-03).
|
||||||
update_out = update_out.splitlines()
|
update_out = update_out.splitlines(keepends=False)
|
||||||
warning_string = ': warning: copyright statement not found'
|
warning_string = ': warning: copyright statement not found'
|
||||||
warning_len = len(warning_string)
|
warning_len = len(warning_string)
|
||||||
|
|
||||||
for line in update_out:
|
for line in update_out:
|
||||||
if line.endswith('\n'):
|
|
||||||
line = line[:-1]
|
|
||||||
if line.endswith(warning_string):
|
if line.endswith(warning_string):
|
||||||
filename = line[:-warning_len]
|
filename = line[:-warning_len]
|
||||||
if may_have_copyright_notice(filename):
|
if may_have_copyright_notice(filename):
|
||||||
print line
|
print(line)
|
||||||
else:
|
else:
|
||||||
# Unrecognized file format. !?!
|
# Unrecognized file format. !?!
|
||||||
print "*** " + line
|
print("*** " + line)
|
||||||
|
|
||||||
|
|
||||||
def may_have_copyright_notice(filename):
|
def may_have_copyright_notice(filename):
|
||||||
@ -128,11 +128,15 @@ def may_have_copyright_notice(filename):
|
|||||||
# 50 lines...
|
# 50 lines...
|
||||||
MAX_LINES = 50
|
MAX_LINES = 50
|
||||||
|
|
||||||
fd = open(filename)
|
# We don't really know what encoding each file might be following,
|
||||||
|
# so just open the file as a byte stream. We only need to search
|
||||||
|
# for a pattern that should be the same regardless of encoding,
|
||||||
|
# so that should be good enough.
|
||||||
|
fd = open(filename, 'rb')
|
||||||
|
|
||||||
lineno = 1
|
lineno = 1
|
||||||
for line in fd:
|
for line in fd:
|
||||||
if 'Copyright' in line:
|
if b'Copyright' in line:
|
||||||
return True
|
return True
|
||||||
lineno += 1
|
lineno += 1
|
||||||
if lineno > 50:
|
if lineno > 50:
|
||||||
@ -147,7 +151,7 @@ def main ():
|
|||||||
|
|
||||||
if not (os.path.isdir('gdb') and
|
if not (os.path.isdir('gdb') and
|
||||||
os.path.isfile("gnulib/import/extra/update-copyright")):
|
os.path.isfile("gnulib/import/extra/update-copyright")):
|
||||||
print "Error: This script must be called from the gdb directory."
|
print("Error: This script must be called from the gdb directory.")
|
||||||
sys.exit(1)
|
sys.exit(1)
|
||||||
|
|
||||||
update_list = get_update_list()
|
update_list = get_update_list()
|
||||||
@ -156,19 +160,19 @@ def main ():
|
|||||||
# Remind the user that some files need to be updated by HAND...
|
# Remind the user that some files need to be updated by HAND...
|
||||||
|
|
||||||
if MULTIPLE_COPYRIGHT_HEADERS:
|
if MULTIPLE_COPYRIGHT_HEADERS:
|
||||||
print
|
print()
|
||||||
print("\033[31m"
|
print("\033[31m"
|
||||||
"REMINDER: Multiple copyright headers must be updated by hand:"
|
"REMINDER: Multiple copyright headers must be updated by hand:"
|
||||||
"\033[0m")
|
"\033[0m")
|
||||||
for filename in MULTIPLE_COPYRIGHT_HEADERS:
|
for filename in MULTIPLE_COPYRIGHT_HEADERS:
|
||||||
print " ", filename
|
print(" ", filename)
|
||||||
|
|
||||||
if BY_HAND:
|
if BY_HAND:
|
||||||
print
|
print()
|
||||||
print "\033[31mREMINDER: The following files must be updated by hand." \
|
print("\033[31mREMINDER: The following files must be updated by hand." \
|
||||||
"\033[0m"
|
"\033[0m")
|
||||||
for filename in BY_HAND:
|
for filename in BY_HAND:
|
||||||
print " ", filename
|
print(" ", filename)
|
||||||
|
|
||||||
############################################################################
|
############################################################################
|
||||||
#
|
#
|
||||||
|
Loading…
Reference in New Issue
Block a user