NAME¶
copyright-update - Update Copyright information in files
SYNOPSIS¶
copyright-update [options] FILE [FILE ...] | --recursive PATH [PATH ...]>
DESCRIPTION¶
Update the copyright information in set of files, possibly recursively, matching
content criteria. The updating affects copyright year, GPL address information
etc.
The line must have word "Copyright", a space, three characters '(C)'
(or a U+00A9 UTF copyright sign), a space, and the range of years. Varying
amount of spaces and tabs are permitted, but there must be no spaces around
the dash-character in YEAR-YEAR. Examples:
A whitespace, or multiple, required
| | No space between years
| | |
Copyright (C) YYYY-YYYY
Copyright: (C) YYYY-YYYY
|
A colon is optional
OPTIONS¶
- -a, --auto
- In automatic mode, the author's name is read from
environment variable NAME and only lines matching 'Copyright.*$NAME' are
affected. If NAME is not set, read information from EMAIL. See section
ENVIRONMENT.
This option effectively presets value for the --line option.
- -d, --debug LEVEL
- Turn on debug. Level can be in range 0-10.
- --fsf-address
- Change FSF (a)ddress paragraphs pointing only to URL. This
format is the format used in the GPL v3 license text:
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
Affects: paragraph with old address:
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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
Affects: paragraph with new address:
You should have received a copy of the GNU General Public License
along with this package; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301USA
- -h, --help
- Print text help
- --help-html
- Print help in HTML format.
- --help-man
- Print help in manual page man(1) format.
- -i, --include REGEXP
- Include files mathing regexp. The match is done against
whole path. The option can be used multiple times.
If this option is not supplied, every file is automatically included. The
matches can be further filtered by using options --exclude.
- -l, --line REGEXP
- Change only lines which match REGEXP. The match is
case-insensitive.
- -r, --recursive
- Recursively search all direcotories given at command
line.
- -R, --regexp REGEXP
- Change only files whose content matches REGEXP. The file is
read in as a one big string so it's possible to match using Perl regular
epxressions accross lines. An example: '(?smi)This.*multi.*line.*match'.
See perlre(1) for more information about 'smi' modifiers.
This options can be used as a preliminary Content criteria, to select
the file, before --line option finds the correct Copyright
line.
- -t, --test, --dry-run
- Run in test mode. Show what would happen. No files are
changed.
- -v, --verbose LEVEL
- Print informational messages. Increase numeric LEVEL for
more verbosity.
- -V, --version
- Print contact and version information
- -x, --exclude REGEXP
- Ignore files mathing regexp. The match is done against
whole path. The option can be used multiple times.
This option is applied after possible --include matches.
- -y, --year YEAR
- Update files using YEAR. Year value must be four digits.
The default is current calendar year.
- -Y, --no-year
- Disable updating year.
EXAMPLES¶
The primary use is to update files according to the current year:
copyright-update.pl --verbose 1 [--test] [--year YYYY] *
Update only C-code file:
copyright-update.pl --verbose 1 --include "*.[ch]" --recursive .
It is possible to restrict updating files recursively to only those files whose
content match regexp, like author is "Mr. Foo". The lines affected
are those that match
--line regular expression.
copyright-update.pl \
--recursive \
--regexp "Author:.*Mr. Foo" \
--line '\bFoo\b' \
--ignore '\.(bak|bup|[~#]])$' \
--verbose 1 \
--year 2002 \
--test \
.
TROUBLESHOOTING¶
None.
EXAMPLES¶
None.
ENVIRONMENT¶
- NAME
- In the form 'Firstname Lastname'. If set, this is used in
option --auto.
- EMAIL
- In the form 'Firtname.Lastname@example.com>'. If set,
this is used in option --auto only if environment variable NAME is
not set. The localpart in email address must match case insensitive regexp
'^[a-z-]+\.[a-z-]+@' or it is not used:
address@example.com Not used
dr.foo.company@example.com Not used
-------------
Localpart
FILES¶
None.
SEE ALSO¶
licensecheck(1) program in Debian.
COREQUISITES¶
Uses standard Perl modules.
AVAILABILITY¶
Homepage is at
http://freshmeat.net/projects/copyright-update
AUTHOR¶
Copyright (C) Jari Aalto
This program is free software; you can redistribute and/or modify program under
the terms of GNU General Public license either version 2 of the License, or
(at your option) any later version.