aboutsummaryrefslogtreecommitdiff
path: root/doc/configuration/repositories/index.html.part
blob: 169c0518616fa980c82b8cada356810dbc3d5530 (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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
<!-- vim: set tw=120 ft=html sw=4 sts=4 et : -->

<h1>repositories/ Configuration</h1>

<h2>In General</h2>

<p>Each file in <code>repositories/</code> named <code>*.conf</code> defines a repository. A repository configuration
file is a standard key=value config file, and it may be in bash format (in which case it has a <code>.bash</code>
extension rather than <code>.conf</code>). The <code>repository_defaults.conf</code> file
(which does <em>not</em> live in the <code>repositories</code> subdirectory), if it exists, is treated as if it were
prepended to each individual file. It is evaluated once per repository config, allowing predefined variables like
<code>${repo_file}</code> to be used inside it.</p>

<div class="note">
    <p>The filenames used for repository configuration files have no effect upon the names of the repositories. Whilst
    you <em>could</em> use the name <code>giant-space-monkey.conf</code> for the repository named <code>gentoo</code>,
    for user sanity reasons it is best to use the repository name as the filename.</p>
</div>

<h2>Predefined Keys</h2>

<p>The following variables are predefined. They should not be modified, but may be used in configuration files to define
other keys.</p>

<dl>
    <dt><code>root</code></dt>
    <dd>The filesystem root. Relevant if <code>specpath.conf</code> is in use. Using this variable can create a
    configuration system that works both inside and outside of a chroot (e.g. <code>location =
        ${root}/var/db/paludis/repositories/paludis-overlay</code>).</dd>

    <dt><code>repo_file</code></dt>
    <dd>The filename of the repository config file.</dd>

    <dt><code>repo_file_basename</code></dt>
    <dd>The basename (filename without path) of the repository config file.</dd>

    <dt><code>repo_file_unsuffixed</code></dt>
    <dd>The basename without file extension of the repository config file.</dd>
</dl>

<h2>General Keys</h2>

<p>The following keys are meaningful for all repository formats.</p>

<dl>
    <dt><code>format</code></dt>
    <dd>Determines which repository class Paludis uses to create the repository. Example formats are
    <code>e</code>, <code>vdb</code> and <code>installed_unpackaged</code>. Mandatory.</dd>

    <dt><code>importance</code></dt>
    <dd>Must be an integer. Used by Paludis to determine from which repository a package should be selected, all other
    things being equal (a higher importance is preferred over a lower importance). By default, <code>0</code>, except
    if the <code>master_repository</code> key is set, in which case it is <code>10</code> instead.</dd>
</dl>

<p>For format-specific keys, see the documentation for that format.</p>

<h2>Repository Formats</h2>

<h3>For All Distributions</h3>

<ul>
    <li><a href="e.html">e</a> format, for ebuild and exheres repositories.</li>
    <li><a href="repository.html">repository</a>, for automatic repository configuration.</li>
    <li><a href="unavailable.html">unavailable</a>, for information about ebuilds that are present in an overlay or
    supplemental repository that is not configured on this system.</li>
    <li><a href="installed_unpackaged.html">installed_unpackaged</a>, for tracking installs of packages installed
    manually rather than through an ebuild.</li>
</ul>

<h3>Gentoo and Derived Distributions</h3>

<ul>
    <li><a href="vdb.html">VDB</a>, for tracking installed ebuilds.</li>
</ul>

<p>In addition, the following repositories are magically defined on Gentoo and derived distributions that make use of
old-style virtuals:</p>

<dl>
    <dt><code>virtuals</code></dt>
    <dd>A special repository that contains special package entries for old style virtuals, mapping them to their
    providers.</dd>

    <dt><code>installed-virtuals</code></dt>
    <dd>A special repository that contains special package entries for installed old style virtuals (provided
    packages).</dd>
</dl>

<h3>Exherbo</h3>

<ul>
    <li><a href="exndbam.html">exndbam</a>, for tracking installed packages installed from an exheres.</li>
    <li><a href="accounts.html">accounts</a> and <a href="installed_accounts.html">installed_accounts</a> format
    repositories, for tracking user and group accounts.</li>
    <li><a href="unwritten.html">unwritten</a>, for packages that have yet to be written.</li>
</ul>