1Alien::Build::Plugin::DUoswenrloCaodn:t:rNiebguAotlteiideantP:ee:(rB3lu)iDlodc:u:mPelnutgaitni:o:nDownload::Negotiate(3)
2
3
4

NAME

6       Alien::Build::Plugin::Download::Negotiate - Download negotiation plugin
7

VERSION

9       version 2.80
10

SYNOPSIS

12        use alienfile;
13        share {
14          start_url 'http://ftp.gnu.org/gnu/make';
15          plugin 'Download' => (
16            filter => qr/^make-.*\.tar\.gz$/,
17            version => qr/([0-9\.]+)/,
18          );
19        };
20

DESCRIPTION

22       This is a negotiator plugin for downloading packages from the internet.
23       This plugin picks the best Fetch, Decode and Prefer plugins to do the
24       actual work.  Which plugins are picked depend on the properties you
25       specify, your platform and environment.  It is usually preferable to
26       use a negotiator plugin rather than the Fetch, Decode and Prefer
27       plugins directly from your alienfile.
28

PROPERTIES

30   url
31       [DEPRECATED] use "start_url" instead.
32
33       The Initial URL for your package.  This may be a directory listing
34       (either in HTML or ftp listing format) or the final tarball intended to
35       be downloaded.
36
37   filter
38       This is a regular expression that lets you filter out files that you do
39       not want to consider downloading.  For example, if the directory
40       listing contained tarballs and readme files like this:
41
42        foo-1.0.0.tar.gz
43        foo-1.0.0.readme
44
45       You could specify a filter of "qr/\.tar\.gz$/" to make sure only
46       tarballs are considered for download.
47
48   version
49       Regular expression to parse out the version from a filename.  The
50       regular expression should store the result in $1.
51
52       Note: if you provide a "version" property, this plugin will assume that
53       you will be downloading an initial index to select package downloads
54       from.  Depending on the protocol (and typically this is the case for
55       http and HTML) that may bring in additional dependencies.  If start_url
56       points to a tarball or other archive directly (without needing to do
57       through an index selection process), it is recommended that you not
58       specify this property.
59
60   ssl
61       If your initial URL does not need SSL, but you know ahead of time that
62       a subsequent request will need it (for example, if your directory
63       listing is on "http", but includes links to "https" URLs), then you can
64       set this property to true, and the appropriate Perl SSL modules will be
65       loaded.
66
67   passive
68       If using FTP, attempt a passive mode transfer first, before trying an
69       active mode transfer.
70
71   bootstrap_ssl
72       If set to true, then the download negotiator will avoid using plugins
73       that have a dependency on Net::SSLeay, or other Perl SSL modules.  The
74       intent for this option is to allow OpenSSL to be alienized and be a
75       useful optional dependency for Net::SSLeay.
76
77       The implementation may improve over time, but as of this writing, this
78       option relies on you having a working "curl" or "wget" with SSL support
79       in your "PATH".
80
81   prefer
82       How to sort candidates for selection.  This should be one of three
83       types of values:
84
85       code reference
86           This will be used as the prefer hook.
87
88       true value
89           Use Alien::Build::Plugin::Prefer::SortVersions.
90
91       false value
92           Don't set any preference at all.  A hook must be installed, or
93           another prefer plugin specified.
94
95   decoder
96       Override the detected decoder.
97

METHODS

99   pick
100        my($fetch, @decoders) = $plugin->pick;
101
102       Returns the fetch plugin and any optional decoders that should be used.
103

SEE ALSO

105       Alien::Build::Plugin::Prefer::BadVersion,
106       Alien::Build::Plugin::Prefer::GoodVersion
107
108       Alien::Build, alienfile, Alien::Build::MM, Alien
109

AUTHOR

111       Author: Graham Ollis <plicease@cpan.org>
112
113       Contributors:
114
115       Diab Jerius (DJERIUS)
116
117       Roy Storey (KIWIROY)
118
119       Ilya Pavlov
120
121       David Mertens (run4flat)
122
123       Mark Nunberg (mordy, mnunberg)
124
125       Christian Walde (Mithaldu)
126
127       Brian Wightman (MidLifeXis)
128
129       Zaki Mughal (zmughal)
130
131       mohawk (mohawk2, ETJ)
132
133       Vikas N Kumar (vikasnkumar)
134
135       Flavio Poletti (polettix)
136
137       Salvador Fandiño (salva)
138
139       Gianni Ceccarelli (dakkar)
140
141       Pavel Shaydo (zwon, trinitum)
142
143       Kang-min Liu (劉康民, gugod)
144
145       Nicholas Shipp (nshp)
146
147       Juan Julián Merelo Guervós (JJ)
148
149       Joel Berger (JBERGER)
150
151       Petr Písař (ppisar)
152
153       Lance Wicks (LANCEW)
154
155       Ahmad Fatoum (a3f, ATHREEF)
156
157       José Joaquín Atria (JJATRIA)
158
159       Duke Leto (LETO)
160
161       Shoichi Kaji (SKAJI)
162
163       Shawn Laffan (SLAFFAN)
164
165       Paul Evans (leonerd, PEVANS)
166
167       Håkon Hægland (hakonhagland, HAKONH)
168
169       nick nauwelaerts (INPHOBIA)
170
171       Florian Weimer
172
174       This software is copyright (c) 2011-2022 by Graham Ollis.
175
176       This is free software; you can redistribute it and/or modify it under
177       the same terms as the Perl 5 programming language system itself.
178
179
180
181perl v5.36.1                      2A0l2i3e-n0:5:-B1u5ild::Plugin::Download::Negotiate(3)
Impressum