CPANdeps now cares about what version of perl you're running. It lets you restrict test results to just the specified version, or look at all versions.
It also now uses Parse::CPAN::Packages instead of CPAN.pm to figure out what distribution each module lives in. That means that I now no longer have the huge startup time of CPAN.pm to worry about, so can drop mod_perl. Phew!
Following on from Devel::CheckOS I have been working with David Golden on Devel::CheckLib. It's similar to Devel::CheckOS, in that it will let module authors specify dependencies which aren't just other perl modules - if they need, eg, libjpeg, then they can use this module in Makefile.PL / Build.PL to make it a pre-req, and if it's missing then the CPAN testers will SHUT THE HELL UP ABOUT IT and not annoy the author.
It's still in something of a state of flux so not ready for real-world use yet, but we're at the stage where we need lots of people to beat it to hell and back. Please try to run the tests on as many platforms as possible, with as many perls as possible, and in particular using perls built with as many compilers and linkers as possible. Send the results - both successes and failures - to me by email along with the output from
perl -V (that's a capital V).
We're particularly interested in results from people whose perl was built with something other than gcc or Microsoft C, as we don't have easy access to the proprietary Sun/SGI/DEC etc compilers or Borland C.
The more alert of you will have noticed that there is a bootstrapping problem in using this from within a Makefile.PL - relax, it will come with a script to bundle itself in an inc/ directory.
And no, "upgrade Firefox" is not a useful answer. Not only do I not want to, it won't stop the feature itself being annoying as hell.
Last night I released Devel::CheckOS and Devel::AssertOS. They are a wrapper around $^O with some extra functionality. For example, where you can check $^O's value to see if you're running on a Linux system, you can use these modules to check for OS 'families' as well, such as whether you're running on a Unix system.
Devel::CheckOS provides functions which return true or false depending on whether there's a match. Devel::AssertOS dies when you try to use it if there's no match.
The intention is that authors will use these modules whenever they write platform-specific code so that it will die with an appropriate message, which will be picked up by CPAN testers, and make them SHUT THE HELL UP when they try to do stupid things like test Solaris::Foo on Linux or VMS::Bar on Windows.
So I reported a problem to an author, and even diagnosed it for him cos I'm such a nice guy, saying that "In the pre-requisites you list the 'B' and 'O' modules. But those don't exist seperately on the CPAN, only as part of perl itself, so don't need to be listed. In fact, listing them can confuse some build tools and if the user has a very old version of CPAN.pm it might even try to build a new perl for them."
He replied "Well, honestly I think that you need to improve those build tools; or otherwise cite some docs saying that it is illegal to list the modules in PREREQ_PM which are part of perl."
I wonder which part of "a very old version of CPAN.pm" - that is, it doesn't apply to the current version - he is too stupid to understand, and why he thinks that other peoples' bugs are my problem.
Hurrah! I finally managed to build perl on NetBSD/Alpha! So I've added that machine to my regular testing, and while I was at it I also added an OS X/x86 box.
I've also started working through the CPAN back-catalogue, testing the most recent version of every distribution on the CPAN. Today I sent well over a thousand test reports. BingoS is gonna have to work hard to stay at the top of the leaderboard
After a discussion on the perl-qa list, and being blessed with a few hours free time, I wrote a shiny thing, which, given a module name on the CPAN, will find all its dependencies, and their dependencies yea even unto the Nth generation, and display a nice shiny report on their CPAN-testers results.
I expect it to be useful for authors trying to decide what to depend on (you don't want to depend on stuff that itself has fragile dependencies) and also for people trying to figger out why the hell some random module won't install.
To see half the CPAN, try pointing it at Angerwhale.
update: it now calculates the likelihood of a trouble-free install, and has been made much faster by having a local copy of the CPAN testers database and moving to mod_perl
I'm going to Vienna by train. If you want to join me you'll need to book in advance, and probably quite some way in advance as some of these trains apparently get fully booked.
Because this site doesn't support tables, which I need to show you a timetable, you can see the details on my site.