Provided by: libcpan-checksums-perl_2.09-1_all bug

NAME

       CPAN::Checksums - Write a "CHECKSUMS" file for a directory as on CPAN

SYNOPSIS

         use CPAN::Checksums qw(updatedir);
         my $success = updatedir($directory);

INCOMPATIBILITY ALERT

       Since version 1.0 the generation of the attribute "shortname" is turned off by default. It
       was too slow and was not used as far as I know, and above all, it could fail on large
       directories. The shortname feature can still be turned on by setting the global variable
       $TRY_SHORTNAME to a true value.

DESCRIPTION

       $success = updatedir($dir)
         "updatedir()" takes a directory name as argument and writes a typical "CHECKSUMS" file
         in that directory as used on CPAN unless a previously written "CHECKSUMS" file is there
         that is still valid. Returns 2 if a new "CHECKSUMS" file has been written, 1 if a valid
         "CHECKSUMS" file is already there, otherwise dies.

         Note: since version 2.0 updatedir on empty directories behaves just the same. In older
         versions it silently did nothing.

   Global Variables in package CPAN::Checksums
       $IGNORE_MATCH
           If the global variable $IGNORE_MATCH is set, then all files matching this expression
           will be completely ignored and will not be included in the CPAN "CHECKSUMS" files. Per
           default this variable is set to

               qr{(?i-xsm:readme$)}

       $CAUTION
           Setting the global variable $CAUTION causes updatedir() to report changes of files in
           the attributes "size", "mtime", "md5", or "md5-ungz" to STDERR.

       $TRY_SHORTNAME
           By setting the global variable $TRY_SHORTNAME to a true value, you can tell
           updatedir() to include an attribute "shortname" in the resulting hash that is
           8.3-compatible. Please note, that updatedir() in this case may be slow and may even
           fail on large directories, because it will always only try 1000 iterations to find a
           name that is not yet taken and then give up.

       $SIGNING_KEY
           Setting the global variable $SIGNING_KEY makes the generated "CHECKSUMS" file to be
           clear-signed by the command specified in $SIGNING_PROGRAM (defaults to "gpg
           --clearsign --default-key "), passing the signing key as an extra argument.  The
           resulting "CHECKSUMS" file should look like:

               0&&<<''; # this PGP-signed message is also valid perl
               -----BEGIN PGP SIGNED MESSAGE-----
               Hash: SHA1

               # CHECKSUMS file written on ... by CPAN::Checksums (v...)
               $cksum = {
                   ...
               };

               __END__
               -----BEGIN PGP SIGNATURE-----
               ...

               -----END PGP SIGNATURE-----
           note that the actual data remains intact, but two extra lines are added to make it
           legal for both OpenPGP and perl syntax.

       $MIN_MTIME_CHECKSUMS
           If the global variable $MIN_MTIME_CHECKSUMS is set, then updatedir will renew
           signatures on checksum files that have an older mtime than the given value.

PREREQUISITES

       DirHandle, IO::File, Digest::MD5, Digest::SHA, Compress::Bzip2, Compress::Zlib,
       File::Spec, Data::Dumper, Data::Compare, File::Temp

BUGS

       If updatedir is interrupted, it may leave a temporary file lying around. These files have
       the File::Temp template "CHECKSUMS.XXXX" and should be harvested by a cronjob.

AUTHOR

       Andreas Koenig, andreas.koenig@anima.de; GnuPG support by Autrijus Tang

COPYRIGHT & LICENSE

       Copyright (c) 2002-2008 Andreas Koenig, Audrey Tang, Steve Peters.

       This program is free software; you can redistribute it and/or modify it under the same
       terms as Perl itself.

SEE ALSO

       perl(1).