From docsedwardbrown@example.com Thu Jan 02 00:49:06 2003 Return-Path: <docsedwardbrown@example.com> Delivered-To: edwardbrown@example.com Received: (qmail 55951 invoked by uid 500); 2 Jan 2003 00:49:06 -0000 Mailing-List: contact edwardbrown@example.com; run by ezmlm Precedence: bulk List-Post: <mailto:edwardbrown@example.com> List-Help: <mailto:edwardbrown@example.com> List-Unsubscribe: <mailto:edwardbrown@example.com> List-Subscribe: <mailto:edwardbrown@example.com> Delivered-To: mailing list edwardbrown@example.com Received: (qmail 55940 invoked by uid 500); 2 Jan 2003 00:49:05 -0000 Delivered-To: edwardbrown@example.com Date: 2 Jan 2003 00:49:04 -0000 Message-ID: <edwardbrown@example.com> From: edwardbrown@example.com To: edwardbrown@example.com Subject: cvs commit: modperl-docs/src/outstanding/stats graph.jpg input.data netcraft.html pseudo-graph.jpg securityspace.html X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N stas 2003/01/01 16:49:04 Modified: src/outstanding/stats graph.jpg input.data netcraft.html pseudo-graph.jpg securityspace.html Log: Dec 2002 stats update Revision Changes Path 1.11 +146 -152 modperl-docs/src/outstanding/stats/graph.jpg <<Binary file>> 1.11 +1 -0 modperl-docs/src/outstanding/stats/input.data Index: input.data =================================================================== RCS file: /home/cvs/modperl-docs/src/outstanding/stats/input.data,v retrieving revision 1.10 retrieving revision 1.11 diff -u -r1.10 -r1.11 --- input.data 1 Dec 2002 15:04:30 -0000 1.10 +++ input.data 2 Jan 2003 00:49:04 -0000 1.11 @@ -1,4 +1,5 @@ # this file must have the columns \t separated +December 2002 4082690 461309 November 2002 3943776 462402 October 2002 3753202 434418 September 2002 3882275 438194 1.11 +1 -0 modperl-docs/src/outstanding/stats/netcraft.html Index: netcraft.html =================================================================== RCS file: /home/cvs/modperl-docs/src/outstanding/stats/netcraft.html,v retrieving revision 1.10 retrieving revision 1.11 diff -u -r1.10 -r1.11 --- netcraft.html 1 Dec 2002 15:04:30 -0000 1.10 +++ netcraft.html 2 Jan 2003 00:49:04 -0000 1.11 @@ -31,6 +31,7 @@ <table cellpadding="3" border="1" cellspacing="0"> <tr><th>Survey</th><th>Hostnames</th><th>Unique IP Addresses</th></tr> +<tr><td> December 2002 </td><td>4082690</td><td>461309</td></tr> <tr><td> November 2002 </td><td>3943776</td><td>462402</td></tr> <tr><td> October 2002 </td><td>3753202</td><td>434418</td></tr> <tr><td> September 2002 </td><td>3882275</td><td>438194</td></tr> 1.11 +45 -55 modperl-docs/src/outstanding/stats/pseudo-graph.jpg <<Binary file>> 1.12 +2 -2 modperl-docs/src/outstanding/stats/securityspace.html Index: securityspace.html =================================================================== RCS file: /home/cvs/modperl-docs/src/outstanding/stats/securityspace.html,v retrieving revision 1.11 retrieving revision 1.12 diff -u -r1.11 -r1.12 --- securityspace.html 1 Dec 2002 15:04:30 -0000 1.11 +++ securityspace.html 2 Jan 2003 00:49:04 -0000 1.12 @@ -7,12 +7,12 @@ <body bgcolor="#ffffff"> <p> SecuritySpace provides an <a -href="http://www.securityspace.com/s_survey/data/man.200211/apachemods.html?mod=cGVybA==">Apache +href="http://www.securityspace.com/s_survey/data/man.200212/apachemods.html?mod=cGVybA==">Apache Module Report on mod_perl</a> comprising statistics and a graph based on the data collected by <a href="http://www.securityspace.com/">www.securityspace.com</a>. They also feature <a -href="http://www.securityspace.com/s_survey/data/man.200211/apachemods.html">a +href="http://www.securityspace.com/s_survey/data/man.200212/apachemods.html">a comparison</a> between all the Apache modules they survey. </p> </body> --------------------------------------------------------------------- To unsubscribe, e-mail: edwardbrown@example.com For additional commands, e-mail: edwardbrown@example.com From docsedwardbrown@example.com Thu Jan 02 07:56:08 2003 Return-Path: <docsedwardbrown@example.com> Delivered-To: edwardbrown@example.com Received: (qmail 19975 invoked by uid 500); 2 Jan 2003 07:56:08 -0000 Mailing-List: contact edwardbrown@example.com; run by ezmlm Precedence: bulk List-Post: <mailto:edwardbrown@example.com> List-Help: <mailto:edwardbrown@example.com> List-Unsubscribe: <mailto:edwardbrown@example.com> List-Subscribe: <mailto:edwardbrown@example.com> Delivered-To: mailing list edwardbrown@example.com Received: (qmail 19943 invoked by uid 500); 2 Jan 2003 07:56:08 -0000 Delivered-To: edwardbrown@example.com Date: 2 Jan 2003 07:56:04 -0000 Message-ID: <edwardbrown@example.com> From: edwardbrown@example.com To: edwardbrown@example.com Subject: cvs commit: modperl-docs/src/docs/2.0/os/win32 faq.pod config.cfg config.pod install.pod X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N randyk 2003/01/01 23:56:04 Modified: src/docs/1.0/os/win32 config.pod install.pod src/docs/2.0/os/win32 config.cfg config.pod install.pod Added: src/docs/2.0/os/win32 faq.pod Log: added win32 faq Revision Changes Path 1.6 +3 -1 modperl-docs/src/docs/1.0/os/win32/config.pod Index: config.pod =================================================================== RCS file: /home/cvs/modperl-docs/src/docs/1.0/os/win32/config.pod,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- config.pod 28 Dec 2002 20:35:27 -0000 1.5 +++ config.pod 2 Jan 2003 07:56:04 -0000 1.6 @@ -126,7 +126,9 @@ The directions for L<installing mod_perl 1.0 on Win32|docs888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4.888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4os888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4win888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4install>, the L<mod_perl -documentation|docs888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4index>, L<http://take23.org/>. +documentation|docs888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4index>, L<http://take23.org/>, +and the +L<FAQs for mod_perl on Win32|docs888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4.888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4os888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4win888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4faq>. Help is also available through the archives of and subscribing to the L<mod_perl mailing list|maillist888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4modperl>. 1.18 +3 -1 modperl-docs/src/docs/1.0/os/win32/install.pod Index: install.pod =================================================================== RCS file: /home/cvs/modperl-docs/src/docs/1.0/os/win32/install.pod,v retrieving revision 1.17 retrieving revision 1.18 diff -u -r1.17 -r1.18 --- install.pod 31 Dec 2002 19:24:25 -0000 1.17 +++ install.pod 2 Jan 2003 07:56:04 -0000 1.18 @@ -334,7 +334,9 @@ The directions for L<configuring mod_perl 1.0 on Win32|docs888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4.888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4os888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4win888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4config>, the L<mod_perl -documentation|docs888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4index>, L<http://take23.org/>. +documentation|docs888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4index>, L<http://take23.org/>, +and the +L<FAQs for mod_perl on Win32|docs888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4.888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4os888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4win888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4faq>. Help is also available through the archives of and subscribing to the L<mod_perl mailing list|maillist888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4modperl>. 1.8 +1 -0 modperl-docs/src/docs/2.0/os/win32/config.cfg Index: config.cfg =================================================================== RCS file: /home/cvs/modperl-docs/src/docs/2.0/os/win32/config.cfg,v retrieving revision 1.7 retrieving revision 1.8 diff -u -r1.7 -r1.8 --- config.cfg 21 Dec 2002 07:26:16 -0000 1.7 +++ config.cfg 2 Jan 2003 07:56:04 -0000 1.8 @@ -12,6 +12,7 @@ chapters => [qw( install.pod config.pod + faq.pod )], copy_glob => [qw( 1.9 +4 -2 modperl-docs/src/docs/2.0/os/win32/config.pod Index: config.pod =================================================================== RCS file: /home/cvs/modperl-docs/src/docs/2.0/os/win32/config.pod,v retrieving revision 1.8 retrieving revision 1.9 diff -u -r1.8 -r1.9 --- config.pod 28 Dec 2002 20:35:28 -0000 1.8 +++ config.pod 2 Jan 2003 07:56:04 -0000 1.9 @@ -187,8 +187,10 @@ The directions for L<installing mod_perl 2.0 on Win32|docs888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4.888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4os888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4win888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4install>, the L<mod_perl documentation|docs888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4index>, L<http://perl.apache.org/>, -L<http://take23.org/>, L<http://httpd.apache.org/>, and -L<http://www.activestate.com/>. +L<http://take23.org/>, L<http://httpd.apache.org/>, +L<http://www.activestate.com/>, +and the +L<FAQs for mod_perl on Win32|docs888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4.888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4os888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4win888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4faq>. Help is also available through the archives of and subscribing to the L<mod_perl mailing list|maillist888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4modperl>. 1.16 +3 -1 modperl-docs/src/docs/2.0/os/win32/install.pod Index: install.pod =================================================================== RCS file: /home/cvs/modperl-docs/src/docs/2.0/os/win32/install.pod,v retrieving revision 1.15 retrieving revision 1.16 diff -u -r1.15 -r1.16 --- install.pod 31 Dec 2002 19:24:25 -0000 1.15 +++ install.pod 2 Jan 2003 07:56:04 -0000 1.16 @@ -223,7 +223,9 @@ The directions for L<configuring mod_perl 2.0 on Win32|docs888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4.888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4os888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4win888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4config>, the L<mod_perl documentation|docs888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4index>, L<http://take23.org/>, -L<http://httpd.apache.org/>, and L<http://www.activestate.com/>. +L<http://httpd.apache.org/>, L<http://www.activestate.com/>, +and the +L<FAQs for mod_perl on Win32|docs888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4.888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4os888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4win888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4faq>. Help is also available through the archives of and subscribing to the L<mod_perl mailing list|maillist888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4modperl>. 1.1 modperl-docs/src/docs/2.0/os/win32/faq.pod Index: faq.pod =================================================================== =head1 NAME Frequently asked questions for mod_perl on Win32 =head1 Description This document discusses some questions that arise often with mod_perl on Win32. =head1 Obtaining mod_perl =head2 Do I need Perl to use mod_perl? Yes, Perl is required. You can obtain a Win32 Perl binary from L<http://www.activestate.com/>. See also the all-in-one binary packages for both L<mod_perl 1.0|docs888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4.888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4os888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4win888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4install/All_in_one_packages> and L<mod_perl 2.0|docs888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4.888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4os888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4win888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4install/All_in_one_packages> which include Perl, Apache, and mod_perl. =head2 Are mod_perl ppm packages available? PPM packages for both L<mod_perl 1.0|docs888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4.888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4os888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4win888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4install/PPM_Packages> and L<mod_perl 2.0|docs888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4.888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4os888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4win888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4install/PPM_Packages> are available. =head2 Should I use mod_perl 1.0 or mod_perl 2.0? L<mod_perl 1.0|docs888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4.888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4gui888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4intro>, for use with Apache 1.0, is stable and well tested, while L<mod_perl 2.0|docs888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4.888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4user888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4intro888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4overview>, for use with Apache 2.0, is in a development stage. Normally, therefore, one would recommend mod_perl 2.0 only in a testing and development environment. However, on Win32 mod_perl 1.0 is subject to some serious L<threading limitations|docs888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4.888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4os888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4win888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4multithread> which are overcome with mod_perl 2.0; this, coupled with the improved performance of Apache 2.0 on Win32, may make mod_perl 2.0 a better choice. =head1 Installing mod_perl =head2 I get an "unable to load mod_perl.so" error when starting Apache. This can be due to a number of reasons. =over =item Verify that mod_perl.so was compiled against the same Perl and Apache versions that you are using. =item Check that the directory containing C<perl.exe> is in your I<PATH> environment variable. =item Try inserting a directive LoadFile "C:/Path/to/your/Perl/bin/perlxx.dll" before the LoadModule perl_module modules/mod_perl.so directive. =item Try a reboot. =back =head2 How do I set the PATH environment variable? This differs according to the flavour of Win32 you are using. Search for I<set PATH environment> within the Windows Help utility under the Start menu for instructions. =head1 Configuring mod_perl =head2 How do I know scripts are running under mod_perl? You can test this by using a script which prints out the L<environment variables|docs888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4.888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4gui888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4install/Testing_via_a_CGI_script>; note that for mod_perl 2.0 a slightly L<different configuration|docs888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4.888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4os888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4win888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4config/Registry_scripts> is required. =head2 My script gets returned as plain text. See the discussion of configuring L<Apach888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4Registry|docs888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4.888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4gui888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4config/My_CGI_Perl_Code_Gets_Returned_as_Plain_Text_Instead_of_Being_Executed_by_the_Webserver>; for mod_perl 2.0, a L<different configuration|docs888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4.888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4user888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4ompat888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4ompat/The_C_Apache__Registry__Family> is required. =head2 I get a "Save-As" dialogue box when calling a script. See the discussion about L<PerlSendHeader|docs888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4.888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4gui888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4config/My_Script_Works_under_mod_cgi__but_when_Called_via_mod_perl_I_Get_a__Save_As__Prompt>; note that for mod_perl 2.0, there is a L<different syntax|docs888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4.888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4user888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4ompat888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4ompat/C_PerlSendHeader_>. =head2 My script displays a "Content-type" header in the browser. Check the setting of L<PerlSendHeader|docs888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4.888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4gui888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4porting/Generating_correct_HTTP_Headers>; note that for mod_perl 2.0, there is a L<different syntax|docs888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4.888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4user888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4ompat888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4ompat/C_PerlSendHeader_>. =head1 Using mod_perl =head2 One request must finish before another is processed. You are probably running into L<multithreading limitations|docs888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4.888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4os888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4win888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4multithread> of mod_perl 1.0; if this is a major problem, you should consider using L<mod_perl 2.0|docs888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4.888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4os888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4win888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4install>. =head2 My script just hangs. You should check the setting of L<PerlSendHeader|docs888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4.888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4gui888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4porting/Generating_correct_HTTP_Headers>; for mod_perl 2.0, there is a L<different syntax|docs888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4.888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4user888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4ompat888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4ompat/C_PerlSendHeader_>. If this setting is correct, and this occurs under mod_perl 2.0 and Perl-5.6.1, try upgrading to L<Perl-5.8.0|docs888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4.888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4os888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4win888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4install>. =head2 How do I run ASP scripts? For a mod_perl solution, check L<http://www.apache-asp.org/> for a discussion of the Apach888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4ASP module. =head2 How do I install additional Apache modules? If these aren't available via ppm from the repositories for L<mod_perl 1.0|docs888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4.888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4os888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4win888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4install/PPM_Packages> or L<mod_perl 2.0|docs888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4.888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4os888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4win888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4install/PPM_Packages>, you can build them using the L<CPAN.pm|docs888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4.888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4os888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4win888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4config/Apache_modules> module. =head1 See Also The discussion of L<frequent mod_perl problems|docs888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4.888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4gui888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4frequent>, the L<troubleshooting index|docs888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4.888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4gui888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4troubleshooting>, L<debugging mod_perl|docs888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4.888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4gui888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4debug>, and a L<troubleshooting guide for mod_perl 2.0|docs888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4.888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4user888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4troubleshooting888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4troubleshooting>. Help is also available through the archives of and subscribing to the L<mod_perl mailing list|maillist888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4modperl>; you will probably find the L<guide to getting help|docs888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4.888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4gui888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4help> useful reading beforehand. =head1 Maintainers Maintainer is the person(s) you should contact with updates, corrections and patches. =over =item * Randy Kobes E<lt>edwardbrown@example.com<gt> =back =head1 Authors =over =item * Randy Kobes E<lt>edwardbrown@example.com<gt> =back Only the major authors are listed above. For contributors see the Changes file. =cut --------------------------------------------------------------------- To unsubscribe, e-mail: edwardbrown@example.com For additional commands, e-mail: edwardbrown@example.com From docsedwardbrown@example.com Thu Jan 02 20:51:37 2003 Return-Path: <docsedwardbrown@example.com> Delivered-To: edwardbrown@example.com Received: (qmail 36531 invoked by uid 500); 2 Jan 2003 20:51:37 -0000 Mailing-List: contact edwardbrown@example.com; run by ezmlm Precedence: bulk List-Post: <mailto:edwardbrown@example.com> List-Help: <mailto:edwardbrown@example.com> List-Unsubscribe: <mailto:edwardbrown@example.com> List-Subscribe: <mailto:edwardbrown@example.com> Delivered-To: mailing list edwardbrown@example.com Received: (qmail 36518 invoked by uid 500); 2 Jan 2003 20:51:36 -0000 Delivered-To: edwardbrown@example.com Date: 2 Jan 2003 20:51:35 -0000 Message-ID: <edwardbrown@example.com> From: edwardbrown@example.com To: edwardbrown@example.com Subject: cvs commit: modperl-docs/src/docs/2.0/os/win32 install.pod X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N randyk 2003/01/02 12:51:35 Modified: src/docs/1.0/os/win32 install.pod src/docs/2.0/os/win32 install.pod Log: describe how to get all-in-one packages from a split distribution Revision Changes Path 1.19 +6 -2 modperl-docs/src/docs/1.0/os/win32/install.pod Index: install.pod =================================================================== RCS file: /home/cvs/modperl-docs/src/docs/1.0/os/win32/install.pod,v retrieving revision 1.18 retrieving revision 1.19 diff -u -r1.18 -r1.19 --- install.pod 2 Jan 2003 07:56:04 -0000 1.18 +++ install.pod 2 Jan 2003 20:51:35 -0000 1.19 @@ -226,8 +226,12 @@ necessary Perl and Apache binaries: IndigoPerl from L<http://www.indigostar.com/>, and the self-extracting archive F<perl-win32-bin.exe> from -L<ftp://theoryx5.uwinnipeg.ca/pub/other/> (see the file -F<perl-win32-bin.readme> for a description). +L<ftp://theoryx5.uwinnipeg.ca/pub/other/> - see the file +F<perl-win32-bin.readme> for a description. If you have trouble +fetching the whole file at once, the directory +L<ftp://theoryx5.uwinnipeg.ca/pub/other/perl-win32-bin/> +contains this distribution split across multiple files - +see F<README.join> for instructions on how to join them. As well as including a number of non-core modules, both of these packages contain mod_perl. See the documentation on the web sites and 1.17 +5 -1 modperl-docs/src/docs/2.0/os/win32/install.pod Index: install.pod =================================================================== RCS file: /home/cvs/modperl-docs/src/docs/2.0/os/win32/install.pod,v retrieving revision 1.16 retrieving revision 1.17 diff -u -r1.16 -r1.17 --- install.pod 2 Jan 2003 07:56:04 -0000 1.16 +++ install.pod 2 Jan 2003 20:51:35 -0000 1.17 @@ -216,7 +216,11 @@ archive F<Perl-5.8-win32-bin.exe> containing a binary version of perl-5.8 (compatible with ActivePerl 8xx), together with Apache 2.0 and mod_perl 2.0. See the file F<Perl-5.8-win32-bin.readme> for -a description. +a description. If you have trouble +fetching the whole file at once, the directory +L<ftp://theoryx5.uwinnipeg.ca/pub/other/Perl-5.8-win32-bin/> +contains this distribution split across multiple files - +see F<README.join> for instructions on how to join them. =head1 See Also --------------------------------------------------------------------- To unsubscribe, e-mail: edwardbrown@example.com For additional commands, e-mail: edwardbrown@example.com From docsedwardbrown@example.com Thu Jan 02 21:56:51 2003 Return-Path: <docsedwardbrown@example.com> Delivered-To: edwardbrown@example.com Received: (qmail 78423 invoked by uid 500); 2 Jan 2003 21:56:51 -0000 Mailing-List: contact edwardbrown@example.com; run by ezmlm Precedence: bulk List-Post: <mailto:edwardbrown@example.com> List-Help: <mailto:edwardbrown@example.com> List-Unsubscribe: <mailto:edwardbrown@example.com> List-Subscribe: <mailto:edwardbrown@example.com> Delivered-To: mailing list edwardbrown@example.com Received: (qmail 78412 invoked by uid 500); 2 Jan 2003 21:56:51 -0000 Delivered-To: edwardbrown@example.com Date: 2 Jan 2003 21:56:50 -0000 Message-ID: <edwardbrown@example.com> From: edwardbrown@example.com To: edwardbrown@example.com Subject: cvs commit: modperl-docs/src/docs/2.0/os/win32 get-Perl-5.8-win32-bin config.cfg install.pod X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N randyk 2003/01/02 13:56:50 Modified: src/docs/1.0/os/win32 config.cfg install.pod src/docs/2.0/os/win32 config.cfg install.pod Added: src/docs/1.0/os/win32 get-perl-win32-bin src/docs/2.0/os/win32 get-Perl-5.8-win32-bin Log: added script to fetch, build, and install all-in-one packages. Revision Changes Path 1.8 +1 -0 modperl-docs/src/docs/1.0/os/win32/config.cfg Index: config.cfg =================================================================== RCS file: /home/cvs/modperl-docs/src/docs/1.0/os/win32/config.cfg,v retrieving revision 1.7 retrieving revision 1.8 diff -u -r1.7 -r1.8 --- config.cfg 21 Dec 2002 07:26:16 -0000 1.7 +++ config.cfg 2 Jan 2003 21:56:50 -0000 1.8 @@ -17,6 +17,7 @@ copy_glob => [qw( mpinstall + get-perl-win32-bin )], changes => 'Changes.pod', 1.20 +4 -0 modperl-docs/src/docs/1.0/os/win32/install.pod Index: install.pod =================================================================== RCS file: /home/cvs/modperl-docs/src/docs/1.0/os/win32/install.pod,v retrieving revision 1.19 retrieving revision 1.20 diff -u -r1.19 -r1.20 --- install.pod 2 Jan 2003 20:51:35 -0000 1.19 +++ install.pod 2 Jan 2003 21:56:50 -0000 1.20 @@ -232,6 +232,10 @@ L<ftp://theoryx5.uwinnipeg.ca/pub/other/perl-win32-bin/> contains this distribution split across multiple files - see F<README.join> for instructions on how to join them. +Alternatively, if you have Perl already, you can get the script +F<get-perl-win32-bin> which, when invoked as +C<perl get-perl-win32-bin>, will fetch and join +the files for you. As well as including a number of non-core modules, both of these packages contain mod_perl. See the documentation on the web sites and 1.1 modperl-docs/src/docs/1.0/os/win32/get-perl-win32-bin Index: get-perl-win32-bin =================================================================== ##################################################################### # A Perl script to retrieve and join split files # making up a Win32 Perl/Apache binary distribution # # Files created by hjsplit (http://www.freebyte.com/hjsplit/) # with the joining accomplished by hj-join # # This script is Copyright 2003, by Randy Kobes, # and may be distributed under the same terms as Perl itself. # Please report problems to Randy Kobes <edwardbrown@example.com> ##################################################################### use strict; use warnings; use LWP888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4Simple; use Safe; use Digest888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4MD5; use IO888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4ile; use ExtUtils888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4MakeMaker; my $dist = 'perl-win32-bin'; my $exe = $dist . '.exe'; my $theoryx5 = 'ftp://theoryx5.uwinnipeg.ca/pub/other' . '/' . $dist; my $max = 9; print <<"END"; This script will fetch and then join the files needed for creating the Perl/Apache Win32 binary distribution $exe from $theoryx5/. If the file transfer is interrupted before all the neccessary files are joined, run the script again in the same directory; files successfully fetched earlier will not be downloaded again. END my $ans = prompt("Fetch $exe?", 'yes'); die "Installation aborted" unless ($ans =~ /^y/i); my $cs = 'CHECKSUMS'; my $checksums = $theoryx5 . '/' . $cs; my $join = 'join32.exe'; my $rjoin = $theoryx5 . '/' . $join; # fetch the CHECKSUMS file print "Fetching $cs ..."; getstore($checksums, $cs); print " done!\n"; die "Failed to fetch $cs" unless (-e $cs); # fetch the join program unless (-e $join) { print "Fetching $join ..."; getstore($rjoin, $join); print " done!\n"; die "Failed to fetch $join" unless (-e $join); unless (verifyMD5($join)) { print qq{CHECKSUM check for "$join" failed.\n}; unlink $join or warn "Cannot unlink $join: $!"; die; } } # fetch the split files my @files; for (1 .. $max) { my $num = $_ < 10 ? "00$_" : "0$_"; my $file = $dist . '.exe.' . $num; push @files, $file; if (-e $file) { print "Skipping $file ...\n"; next; } my $rfile = $theoryx5 . '/' . $file; print "Fetching $file ..."; getstore($rfile, $file); print " done!\n"; die "Failed to fetch $file" unless (-e $file); unless (verifyMD5($file)) { print qq{CHECKSUM check for "$file" failed.\n}; unlink $file or warn "Cannot unlink $file: $!"; die; } } #now join them my @args = ('join32'); system(@args); die "Joining files to create $exe failed" unless (-e $exe); # remove the temporary files, if desired $ans = prompt('Remove temporary files?', 'yes'); if ($ans =~ /^y/i) { unlink @files or warn "Cannot unlink @files: $!"; } # run the exe, if desired $ans = prompt("Run $exe now?", 'yes'); if ($ans =~ /^y/i) { @args = ($exe); system(@args); } else { print "Double click on $exe to install\n"; } # routine to verify the CHECKSUMS for a file # adapted from the MD5 check of CPAN.pm sub verifyMD5 { my $file = shift; my $fh = IO888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4ile->new; my $cksum; unless (open $fh, $cs) { warn "Could not open $cs: $!"; return; } local($/); my $eval = <$fh>; $eval =~ s/\015?\012/\n/g; close $fh; my $comp = Safe->new(); $cksum = $comp->reval($eval); if ($@) { warn $@; return; } my ($is, $should); unless (open(FILE, $file)) { warn "Cannot open $file: $!"; return; } binmode(FILE); unless ($is = Digest888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4MD5->new->addfile(*FILE)->hexdigest) { warn "Could not compute checksum for $file: $!"; close(FILE); return; } close(FILE); if ($should = $cksum->{$file}->{md5}) { my $test = $is eq $should ? 1 : 0; printf qq{Checksum for "$file" is %s\n}, ($test == 1) ? 'OK.' : 'NOT OK.'; return $test; } else { warn "Checksum data for $file not present in CHECKSUMS.\n"; return; } } 1.9 +1 -0 modperl-docs/src/docs/2.0/os/win32/config.cfg Index: config.cfg =================================================================== RCS file: /home/cvs/modperl-docs/src/docs/2.0/os/win32/config.cfg,v retrieving revision 1.8 retrieving revision 1.9 diff -u -r1.8 -r1.9 --- config.cfg 2 Jan 2003 07:56:04 -0000 1.8 +++ config.cfg 2 Jan 2003 21:56:50 -0000 1.9 @@ -17,6 +17,7 @@ copy_glob => [qw( mpinstall + get-Perl-5.8-win32-bin )], changes => 'Changes.pod', 1.18 +5 -1 modperl-docs/src/docs/2.0/os/win32/install.pod Index: install.pod =================================================================== RCS file: /home/cvs/modperl-docs/src/docs/2.0/os/win32/install.pod,v retrieving revision 1.17 retrieving revision 1.18 diff -u -r1.17 -r1.18 --- install.pod 2 Jan 2003 20:51:35 -0000 1.17 +++ install.pod 2 Jan 2003 21:56:50 -0000 1.18 @@ -220,7 +220,11 @@ fetching the whole file at once, the directory L<ftp://theoryx5.uwinnipeg.ca/pub/other/Perl-5.8-win32-bin/> contains this distribution split across multiple files - -see F<README.join> for instructions on how to join them. +see F<README.join> for instructions on how to join them. Alternatively, +if you have Perl already, you can get the script +F<get-Perl-5.8-win32-bin> which, when invoked as +C<perl get-Perl-5.8-win32-bin>, will fetch and join +the files for you. =head1 See Also 1.1 modperl-docs/src/docs/2.0/os/win32/get-Perl-5.8-win32-bin Index: get-Perl-5.8-win32-bin =================================================================== ##################################################################### # A Perl script to retrieve and join split files # making up a Win32 Perl/Apache binary distribution # # Files created by hjsplit (http://www.freebyte.com/hjsplit/) # with the joining accomplished by hj-join # # This script is Copyright 2003, by Randy Kobes, # and may be distributed under the same terms as Perl itself. # Please report problems to Randy Kobes <edwardbrown@example.com> ##################################################################### use strict; use warnings; use LWP888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4Simple; use Safe; use Digest888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4MD5; use IO888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4ile; use ExtUtils888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4MakeMaker; my $dist = 'Perl-5.8-win32-bin'; my $exe = $dist . '.exe'; my $theoryx5 = 'ftp://theoryx5.uwinnipeg.ca/pub/other' . '/' . $dist; my $max = 13; print <<"END"; This script will fetch and then join the files needed for creating the Perl/Apache Win32 binary distribution $exe from $theoryx5/. If the file transfer is interrupted before all the neccessary files are joined, run the script again in the same directory; files successfully fetched earlier will not be downloaded again. END my $ans = prompt("Fetch $exe?", 'yes'); die "Installation aborted" unless ($ans =~ /^y/i); my $cs = 'CHECKSUMS'; my $checksums = $theoryx5 . '/' . $cs; my $join = 'join32.exe'; my $rjoin = $theoryx5 . '/' . $join; # fetch the CHECKSUMS file print "Fetching $cs ..."; getstore($checksums, $cs); print " done!\n"; die "Failed to fetch $cs" unless (-e $cs); # fetch the join program unless (-e $join) { print "Fetching $join ..."; getstore($rjoin, $join); print " done!\n"; die "Failed to fetch $join" unless (-e $join); unless (verifyMD5($join)) { print qq{CHECKSUM check for "$join" failed.\n}; unlink $join or warn "Cannot unlink $join: $!"; die; } } # fetch the split files my @files; for (1 .. $max) { my $num = $_ < 10 ? "00$_" : "0$_"; my $file = $dist . '.exe.' . $num; push @files, $file; if (-e $file) { print "Skipping $file ...\n"; next; } my $rfile = $theoryx5 . '/' . $file; print "Fetching $file ..."; getstore($rfile, $file); print " done!\n"; die "Failed to fetch $file" unless (-e $file); unless (verifyMD5($file)) { print qq{CHECKSUM check for "$file" failed.\n}; unlink $file or warn "Cannot unlink $file: $!"; die; } } #now join them my @args = ('join32'); system(@args); die "Joining files to create $exe failed" unless (-e $exe); # remove the temporary files, if desired $ans = prompt('Remove temporary files?', 'yes'); if ($ans =~ /^y/i) { unlink @files or warn "Cannot unlink @files: $!"; } # run the exe, if desired $ans = prompt("Run $exe now?", 'yes'); if ($ans =~ /^y/i) { @args = ($exe); system(@args); } else { print "Double click on $exe to install\n"; } # routine to verify the CHECKSUMS for a file # adapted from the MD5 check of CPAN.pm sub verifyMD5 { my $file = shift; my $fh = IO888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4ile->new; my $cksum; unless (open $fh, $cs) { warn "Could not open $cs: $!"; return; } local($/); my $eval = <$fh>; $eval =~ s/\015?\012/\n/g; close $fh; my $comp = Safe->new(); $cksum = $comp->reval($eval); if ($@) { warn $@; return; } my ($is, $should); unless (open(FILE, $file)) { warn "Cannot open $file: $!"; return; } binmode(FILE); unless ($is = Digest888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4MD5->new->addfile(*FILE)->hexdigest) { warn "Could not compute checksum for $file: $!"; close(FILE); return; } close(FILE); if ($should = $cksum->{$file}->{md5}) { my $test = $is eq $should ? 1 : 0; printf qq{Checksum for "$file" is %s\n}, ($test == 1) ? 'OK.' : 'NOT OK.'; return $test; } else { warn "Checksum data for $file not present in CHECKSUMS.\n"; return; } } --------------------------------------------------------------------- To unsubscribe, e-mail: edwardbrown@example.com For additional commands, e-mail: edwardbrown@example.com From docsedwardbrown@example.com Fri Jan 03 04:33:31 2003 Return-Path: <docsedwardbrown@example.com> Delivered-To: edwardbrown@example.com Received: (qmail 5459 invoked by uid 500); 3 Jan 2003 04:33:30 -0000 Mailing-List: contact edwardbrown@example.com; run by ezmlm Precedence: bulk List-Post: <mailto:edwardbrown@example.com> List-Help: <mailto:edwardbrown@example.com> List-Unsubscribe: <mailto:edwardbrown@example.com> List-Subscribe: <mailto:edwardbrown@example.com> Delivered-To: mailing list edwardbrown@example.com Received: (qmail 5448 invoked by uid 500); 3 Jan 2003 04:33:30 -0000 Delivered-To: edwardbrown@example.com Date: 3 Jan 2003 04:33:29 -0000 Message-ID: <edwardbrown@example.com> From: edwardbrown@example.com To: edwardbrown@example.com Subject: cvs commit: modperl-docs/src/docs/2.0/user/compat compat.pod X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N stas 2003/01/02 20:33:28 Modified: src/docs/2.0/user/compat compat.pod Log: add Apach888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4PerlRun to the title, for clueless users Revision Changes Path 1.39 +5 -3 modperl-docs/src/docs/2.0/user/compat/compat.pod Index: compat.pod =================================================================== RCS file: /home/cvs/modperl-docs/src/docs/2.0/user/compat/compat.pod,v retrieving revision 1.38 retrieving revision 1.39 diff -u -r1.38 -r1.39 --- compat.pod 28 Dec 2002 07:39:28 -0000 1.38 +++ compat.pod 3 Jan 2003 04:33:28 -0000 1.39 @@ -154,7 +154,7 @@ directory I<5.8.0/i686-linux-thread-multi> in C<@INC>. -=head1 The C<Apach888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4Registry> Family +=head1 C<Apach888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4Registry>, C<Apach888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4PerlRun> and Friends C<Apach888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4Registry>, C<Apach888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4PerlRun> and other modules from the registry family now live in the C<ModPerl888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4> namespace to avoid @@ -511,12 +511,14 @@ =head2 C<$r-E<gt>log_reason> C<$r-E<gt>log_reason> is not available in mod_perl 2.0 API. Use the -other standard logging functions provided by the C<L<Apach888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4Log|docs888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4.888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4api888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4mod_perl-2.888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4Apach888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4Log>> +other standard logging functions provided by the +C<L<Apach888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4Log|docs888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4.888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4api888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4mod_perl-2.888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4Apach888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4Log>> module. For example: $r->log_error("it works!"); -See the C<L<Apach888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4Log|docs888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4.888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4api888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4mod_perl-2.888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4Apach888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4Log>> manpage. +See the C<L<Apach888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4Log|docs888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4.888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4api888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4mod_perl-2.888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4Apach888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4Log>> +manpage. =head2 C<$r-E<gt>register_cleanup> --------------------------------------------------------------------- To unsubscribe, e-mail: edwardbrown@example.com For additional commands, e-mail: edwardbrown@example.com From docsedwardbrown@example.com Fri Jan 03 04:43:07 2003 Return-Path: <docsedwardbrown@example.com> Delivered-To: edwardbrown@example.com Received: (qmail 8120 invoked by uid 500); 3 Jan 2003 04:43:07 -0000 Mailing-List: contact edwardbrown@example.com; run by ezmlm Precedence: bulk List-Post: <mailto:edwardbrown@example.com> List-Help: <mailto:edwardbrown@example.com> List-Unsubscribe: <mailto:edwardbrown@example.com> List-Subscribe: <mailto:edwardbrown@example.com> Delivered-To: mailing list edwardbrown@example.com Received: (qmail 8109 invoked by uid 500); 3 Jan 2003 04:43:07 -0000 Delivered-To: edwardbrown@example.com Date: 3 Jan 2003 04:43:05 -0000 Message-ID: <edwardbrown@example.com> From: edwardbrown@example.com To: edwardbrown@example.com Subject: cvs commit: modperl-docs/src/docs/2.0/os/win32 config.cfg faq.pod get-Perl-5.8-win32-bin X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N randyk 2003/01/02 20:43:05 Modified: src/docs/2.0/os/win32 config.cfg faq.pod get-Perl-5.8-win32-bin Log: - avoid =item becoming bold-faced - tweaks and enhancements to download script Revision Changes Path 1.10 +1 -1 modperl-docs/src/docs/2.0/os/win32/config.cfg Index: config.cfg =================================================================== RCS file: /home/cvs/modperl-docs/src/docs/2.0/os/win32/config.cfg,v retrieving revision 1.9 retrieving revision 1.10 diff -u -r1.9 -r1.10 --- config.cfg 2 Jan 2003 21:56:50 -0000 1.9 +++ config.cfg 3 Jan 2003 04:43:05 -0000 1.10 @@ -17,7 +17,7 @@ copy_glob => [qw( mpinstall - get-Perl-5.8-win32-bin + get-Perl-5.8-win32-bin )], changes => 'Changes.pod', 1.2 +13 -5 modperl-docs/src/docs/2.0/os/win32/faq.pod Index: faq.pod =================================================================== RCS file: /home/cvs/modperl-docs/src/docs/2.0/os/win32/faq.pod,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- faq.pod 2 Jan 2003 07:56:04 -0000 1.1 +++ faq.pod 3 Jan 2003 04:43:05 -0000 1.2 @@ -49,12 +49,18 @@ =over -=item Verify that mod_perl.so was compiled against the same Perl and Apache +=item * + +Verify that mod_perl.so was compiled against the same Perl and Apache versions that you are using. -=item Check that the directory containing C<perl.exe> is in your I<PATH> environment variable. +=item * + +Check that the directory containing C<perl.exe> is in your I<PATH> environment variable. -=item Try inserting a directive +=item * + +Try inserting a directive LoadFile "C:/Path/to/your/Perl/bin/perlxx.dll" @@ -62,9 +68,11 @@ LoadModule perl_module modules/mod_perl.so -directive. +directive, where F<perlxx.dll> is the Perl dll in your Perl I<bin> directory. + +=item * -=item Try a reboot. +Try a reboot. =back 1.2 +76 -34 modperl-docs/src/docs/2.0/os/win32/get-Perl-5.8-win32-bin Index: get-Perl-5.8-win32-bin =================================================================== RCS file: /home/cvs/modperl-docs/src/docs/2.0/os/win32/get-Perl-5.8-win32-bin,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- get-Perl-5.8-win32-bin 2 Jan 2003 21:56:50 -0000 1.1 +++ get-Perl-5.8-win32-bin 3 Jan 2003 04:43:05 -0000 1.2 @@ -12,48 +12,67 @@ use strict; use warnings; -use LWP888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4Simple; +use Net888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4TP; use Safe; use Digest888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4MD5; use IO888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4ile; use ExtUtils888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4MakeMaker; +die "This is intended for Win32" unless ($^O =~ /Win32/i); + my $dist = 'Perl-5.8-win32-bin'; my $exe = $dist . '.exe'; -my $theoryx5 = 'ftp://theoryx5.uwinnipeg.ca/pub/other' . '/' . $dist; -my $max = 13; +my $theoryx5 = 'theoryx5.uwinnipeg.ca'; +my $bsize = 102400; +my $kb = sprintf("%d", $bsize / 1024); print <<"END"; -This script will fetch and then join the files needed for -creating the Perl/Apache Win32 binary distribution -$exe from $theoryx5/. +This script will fetch and then join the files needed +for creating the Perl/Apache Win32 binary distribution +$exe from + ftp://$theoryx5/pub/other/$dist/. If the file transfer is interrupted before all the neccessary files are joined, run the script again in the same directory; files successfully fetched earlier will not be downloaded again. +A hash mark represents transfer of $kb kB. + END my $ans = prompt("Fetch $exe?", 'yes'); die "Installation aborted" unless ($ans =~ /^y/i); -my $cs = 'CHECKSUMS'; -my $checksums = $theoryx5 . '/' . $cs; +my $ftp = Net888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4TP->new($theoryx5); +$ftp->login('anonymous', "$dist\@perl.apache.org") + or die "Cannot login to $theoryx5"; +$ftp->cwd("pub/other/$dist"); +my $max = get_max(); +my $cs = 'CHECKSUMS'; my $join = 'join32.exe'; -my $rjoin = $theoryx5 . '/' . $join; +my @files = (); # fetch the CHECKSUMS file print "Fetching $cs ..."; -getstore($checksums, $cs); +$ftp->ascii; +$ftp->get($cs); print " done!\n"; die "Failed to fetch $cs" unless (-e $cs); +push @files, $cs; + +my $cksum; +die "Cannot load $cs file" unless ( load_cs() ); # fetch the join program -unless (-e $join) { +if (-e $join and verifyMD5($join)) { + print "Skipping $join ...\n"; +} +else { print "Fetching $join ..."; - getstore($rjoin, $join); + $ftp->binary; + $ftp->get($join); print " done!\n"; die "Failed to fetch $join" unless (-e $join); unless (verifyMD5($join)) { @@ -62,21 +81,29 @@ die; } } +push @files, $join; # fetch the split files -my @files; +print "\nFetching $max split files ....\n\n"; +$ftp->hash(1, $bsize); for (1 .. $max) { + local $| = 1; my $num = $_ < 10 ? "00$_" : "0$_"; my $file = $dist . '.exe.' . $num; push @files, $file; if (-e $file) { - print "Skipping $file ...\n"; - next; - } - my $rfile = $theoryx5 . '/' . $file; - print "Fetching $file ..."; - getstore($rfile, $file); - print " done!\n"; + if (verifyMD5($file)) { + print "Skipping $file ...\n"; + next; + } + else { + unlink $file or warn "Could not unlink $file"; + } + } + my $size = sprintf("%d", $ftp->size($file) / 1024); + print "\nFetching $file ($size kB) ...\n"; + $ftp->get($file); + print "Done!\n"; die "Failed to fetch $file" unless (-e $file); unless (verifyMD5($file)) { print qq{CHECKSUM check for "$file" failed.\n}; @@ -84,8 +111,10 @@ die; } } +print "\nFinished fetching split files\n"; +$ftp->quit; -#now join them +# now join them my @args = ('join32'); system(@args); die "Joining files to create $exe failed" unless (-e $exe); @@ -93,7 +122,7 @@ # remove the temporary files, if desired $ans = prompt('Remove temporary files?', 'yes'); if ($ans =~ /^y/i) { - unlink @files or warn "Cannot unlink @files: $!"; + unlink(@files) or warn "Cannot unlink temporary files: $!"; } # run the exe, if desired @@ -103,16 +132,13 @@ system(@args); } else { - print "Double click on $exe to install\n"; + print "\nDouble click on $exe to install\n"; } - -# routine to verify the CHECKSUMS for a file +# routines to verify the CHECKSUMS for a file # adapted from the MD5 check of CPAN.pm -sub verifyMD5 { - my $file = shift; +sub load_cs { my $fh = IO888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4ile->new; - my $cksum; unless (open $fh, $cs) { warn "Could not open $cs: $!"; return; @@ -127,21 +153,27 @@ warn $@; return; } + return 1; +} + +sub verifyMD5 { + my $file = shift; + my $fh = IO888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4ile->new; my ($is, $should); - unless (open(FILE, $file)) { + unless (open($fh, $file)) { warn "Cannot open $file: $!"; return; } - binmode(FILE); - unless ($is = Digest888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4MD5->new->addfile(*FILE)->hexdigest) { + binmode($fh); + unless ($is = Digest888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4MD5->new->addfile($fh)->hexdigest) { warn "Could not compute checksum for $file: $!"; - close(FILE); + close $fh; return; } - close(FILE); + close $fh; if ($should = $cksum->{$file}->{md5}) { my $test = $is eq $should ? 1 : 0; - printf qq{Checksum for "$file" is %s\n}, + printf qq{ Checksum for "$file" is %s\n}, ($test == 1) ? 'OK.' : 'NOT OK.'; return $test; } @@ -149,4 +181,14 @@ warn "Checksum data for $file not present in CHECKSUMS.\n"; return; } +} + +# get number of split files +sub get_max { + my $dir = $ftp->ls(); + my $count = 0; + foreach (@$dir) { + $count++ if m!$dist.exe.\d+!; + } + return $count; } --------------------------------------------------------------------- To unsubscribe, e-mail: edwardbrown@example.com For additional commands, e-mail: edwardbrown@example.com From docsedwardbrown@example.com Fri Jan 03 04:43:49 2003 Return-Path: <docsedwardbrown@example.com> Delivered-To: edwardbrown@example.com Received: (qmail 8359 invoked by uid 500); 3 Jan 2003 04:43:49 -0000 Mailing-List: contact edwardbrown@example.com; run by ezmlm Precedence: bulk List-Post: <mailto:edwardbrown@example.com> List-Help: <mailto:edwardbrown@example.com> List-Unsubscribe: <mailto:edwardbrown@example.com> List-Subscribe: <mailto:edwardbrown@example.com> Delivered-To: mailing list edwardbrown@example.com Received: (qmail 8348 invoked by uid 500); 3 Jan 2003 04:43:49 -0000 Delivered-To: edwardbrown@example.com Date: 3 Jan 2003 04:43:48 -0000 Message-ID: <edwardbrown@example.com> From: edwardbrown@example.com To: edwardbrown@example.com Subject: cvs commit: modperl-docs/src/docs/1.0/os/win32 config.cfg get-perl-win32-bin X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N randyk 2003/01/02 20:43:48 Modified: src/docs/1.0/os/win32 config.cfg get-perl-win32-bin Log: - tweaks and enhancements to download script Revision Changes Path 1.9 +1 -1 modperl-docs/src/docs/1.0/os/win32/config.cfg Index: config.cfg =================================================================== RCS file: /home/cvs/modperl-docs/src/docs/1.0/os/win32/config.cfg,v retrieving revision 1.8 retrieving revision 1.9 diff -u -r1.8 -r1.9 --- config.cfg 2 Jan 2003 21:56:50 -0000 1.8 +++ config.cfg 3 Jan 2003 04:43:48 -0000 1.9 @@ -17,7 +17,7 @@ copy_glob => [qw( mpinstall - get-perl-win32-bin + get-perl-win32-bin )], changes => 'Changes.pod', 1.2 +68 -27 modperl-docs/src/docs/1.0/os/win32/get-perl-win32-bin Index: get-perl-win32-bin =================================================================== RCS file: /home/cvs/modperl-docs/src/docs/1.0/os/win32/get-perl-win32-bin,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- get-perl-win32-bin 2 Jan 2003 21:56:50 -0000 1.1 +++ get-perl-win32-bin 3 Jan 2003 04:43:48 -0000 1.2 @@ -12,48 +12,66 @@ use strict; use warnings; -use LWP888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4Simple; +use Net888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4TP; use Safe; use Digest888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4MD5; use IO888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4ile; use ExtUtils888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4MakeMaker; +die "This is intended for Win32" unless ($^O =~ /Win32/i); + my $dist = 'perl-win32-bin'; my $exe = $dist . '.exe'; -my $theoryx5 = 'ftp://theoryx5.uwinnipeg.ca/pub/other' . '/' . $dist; -my $max = 9; - +my $theoryx5 = 'theoryx5.uwinnipeg.ca'; +my $bsize = 102400; +my $kb = sprintf("%d", $bsize / 1024); print <<"END"; This script will fetch and then join the files needed for creating the Perl/Apache Win32 binary distribution -$exe from $theoryx5/. +$exe from + ftp://$theoryx5/pub/other/$dist/. If the file transfer is interrupted before all the neccessary files are joined, run the script again in the same directory; files successfully fetched earlier will not be downloaded again. +A hash mark represents transfer of $kb kB. + END my $ans = prompt("Fetch $exe?", 'yes'); die "Installation aborted" unless ($ans =~ /^y/i); -my $cs = 'CHECKSUMS'; -my $checksums = $theoryx5 . '/' . $cs; +my $ftp = Net888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4TP->new($theoryx5); +$ftp->login('anonymous', "$dist\@perl.apache.org") + or die "Cannot login to $theoryx5"; +$ftp->cwd("pub/other/$dist"); +my $max = get_max(); +my $cs = 'CHECKSUMS'; my $join = 'join32.exe'; -my $rjoin = $theoryx5 . '/' . $join; +my @files = (); # fetch the CHECKSUMS file print "Fetching $cs ..."; -getstore($checksums, $cs); +$ftp->ascii; +$ftp->get($cs); print " done!\n"; die "Failed to fetch $cs" unless (-e $cs); +push @files, $cs; + +my $cksum; +die "Cannot load $cs file" unless ( load_cs() ); # fetch the join program -unless (-e $join) { +if (-e $join and verifyMD5($join)) { + print "Skipping $join ...\n"; +} +else { print "Fetching $join ..."; - getstore($rjoin, $join); + $ftp->binary; + $ftp->get($join); print " done!\n"; die "Failed to fetch $join" unless (-e $join); unless (verifyMD5($join)) { @@ -62,21 +80,29 @@ die; } } +push @files, $join; # fetch the split files -my @files; +print "\nFetching $max split files ....\n\n"; +$ftp->hash(1, $bsize); for (1 .. $max) { + local $| = 1; my $num = $_ < 10 ? "00$_" : "0$_"; my $file = $dist . '.exe.' . $num; push @files, $file; if (-e $file) { - print "Skipping $file ...\n"; - next; - } - my $rfile = $theoryx5 . '/' . $file; - print "Fetching $file ..."; - getstore($rfile, $file); - print " done!\n"; + if (verifyMD5($file)) { + print "Skipping $file ...\n"; + next; + } + else { + unlink $file or warn "Could not unlink $file"; + } + } + my $size = sprintf("%d", $ftp->size($file) / 1024); + print "\nFetching $file ($size kB) ...\n"; + $ftp->get($file); + print "Done!\n"; die "Failed to fetch $file" unless (-e $file); unless (verifyMD5($file)) { print qq{CHECKSUM check for "$file" failed.\n}; @@ -84,8 +110,10 @@ die; } } +print "\nFinished fetching split files\n"; +$ftp->quit; -#now join them +# now join them my @args = ('join32'); system(@args); die "Joining files to create $exe failed" unless (-e $exe); @@ -93,7 +121,7 @@ # remove the temporary files, if desired $ans = prompt('Remove temporary files?', 'yes'); if ($ans =~ /^y/i) { - unlink @files or warn "Cannot unlink @files: $!"; + unlink(@files) or warn "Cannot unlink temporary files: $!"; } # run the exe, if desired @@ -103,15 +131,13 @@ system(@args); } else { - print "Double click on $exe to install\n"; + print "\nDouble click on $exe to install\n"; } -# routine to verify the CHECKSUMS for a file +# routines to verify the CHECKSUMS for a file # adapted from the MD5 check of CPAN.pm -sub verifyMD5 { - my $file = shift; +sub load_cs { my $fh = IO888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4ile->new; - my $cksum; unless (open $fh, $cs) { warn "Could not open $cs: $!"; return; @@ -126,6 +152,11 @@ warn $@; return; } + return 1; +} + +sub verifyMD5 { + my $file = shift; my ($is, $should); unless (open(FILE, $file)) { warn "Cannot open $file: $!"; @@ -140,7 +171,7 @@ close(FILE); if ($should = $cksum->{$file}->{md5}) { my $test = $is eq $should ? 1 : 0; - printf qq{Checksum for "$file" is %s\n}, + printf qq{ Checksum for "$file" is %s\n}, ($test == 1) ? 'OK.' : 'NOT OK.'; return $test; } @@ -148,4 +179,14 @@ warn "Checksum data for $file not present in CHECKSUMS.\n"; return; } +} + +# get number of split files +sub get_max { + my $dir = $ftp->ls(); + my $count = 0; + foreach (@$dir) { + $count++ if m!$dist.exe.\d+!; + } + return $count; } --------------------------------------------------------------------- To unsubscribe, e-mail: edwardbrown@example.com For additional commands, e-mail: edwardbrown@example.com From docsedwardbrown@example.com Fri Jan 03 16:48:45 2003 Return-Path: <docsedwardbrown@example.com> Delivered-To: edwardbrown@example.com Received: (qmail 16637 invoked by uid 500); 3 Jan 2003 16:48:45 -0000 Mailing-List: contact edwardbrown@example.com; run by ezmlm Precedence: bulk List-Post: <mailto:edwardbrown@example.com> List-Help: <mailto:edwardbrown@example.com> List-Unsubscribe: <mailto:edwardbrown@example.com> List-Subscribe: <mailto:edwardbrown@example.com> Delivered-To: mailing list edwardbrown@example.com Received: (qmail 16578 invoked by uid 500); 3 Jan 2003 16:48:44 -0000 Delivered-To: edwardbrown@example.com Date: 3 Jan 2003 16:48:43 -0000 Message-ID: <edwardbrown@example.com> From: edwardbrown@example.com To: edwardbrown@example.com Subject: cvs commit: modperl-docs/src/docs/2.0/os/win32 distinstall config.cfg install.pod get-Perl-5.8-win32-bin X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N randyk 2003/01/03 08:48:43 Modified: src/docs/1.0/os/win32 config.cfg install.pod src/docs/2.0/os/win32 config.cfg install.pod Added: src/docs/1.0/os/win32 distinstall src/docs/2.0/os/win32 distinstall Removed: src/docs/1.0/os/win32 get-perl-win32-bin src/docs/2.0/os/win32 get-Perl-5.8-win32-bin Log: merge all-in-one package fetching scripts into one. Revision Changes Path 1.10 +1 -1 modperl-docs/src/docs/1.0/os/win32/config.cfg Index: config.cfg =================================================================== RCS file: /home/cvs/modperl-docs/src/docs/1.0/os/win32/config.cfg,v retrieving revision 1.9 retrieving revision 1.10 diff -u -r1.9 -r1.10 --- config.cfg 3 Jan 2003 04:43:48 -0000 1.9 +++ config.cfg 3 Jan 2003 16:48:43 -0000 1.10 @@ -17,7 +17,7 @@ copy_glob => [qw( mpinstall - get-perl-win32-bin + distinstall )], changes => 'Changes.pod', 1.21 +2 -2 modperl-docs/src/docs/1.0/os/win32/install.pod Index: install.pod =================================================================== RCS file: /home/cvs/modperl-docs/src/docs/1.0/os/win32/install.pod,v retrieving revision 1.20 retrieving revision 1.21 diff -u -r1.20 -r1.21 --- install.pod 2 Jan 2003 21:56:50 -0000 1.20 +++ install.pod 3 Jan 2003 16:48:43 -0000 1.21 @@ -233,8 +233,8 @@ contains this distribution split across multiple files - see F<README.join> for instructions on how to join them. Alternatively, if you have Perl already, you can get the script -F<get-perl-win32-bin> which, when invoked as -C<perl get-perl-win32-bin>, will fetch and join +F<distinstall> which, when invoked as +C<perl distinstall>, will fetch and join the files for you. As well as including a number of non-core modules, both of these 1.1 modperl-docs/src/docs/1.0/os/win32/distinstall Index: distinstall =================================================================== ##################################################################### # A Perl script to retrieve and join split files # making up a Win32 Perl/Apache binary distribution # # Files created by hjsplit (http://www.freebyte.com/hjsplit/) # with the joining accomplished by hj-join # # This script is Copyright 2003, by Randy Kobes, # and may be distributed under the same terms as Perl itself. # Please report problems to Randy Kobes <edwardbrown@example.com> ##################################################################### use strict; use warnings; use Net888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4TP; use Safe; use Digest888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4MD5; use IO888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4ile; use ExtUtils888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4MakeMaker; die 'This is intended for Win32' unless ($^O =~ /Win32/i); my $theoryx5 = 'theoryx5.uwinnipeg.ca'; my $bsize = 102400; my $kb = sprintf("%d", $bsize / 1024); my $cs = 'CHECKSUMS'; my $join = 'join32.exe'; print <<"END"; This script will fetch and then join the files needed for creating and installing a Perl/Apache Win32 binary distribution from ftp://$theoryx5/pub/other/. If the file transfer is interrupted before all the neccessary files are obtained, run the script again in the same directory; files successfully fetched earlier will not be downloaded again. A hash mark represents transfer of $kb kB. Available distributions are: 1. Perl 5.8.0 / Apache 2.0.43 / mod_perl 1.99_08 2. Perl 5.6.1 / Apache 1.3.27 / mod_perl 1.27 END my $dist; my $ans = prompt("Desired distribution (1, 2, or 'q' to quit)?", 1); CHECK: { ($ans =~ /^q/i) and die 'Installation aborted'; ($ans == 1) and do { $dist = 'Perl-5.8-win32-bin'; last CHECK; }; ($ans == 2) and do { $dist = 'perl-win32-bin'; last CHECK; }; die 'Please answer either 1, 2, or q'; } my $exe = $dist . '.exe'; my $ftp = Net888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4TP->new($theoryx5); $ftp->login('anonymous', "$dist\@perl.apache.org") or die "Cannot login to $theoryx5"; $ftp->cwd("pub/other/$dist") or die "Cannot cwd to pub/other/$dist"; my $max; die "Unable to determine number of files to get" unless ($max = get_max()); my @files = (); # fetch the CHECKSUMS file print qq{Fetching "$cs" ...}; $ftp->ascii; $ftp->get($cs); print " done!\n"; die qq{Failed to fetch "$cs"} unless (-e $cs); push @files, $cs; # evaluate CHECKSUMS my $cksum; die qq{Cannot load "$cs" file} unless ($cksum = load_cs($cs) ); $ftp->binary; $ftp->hash(1, $bsize); # fetch the join program die qq{Cannot fetch "$join"} unless (fetch($join)); push @files, $join; # fetch the split files print "\nFetching $max split files ....\n\n"; for (1 .. $max) { my $num = $_ < 10 ? "00$_" : "0$_"; my $file = $dist . '.exe.' . $num; push @files, $file; die qq{Cannot fetch "$file"} unless (fetch($file)); } print "\nFinished fetching split files.\n"; $ftp->quit; # now join them if (-e $exe) { unlink($exe) or warn qq{Cannot unlink $exe: $!}; } my @args = ($join); system(@args); die qq{Joining files to create "$exe" failed} unless (-e $exe); # remove the temporary files, if desired $ans = prompt('Remove temporary files?', 'yes'); if ($ans =~ /^y/i) { unlink(@files) or warn "Cannot unlink temporary files: $!\n"; } # run the exe, if desired $ans = prompt("Run $exe now?", 'yes'); if ($ans =~ /^y/i) { @args = ($exe); system(@args); } else { print "\nDouble click on $exe to install.\n"; } # fetch a file, unless it exists and the checksum checks sub fetch { my $file = shift; local $| = 1; if (-e $file) { if (verifyMD5($file)) { print qq{Skipping "$file" ...\n}; return 1; } else { unlink $file or warn qq{Could not unlink "$file"\n}; } } my $size = sprintf("%d", $ftp->size($file) / 1024); print "\nFetching $file ($size kB) ...\n"; $ftp->get($file); print "Done!\n"; unless (-e $file) { warn qq{Unable to fetch "$file"\n}; return; } unless (verifyMD5($file)) { print qq{CHECKSUM check for "$file" failed.\n}; unlink $file or warn qq{Cannot unlink "$file": $!\n}; return; } return 1; } # routines to verify the CHECKSUMS for a file # adapted from the MD5 check of CPAN.pm # load the CHECKSUMS file into $cksum sub load_cs { my $cs = shift; my $fh = IO888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4ile->new; unless ($fh->open($cs)) { warn qq{Could not open "$cs": $!\n}; return; } local($/); my $eval = <$fh>; $fh->close; $eval =~ s/\015?\012/\n/g; my $comp = Safe->new(); my $cksum = $comp->reval($eval); if ($@) { warn qq{eval of "$cs" failed: $@\n}; return; } return $cksum; } # verify a CHECKSUM for a file sub verifyMD5 { my $file = shift; my ($is, $should); my $fh = IO888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4ile->new; unless ($fh->open($file)) { warn qq{Cannot open "$file": $!}; return; } binmode($fh); unless ($is = Digest888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4MD5->new->addfile($fh)->hexdigest) { warn qq{Could not compute checksum for "$file": $!}; $fh->close; return; } $fh->close; if ($should = $cksum->{$file}->{md5}) { my $test = ($is eq $should); printf qq{ Checksum for "$file" is %s\n}, ($test) ? 'OK.' : 'NOT OK.'; return $test; } else { warn qq{Checksum data for "$file" not present in $cs.\n}; return; } } # get number of split files sub get_max { my $dir = $ftp->ls(); my $count = 0; foreach (@$dir) { $count++ if m!$dist.exe.\d+!; } return $count; } 1.11 +1 -1 modperl-docs/src/docs/2.0/os/win32/config.cfg Index: config.cfg =================================================================== RCS file: /home/cvs/modperl-docs/src/docs/2.0/os/win32/config.cfg,v retrieving revision 1.10 retrieving revision 1.11 diff -u -r1.10 -r1.11 --- config.cfg 3 Jan 2003 04:43:05 -0000 1.10 +++ config.cfg 3 Jan 2003 16:48:43 -0000 1.11 @@ -17,7 +17,7 @@ copy_glob => [qw( mpinstall - get-Perl-5.8-win32-bin + distinstall )], changes => 'Changes.pod', 1.19 +2 -2 modperl-docs/src/docs/2.0/os/win32/install.pod Index: install.pod =================================================================== RCS file: /home/cvs/modperl-docs/src/docs/2.0/os/win32/install.pod,v retrieving revision 1.18 retrieving revision 1.19 diff -u -r1.18 -r1.19 --- install.pod 2 Jan 2003 21:56:50 -0000 1.18 +++ install.pod 3 Jan 2003 16:48:43 -0000 1.19 @@ -222,8 +222,8 @@ contains this distribution split across multiple files - see F<README.join> for instructions on how to join them. Alternatively, if you have Perl already, you can get the script -F<get-Perl-5.8-win32-bin> which, when invoked as -C<perl get-Perl-5.8-win32-bin>, will fetch and join +F<distinstall> which, when invoked as +C<perl distinstall>, will fetch and join the files for you. =head1 See Also 1.1 modperl-docs/src/docs/2.0/os/win32/distinstall Index: distinstall =================================================================== ##################################################################### # A Perl script to retrieve and join split files # making up a Win32 Perl/Apache binary distribution # # Files created by hjsplit (http://www.freebyte.com/hjsplit/) # with the joining accomplished by hj-join # # This script is Copyright 2003, by Randy Kobes, # and may be distributed under the same terms as Perl itself. # Please report problems to Randy Kobes <edwardbrown@example.com> ##################################################################### use strict; use warnings; use Net888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4TP; use Safe; use Digest888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4MD5; use IO888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4ile; use ExtUtils888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4MakeMaker; die 'This is intended for Win32' unless ($^O =~ /Win32/i); my $theoryx5 = 'theoryx5.uwinnipeg.ca'; my $bsize = 102400; my $kb = sprintf("%d", $bsize / 1024); my $cs = 'CHECKSUMS'; my $join = 'join32.exe'; print <<"END"; This script will fetch and then join the files needed for creating and installing a Perl/Apache Win32 binary distribution from ftp://$theoryx5/pub/other/. If the file transfer is interrupted before all the neccessary files are obtained, run the script again in the same directory; files successfully fetched earlier will not be downloaded again. A hash mark represents transfer of $kb kB. Available distributions are: 1. Perl 5.8.0 / Apache 2.0.43 / mod_perl 1.99_08 2. Perl 5.6.1 / Apache 1.3.27 / mod_perl 1.27 END my $dist; my $ans = prompt("Desired distribution (1, 2, or 'q' to quit)?", 1); CHECK: { ($ans =~ /^q/i) and die 'Installation aborted'; ($ans == 1) and do { $dist = 'Perl-5.8-win32-bin'; last CHECK; }; ($ans == 2) and do { $dist = 'perl-win32-bin'; last CHECK; }; die 'Please answer either 1, 2, or q'; } my $exe = $dist . '.exe'; my $ftp = Net888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4TP->new($theoryx5); $ftp->login('anonymous', "$dist\@perl.apache.org") or die "Cannot login to $theoryx5"; $ftp->cwd("pub/other/$dist") or die "Cannot cwd to pub/other/$dist"; my $max; die "Unable to determine number of files to get" unless ($max = get_max()); my @files = (); # fetch the CHECKSUMS file print qq{Fetching "$cs" ...}; $ftp->ascii; $ftp->get($cs); print " done!\n"; die qq{Failed to fetch "$cs"} unless (-e $cs); push @files, $cs; # evaluate CHECKSUMS my $cksum; die qq{Cannot load "$cs" file} unless ($cksum = load_cs($cs) ); $ftp->binary; $ftp->hash(1, $bsize); # fetch the join program die qq{Cannot fetch "$join"} unless (fetch($join)); push @files, $join; # fetch the split files print "\nFetching $max split files ....\n\n"; for (1 .. $max) { my $num = $_ < 10 ? "00$_" : "0$_"; my $file = $dist . '.exe.' . $num; push @files, $file; die qq{Cannot fetch "$file"} unless (fetch($file)); } print "\nFinished fetching split files.\n"; $ftp->quit; # now join them if (-e $exe) { unlink($exe) or warn qq{Cannot unlink $exe: $!}; } my @args = ($join); system(@args); die qq{Joining files to create "$exe" failed} unless (-e $exe); # remove the temporary files, if desired $ans = prompt('Remove temporary files?', 'yes'); if ($ans =~ /^y/i) { unlink(@files) or warn "Cannot unlink temporary files: $!\n"; } # run the exe, if desired $ans = prompt("Run $exe now?", 'yes'); if ($ans =~ /^y/i) { @args = ($exe); system(@args); } else { print "\nDouble click on $exe to install.\n"; } # fetch a file, unless it exists and the checksum checks sub fetch { my $file = shift; local $| = 1; if (-e $file) { if (verifyMD5($file)) { print qq{Skipping "$file" ...\n}; return 1; } else { unlink $file or warn qq{Could not unlink "$file"\n}; } } my $size = sprintf("%d", $ftp->size($file) / 1024); print "\nFetching $file ($size kB) ...\n"; $ftp->get($file); print "Done!\n"; unless (-e $file) { warn qq{Unable to fetch "$file"\n}; return; } unless (verifyMD5($file)) { print qq{CHECKSUM check for "$file" failed.\n}; unlink $file or warn qq{Cannot unlink "$file": $!\n}; return; } return 1; } # routines to verify the CHECKSUMS for a file # adapted from the MD5 check of CPAN.pm # load the CHECKSUMS file into $cksum sub load_cs { my $cs = shift; my $fh = IO888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4ile->new; unless ($fh->open($cs)) { warn qq{Could not open "$cs": $!\n}; return; } local($/); my $eval = <$fh>; $fh->close; $eval =~ s/\015?\012/\n/g; my $comp = Safe->new(); my $cksum = $comp->reval($eval); if ($@) { warn qq{eval of "$cs" failed: $@\n}; return; } return $cksum; } # verify a CHECKSUM for a file sub verifyMD5 { my $file = shift; my ($is, $should); my $fh = IO888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4ile->new; unless ($fh->open($file)) { warn qq{Cannot open "$file": $!}; return; } binmode($fh); unless ($is = Digest888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4MD5->new->addfile($fh)->hexdigest) { warn qq{Could not compute checksum for "$file": $!}; $fh->close; return; } $fh->close; if ($should = $cksum->{$file}->{md5}) { my $test = ($is eq $should); printf qq{ Checksum for "$file" is %s\n}, ($test) ? 'OK.' : 'NOT OK.'; return $test; } else { warn qq{Checksum data for "$file" not present in $cs.\n}; return; } } # get number of split files sub get_max { my $dir = $ftp->ls(); my $count = 0; foreach (@$dir) { $count++ if m!$dist.exe.\d+!; } return $count; } --------------------------------------------------------------------- To unsubscribe, e-mail: edwardbrown@example.com For additional commands, e-mail: edwardbrown@example.com From docsedwardbrown@example.com Mon Jan 06 21:55:03 2003 Return-Path: <docsedwardbrown@example.com> Delivered-To: edwardbrown@example.com Received: (qmail 75956 invoked by uid 500); 6 Jan 2003 21:55:02 -0000 Mailing-List: contact edwardbrown@example.com; run by ezmlm Precedence: bulk List-Post: <mailto:edwardbrown@example.com> List-Help: <mailto:edwardbrown@example.com> List-Unsubscribe: <mailto:edwardbrown@example.com> List-Subscribe: <mailto:edwardbrown@example.com> Delivered-To: mailing list edwardbrown@example.com Received: (qmail 75941 invoked by uid 500); 6 Jan 2003 21:55:02 -0000 Delivered-To: edwardbrown@example.com Date: 6 Jan 2003 21:55:01 -0000 Message-ID: <edwardbrown@example.com> From: edwardbrown@example.com To: edwardbrown@example.com Subject: cvs commit: modperl-docs/src/docs/general/os - New directory X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N randyk 2003/01/06 13:55:01 modperl-docs/src/docs/general/os - New directory --------------------------------------------------------------------- To unsubscribe, e-mail: edwardbrown@example.com For additional commands, e-mail: edwardbrown@example.com From docsedwardbrown@example.com Mon Jan 06 21:55:41 2003 Return-Path: <docsedwardbrown@example.com> Delivered-To: edwardbrown@example.com Received: (qmail 76388 invoked by uid 500); 6 Jan 2003 21:55:41 -0000 Mailing-List: contact edwardbrown@example.com; run by ezmlm Precedence: bulk List-Post: <mailto:edwardbrown@example.com> List-Help: <mailto:edwardbrown@example.com> List-Unsubscribe: <mailto:edwardbrown@example.com> List-Subscribe: <mailto:edwardbrown@example.com> Delivered-To: mailing list edwardbrown@example.com Received: (qmail 76377 invoked by uid 500); 6 Jan 2003 21:55:41 -0000 Delivered-To: edwardbrown@example.com Date: 6 Jan 2003 21:55:40 -0000 Message-ID: <edwardbrown@example.com> From: edwardbrown@example.com To: edwardbrown@example.com Subject: cvs commit: modperl-docs/src/docs/general/os/win32 - New directory X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N randyk 2003/01/06 13:55:40 modperl-docs/src/docs/general/os/win32 - New directory --------------------------------------------------------------------- To unsubscribe, e-mail: edwardbrown@example.com For additional commands, e-mail: edwardbrown@example.com From docsedwardbrown@example.com Mon Jan 06 22:21:37 2003 Return-Path: <docsedwardbrown@example.com> Delivered-To: edwardbrown@example.com Received: (qmail 98669 invoked by uid 500); 6 Jan 2003 22:21:37 -0000 Mailing-List: contact edwardbrown@example.com; run by ezmlm Precedence: bulk List-Post: <mailto:edwardbrown@example.com> List-Help: <mailto:edwardbrown@example.com> List-Unsubscribe: <mailto:edwardbrown@example.com> List-Subscribe: <mailto:edwardbrown@example.com> Delivered-To: mailing list edwardbrown@example.com Received: (qmail 98646 invoked by uid 500); 6 Jan 2003 22:21:36 -0000 Delivered-To: edwardbrown@example.com Date: 6 Jan 2003 22:21:36 -0000 Message-ID: <edwardbrown@example.com> From: edwardbrown@example.com To: edwardbrown@example.com Subject: cvs commit: modperl-docs/src/docs/general/os/win32 Changes.pod config.cfg faq.pod X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N randyk 2003/01/06 14:21:36 Modified: src/docs/1.0/os/win32 config.pod install.pod src/docs/2.0/os/win32 config.pod faq.pod install.pod src/docs/general config.cfg Added: src/docs/general/os config.cfg src/docs/general/os/win32 Changes.pod config.cfg faq.pod Log: moved bulk of Win32 mod_perl faq to general/os/win32/ Revision Changes Path 1.7 +1 -1 modperl-docs/src/docs/1.0/os/win32/config.pod Index: config.pod =================================================================== RCS file: /home/cvs/modperl-docs/src/docs/1.0/os/win32/config.pod,v retrieving revision 1.6 retrieving revision 1.7 diff -u -r1.6 -r1.7 --- config.pod 2 Jan 2003 07:56:04 -0000 1.6 +++ config.pod 6 Jan 2003 22:21:35 -0000 1.7 @@ -128,7 +128,7 @@ Win32|docs888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4.888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4os888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4win888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4install>, the L<mod_perl documentation|docs888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4index>, L<http://take23.org/>, and the -L<FAQs for mod_perl on Win32|docs888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4.888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4os888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4win888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4faq>. +L<FAQs for mod_perl on Win32|docs888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4general888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4os888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4win888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4faq>. Help is also available through the archives of and subscribing to the L<mod_perl mailing list|maillist888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4modperl>. 1.22 +3 -3 modperl-docs/src/docs/1.0/os/win32/install.pod Index: install.pod =================================================================== RCS file: /home/cvs/modperl-docs/src/docs/1.0/os/win32/install.pod,v retrieving revision 1.21 retrieving revision 1.22 diff -u -r1.21 -r1.22 --- install.pod 3 Jan 2003 16:48:43 -0000 1.21 +++ install.pod 6 Jan 2003 22:21:35 -0000 1.22 @@ -226,10 +226,10 @@ necessary Perl and Apache binaries: IndigoPerl from L<http://www.indigostar.com/>, and the self-extracting archive F<perl-win32-bin.exe> from -L<ftp://theoryx5.uwinnipeg.ca/pub/other/> - see the file +L<http://theoryx5.uwinnipeg.ca/pub/other/> - see the file F<perl-win32-bin.readme> for a description. If you have trouble fetching the whole file at once, the directory -L<ftp://theoryx5.uwinnipeg.ca/pub/other/perl-win32-bin/> +L<http://theoryx5.uwinnipeg.ca/pub/other/perl-win32-bin/> contains this distribution split across multiple files - see F<README.join> for instructions on how to join them. Alternatively, if you have Perl already, you can get the script @@ -344,7 +344,7 @@ Win32|docs888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4.888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4os888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4win888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4config>, the L<mod_perl documentation|docs888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4index>, L<http://take23.org/>, and the -L<FAQs for mod_perl on Win32|docs888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4.888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4os888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4win888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4faq>. +L<FAQs for mod_perl on Win32|docs888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4general888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4os888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4win888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4faq>. Help is also available through the archives of and subscribing to the L<mod_perl mailing list|maillist888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4modperl>. 1.10 +1 -1 modperl-docs/src/docs/2.0/os/win32/config.pod Index: config.pod =================================================================== RCS file: /home/cvs/modperl-docs/src/docs/2.0/os/win32/config.pod,v retrieving revision 1.9 retrieving revision 1.10 diff -u -r1.9 -r1.10 --- config.pod 2 Jan 2003 07:56:04 -0000 1.9 +++ config.pod 6 Jan 2003 22:21:35 -0000 1.10 @@ -190,7 +190,7 @@ L<http://take23.org/>, L<http://httpd.apache.org/>, L<http://www.activestate.com/>, and the -L<FAQs for mod_perl on Win32|docs888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4.888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4os888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4win888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4faq>.
{'source': 'Apache Software Foundation Public Mail Archives'}