#!/usr/bin/python
#
-# Copyright (C) 2013-2017 Free Software Foundation, Inc.
+# Copyright (C) 2013-2020 Free Software Foundation, Inc.
#
# This script is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# output has been vetted. You can instead pass the names of individual
# directories, including those that haven't been approved. So:
#
-# update-copyright.pl --this-year
+# update-copyright.py --this-year
#
# is the command that would be used at the beginning of a year to update
# all copyright notices (and possibly at other times to check whether
# new files have been added with old years). On the other hand:
#
-# update-copyright.pl --this-year libitm
+# update-copyright.py --this-year libitm
#
# would run the script on just libitm/.
#
'COPYING3',
'COPYING3.LIB',
'LICENSE',
+ 'LICENSE.txt',
'fdl.texi',
'gpl_v3.texi',
'fdl-1.3.xml',
lines = []
changed = False
line_filter = filter.get_line_filter (dir, filename)
+ mode = None
with open (pathname, 'r') as file:
prev = None
+ mode = os.fstat (file.fileno()).st_mode
for line in file:
while line:
next_line = None
with open (tmp_pathname, 'w') as file:
for line in lines:
file.write (line)
+ os.fchmod (file.fileno(), mode)
if self.use_quilt:
subprocess.call (['quilt', 'add', pathname])
os.rename (tmp_pathname, pathname)
'.c',
'.C',
'.cc',
+ '.d',
'.h',
'.hs',
'.f',
# Similarly params/README.
if filename == 'README' and os.path.basename (dir) == 'params':
return True
+ if filename == 'pdt_5.f03' and os.path.basename (dir) == 'gfortran.dg':
+ return True
return GenericFilter.skip_file (self, dir, filename)
class LibCppFilter (GenericFilter):
'soft-fp',
])
+class LibPhobosFilter (GenericFilter):
+ def __init__ (self):
+ GenericFilter.__init__ (self)
+
+ self.skip_files |= set ([
+ # Source module imported from upstream.
+ 'object.d',
+ ])
+
+ self.skip_dirs |= set ([
+ # Contains sources imported from upstream.
+ 'core',
+ 'etc',
+ 'gc',
+ 'gcstub',
+ 'rt',
+ 'std',
+ ])
+
class LibStdCxxFilter (GenericFilter):
def __init__ (self):
GenericFilter.__init__ (self)
self.add_external_author ('Cavium Networks.')
self.add_external_author ('Faraday Technology Corp.')
self.add_external_author ('Florida State University')
+ self.add_external_author ('Gerard Jungman')
self.add_external_author ('Greg Colvin and Beman Dawes.')
self.add_external_author ('Hewlett-Packard Company')
self.add_external_author ('Intel Corporation')
self.add_external_author ('Information Technology Industry Council.')
self.add_external_author ('James Theiler, Brian Gough')
self.add_external_author ('Makoto Matsumoto and Takuji Nishimura,')
+ self.add_external_author ('Mentor Graphics Corporation')
self.add_external_author ('National Research Council of Canada.')
self.add_external_author ('NVIDIA Corporation')
self.add_external_author ('Peter Dimov and Multi Media Ltd.')
self.add_external_author ('Silicon Graphics')
self.add_external_author ('Stephen L. Moshier')
self.add_external_author ('Sun Microsystems, Inc. All rights reserved.')
+ self.add_external_author ('The D Language Foundation, All Rights Reserved')
self.add_external_author ('The Go Authors. All rights reserved.')
self.add_external_author ('The Go Authors. All rights reserved.')
self.add_external_author ('The Go Authors.')
self.add_external_author ('The Regents of the University of California.')
self.add_external_author ('Unicode, Inc.')
self.add_external_author ('University of Toronto.')
+ self.add_external_author ('Yoshinori Sato')
class GCCCmdLine (CmdLine):
def __init__ (self):
self.add_dir ('libatomic')
self.add_dir ('libbacktrace')
self.add_dir ('libcc1')
- # libcilkrts is imported from upstream.
self.add_dir ('libcpp', LibCppFilter())
self.add_dir ('libdecnumber')
# libffi is imported from upstream.
self.add_dir ('libitm')
self.add_dir ('libobjc')
# liboffloadmic is imported from upstream.
+ self.add_dir ('libphobos', LibPhobosFilter())
self.add_dir ('libquadmath')
# libsanitizer is imported from upstream.
self.add_dir ('libssp')
'libiberty',
'libitm',
'libobjc',
+ 'libphobos',
'libssp',
'libstdc++-v3',
'libvtv',