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.

