http://www.perlmonks.org?node_id=995003

Pinto is a sophisticated tool for managing Perl module dependencies. You may have heard about it from my presentation at YAPC earlier this year. In the last few months, Pinto has continued to evolve. The latest release includes a version control mechanism that allows you to review changes to your dependency stack and roll the stack back to a prior revision.

If your application has ever broken unexpectedly when a new version of a dependency is released to CPAN, or if you've struggled to create builds with consistent versions of your dependencies, then Pinto might be the tool you need. So I invite you to give it a try and send me your feedback. Some features are still experimental, so I recommend installing it into a sandbox. Here's how to get started:

# Install into the "sandbox" directory cpanm --local-lib=sandbox Pinto App::Pinto # Get a listing of available pinto commands perl -Isandbox/lib/perl5 sandbox/bin/pinto commands

Pinto has extensive documentation too. Pinto::Manual::QuickStart shows sample commands for common operations. Pinto::Manual::Tutorial is a step-by-step explanation of how to use Pinto. Lastly, Pinto::Manual::Introduction gives the big-picture of why Pinto exists in the first place.

I look forward to hearing what you all think.

-Jeff

Replies are listed 'Best First'.
Re: Announcing: Pinto
by davido (Cardinal) on Sep 22, 2012 at 00:40 UTC

    I saw your presentation on Pinto to the Los Angeles Perl Mongers, and thought it was great. I'm glad to see it's matured to the point that you're comfortable making a more official announcement. It seems like a good solution to several issues I've been dealing with lately, in fact.

    Your "presentation" link didn't work for me; I had to search within the yapc na 2012 channel to find the presentation.

    One barrier to entry is the dependency chain itself (ironically). When I first saw your Perl Mongers presentation, I went to install it and found more than one item in the dependency list that wouldn't install without force. This time it's DateTime, which fails on t/30future-tz.t, test 7: "Make sure we can add 750 years worth of days in Europe/London time zone". (Things are not looking good for London; somewhere between now and 750 years from now an untold disaster will warp their time fabric.) When I force the install of that module all is ok (at least from the comfort of Los Angeles TZ ;).

    Update: For the record, this is on Ubuntu 12.04LTS with a perlbrew 64-bit build of Perl 5.16.1.


    Dave

      One barrier to entry is the dependency chain itself (ironically).

      That's not likely to change. I'm just not smart enough to reinvent the bits that it depends on :)

      However, I have been toying with the idea of a hosted service built on Pinto. Imagine GitHub, but with repositories of Perl module distributions rather than repositories of source code files.

      -Jeff

        One barrier to entry is the dependency chain itself (ironically).

        That's not likely to change. I'm just not smart enough to reinvent the bits that it depends on :)

        You could always use http://www.citrusperl.com/ , install all the prerequisites, and create a New Binary Distribution called PintoShaddock :)