Slash Boxes
NOTE: use Perl; is on undef hiatus. You can read content, but you can't post it. More info will be forthcoming forthcomingly.

All the Perl that's Practical to Extract and Report

use Perl Log In

Log In

[ Create a new account ]

BinGOs (7246)

  (email not shown publicly)

System administrator, part-time Perl hacker, full-time POE [] evangelist. One day he will be made to pay for his crimes.

He has some modules on CPAN []. They may or may not be useful

Journal of BinGOs (7246)

Monday May 14, 2007
06:02 AM

I am bleading smoking a CPAN

[ #33270 ]

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:// .

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'] <space>
Section to configure: [1]: 3
Section to configure: [1]: 4
Which email address shall I use? [1]: 3
Email address:
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/

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
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!

The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
More | Login | Reply
Loading... please wait.
  • 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.

    • 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.

    • 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.

  • 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/ but I otherwise just test from virgin installs. It prevents installer-chain issues from becoming invisible.
  • 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 :)
  • Thank you so much. Your work is certainly appreciated.

  • 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.