1CPAN-UPLOAD(1)        User Contributed Perl Documentation       CPAN-UPLOAD(1)
2
3
4

NAME

6       cpan-upload - upload one or more files to CPAN, using PAUSE
7

SYNOPSIS

9       cpan-upload [OPTIONS] file1 .. fileN
10

DESCRIPTION

12       cpan-upload is a script which automates the process of uploading a file
13       to CPAN using PAUSE, the Perl Authors Upload Server.  For example, to
14       upload a recent version of the Net::Dict module I ran:
15
16           % cpan-upload -verbose Net-Dict-1.07.tar.gz
17
18       If everything went OK, you'll get two mail messages from the PAUSE
19       monitor: one to acknowledge the upload, and one to let you know if your
20       upload made it through to CPAN.
21
22       Given one or more files to upload, cpan-upload carries out the
23       following two steps:
24
25       ·   FTP the file or files to the PAUSE ftp server, putting them in the
26           incoming directory.
27
28       ·   Register the upload by POSTing to the PAUSE web server.
29
30       This is just one of the ways you can upload something to PAUSE.  See
31       the PAUSE FAQ for details (referenced in SEE ALSO section below).
32
33       Before using cpan-upload you must register with PAUSE, to get a
34       username and password.  If you are a regular uploader to PAUSE, you'll
35       probably want to create a ".pause" configuration file, as described in
36       "CONFIGURATION FILE" below.  If not, you can just use the command-line
37       options, as described in "OPTIONS" below.  If you don't provide your
38       password (via configuration file or command-line), then you will be
39       prompted for it.  Echo'ing will be turned off while you type your
40       password.  This behaviour can be suppressed with the -non_interactive
41       option, described below.
42

OPTIONS

44       -user <string>
45           Your PAUSE username (which you previously registered with PAUSE).
46
47       -password <string>
48           The password for your PAUSE username.
49
50       -directory <string> | -dir <string>
51           A subdirectory in your CPAN area where the file should be uploaded
52           to.
53
54       -mailto <email>
55           Your email address, to include the HTTP request header.  This is
56           also used as the password for the ftp upload to PAUSE.
57
58       -ftp_gateway <host>
59           Specifies the name of the host which has your ftp gateway.
60
61       -ftp_proxy <host>
62           Specifies the name of the host which has your ftp proxy, if you're
63           behind a firewall.
64
65       -http_proxy <URL>
66           Specifies the URL for a proxy to use when making HTTP requests.
67
68       -non_interactive | -ni
69           cpan-upload should not prompt for any missing information (eg
70           password), it should just warn or die, as appropriate.
71
72       -help
73           Displays a short help message with the OPTIONS section from the
74           cpan-upload documentation.
75
76       -doc
77           Display the full documentation for cpan-upload.
78
79       -verbose
80           Turns on verbose information as the script runs.
81
82       -debug
83           Turns on debugging information. Useful mainly for the developer, it
84           displays the HTTP request and response.
85
86       -version
87           Display the version number of the cpan-upload script.
88

CONFIGURATION FILE

90       You can provide the configuration information needed via a .pause file
91       in your home directory.  If you upload files at all regularly you will
92       want to set up one of these.
93
94       user username
95           This is used to specify your PAUSE username.  This just saves you
96           from typing it every time you run the script.
97
98       password password
99           This is used to specify your PAUSE password.
100
101       directory path
102           Specify a subdirectory in your CPAN area.
103
104       ftp_gateway HOST
105           Specifies the hostname of your ftp gateway used to get through a
106           firewall. For example:
107
108               ftp_gateway = ftp-gw
109
110       ftp_proxy HOST
111           Specifies the hostname of your ftp proxy used to get through a
112           firewall. For example:
113
114               ftp_proxy = ftp-proxy
115
116       http_proxy URL
117           The URL for the proxy to use when making HTTP requests to the PAUSE
118           web server. For example:
119
120               http_proxy = http://proxy/
121
122       mailto EMAIL
123           Specifies the email address which is passed in the header of the
124           HTTP request, and as the password for the anonymous ftp upload.
125           You must provide this.
126
127       non_interactive
128           Specifies that cpan-upload should never prompt the user (eg for
129           password), but should take a default action.
130
131       The following is a sample .pause file:
132
133           # example .pause for user neilb
134           # the user is your registered PAUSE username
135           user NEILB
136           password thisisnotmyrealpassword
137
138           mailto      = neil@bowers.com
139           ftp_gateway = ftp-gw
140           http_proxy  = http://proxy.cre.canon.co.uk/
141
142           non_interactive
143
144       Note that your .pause must not be readable by others, since it can
145       contain your PAUSE password. The cpan-upload script refuses to run if
146       your config file can be read by others.
147

POSSIBLE TODO ITEMS

149       Also, let me know if you ever have occasion to wish that the features
150       below had been implemented. I probably won't do them unless someone
151       would like to see them in.
152
153       I'd be happy to hear any more suggestions.
154
155       ·   As with the password, prompt for PAUSE username and email address
156           if not provided (by .pause file or on the command-line).
157
158       ·   Have a -noftp option or similar - ie don't try and ftp, just do the
159           post, assuming that the file is already in the ftp incoming
160           directory. We could be smart and check that it is.  This would be
161           useful if a previous ftp upload succeeded but the POST operation
162           failed for some reason.
163
164       ·   Add configuration options for specifying the PAUSE ftp server name,
165           the incoming directory, and the URI we POST to.  This would let you
166           deal with any changes without requiring a new release.  These
167           aren't likely to change on any regular basis, so seem gratuitous.
168

SEE ALSO

170       www.cpan.org
171           The home page for the Comprehensive Perl Archive Network.
172
173       PAUSE
174           The Perl Authors Upload SErver. The PAUSE FAQ can be seen on CPAN:
175
176               http://www.cpan.org/modules/04pause.html
177
178       Net::FTP
179           Graham Barr's FTP client module, which is part of the libnet
180           distribution, available from:
181
182               http://www.cpan.org/modules/by-module/Net/
183
184       libwww-perl5
185           The LWP distribution which provides the modules used by this script
186           to talk to the PAUSE web server. You can get the latest version
187           from:
188
189               http://www.cpan.org/modules/by-module/LWP/
190
191       AppConfig::Std
192           The module used to handle command-line options and the
193           configuration file.
194
195               http://www.cpan.org/authors/id/NEILB/
196
197           This is actually a subclass of "AppConfig", which you'll also need.
198
199               http://www.cpan.org/authors/id/ABW/
200
201       Term::ReadKey
202           The module used to turn off echo'ing if we prompt the user for a
203           PAUSE password.
204

VERSION

206       $Revision: 2.2 $
207

SCRIPT CATEGORIES

209       CPAN
210

PREREQUISITES

212       AppConfig::Std Net::FTP HTTP::Request::Common LWP::UserAgent
213       HTTP::Status File::Basename Term::ReadKey
214

AUTHOR

216       Neil Bowers <neil@bowers.com>
217
219       Copyright (c) 2001-2002 Neil Bowers.
220
221       Copyright (c) 1998-2001 Canon Research Centre Europe. All rights
222       reserved.
223
224       This script is free software; you can redistribute it and/or modify it
225       under the same terms as Perl itself.
226
227
228
229perl v5.12.0                      2002-07-02                    CPAN-UPLOAD(1)
Impressum