I am bleading smoking a CPAN

BinGOs on 2007-05-14T11:02:28

So recently I started CPAN smoking using blead perl and had a few requests from other people on how to set up CPAN smoking using bleadperl.

Well I found it is relatively easy to do, since blead perl now includes CPANPLUS.

Here's how you do it:

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 blead perl.

I usually install my testing perl in the home directory of a non-privileged user account.

$ mkdir -p blead/bin
$ mkdir -p build/bleadperl
$ cd build/bleadperl
$ rsync -avz rsync://ftp.linux.activestate.com/perl-current/ .

This will pull blead perl source down to the current directory. 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/blead

Then compile, run the testsuite and install

$ make && make test && make install

Assuming everything went okay we should have blead perl installed under /home/chris/blead

$ cd
$ export APPDATA=/home/chris/blead/

Setting APPDATA forces CPANPLUS to locate its .cpanplus directory under /home/chris/blead/. Now let's configure cpan ( only answers different to the defaults are shown ):

$ /home/chris/blead/bin/cpan5.9.5
Would you like me to configure as much as possible automatically? [yes] no
CPAN build and cache directory? [/home/chris/.cpan] /home/chris/blead/.cpan
Policy on building prerequisites (follow, ask or ignore)? [ask] follow
Parameters for the 'make install' command?
Your choice:  [] UNINST=1
Parameters for the './Build 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> quit

Okay, we are finished with cpan. Let's configure cpanp ( again only changes to the defaults are shown ):

$ /home/chris/blead/bin/cpanp5.9.5
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/blead/.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. Also Regexp::Assemble prior to 0.29 fails it's tests on blead, so make sure that you use version 0.29 or greater. ( Thanks to grinder for fixing that.

$ /home/chris/blead/bin/cpanp5.9.5
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/blead/bin/perl5.9.5

And we are smoking!


Excellent Work

barbie on 2007-05-14T11:11:44

Nice one. I'll add this to the forthcoming CPAN Testers Wiki if that's okay with you.

I'll be interested to hear of the hack you had to make to get CPAN::YACSmoke working for this.

Re:Excellent Work

BinGOs on 2007-05-14T12:11:03

I backported sub homedir {} from version 0.03_08 and added a few additional bits that I ported over from CPAN::Reporter to show stuff like the %ENV, etc. nothing really heavy.

Re:Excellent Work

BinGOs on 2007-05-14T12:13:50

Sorry, yeah, add this to the wiki.

I'll expand this at some point for setting up a test environment for 5.8.8 perl.

Oh noe!

jjore on 2007-05-14T16:00:04

You actually had to pollute the blead image with all that CPAN and installation infrastructure? Blast and tarnation! My images are polluted by a $LIB/CPAN/Config.pm but I otherwise just test from virgin installs. It prevents installer-chain issues from becoming invisible.

Damn! I have work to do

grinder on 2007-05-15T14:59:02

I need to get my A into G and push a new blead-friendly release of Regexp::Assemble out the door. I'll try and get to that this week-end.

Thanks for the implicit kick in the pants :)

Excellent!

speters on 2007-05-15T20:11:10

Thank you so much. Your work is certainly appreciated.

Regexp::Assemble now tests correctly on blead

grinder on 2007-05-17T10:27:15

Hi Chris,

just to let you know... I have just uploaded version 0.29 of Regexp::Assemble, which is now fully blead-friendly. This will certainly simplify the process of smoking blead. Thanks for providing the required motivation.

Re:Regexp::Assemble now tests correctly on blead

BinGOs on 2007-05-17T17:53:07

Nice one. Now I shall amend the procedure.