aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAvatar Ciaran McCreesh <ciaran.mccreesh@googlemail.com> 2007-10-22 20:09:49 +0000
committerAvatar Ciaran McCreesh <ciaran.mccreesh@googlemail.com> 2007-10-22 20:09:49 +0000
commitf4c33db805a5ef9e3e6fe5a0922891f4e5c40017 (patch)
tree80a136725e1eac8de11a08b93613b194d6b01edb
parent5b3f3a535f3e218c4882385b8d09d341ecd8f260 (diff)
downloadpaludis-f4c33db805a5ef9e3e6fe5a0922891f4e5c40017.tar.gz
paludis-f4c33db805a5ef9e3e6fe5a0922891f4e5c40017.tar.xz
Document specs
-rw-r--r--doc/configuration/Makefile.am12
-rw-r--r--doc/configuration/index.html.part1
-rw-r--r--doc/configuration/specs.html.part69
-rw-r--r--doc/configuration/toplinks.html.part.in30
-rw-r--r--doc/index.html.part.in1
5 files changed, 95 insertions, 18 deletions
diff --git a/doc/configuration/Makefile.am b/doc/configuration/Makefile.am
index 66a3aad..e7950c8 100644
--- a/doc/configuration/Makefile.am
+++ b/doc/configuration/Makefile.am
@@ -19,7 +19,8 @@ CLEANFILES = *~ gmon.out *.gcov *.gcno *.gcda \
environment.html.part \
keywords.html \
keywords.html.part \
- configfiles.html
+ configfiles.html \
+ specs.html
MAINTAINERCLEANFILES = Makefile.in
@@ -34,7 +35,8 @@ EXTRA_DIST = \
environment.html.part.in \
keywords.html.part.in \
paludisenvironmentonly.html.part \
- configfiles.html.part
+ configfiles.html.part \
+ specs.html.part
paludisconfigurationhtmldir = $(htmldir)/configuration
@@ -47,11 +49,15 @@ paludisconfigurationhtml_DATA = \
specpath.html \
environment.html \
keywords.html \
- configfiles.html
+ configfiles.html \
+ specs.html
index.html : header.html.part $(srcdir)/index.html.part footer.html.part
cat header.html.part $(srcdir)/index.html.part footer.html.part > $@
+specs.html : header.html.part $(srcdir)/specs.html.part footer.html.part
+ cat header.html.part $(srcdir)/specs.html.part footer.html.part > $@
+
configfiles.html : header.html.part $(srcdir)/configfiles.html.part footer.html.part
cat header.html.part $(srcdir)/configfiles.html.part footer.html.part > $@
diff --git a/doc/configuration/index.html.part b/doc/configuration/index.html.part
index 8031b76..79d75c2 100644
--- a/doc/configuration/index.html.part
+++ b/doc/configuration/index.html.part
@@ -18,6 +18,7 @@
<ul>
<li><a href="configfiles.html">Configuration file formats</a> in general, including <code>conf.d/</code> directories
and <code>.bash</code> dynamic configuration files.</li>
+ <li><a href="specs.html">Dependency specifications</a> in general.</li>
<li><a href="specpath.html">specpath.conf</a>, and where Paludis looks for configuration files.</li>
<li><a href="environment.html">environment.conf</a>: for environment options.</li>
<li><a href="keywords.html">keywords.conf</a>: for keywords.</li>
diff --git a/doc/configuration/specs.html.part b/doc/configuration/specs.html.part
new file mode 100644
index 0000000..bad1adc
--- /dev/null
+++ b/doc/configuration/specs.html.part
@@ -0,0 +1,69 @@
+<!-- vim: set tw=120 ft=html sw=4 sts=4 et : -->
+
+<h1>Package and Set Dependency Specifications</h1>
+
+<p>Dependency specifications can look like:</p>
+
+<ul>
+ <li><code>set</code>: A simple set name. Only supported where a named set makes sense.</li>
+ <li><code>pkg</code>: A simple package name. Not supported in configuration files, and only supported where Paludis
+ can safely disambiguate this into <code>cat/pkg</code>.</li>
+ <li><code>cat/pkg</code>: A simple package name with explicit category. This may be followed by suffixes, as
+ described below.</li>
+ <li><code>=cat/pkg-1.23</code>: A simple package name with an explicit category, package and version. Operators
+ other than <code>=</code> are available, described below. This may be followed by suffixes.</li>
+</ul>
+
+<p>In some places, either or both of <code>cat</code> and <code>pkg</code> may be <code>*</code>, which matches any
+category or package. This is not permitted where it would not make sense. To match any package in any category, use
+<code>*/*</code>.</p>
+
+<h2>Suffixes</h2>
+
+<p>The <code>cat/pkg</code> and <code>=cat/pkg-1.23</code> forms may be followed by zero or more optional suffixes, in
+the following order:</p>
+
+<ul>
+ <li><code>:slot</code>: Match only in that slot.</li>
+ <li><code>::repository</code>: Match only in the named repository.</li>
+ <li><code>[use]</code> and <code>[-use]</code>: Match only if the named USE flag is enabled / disabled for this
+ package. May be specified multiple times with different USE flag names.</li>
+ <li><code>[=1.23]</code>: Match a particular version. Any operator described below
+ can be used. May be extended to ranged dependencies, using either <code>[=1.23|=1.24|=1.25]</code> for an or
+ dependency or <code>[&gt;=1.2&amp;&lt;2]</code> for an and dependency.</li>
+</ul>
+
+<h2>Operators</h2>
+
+<p>The following operators are recognised:</p>
+
+<dl>
+ <dt><code>=</code></dt>
+ <dd>Exactly equal to.</dd>
+
+ <dt><code>&lt;=</code></dt>
+ <dd>Less than or equal to.</dd>
+
+ <dt><code>&lt;</code></dt>
+ <dd>Strictly less than.</dd>
+
+ <dt><code>&gt;=</code></dt>
+ <dd>Greater than or equal to.</dd>
+
+ <dt><code>&gt;</code></dt>
+ <dd>Strictly greater than.</dd>
+
+ <dt><code>~</code></dt>
+ <dd>Equal to, ignoring the package revision. If a package revision is specified, in addition the package must be of
+ greater than or equal to this revision.</dd>
+
+ <dt><code>=*</code></dt>
+ <dd>Starting with this string. The asterisk comes <em>after</em> the version part (<code>=cat/pkg-1.2*</code> or
+ <code>cat/pkg[=1.2*]</code>). This operator should be avoided in favour of ranged and slot dependencies.</dd>
+
+ <dt><code>~&gt;</code></dt>
+ <dd>Greater than or equal to the version, and strictly less than the version with its one-before-least-significant
+ digit part incremented, and its least significant digit part discarded. For example, <code>~&gt;1.2.3</code> means
+ <code>&gt;=1.2.3</code> and <code>&lt;1.3</code>.</dd>
+</dl>
+
diff --git a/doc/configuration/toplinks.html.part.in b/doc/configuration/toplinks.html.part.in
index 61491af..f9fbfc5 100644
--- a/doc/configuration/toplinks.html.part.in
+++ b/doc/configuration/toplinks.html.part.in
@@ -18,11 +18,11 @@
</td>
<td class="currentpage">
- <a href="###TOPURI###configuration/keywords.html">keywords.conf</a>
+ <a href="###TOPURI###configuration/environment.html">environment.conf</a>
</td>
<td class="currentpage">
- <a href="###TOPURI###configuration/repositories.html">repositories/</a>
+ <a href="###TOPURI###configuration/sets.html">sets/</a>
</td>
</tr>
@@ -36,11 +36,11 @@
</td>
<td class="currentpage">
- <a href="###TOPURI###configuration/use.html">use.conf</a>
+ <a href="###TOPURI###configuration/keywords.html">keywords.conf</a>
</td>
<td class="currentpage">
- <a href="###TOPURI###configuration/erepository.html">ebuild</a>
+ <a href="###TOPURI###configuration/repositories.html">repositories/</a>
</td>
</tr>
@@ -54,11 +54,11 @@
</td>
<td class="currentpage">
- <a href="###TOPURI###configuration/licenses.html">licenses.conf</a>
+ <a href="###TOPURI###configuration/use.html">use.conf</a>
</td>
<td class="currentpage">
- <a href="###TOPURI###configuration/vdb.html">vdb</a>
+ <a href="###TOPURI###configuration/erepository.html">ebuild</a>
</td>
</tr>
@@ -72,11 +72,11 @@
</td>
<td class="currentpage">
- <a href="###TOPURI###configuration/mirrors.html">mirrors.conf</a>
+ <a href="###TOPURI###configuration/licenses.html">licenses.conf</a>
</td>
<td class="currentpage">
- <a href="###TOPURI###configuration/installedunpackaged.html">installed unpackaged</a>
+ <a href="###TOPURI###configuration/vdb.html">vdb</a>
</td>
</tr>
@@ -86,15 +86,15 @@
</td>
<td class="currentpage">
- <a href="###TOPURI###configuration/configfiles.html">File formats</a>
+ <a href="###TOPURI###configuration/configfiles.html">File Formats</a>
</td>
<td class="currentpage">
- <a href="###TOPURI###configuration/packagemask.html">package_mask.conf</a>
+ <a href="###TOPURI###configuration/mirrors.html">mirrors.conf</a>
</td>
<td class="currentpage">
- &nbsp;
+ <a href="###TOPURI###configuration/installedunpackaged.html">installed unpackaged</a>
</td>
</tr>
@@ -104,11 +104,11 @@
</td>
<td class="currentpage">
- <a href="###TOPURI###configuration/specpath.html">specpath.conf</a>
+ <a href="###TOPURI###configuration/specs.html">Dep Specs</a>
</td>
<td class="currentpage">
- <a href="###TOPURI###configuration/bashrc.html">bashrc</a>
+ <a href="###TOPURI###configuration/packagemask.html">package_mask.conf</a>
</td>
<td class="currentpage">
@@ -122,11 +122,11 @@
</td>
<td class="currentpage">
- <a href="###TOPURI###configuration/environment.html">environment.conf</a>
+ <a href="###TOPURI###configuration/specpath.html">specpath.conf</a>
</td>
<td class="currentpage">
- <a href="###TOPURI###configuration/sets.html">sets/</a>
+ <a href="###TOPURI###configuration/bashrc.html">bashrc</a>
</td>
<td class="currentpage">
diff --git a/doc/index.html.part.in b/doc/index.html.part.in
index fba67d3..fb03e3b 100644
--- a/doc/index.html.part.in
+++ b/doc/index.html.part.in
@@ -50,6 +50,7 @@
<ul>
<li><a href="configuration/configfiles.html">Configuration file formats</a> in general, including <code>conf.d/</code> directories
and <code>.bash</code> dynamic configuration files.</li>
+ <li><a href="configuration/specs.html">Dependency specifications</a> in general.</li>
<li><a href="configuration/specpath.html">specpath.conf</a>, and where Paludis looks for configuration files.</li>
<li><a href="configuration/environment.html">environment.conf</a>: for environment options.</li>
<li><a href="configuration/keywords.html">keywords.conf</a>: for keywords.</li>