aboutsummaryrefslogtreecommitdiff
path: root/doc/configuration/keywords.html.part.in
blob: cf4a7bc8a06d7f3e13d970410a2a13fd7d500abd (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
<!-- vim: set tw=120 ft=html sw=4 sts=4 et : -->

<h1>keywords.conf</h1>

###PALUDISENVIRONMENTONLY###

<p>The <code>keywords.conf</code> file controls which keywords are and are not accepted. It is a standard configuration
file which may be a bash file and which may use the <code>keywords.conf.d/</code> directory.</p>

<p>Each line in the file consists of a specification followed by one or more accepted keywords. A specification may be
any of:</p>

<ul>
    <li>The special specification <code>*/*</code>, which matches all packages. Nearly all users will have at least one
    line using this specification.</li>
    <li>A simple <code>category/package</code> name.</li>
    <li>A simple <code>set</code> name.</li>
    <li>A complex dependency specification.</li>
</ul>

<p>Any token may be quoted using either single or double quotes.</p>

<p>Accepted keywords are one of:</p>

<ul>
    <li><code>keyword</code>, which accepts any package containing that keyword.</li>
    <li><code>~keyword</code>, which accepts any package containing that ~keyword. This does <em>not</em> automatically
    accept the regular, non-tilde keyword.</li>
    <li><code>*</code>, which accepts any package, including one with empty keywords.</li>
    <li><code>-*</code>, which cancels any previously accepted match (see below).</li>
</ul>

<p>Accepted keywords are usually cumulative, so if you have a <code>*/* arch ~arch</code> line, you will need to use
<code>cat/pkg -* arch</code> if you only wish to accept <code>arch</code> for a particular package.</p>

<h2>Examples</h2>

<p>For a system which is mostly stable:</p>

<pre>
# By default, only accept 'x86' packages
*/*                            x86

# For the repository named 'paludis-overlay', accept unstable too
*/*::paludis-overlay           x86 ~x86

# For these packages, accept unstable too
app-admin/eselect              ~x86
app-doc/doxygen                ~x86

# For packages in the 'kde' set, accept unstable
kde                            ~x86

# Accept gcc 4.3 from the toolchain overlay, even if it is unkeyworded
sys-devel/gcc:4.3::toolchain   *
</pre>

<p>For a system which is mostly unstable:</p>

<pre>
# By default, accept stable and unstable
*/*                             amd64 ~amd64

# For these packages, accept stable only
sys-devel/gcc                   -* amd64
sys-libs/glibc                  -* amd64
</pre>