stas 2002/07/31 07:40:15 Added: src/docs/general/cpan_mod_dev cpan_mod_dev.pod Log: started a new doc: "Preparing mod_perl modules for CPAN" Revision Changes Path 1.1 modperl-docs/src/docs/general/cpan_mod_dev/cpan_mod_dev.pod Index: cpan_mod_dev.pod =================================================================== =head1 NAME Preparing mod_perl modules for CPAN =head1 Description This document provides information for CPAN modules developers whose modules require mod_perl. =head1 Defining Makefile.PL Prerequisites that Require mod_perl If there are any prerequisites that need to be defined in I<Makefile.PL>, but require a mod_perl environment to successfully get loaded, the following workaround can be used. The following example will specify two prerequisites: C<CGI.pm> and C<Apache::DBI>, the latter can be loaded only under mod_perl whereas the former can be loaded from the command line. file:Makefile.PL ---------------- use ExtUtils::MakeMaker; # set prerequisites my %prereq = ( 'CGI' => 2.71, ); # Manually test whether Apache::DBI is installed and add it to the # PREREQ_PM if it's not installed, so CPAN.pm will automatically fetch # it. If Apache::DBI is already installed it will fail to get loaded by # MakeMaker because it requires the mod_perl environment to load. eval { require Apache::DBI }; if ($@ && $@ !~ /Can't locate object method/) { $prereq{'Apache::DBI'} = 0.87; } WriteMakefile( NAME => 'Apache::SuperDuper', VERSION_FROM => 'SuperDuper.pm', PREREQ_PM => \%prereq, # ... the rest ); Notice that I<Can't locate object method> is a part of the error generated when C<Apache::DBI> is installed but is attempted to be loaded outside of mod_perl, e.g. at the command line, which is the case with I<Makefile.PL>. =head1 Writing the Test Suite The C<Apache::Test> framework provides an easy way to test modules which require mod_perl (or Apache in general), be it 1.0 or 2.0 generation. Here is L<the complete guide to the C<Apache::Test> framework|docs::general::testing::testing>. =head1 Maintainers Maintainer is the person(s) you should contact with updates, corrections and patches. Stas Bekman E<lt>stas (at) stason.orgE<gt> =head1 Authors =over =item * Stas Bekman E<lt>stas (at) stason.orgE<gt> =item * =back Only the major authors are listed above. For contributors see the Changes file. =cut
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]