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 tester@cpan.org --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 tester@cpan.org --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
This is really nice, finally something mortals can easily set up to run a smoker.