Having produced a guide to setting up blead perl CPAN smoke testing, I thought it might be about time to produce something for stable perl.
First off install POE::Component::CPAN::YACSmoke in your system perl using either cpan or cpanp. It is advised that Proc::ProcessTable is installed when prompted. This will install the minismoker script which we will use later on.
Okay. Let's install perl-5.8.8
I usually install my testing perl in the home directory of a non-privileged user account.
$ mkdir -p perl588/bin $ mkdir -p build/ $ cd build/ $ wget ftp://ftp.perl.org/pub/CPAN/src/perl-5.8.8.tar.gz $ tar zxvf perl-5.8.8.tar.gz $ rm perl-5.8.8.tar.gz $ cd perl-5.8.8
Then run ./Configure. Take the defaults ( or change to taste, such as enabling threading, etc. ), except when prompted for the installation prefix.
$ ./Configure Installation prefix to use? (~name ok) [/usr/local] /home/chris/perl588
Then compile, run the testsuite and install
$ make && make test && make install
Assuming everything went okay we should have perl-5.8.8 installed under /home/chris/perl588
$ cd $ export APPDATA=/home/chris/perl588/
Setting APPDATA forces CPANPLUS to locate its .cpanplus directory under /home/chris/perl588/. Now let's configure cpan ( only answers different to the defaults are shown ):
$ /home/chris/perl588/bin/cpan Would you like me to configure as much as possible automatically? [yes] no CPAN build and cache directory? [/home/chris/.cpan] /home/chris/perl588/.cpan Policy on building prerequisites (follow, ask or ignore)? [ask] follow Parameters for the 'make install' command? Your choice: [] UNINST=1
Okay, cpan is configured. Let's install a few required modules:
cpan> install YAML cpan> install LWP cpan> install Test::Reporter cpan> install CPANPLUS cpan> quit
If CPANPLUS won't install because of a cyclic dependency, then we have to use CPANPLUS' boxed version to bootstrap install itself.
cpan> look CPANPLUS $ /home/chris/perl588/bin/perl bin/cpanp-boxed -s selfupdate dependencies $ /home/chris/perl588/bin/perl Makefile.PL $ make && make test && make install $ exit cpan> quit
Okay, we are finished with cpan. Let's configure cpanp ( again only changes to the defaults are shown ):
$ /home/chris/perl588/bin/cpanp CPAN Terminal> s reconfigure Section to configure: [1]: 1 Type of configuration file [1]: 1 Section to configure: [1]: 2 Where can I find your 'sudo' utility? (Enter a single space to disable) [Path to your 'sudo']Section to configure: [1]: 3 Section to configure: [1]: 4 Which email address shall I use? [1]: 3 Email address: myemail@domain.com Section to configure: [1]: 5 Should I be verbose? [y/N]: y Follow prerequisites? [3]: 2 Report test results? [y/N]: y Shall I check module signatures? [Y/n]: n Section to configure: [1]: 6 make flags? UNINST=1 Build.PL and Build flags? uninst=1 Section to configure: 9 CPAN Terminal> quit
If you need to configure cpanp to send test reports through a particular mail relay open up an editor and edit the file: /home/chris/perl588/.cpanplus/lib/CPANPLUS/Config/User.pm
Alter the line $conf->set_conf( cpantest_mx => '' ); to specify the dns name or IP address of a suitable relay. Save the file.
Right, back into cpanp and we'll install CPAN::YACSmoke. The current development release of CPAN::YACSmoke won't use our hacked .cpanplus directory so we have to install a hacked version.
$ /home/chris/perl588/bin/cpanp CPAN Terminal> i http://gumbynet.org.uk/smoke/CPAN-YACSmoke-0.03_07.tar.gz CPAN Terminal> quit
That's it. We're ready to smoke.
$ cd $ mkdir tmp && cd tmp $ minismoker --debug --perl /home/chris/perl588/bin/perl
And we are smoking!