Scroll to navigation

COPYRIGHT-UPDATE(1) cvs status - formatter COPYRIGHT-UPDATE(1)

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.
2010-03-07 perl v5.10.1