--- /dev/null
+#! @PYTHON@
+
+'''
+ Copyright (c) 2009--210 Jan Nieuwenhuizen <janneke@gnu.org>
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2, or (at your option)
+ any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+'''
+
+import datetime
+import os
+import re
+import sys
+#
+sys.path.insert (0, '@top-src-dir@/scripts/build')
+import pytt
+
+dry_run = False
+
+def read_pipe (cmd, ignore_errors=False):
+ pipe = os.popen (cmd)
+ val = pipe.read ()
+ if pipe.close () and not ignore_errors:
+ raise SystemFailed ('Pipe failed: %(cmd)s' % locals ())
+ return val
+
+def filter_out (p, lst):
+ return filter (lambda x: not p (x), lst)
+
+copied_files = [
+ 'help2man.pl',
+ 'mf2pt1.mp',
+ 'mf2pt1.pl',
+ 'texinfo.tex',
+ 'txi-de.tex',
+ 'txi-en.tex',
+ 'txi-fr.tex',
+ 'txi-sf.tex',
+ ]
+
+def main ():
+ files = filter_out (lambda x: (os.path.basename (x) in copied_files
+ or 'CHANGES' in x or 'ChangeLog' in x),
+ read_pipe ('cd @top-src-dir@ && git ls-files').split ())
+ os.chdir ('@top-src-dir@')
+ year = datetime.datetime.now ().year
+ last_year = year - 1
+ last_year_1d = last_year % 10
+ for f in files:
+ pytt.pytt ('(Copyright|\(c\)|\(C\)|@copyright\{\})\s*%(last_year)s([^-]|$)' % locals (),
+ r'\1 %(last_year)s--%(year)s' % locals (),
+ f)
+ pytt.pytt ('(Copyright|\(c\)|\(C\)|@copyright\{\})\s*([^-]*)--(20[0-9][0-%(last_year_1d)s])' % locals (),
+ r'\1 \2--%(year)s' % locals (),
+ f)
+
+if __name__ == '__main__':
+ main ()
-#!@PYTHON@
+#! /usr/bin/python
+
+'''
+ Copyright (c) 2008--2009
+ Jan Nieuwenhuizen <janneke@gnu.org>
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2, or (at your option)
+ any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+'''
import os
import re
+import stat
import sys
-frm = re.compile (sys.argv[1], re.MULTILINE)
-to = sys.argv[2]
-
-if not sys.argv[3:] or sys.argv[3] == '-':
- sys.stdout.write (re.sub (frm, to, sys.stdin.read ()))
-for file in sys.argv[3:]:
- s = open (file).read ()
- name = os.path.basename (file)
- base, ext = os.path.splitext (name)
- t = re.sub (frm, to % locals (), s)
- if s != t:
- if 1:
- os.system ('mv %(file)s %(file)s~~' % locals ())
- h = open (file, "w")
- h.write (t)
- h.close ()
- else:
- sys.stdout.write (t)
+dry_run = False
+
+def pytt (from_re, to, file_name):
+ s = file (file_name).read ()
+ name = os.path.basename (file_name)
+ base, ext = os.path.splitext (name)
+ t = re.sub (from_re, to % locals (), s)
+ if s != t:
+ if dry_run:
+ sys.stdout.write (t)
+ else:
+ stat_info = os.stat (file_name)
+ mode = stat.S_IMODE (stat_info[stat.ST_MODE])
+ os.system ('mv --backup=t %(file_name)s %(file_name)s~' % locals ())
+ file (file_name, 'w').write (t)
+ os.chmod (file_name, mode)
+
+def main ():
+ from_re = re.compile (sys.argv[1], re.MULTILINE)
+ to = sys.argv[2]
+ if not sys.argv[3:] or sys.argv[3] == '-':
+ sys.stdout.write (re.sub (from_re, to, sys.stdin.read ()))
+ else:
+ for f in sys.argv[3:]:
+ pytt (from_re, to, f)
+
+if __name__ == '__main__':
+ main ()