.\" Automatically generated by Pod::Man 2.27 (Pod::Simple 3.28) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is turned on, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{ . if \nF \{ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. . \" fudge factors for nroff and troff .if n \{\ . ds #H 0 . ds #V .8m . ds #F .3m . ds #[ \f1 . ds #] \fP .\} .if t \{\ . ds #H ((1u-(\\\\n(.fu%2u))*.13m) . ds #V .6m . ds #F 0 . ds #[ \& . ds #] \& .\} . \" simple accents for nroff and troff .if n \{\ . ds ' \& . ds ` \& . ds ^ \& . ds , \& . ds ~ ~ . ds / .\} .if t \{\ . ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" . ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' . ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' . ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' . ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' . ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' .\} . \" troff and (daisy-wheel) nroff accents .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' .ds 8 \h'\*(#H'\(*b\h'-\*(#H' .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] .ds ae a\h'-(\w'a'u*4/10)'e .ds Ae A\h'-(\w'A'u*4/10)'E . \" corrections for vroff .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' . \" for low resolution devices (crt and lpr) .if \n(.H>23 .if \n(.V>19 \ \{\ . ds : e . ds 8 ss . ds o a . ds d- d\h'-1'\(ga . ds D- D\h'-1'\(hy . ds th \o'bp' . ds Th \o'LP' . ds ae ae . ds Ae AE .\} .rm #[ #] #H #V #F C .\" ======================================================================== .\" .IX Title "App::Pinto::Command::install 3pm" .TH App::Pinto::Command::install 3pm "2014-07-20" "perl v5.18.2" "User Contributed Perl Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" App::Pinto::Command::install \- install stuff from the repository .SH "VERSION" .IX Header "VERSION" version 0.097 .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 \& pinto \-\-root=REPOSITORY_ROOT install [OPTIONS] TARGET... .Ve .SH "DESCRIPTION" .IX Header "DESCRIPTION" !! \s-1THIS COMMAND IS EXPERIMENTAL \s0!! .PP Installs targets from the repository into your environment. This is just a thin wrapper around cpanm that is wired to fetch everything from the Pinto repository, rather than a public \s-1CPAN\s0 mirror. .PP If the \f(CW\*(C`\-\-do\-pull\*(C'\fR option is given, then all targets and their prerequisites will be pulled onto the stack before attempting to install them. If any thing cannot be pulled because it cannot be found or is blocked by a pin, then the installation will not proceed. .SH "COMMAND ARGUMENTS" .IX Header "COMMAND ARGUMENTS" Arguments are the things you want to install. These can be package names, distribution paths, URLs, local files, or directories. Look at the cpanm documentation to see all the different ways of specifying what to install. .PP You can also pipe arguments to this command over \s-1STDIN. \s0 In that case, blank lines and lines that look like comments (i.e. starting with \*(L"#\*(R" or ';') will be ignored. .SH "COMMAND OPTIONS" .IX Header "COMMAND OPTIONS" .IP "\-\-cascade" 4 .IX Item "--cascade" !! \s-1THIS OPTION IS EXPERIMENTAL \s0!! .Sp This option only matters when the \f(CW\*(C`\-\-do\-pull\*(C'\fR option is also used. .Sp When searching for a prerequisite package, always take the latest satisfactory version of the package found amongst \fBall\fR the upstream repositories, rather than just taking the \fBfirst\fR satisfactory version that is found. Remember that Pinto only searches the upstream repositories when the local repository does not already contain a satisfactory version of the package. .IP "\-\-cpanm\-exe \s-1PATH\s0" 4 .IX Item "--cpanm-exe PATH" .PD 0 .IP "\-\-cpanm \s-1PATH\s0" 4 .IX Item "--cpanm PATH" .PD Sets the path to the cpanm executable. If not specified, the \&\f(CW\*(C`PATH\*(C'\fR will be searched for the executable. At present, cpanm version 1.500 or newer is required. .IP "\-\-cpanm\-options NAME=VALUE" 4 .IX Item "--cpanm-options NAME=VALUE" .PD 0 .IP "\-o NAME=VALUE" 4 .IX Item "-o NAME=VALUE" .PD These are options that you wish to pass to cpanm. Do not prefix the option \s-1NAME\s0 with a '\-'. You can pass any option you like, but the \&\f(CW\*(C`\-\-mirror\*(C'\fR and \f(CW\*(C`\-\-mirror\-only\*(C'\fR options will always be set to point to the Pinto repository. .IP "\-\-dry\-run" 4 .IX Item "--dry-run" Go through all the motions, but do not actually commit any changes to the repository. Use this option to see how the command would potentially impact the stack. This only has effect when using the \&\f(CW\*(C`\-\-pull\*(C'\fR option. .IP "\-\-local\-lib \s-1DIRECTORY\s0" 4 .IX Item "--local-lib DIRECTORY" .PD 0 .IP "\-l \s-1DIRECTORY\s0" 4 .IX Item "-l DIRECTORY" .PD Shortcut for setting the \f(CW\*(C`\-\-local\-lib\*(C'\fR option on cpanm. Same as \&\f(CW\*(C`\-\-cpanm\-options local\-lib=DIRECTORY\*(C'\fR or \f(CW\*(C`\-o l=DIRECTORY\*(C'\fR. .IP "\-\-local\-lib\-contained \s-1DIRECTORY\s0" 4 .IX Item "--local-lib-contained DIRECTORY" .PD 0 .IP "\-L \s-1DIRECTORY\s0" 4 .IX Item "-L DIRECTORY" .PD Shortcut for setting the \f(CW\*(C`\-\-local\-lib\-contained\*(C'\fR option on cpanm. Same as \f(CW\*(C`\-\-cpanm\-options local\-lib\-containted=DIRECTORY\*(C'\fR or \f(CW\*(C`\-o L=DIRECTORY\*(C'\fR. .IP "\-\-message=TEXT" 4 .IX Item "--message=TEXT" .PD 0 .IP "\-m \s-1TEXT\s0" 4 .IX Item "-m TEXT" .PD Use \s-1TEXT\s0 as the revision history log message. This is only relevant if you also set the \f(CW\*(C`\-\-pull\*(C'\fR option. If you do not use \f(CW\*(C`\-\-message\*(C'\fR option, then you will be prompted to enter the message via your text editor. Use the \f(CW\*(C`EDITOR\*(C'\fR or \f(CW\*(C`VISUAL\*(C'\fR environment variables to control which editor is used. A log message is not required whenever the \f(CW\*(C`\-\-dry\-run\*(C'\fR option is set, or if the action did not yield any changes to the repository. .IP "\-\-do\-pull" 4 .IX Item "--do-pull" Pull the targets and recursively pull all their prerequisites onto the stack before installing. Without the \f(CW\*(C`\-\-do\-pull\*(C'\fR option, all targets and their prerequisites must already be on the stack or the installation will probably fail. When the \f(CW\*(C`\-\-do\-pull\*(C'\fR option is used, the stack must not be locked. .IP "\-\-stack=NAME" 4 .IX Item "--stack=NAME" .PD 0 .IP "\-s \s-1NAME\s0" 4 .IX Item "-s NAME" .PD Use the stack with the given \s-1NAME\s0 as the repository index. When used with the \f(CW\*(C`\-\-pull\*(C'\fR option, this also determines which stack prerequisites will be pulled onto. Defaults to the name of whichever stack is currently marked as the default stack. Use the stacks command to see the stacks in the repository. .SH "USING cpan OR cpanm DIRECTLY" .IX Header "USING cpan OR cpanm DIRECTLY" On the surface, A Pinto repository looks like an ordinary \s-1CPAN\s0 repository, so you can use any client to install modules. All you have to do is \*(L"point\*(R" it at the \s-1URL\s0 of your Pinto repository. Each client has a slightly different interface for setting the \s-1URL.\s0 .PP For cpanm, use the \f(CW\*(C`\-\-mirror\*(C'\fR and \f(CW\*(C`\-\-mirror\-only\*(C'\fR options like this: .PP .Vb 1 \& $> cpanm \-\-mirror file:///path/to/repo \-\-mirror\-only Some::Package ... .Ve .PP For cpan, set the \f(CW\*(C`urllist\*(C'\fR config option via the shell like this: .PP .Vb 5 \& $> cpan \& cpan[1]> o conf urllist file:///path/to/repo \& cpan[2]> reload index \& cpan[3]> install Some::Package \& cpan[4]> o conf commit # If you want to make the change permanent .Ve .PP Pointing your client at the top of your repository will install modules from the default stack. To install from a particular stack, just add it to the \s-1URL. \s0 For example: .PP .Vb 3 \& file:///path/to/repo # Install from default stack \& file:///path/to/repo/stacks/dev # Install from "dev" stack \& file:///path/to/repo/stacks/prod # Install from "prod" stack .Ve .PP If your repository does not have a default stack then you must specify the full \s-1URL\s0 to one of the stacks as shown above. .SH "COMPATIBILITY" .IX Header "COMPATIBILITY" The \f(CW\*(C`install\*(C'\fR does not support some of the newer features found in version 1.6 (or later) of cpanm, such as installing from a Git repository, installing development releases, or using complex version expressions. If you pass any of those as arguments to this command, the behavior is unspecified. .SH "AUTHOR" .IX Header "AUTHOR" Jeffrey Ryan Thalhammer .SH "COPYRIGHT AND LICENSE" .IX Header "COPYRIGHT AND LICENSE" This software is copyright (c) 2013 by Jeffrey Ryan Thalhammer. .PP This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.