Exheredludis/doc/configuration/repositories/index.html.part
2011-06-11 23:42:12 +01:00

86 lines
3.7 KiB
HTML

<!-- 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>
<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>