##############################################################################
Overview
##############################################################################
cksfv (Check SFV) can create simple file verification (SFV) listings and test
already created SFV files.  Uses the crc32 checksum.

##############################################################################
Description
##############################################################################
Some files that you download will come with a .sfv file.  This is used to
verify that the files that you received are the same as the originals.
cksfv is a program that can use the .sfv file to verify the downloaded
files.  Also, it can be used to create new .sfv files.

##############################################################################
Examples
##############################################################################
Say you just downloaded some files and they came with .sfv file.  To verify
the files you can run the following command.  The output for the following
command is also shown.

        $ cksfv -f new_files.sfv
        --( Verifying file: new_files.sfv )-------------------------
        COPYING:        OK
        ChangeLog:      OK
        Makefile:       OK
        README:         OK
        cksfv:          OK
        ------------------------------------------------------------
        Everything OK

If you are getting a lot of errors looking like this:

        $ cksfv -f new_files.sfv
        --( Verifying file: new_files.sfv )-------------------------
        COPYING:        No such file or directory
        ChangeLog:      No such file or directory
        Makefile:       No such file or directory
        README:         No such file or directory
        cksfv:          No such file or directory
        ------------------------------------------------------------
        Errors Occurred

You might want to try using the -i flag.  This ignores case on filenames.
Sometimes the .sfv file will have all the file names in uppercase and your
files will be all in lowercase.  This option will fix that problem.

        $ cksfv -f new_files.sfv -i
        --( Verifying file: new_files.sfv )-------------------------
        COPYING:        OK
        ChangeLog:      OK
        Makefile:       OK
        README:         OK
        cksfv:          OK
        ------------------------------------------------------------
        Everything OK

If you do not want to check all files listed in an .sfv file, name the
files you want checked on the command line:

        $ cksfv -f new_files.sfv COPYING ChangeLog
        --( Verifying file: new_files.sfv )-------------------------
        COPYING:        OK
        ChangeLog:      OK
        ------------------------------------------------------------
        Everything OK

To check an entire directory plus any subdirectories recursively, you can
issue the recursive option. Note that you do not explicitly specify the name
of the .sfv file: the utility will look for an .sfv file in each directory
and automatically process it:

        $ cksfv -C /home/user/somedir -r

Note that by default symlinks are not followed by the command if the recursive
option is used, in order to prevent dangerous infinite recursion. If you feel
that for a particular situation it is warranted and safe to follow symlinks, 
modify the command like so:

        $ cksfv -C /home/user/somdir -r -L


Now for creating your own .sfv files.  You can run the following command.

        $ cksfv * > mine.sfv

It will create a create a file that looks like:

        ; Generated by cksfv v1.0 on 2000-04-17 at 10:47.20
        ; Written by Bryan Call <bc@fodder.org> - http://www.fodder.org/cksfv
        ;
        ;        17982  16:38.32 2000-04-16 COPYING
        ;          237  16:38.32 2000-04-16 ChangeLog
        ;          987  10:18.08 2000-04-17 Makefile
        ;          612  16:55.15 2000-04-16 README
        ;         9247  10:46.31 2000-04-17 cksfv
        COPYING 82734A69
        ChangeLog B8C5F036
        Makefile 44B12F14
        README 24C0ECD3
        cksfv 24B53B0D

To create .sfv and strip dirname away:

$ cksfv /foo/bar/* > mine.sfv
; Generated by cksfv v1.3.3 on 2005-02-04 at 19:05.28
; Originally Written by Bryan Call <bc@fodder.org>
; New versions maintained by Heikki Orsila <heikki.orsila@iki.fi>
; New versions can be obtained from http://www.iki.fi/shd/foss/cksfv/
;
;          134  21:50.57 2004-09-26 testaus.py
testaus.py A817212C


NOTE from Heikki Orsila <heikki.orsila@iki.fi>:

It seems Bryan Call has gone underground. New versions (mainly bug fixes) of
the program can be obtained from:

	http://www.iki.fi/shd/foss/cksfv/
