=head1 NAME

smokeserv - Pugs Smoke Reports Server

=head1 DESCRIPTION

C<smokeserv-client.pl> is a Perl 5 program which submits smokes as generated by
the C<smoke-*> make targets (C<smoke>, C<smoke-perl5>, C<smoke-js>) to a public
smokeserver.

C<smokeserv-server.pl> is the smokeserver which accepts the smokes submitted
by C<smokeserv-client.pl>.

=head1 USAGE

=head2 Client

Using the client is easy. In the first place, you have to generate a
C<smoke.html>. You can achieve this by running C<make>:

  $ make smoke        # or
  $ make smoke-js     # or
  $ make smoke-perl5  # or
  $ make smoke-pir

Then you can upload the resulting smoke:

  $ ./tools/util/smokeserv-client.pl ./smoke.html

You don't need to be careful to only submit a smoke only once, etc. -- the
smokeserver takes care of this.

=head2 Server

Setting up a server is easy, too, all you have to do is to install several CPAN
modules (C<CGI>, C<CGI::Carp>, C<Fcntl>, C<Storable>, C<HTML::Template>,
C<Algorithm::TokenBucket>, C<Time::Piece>, C<Time::Seconds>, C<Compress::Zlib>,
and C<Compress::Bzip2>) and change the constants at the top of
C<smokeserv-server.pl>.

=head1 LICENSE

This program is free software; you can redistribute it and/or modify it under
the same terms as Perl itself. See L<perlgpl> and L<perlartistic> for details.

=cut
