Announcing Pinto 0.099


Pinto is a powerful tool for creating and managing a private CPAN. Pinto make it easy to control your dependencies and ensure your app is built with the right module versions every time. The latest release (0.099) includes a boatload of exciting enhancements. Here are the highlights[1]:

  • Pinto can now pull a precise version of a package. This makes it easy to fill your Pinto repository with the same version of the packages you are already using. So you can say things like this and it will just do-what-you-mean:
    $> pinto pull 'Moose==2.0007'

    Or you can use a complex version range specification, like this:

    $> pinto pull 'Moose>2.0007,!=2.1100,<=2.1200'

    This particular feature was financed by the crowdfunding campaign brian d foy organized last year. So I'm very happy to report that I've finally delivered the goods, and I want to thank all of the wonderful campaign contributors for their support.

  • Pinto now uses a web service provided by Stratopan to locate packages, which reduces memory consumption considerably and makes Pinto faster too. This feature does have some caveats, so please read the documentation.
  • Pinto has also become more distribution-centric, rather than package-centric. So when it shows you diffs between revisions, it now just shows you the distributions that have changed, rather than each individual package. This gives you a much more concise view. But you can still get the old view if you like.
  • Pinto now has a --skip-missing-prerequisites option that tells it to ignore any prerequisite packages that it can't find. This is especially useful when you're populating a repository with your private distributions and you don't want to worry about satisfying all the private prerequisites because you're going to add them later.
  • The indexing logic has been modified to help avoid Pinto's annoying tendency to try and index packages that it should not. This means Pinto may not index your distribution the way PAUSE would, but it is usually good enough to work with installers.

You can install Pinto from CPAN like any other module, but I recommend using the installer script which builds Pinto into a separate directory using blessed versions of all the dependencies. It just takes one command:

$> curl -L | bash

[1] These features are described in more detail in the change log.


Leave a comment

About Jeffrey Ryan Thalhammer

user-pic Hacker, speaker, author, dad.