Smokebrew - It is like perlbrew but different

So, I finally got around to doing what I was threatening to do at Copenhagen and got a tool created to automate the building and configuration of perls for CPAN Testing.

Smokebrew is now available on CPAN and after some smoking of my own dog-food appears to work really really well.

The name was inspired by GUGOD's perlbrew, but Smokebrew itself does things differently to perlbrew.

It doesn't do the environment tweaking, for instance, to switch between the installed perls.

The goal has been to build, install and configure various versions of perl for CPAN Testing.

The configuration is dealt with by App::SmokeBrew::Plugin's. These are objects that are called by Smokebrew after it has successfully built and installed a particular version of perl. Smokebrew comes with two plugins, Null and CPANPLUS::YACSmoke. The former does no configuration and the latter configures for CPAN Testing with CPANPLUS::YACSmoke.

smokebrew --email --builddir /home/tester/build --prefix /home/tester/perls --perlargs "-Dusethreads" --perlargs "-Duse64bitint" --plugin Null --recent --verbose

The above would build "recent" perls which are stable perls from 5.8.9 into directories in /home/tester/perls that will have threads and 64bitinit and it will use the Null plugin to configure those perls, which effective does no configuration.

smokebrew --email --builddir /home/tester/build --prefix /home/tester/perls --perlargs "-Dusethreads" --perlargs "-Duse64bitint" --plugin CPANPLUS::YACSmoke --recent --verbose

This would do the same as above, but now each perl will configured using the CPANPLUS::YACSmoke plugin and they will be ready to start CPAN Testing, say using minismokebox.

PERL5_YACSMOKE_BASE=/home/tester/perls/conf/perl-5.8.9/ minismokebox --nolog --debug --indices --perl /home/tester/perls/perl-5.8.9/bin/perl

1 Comment

This is really nice, finally something mortals can easily set up to run a smoker.

Leave a comment

About bingos

user-pic 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