aboutsummaryrefslogtreecommitdiff
path: root/doc/configuration/fetchers.html.part.in
blob: 7224250df7f98fb5623c0d58d6689d4a09b7767f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
<!-- vim: set tw=120 ft=html sw=4 sts=4 et : -->

<h1>Fetchers</h1>

<h2>Overview</h2>

<p>Paludis makes use of scripts called 'fetchers' to do most downloading. Fetchers can be added for additional protocols
(for example, if you need to use a third party ebuild where upstream distributes its sources via Gopher), and built-in
fetchers can be replaced (for example, if you want to use something other than <code>wget</code> to fetch via http).</p>

<h2>Standard Fetchers</h2>

<p>Paludis ships with the following fetcher protocols:</p>

<ul>
###FETCHERS###
</ul>

<h2>User Defined Fetchers</h2>

<p>To write your own fetcher for protocol <code>proto</code>, create an executable script named <code>doproto</code> (the
<code>do</code> prefix is essential). Fetchers may be located in any of the following directories:

<ul>
    <li><code><em>confdir</em>/fetchers/</code>, where
    <code><em>confdir</em></code> is the directory in which <code>use.conf</code>
    et al. reside.</li>

    <li><code><em>DATADIR</em>/paludis/fetchers/</code>. On most
    systems, <code><em>DATADIR</em></code> is <code>/usr/share</code>.</li>

    <li><code><em>LIBEXECDIR</em>/paludis/fetchers/</code>. On most
    systems, <code><em>LIBEXECDIR</em></code> is <code>/usr/libexec</code>.</li>
</ul>

<p>Paludis places its own fetchers in
<code><em>LIBEXECDIR</em>/fetchers/<em>doproto</em></code>. This directory is
not for end user use.</p>

<p>A fetcher is called with two parameters, the source URI and the destination filename. It indicates success or failure
via its exit status.</p>

<p>For examples, consult the built-in fetchers, which can be found in <code>LIBEXECDIR/paludis/fetchers/</code>.</p>