NAME¶
pinto - Curate a custom repository of Perl modules
VERSION¶
version 0.097
SYNOPSIS¶
pinto --root=REPOSITORY_ROOT [global options] COMMAND [command options] [args]
DESCRIPTION¶
pinto is a tool for creating and managing a custom CPAN-like repository of Perl
modules. The purpose of such a repository is to provide a stable, curated
stack of dependencies from which you can reliably build, test, and deploy your
application using the standard Perl tool chain. pinto provides various
commands for gathering and managing distribution dependencies within the
repository, so that you can control precisely which dependencies go into your
application.
COMMANDS¶
pinto supports several commands that perform various operations on your
repository, or report information about your repository. To get a listing of
all the available commands:
$> pinto commands
Each command has its own options and arguments. To get a brief summary:
$> pinto help COMMAND
To see the complete manual for a command:
$> pinto manual COMMAND
GLOBAL OPTIONS¶
The following options are available for all commands.
- --root DIRECTORY | URL
- -r DIRECTORY | URL
- Specifies the root of your repository. This is mandatory for (almost) all
commands unless you've set the "PINTO_REPOSITORY_ROOT"
environment variable to point to your repository. The root can be a path
to a local directory, or the URL where a pintod server is listening.
- --no-color
- --no-colour
- Do not colorize command output.
- --password PASS
- -p PASS
- The password to use for server authentication. This is only relevant if
using a remote repository. If the PASS is "-" then you will be
prompted for a password.
- --quiet
- -q
- Report only fatal errors. This option silently overrides the
"--verbose" options. Also suppresses the progress meter.
Note: The progress meter is always suppressed when using a remote
repository. This will hopefully be fixed a future release.
- --username NAME
- -u NAME
- The username to user for server authentication. This is only relevant if
using a remote repository. Defaults to your current login.
- --verbose
- -v
- Display more diagnostic messages. This switch can be repeated multiple
times for greater effect. Diagnostic messages are always sent to
STDERR.
CONFIGURATION¶
Each repository has a configuration file that lives inside the repostiory at
.pinto/config/pinto.ini. This file is generated for you with default
values when you create the repository. You can influence the initial value for
some of the properties when you run the init command. Thereafter, you can
change these properties by editing the configuraiton file directly.
The following configuration parameters are supported:
- sources = URL1 [URL2 URL3 ...]
- This is a space-delimited list of the URLs for the upstream repositories
that this repository will pull archives from. These can point to CPAN
mirrors, minicpan mirrors, or stacks within other Pinto repositories.
Pinto will search the source repositories in the order they are listed
here. The default value is "http://cpan.perl.org
http://backpan.perl.org".
- target_perl_version = X.X.X
- Sets the default "target_perl_version" property for all new
stacks. Otherwise, all new stacks will target the version of perl that you
first used to create the repository. You can always configure the target
perl for each stack independently by using the props command.
BEWARE: The above configuration properties are global -- they affect
every stack in the repository. They also have a major affect on how the
repository behaves. For these reasons, it is generally unwise to change these
parameters once you have established the repository and filled it with
content. If you do change them, be sure and notify your team about it. Each
stack also has some stack-specific configuration properties. Those can be
shown or set using the props command.
ENVIRONMENT VARIABLES¶
The following environment variables influence the behavior of pinto. If you have
installed pinto as a stand-alone application as described in
Pinto::Manual::Installing, then the best place to set these variables is in
your
~/.pintorc file.
- "PINTO_REPOSITORY_ROOT"
- Sets the default path or URL of the pinto repository, if the
"--root" is not specified. The "--root" is required
for almost all commands. So if you usually only work with one repository,
then setting this can save you quite a bit of typing.
- "PINTO_EDITOR"
- Sets the path to editor application that will be used to compose log
messages. If not set, defaults to "VISUAL" or
"EDITOR". If none of those are set, either "nano",
"pico", or "vi" will be used (in that order).
- "PINTO_NO_COLOR"
- "PINTO_NO_COLOUR"
- If set to a true value, suppresses color in all command output.
- "PINTO_COLORS"
- "PINTO_COLOURS"
- A comma-separated list of exactly three color names. Any name supported by
Term::ANSIColor is allowed. These will be the colors that pinto uses to
colorize various output. For example:
PINTO_COLORS='red, light blue, green on_white'
Listing too many or too few colors will cause an exception, as will using an
invalid color name.
- "PINTO_USERNAME"
- Sets the default username when "--username" is not specified.
This is only used for authentication with a pintod server. Defaults to
your current shell username.
- "PINTO_AUTHOR_ID"
- Sets the default author identity when the "--author" option is
not specified (currently, only used by the add command). Defaults to your
current shell username. By PAUSE convention, all author id's are forced to
uppercase.
- "PINTO_PAGER"
- Sets the path to the pager application that will be used to paginate
output from each command. Defaults to "PAGER". If none of these
are set, then no pager is used.
- "PINTO_DEBUG"
- If set to 1, pinto will emit more diagnostic messages to STDERR. If set to
2, pinto will emit even more diagnostic messages.
SEE ALSO¶
pintod to allow remote access to your Pinto repository.
Pinto::Manual for general information on using Pinto.
Stratopan <
http://stratopan.com> for hosting your Pinto repository in the
cloud.
AUTHOR¶
Jeffrey Ryan Thalhammer <jeff@stratopan.com>
COPYRIGHT AND LICENSE¶
This software is copyright (c) 2013 by Jeffrey Ryan Thalhammer.
This is free software; you can redistribute it and/or modify it under the same
terms as the Perl 5 programming language system itself.