1pip(3) User Contributed Perl Documentation pip(3)
2
3
4
6 pip - The Perl Installation Program, for scripted and third-party
7 distribution installation.
8
10 The pip ("Perl Installation Program") console application is used to
11 install Perl distributions in a wide variety of formats, both from CPAN
12 and from external third-party locations, while supporting module
13 dependencies that go across the boundary from third-party to CPAN.
14
15 Using pip you can install CPAN modules, arbitrary tarballs from both
16 the local file-system or across the internet from arbitrary URIs.
17
18 You can use pip to ensure that specific versions of CPAN modules are
19 installed instead of the most current version.
20
21 And beyond just single installations, you script script a series of
22 these installations by creating a "P5I" (Perl 5 Installation) file.
23
24 A Perl 5 Installation (P5I) file is a small script-like file that
25 describes a set of distributions to install, and integrates the
26 installation of these distributions with the CPAN installer.
27
28 The primary use of P5I files are for installing proprietary or non-CPAN
29 software that may still require the installation of a number of CPAN
30 dependencies in order to function.
31
32 P5I files are also extensible, with the first line of the file
33 specifying the name of the Perl class that implements the plan.
34
35 For the moment, the class described at the top of the P5I file must be
36 installed.
37
38 The simple Module::Plan::Lite plan class is bundled with the main
39 distribution, and additional types can be installed if needed.
40
41 Future Additions
42 Also on the development schedule for pip is the creation and
43 installation of distributions via "P5Z" files, which are tarballs
44 containing a P5I file, as well as all the distribution tarballs
45 referenced by the P5I file.
46
47 It is also anticipated that pip will gain support for PAR binary
48 packages and potentially also for ActivePerl PPM files.
49
51 The primary use of pip is to install from a P5I script, with the
52 canonical use case as follows:
53
54 pip directory/myplan.p5i
55
56 This command will load the plan file directory/myplan.p5i, create the
57 plan, and then execute it.
58
59 If only a directory name is given, pip will look for a default.p5i plan
60 in the directory. Thus, all of the following are equivalent
61
62 pip directory
63 pip directory/
64 pip directory/default.p5i
65
66 If no target is provided at all, then the current directory will be
67 used. Thus, the following are equivalent
68
69 pip
70 pip .
71 pip default.p5i
72 pip ./default.p5i
73
74 Syntax of a plan file
75 Initially, the only plan is available is the Module::Plan::Lite (MPL)
76 plan.
77
78 A typical MPL plan will look like the following
79
80 # myplan.p5i
81 Module::Plan::Lite
82
83 Process-0.17.tar.gz
84 YAML-Tiny-0.10.tar.gz
85
86 Direct installation of a single tarball
87 With the functionality available in pip, you can find that sometimes
88 you don't even want to make a file at all, you just want to install a
89 single tarball.
90
91 The "-i" option lets you pass the name of a single file and it will
92 treat it as an installer for that single file. Further, if the
93 extention of the tarball is .tar.gz, the -i option is implied.
94
95 For example, the following are equivalent.
96
97 # Installing with the -i|--install option
98 > pip Process-0.17.tar.gz
99 > pip -i Process-0.17.tar.gz
100 > pip --install Process-0.17.tar.gz
101
102 # Installing from the file as normal
103 > pip ./default.p5i
104
105 # myplan.p5i
106 Module::Plan::Lite
107
108 Process-0.17.tar.gz
109
110 The "-i" option can be used with any single value supported by
111 Module::Plan::Lite (see above).
112
113 This means you can also use pip to install a distribution from any
114 arbitrary URI, including installing direct from a subversion
115 repository.
116
117 > pip http://svn.ali.as/cpan/release/Process-0.17.tar.gz
118
120 This module is stored in an Open Repository at the following address.
121
122 <http://svn.ali.as/cpan/trunk/pip>
123
124 Write access to the repository is made available automatically to any
125 published CPAN author, and to most other volunteers on request.
126
127 If you are able to submit your bug report in the form of new (failing)
128 unit tests, or can apply your fix directly instead of submitting a
129 patch, you are strongly encouraged to do so. The author currently
130 maintains over 100 modules and it may take some time to deal with non-
131 Critical bug reports or patches.
132
133 This will guarentee that your issue will be addressed in the next
134 release of the module.
135
136 If you cannot provide a direct test or fix, or don't have time to do
137 so, then regular bug reports are still accepted and appreciated via the
138 CPAN bug tracker.
139
140 <http://rt.cpan.org/NoAuth/ReportBug.html?Queue=pip>
141
142 For other issues, for commercial enhancement and support, or to have
143 your write access enabled for the repository, contact the author at the
144 email address above.
145
147 Adam Kennedy <adamk@cpan.org>
148
150 Module::Plan::Base, Module::Plan::Lite, Module::Plan
151
153 Copyright 2006 - 2009 Adam Kennedy.
154
155 This program is free software; you can redistribute it and/or modify it
156 under the same terms as Perl itself.
157
158 The full text of the license can be found in the LICENSE file included
159 with this module.
160
161
162
163perl v5.12.0 2009-11-23 pip(3)