1Pinto(3) User Contributed Perl Documentation Pinto(3)
2
3
4
6 Pinto - Curate a repository of Perl modules
7
9 version 0.14
10
12 See pinto to create and manage a Pinto repository.
13
14 See pintod to allow remote access to your Pinto repository.
15
16 See Pinto::Manual for more information about the Pinto tools.
17
18 Stratopan <http://stratopan.com> for hosting your Pinto repository in
19 the cloud.
20
22 Pinto is an application for creating and managing a custom CPAN-like
23 repository of Perl modules. The purpose of such a repository is to
24 provide a stable, curated stack of dependencies from which you can
25 reliably build, test, and deploy your application using the standard
26 Perl tool chain. Pinto supports various operations for gathering and
27 managing distribution dependencies within the repository, so that you
28 can control precisely which dependencies go into your application.
29
31 Pinto is inspired by Carton, CPAN::Mini::Inject, and MyCPAN::App::DPAN,
32 but adds a few interesting features:
33
34 • Pinto supports multiple indexes
35
36 A Pinto repository can have multiple indexes. Each index
37 corresponds to a "stack" of dependencies that you can control. So
38 you can have one stack for development, one for production, one for
39 feature-xyz, and so on. You can also branch and merge stacks to
40 experiment with new dependencies or upgrades.
41
42 • Pinto helps manage incompatibles between dependencies
43
44 Sometimes, you discover that a new version of a dependency is
45 incompatible with your application. Pinto allows you to "pin" a
46 dependency to a stack, which prevents it from being accidentally
47 upgraded (either directly or via some other dependency).
48
49 • Pinto has built-in version control
50
51 When things go wrong, you can roll back any of the indexes in your
52 Pinto repository to a prior revision. Also, you can view the
53 complete history of index changes as you add or upgrade
54 dependencies.
55
56 • Pinto can pull archives from multiple remote repositories
57
58 Pinto can pull dependencies from multiple sources, so you can
59 create private (or public) networks of repositories that enable
60 separate teams or individuals to collaborate and share Perl
61 modules.
62
63 • Pinto supports team development
64
65 Pinto is suitable for small to medium-sized development teams and
66 supports concurrent users. Pinto also has a web service interface
67 (via pintod), so remote developers can use a centrally hosted
68 repository.
69
70 • Pinto has a robust command line interface.
71
72 The pinto utility has commands and options to control every aspect
73 of your Pinto repository. They are well documented and behave in
74 the customary UNIX fashion.
75
76 • Pinto can be extended.
77
78 You can extend Pinto by creating Pinto::Action subclasses to
79 perform new operations on your repository, such as extracting
80 documentation from a distribution, or grepping the source code of
81 several distributions.
82
84 In some ways, Pinto is similar to PAUSE <http://pause.perl.org>. Both
85 are capable of accepting distributions and constructing a directory
86 structure and index that Perl installers understand. But there are
87 some important differences:
88
89 • Pinto does not promise to index exactly like PAUSE does
90
91 Over the years, PAUSE has evolved complicated heuristics for
92 dealing with all the different ways that Perl code is written and
93 packaged. Pinto is much less sophisticated, and only aspires to
94 produce an index that is "good enough" for most situations.
95
96 • Pinto does not understand author permissions
97
98 PAUSE has a system of assigning ownership and co-maintenance
99 permission of modules to specific people. Pinto does not have any
100 such permission system. All activity is logged so you can identify
101 the culprit, but Pinto expects you to be accountable for your
102 actions.
103
104 • Pinto does not enforce security
105
106 PAUSE requires authors to authenticate themselves before they can
107 upload or remove modules. Pinto does not require authentication,
108 so any user with sufficient file permission can potentially change
109 the repository. However pintod does support HTTP authentication,
110 which gives you some control over access to a remote repository.
111
113 For now, the Pinto API is private and subject to radical change without
114 notice. Any API documentation you see is purely for my own references.
115 In the meantime, the command line utilities mentioned in the "SYNOPSIS"
116 are your public user interface.
117
119 Perldoc
120 You can find documentation for this module with the perldoc command.
121
122 perldoc Pinto
123
124 Websites
125 The following websites have more information about this module, and may
126 be of help to you. As always, in addition to those websites please use
127 your favorite search engine to discover more resources.
128
129 • MetaCPAN
130
131 A modern, open-source CPAN search engine, useful to view POD in
132 HTML format.
133
134 <http://metacpan.org/release/Pinto>
135
136 • CPAN Ratings
137
138 The CPAN Ratings is a website that allows community ratings and
139 reviews of Perl modules.
140
141 <http://cpanratings.perl.org/d/Pinto>
142
143 • CPANTS
144
145 The CPANTS is a website that analyzes the Kwalitee ( code metrics )
146 of a distribution.
147
148 <http://cpants.cpanauthors.org/dist/Pinto>
149
150 • CPAN Testers
151
152 The CPAN Testers is a network of smokers who run automated tests on
153 uploaded CPAN distributions.
154
155 <http://www.cpantesters.org/distro/P/Pinto>
156
157 • CPAN Testers Matrix
158
159 The CPAN Testers Matrix is a website that provides a visual
160 overview of the test results for a distribution on various
161 Perls/platforms.
162
163 <http://matrix.cpantesters.org/?dist=Pinto>
164
165 • CPAN Testers Dependencies
166
167 The CPAN Testers Dependencies is a website that shows a chart of
168 the test results of all dependencies for a distribution.
169
170 <http://deps.cpantesters.org/?module=Pinto>
171
172 Internet Relay Chat
173 You can get live help by using IRC ( Internet Relay Chat ). If you
174 don't know what IRC is, please read this excellent guide:
175 <http://en.wikipedia.org/wiki/Internet_Relay_Chat>. Please be courteous
176 and patient when talking to us, as we might be busy or sleeping! You
177 can join those networks/channels and get help:
178
179 • irc.perl.org
180
181 You can connect to the server at 'irc.perl.org' and join this
182 channel: #pinto then talk to this person for help: thaljef.
183
184 Bugs / Feature Requests
185 <https://github.com/thaljef/Pinto/issues>
186
187 Source Code
188 The code is open to the world, and available for you to hack on. Please
189 feel free to browse it and play with it, or whatever. If you want to
190 contribute patches, please send me a diff or prod me to pull from your
191 repository :)
192
193 <https://github.com/thaljef/Pinto>
194
195 git clone git://github.com/thaljef/Pinto.git
196
198 • BenRifkah Bergsten-Buret <mail.spammagnet+github@gmail.com>
199
200 • Boris Däppen <bdaeppen.perl@gmail.com>
201
202 • brian d foy <brian.d.foy@gmail.com>
203
204 • Chris Kirke <chris.kirke@gmail.com>
205
206 • Cory G Watson <gphat@onemogin.com>
207
208 • David Steinbrunner <dsteinbrunner@pobox.com>
209
210 • Ferenc Erki <erkiferenc@gmail.com>
211
212 • Florian Ragwitz <rafl@debian.org>
213
214 • Glenn Fowler <cebjyre@cpan.org>
215
216 • hesco <hesco@campaignfoundations.com>
217
218 • Jakob Voss <jakob@nichtich.de>
219
220 • Jeffrey Ryan Thalhammer <jeff@thaljef.org>
221
222 • Kahlil (Kal) Hodgson <kahlil.hodgson@dealmax.com.au>
223
224 • Karen Etheridge <ether@cpan.org>
225
226 • Michael G. Schwern <schwern@pobox.com>
227
228 • Michael Jemmeson <mjemmeson@cpan.org>
229
230 • Mike Raynham <mike.raynham@spareroom.co.uk>
231
232 • Nikolay Martynov <mar.kolya@gmail.com>
233
234 • Oleg Gashev <oleg@gashev.net>
235
236 • popl <popl_likes_to_code@yahoo.com>
237
238 • Steffen Schwigon <ss5@renormalist.net>
239
240 • Tommy Stanton <tommystanton@gmail.com>
241
242 • Wolfgang Kinkeldei <wolfgang@kinkeldei.de>
243
244 • Yanick Champoux <yanick@babyl.dyndns.org>
245
247 Jeffrey Ryan Thalhammer <jeff@stratopan.com>
248
250 This software is copyright (c) 2015 by Jeffrey Ryan Thalhammer.
251
252 This is free software; you can redistribute it and/or modify it under
253 the same terms as the Perl 5 programming language system itself.
254
255
256
257perl v5.34.0 2022-01-21 Pinto(3)