I use Debian/testing aka squeeze and I've got ~300 non-Debian CPAN packages installed, all as .deb's using dh-make-perl. FWIW my workflow{1} is:
- cd <<cpanplus build directory>>
- cpanp t Module::To::Install download & test the module and all dependencies
- dh-make-perl --version <<module-version>>-0.0 --build <<directory>> for each directory created by cpanp. (Some fail, and some succeed.)
- su -c 'dpkg -i *.deb' Install those that succeeded
- Repeat 3 & 4 until all the modules are installed
It's a long way from being perfect, but it works for me.
{1} Scripted, of course:
#!/usr/bin/perl
use 5.010;
use strict;
use warnings FATAL => 'all';
run();
sub run {
fetch_and_test($_)
for @ARGV;
for my $dir (grep -d, glob "*") {
system qw[rm -rf], "$dir/debian"
if -e "$dir/debian";
my ($module, $ver) = $dir =~ m/(.*)-(.*)/;
my $deb = lc "lib$module-perl";
system(qw/dh-make-perl --version/, "$ver-0.0", "--build", $dir
+) == 0
and system qw/rm -rf/, $dir; #created a deb
}
}
sub fetch_and_test {
my $module = shift;
system qw[
cpanp
s conf prereqs 1;
],
"t", $module;
}