Monday, September 19, 2011

New cpanspec coming soon

I haven't released a new version of cpanspec in quite a while, but I have been working on it off and on with the help of several other people.  The big feature that I added was dependency extraction from tests, but I wasn't happy with the results of it.  Luckily, other people made it better, plus knocked a bunch of stuff off my TODO list.

The current list of changes looks like this:

  • Extract dependencies from tests.
  • Add script detection (patch from Jeff Fearn).
  • Lots and lots of patches from Dennis Kaarsemaker and Gavin Carr:
    • Drop cpanget and add the functionality to cpanspec.
    • Check the search path for rpm, rpmbuild, etc.
    • Add CC0 licence.
    • Change %{optimize} to %{optflags}.
    • Make tarball directory version component optional.
    • Add an option to print the generated specfile to stdout
    • Allow building rpms for slightly older perl versions
    • Check all build requirements against CPAN
    • Stop losing dependency version information for Module::Build, ExtUtils::MakeMaker, etc.
    • Strip any version comparison operator from the 'perl' build requirement
    • Add entries from configure_requres in META.yml as build dependencies
    • Detect scripts better
    • Don't let Module::AutoInstall run interactively
    • Add a simple blacklisting mechanism

In my light testing, this version has been working beautifully, but I'd really like to hear some more positive feedback before I push this out into Fedora, so if you package Perl modules, give it a try and let me know what you think.