So far the Oslo QA Hackathon is going well, and it hasn't even stated yet.
On the plane ride over, I played with PPI to see how I could use it to extract the
package statements from Perl modules. Ten minutes later that was done. All I had to do was take a snippet from PPI and a another one from PPI::Document and everything was in place. I ran it through everything I had installed and it only had problems with two modules.
package statements are pretty simple. From that I created
Module::Extract::Namespaces to make the whole thing a bit more flexible and subclassable in case I need to modify things for some special cases.
After that I took the version parsing stuff I ripped out of PAUSE's mldistwatch and put that into
None of that took much time, so I looked at the problem I have indexing distributions that use Module::Install. I want to run the Makefile.PL to see what it actually puts in blib, but I don't want
auto_install. I don't really care about installing code or running it. I was thinking about all sorts of complicated ways to get around that, such as subclassing or monkeypatching it to have a null method for it, but I think that I can just rewrite the Makefile.PL to comment out the auto_install. I only thought of that once my laptop had run out of battery and couldn't start typing out the complicated solutions.
I also started thinking about a third module that could figure out the build system a distribution wants to use. I also want it to be able to recognize the special cases I'm likely to run into when going through all of the distributions. Part of the trick of my indexing project is going to be handling all of the exceptions.