The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

Changes for version 0.087 - 2013-06-19

  • INCOMPATIBLE CHANGES:
  • When pulling, Pinto now takes the first satisfactory package that it finds among the upstream repositories, rather than taking the latest one. This only matters if you specify multiple upstream repositories. To get the old behavior, use the new --cascade option on the "pull" and "add" commands. Thanks @hesco for helping me sort this out.
  • The "version" command has been removed. Now that all Pinto components ship together, they all have the same version number. So there is no need for a special version command. If you want to know what version of pinto you have, just use the --version option.
  • Author IDs must now match /^[A-Z]{2}[-A-Z0-9]*$/. In other words, two ASCII letters followed by zero or more ASCII letters, digits, or hyphens. If you use lowercase letters, they will be automatically forced to uppercase for you. This was done because cpanm relies on author IDs following the PAUSE convention. I had hoped that Pinto could be more liberal about author IDs, but it seems we must conform so that we can cooperate with the rest of the toolchain.
  • The --no-history and --allow-duplicates repository configuration parameters are no longer supported. I had created those so you could try mirroring CPAN with a Pinto repository. But I have decided that use case is out of scope for Pinto. If you realy want a mirror of CPAN, use CPAN::Mini or rsync.
  • ENHANCEMENTS:
  • The names of those kind souls who generously helped finance Pinto through the crowdfunding campaing on Crowdtilt are now listed in Pinto::Manual::Thanks. There is also a related Easter egg among the pinto(1) commands -- see if you can find it!
  • Pinto::Server (a.k.a. pintod) will abort the action if it looses the connection with the client. So, for example, you can press Ctrl-C in the middle of pulling a long chain of dependencies into a remote repository and the server will immediately stop and roll back the entire transaction.
  • The progress meter is now visible when using a remote repository. The progress meter is never shown when --verbose or --quiet is set, or when STDERR is not connected to a terminal.
  • The "init" command now has a --target-perl-version switch that sets the default target_perl_version property for all new stacks. This is handy if you know that all stacks will be targeting a perl that is different from the one you are using to run pinto.
  • BUG FIXES:
  • The "install" command can now be used on a locked stack, but only if the --do-pull option is not given. If you want to pull packges while installing, then you must unlock the stack first. Thanks Jeremy Marshal.
  • The "install" command can now be used on a remote repository that has basic HTTP authentication enabled. Beware that cpanm does not sanitize passwords from its log messages. I'm working with miyagawa to fix that.
  • Pinto::Server now cleans up child procs. No more zombies!
  • Cleaned up some extraneous dependencies.
  • Fixed several typos in the documentation.

Documentation

Curate a custom repository of Perl modules
Web interface to a Pinto repository
Entry point for Pinto documentation
Tips for installing Pinto
Why Pinto exists
A condensed summary of Pinto
Thanking the Pinto supporters
A narrative introduction to Pinto

Modules

Command-line driver for Pinto
Base class for pinto commands
add local archives to the repository
remove orphaned distribution archives
create a new stack by copying another
mark the default stack
permanently remove an archive
show difference between two stacks
display a command's help screen
create a new repository
install stuff from the repository
permanently delete a stack
show the packages in a stack
mark a stack as read-only
show the revision logs of a stack
show the full manual for a command
migrate repository to a new version
create a new empty stack
force a package to stay in a stack
show or set stack properties
pull archives from upstream repositories
put existing packages on a stack
change the name of a stack
show available stacks
report statistics about the repository
show our gratitude
mark a stack as writable
free packages that have been pinned
remove packages from a stack
report archives that are missing
Curate a repository of Perl modules
Base class for all Actions
Add a local distribution into the repository
Remove orphaned archives
Create a new stack by copying another
Set the default stack
Delete archives from the repository
Show the difference between two stacks
Install packages from the repository
Permanently delete a stack
List the contents of a stack
Lock a stack to prevent future changes
Show revision log for a stack
Create a new empty stack
A no-op action
Force a package to stay in a stack
Show or change stack properties
Pull upstream distributions into the repository
Register packages from existing archives on a stack
Change the name of a stack
List known stacks in the repository
Report statistics about the repository
Unlock a stack to allow future changes
Loosen a package that has been pinned
Unregister packages from a stack
Report distributions that are missing
Unpack an archive into a temporary directory
Base class for interactive interfaces
Interface for network-based interaction
Interface for terminal-based interaction
Utility class for commit message templates
Internal configuration for a Pinto repository
Constants used across the Pinto utilities
Interface to the Pinto database
Compute difference between two revisions
Specifies a distribution by author and path fragments
Base class for Pinto exceptions
Global variables used across the Pinto utilities
Manages indexes files from upstream repositories
Write records to an 02packages.details.txt file
Initializes a new Pinto repository
Manage locks to synchronize concurrent operations
Migrate an existing repository to a new version
Generates a stub 03modlist.data.gz file
Extract packages provided/required by a distribution archive
Specifies a package by name and version
Iterates through distribution prerequisites
Interact with a remote Pinto repository
Base class for remote Actions
Add a distribution to a the repository
Install packages from the repository
The result from running a remote Action
Coordinates the database, files, and indexes
The result from running an Action
Iterates through revision history
Role for actions that commit changes to the repository
Something that fetches remote files
Something that installs packages
Something that has a pause config attribute
Something that has chrome plating
Something pulls packages to a stack
Attributes and methods for all Schema::Result objects
Role for actions that are transactional
The DBIx::Class::Schema for Pinto
Represents the relationship between revisions
Represents a distribution archive
Represents a Package provided by a Distribution
Represents a Distribution -> Package dependency
Represents the relationship between a Package and a Stack
Not in use -- will be removed
Represents a set of changes to a stack
Represents a named set of Packages
Common queries for Distributions
Common queries for Packages
Common queries for Registrations
Web interface to a Pinto repository
Base class for responders
Responder for action requests
Responder for static files
Routes server requests
Create Spec objects from strings
Report statistics about a Pinto repository
Storage for distribution archives
Moose types used within Pinto
Static utility functions for Pinto

Provides

in lib/Pinto/Difference.pm