public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] proj/R_overlay:gsoc13/next commit in: doc/html/
@ 2013-07-16 16:35 André Erdmann
  2013-07-16 16:36 ` [gentoo-commits] proj/R_overlay:master " André Erdmann
  0 siblings, 1 reply; 9+ messages in thread
From: André Erdmann @ 2013-07-16 16:35 UTC (permalink / raw
  To: gentoo-commits

commit:     13ae75011982063640f369c29bcd65a02b5a1325
Author:     André Erdmann <dywi <AT> mailerd <DOT> de>
AuthorDate: Tue Jul 16 16:33:48 2013 +0000
Commit:     André Erdmann <dywi <AT> mailerd <DOT> de>
CommitDate: Tue Jul 16 16:33:48 2013 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/R_overlay.git;a=commit;h=13ae7501

doc/html: api, manifest creation

---
 doc/html/usage.html | 270 ++++++++++++++++++++++++++++++++++++++--------------
 1 file changed, 197 insertions(+), 73 deletions(-)

diff --git a/doc/html/usage.html b/doc/html/usage.html
index 0745d2c..91453b8 100644
--- a/doc/html/usage.html
+++ b/doc/html/usage.html
@@ -428,35 +428,42 @@ ul.auto-toc {
 </ul>
 </li>
 <li><a class="reference internal" href="#dependency-resolution-console" id="id65">12&nbsp;&nbsp;&nbsp;Dependency Resolution Console</a></li>
-<li><a class="reference internal" href="#implementation-overview" id="id66">13&nbsp;&nbsp;&nbsp;Implementation Overview</a><ul class="auto-toc">
-<li><a class="reference internal" href="#packageinfo" id="id67">13.1&nbsp;&nbsp;&nbsp;PackageInfo</a></li>
-<li><a class="reference internal" href="#repository-management" id="id68">13.2&nbsp;&nbsp;&nbsp;Repository Management</a><ul class="auto-toc">
-<li><a class="reference internal" href="#repository" id="id69">13.2.1&nbsp;&nbsp;&nbsp;Repository</a><ul class="auto-toc">
-<li><a class="reference internal" href="#adding-new-repository-types" id="id70">13.2.1.1&nbsp;&nbsp;&nbsp;Adding new repository types</a></li>
+<li><a class="reference internal" href="#roverlay-interface" id="id66">13&nbsp;&nbsp;&nbsp;Roverlay Interface</a><ul class="auto-toc">
+<li><a class="reference internal" href="#depres-interface" id="id67">13.1&nbsp;&nbsp;&nbsp;DepRes Interface</a></li>
 </ul>
 </li>
+<li><a class="reference internal" href="#implementation-overview" id="id68">14&nbsp;&nbsp;&nbsp;Implementation Overview</a><ul class="auto-toc">
+<li><a class="reference internal" href="#packageinfo" id="id69">14.1&nbsp;&nbsp;&nbsp;PackageInfo</a></li>
+<li><a class="reference internal" href="#repository-management" id="id70">14.2&nbsp;&nbsp;&nbsp;Repository Management</a><ul class="auto-toc">
+<li><a class="reference internal" href="#repository" id="id71">14.2.1&nbsp;&nbsp;&nbsp;Repository</a><ul class="auto-toc">
+<li><a class="reference internal" href="#adding-new-repository-types" id="id72">14.2.1.1&nbsp;&nbsp;&nbsp;Adding new repository types</a></li>
 </ul>
 </li>
-<li><a class="reference internal" href="#overlay" id="id71">13.3&nbsp;&nbsp;&nbsp;Overlay</a><ul class="auto-toc">
-<li><a class="reference internal" href="#metadata-creation" id="id72">13.3.1&nbsp;&nbsp;&nbsp;Metadata Creation</a></li>
-<li><a class="reference internal" href="#manifest-creation" id="id73">13.3.2&nbsp;&nbsp;&nbsp;Manifest Creation</a></li>
 </ul>
 </li>
-<li><a class="reference internal" href="#ebuild-creation" id="id74">13.4&nbsp;&nbsp;&nbsp;Ebuild Creation</a><ul class="auto-toc">
-<li><a class="reference internal" href="#ebuild-variables" id="id75">13.4.1&nbsp;&nbsp;&nbsp;Ebuild Variables</a></li>
+<li><a class="reference internal" href="#overlay" id="id73">14.3&nbsp;&nbsp;&nbsp;Overlay</a><ul class="auto-toc">
+<li><a class="reference internal" href="#metadata-creation" id="id74">14.3.1&nbsp;&nbsp;&nbsp;Metadata Creation</a></li>
+<li><a class="reference internal" href="#manifest-creation" id="id75">14.3.2&nbsp;&nbsp;&nbsp;Manifest Creation</a></li>
 </ul>
 </li>
-<li><a class="reference internal" href="#overlay-creation" id="id76">13.5&nbsp;&nbsp;&nbsp;Overlay Creation</a></li>
-<li><a class="reference internal" href="#dependency-resolution" id="id77">13.6&nbsp;&nbsp;&nbsp;Dependency Resolution</a><ul class="auto-toc">
-<li><a class="reference internal" href="#dependency-types" id="id78">13.6.1&nbsp;&nbsp;&nbsp;Dependency types</a><ul class="auto-toc">
-<li><a class="reference internal" href="#description-file-dependency-fields" id="id79">13.6.1.1&nbsp;&nbsp;&nbsp;DESCRIPTION file dependency fields</a></li>
+<li><a class="reference internal" href="#ebuild-creation" id="id76">14.4&nbsp;&nbsp;&nbsp;Ebuild Creation</a><ul class="auto-toc">
+<li><a class="reference internal" href="#ebuild-variables" id="id77">14.4.1&nbsp;&nbsp;&nbsp;Ebuild Variables</a></li>
 </ul>
 </li>
-<li><a class="reference internal" href="#dependency-environments" id="id80">13.6.2&nbsp;&nbsp;&nbsp;Dependency Environments</a></li>
-<li><a class="reference internal" href="#ebuildjob-channel" id="id81">13.6.3&nbsp;&nbsp;&nbsp;EbuildJob Channel</a></li>
-<li><a class="reference internal" href="#dependency-rule-pools" id="id82">13.6.4&nbsp;&nbsp;&nbsp;Dependency Rule Pools</a></li>
-<li><a class="reference internal" href="#dependency-resolver-modules" id="id83">13.6.5&nbsp;&nbsp;&nbsp;Dependency Resolver Modules</a></li>
-<li><a class="reference internal" href="#dependency-resolver" id="id84">13.6.6&nbsp;&nbsp;&nbsp;Dependency Resolver</a></li>
+<li><a class="reference internal" href="#overlay-creation" id="id78">14.5&nbsp;&nbsp;&nbsp;Overlay Creation</a><ul class="auto-toc">
+<li><a class="reference internal" href="#selfdep-validation" id="id79">14.5.1&nbsp;&nbsp;&nbsp;Selfdep Validation</a></li>
+</ul>
+</li>
+<li><a class="reference internal" href="#dependency-resolution" id="id80">14.6&nbsp;&nbsp;&nbsp;Dependency Resolution</a><ul class="auto-toc">
+<li><a class="reference internal" href="#dependency-types" id="id81">14.6.1&nbsp;&nbsp;&nbsp;Dependency types</a><ul class="auto-toc">
+<li><a class="reference internal" href="#description-file-dependency-fields" id="id82">14.6.1.1&nbsp;&nbsp;&nbsp;DESCRIPTION file dependency fields</a></li>
+</ul>
+</li>
+<li><a class="reference internal" href="#dependency-environments" id="id83">14.6.2&nbsp;&nbsp;&nbsp;Dependency Environments</a></li>
+<li><a class="reference internal" href="#ebuildjob-channel" id="id84">14.6.3&nbsp;&nbsp;&nbsp;EbuildJob Channel</a></li>
+<li><a class="reference internal" href="#dependency-rule-pools" id="id85">14.6.4&nbsp;&nbsp;&nbsp;Dependency Rule Pools</a></li>
+<li><a class="reference internal" href="#dependency-resolver-modules" id="id86">14.6.5&nbsp;&nbsp;&nbsp;Dependency Resolver Modules</a></li>
+<li><a class="reference internal" href="#dependency-resolver" id="id87">14.6.6&nbsp;&nbsp;&nbsp;Dependency Resolver</a></li>
 </ul>
 </li>
 </ul>
@@ -521,11 +528,13 @@ references to other chapters (4-10) where required.</p>
 </li>
 <li><p class="first">argparse (<a class="reference external" href="http://code.google.com/p/argparse">http://code.google.com/p/argparse</a>)</p>
 </li>
+<li><p class="first">setuptools (<a class="reference external" href="http://pypi.python.org/pypi/setuptools">http://pypi.python.org/pypi/setuptools</a>)</p>
+</li>
 <li><p class="first">rsync (for using rsync repositories)</p>
 </li>
 <li><p class="first">for Manifest creation:</p>
 <ul class="simple">
-<li>portage (<em>ebuild</em> and/or the <em>portage libs</em> directly)</li>
+<li>portage (<em>ebuild</em>)</li>
 <li><em>true</em> or <em>echo</em> from coreutils or busybox for preventing
 package downloads during Manifest creation (optional)</li>
 </ul>
@@ -550,7 +559,7 @@ write mechanism in use. The amount can be halved (approximately) when
 using a slower one.</p>
 </dd>
 <dt>time</dt>
-<dd><p class="first last">Expect 3-6h execution time for the first run, depending on computing
+<dd><p class="first last">Expect 1h execution time for the first run, depending on computing
 and I/O speed. <em>roverlay</em> is able to work in incremental mode,
 thus making subsequent runs need a lot less time.</p>
 </dd>
@@ -637,6 +646,15 @@ directory. An example config file is available in the
 <p>The config file is a text file with '&lt;option&gt; = &lt;value&gt;' syntax. Some options
 accept multiple values (e.g. &lt;option&gt; = file1, file2), in which case the
 values have to be enclosed with quotes (-&gt; <tt class="docutils literal">&lt;option&gt; = &quot;file1 file2&quot;</tt>).</p>
+<p>If roverlay has been installed, then <tt class="docutils literal">emerge <span class="pre">--config</span> roverlay</tt> can be
+used to set up the config file as well as to create essential directories.
+It can be run multiple times in order to configure roverlay for more than
+one user.</p>
+<div class="important">
+<p class="first admonition-title">Important</p>
+<p class="last"><tt class="docutils literal">emerge <span class="pre">--config</span> roverlay</tt> will overwrite the user's config file (or
+/etc/roverlay/R-overlay.conf when configuring for root).</p>
+</div>
 <p>The following options should be set before running <em>roverlay</em>:</p>
 <blockquote>
 <dl class="docutils">
@@ -761,6 +779,10 @@ Leaving this option as-is (<em>enabled</em>) is recommended if you want to use
 DISTDIR as package mirror.</p>
 <p class="last">Example: DISTDIR_FLAT = yes</p>
 </dd>
+<dt>PORTDIR</dt>
+<dd><p class="first">Portage directory, which is used to scan for valid licenses.</p>
+<p class="last">Example: PORTDIR = /usr/portage</p>
+</dd>
 </dl>
 </blockquote>
 <p>There is another option that is useful for creating new dependency rules,
@@ -978,6 +1000,9 @@ while those from 'Suggests' are optional)</p>
 </li>
 <li><p class="first"><strong>immediately stop</strong> processing <em>p</em> if a <em>required</em> dependency
 cannot be resolved in which case a valid ebuild cannot be created</p>
+</li>
+<li><p class="first">verify dependencies on packages found in the overlay, whether their
+ebuilds already exist or not (<em>selfdep validation</em>)</p>
 <p>See also: <a class="reference internal" href="#dependency-resolution">Dependency Resolution</a></p>
 </li>
 </ul>
@@ -1437,11 +1462,6 @@ ${CATEGORY}/${PN}/${PF}.ebuild
 <p>Ebuilds imported that way can not be overwritten by generated ebuilds and
 benefit from most overlay creation features, e.g. Manifest file creation.
 However, they cannot be used for metadata creation.</p>
-<div class="important">
-<p class="first admonition-title">Important</p>
-<p class="last">Importing ebuilds is only supported by the default Manifest implementation
-(<em>ebuildmanifest</em>).</p>
-</div>
 </div>
 </div>
 <div class="section" id="dependency-rules">
@@ -1622,7 +1642,15 @@ with the specified <em>dependency type</em>.</p>
 <li><em>all</em> (no type restrictions)</li>
 <li><em>pkg</em> (resolve only R package dependencies)</li>
 <li><em>sys</em> (resolve only system dependencies)</li>
+<li><em>selfdep</em> (subtype: dependency is part of the overlay, see selfdep below)</li>
 </ul>
+<p>The dependency type can also be a comma-separated list of the listed types.
+Actually, <em>all</em> is an abbreviated version of <tt class="docutils literal">pkg,sys</tt>.
+Specifying <em>selfdep</em> alone does not resolve anything.</p>
+<div class="hint">
+<p class="first admonition-title">Hint</p>
+<p class="last">Check the <em>dependency type</em> if a newly added rule has no effect.</p>
+</div>
 <p class="last">The other keyword is <em>#! NOPARSE</em> which stops parsing of a rule file.</p>
 </dd>
 <dt>Dependencies</dt>
@@ -1716,29 +1744,32 @@ colong char <tt class="docutils literal">:</tt>:</p>
 <em>#! NOPARSE</em> keywords. Comments inside rule blocks are not allowed and
 will be read as normal <em>dependency strings</em>.</dd>
 <dt>Selfdep</dt>
-<dd><p class="first">This is another name for <em>dependency strings</em> that are resolved by an
-R package with the same name, which is also part of the overlay being
-created.</p>
-<p>Example: <em>zoo</em> is resolved as <em>sci-R/zoo</em>, assuming that <a class="reference internal" href="#overlay-category">OVERLAY_CATEGORY</a>
-is set to <em>sci-R</em></p>
-<p>Writing selfdep rules is not necessary since <em>roverlay</em> automatically
-creates rules for all known R packages (see <a class="reference internal" href="#dynamic-selfdep-rule-pool">Dynamic Selfdep Rule Pool</a>
-for details).</p>
+<dd><p class="first">This is a classification for dependencies on packages which are also part
+of the overlay being created. Typically, selfdeps refer to other R
+packages, but there may be a few exceptions.</p>
+<p>roverlay validates <em>selfdeps</em> during overlay creation, which is the most
+significant difference to non-<em>selfdeps</em>.</p>
+<p>Selfdep rules can be written by prefixing a single rule with <tt class="docutils literal">&#64;selfdep</tt>
+(in a separate text line) or by adding <tt class="docutils literal">selfdep</tt> to the dependency rule
+type.</p>
+<p>There is a second variant of selfdeps, <em>true selfdeps</em>, which resolve
+a <em>dependency string</em> as R package with the same name.</p>
+<p>Example: <em>zoo</em> is resolved as <em>sci-R/zoo</em>, assuming that
+<a class="reference internal" href="#overlay-category">OVERLAY_CATEGORY</a> is set to <em>sci-R</em>.</p>
+<p>Writing such selfdep rules is not necessary since <em>roverlay</em> automatically
+creates rules for all known R packages at runtime (see
+<a class="reference internal" href="#dynamic-selfdep-rule-pool">Dynamic Selfdep Rule Pool</a> for details).</p>
 <p>There are a few exceptions to that in which case selfdep rules have to
 be written:</p>
 <ul class="simple">
 <li>The <em>dependency string</em> is assumed to be a system dependency (not an
 R package). This is likely a &quot;bug&quot; in the DESCRIPTION file of the
 R package being processed.</li>
-<li>The R package name is not ebuild-name compliant (e.g. contains the '.'
-char, which is remapped to '_'.).
-Most <em>char remap</em> cases are handled properly, but there may be a few
-exceptions.</li>
 </ul>
 <div class="caution last">
 <p class="first admonition-title">Caution!</p>
-<p class="last">Writing unnecessary selfdep rules slows dependency resolution down!
-Each rule will exist twice, once as <em>dynamic</em> rule and once as
+<p class="last">Writing unnecessary <em>true selfdep</em> rules slows dependency resolution
+down! Each rule will exist twice, once as <em>dynamic</em> rule and once as
 the written one.</p>
 </div>
 </dd>
@@ -2676,8 +2707,7 @@ restrictions. Commenting it out is safe.</dd>
 <dt>CACHEDIR</dt>
 <dd><p class="first">Directory for persistent files that don't belong to the overlay, e.g.
 the distmap file.</p>
-<p>This option is <strong>required</strong>.</p>
-<p class="last">&lt;&lt;TODO: default value!&gt;&gt;</p>
+<p class="last">This option is <strong>required</strong>.</p>
 </dd>
 </dl>
 <dl class="docutils" id="distfiles">
@@ -2899,10 +2929,11 @@ per R package. All others will be removed.</p>
 <dl class="docutils" id="overlay-manifest-implementation">
 <dt>OVERLAY_MANIFEST_IMPLEMENTATION</dt>
 <dd><p class="first">Sets the implementation that will be used for Manifest file writing.
-Available choices are <em>ebuild</em>, <em>portage</em>, <em>default</em> and <em>none</em>.
-Defaults to <em>default</em> (-&gt; <em>ebuild</em>).
-<em>portage</em> is highly experimental and therefore not recommended
-for production usage.</p>
+Available choices are <em>ebuild</em>, <em>next</em>, <em>default</em> and <em>none</em>.
+Defaults to <em>default</em> (-&gt; <em>next</em>).</p>
+<p><em>next</em> is an mostly internal implementation that is considerably faster
+than <em>ebuild</em>. <em>ebuild</em> is still used when creating Manifest files for
+imported ebuilds.</p>
 <div class="note last">
 <p class="first admonition-title">Note</p>
 <p class="last">Choosing 'none' is destructive - <em>roverlay</em> will fail to function
@@ -3263,6 +3294,12 @@ by ',' and/or ';'.</dd>
 <dd>Declares that a field's value is a list whose values are separated by
 whitespace. Has no effect if <cite>field flag: isList</cite> is set.</dd>
 </dl>
+<dl class="docutils" id="field-flag-islicense">
+<dt>isLicense</dt>
+<dd>Declares that a field's value should be interpreted as license string.
+This disables <em>allowed_value</em>/<em>allowed_values</em> and all other flags
+except for <em>mandatory</em>/<em>optional</em>.</dd>
+</dl>
 <dl class="docutils" id="mandatory-field-flag">
 <span id="field-flag-mandatory"></span><dt>mandatory</dt>
 <dd>Declares that a field is required in <em>all</em> DESCRIPTION files.
@@ -3478,14 +3515,79 @@ cmd % exit
 </dd>
 </dl>
 </div>
+<div class="section" id="roverlay-interface">
+<h1><a class="toc-backref" href="#contents">13&nbsp;&nbsp;&nbsp;Roverlay Interface</a></h1>
+<p>Roverlay provides an API for accessing its functionality independently of
+R overlay creation. Only dependency resolution is available, currently.</p>
+<p>Note, however, that a minimal config file may still be required for accessing
+<em>roverlay interfaces</em>.</p>
+<p>The table below lists all interfaces and where to find them:</p>
+<table border="1" class="docutils">
+<caption>roverlay interfaces</caption>
+<colgroup>
+<col width="23%" />
+<col width="37%" />
+<col width="40%" />
+</colgroup>
+<thead valign="bottom">
+<tr><th class="head">name</th>
+<th class="head">module</th>
+<th class="head">description</th>
+</tr>
+</thead>
+<tbody valign="top">
+<tr><td>RootInterface</td>
+<td>roverlay.interface.root</td>
+<td>meta interface for managing
+other interfaces</td>
+</tr>
+<tr><td>MainInterface</td>
+<td>roverlay.interface.main</td>
+<td>RootInterface with delayed
+initialization</td>
+</tr>
+<tr><td>DepresInterface</td>
+<td>roverlay.interface.depres</td>
+<td>dependency resolution</td>
+</tr>
+</tbody>
+</table>
+<p>For extending the API, roverlay provides the abstract <em>RoverlayInterface</em> and
+<em>RoverlaySubInterface</em> classes.</p>
+<div class="section" id="depres-interface">
+<h2><a class="toc-backref" href="#contents">13.1&nbsp;&nbsp;&nbsp;DepRes Interface</a></h2>
+<p>The <em>DepResInterface</em> offers the following functionality:</p>
+<ul class="simple">
+<li>rule creation<ul>
+<li>load rules from text input, files and/or configured files (<a class="reference internal" href="#simple-rules-file">SIMPLE_RULES_FILE</a>)</li>
+<li><em>compile</em> rules after loading them</li>
+</ul>
+</li>
+<li>manage dependency rule pools (container for rules)<ul>
+<li>rule pools are kept in a stack-like data structure, which makes it easy
+to &quot;forget&quot; the most recent rules (<em>discard_pool()</em> et al.)</li>
+<li><em>visualize</em> pools: convert rules into text (inverse of rule creation)</li>
+</ul>
+</li>
+<li>easy access to the resolver via <em>resolve()</em>, <em>can_resolve()</em>
+and <em>cannot_resolve()</em></li>
+<li>&quot;low-level&quot; access to dependency resolution, e.g. <em>EbuildJobChannels</em>, is
+also possible</li>
+</ul>
+<p>Refer to in-code documentation on how to use this interface.
+See the dependency resolution test suite for a usage example
+(<tt class="docutils literal">tests.depres</tt>, not part of the roverlay installation).
+(The depres console is also a candidate for using this interface in future.)</p>
+</div>
+</div>
 <div class="section" id="implementation-overview">
-<h1><a class="toc-backref" href="#contents">13&nbsp;&nbsp;&nbsp;Implementation Overview</a></h1>
+<h1><a class="toc-backref" href="#contents">14&nbsp;&nbsp;&nbsp;Implementation Overview</a></h1>
 <p>This chapter gives an in-depth overview of how roverlay works.
 Code documentation is also available and html pages for it can be created
 with <tt class="docutils literal">make pydoc</tt> in the <em>R Overlay src directory</em> or by using pydoc
 directly.</p>
 <div class="section" id="packageinfo">
-<h2><a class="toc-backref" href="#contents">13.1&nbsp;&nbsp;&nbsp;PackageInfo</a></h2>
+<h2><a class="toc-backref" href="#contents">14.1&nbsp;&nbsp;&nbsp;PackageInfo</a></h2>
 <p><em>PackageInfo</em> is the data object that contains all information about an
 R package and is created by the owning repository.</p>
 <p>After initialization it contains data like</p>
@@ -3506,7 +3608,7 @@ for it. Otherwise, <em>p</em> is now part of the overlay and has to pass
 <em>ebuild creation</em>.</p>
 </div>
 <div class="section" id="repository-management">
-<h2><a class="toc-backref" href="#contents">13.2&nbsp;&nbsp;&nbsp;Repository Management</a></h2>
+<h2><a class="toc-backref" href="#contents">14.2&nbsp;&nbsp;&nbsp;Repository Management</a></h2>
 <p>Repositories are managed in a list-like object, <em>RepoList</em>. Its task is to
 provide R package input for overlay creation and implements the following
 functionality:</p>
@@ -3517,7 +3619,7 @@ functionality:</p>
 <li>create <em>PackageInfo</em> instances for R packages from all repositories</li>
 </ul>
 <div class="section" id="repository">
-<h3><a class="toc-backref" href="#contents">13.2.1&nbsp;&nbsp;&nbsp;Repository</a></h3>
+<h3><a class="toc-backref" href="#contents">14.2.1&nbsp;&nbsp;&nbsp;Repository</a></h3>
 <p>The functionality described above is an abstraction layer that calls the
 respective function for each repository and collects the result.
 So, while the <em>RepoList</em> object knows <em>what</em> to do for all repositories,
@@ -3558,7 +3660,7 @@ subclass-specifc <em>_sync()</em>/<em>_nosync()</em> functions if available.
 repository types, <em>rsync</em>, <em>websync_repo</em> and <em>websync_pkglist</em> derive from
 <em>BasicRepo</em>.</p>
 <div class="section" id="adding-new-repository-types">
-<h4><a class="toc-backref" href="#contents">13.2.1.1&nbsp;&nbsp;&nbsp;Adding new repository types</a></h4>
+<h4><a class="toc-backref" href="#contents">14.2.1.1&nbsp;&nbsp;&nbsp;Adding new repository types</a></h4>
 <p>Adding new repository types is best done by creating a new repo class
 that inherits <em>BasicRepo</em>. The table below shows <em>BasicRepo</em>'s subclass
 awareness concerning <em>sync()</em> and what may be changed if required.
@@ -3645,7 +3747,7 @@ to be accessible.</p>
 </div>
 </div>
 <div class="section" id="overlay">
-<h2><a class="toc-backref" href="#contents">13.3&nbsp;&nbsp;&nbsp;Overlay</a></h2>
+<h2><a class="toc-backref" href="#contents">14.3&nbsp;&nbsp;&nbsp;Overlay</a></h2>
 <p>The <em>overlay</em> is roverlay's central data structure that represents a <em>portage
 overlay</em>. It is organized in a tree structure (overlay root, categories,
 package directories) and implements all overlay-related functionality:</p>
@@ -3676,7 +3778,7 @@ level</p>
 </li>
 </ul>
 <div class="section" id="metadata-creation">
-<h3><a class="toc-backref" href="#contents">13.3.1&nbsp;&nbsp;&nbsp;Metadata Creation</a></h3>
+<h3><a class="toc-backref" href="#contents">14.3.1&nbsp;&nbsp;&nbsp;Metadata Creation</a></h3>
 <p><em>metadata.xml</em> files are created with a tree structure that contains <em>metadata
 nodes</em>, e.g. '&lt;pkgmetadata&gt;...&lt;/pkgmetadata&gt;' and '&lt;use&gt;...&lt;/use&gt;' are <em>nodes</em>.
 The current implementation writes the R package's full description
@@ -3685,16 +3787,21 @@ Metadata creation uses the latest package, i.e. highest version,
 for which an ebuild has been created.</p>
 </div>
 <div class="section" id="manifest-creation">
-<h3><a class="toc-backref" href="#contents">13.3.2&nbsp;&nbsp;&nbsp;Manifest Creation</a></h3>
-<p>Manifest files are created by calling the <em>ebuild</em> executable for each
-package directory in a filtered environment where FETCHCOMMAND and
-RESUMECOMMAND are set to no-operation. The directories that contain the R
-package files are passed in the PORTAGE_RO_DISTDIRS variable and DISTDIR
-is set to <a class="reference internal" href="#distfiles-root">DISTFILES_ROOT</a>/__tmp__.</p>
+<h3><a class="toc-backref" href="#contents">14.3.2&nbsp;&nbsp;&nbsp;Manifest Creation</a></h3>
+<p>Two implementations for writing manifest files are available, <em>ebuild</em> and
+<em>next</em>.</p>
+<p>The <em>ebuild</em> implementation calls the <tt class="docutils literal">ebuild</tt> executable for each package
+directory in a filtered environment where where FETCHCOMMAND and
+RESUMECOMMAND are set to no-operation (/bin/true on systems that support it).</p>
+<p><em>next</em> is an internal implementation that uses the
+<tt class="docutils literal">roverlay.overlay.pkgdir.manifest</tt> module for creating Manifest files.
+It falls back to <em>ebuild</em> when creating Manifest entries for imported ebuilds,
+since roverlay does not support reading <em>SRC_URI</em> from ebuilds reliably (that
+would require variable interpolation, e.g. for <tt class="docutils literal">${PN}</tt>).</p>
 </div>
 </div>
 <div class="section" id="ebuild-creation">
-<h2><a class="toc-backref" href="#contents">13.4&nbsp;&nbsp;&nbsp;Ebuild Creation</a></h2>
+<h2><a class="toc-backref" href="#contents">14.4&nbsp;&nbsp;&nbsp;Ebuild Creation</a></h2>
 <p>Ebuild creation is the process centered around one <em>PackageInfo</em> instance <em>p</em>
 that tries to create an ebuild for it.</p>
 <p>It does the following steps:</p>
@@ -3702,6 +3809,13 @@ that tries to create an ebuild for it.</p>
 <li>Read the DESCRIPTION file of <em>p</em> R package tarball and stores the
 data in an associative array ('DESCRIPTION field' -&gt; 'data')</li>
 <li>Call <a class="reference internal" href="#dependency-resolution">dependency resolution</a></li>
+<li>If dependency resolution was successful and any <em>selfdeps</em> found
+(dependencies on other packages): <em>pause</em> ebuild creation for <em>p</em> until
+it has been verified whether these dependencies are satisfiable.
+This is necessary because dependency resolution does not know whether a
+resolved dependency is actually valid. To realize this, <em>roverlay</em> collects
+paused ebuild creation jobs after processing all packages, performs
+<em>selfdep validation</em> and then continues ebuild creation.</li>
 <li>If dependency resolution was successful, dependency ebuild variables are
 created (<em>DEPEND</em>, <em>RDEPEND</em> and <em>R_SUGGESTS</em>, also <em>IUSE</em>, <em>MISSINGDEPS</em>).
 Otherwise <strong>ebuild creation stops</strong> and <em>p</em> is marked as
@@ -3713,7 +3827,7 @@ order to save memory etc.</li>
 as <em>ebuild successfully created</em></li>
 </ol>
 <div class="section" id="ebuild-variables">
-<h3><a class="toc-backref" href="#contents">13.4.1&nbsp;&nbsp;&nbsp;Ebuild Variables</a></h3>
+<h3><a class="toc-backref" href="#contents">14.4.1&nbsp;&nbsp;&nbsp;Ebuild Variables</a></h3>
 <p>Each ebuild variable is an object whose class is derived from the <em>EbuildVar</em>
 class. An <em>EbuildVar</em> defines its position in the ebuild and  how its text
 output should look like. Ebuild text is created by adding ebuild variables
@@ -3721,7 +3835,7 @@ to an <em>Ebuilder</em> that automatically sorts them and creates the ebuild.</p
 </div>
 </div>
 <div class="section" id="overlay-creation">
-<h2><a class="toc-backref" href="#contents">13.5&nbsp;&nbsp;&nbsp;Overlay Creation</a></h2>
+<h2><a class="toc-backref" href="#contents">14.5&nbsp;&nbsp;&nbsp;Overlay Creation</a></h2>
 <p>Overlay creation is the process of creating an overlay for many R packages
 and <em>roverlay</em>'s main task. More specifically, <em>OverlayCreation</em> is an
 <em>R packages -&gt; Overlay (-&gt; overlay in filesystem)</em> interface.
@@ -3733,9 +3847,13 @@ for a <em>PackageInfo</em> object and inform the <em>OverlayCreation</em> about
 afterwards. Overlay creation keeps going if an ebuild cannot be created,
 instead the event is logged. Running more than one <em>OverlayWorker</em> in parallel
 is possible.</p>
+<div class="section" id="selfdep-validation">
+<h3><a class="toc-backref" href="#contents">14.5.1&nbsp;&nbsp;&nbsp;Selfdep Validation</a></h3>
+<p>&lt;&lt;TODO: specify algo here&gt;&gt;</p>
+</div>
 </div>
 <div class="section" id="dependency-resolution">
-<h2><a class="toc-backref" href="#contents">13.6&nbsp;&nbsp;&nbsp;Dependency Resolution</a></h2>
+<h2><a class="toc-backref" href="#contents">14.6&nbsp;&nbsp;&nbsp;Dependency Resolution</a></h2>
 <p>Each ebuild creation process has access to the <em>dependency resolver</em> that
 accepts <em>dependency strings</em>, tries to resolve them and returns the result,
 either &quot;unresolvable&quot; or the resolving <em>dependency</em> as
@@ -3757,7 +3875,7 @@ all <em>required dependencies</em>. No ebuild can be created in that case.</li>
 <p>Details about dependency resolution like how <em>channels</em> work can be found
 in the following subsections.</p>
 <div class="section" id="dependency-types">
-<h3><a class="toc-backref" href="#contents">13.6.1&nbsp;&nbsp;&nbsp;Dependency types</a></h3>
+<h3><a class="toc-backref" href="#contents">14.6.1&nbsp;&nbsp;&nbsp;Dependency types</a></h3>
 <p>Every <em>dependency string</em> has a <em>dependency type</em> that declares how a
 dependency should be resolved. It has one or more of these properties:</p>
 <dl class="docutils">
@@ -3772,6 +3890,12 @@ be resolved.</dd>
 <dt>System Dependency</dt>
 <dd>This declares that the <em>dependency string</em> could be a system dependency,
 e.g. a scientific library or a video encoder.</dd>
+<dt>Selfdep</dt>
+<dd>This declares that the resolved dependency has to pass
+<em>selfdep validation</em>. While <em>selfdep</em> usually implies <em>package</em>, these
+types are not the same. The <em>package</em> type is applied to <em>dependency strings</em>
+based on their origin (DESCRIPTION field), whereas <em>selfdep</em> is a property
+of the resolving rule.</dd>
 <dt>Try other dependency types</dt>
 <dd>This declares that the <em>dependency string</em> can be resolved by ignoring its
 dependency type partially. This property allows to resolve package
@@ -3786,7 +3910,7 @@ The <em>Suggests</em> field, for example, gets the
 <em>&quot;package dependency only and optional&quot;</em> type, whereas the <em>SystemRequirements</em>
 gets <em>&quot;system dependency, but try others, and mandatory&quot;</em>.</p>
 <div class="section" id="description-file-dependency-fields">
-<h4><a class="toc-backref" href="#contents">13.6.1.1&nbsp;&nbsp;&nbsp;DESCRIPTION file dependency fields</a></h4>
+<h4><a class="toc-backref" href="#contents">14.6.1.1&nbsp;&nbsp;&nbsp;DESCRIPTION file dependency fields</a></h4>
 <p>The DESCRIPTION file of an R package contains several fields that list
 dependencies on R packages or other software like scientific libraries.
 This section describes which <em>dependency fields</em> are used and how.</p>
@@ -3845,7 +3969,7 @@ but optional dependencies during the <em>pkg_postinst()</em> ebuild phase.</p>
 </div>
 </div>
 <div class="section" id="dependency-environments">
-<h3><a class="toc-backref" href="#contents">13.6.2&nbsp;&nbsp;&nbsp;Dependency Environments</a></h3>
+<h3><a class="toc-backref" href="#contents">14.6.2&nbsp;&nbsp;&nbsp;Dependency Environments</a></h3>
 <p>A <em>dependency environment</em> is an object that reflects the whole dependency
 resolution process of a single <em>dependency string</em>. It usually contains
 the <em>dependency string</em>, its <em>dependency type</em>, information about its
@@ -3855,7 +3979,7 @@ resolving resolving <em>dependency</em>, if any.</p>
 <em>dependency resolver</em>.</p>
 </div>
 <div class="section" id="ebuildjob-channel">
-<h3><a class="toc-backref" href="#contents">13.6.3&nbsp;&nbsp;&nbsp;EbuildJob Channel</a></h3>
+<h3><a class="toc-backref" href="#contents">14.6.3&nbsp;&nbsp;&nbsp;EbuildJob Channel</a></h3>
 <p>The <em>EbuildJob Channel</em> is used by the ebuild creation to communicate with
 the <em>dependency resolver</em>. It is initialized by an ebuild creation process and
 realizes a greedy <em>string to string</em> dependency resolution.</p>
@@ -3892,7 +4016,7 @@ dependencies are unresolvable.</li>
 </ol>
 </div>
 <div class="section" id="dependency-rule-pools">
-<h3><a class="toc-backref" href="#contents">13.6.4&nbsp;&nbsp;&nbsp;Dependency Rule Pools</a></h3>
+<h3><a class="toc-backref" href="#contents">14.6.4&nbsp;&nbsp;&nbsp;Dependency Rule Pools</a></h3>
 <p>The <em>dependency resolver</em> does not know <em>how</em> to resolve a <em>dependency string</em>.
 Instead, it searches through a list of <em>dependency rule pools</em> that may be
 able to do this.</p>
@@ -3910,12 +4034,12 @@ consist of rules that exist in memory only.
 These are called <strong>Dynamic Rule Pools</strong> and use runtime data like &quot;all known
 R packages&quot; to create rules.</p>
 <p id="dynamic-selfdep-rule-pool"><em>roverlay</em> uses one dynamic rule pool, the <strong>Dynamic Selfdep Rule Pool</strong>.
-This pool contains rules for all known R packages and is able to resolve
-R package dependencies.
+This pool contains <em>selfdep</em> rules for all known R packages and is able
+to resolve R package dependencies.
 By convention, it will never resolve any system dependencies.</p>
 </div>
 <div class="section" id="dependency-resolver-modules">
-<h3><a class="toc-backref" href="#contents">13.6.5&nbsp;&nbsp;&nbsp;Dependency Resolver Modules</a></h3>
+<h3><a class="toc-backref" href="#contents">14.6.5&nbsp;&nbsp;&nbsp;Dependency Resolver Modules</a></h3>
 <p>The dependency resolver can be extended by modules. Two base types are
 available, <em>channels</em> and <em>listeners</em>.</p>
 <dl class="docutils">
@@ -3935,7 +4059,7 @@ resolution, wait for results, and send them to the other end.</p>
 </dl>
 </div>
 <div class="section" id="dependency-resolver">
-<h3><a class="toc-backref" href="#contents">13.6.6&nbsp;&nbsp;&nbsp;Dependency Resolver</a></h3>
+<h3><a class="toc-backref" href="#contents">14.6.6&nbsp;&nbsp;&nbsp;Dependency Resolver</a></h3>
 <p>The dependency resolver puts all parts of dependency resolution together,
 <em>rule pools</em>, <em>listeners</em> and <em>channels</em>. Its main task is a loop that
 processes all queued <em>dependency environments</em> and sends the result back to
@@ -3993,7 +4117,7 @@ becomes &quot;loop until resolver closes&quot;.</p>
 </div>
 <div class="footer">
 <hr class="footer" />
-Generated on: 2013-07-10.
+Generated on: 2013-07-16.
 
 </div>
 </body>


^ permalink raw reply related	[flat|nested] 9+ messages in thread
* [gentoo-commits] proj/R_overlay:master commit in: doc/html/
@ 2013-07-23 14:57 André Erdmann
  2013-07-23 14:57 ` [gentoo-commits] proj/R_overlay:gsoc13/next " André Erdmann
  0 siblings, 1 reply; 9+ messages in thread
From: André Erdmann @ 2013-07-23 14:57 UTC (permalink / raw
  To: gentoo-commits

commit:     ba90ce8d9faceed63e8f012657c956bac22bc8db
Author:     André Erdmann <dywi <AT> mailerd <DOT> de>
AuthorDate: Tue Jul 23 14:31:00 2013 +0000
Commit:     André Erdmann <dywi <AT> mailerd <DOT> de>
CommitDate: Tue Jul 23 14:31:00 2013 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/R_overlay.git;a=commit;h=ba90ce8d

doc/html: "fix" example 3 in dependency rules

---
 doc/html/usage.html | 13 +++++--------
 1 file changed, 5 insertions(+), 8 deletions(-)

diff --git a/doc/html/usage.html b/doc/html/usage.html
index 91453b8..2dbe25f 100644
--- a/doc/html/usage.html
+++ b/doc/html/usage.html
@@ -1556,14 +1556,11 @@ be resolved. See <em>Selfdep</em> in <a class="reference internal" href="#rule-f
 </div>
 </dd>
 <dt>Example 3 - <em>default</em> simple rule</dt>
-<dd><p class="first">A rule that matches several <em>dependency strings</em> and resolves them
-as &quot;sci-libs/gdal and sci-libs/proj&quot;:</p>
+<dd><p class="first">A rule that matches a <em>dependency string</em> and resolves it
+as &quot;virtual/blas and virtual/lapack&quot;:</p>
 <pre class="code text last literal-block">
-( sci-libs/gdal sci-libs/proj ) {
-   for building from source: GDAL &gt;= 1.3.1 &amp;&amp; GDAL &lt; 1.6.0 (until tested) library and PROJ.4 (proj &gt;= 4.4.9)
-   for building from source: GDAL &gt;= 1.3.1 library and PROJ.4 (proj &gt;= 4.4.9)
-   for building from source: GDAL &gt;= 1.3.1 library and PROJ.4(proj &gt;= 4.4.9)
-   for building from source: GDAL &gt;= 1.6.0 library and PROJ.4(proj &gt;= 4.4.9)
+( virtual/blas virtual/lapack ) {
+   BLAS/LAPACK libraries
 }
 </pre>
 </dd>
@@ -4117,7 +4114,7 @@ becomes &quot;loop until resolver closes&quot;.</p>
 </div>
 <div class="footer">
 <hr class="footer" />
-Generated on: 2013-07-16.
+Generated on: 2013-07-23.
 
 </div>
 </body>


^ permalink raw reply related	[flat|nested] 9+ messages in thread
* [gentoo-commits] proj/R_overlay:master commit in: doc/html/
@ 2013-07-10 16:16 André Erdmann
  2013-07-10 15:10 ` [gentoo-commits] proj/R_overlay:gsoc13/next " André Erdmann
  0 siblings, 1 reply; 9+ messages in thread
From: André Erdmann @ 2013-07-10 16:16 UTC (permalink / raw
  To: gentoo-commits

commit:     24965cc5a306d732cb88ec6eb2ab1fb08bd002dd
Author:     André Erdmann <dywi <AT> mailerd <DOT> de>
AuthorDate: Wed Jul 10 15:09:31 2013 +0000
Commit:     André Erdmann <dywi <AT> mailerd <DOT> de>
CommitDate: Wed Jul 10 15:09:31 2013 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/R_overlay.git;a=commit;h=24965cc5

recreate doc/html

---
 doc/html/usage.html | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/doc/html/usage.html b/doc/html/usage.html
index 62431a4..0745d2c 100644
--- a/doc/html/usage.html
+++ b/doc/html/usage.html
@@ -1301,7 +1301,7 @@ excerpt from <a class="reference external" href="http://www.omegahat.org/R/src/c
 <span class="name attribute">type</span>    <span class="operator">=</span> <span class="literal string">websync_repo</span>
 <span class="name attribute">src_uri</span> <span class="operator">=</span> <span class="literal string">http://www.omegahat.org/R/src/contrib</span>
 <span class="name attribute">digest</span>  <span class="operator">=</span> <span class="literal string">md5</span>
-<span class="comment">#digest = none</span>
+<span class="comment single">#digest = none</span>
 </pre>
 <p>This repo type extends the default options by:</p>
 <ul class="simple">
@@ -3993,7 +3993,7 @@ becomes &quot;loop until resolver closes&quot;.</p>
 </div>
 <div class="footer">
 <hr class="footer" />
-Generated on: 2013-07-03.
+Generated on: 2013-07-10.
 
 </div>
 </body>


^ permalink raw reply related	[flat|nested] 9+ messages in thread
* [gentoo-commits] proj/R_overlay:gsoc13/next commit in: doc/html/
@ 2013-07-03 10:04 André Erdmann
  0 siblings, 0 replies; 9+ messages in thread
From: André Erdmann @ 2013-07-03 10:04 UTC (permalink / raw
  To: gentoo-commits

commit:     88cab2b7a719fe8e327220d3809cf47d92d3fce2
Author:     André Erdmann <dywi <AT> mailerd <DOT> de>
AuthorDate: Wed Jul  3 09:58:02 2013 +0000
Commit:     André Erdmann <dywi <AT> mailerd <DOT> de>
CommitDate: Wed Jul  3 09:58:02 2013 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/R_overlay.git;a=commit;h=88cab2b7

doc/html: SLOT handling

---
 doc/html/usage.html | 74 ++++++++++++++++++++++++++++++++++++++++++++++++-----
 1 file changed, 67 insertions(+), 7 deletions(-)

diff --git a/doc/html/usage.html b/doc/html/usage.html
index c4d90fc..62431a4 100644
--- a/doc/html/usage.html
+++ b/doc/html/usage.html
@@ -1484,7 +1484,8 @@ as dev-lang/R:</p>
 <dt>Fuzzy Rules</dt>
 <dd><p class="first">Fuzzy Rules are <strong>extended Simple Rules</strong>. If the basic lookup
 as described above fails for a <em>dependency string</em>,
-they will <em>try</em> to resolve it as a <strong>version-relative match</strong>.</p>
+they will <em>try</em> to resolve it as a <strong>version-relative</strong>,
+<strong>slot-relative</strong> or <strong>version,slot-relative match</strong>.</p>
 <p>To do this, the <em>dependency string</em> will be split into components like
 <em>dependency name</em>, <em>dependency version</em> and useless comments, which are
 discarded.
@@ -1500,7 +1501,7 @@ it will resolve any of these <em>dependency strings</em>:</p>
 <li>&quot;R 2.12&quot; as &quot;&gt;=dev-lang/R-2.12&quot;</li>
 <li>&quot;The R PROGRAMMING LANGUAGE [&lt;2.14] from <a class="reference external" href="http://www.r-project.org/">http://www.r-project.org/</a>&quot;
 as &quot;&lt;dev-lang/R-2.14&quot;</li>
-<li>&quot;R ( !2.10 )&quot; as &quot;( !=dev-lang/R-2.10 dev-lang/R )&quot;</li>
+<li>&quot;R ( !=2.10 )&quot; as &quot;( !=dev-lang/R-2.10 dev-lang/R )&quot;</li>
 </ul>
 </dd>
 </dl>
@@ -1514,7 +1515,7 @@ See <a class="reference internal" href="#rule-file-syntax">Rule File Syntax</a>
 <dl class="docutils">
 <dt>Example 1 - <em>default</em> fuzzy rule</dt>
 <dd><p class="first">A rule that matches many dependencies on dev-lang/R, for example
-&quot;r 2.12&quot;, &quot;R(&gt;= 2.14)&quot;, &quot;R [&lt;2.10]&quot;, &quot;r{  !2.12 }&quot;, and &quot;R&quot;, and
+&quot;r 2.12&quot;, &quot;R(&gt;= 2.14)&quot;, &quot;R [&lt;2.10]&quot;, &quot;r{ !=2.12 }&quot;, and &quot;R&quot;, and
 resolves them as '&gt;=dev-lang/R-2.12', '&gt;=dev-lang/R-2.14',
 '&lt;dev-lang/R-2.10', etc.:</p>
 <pre class="code text last literal-block">
@@ -1558,6 +1559,32 @@ in some R package DESCRIPTION files.</p>
 }
 </pre>
 </dd>
+<dt>Example 5 - fuzzy slot rule</dt>
+<dd><p class="first">A rule that matches many dependencies on sci-libs/fftw and resolves them
+as slotted depencency. The <tt class="docutils literal"><span class="pre">s=&lt;range&gt;</span></tt> option controls which parts of the
+version (from the dependency string) are relevant for calculating the
+slot. The following example resolves &quot;fftw 2.1&quot;, &quot;fftw 2.1.2&quot; and
+&quot;fftw 2.1.3&quot; as &quot;sci-libs/fftw:2.1&quot;, &quot;fftw 3.0&quot; as &quot;sci-libs/fftw:3.0&quot;
+and so on:</p>
+<pre class="code text last literal-block">
+~sci-libs/fftw:s=0..1 :: fftw
+</pre>
+</dd>
+<dt>Example 6 - slot-restricted fuzzy slot rule</dt>
+<dd><p class="first">Similar to example 5, but this rule does not resolve anything unless the
+calculated slot is allowed.</p>
+<pre class="code text last literal-block">
+~sci-libs/fftw:s=0..1:restrict=2.1,3.0: :: fftw
+</pre>
+</dd>
+<dt>Example 7 - slot-restricted fuzzy slot rule with <em>immediate</em> value</dt>
+<dd><p class="first">Example 6 is not quite correct, as sci-libs/fftw currently uses slot 3.0
+for various versions from the 3.x range. The following rule resolves
+&quot;fftw 3.0&quot;, ..., &quot;fftw 3.3&quot; as &quot;sci-libs/fftw:3.0&quot;:</p>
+<pre class="code text last literal-block">
+~sci-libs/fftw:s=i3.0:restrict=3.0,3.1,3.2,3.3 :: fftw
+</pre>
+</dd>
 </dl>
 <p>Please see the default rule files for more extensive examples that cover
 other aspects like limiting a rule to certain dependency types.
@@ -1624,7 +1651,7 @@ Use braces <em>( ~... )</em> to work around that.</p>
 <dl class="last docutils">
 <dt>Syntax:</dt>
 <dd><pre class="code text first last literal-block">
-[&lt;keychar&gt;]&lt;dependency&gt; :: &lt;dependency string&gt;
+[&lt;keychar&gt;]&lt;dependency&gt;[&lt;rule options&gt;] :: &lt;dependency string&gt;
 </pre>
 </dd>
 </dl>
@@ -1636,7 +1663,7 @@ Their rule block begins with '{' + newline, followed by one
 <dl class="docutils">
 <dt>Syntax:</dt>
 <dd><pre class="code text first last literal-block">
-[&lt;keychar&gt;]&lt;dependency&gt; {
+[&lt;keychar&gt;]&lt;dependency&gt;[&lt;rule options&gt;] {
    &lt;dependency string&gt;
    [&lt;dependency string&gt;]
    ...
@@ -1651,6 +1678,39 @@ zero or more <em>dependency strings</em>. An empty rule makes little sense,
 though.</p>
 </div>
 </dd>
+<dt>Rule Options</dt>
+<dd>Certain rule types accept options that control the rule's behavior.
+For example, <em>default</em> fuzzy rules can be set up to yield slotted
+dependencies.</dd>
+<dt>Fuzzy Slot Rules</dt>
+<dd><p class="first">Fuzzy Slot rules are a subtype of <em>default</em> fuzzy rules. Appending a colon
+character <tt class="docutils literal">:</tt> to the <em>dependency string</em> of a fuzzy rule
+(as <em>rule option</em>) turns it into a slot rule.</p>
+<p>Fuzzy slot rules accept even more options, each of them separated by one
+colong char <tt class="docutils literal">:</tt>:</p>
+<ul class="simple">
+<li>slot mode:<ul>
+<li><tt class="docutils literal">default</tt>: calculate a slot value (<tt class="docutils literal"><span class="pre">&lt;cat&gt;/&lt;pkg&gt;:&lt;SLOT&gt;</span></tt>)</li>
+<li><tt class="docutils literal">with_version</tt> or <tt class="docutils literal">+v</tt>: include version, too (<tt class="docutils literal"><span class="pre">=&lt;cat&gt;/&lt;pkg&gt;-&lt;pkgver&gt;:&lt;SLOT&gt;</span></tt>)</li>
+<li><tt class="docutils literal">open</tt>: non-versioned slot (<tt class="docutils literal"><span class="pre">&lt;cat&gt;/&lt;pkg&gt;:*</span></tt> or <tt class="docutils literal"><span class="pre">&lt;cat&gt;/&lt;pkg&gt;:=</span></tt>)</li>
+</ul>
+</li>
+<li>accepted <em>calculated</em> slot values can be restricted with
+<tt class="docutils literal"><span class="pre">restrict=&lt;list</span> of accepted values</tt> or <tt class="docutils literal"><span class="pre">r=&lt;list&gt;</span></tt></li>
+<li>relevant slot parts can be set with <tt class="docutils literal"><span class="pre">slotparts=&lt;selection&gt;</span></tt> or
+<tt class="docutils literal"><span class="pre">s=&lt;selection&gt;</span></tt></li>
+<li>relevant subslot parts can be set with <tt class="docutils literal"><span class="pre">subslotparts=&lt;selection&gt;</span></tt> or
+<tt class="docutils literal">/&lt;selection&gt;</tt></li>
+<li>slot operator can be set to <tt class="docutils literal">*</tt> or <tt class="docutils literal">=</tt></li>
+</ul>
+<p><tt class="docutils literal">&lt;selection&gt;</tt> can be an index (integer) range
+<tt class="docutils literal"><span class="pre">[&lt;low&gt;:=0]..[&lt;high&gt;:=&lt;low&gt;]</span></tt> or a fixed value <tt class="docutils literal">i&lt;value&gt;</tt>.</p>
+<div class="note last">
+<p class="first admonition-title">Note</p>
+<p class="last">Fuzzy Slot rules cannot resolve &quot;not &lt;version&gt;&quot; statements, e.g.
+&quot;R ( != 2.14 )&quot;.</p>
+</div>
+</dd>
 <dt>Comments</dt>
 <dd>start with <strong>#</strong>. There are a few exceptions to that, the <em>#deptype</em> and
 <em>#! NOPARSE</em> keywords. Comments inside rule blocks are not allowed and
@@ -1689,7 +1749,7 @@ as <em>sci-R/zoo</em>. This rule can be written as a single word, <em>zoo</em>.<
 <dl class="last docutils">
 <dt>Syntax:</dt>
 <dd><pre class="code text first last literal-block">
-[&lt;keychar&gt;]&lt;short dependency&gt;
+[&lt;keychar&gt;]&lt;short dependency&gt;[&lt;rule options&gt;]
 </pre>
 </dd>
 </dl>
@@ -3933,7 +3993,7 @@ becomes &quot;loop until resolver closes&quot;.</p>
 </div>
 <div class="footer">
 <hr class="footer" />
-Generated on: 2013-06-26.
+Generated on: 2013-07-03.
 
 </div>
 </body>


^ permalink raw reply related	[flat|nested] 9+ messages in thread
* [gentoo-commits] proj/R_overlay:gsoc13/next commit in: doc/html/
@ 2013-06-26 17:29 André Erdmann
  0 siblings, 0 replies; 9+ messages in thread
From: André Erdmann @ 2013-06-26 17:29 UTC (permalink / raw
  To: gentoo-commits

commit:     664ec1f39a920328e3ca4cf7f5f091eaa55d51d0
Author:     André Erdmann <dywi <AT> mailerd <DOT> de>
AuthorDate: Wed Jun 26 17:29:01 2013 +0000
Commit:     André Erdmann <dywi <AT> mailerd <DOT> de>
CommitDate: Wed Jun 26 17:29:01 2013 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/R_overlay.git;a=commit;h=664ec1f3

doc/html: "run hooks", "distmap"

---
 doc/html/usage.html | 667 +++++++++++++++++++++++++++++++++++++++++++++-------
 1 file changed, 586 insertions(+), 81 deletions(-)

diff --git a/doc/html/usage.html b/doc/html/usage.html
index 9206894..c4d90fc 100644
--- a/doc/html/usage.html
+++ b/doc/html/usage.html
@@ -361,88 +361,102 @@ ul.auto-toc {
 <li><a class="reference internal" href="#getting-packages-from-a-repository-that-supports-http-only" id="id24">5.3&nbsp;&nbsp;&nbsp;Getting packages from a repository that supports http only</a></li>
 <li><a class="reference internal" href="#getting-packages-from-several-remotes-using-http-and-a-package-list" id="id25">5.4&nbsp;&nbsp;&nbsp;Getting packages from several remotes using http and a package list</a></li>
 <li><a class="reference internal" href="#using-local-directories" id="id26">5.5&nbsp;&nbsp;&nbsp;Using local directories</a></li>
+<li><a class="reference internal" href="#distmap" id="id27">5.6&nbsp;&nbsp;&nbsp;distmap</a></li>
 </ul>
 </li>
-<li><a class="reference internal" href="#additions-directory" id="id27">6&nbsp;&nbsp;&nbsp;Additions Directory</a><ul class="auto-toc">
-<li><a class="reference internal" href="#patching-ebuilds" id="id28">6.1&nbsp;&nbsp;&nbsp;Patching ebuilds</a></li>
-<li><a class="reference internal" href="#importing-ebuilds" id="id29">6.2&nbsp;&nbsp;&nbsp;Importing ebuilds</a></li>
+<li><a class="reference internal" href="#additions-directory" id="id28">6&nbsp;&nbsp;&nbsp;Additions Directory</a><ul class="auto-toc">
+<li><a class="reference internal" href="#patching-ebuilds" id="id29">6.1&nbsp;&nbsp;&nbsp;Patching ebuilds</a></li>
+<li><a class="reference internal" href="#importing-ebuilds" id="id30">6.2&nbsp;&nbsp;&nbsp;Importing ebuilds</a></li>
 </ul>
 </li>
-<li><a class="reference internal" href="#dependency-rules" id="id30">7&nbsp;&nbsp;&nbsp;Dependency Rules</a><ul class="auto-toc">
-<li><a class="reference internal" href="#simple-dependency-rules" id="id31">7.1&nbsp;&nbsp;&nbsp;Simple Dependency Rules</a><ul class="auto-toc">
-<li><a class="reference internal" href="#rule-variants" id="id32">7.1.1&nbsp;&nbsp;&nbsp;Rule Variants</a></li>
-<li><a class="reference internal" href="#rule-types" id="id33">7.1.2&nbsp;&nbsp;&nbsp;Rule types</a></li>
-<li><a class="reference internal" href="#rule-file-examples" id="id34">7.1.3&nbsp;&nbsp;&nbsp;Rule File Examples</a></li>
-<li><a class="reference internal" href="#rule-file-syntax" id="id35">7.1.4&nbsp;&nbsp;&nbsp;Rule File Syntax</a></li>
+<li><a class="reference internal" href="#dependency-rules" id="id31">7&nbsp;&nbsp;&nbsp;Dependency Rules</a><ul class="auto-toc">
+<li><a class="reference internal" href="#simple-dependency-rules" id="id32">7.1&nbsp;&nbsp;&nbsp;Simple Dependency Rules</a><ul class="auto-toc">
+<li><a class="reference internal" href="#rule-variants" id="id33">7.1.1&nbsp;&nbsp;&nbsp;Rule Variants</a></li>
+<li><a class="reference internal" href="#rule-types" id="id34">7.1.2&nbsp;&nbsp;&nbsp;Rule types</a></li>
+<li><a class="reference internal" href="#rule-file-examples" id="id35">7.1.3&nbsp;&nbsp;&nbsp;Rule File Examples</a></li>
+<li><a class="reference internal" href="#rule-file-syntax" id="id36">7.1.4&nbsp;&nbsp;&nbsp;Rule File Syntax</a></li>
 </ul>
 </li>
 </ul>
 </li>
-<li><a class="reference internal" href="#package-rules" id="id36">8&nbsp;&nbsp;&nbsp;Package Rules</a><ul class="auto-toc">
-<li><a class="reference internal" href="#package-rule-file-syntax" id="id37">8.1&nbsp;&nbsp;&nbsp;Package Rule File Syntax</a><ul class="auto-toc">
-<li><a class="reference internal" href="#match-blocks" id="id38">8.1.1&nbsp;&nbsp;&nbsp;Match Blocks</a><ul class="auto-toc">
-<li><a class="reference internal" href="#extended-match-block-syntax" id="id39">8.1.1.1&nbsp;&nbsp;&nbsp;Extended Match Block Syntax</a></li>
+<li><a class="reference internal" href="#package-rules" id="id37">8&nbsp;&nbsp;&nbsp;Package Rules</a><ul class="auto-toc">
+<li><a class="reference internal" href="#package-rule-file-syntax" id="id38">8.1&nbsp;&nbsp;&nbsp;Package Rule File Syntax</a><ul class="auto-toc">
+<li><a class="reference internal" href="#match-blocks" id="id39">8.1.1&nbsp;&nbsp;&nbsp;Match Blocks</a><ul class="auto-toc">
+<li><a class="reference internal" href="#extended-match-block-syntax" id="id40">8.1.1.1&nbsp;&nbsp;&nbsp;Extended Match Block Syntax</a></li>
 </ul>
 </li>
-<li><a class="reference internal" href="#action-blocks" id="id40">8.1.2&nbsp;&nbsp;&nbsp;Action Blocks</a><ul class="auto-toc">
-<li><a class="reference internal" href="#extended-action-block-syntax" id="id41">8.1.2.1&nbsp;&nbsp;&nbsp;Extended Action Block Syntax</a></li>
+<li><a class="reference internal" href="#action-blocks" id="id41">8.1.2&nbsp;&nbsp;&nbsp;Action Blocks</a><ul class="auto-toc">
+<li><a class="reference internal" href="#extended-action-block-syntax" id="id42">8.1.2.1&nbsp;&nbsp;&nbsp;Extended Action Block Syntax</a></li>
 </ul>
 </li>
-<li><a class="reference internal" href="#package-rule-examples" id="id42">8.1.3&nbsp;&nbsp;&nbsp;Package Rule Examples</a></li>
+<li><a class="reference internal" href="#package-rule-examples" id="id43">8.1.3&nbsp;&nbsp;&nbsp;Package Rule Examples</a></li>
 </ul>
 </li>
 </ul>
 </li>
-<li><a class="reference internal" href="#configuration-reference" id="id43">9&nbsp;&nbsp;&nbsp;Configuration Reference</a><ul class="auto-toc">
-<li><a class="reference internal" href="#misc-options" id="id44">9.1&nbsp;&nbsp;&nbsp;misc options</a></li>
-<li><a class="reference internal" href="#overlay-options" id="id45">9.2&nbsp;&nbsp;&nbsp;overlay options</a></li>
-<li><a class="reference internal" href="#other-config-files" id="id46">9.3&nbsp;&nbsp;&nbsp;other config files</a></li>
-<li><a class="reference internal" href="#logging" id="id47">9.4&nbsp;&nbsp;&nbsp;logging</a><ul class="auto-toc">
-<li><a class="reference internal" href="#console-logging" id="id48">9.4.1&nbsp;&nbsp;&nbsp;console logging</a></li>
-<li><a class="reference internal" href="#file-logging" id="id49">9.4.2&nbsp;&nbsp;&nbsp;file logging</a></li>
+<li><a class="reference internal" href="#event-hooks" id="id44">9&nbsp;&nbsp;&nbsp;Event Hooks</a><ul class="auto-toc">
+<li><a class="reference internal" href="#default-event-script" id="id45">9.1&nbsp;&nbsp;&nbsp;Default event script</a><ul class="auto-toc">
+<li><a class="reference internal" href="#activating-a-hook-script" id="id46">9.1.1&nbsp;&nbsp;&nbsp;Activating a hook script</a></li>
+<li><a class="reference internal" href="#adding-a-new-hook-script" id="id47">9.1.2&nbsp;&nbsp;&nbsp;Adding a new hook script</a></li>
 </ul>
 </li>
-<li><a class="reference internal" href="#options-for-debugging-manual-dependency-rule-creation-and-testing" id="id50">9.5&nbsp;&nbsp;&nbsp;options for debugging, manual dependency rule creation and testing</a></li>
+<li><a class="reference internal" href="#event-policy" id="id48">9.2&nbsp;&nbsp;&nbsp;Event Policy</a></li>
+<li><a class="reference internal" href="#hook-environment" id="id49">9.3&nbsp;&nbsp;&nbsp;Hook Environment</a></li>
+<li><a class="reference internal" href="#adding-a-function-file" id="id50">9.4&nbsp;&nbsp;&nbsp;Adding a function file</a></li>
+<li><a class="reference internal" href="#adding-a-hook-event" id="id51">9.5&nbsp;&nbsp;&nbsp;Adding a hook event</a></li>
 </ul>
 </li>
-<li><a class="reference internal" href="#id3" id="id51">10&nbsp;&nbsp;&nbsp;Other config files</a><ul class="auto-toc">
-<li><a class="reference internal" href="#use-expand-flag-rename-file" id="id52">10.1&nbsp;&nbsp;&nbsp;USE_EXPAND flag rename file</a></li>
-<li><a class="reference internal" href="#field-definition-config" id="id53">10.2&nbsp;&nbsp;&nbsp;Field Definition Config</a><ul class="auto-toc">
-<li><a class="reference internal" href="#example-the-default-field-definition-file" id="id54">10.2.1&nbsp;&nbsp;&nbsp;Example: The default field definition file</a></li>
+<li><a class="reference internal" href="#configuration-reference" id="id52">10&nbsp;&nbsp;&nbsp;Configuration Reference</a><ul class="auto-toc">
+<li><a class="reference internal" href="#misc-options" id="id53">10.1&nbsp;&nbsp;&nbsp;misc options</a></li>
+<li><a class="reference internal" href="#overlay-options" id="id54">10.2&nbsp;&nbsp;&nbsp;overlay options</a></li>
+<li><a class="reference internal" href="#other-config-files" id="id55">10.3&nbsp;&nbsp;&nbsp;other config files</a></li>
+<li><a class="reference internal" href="#shell-environment-hooks" id="id56">10.4&nbsp;&nbsp;&nbsp;shell environment / hooks</a></li>
+<li><a class="reference internal" href="#logging" id="id57">10.5&nbsp;&nbsp;&nbsp;logging</a><ul class="auto-toc">
+<li><a class="reference internal" href="#console-logging" id="id58">10.5.1&nbsp;&nbsp;&nbsp;console logging</a></li>
+<li><a class="reference internal" href="#file-logging" id="id59">10.5.2&nbsp;&nbsp;&nbsp;file logging</a></li>
 </ul>
 </li>
+<li><a class="reference internal" href="#options-for-debugging-manual-dependency-rule-creation-and-testing" id="id60">10.6&nbsp;&nbsp;&nbsp;options for debugging, manual dependency rule creation and testing</a></li>
 </ul>
 </li>
-<li><a class="reference internal" href="#dependency-resolution-console" id="id55">11&nbsp;&nbsp;&nbsp;Dependency Resolution Console</a></li>
-<li><a class="reference internal" href="#implementation-overview" id="id56">12&nbsp;&nbsp;&nbsp;Implementation Overview</a><ul class="auto-toc">
-<li><a class="reference internal" href="#packageinfo" id="id57">12.1&nbsp;&nbsp;&nbsp;PackageInfo</a></li>
-<li><a class="reference internal" href="#repository-management" id="id58">12.2&nbsp;&nbsp;&nbsp;Repository Management</a><ul class="auto-toc">
-<li><a class="reference internal" href="#repository" id="id59">12.2.1&nbsp;&nbsp;&nbsp;Repository</a><ul class="auto-toc">
-<li><a class="reference internal" href="#adding-new-repository-types" id="id60">12.2.1.1&nbsp;&nbsp;&nbsp;Adding new repository types</a></li>
+<li><a class="reference internal" href="#id3" id="id61">11&nbsp;&nbsp;&nbsp;Other config files</a><ul class="auto-toc">
+<li><a class="reference internal" href="#use-expand-flag-rename-file" id="id62">11.1&nbsp;&nbsp;&nbsp;USE_EXPAND flag rename file</a></li>
+<li><a class="reference internal" href="#field-definition-config" id="id63">11.2&nbsp;&nbsp;&nbsp;Field Definition Config</a><ul class="auto-toc">
+<li><a class="reference internal" href="#example-the-default-field-definition-file" id="id64">11.2.1&nbsp;&nbsp;&nbsp;Example: The default field definition file</a></li>
 </ul>
 </li>
 </ul>
 </li>
-<li><a class="reference internal" href="#overlay" id="id61">12.3&nbsp;&nbsp;&nbsp;Overlay</a><ul class="auto-toc">
-<li><a class="reference internal" href="#metadata-creation" id="id62">12.3.1&nbsp;&nbsp;&nbsp;Metadata Creation</a></li>
-<li><a class="reference internal" href="#manifest-creation" id="id63">12.3.2&nbsp;&nbsp;&nbsp;Manifest Creation</a></li>
+<li><a class="reference internal" href="#dependency-resolution-console" id="id65">12&nbsp;&nbsp;&nbsp;Dependency Resolution Console</a></li>
+<li><a class="reference internal" href="#implementation-overview" id="id66">13&nbsp;&nbsp;&nbsp;Implementation Overview</a><ul class="auto-toc">
+<li><a class="reference internal" href="#packageinfo" id="id67">13.1&nbsp;&nbsp;&nbsp;PackageInfo</a></li>
+<li><a class="reference internal" href="#repository-management" id="id68">13.2&nbsp;&nbsp;&nbsp;Repository Management</a><ul class="auto-toc">
+<li><a class="reference internal" href="#repository" id="id69">13.2.1&nbsp;&nbsp;&nbsp;Repository</a><ul class="auto-toc">
+<li><a class="reference internal" href="#adding-new-repository-types" id="id70">13.2.1.1&nbsp;&nbsp;&nbsp;Adding new repository types</a></li>
 </ul>
 </li>
-<li><a class="reference internal" href="#ebuild-creation" id="id64">12.4&nbsp;&nbsp;&nbsp;Ebuild Creation</a><ul class="auto-toc">
-<li><a class="reference internal" href="#ebuild-variables" id="id65">12.4.1&nbsp;&nbsp;&nbsp;Ebuild Variables</a></li>
 </ul>
 </li>
-<li><a class="reference internal" href="#overlay-creation" id="id66">12.5&nbsp;&nbsp;&nbsp;Overlay Creation</a></li>
-<li><a class="reference internal" href="#dependency-resolution" id="id67">12.6&nbsp;&nbsp;&nbsp;Dependency Resolution</a><ul class="auto-toc">
-<li><a class="reference internal" href="#dependency-types" id="id68">12.6.1&nbsp;&nbsp;&nbsp;Dependency types</a><ul class="auto-toc">
-<li><a class="reference internal" href="#description-file-dependency-fields" id="id69">12.6.1.1&nbsp;&nbsp;&nbsp;DESCRIPTION file dependency fields</a></li>
+<li><a class="reference internal" href="#overlay" id="id71">13.3&nbsp;&nbsp;&nbsp;Overlay</a><ul class="auto-toc">
+<li><a class="reference internal" href="#metadata-creation" id="id72">13.3.1&nbsp;&nbsp;&nbsp;Metadata Creation</a></li>
+<li><a class="reference internal" href="#manifest-creation" id="id73">13.3.2&nbsp;&nbsp;&nbsp;Manifest Creation</a></li>
 </ul>
 </li>
-<li><a class="reference internal" href="#dependency-environments" id="id70">12.6.2&nbsp;&nbsp;&nbsp;Dependency Environments</a></li>
-<li><a class="reference internal" href="#ebuildjob-channel" id="id71">12.6.3&nbsp;&nbsp;&nbsp;EbuildJob Channel</a></li>
-<li><a class="reference internal" href="#dependency-rule-pools" id="id72">12.6.4&nbsp;&nbsp;&nbsp;Dependency Rule Pools</a></li>
-<li><a class="reference internal" href="#dependency-resolver-modules" id="id73">12.6.5&nbsp;&nbsp;&nbsp;Dependency Resolver Modules</a></li>
-<li><a class="reference internal" href="#dependency-resolver" id="id74">12.6.6&nbsp;&nbsp;&nbsp;Dependency Resolver</a></li>
+<li><a class="reference internal" href="#ebuild-creation" id="id74">13.4&nbsp;&nbsp;&nbsp;Ebuild Creation</a><ul class="auto-toc">
+<li><a class="reference internal" href="#ebuild-variables" id="id75">13.4.1&nbsp;&nbsp;&nbsp;Ebuild Variables</a></li>
+</ul>
+</li>
+<li><a class="reference internal" href="#overlay-creation" id="id76">13.5&nbsp;&nbsp;&nbsp;Overlay Creation</a></li>
+<li><a class="reference internal" href="#dependency-resolution" id="id77">13.6&nbsp;&nbsp;&nbsp;Dependency Resolution</a><ul class="auto-toc">
+<li><a class="reference internal" href="#dependency-types" id="id78">13.6.1&nbsp;&nbsp;&nbsp;Dependency types</a><ul class="auto-toc">
+<li><a class="reference internal" href="#description-file-dependency-fields" id="id79">13.6.1.1&nbsp;&nbsp;&nbsp;DESCRIPTION file dependency fields</a></li>
+</ul>
+</li>
+<li><a class="reference internal" href="#dependency-environments" id="id80">13.6.2&nbsp;&nbsp;&nbsp;Dependency Environments</a></li>
+<li><a class="reference internal" href="#ebuildjob-channel" id="id81">13.6.3&nbsp;&nbsp;&nbsp;EbuildJob Channel</a></li>
+<li><a class="reference internal" href="#dependency-rule-pools" id="id82">13.6.4&nbsp;&nbsp;&nbsp;Dependency Rule Pools</a></li>
+<li><a class="reference internal" href="#dependency-resolver-modules" id="id83">13.6.5&nbsp;&nbsp;&nbsp;Dependency Resolver Modules</a></li>
+<li><a class="reference internal" href="#dependency-resolver" id="id84">13.6.6&nbsp;&nbsp;&nbsp;Dependency Resolver</a></li>
 </ul>
 </li>
 </ul>
@@ -716,6 +730,11 @@ required.</p>
 can be used to rename USE_EXPAND flags. This option is not required.</p>
 <p class="last">Example: USE_EXPAND_RENAME = ~/roverlay/config/useflag_rename</p>
 </dd>
+<dt>CACHEDIR</dt>
+<dd><p class="first">Directory for generated files that do not belong to the overlay, e.g.
+the <em>distmap</em> file. This option is <strong>required</strong>.</p>
+<p class="last">Example: CACHEDIR = ~/roverlay/workdir/cache</p>
+</dd>
 <dt>OVERLAY_ECLASS</dt>
 <dd><p class="first">This option lists eclass files that should be imported into the overlay
 (into <em>OVERLAY_DIR</em>/eclass/) and inherited in all ebuilds.
@@ -799,6 +818,11 @@ to know in detail what <em>roverlay</em> does before running it.</p>
 </tr>
 <tr><td>&nbsp;</td><td>Disable downloading of R packages.</td></tr>
 <tr><td class="option-group" colspan="2">
+<kbd><span class="option">--distmap-verify</span></kbd></td>
+</tr>
+<tr><td>&nbsp;</td><td>Enforce verification of R packages in the package mirror directory.
+This also tries to recreate the distmap.</td></tr>
+<tr><td class="option-group" colspan="2">
 <kbd><span class="option">--no-incremental</span></kbd></td>
 </tr>
 <tr><td>&nbsp;</td><td>Force recreation of existing ebuilds</td></tr>
@@ -1345,6 +1369,18 @@ consider using one of the <strong>websync</strong> repo types, <a class="referen
 <a class="reference internal" href="#websync-pkglist">websync_pkglist</a>.</p>
 </div>
 </div>
+<div class="section" id="distmap">
+<h2><a class="toc-backref" href="#contents">5.6&nbsp;&nbsp;&nbsp;distmap</a></h2>
+<p><em>roverlay</em> uses a text file to store information about files in the package
+mirror directory (<a class="reference internal" href="#overlay-distdir-root">OVERLAY_DISTDIR_ROOT</a>). This is necessary for comparing
+package files from repos with files for which an ebuild has already been
+created (in previous runs).</p>
+<p>With the help of the <em>distmap file</em>, <em>roverlay</em> is able to determine whether
+upstream has changed a package file silently and creates a revision-bumped
+ebuild for the <em>new</em> package file.</p>
+<p>The <em>distmap file</em> can optionally be compressed (bzip2 or gzip), which
+reduces its size considerably.</p>
+</div>
 </div>
 <div class="section" id="additions-directory">
 <h1><a class="toc-backref" href="#contents">6&nbsp;&nbsp;&nbsp;Additions Directory</a></h1>
@@ -2137,8 +2173,392 @@ END;
 </div>
 </div>
 </div>
+<div class="section" id="event-hooks">
+<h1><a class="toc-backref" href="#contents">9&nbsp;&nbsp;&nbsp;Event Hooks</a></h1>
+<p><em>roverlay</em> is able to call a script when certain events occur, e.g. after
+successful overlay creation, which can be used to perform additional actions
+without touching <em>roverlay's</em> source code.</p>
+<p>To realize this, <em>roverlay</em> determines whether a given event is permitted
+(<a class="reference internal" href="#event-policy">event policy</a>) and, if so, creates a <a class="reference internal" href="#hook-environment">hook environment</a> and runs the
+script. Additionally, shell scripts can load <em>roverlay's</em> <em>$FUNCTIONS</em> file,
+which provides extra functionality.</p>
+<div class="note">
+<p class="first admonition-title">Note</p>
+<p class="last"><em>roverlay</em> waits until the script terminates and thus possibly waits
+forever.</p>
+</div>
+<div class="section" id="default-event-script">
+<h2><a class="toc-backref" href="#contents">9.1&nbsp;&nbsp;&nbsp;Default event script</a></h2>
+<p>The default event script (<tt class="docutils literal">mux.sh</tt>) loads <em>$FUNCTIONS</em> and then runs the
+following script files (by sourcing them), in order:</p>
+<ol class="arabic simple">
+<li>all files from <a class="reference internal" href="#additions-dir">ADDITIONS_DIR</a>/hooks/&lt;event&gt; that end with <em>.sh</em>
+(<tt class="docutils literal"><span class="pre">&lt;ADDITIONS_DIR&gt;/hooks/&lt;event&gt;/*.sh</span></tt>)</li>
+<li>all files <a class="reference internal" href="#additions-dir">ADDITIONS_DIR</a>/hooks that end with <em>.&lt;event&gt;</em>
+(<tt class="docutils literal"><span class="pre">&lt;ADDITIONS_DIR&gt;/hooks/*.&lt;event&gt;</span></tt>)</li>
+</ol>
+<p>So, there are two naming schemes for <em>hook scripts</em>.
+Either one is acceptable, but it is advised to stay consistent.
+Having the same script at both locations results in executing it twice.</p>
+<div class="note">
+<p class="first admonition-title">Note</p>
+<p class="last">The default event script enables <em>nounset</em> behavior, which causes the
+shell command interpreter to exit abnormally if an unset variable is
+accessed.</p>
+</div>
+<div class="section" id="activating-a-hook-script">
+<h3><a class="toc-backref" href="#contents">9.1.1&nbsp;&nbsp;&nbsp;Activating a hook script</a></h3>
+<p>Activating a hook script can be done by symlinking it:</p>
+<pre class="code text literal-block">
+ln -s &lt;real script&gt; ${ADDITIONS_DIR}/hooks/&lt;event&gt;/&lt;name&gt;.sh
+# or
+ln -s &lt;real script&gt; ${ADDITIONS_DIR}/hooks/&lt;name&gt;.&lt;event&gt;
+</pre>
+</div>
+<div class="section" id="adding-a-new-hook-script">
+<h3><a class="toc-backref" href="#contents">9.1.2&nbsp;&nbsp;&nbsp;Adding a new hook script</a></h3>
+<p>As hinted before, <em>hook scripts</em> are simple shell scripts. The following
+template gives an idea of how to write them:</p>
+<pre class="code sh literal-block">
+<span class="comment">#!/bin/sh
+#set -u
+</span>
+<span class="comment"># load essential functions
+# (not necessary when using the default event script)
+</span>. <span class="literal string double">&quot;${FUNCTIONS?}&quot;</span> <span class="operator">||</span> <span class="name builtin">exit</span>
+
+<span class="comment">## load additional function files, if any
+#$lf &lt;name(s)&gt;
+</span>
+<span class="comment"># script body
+#
+# when redirecting output to $DEVNULL, use &quot;&gt;&gt;&quot; instead of &quot;&gt;&quot; as
+# $DEVNULL could be a file
+#ls &gt;&gt;${DEVNULL}
+#
+# ...
+</span>
+
+<span class="comment"># the script must not exit if everything went well (return is ok)
+</span><span class="keyword">return </span>0
+</pre>
+</div>
+</div>
+<div class="section" id="event-policy">
+<h2><a class="toc-backref" href="#contents">9.2&nbsp;&nbsp;&nbsp;Event Policy</a></h2>
+<p>The <em>event policy</em> controls whether a certain event actually triggers a script
+call or not.
+It is constructed by parsing the <a class="reference internal" href="#event-hook-restrict">EVENT_HOOK_RESTRICT</a> config option:</p>
+<ul class="simple">
+<li>a word prefixed by <tt class="docutils literal">-</tt> means <em>deny specific event</em> (-&gt; blacklist)</li>
+<li>the asterisk char <tt class="docutils literal">*</tt> (or <tt class="docutils literal">+*</tt>) sets the policy to
+<em>allow unless denied</em> (blacklist) or <em>allow all</em></li>
+<li>a word prefixed by <tt class="docutils literal">+</tt> or without a prefix char means
+<em>allow specific event</em> (-&gt; whitelist)</li>
+<li>the asterisk char with <tt class="docutils literal">-</tt> as prefix (<tt class="docutils literal"><span class="pre">-*</span></tt>) sets the policy to
+<em>deny unless allowed</em> (whitelist) or <em>deny all</em></li>
+</ul>
+<p>The policy defaults to <em>allow all</em> if <tt class="docutils literal">EVENT_HOOK_RESTRICT</tt> is not set in
+the config file. An empty string sets the policy to <em>deny all</em>.</p>
+</div>
+<div class="section" id="hook-environment">
+<h2><a class="toc-backref" href="#contents">9.3&nbsp;&nbsp;&nbsp;Hook Environment</a></h2>
+<table border="1" class="docutils">
+<caption>environment variables provided by <em>roverlay</em></caption>
+<colgroup>
+<col width="21%" />
+<col width="25%" />
+<col width="54%" />
+</colgroup>
+<thead valign="bottom">
+<tr><th class="head">variable</th>
+<th class="head">source</th>
+<th class="head">notes / description</th>
+</tr>
+</thead>
+<tbody valign="top">
+<tr><td>PATH</td>
+<td>os.environ</td>
+<td>&nbsp;</td>
+</tr>
+<tr><td>LOGNAME</td>
+<td>os.environ</td>
+<td>&nbsp;</td>
+</tr>
+<tr><td>SHLVL</td>
+<td>os.environ</td>
+<td>&nbsp;</td>
+</tr>
+<tr><td>TERM</td>
+<td>os.environ</td>
+<td>&nbsp;</td>
+</tr>
+<tr><td>HOME</td>
+<td>os.environ</td>
+<td>&nbsp;</td>
+</tr>
+<tr><td>ROVERLAY_PHASE</td>
+<td>event</td>
+<td>event that caused the script to run</td>
+</tr>
+<tr><td>OVERLAY</td>
+<td>config</td>
+<td rowspan="3">overlay directory (<a class="reference internal" href="#overlay-dir">OVERLAY_DIR</a>),
+initial working directory</td>
+</tr>
+<tr><td>S</td>
+<td><em>$OVERLAY</em></td>
+</tr>
+<tr><td>PWD</td>
+<td><em>$OVERLAY</em></td>
+</tr>
+<tr><td>DISTROOT</td>
+<td>config</td>
+<td>package mirror directory
+(<a class="reference internal" href="#overlay-distdir-root">OVERLAY_DISTDIR_ROOT</a>)</td>
+</tr>
+<tr><td>TMPDIR</td>
+<td>os.environ,
+<em>fallback</em></td>
+<td rowspan="2">directory for temporary files</td>
+</tr>
+<tr><td>T</td>
+<td><em>$TMPDIR</em></td>
+</tr>
+<tr><td>ADDITIONS_DIR</td>
+<td>config</td>
+<td rowspan="2">directory with supplementary files
+(<a class="reference internal" href="#overlay-additions-dir">OVERLAY_ADDITIONS_DIR</a>)</td>
+</tr>
+<tr><td>FILESDIR</td>
+<td><em>$ADDITIONS_DIR</em></td>
+</tr>
+<tr><td>SHLIB</td>
+<td><em>$ADDITIONS_DIR</em>,
+<em>installed?</em></td>
+<td>A list of directories with shell
+function files
+(optional, only set if any dir exists)</td>
+</tr>
+<tr><td>FUNCTIONS</td>
+<td><em>$ADDITIONS_DIR</em>,
+<em>installed?</em></td>
+<td>file with essential shell functions
+(optional, only set if it exists)</td>
+</tr>
+<tr><td>DEBUG</td>
+<td>log level</td>
+<td><em>shbool</em> (<tt class="docutils literal">y</tt> or <tt class="docutils literal">n</tt>) that
+indicates whether debug messages should
+be printed</td>
+</tr>
+<tr><td>VERBOSE</td>
+<td>log level</td>
+<td><em>shbool</em></td>
+</tr>
+<tr><td>QUIET</td>
+<td>log level</td>
+<td><em>shbool</em> that indicates whether scripts
+should be quiet</td>
+</tr>
+<tr><td>NO_COLOR</td>
+<td><em>n/a</em></td>
+<td><em>shbool</em>. Always set to <em>y</em> since
+colored output should not be produced</td>
+</tr>
+<tr><td>NOSYNC</td>
+<td>config</td>
+<td><em>shbool</em> that indicates whether data
+transfers from/to remote machines is
+allowed (<a class="reference internal" href="#nosync">NOSYNC</a>)</td>
+</tr>
+<tr><td>EBUILD</td>
+<td>config</td>
+<td>the <em>ebuild</em> executable</td>
+</tr>
+<tr><td>GIT_EDITOR</td>
+<td><em>n/a</em></td>
+<td rowspan="2">set to <em>/bin/false</em></td>
+</tr>
+<tr><td>GIT_ASKPASS</td>
+<td><em>n/a</em></td>
+</tr>
+</tbody>
+</table>
+<p>The default <em>essential shell functions</em> file (<em>$FUNCTIONS</em>) makes,
+when included in the hook script, most of the enviroment variables readonly.</p>
+<table border="1" class="docutils">
+<caption>variables provided by <em>$FUNCTIONS</em></caption>
+<colgroup>
+<col width="24%" />
+<col width="76%" />
+</colgroup>
+<thead valign="bottom">
+<tr><th class="head">variable</th>
+<th class="head">description</th>
+</tr>
+</thead>
+<tbody valign="top">
+<tr><td>IFS_DEFAULT</td>
+<td>default <em>internal field separator</em></td>
+</tr>
+<tr><td>IFS_NEWLINE</td>
+<td><em>IFS</em> for iterating over text lines</td>
+</tr>
+<tr><td>DEVNULL</td>
+<td><em>/dev/null</em> target (could also be a file)</td>
+</tr>
+<tr><td>EX_ERR</td>
+<td>default error exit code</td>
+</tr>
+<tr><td>EX_ARG_ERR</td>
+<td>default exit code for arg errors</td>
+</tr>
+<tr><td>SCRIPT_FILENAME</td>
+<td>file name of the hook script</td>
+</tr>
+<tr><td>SCRIPT_NAME</td>
+<td>name of the hook script (without file extension)</td>
+</tr>
+<tr><td>lf</td>
+<td>reference to a function that loads additional shell
+function files</td>
+</tr>
+</tbody>
+</table>
+<p><em>$FUNCTIONS</em> also provides a number of shell functions:</p>
+<pre class="code sh literal-block">
+<span class="comment"># --- message ---
+#
+# void veinfo ( message )
+#  Prints a message to stdout if $DEBUG is set to 'y'.
+#
+# void einfo  ( message )
+#  Prints a message to stdout if $VERBOSE is set to 'y'.
+#
+# void ewarn  ( message )
+#  Prints a message to stderr unless $QUIET is set to 'y'.
+#
+# void eerror ( message )
+#  Prints a message to stderr.
+#
+#
+# --- core ---
+#
+# &#64;noreturn die ( [message], [exit_code] ), raises exit()
+#  Lets the script die with the given message/exit code.
+#
+# &#64;noreturn OUT_OF_BOUNDS(), raises die()
+#  Lets the script die due to insufficient arg count.
+#
+# int run_command ( *cmdv )
+#  Logs a command and runs it afterwards.
+#
+# int run_command_logged ( *cmdv )
+#  Logs a command, runs it and logs the result.
+#
+# void autodie ( *cmdv ), raises die()
+#  Runs a command. Lets the script die if the command fails.
+#
+#
+# void load_functions ( *filenames, **SHLIB ), raises die()
+#  Loads additional shell functions file(s) from $SHLIB.
+#  (Referenced by $lf.)
+#
+# void dont_run_as_root(), raises die()
+#  Lets the script die if it is run as root.
+#
+# int list_has ( word, *list_items )
+#  Returns 0 if $word is in the given list, else 1.
+#
+# int qwhich ( *command )
+#  Returns 0 if all listed commands are found by &quot;which&quot;, else 1.
+#
+#
+# --- fs ---
+#
+# int dodir ( *dir )
+#  Ensures that zero or more directories exist by creating them if
+#  necessary. Returns the number of directories that could not be created.
+#
+#
+# --- str ---
+#
+# int yesno ( word, **YESNO_YES=0, **YESNO_NO=1, **YESNO_EMPTY=2 )
+#  Returns $YESNO_YES if $word means &quot;yes&quot;, $YESNO_EMPTY if $word is empty
+#  and $YESNO_NO otherwise (if $word probably means &quot;no&quot;).
+#
+# ~int str_trim ( *args )
+#  Removes whitespace at the beginning and end of a string and replaces
+#  any whitespace sequence within the string with a single space char.
+#  Passes the return value of the underlying sed command.
+#
+# ~int str_upper ( *args )
+#  Echoes the uppercase variant of stdin or *args.
+#  Passes tr's return value.
+#
+# ~int str_lower ( *args )
+#  Echoes the lowercase variant of stdin or *args.
+#  Passes tr's return value.
+#
+# ~int str_field ( fieldspec, *args, **FIELD_SEPARATOR=' ' )
+#  Echoes the requested fields of stdin or *args.
+#  Passes cut's return value.
+#
+#
+# --- int ---
+#
+# int is_int ( word )
+#  Returns 0 if $word is an integer, else 1.
+#
+# int is_natural ( word )
+#  Returns 0 if $word is an integer &gt;= 0, else 1.
+#
+# int is_positive ( word )
+#  Returns 0 if $word is an integer &gt;= 1, else 1.
+#
+# int is_negative ( word )
+#  Returns 0 if $word is an integer &lt; 0, else 1.
+#</span>
+</pre>
+</div>
+<div class="section" id="adding-a-function-file">
+<h2><a class="toc-backref" href="#contents">9.4&nbsp;&nbsp;&nbsp;Adding a function file</a></h2>
+<p>Function files are shell script files that provide functions and variables.
+They should, however, not execute any code directly.</p>
+<p>The template below illustrates how to write function files:</p>
+<pre class="code sh literal-block">
+<span class="comment"># protect against repeated inclusion of this file
+# (replace &lt;name&gt; with a unique identifier)
+</span><span class="keyword">if</span> <span class="operator">[</span> -z <span class="literal string double">&quot;${__HAVE_&lt;name&gt;__-}&quot;</span> <span class="operator">]</span>; <span class="keyword">then
+</span><span class="name builtin">readonly </span>__HAVE_&lt;name&gt;__<span class="operator">=</span>y
+
+<span class="comment"># function file body
+# ...
+</span>
+<span class="keyword">fi</span>
+</pre>
+<p>Shell function files should be put into <tt class="docutils literal"><span class="pre">&lt;ADDITIONS_DIR&gt;/shlib</span></tt>.</p>
+</div>
+<div class="section" id="adding-a-hook-event">
+<h2><a class="toc-backref" href="#contents">9.5&nbsp;&nbsp;&nbsp;Adding a hook event</a></h2>
+<p>Adding a new event has to be done in <em>roverlay's</em> source code and is a rather
+trivial task. The <tt class="docutils literal">roverlay.hook</tt> module implements a function for running
+the event script:</p>
+<pre class="code python literal-block">
+<span class="comment"># import hook module</span>
+<span class="keyword namespace">import</span> <span class="name namespace">roverlay.hook</span>
+
+<span class="comment"># ...</span>
+<span class="comment"># then, somewhere in the code</span>
+<span class="name">roverlay</span><span class="operator">.</span><span class="name">hook</span><span class="operator">.</span><span class="name">run</span> <span class="punctuation">(</span> <span class="literal string">&quot;&lt;event&gt;&quot;</span> <span class="punctuation">)</span>
+<span class="comment"># ...</span>
+<span class="name">roverlay</span><span class="operator">.</span><span class="name">hook</span><span class="operator">.</span><span class="name">run</span> <span class="punctuation">(</span> <span class="literal string">&quot;&lt;another event&gt;&quot;</span> <span class="punctuation">)</span>
+</pre>
+</div>
+</div>
 <div class="section" id="configuration-reference">
-<h1><a class="toc-backref" href="#contents">9&nbsp;&nbsp;&nbsp;Configuration Reference</a></h1>
+<h1><a class="toc-backref" href="#contents">10&nbsp;&nbsp;&nbsp;Configuration Reference</a></h1>
 <p>The main config file uses '&lt;option&gt; = &lt;value&gt;' syntax, comment lines start
 with <strong>#</strong>. Variable substitution (&quot;${X}&quot;) is not supported. Quotes around
 the value are optional and allow to span long values over multiple lines.
@@ -2191,7 +2611,15 @@ restrictions. Commenting it out is safe.</dd>
 </dl>
 <p>The following sections will list all config entries.</p>
 <div class="section" id="misc-options">
-<h2><a class="toc-backref" href="#contents">9.1&nbsp;&nbsp;&nbsp;misc options</a></h2>
+<h2><a class="toc-backref" href="#contents">10.1&nbsp;&nbsp;&nbsp;misc options</a></h2>
+<dl class="docutils" id="cachedir">
+<dt>CACHEDIR</dt>
+<dd><p class="first">Directory for persistent files that don't belong to the overlay, e.g.
+the distmap file.</p>
+<p>This option is <strong>required</strong>.</p>
+<p class="last">&lt;&lt;TODO: default value!&gt;&gt;</p>
+</dd>
+</dl>
 <dl class="docutils" id="distfiles">
 <dt>DISTFILES</dt>
 <dd>Alias to <a class="reference internal" href="#distfiles-root">DISTFILES_ROOT</a>.</dd>
@@ -2217,6 +2645,13 @@ set.</p>
 <p class="last">Defaults to <em>ebuild</em>, which should be fine in most cases.</p>
 </dd>
 </dl>
+<dl class="docutils" id="nosync">
+<dt>NOSYNC</dt>
+<dd><p class="first">A <em>bool</em> that controls whether <em>syncing</em>, i.e. data transfers from/to
+remote machines, is allowed or forbidden.</p>
+<p class="last">Defaults to <em>no</em>.</p>
+</dd>
+</dl>
 <dl class="docutils" id="rsync-bwlimit">
 <dt>RSYNC_BWLIMIT</dt>
 <dd><p class="first">Set a max. average bandwidth usage in kilobytes per second.
@@ -2226,7 +2661,7 @@ This will pass '--bwlimit=&lt;value&gt;' to all rsync commands.</p>
 </dl>
 </div>
 <div class="section" id="overlay-options">
-<h2><a class="toc-backref" href="#contents">9.2&nbsp;&nbsp;&nbsp;overlay options</a></h2>
+<h2><a class="toc-backref" href="#contents">10.2&nbsp;&nbsp;&nbsp;overlay options</a></h2>
 <dl class="docutils" id="additions-dir">
 <dt>ADDITIONS_DIR:</dt>
 <dd>Alias to <a class="reference internal" href="#overlay-additions-dir">OVERLAY_ADDITIONS_DIR</a>.</dd>
@@ -2247,6 +2682,18 @@ This will pass '--bwlimit=&lt;value&gt;' to all rsync commands.</p>
 <dt>DISTDIR_STRATEGY</dt>
 <dd>Alias to <a class="reference internal" href="#overlay-distdir-strategy">OVERLAY_DISTDIR_STRATEGY</a>.</dd>
 </dl>
+<dl class="docutils" id="distdir-verify">
+<dt>DISTDIR_VERIFY</dt>
+<dd>Alias to <a class="reference internal" href="#overlay-distdir-verify">OVERLAY_DISTDIR_VERIFY</a>.</dd>
+</dl>
+<dl class="docutils" id="distmap-compression">
+<dt>DISTMAP_COMPRESSION</dt>
+<dd>Alias to <a class="reference internal" href="#overlay-distmap-compression">OVERLAY_DISTMAP_COMPRESSION</a>.</dd>
+</dl>
+<dl class="docutils" id="distmap-file">
+<dt>DISTMAP_FILE</dt>
+<dd>Alias to <a class="reference internal" href="#overlay-distmap-file">OVERLAY_DISTMAP_FILE</a>.</dd>
+</dl>
 <dl class="docutils" id="ebuild-use-expand-name">
 <dt>EBUILD_USE_EXPAND_NAME</dt>
 <dd>Name of the R_SUGGESTS USE_EXPAND variable. Defaults to <em>R_SUGGESTS</em>.</dd>
@@ -2349,6 +2796,27 @@ This method is not compatible with any of the above.</td>
 config file, &quot;hardlink symlink&quot;.</p>
 </dd>
 </dl>
+<dl class="docutils" id="overlay-distdir-verify">
+<dt>OVERLAY_DISTDIR_VERIFY</dt>
+<dd><p class="first">A <em>bool</em> that controls whether file integrity of <em>OVERLAY_DISTDIR_ROOT</em>
+should be checked on startup. This is an expensive operation since each
+file have to be read once.</p>
+<p class="last">Defaults to <em>no</em> as the verification is normally not needed.</p>
+</dd>
+</dl>
+<dl class="docutils" id="overlay-distmap-compression">
+<dt>OVERLAY_DISTMAP_COMPRESSION</dt>
+<dd><p class="first">Compression format for the distmap file. Choices are none, gzip/gz and
+bzip2/bz2.</p>
+<p class="last">Defaults to bzip2.</p>
+</dd>
+</dl>
+<dl class="docutils" id="overlay-distmap-file">
+<dt>OVERLAY_DISTMAP_FILE:</dt>
+<dd><p class="first">File path to the distmap file.</p>
+<p class="last">Defaults to &lt;not set&gt;, which results in <a class="reference internal" href="#cachedir">CACHEDIR</a>/distmap.db.</p>
+</dd>
+</dl>
 <dl class="docutils" id="overlay-eclass">
 <dt>OVERLAY_ECLASS</dt>
 <dd><p class="first">A list of eclass files that will be imported into the overlay and inherited
@@ -2398,7 +2866,7 @@ writing.</p>
 </dl>
 </div>
 <div class="section" id="other-config-files">
-<h2><a class="toc-backref" href="#contents">9.3&nbsp;&nbsp;&nbsp;other config files</a></h2>
+<h2><a class="toc-backref" href="#contents">10.3&nbsp;&nbsp;&nbsp;other config files</a></h2>
 <p>Some config config options are split from the main config file for various
 reasons:</p>
 <ul class="simple">
@@ -2476,8 +2944,45 @@ much without dependency resolution.</p>
 <dd>Alias to <a class="reference internal" href="#ebuild-use-expand-rename">EBUILD_USE_EXPAND_RENAME</a>.</dd>
 </dl>
 </div>
+<div class="section" id="shell-environment-hooks">
+<h2><a class="toc-backref" href="#contents">10.4&nbsp;&nbsp;&nbsp;shell environment / hooks</a></h2>
+<dl class="docutils" id="event-hook">
+<dt>EVENT_HOOK</dt>
+<dd><p class="first">A script that is called for handling <em>events</em> (see <a class="reference internal" href="#event-hooks">Event Hooks</a>).</p>
+<p class="last">Defaults to &lt;libexec dir&gt;/hooks/mux.sh if roverlay has been installed
+and <a class="reference internal" href="#additions-dir">ADDITIONS_DIR</a>/hooks/mux.sh otherwise.</p>
+</dd>
+</dl>
+<dl class="docutils" id="event-hook-restrict">
+<dt>EVENT_HOOK_RESTRICT</dt>
+<dd><p class="first">A list of <em>events</em> that are allowed (<tt class="docutils literal">&lt;event&gt;</tt>, <tt class="docutils literal">+&lt;event&gt;</tt>) or
+forbidden (<tt class="docutils literal"><span class="pre">-&lt;event&gt;</span></tt>). The asterisk wildcard character can be used to
+set the default policy to <em>allow unless forbidden</em> (<tt class="docutils literal">*</tt>) or
+<em>deny unless allowed</em> (<tt class="docutils literal"><span class="pre">-*</span></tt>).</p>
+<p>Defaults to &lt;not set&gt;, which is equivalent to <em>deny all</em>.</p>
+<p class="last"><tt class="docutils literal"><span class="pre">EVENT_HOOK_RESTRICT=&quot;overlay_success&quot;</span></tt> would allow the <tt class="docutils literal">overlay_success</tt>
+event only, whereas <tt class="docutils literal"><span class="pre">EVENT_HOOK_RESTRICT=&quot;*</span> <span class="pre">-overlay_success&quot;</span></tt> would
+allow any event except for <tt class="docutils literal">overlay_success</tt>. Also see <a class="reference internal" href="#event-policy">event policy</a>.</p>
+</dd>
+</dl>
+<dl class="docutils" id="filter-shell-env">
+<dt>FILTER_SHELL_ENV</dt>
+<dd><p class="first">A <em>bool</em> that controls whether the hook environment should be filtered
+or not.</p>
+<p class="last">Defaults to <em>true</em>.</p>
+</dd>
+</dl>
+<dl class="docutils" id="hook">
+<dt>HOOK</dt>
+<dd>Alias to <a class="reference internal" href="#event-hook">EVENT_HOOK</a>.</dd>
+</dl>
+<dl class="docutils" id="hook-restrict">
+<dt>HOOK_RESTRICT</dt>
+<dd>Alias to <a class="reference internal" href="#event-hook-restrict">EVENT_HOOK_RESTRICT</a>.</dd>
+</dl>
+</div>
 <div class="section" id="logging">
-<h2><a class="toc-backref" href="#contents">9.4&nbsp;&nbsp;&nbsp;logging</a></h2>
+<h2><a class="toc-backref" href="#contents">10.5&nbsp;&nbsp;&nbsp;logging</a></h2>
 <dl class="docutils" id="log-date-format">
 <dt>LOG_DATE_FORMAT</dt>
 <dd><p class="first">The date format (ISO8601) used in log messages.</p>
@@ -2502,7 +3007,7 @@ have  their own log level.</p>
 </dd>
 </dl>
 <div class="section" id="console-logging">
-<h3><a class="toc-backref" href="#contents">9.4.1&nbsp;&nbsp;&nbsp;console logging</a></h3>
+<h3><a class="toc-backref" href="#contents">10.5.1&nbsp;&nbsp;&nbsp;console logging</a></h3>
 <dl class="docutils" id="log-console">
 <dt>LOG_CONSOLE</dt>
 <dd><p class="first">Enables/Disables logging to console. The value has to be a <em>bool</em>.</p>
@@ -2523,7 +3028,7 @@ have  their own log level.</p>
 </dl>
 </div>
 <div class="section" id="file-logging">
-<h3><a class="toc-backref" href="#contents">9.4.2&nbsp;&nbsp;&nbsp;file logging</a></h3>
+<h3><a class="toc-backref" href="#contents">10.5.2&nbsp;&nbsp;&nbsp;file logging</a></h3>
 <dl class="docutils" id="log-file">
 <dt>LOG_FILE</dt>
 <dd><p class="first">Sets the log file. File logging will be disabled if this option does not
@@ -2582,7 +3087,7 @@ files will be kept.</p>
 </div>
 </div>
 <div class="section" id="options-for-debugging-manual-dependency-rule-creation-and-testing">
-<h2><a class="toc-backref" href="#contents">9.5&nbsp;&nbsp;&nbsp;options for debugging, manual dependency rule creation and testing</a></h2>
+<h2><a class="toc-backref" href="#contents">10.6&nbsp;&nbsp;&nbsp;options for debugging, manual dependency rule creation and testing</a></h2>
 <dl class="docutils" id="description-dir">
 <dt>DESCRIPTION_DIR</dt>
 <dd><p class="first">A directory where all description data read from an R package will be
@@ -2601,9 +3106,9 @@ on <em>roverlay</em> exit. Primarily useful for creating new rules.</p>
 </div>
 </div>
 <div class="section" id="id3">
-<h1><a class="toc-backref" href="#contents">10&nbsp;&nbsp;&nbsp;Other config files</a></h1>
+<h1><a class="toc-backref" href="#contents">11&nbsp;&nbsp;&nbsp;Other config files</a></h1>
 <div class="section" id="use-expand-flag-rename-file">
-<h2><a class="toc-backref" href="#contents">10.1&nbsp;&nbsp;&nbsp;USE_EXPAND flag rename file</a></h2>
+<h2><a class="toc-backref" href="#contents">11.1&nbsp;&nbsp;&nbsp;USE_EXPAND flag rename file</a></h2>
 <p>The <a class="reference internal" href="#use-expand-rename">USE_EXPAND_RENAME</a> file contains dictionary-like entries that assign
 <em>effective</em> flag names to flag names generated at runtime.</p>
 <p>The syntax is as follows:</p>
@@ -2637,7 +3142,7 @@ unpredictable results.</p>
 </div>
 </div>
 <div class="section" id="field-definition-config">
-<span id="id4"></span><h2><a class="toc-backref" href="#contents">10.2&nbsp;&nbsp;&nbsp;Field Definition Config</a></h2>
+<span id="id4"></span><h2><a class="toc-backref" href="#contents">11.2&nbsp;&nbsp;&nbsp;Field Definition Config</a></h2>
 <p>The field definition file uses <a class="reference external" href="http://docs.python.org/library/configparser.html">ConfigParser</a> syntax and defines
 how an R package's DESCRIPTION file is read.
 See the next section, <a class="reference internal" href="#default-field-definition-file">default field definition file</a>,  for an example.</p>
@@ -2719,7 +3224,7 @@ such a field is found.</dd>
 <p class="last">It is not checked whether a flag is known or not.</p>
 </div>
 <div class="section" id="example-the-default-field-definition-file">
-<span id="default-field-definition-file"></span><h3><a class="toc-backref" href="#contents">10.2.1&nbsp;&nbsp;&nbsp;Example: The default field definition file</a></h3>
+<span id="default-field-definition-file"></span><h3><a class="toc-backref" href="#contents">11.2.1&nbsp;&nbsp;&nbsp;Example: The default field definition file</a></h3>
 <p>This is the default field definition file (without any ignored fields):</p>
 <pre class="code ini literal-block">
 <span class="keyword">[Description]</span>
@@ -2756,7 +3261,7 @@ such a field is found.</dd>
 </div>
 </div>
 <div class="section" id="dependency-resolution-console">
-<span id="depres-console"></span><h1><a class="toc-backref" href="#contents">11&nbsp;&nbsp;&nbsp;Dependency Resolution Console</a></h1>
+<span id="depres-console"></span><h1><a class="toc-backref" href="#contents">12&nbsp;&nbsp;&nbsp;Dependency Resolution Console</a></h1>
 <p>As previously stated, the <em>DepRes Console</em> is only meant for <strong>testing</strong>.
 It is an interactive console with the following features:</p>
 <ul class="simple">
@@ -2914,13 +3419,13 @@ cmd % exit
 </dl>
 </div>
 <div class="section" id="implementation-overview">
-<h1><a class="toc-backref" href="#contents">12&nbsp;&nbsp;&nbsp;Implementation Overview</a></h1>
+<h1><a class="toc-backref" href="#contents">13&nbsp;&nbsp;&nbsp;Implementation Overview</a></h1>
 <p>This chapter gives an in-depth overview of how roverlay works.
 Code documentation is also available and html pages for it can be created
 with <tt class="docutils literal">make pydoc</tt> in the <em>R Overlay src directory</em> or by using pydoc
 directly.</p>
 <div class="section" id="packageinfo">
-<h2><a class="toc-backref" href="#contents">12.1&nbsp;&nbsp;&nbsp;PackageInfo</a></h2>
+<h2><a class="toc-backref" href="#contents">13.1&nbsp;&nbsp;&nbsp;PackageInfo</a></h2>
 <p><em>PackageInfo</em> is the data object that contains all information about an
 R package and is created by the owning repository.</p>
 <p>After initialization it contains data like</p>
@@ -2941,7 +3446,7 @@ for it. Otherwise, <em>p</em> is now part of the overlay and has to pass
 <em>ebuild creation</em>.</p>
 </div>
 <div class="section" id="repository-management">
-<h2><a class="toc-backref" href="#contents">12.2&nbsp;&nbsp;&nbsp;Repository Management</a></h2>
+<h2><a class="toc-backref" href="#contents">13.2&nbsp;&nbsp;&nbsp;Repository Management</a></h2>
 <p>Repositories are managed in a list-like object, <em>RepoList</em>. Its task is to
 provide R package input for overlay creation and implements the following
 functionality:</p>
@@ -2952,7 +3457,7 @@ functionality:</p>
 <li>create <em>PackageInfo</em> instances for R packages from all repositories</li>
 </ul>
 <div class="section" id="repository">
-<h3><a class="toc-backref" href="#contents">12.2.1&nbsp;&nbsp;&nbsp;Repository</a></h3>
+<h3><a class="toc-backref" href="#contents">13.2.1&nbsp;&nbsp;&nbsp;Repository</a></h3>
 <p>The functionality described above is an abstraction layer that calls the
 respective function for each repository and collects the result.
 So, while the <em>RepoList</em> object knows <em>what</em> to do for all repositories,
@@ -2993,7 +3498,7 @@ subclass-specifc <em>_sync()</em>/<em>_nosync()</em> functions if available.
 repository types, <em>rsync</em>, <em>websync_repo</em> and <em>websync_pkglist</em> derive from
 <em>BasicRepo</em>.</p>
 <div class="section" id="adding-new-repository-types">
-<h4><a class="toc-backref" href="#contents">12.2.1.1&nbsp;&nbsp;&nbsp;Adding new repository types</a></h4>
+<h4><a class="toc-backref" href="#contents">13.2.1.1&nbsp;&nbsp;&nbsp;Adding new repository types</a></h4>
 <p>Adding new repository types is best done by creating a new repo class
 that inherits <em>BasicRepo</em>. The table below shows <em>BasicRepo</em>'s subclass
 awareness concerning <em>sync()</em> and what may be changed if required.
@@ -3080,7 +3585,7 @@ to be accessible.</p>
 </div>
 </div>
 <div class="section" id="overlay">
-<h2><a class="toc-backref" href="#contents">12.3&nbsp;&nbsp;&nbsp;Overlay</a></h2>
+<h2><a class="toc-backref" href="#contents">13.3&nbsp;&nbsp;&nbsp;Overlay</a></h2>
 <p>The <em>overlay</em> is roverlay's central data structure that represents a <em>portage
 overlay</em>. It is organized in a tree structure (overlay root, categories,
 package directories) and implements all overlay-related functionality:</p>
@@ -3111,7 +3616,7 @@ level</p>
 </li>
 </ul>
 <div class="section" id="metadata-creation">
-<h3><a class="toc-backref" href="#contents">12.3.1&nbsp;&nbsp;&nbsp;Metadata Creation</a></h3>
+<h3><a class="toc-backref" href="#contents">13.3.1&nbsp;&nbsp;&nbsp;Metadata Creation</a></h3>
 <p><em>metadata.xml</em> files are created with a tree structure that contains <em>metadata
 nodes</em>, e.g. '&lt;pkgmetadata&gt;...&lt;/pkgmetadata&gt;' and '&lt;use&gt;...&lt;/use&gt;' are <em>nodes</em>.
 The current implementation writes the R package's full description
@@ -3120,7 +3625,7 @@ Metadata creation uses the latest package, i.e. highest version,
 for which an ebuild has been created.</p>
 </div>
 <div class="section" id="manifest-creation">
-<h3><a class="toc-backref" href="#contents">12.3.2&nbsp;&nbsp;&nbsp;Manifest Creation</a></h3>
+<h3><a class="toc-backref" href="#contents">13.3.2&nbsp;&nbsp;&nbsp;Manifest Creation</a></h3>
 <p>Manifest files are created by calling the <em>ebuild</em> executable for each
 package directory in a filtered environment where FETCHCOMMAND and
 RESUMECOMMAND are set to no-operation. The directories that contain the R
@@ -3129,7 +3634,7 @@ is set to <a class="reference internal" href="#distfiles-root">DISTFILES_ROOT</a
 </div>
 </div>
 <div class="section" id="ebuild-creation">
-<h2><a class="toc-backref" href="#contents">12.4&nbsp;&nbsp;&nbsp;Ebuild Creation</a></h2>
+<h2><a class="toc-backref" href="#contents">13.4&nbsp;&nbsp;&nbsp;Ebuild Creation</a></h2>
 <p>Ebuild creation is the process centered around one <em>PackageInfo</em> instance <em>p</em>
 that tries to create an ebuild for it.</p>
 <p>It does the following steps:</p>
@@ -3148,7 +3653,7 @@ order to save memory etc.</li>
 as <em>ebuild successfully created</em></li>
 </ol>
 <div class="section" id="ebuild-variables">
-<h3><a class="toc-backref" href="#contents">12.4.1&nbsp;&nbsp;&nbsp;Ebuild Variables</a></h3>
+<h3><a class="toc-backref" href="#contents">13.4.1&nbsp;&nbsp;&nbsp;Ebuild Variables</a></h3>
 <p>Each ebuild variable is an object whose class is derived from the <em>EbuildVar</em>
 class. An <em>EbuildVar</em> defines its position in the ebuild and  how its text
 output should look like. Ebuild text is created by adding ebuild variables
@@ -3156,7 +3661,7 @@ to an <em>Ebuilder</em> that automatically sorts them and creates the ebuild.</p
 </div>
 </div>
 <div class="section" id="overlay-creation">
-<h2><a class="toc-backref" href="#contents">12.5&nbsp;&nbsp;&nbsp;Overlay Creation</a></h2>
+<h2><a class="toc-backref" href="#contents">13.5&nbsp;&nbsp;&nbsp;Overlay Creation</a></h2>
 <p>Overlay creation is the process of creating an overlay for many R packages
 and <em>roverlay</em>'s main task. More specifically, <em>OverlayCreation</em> is an
 <em>R packages -&gt; Overlay (-&gt; overlay in filesystem)</em> interface.
@@ -3170,7 +3675,7 @@ instead the event is logged. Running more than one <em>OverlayWorker</em> in par
 is possible.</p>
 </div>
 <div class="section" id="dependency-resolution">
-<h2><a class="toc-backref" href="#contents">12.6&nbsp;&nbsp;&nbsp;Dependency Resolution</a></h2>
+<h2><a class="toc-backref" href="#contents">13.6&nbsp;&nbsp;&nbsp;Dependency Resolution</a></h2>
 <p>Each ebuild creation process has access to the <em>dependency resolver</em> that
 accepts <em>dependency strings</em>, tries to resolve them and returns the result,
 either &quot;unresolvable&quot; or the resolving <em>dependency</em> as
@@ -3192,7 +3697,7 @@ all <em>required dependencies</em>. No ebuild can be created in that case.</li>
 <p>Details about dependency resolution like how <em>channels</em> work can be found
 in the following subsections.</p>
 <div class="section" id="dependency-types">
-<h3><a class="toc-backref" href="#contents">12.6.1&nbsp;&nbsp;&nbsp;Dependency types</a></h3>
+<h3><a class="toc-backref" href="#contents">13.6.1&nbsp;&nbsp;&nbsp;Dependency types</a></h3>
 <p>Every <em>dependency string</em> has a <em>dependency type</em> that declares how a
 dependency should be resolved. It has one or more of these properties:</p>
 <dl class="docutils">
@@ -3221,7 +3726,7 @@ The <em>Suggests</em> field, for example, gets the
 <em>&quot;package dependency only and optional&quot;</em> type, whereas the <em>SystemRequirements</em>
 gets <em>&quot;system dependency, but try others, and mandatory&quot;</em>.</p>
 <div class="section" id="description-file-dependency-fields">
-<h4><a class="toc-backref" href="#contents">12.6.1.1&nbsp;&nbsp;&nbsp;DESCRIPTION file dependency fields</a></h4>
+<h4><a class="toc-backref" href="#contents">13.6.1.1&nbsp;&nbsp;&nbsp;DESCRIPTION file dependency fields</a></h4>
 <p>The DESCRIPTION file of an R package contains several fields that list
 dependencies on R packages or other software like scientific libraries.
 This section describes which <em>dependency fields</em> are used and how.</p>
@@ -3280,7 +3785,7 @@ but optional dependencies during the <em>pkg_postinst()</em> ebuild phase.</p>
 </div>
 </div>
 <div class="section" id="dependency-environments">
-<h3><a class="toc-backref" href="#contents">12.6.2&nbsp;&nbsp;&nbsp;Dependency Environments</a></h3>
+<h3><a class="toc-backref" href="#contents">13.6.2&nbsp;&nbsp;&nbsp;Dependency Environments</a></h3>
 <p>A <em>dependency environment</em> is an object that reflects the whole dependency
 resolution process of a single <em>dependency string</em>. It usually contains
 the <em>dependency string</em>, its <em>dependency type</em>, information about its
@@ -3290,7 +3795,7 @@ resolving resolving <em>dependency</em>, if any.</p>
 <em>dependency resolver</em>.</p>
 </div>
 <div class="section" id="ebuildjob-channel">
-<h3><a class="toc-backref" href="#contents">12.6.3&nbsp;&nbsp;&nbsp;EbuildJob Channel</a></h3>
+<h3><a class="toc-backref" href="#contents">13.6.3&nbsp;&nbsp;&nbsp;EbuildJob Channel</a></h3>
 <p>The <em>EbuildJob Channel</em> is used by the ebuild creation to communicate with
 the <em>dependency resolver</em>. It is initialized by an ebuild creation process and
 realizes a greedy <em>string to string</em> dependency resolution.</p>
@@ -3327,7 +3832,7 @@ dependencies are unresolvable.</li>
 </ol>
 </div>
 <div class="section" id="dependency-rule-pools">
-<h3><a class="toc-backref" href="#contents">12.6.4&nbsp;&nbsp;&nbsp;Dependency Rule Pools</a></h3>
+<h3><a class="toc-backref" href="#contents">13.6.4&nbsp;&nbsp;&nbsp;Dependency Rule Pools</a></h3>
 <p>The <em>dependency resolver</em> does not know <em>how</em> to resolve a <em>dependency string</em>.
 Instead, it searches through a list of <em>dependency rule pools</em> that may be
 able to do this.</p>
@@ -3350,7 +3855,7 @@ R package dependencies.
 By convention, it will never resolve any system dependencies.</p>
 </div>
 <div class="section" id="dependency-resolver-modules">
-<h3><a class="toc-backref" href="#contents">12.6.5&nbsp;&nbsp;&nbsp;Dependency Resolver Modules</a></h3>
+<h3><a class="toc-backref" href="#contents">13.6.5&nbsp;&nbsp;&nbsp;Dependency Resolver Modules</a></h3>
 <p>The dependency resolver can be extended by modules. Two base types are
 available, <em>channels</em> and <em>listeners</em>.</p>
 <dl class="docutils">
@@ -3370,7 +3875,7 @@ resolution, wait for results, and send them to the other end.</p>
 </dl>
 </div>
 <div class="section" id="dependency-resolver">
-<h3><a class="toc-backref" href="#contents">12.6.6&nbsp;&nbsp;&nbsp;Dependency Resolver</a></h3>
+<h3><a class="toc-backref" href="#contents">13.6.6&nbsp;&nbsp;&nbsp;Dependency Resolver</a></h3>
 <p>The dependency resolver puts all parts of dependency resolution together,
 <em>rule pools</em>, <em>listeners</em> and <em>channels</em>. Its main task is a loop that
 processes all queued <em>dependency environments</em> and sends the result back to
@@ -3428,7 +3933,7 @@ becomes &quot;loop until resolver closes&quot;.</p>
 </div>
 <div class="footer">
 <hr class="footer" />
-Generated on: 2013-06-18.
+Generated on: 2013-06-26.
 
 </div>
 </body>


^ permalink raw reply related	[flat|nested] 9+ messages in thread
* [gentoo-commits] proj/R_overlay:gsoc13/next commit in: doc/html/
@ 2013-06-18 14:12 André Erdmann
  0 siblings, 0 replies; 9+ messages in thread
From: André Erdmann @ 2013-06-18 14:12 UTC (permalink / raw
  To: gentoo-commits

commit:     7bb0058e0639e2829eae14dd0bef98e230ef60dc
Author:     André Erdmann <dywi <AT> mailerd <DOT> de>
AuthorDate: Tue Jun 18 12:54:45 2013 +0000
Commit:     André Erdmann <dywi <AT> mailerd <DOT> de>
CommitDate: Tue Jun 18 12:54:45 2013 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/R_overlay.git;a=commit;h=7bb0058e

doc/html: r_suggests USE_EXPAND variable

---
 doc/html/usage.html | 309 +++++++++++++++++++++++++++++++++++-----------------
 1 file changed, 211 insertions(+), 98 deletions(-)

diff --git a/doc/html/usage.html b/doc/html/usage.html
index 5c4863b..9206894 100644
--- a/doc/html/usage.html
+++ b/doc/html/usage.html
@@ -329,116 +329,120 @@ ul.auto-toc {
 <div class="contents topic" id="contents">
 <p class="topic-title first">Contents</p>
 <ul class="auto-toc simple">
-<li><a class="reference internal" href="#introduction" id="id4">1&nbsp;&nbsp;&nbsp;Introduction</a></li>
-<li><a class="reference internal" href="#installation" id="id5">2&nbsp;&nbsp;&nbsp;Installation</a><ul class="auto-toc">
-<li><a class="reference internal" href="#prerequisites" id="id6">2.1&nbsp;&nbsp;&nbsp;Prerequisites</a></li>
-<li><a class="reference internal" href="#via-emerge-gentoo" id="id7">2.2&nbsp;&nbsp;&nbsp;via emerge (Gentoo)</a></li>
-<li><a class="reference internal" href="#manual-installation" id="id8">2.3&nbsp;&nbsp;&nbsp;Manual Installation</a></li>
-<li><a class="reference internal" href="#using-roverlay-without-installation" id="id9">2.4&nbsp;&nbsp;&nbsp;Using <em>roverlay</em> without installation</a></li>
+<li><a class="reference internal" href="#introduction" id="id5">1&nbsp;&nbsp;&nbsp;Introduction</a></li>
+<li><a class="reference internal" href="#installation" id="id6">2&nbsp;&nbsp;&nbsp;Installation</a><ul class="auto-toc">
+<li><a class="reference internal" href="#prerequisites" id="id7">2.1&nbsp;&nbsp;&nbsp;Prerequisites</a></li>
+<li><a class="reference internal" href="#via-emerge-gentoo" id="id8">2.2&nbsp;&nbsp;&nbsp;via emerge (Gentoo)</a></li>
+<li><a class="reference internal" href="#manual-installation" id="id9">2.3&nbsp;&nbsp;&nbsp;Manual Installation</a></li>
+<li><a class="reference internal" href="#using-roverlay-without-installation" id="id10">2.4&nbsp;&nbsp;&nbsp;Using <em>roverlay</em> without installation</a></li>
 </ul>
 </li>
-<li><a class="reference internal" href="#running-roverlay" id="id10">3&nbsp;&nbsp;&nbsp;Running Roverlay</a><ul class="auto-toc">
-<li><a class="reference internal" href="#required-configuration-steps" id="id11">3.1&nbsp;&nbsp;&nbsp;Required configuration steps</a><ul class="auto-toc">
-<li><a class="reference internal" href="#extended-configuration-where-to-go-from-here" id="id12">3.1.1&nbsp;&nbsp;&nbsp;Extended Configuration / Where to go from here?</a></li>
+<li><a class="reference internal" href="#running-roverlay" id="id11">3&nbsp;&nbsp;&nbsp;Running Roverlay</a><ul class="auto-toc">
+<li><a class="reference internal" href="#required-configuration-steps" id="id12">3.1&nbsp;&nbsp;&nbsp;Required configuration steps</a><ul class="auto-toc">
+<li><a class="reference internal" href="#extended-configuration-where-to-go-from-here" id="id13">3.1.1&nbsp;&nbsp;&nbsp;Extended Configuration / Where to go from here?</a></li>
 </ul>
 </li>
-<li><a class="reference internal" href="#running-it" id="id13">3.2&nbsp;&nbsp;&nbsp;Running it</a></li>
-<li><a class="reference internal" href="#providing-a-package-mirror" id="id14">3.3&nbsp;&nbsp;&nbsp;Providing a package mirror</a></li>
+<li><a class="reference internal" href="#running-it" id="id14">3.2&nbsp;&nbsp;&nbsp;Running it</a></li>
+<li><a class="reference internal" href="#providing-a-package-mirror" id="id15">3.3&nbsp;&nbsp;&nbsp;Providing a package mirror</a></li>
 </ul>
 </li>
-<li><a class="reference internal" href="#basic-implementation-overview" id="id15">4&nbsp;&nbsp;&nbsp;Basic Implementation Overview</a><ul class="auto-toc">
-<li><a class="reference internal" href="#how-roverlay-works" id="id16">4.1&nbsp;&nbsp;&nbsp;How <em>roverlay</em> works</a></li>
-<li><a class="reference internal" href="#expected-overlay-result-structure-of-the-generated-overlay" id="id17">4.2&nbsp;&nbsp;&nbsp;Expected Overlay Result / Structure of the generated overlay</a><ul class="auto-toc">
-<li><a class="reference internal" href="#expected-ebuild-result" id="id18">4.2.1&nbsp;&nbsp;&nbsp;Expected Ebuild Result</a></li>
-<li><a class="reference internal" href="#expected-metadata-xml-result" id="id19">4.2.2&nbsp;&nbsp;&nbsp;Expected <em>metadata.xml</em> Result</a></li>
+<li><a class="reference internal" href="#basic-implementation-overview" id="id16">4&nbsp;&nbsp;&nbsp;Basic Implementation Overview</a><ul class="auto-toc">
+<li><a class="reference internal" href="#how-roverlay-works" id="id17">4.1&nbsp;&nbsp;&nbsp;How <em>roverlay</em> works</a></li>
+<li><a class="reference internal" href="#expected-overlay-result-structure-of-the-generated-overlay" id="id18">4.2&nbsp;&nbsp;&nbsp;Expected Overlay Result / Structure of the generated overlay</a><ul class="auto-toc">
+<li><a class="reference internal" href="#expected-ebuild-result" id="id19">4.2.1&nbsp;&nbsp;&nbsp;Expected Ebuild Result</a></li>
+<li><a class="reference internal" href="#expected-metadata-xml-result" id="id20">4.2.2&nbsp;&nbsp;&nbsp;Expected <em>metadata.xml</em> Result</a></li>
 </ul>
 </li>
 </ul>
 </li>
-<li><a class="reference internal" href="#repositories-getting-packages" id="id20">5&nbsp;&nbsp;&nbsp;Repositories / Getting Packages</a><ul class="auto-toc">
-<li><a class="reference internal" href="#a-word-about-repo-config-files" id="id21">5.1&nbsp;&nbsp;&nbsp;A word about repo config files</a></li>
-<li><a class="reference internal" href="#rsync-repos" id="id22">5.2&nbsp;&nbsp;&nbsp;Rsync repos</a></li>
-<li><a class="reference internal" href="#getting-packages-from-a-repository-that-supports-http-only" id="id23">5.3&nbsp;&nbsp;&nbsp;Getting packages from a repository that supports http only</a></li>
-<li><a class="reference internal" href="#getting-packages-from-several-remotes-using-http-and-a-package-list" id="id24">5.4&nbsp;&nbsp;&nbsp;Getting packages from several remotes using http and a package list</a></li>
-<li><a class="reference internal" href="#using-local-directories" id="id25">5.5&nbsp;&nbsp;&nbsp;Using local directories</a></li>
+<li><a class="reference internal" href="#repositories-getting-packages" id="id21">5&nbsp;&nbsp;&nbsp;Repositories / Getting Packages</a><ul class="auto-toc">
+<li><a class="reference internal" href="#a-word-about-repo-config-files" id="id22">5.1&nbsp;&nbsp;&nbsp;A word about repo config files</a></li>
+<li><a class="reference internal" href="#rsync-repos" id="id23">5.2&nbsp;&nbsp;&nbsp;Rsync repos</a></li>
+<li><a class="reference internal" href="#getting-packages-from-a-repository-that-supports-http-only" id="id24">5.3&nbsp;&nbsp;&nbsp;Getting packages from a repository that supports http only</a></li>
+<li><a class="reference internal" href="#getting-packages-from-several-remotes-using-http-and-a-package-list" id="id25">5.4&nbsp;&nbsp;&nbsp;Getting packages from several remotes using http and a package list</a></li>
+<li><a class="reference internal" href="#using-local-directories" id="id26">5.5&nbsp;&nbsp;&nbsp;Using local directories</a></li>
 </ul>
 </li>
-<li><a class="reference internal" href="#additions-directory" id="id26">6&nbsp;&nbsp;&nbsp;Additions Directory</a><ul class="auto-toc">
-<li><a class="reference internal" href="#patching-ebuilds" id="id27">6.1&nbsp;&nbsp;&nbsp;Patching ebuilds</a></li>
-<li><a class="reference internal" href="#importing-ebuilds" id="id28">6.2&nbsp;&nbsp;&nbsp;Importing ebuilds</a></li>
+<li><a class="reference internal" href="#additions-directory" id="id27">6&nbsp;&nbsp;&nbsp;Additions Directory</a><ul class="auto-toc">
+<li><a class="reference internal" href="#patching-ebuilds" id="id28">6.1&nbsp;&nbsp;&nbsp;Patching ebuilds</a></li>
+<li><a class="reference internal" href="#importing-ebuilds" id="id29">6.2&nbsp;&nbsp;&nbsp;Importing ebuilds</a></li>
 </ul>
 </li>
-<li><a class="reference internal" href="#dependency-rules" id="id29">7&nbsp;&nbsp;&nbsp;Dependency Rules</a><ul class="auto-toc">
-<li><a class="reference internal" href="#simple-dependency-rules" id="id30">7.1&nbsp;&nbsp;&nbsp;Simple Dependency Rules</a><ul class="auto-toc">
-<li><a class="reference internal" href="#rule-variants" id="id31">7.1.1&nbsp;&nbsp;&nbsp;Rule Variants</a></li>
-<li><a class="reference internal" href="#rule-types" id="id32">7.1.2&nbsp;&nbsp;&nbsp;Rule types</a></li>
-<li><a class="reference internal" href="#rule-file-examples" id="id33">7.1.3&nbsp;&nbsp;&nbsp;Rule File Examples</a></li>
-<li><a class="reference internal" href="#rule-file-syntax" id="id34">7.1.4&nbsp;&nbsp;&nbsp;Rule File Syntax</a></li>
+<li><a class="reference internal" href="#dependency-rules" id="id30">7&nbsp;&nbsp;&nbsp;Dependency Rules</a><ul class="auto-toc">
+<li><a class="reference internal" href="#simple-dependency-rules" id="id31">7.1&nbsp;&nbsp;&nbsp;Simple Dependency Rules</a><ul class="auto-toc">
+<li><a class="reference internal" href="#rule-variants" id="id32">7.1.1&nbsp;&nbsp;&nbsp;Rule Variants</a></li>
+<li><a class="reference internal" href="#rule-types" id="id33">7.1.2&nbsp;&nbsp;&nbsp;Rule types</a></li>
+<li><a class="reference internal" href="#rule-file-examples" id="id34">7.1.3&nbsp;&nbsp;&nbsp;Rule File Examples</a></li>
+<li><a class="reference internal" href="#rule-file-syntax" id="id35">7.1.4&nbsp;&nbsp;&nbsp;Rule File Syntax</a></li>
 </ul>
 </li>
 </ul>
 </li>
-<li><a class="reference internal" href="#package-rules" id="id35">8&nbsp;&nbsp;&nbsp;Package Rules</a><ul class="auto-toc">
-<li><a class="reference internal" href="#package-rule-file-syntax" id="id36">8.1&nbsp;&nbsp;&nbsp;Package Rule File Syntax</a><ul class="auto-toc">
-<li><a class="reference internal" href="#match-blocks" id="id37">8.1.1&nbsp;&nbsp;&nbsp;Match Blocks</a><ul class="auto-toc">
-<li><a class="reference internal" href="#extended-match-block-syntax" id="id38">8.1.1.1&nbsp;&nbsp;&nbsp;Extended Match Block Syntax</a></li>
+<li><a class="reference internal" href="#package-rules" id="id36">8&nbsp;&nbsp;&nbsp;Package Rules</a><ul class="auto-toc">
+<li><a class="reference internal" href="#package-rule-file-syntax" id="id37">8.1&nbsp;&nbsp;&nbsp;Package Rule File Syntax</a><ul class="auto-toc">
+<li><a class="reference internal" href="#match-blocks" id="id38">8.1.1&nbsp;&nbsp;&nbsp;Match Blocks</a><ul class="auto-toc">
+<li><a class="reference internal" href="#extended-match-block-syntax" id="id39">8.1.1.1&nbsp;&nbsp;&nbsp;Extended Match Block Syntax</a></li>
 </ul>
 </li>
-<li><a class="reference internal" href="#action-blocks" id="id39">8.1.2&nbsp;&nbsp;&nbsp;Action Blocks</a><ul class="auto-toc">
-<li><a class="reference internal" href="#extended-action-block-syntax" id="id40">8.1.2.1&nbsp;&nbsp;&nbsp;Extended Action Block Syntax</a></li>
+<li><a class="reference internal" href="#action-blocks" id="id40">8.1.2&nbsp;&nbsp;&nbsp;Action Blocks</a><ul class="auto-toc">
+<li><a class="reference internal" href="#extended-action-block-syntax" id="id41">8.1.2.1&nbsp;&nbsp;&nbsp;Extended Action Block Syntax</a></li>
 </ul>
 </li>
-<li><a class="reference internal" href="#package-rule-examples" id="id41">8.1.3&nbsp;&nbsp;&nbsp;Package Rule Examples</a></li>
+<li><a class="reference internal" href="#package-rule-examples" id="id42">8.1.3&nbsp;&nbsp;&nbsp;Package Rule Examples</a></li>
 </ul>
 </li>
 </ul>
 </li>
-<li><a class="reference internal" href="#configuration-reference" id="id42">9&nbsp;&nbsp;&nbsp;Configuration Reference</a><ul class="auto-toc">
-<li><a class="reference internal" href="#misc-options" id="id43">9.1&nbsp;&nbsp;&nbsp;misc options</a></li>
-<li><a class="reference internal" href="#overlay-options" id="id44">9.2&nbsp;&nbsp;&nbsp;overlay options</a></li>
-<li><a class="reference internal" href="#other-config-files" id="id45">9.3&nbsp;&nbsp;&nbsp;other config files</a></li>
-<li><a class="reference internal" href="#logging" id="id46">9.4&nbsp;&nbsp;&nbsp;logging</a><ul class="auto-toc">
-<li><a class="reference internal" href="#console-logging" id="id47">9.4.1&nbsp;&nbsp;&nbsp;console logging</a></li>
-<li><a class="reference internal" href="#file-logging" id="id48">9.4.2&nbsp;&nbsp;&nbsp;file logging</a></li>
+<li><a class="reference internal" href="#configuration-reference" id="id43">9&nbsp;&nbsp;&nbsp;Configuration Reference</a><ul class="auto-toc">
+<li><a class="reference internal" href="#misc-options" id="id44">9.1&nbsp;&nbsp;&nbsp;misc options</a></li>
+<li><a class="reference internal" href="#overlay-options" id="id45">9.2&nbsp;&nbsp;&nbsp;overlay options</a></li>
+<li><a class="reference internal" href="#other-config-files" id="id46">9.3&nbsp;&nbsp;&nbsp;other config files</a></li>
+<li><a class="reference internal" href="#logging" id="id47">9.4&nbsp;&nbsp;&nbsp;logging</a><ul class="auto-toc">
+<li><a class="reference internal" href="#console-logging" id="id48">9.4.1&nbsp;&nbsp;&nbsp;console logging</a></li>
+<li><a class="reference internal" href="#file-logging" id="id49">9.4.2&nbsp;&nbsp;&nbsp;file logging</a></li>
 </ul>
 </li>
-<li><a class="reference internal" href="#options-for-debugging-manual-dependency-rule-creation-and-testing" id="id49">9.5&nbsp;&nbsp;&nbsp;options for debugging, manual dependency rule creation and testing</a></li>
+<li><a class="reference internal" href="#options-for-debugging-manual-dependency-rule-creation-and-testing" id="id50">9.5&nbsp;&nbsp;&nbsp;options for debugging, manual dependency rule creation and testing</a></li>
 </ul>
 </li>
-<li><a class="reference internal" href="#field-definition-config" id="id50">10&nbsp;&nbsp;&nbsp;Field Definition Config</a><ul class="auto-toc">
-<li><a class="reference internal" href="#example-the-default-field-definition-file" id="id51">10.1&nbsp;&nbsp;&nbsp;Example: The default field definition file</a></li>
+<li><a class="reference internal" href="#id3" id="id51">10&nbsp;&nbsp;&nbsp;Other config files</a><ul class="auto-toc">
+<li><a class="reference internal" href="#use-expand-flag-rename-file" id="id52">10.1&nbsp;&nbsp;&nbsp;USE_EXPAND flag rename file</a></li>
+<li><a class="reference internal" href="#field-definition-config" id="id53">10.2&nbsp;&nbsp;&nbsp;Field Definition Config</a><ul class="auto-toc">
+<li><a class="reference internal" href="#example-the-default-field-definition-file" id="id54">10.2.1&nbsp;&nbsp;&nbsp;Example: The default field definition file</a></li>
 </ul>
 </li>
-<li><a class="reference internal" href="#dependency-resolution-console" id="id52">11&nbsp;&nbsp;&nbsp;Dependency Resolution Console</a></li>
-<li><a class="reference internal" href="#implementation-overview" id="id53">12&nbsp;&nbsp;&nbsp;Implementation Overview</a><ul class="auto-toc">
-<li><a class="reference internal" href="#packageinfo" id="id54">12.1&nbsp;&nbsp;&nbsp;PackageInfo</a></li>
-<li><a class="reference internal" href="#repository-management" id="id55">12.2&nbsp;&nbsp;&nbsp;Repository Management</a><ul class="auto-toc">
-<li><a class="reference internal" href="#repository" id="id56">12.2.1&nbsp;&nbsp;&nbsp;Repository</a><ul class="auto-toc">
-<li><a class="reference internal" href="#adding-new-repository-types" id="id57">12.2.1.1&nbsp;&nbsp;&nbsp;Adding new repository types</a></li>
 </ul>
 </li>
+<li><a class="reference internal" href="#dependency-resolution-console" id="id55">11&nbsp;&nbsp;&nbsp;Dependency Resolution Console</a></li>
+<li><a class="reference internal" href="#implementation-overview" id="id56">12&nbsp;&nbsp;&nbsp;Implementation Overview</a><ul class="auto-toc">
+<li><a class="reference internal" href="#packageinfo" id="id57">12.1&nbsp;&nbsp;&nbsp;PackageInfo</a></li>
+<li><a class="reference internal" href="#repository-management" id="id58">12.2&nbsp;&nbsp;&nbsp;Repository Management</a><ul class="auto-toc">
+<li><a class="reference internal" href="#repository" id="id59">12.2.1&nbsp;&nbsp;&nbsp;Repository</a><ul class="auto-toc">
+<li><a class="reference internal" href="#adding-new-repository-types" id="id60">12.2.1.1&nbsp;&nbsp;&nbsp;Adding new repository types</a></li>
 </ul>
 </li>
-<li><a class="reference internal" href="#overlay" id="id58">12.3&nbsp;&nbsp;&nbsp;Overlay</a><ul class="auto-toc">
-<li><a class="reference internal" href="#metadata-creation" id="id59">12.3.1&nbsp;&nbsp;&nbsp;Metadata Creation</a></li>
-<li><a class="reference internal" href="#manifest-creation" id="id60">12.3.2&nbsp;&nbsp;&nbsp;Manifest Creation</a></li>
 </ul>
 </li>
-<li><a class="reference internal" href="#ebuild-creation" id="id61">12.4&nbsp;&nbsp;&nbsp;Ebuild Creation</a><ul class="auto-toc">
-<li><a class="reference internal" href="#ebuild-variables" id="id62">12.4.1&nbsp;&nbsp;&nbsp;Ebuild Variables</a></li>
+<li><a class="reference internal" href="#overlay" id="id61">12.3&nbsp;&nbsp;&nbsp;Overlay</a><ul class="auto-toc">
+<li><a class="reference internal" href="#metadata-creation" id="id62">12.3.1&nbsp;&nbsp;&nbsp;Metadata Creation</a></li>
+<li><a class="reference internal" href="#manifest-creation" id="id63">12.3.2&nbsp;&nbsp;&nbsp;Manifest Creation</a></li>
 </ul>
 </li>
-<li><a class="reference internal" href="#overlay-creation" id="id63">12.5&nbsp;&nbsp;&nbsp;Overlay Creation</a></li>
-<li><a class="reference internal" href="#dependency-resolution" id="id64">12.6&nbsp;&nbsp;&nbsp;Dependency Resolution</a><ul class="auto-toc">
-<li><a class="reference internal" href="#dependency-types" id="id65">12.6.1&nbsp;&nbsp;&nbsp;Dependency types</a><ul class="auto-toc">
-<li><a class="reference internal" href="#description-file-dependency-fields" id="id66">12.6.1.1&nbsp;&nbsp;&nbsp;DESCRIPTION file dependency fields</a></li>
+<li><a class="reference internal" href="#ebuild-creation" id="id64">12.4&nbsp;&nbsp;&nbsp;Ebuild Creation</a><ul class="auto-toc">
+<li><a class="reference internal" href="#ebuild-variables" id="id65">12.4.1&nbsp;&nbsp;&nbsp;Ebuild Variables</a></li>
 </ul>
 </li>
-<li><a class="reference internal" href="#dependency-environments" id="id67">12.6.2&nbsp;&nbsp;&nbsp;Dependency Environments</a></li>
-<li><a class="reference internal" href="#ebuildjob-channel" id="id68">12.6.3&nbsp;&nbsp;&nbsp;EbuildJob Channel</a></li>
-<li><a class="reference internal" href="#dependency-rule-pools" id="id69">12.6.4&nbsp;&nbsp;&nbsp;Dependency Rule Pools</a></li>
-<li><a class="reference internal" href="#dependency-resolver-modules" id="id70">12.6.5&nbsp;&nbsp;&nbsp;Dependency Resolver Modules</a></li>
-<li><a class="reference internal" href="#dependency-resolver" id="id71">12.6.6&nbsp;&nbsp;&nbsp;Dependency Resolver</a></li>
+<li><a class="reference internal" href="#overlay-creation" id="id66">12.5&nbsp;&nbsp;&nbsp;Overlay Creation</a></li>
+<li><a class="reference internal" href="#dependency-resolution" id="id67">12.6&nbsp;&nbsp;&nbsp;Dependency Resolution</a><ul class="auto-toc">
+<li><a class="reference internal" href="#dependency-types" id="id68">12.6.1&nbsp;&nbsp;&nbsp;Dependency types</a><ul class="auto-toc">
+<li><a class="reference internal" href="#description-file-dependency-fields" id="id69">12.6.1.1&nbsp;&nbsp;&nbsp;DESCRIPTION file dependency fields</a></li>
+</ul>
+</li>
+<li><a class="reference internal" href="#dependency-environments" id="id70">12.6.2&nbsp;&nbsp;&nbsp;Dependency Environments</a></li>
+<li><a class="reference internal" href="#ebuildjob-channel" id="id71">12.6.3&nbsp;&nbsp;&nbsp;EbuildJob Channel</a></li>
+<li><a class="reference internal" href="#dependency-rule-pools" id="id72">12.6.4&nbsp;&nbsp;&nbsp;Dependency Rule Pools</a></li>
+<li><a class="reference internal" href="#dependency-resolver-modules" id="id73">12.6.5&nbsp;&nbsp;&nbsp;Dependency Resolver Modules</a></li>
+<li><a class="reference internal" href="#dependency-resolver" id="id74">12.6.6&nbsp;&nbsp;&nbsp;Dependency Resolver</a></li>
 </ul>
 </li>
 </ul>
@@ -702,6 +706,16 @@ This option is <strong>required</strong> and can be overridden on the command li
 via <tt class="docutils literal"><span class="pre">--field-definition</span> &lt;file&gt;</tt>.</p>
 <p class="last">Example: FIELD_DEFINITION = ~/roverlay/config/description_fields.conf</p>
 </dd>
+<dt>USE_EXPAND_DESC</dt>
+<dd><p class="first">A file that contains USE_EXPAND flag descriptions. This option is not
+required.</p>
+<p class="last">Example: USE_EXPAND_DESC = ~/roverlay/config/useflag/useflag_desc</p>
+</dd>
+<dt>USE_EXPAND_RENAME</dt>
+<dd><p class="first">The value of this option should point to a USE flag remap file which
+can be used to rename USE_EXPAND flags. This option is not required.</p>
+<p class="last">Example: USE_EXPAND_RENAME = ~/roverlay/config/useflag_rename</p>
+</dd>
 <dt>OVERLAY_ECLASS</dt>
 <dd><p class="first">This option lists eclass files that should be imported into the overlay
 (into <em>OVERLAY_DIR</em>/eclass/) and inherited in all ebuilds.
@@ -751,7 +765,7 @@ they work.</dd>
 <dd>See <a class="reference internal" href="#configuration-reference">Configuration Reference</a> for all main config options like log file
 rotation and assistance for writing new <em>dependency rules</em>.</dd>
 <dt>Field Definition</dt>
-<dd>Refer to <a class="reference internal" href="#id3">Field Definition</a> in case you want to change <em>how</em> R packages
+<dd>Refer to <a class="reference internal" href="#id4">Field Definition</a> in case you want to change <em>how</em> R packages
 are being read, e.g. if you want the 'Depents' information field (obviously
 a typo) to be understood as 'Depends'.</dd>
 </dl>
@@ -954,6 +968,10 @@ and may decide to write <em>p</em>'s ebuild now (or later)</p>
 </blockquote>
 <ol class="arabic simple" start="6">
 <li>write the overlay<ul>
+<li>write/update the profiles dir<ul>
+<li><em>roverlay</em> respects manual changes to USE_EXPAND description files</li>
+</ul>
+</li>
 <li>write all ebuilds and apply patches to them
 (supports threads on a per package basis)</li>
 <li>write the <em>metadata.xml</em> files
@@ -983,6 +1001,8 @@ eclass file are used, the result should look like:</p>
 &lt;overlay root&gt;/profiles/categories
 &lt;overlay root&gt;/profiles/repo_name
 &lt;overlay root&gt;/profiles/use.desc
+&lt;overlay root&gt;/profiles/desc
+&lt;overlay root&gt;/profiles/desc/r_suggests.desc
 &lt;overlay root&gt;/sci-R/&lt;many directories per R package&gt;
 &lt;overlay root&gt;/sci-R/seewave/
 &lt;overlay root&gt;/sci-R/seewave/Manifest
@@ -996,19 +1016,22 @@ eclass file are used, the result should look like:</p>
 <dt>Ebuild Template</dt>
 <dd><pre class="code text first literal-block">
 &lt;ebuild header&gt;
+
+EAPI=&lt;EAPI&gt;
+
 inherit &lt;eclass(es)&gt;
 
 DESCRIPTION=&quot;&lt;the R package's description&gt;&quot;
 SRC_URI=&quot;&lt;src uri for the R package&gt;&quot;
 
-IUSE=&quot;${IUSE:-}
-   R_suggests
+IUSE=&quot;${IUSE-}
+   r_suggests_&lt;flag&gt; r_suggests_&lt;another flag&gt; ...
 &quot;
-R_SUGGESTS=&quot;&lt;R package suggestions&gt;&quot;
+R_SUGGESTS=&quot;r_suggests_&lt;flag&gt;? ( &lt;optional dependency&gt; ) ...&quot;
 DEPEND=&quot;&lt;build time dependencies for the R package&gt;&quot;
-RDEPEND=&quot;${DEPEND:-}
+RDEPEND=&quot;${DEPEND-}
    &lt;runtime dependencies&gt;
-   R_suggests? ( ${R_SUGGESTS} )
+   ${R_SUGGESTS-}
 &quot;
 
 _UNRESOLVED_PACKAGES=(&lt;unresolvable, but optional dependencies&gt;)
@@ -1017,6 +1040,9 @@ _UNRESOLVED_PACKAGES=(&lt;unresolvable, but optional dependencies&gt;)
 <p>A really minimal ebuild would look like:</p>
 <pre class="code text last literal-block">
 &lt;ebuild header&gt;
+
+EAPI=&lt;EAPI&gt;
+
 inherit &lt;eclass(es)&gt;
 
 SRC_URI=&quot;&lt;src uri for the R package&gt;&quot;
@@ -1026,7 +1052,7 @@ SRC_URI=&quot;&lt;src uri for the R package&gt;&quot;
 <dd><p class="first">The default ebuild header (which cannot be changed) automatically sets
 the ebuild's copyright year to 1999-<em>&lt;current year&gt;</em>.</p>
 <pre class="code sh last literal-block">
-<span class="comment"># Copyright 1999-2012 Gentoo Foundation
+<span class="comment"># Copyright 1999-2013 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 # $Header: $
 </span>
@@ -1036,11 +1062,13 @@ inherit R-packages
 <span class="name variable">DESCRIPTION</span><span class="operator">=</span><span class="literal string double">&quot;Time wave analysis and graphical representation&quot;</span>
 <span class="name variable">SRC_URI</span><span class="operator">=</span><span class="literal string double">&quot;http://cran.r-project.org/src/contrib/seewave_1.6.4.tar.gz&quot;</span>
 
-<span class="name variable">IUSE</span><span class="operator">=</span><span class="literal string double">&quot;${IUSE:-}
-   R_suggests
+<span class="name variable">IUSE</span><span class="operator">=</span><span class="literal string double">&quot;${IUSE-}
+   r_suggests_sound
+   r_suggests_audio
 &quot;</span>
-<span class="name variable">R_SUGGESTS</span><span class="operator">=</span><span class="literal string double">&quot;sci-R/sound
-   sci-R/audio
+<span class="name variable">R_SUGGESTS</span><span class="operator">=</span><span class="literal string double">&quot;
+   r_suggests_sound? ( sci-R/sound )
+   r_suggests_audio? ( sci-R/audio )
 &quot;</span>
 <span class="name variable">DEPEND</span><span class="operator">=</span><span class="literal string double">&quot;sci-R/fftw
    sci-R/tuneR
@@ -1048,11 +1076,11 @@ inherit R-packages
    sci-R/rpanel
    sci-R/rgl
 &quot;</span>
-<span class="name variable">RDEPEND</span><span class="operator">=</span><span class="literal string double">&quot;${DEPEND:-}
+<span class="name variable">RDEPEND</span><span class="operator">=</span><span class="literal string double">&quot;${DEPEND-}
    media-libs/flac
    sci-libs/fftw
    media-libs/libsndfile
-   R_suggests? ( ${R_SUGGESTS} )
+   ${R_SUGGESTS-}
 &quot;</span>
 </pre>
 </dd>
@@ -1060,7 +1088,7 @@ inherit R-packages
 <dd><p class="first">Note the shortened <em>DESCRIPTION</em> variable that points to the <em>metadata.xml</em>
 file. This happens if the description is too long.</p>
 <pre class="code sh last literal-block">
-<span class="comment"># Copyright 1999-2012 Gentoo Foundation
+<span class="comment"># Copyright 1999-2013 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 # $Header: $
 </span>
@@ -1070,21 +1098,29 @@ inherit R-packages
 <span class="name variable">DESCRIPTION</span><span class="operator">=</span><span class="literal string double">&quot;MetaPCA: Meta-analysis in the Di... (see metadata)&quot;</span>
 <span class="name variable">SRC_URI</span><span class="operator">=</span><span class="literal string double">&quot;http://cran.r-project.org/src/contrib/Archive/MetaPCA/MetaPCA_0.1.3.tar.gz&quot;</span>
 
-<span class="name variable">IUSE</span><span class="operator">=</span><span class="literal string double">&quot;${IUSE:-}
-   R_suggests
+<span class="name variable">IUSE</span><span class="operator">=</span><span class="literal string double">&quot;${IUSE-}
+   r_suggests_domc
+   r_suggests_affy
+   r_suggests_ellipse
+   r_suggests_pcapp
+   r_suggests_mass
+   r_suggests_impute
+   r_suggests_dosmp
+   r_suggests_geoquery
 &quot;</span>
-<span class="name variable">R_SUGGESTS</span><span class="operator">=</span><span class="literal string double">&quot;sci-R/doMC
-   sci-R/affy
-   sci-R/ellipse
-   sci-R/pcaPP
-   sci-R/MASS
-   sci-R/impute
-   sci-R/doSMP
-   sci-R/GEOquery
+<span class="name variable">R_SUGGESTS</span><span class="operator">=</span><span class="literal string double">&quot;
+   r_suggests_domc? ( sci-R/doMC )
+   r_suggests_affy? ( sci-R/affy )
+   r_suggests_ellipse? ( sci-R/ellipse )
+   r_suggests_pcapp? ( sci-R/pcaPP )
+   r_suggests_mass? ( sci-R/MASS )
+   r_suggests_impute? ( sci-R/impute )
+   r_suggests_dosmp? ( sci-R/doSMP )
+   r_suggests_geoquery? ( sci-R/GEOquery )
 &quot;</span>
 <span class="name variable">DEPEND</span><span class="operator">=</span><span class="literal string double">&quot;sci-R/foreach&quot;</span>
-<span class="name variable">RDEPEND</span><span class="operator">=</span><span class="literal string double">&quot;${DEPEND:-}
-   R_suggests? ( ${R_SUGGESTS} )
+<span class="name variable">RDEPEND</span><span class="operator">=</span><span class="literal string double">&quot;${DEPEND-}
+   ${R_SUGGESTS-}
 &quot;</span>
 
 <span class="name variable">_UNRESOLVED_PACKAGES</span><span class="operator">=(</span><span class="literal string single">'hgu133plus2.db'</span><span class="operator">)</span>
@@ -2195,6 +2231,10 @@ This will pass '--bwlimit=&lt;value&gt;' to all rsync commands.</p>
 <dt>ADDITIONS_DIR:</dt>
 <dd>Alias to <a class="reference internal" href="#overlay-additions-dir">OVERLAY_ADDITIONS_DIR</a>.</dd>
 </dl>
+<dl class="docutils" id="backup-desc">
+<dt>BACKUP_DESC</dt>
+<dd>Alias to <a class="reference internal" href="#overlay-backup-desc">OVERLAY_BACKUP_DESC</a>.</dd>
+</dl>
 <dl class="docutils" id="distdir">
 <dt>DISTDIR</dt>
 <dd>Alias to <a class="reference internal" href="#overlay-distdir-root">OVERLAY_DISTDIR_ROOT</a>.</dd>
@@ -2207,6 +2247,10 @@ This will pass '--bwlimit=&lt;value&gt;' to all rsync commands.</p>
 <dt>DISTDIR_STRATEGY</dt>
 <dd>Alias to <a class="reference internal" href="#overlay-distdir-strategy">OVERLAY_DISTDIR_STRATEGY</a>.</dd>
 </dl>
+<dl class="docutils" id="ebuild-use-expand-name">
+<dt>EBUILD_USE_EXPAND_NAME</dt>
+<dd>Name of the R_SUGGESTS USE_EXPAND variable. Defaults to <em>R_SUGGESTS</em>.</dd>
+</dl>
 <dl class="docutils" id="eclass">
 <dt>ECLASS</dt>
 <dd>Alias to <a class="reference internal" href="#overlay-eclass">OVERLAY_ECLASS</a>.</dd>
@@ -2222,6 +2266,13 @@ ebuild patches and hand-written ebuilds. This option is not required.</p>
 <p class="last">Defaults to &lt;not set&gt;, which disables this feature.</p>
 </dd>
 </dl>
+<dl class="docutils" id="overlay-backup-desc">
+<dt>OVERLAY_BACKUP_DESC</dt>
+<dd><p class="first">A <em>bool</em> that indicates whether the description file of the <em>R_SUGGESTS</em>
+USE_EXPAND variable should be backed up before (over-)writing it.</p>
+<p class="last">Defaults to <em>true</em>.</p>
+</dd>
+</dl>
 <dl class="docutils" id="overlay-category">
 <dt>OVERLAY_CATEGORY</dt>
 <dd><p class="first">Sets the category of created ebuilds. There are no value type restrictions
@@ -2341,18 +2392,35 @@ writing.</p>
 <p class="last">Defaults to <em>R_Overlay</em>.</p>
 </dd>
 </dl>
+<dl class="docutils" id="use-expand-name">
+<dt>USE_EXPAND_NAME:</dt>
+<dd>Alias to <a class="reference internal" href="#ebuild-use-expand-name">EBUILD_USE_EXPAND_NAME</a>.</dd>
+</dl>
 </div>
 <div class="section" id="other-config-files">
 <h2><a class="toc-backref" href="#contents">9.3&nbsp;&nbsp;&nbsp;other config files</a></h2>
 <p>Some config config options are split from the main config file for various
 reasons:</p>
 <ul class="simple">
-<li>no need for modification in most cases, e.g. the <a class="reference internal" href="#id3">field definition</a> file</li>
+<li>no need for modification in most cases, e.g. the <a class="reference internal" href="#id4">field definition</a> file</li>
 <li>special syntax that is not compatible with the main config file,
 e.g. the <a class="reference internal" href="#dependency-rule-file-syntax">dependency rule file syntax</a></li>
 </ul>
 <p>The paths to these files have to be listed in the main config file and
 can be overridden with the appropriate command line options.</p>
+<dl class="docutils" id="ebuild-use-expand-desc">
+<dt>EBUILD_USE_EXPAND_DESC</dt>
+<dd><p class="first">Path to a flag description file (for the <em>R_SUGGESTS</em> USE_EXPAND variable).
+The syntax of this file is identical to USE_EXPAND description files
+(<tt class="docutils literal">&lt;overlay <span class="pre">root&gt;/profiles/desc/r_suggests.desc</span></tt>).</p>
+<p class="last">Defaults to &lt;not set&gt;, which disables this option.</p>
+</dd>
+</dl>
+<dl class="docutils" id="ebuild-use-expand-rename">
+<dt>EBUILD_USE_EXPAND_RENAME</dt>
+<dd>Path to a file that lists alternative names for a flag in the <em>R_SUGGESTS</em>
+USE_EXPAND variable.</dd>
+</dl>
 <dl class="docutils" id="field-definition">
 <dt>FIELD_DEFINITION</dt>
 <dd><p class="first">Path to the field definition file that controls how the <em>DESCRIPTION</em> file
@@ -2399,6 +2467,14 @@ much without dependency resolution.</p>
 <dt>SIMPLE_RULES_FILES</dt>
 <dd>Alias to <a class="reference internal" href="#simple-rules-file">SIMPLE_RULES_FILE</a>.</dd>
 </dl>
+<dl class="docutils" id="use-expand-desc">
+<dt>USE_EXPAND_DESC</dt>
+<dd>Alias to <a class="reference internal" href="#ebuild-use-expand-desc">EBUILD_USE_EXPAND_DESC</a>.</dd>
+</dl>
+<dl class="docutils" id="use-expand-rename">
+<dt>USE_EXPAND_RENAME</dt>
+<dd>Alias to <a class="reference internal" href="#ebuild-use-expand-rename">EBUILD_USE_EXPAND_RENAME</a>.</dd>
+</dl>
 </div>
 <div class="section" id="logging">
 <h2><a class="toc-backref" href="#contents">9.4&nbsp;&nbsp;&nbsp;logging</a></h2>
@@ -2524,8 +2600,44 @@ on <em>roverlay</em> exit. Primarily useful for creating new rules.</p>
 </dl>
 </div>
 </div>
+<div class="section" id="id3">
+<h1><a class="toc-backref" href="#contents">10&nbsp;&nbsp;&nbsp;Other config files</a></h1>
+<div class="section" id="use-expand-flag-rename-file">
+<h2><a class="toc-backref" href="#contents">10.1&nbsp;&nbsp;&nbsp;USE_EXPAND flag rename file</a></h2>
+<p>The <a class="reference internal" href="#use-expand-rename">USE_EXPAND_RENAME</a> file contains dictionary-like entries that assign
+<em>effective</em> flag names to flag names generated at runtime.</p>
+<p>The syntax is as follows:</p>
+<pre class="code text literal-block">
+# comments start with '#'
+
+&lt;effective flag&gt; &lt;runtime flag&gt; [&lt;another runtime flag&gt;...]
+
+# a '=' can be used as separator to improve readability
+&lt;effective flag&gt; = &lt;runtime flag&gt; [&lt;another runtime flag&gt;...]
+
+# the previous line can be continued with leading whitespace
+&lt;effective flag&gt; = &lt;runtime flag&gt;
+   [&lt;another runtime flag&gt;...]
+</pre>
+<p>Example:</p>
+<pre class="code text literal-block">
+# rename 'audio' and 'snd' to 'sound'
+sound = audio snd
+</pre>
+<p>Each flag is renamed at most once, so the following example renames 'sound'
+to media, but 'audio' to 'sound':;</p>
+<pre class="code text literal-block">
+sound = audio snd
+media = sound video
+</pre>
+<div class="caution">
+<p class="first admonition-title">Caution!</p>
+<p class="last">Assigning more than one <em>effective flag</em> to a <em>runtime flag</em> leads to
+unpredictable results.</p>
+</div>
+</div>
 <div class="section" id="field-definition-config">
-<span id="id3"></span><h1><a class="toc-backref" href="#contents">10&nbsp;&nbsp;&nbsp;Field Definition Config</a></h1>
+<span id="id4"></span><h2><a class="toc-backref" href="#contents">10.2&nbsp;&nbsp;&nbsp;Field Definition Config</a></h2>
 <p>The field definition file uses <a class="reference external" href="http://docs.python.org/library/configparser.html">ConfigParser</a> syntax and defines
 how an R package's DESCRIPTION file is read.
 See the next section, <a class="reference internal" href="#default-field-definition-file">default field definition file</a>,  for an example.</p>
@@ -2607,7 +2719,7 @@ such a field is found.</dd>
 <p class="last">It is not checked whether a flag is known or not.</p>
 </div>
 <div class="section" id="example-the-default-field-definition-file">
-<span id="default-field-definition-file"></span><h2><a class="toc-backref" href="#contents">10.1&nbsp;&nbsp;&nbsp;Example: The default field definition file</a></h2>
+<span id="default-field-definition-file"></span><h3><a class="toc-backref" href="#contents">10.2.1&nbsp;&nbsp;&nbsp;Example: The default field definition file</a></h3>
 <p>This is the default field definition file (without any ignored fields):</p>
 <pre class="code ini literal-block">
 <span class="keyword">[Description]</span>
@@ -2642,6 +2754,7 @@ such a field is found.</dd>
 </pre>
 </div>
 </div>
+</div>
 <div class="section" id="dependency-resolution-console">
 <span id="depres-console"></span><h1><a class="toc-backref" href="#contents">11&nbsp;&nbsp;&nbsp;Dependency Resolution Console</a></h1>
 <p>As previously stated, the <em>DepRes Console</em> is only meant for <strong>testing</strong>.
@@ -3315,7 +3428,7 @@ becomes &quot;loop until resolver closes&quot;.</p>
 </div>
 <div class="footer">
 <hr class="footer" />
-Generated on: 2013-06-12.
+Generated on: 2013-06-18.
 
 </div>
 </body>


^ permalink raw reply related	[flat|nested] 9+ messages in thread
* [gentoo-commits] proj/R_overlay:gsoc13/next commit in: doc/html/
@ 2013-06-12 21:10 André Erdmann
  0 siblings, 0 replies; 9+ messages in thread
From: André Erdmann @ 2013-06-12 21:10 UTC (permalink / raw
  To: gentoo-commits

commit:     f2919debb37db3e9994392a77cc5072d2e568181
Author:     André Erdmann <dywi <AT> mailerd <DOT> de>
AuthorDate: Wed Jun 12 21:09:18 2013 +0000
Commit:     André Erdmann <dywi <AT> mailerd <DOT> de>
CommitDate: Wed Jun 12 21:09:18 2013 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/R_overlay.git;a=commit;h=f2919deb

doc/html: additions dir

---
 doc/html/usage.html | 280 ++++++++++++++++++++++++++++++++++------------------
 1 file changed, 183 insertions(+), 97 deletions(-)

diff --git a/doc/html/usage.html b/doc/html/usage.html
index 9ab7683..5c4863b 100644
--- a/doc/html/usage.html
+++ b/doc/html/usage.html
@@ -363,77 +363,82 @@ ul.auto-toc {
 <li><a class="reference internal" href="#using-local-directories" id="id25">5.5&nbsp;&nbsp;&nbsp;Using local directories</a></li>
 </ul>
 </li>
-<li><a class="reference internal" href="#dependency-rules" id="id26">6&nbsp;&nbsp;&nbsp;Dependency Rules</a><ul class="auto-toc">
-<li><a class="reference internal" href="#simple-dependency-rules" id="id27">6.1&nbsp;&nbsp;&nbsp;Simple Dependency Rules</a><ul class="auto-toc">
-<li><a class="reference internal" href="#rule-variants" id="id28">6.1.1&nbsp;&nbsp;&nbsp;Rule Variants</a></li>
-<li><a class="reference internal" href="#rule-types" id="id29">6.1.2&nbsp;&nbsp;&nbsp;Rule types</a></li>
-<li><a class="reference internal" href="#rule-file-examples" id="id30">6.1.3&nbsp;&nbsp;&nbsp;Rule File Examples</a></li>
-<li><a class="reference internal" href="#rule-file-syntax" id="id31">6.1.4&nbsp;&nbsp;&nbsp;Rule File Syntax</a></li>
+<li><a class="reference internal" href="#additions-directory" id="id26">6&nbsp;&nbsp;&nbsp;Additions Directory</a><ul class="auto-toc">
+<li><a class="reference internal" href="#patching-ebuilds" id="id27">6.1&nbsp;&nbsp;&nbsp;Patching ebuilds</a></li>
+<li><a class="reference internal" href="#importing-ebuilds" id="id28">6.2&nbsp;&nbsp;&nbsp;Importing ebuilds</a></li>
 </ul>
 </li>
+<li><a class="reference internal" href="#dependency-rules" id="id29">7&nbsp;&nbsp;&nbsp;Dependency Rules</a><ul class="auto-toc">
+<li><a class="reference internal" href="#simple-dependency-rules" id="id30">7.1&nbsp;&nbsp;&nbsp;Simple Dependency Rules</a><ul class="auto-toc">
+<li><a class="reference internal" href="#rule-variants" id="id31">7.1.1&nbsp;&nbsp;&nbsp;Rule Variants</a></li>
+<li><a class="reference internal" href="#rule-types" id="id32">7.1.2&nbsp;&nbsp;&nbsp;Rule types</a></li>
+<li><a class="reference internal" href="#rule-file-examples" id="id33">7.1.3&nbsp;&nbsp;&nbsp;Rule File Examples</a></li>
+<li><a class="reference internal" href="#rule-file-syntax" id="id34">7.1.4&nbsp;&nbsp;&nbsp;Rule File Syntax</a></li>
 </ul>
 </li>
-<li><a class="reference internal" href="#package-rules" id="id32">7&nbsp;&nbsp;&nbsp;Package Rules</a><ul class="auto-toc">
-<li><a class="reference internal" href="#package-rule-file-syntax" id="id33">7.1&nbsp;&nbsp;&nbsp;Package Rule File Syntax</a><ul class="auto-toc">
-<li><a class="reference internal" href="#match-blocks" id="id34">7.1.1&nbsp;&nbsp;&nbsp;Match Blocks</a><ul class="auto-toc">
-<li><a class="reference internal" href="#extended-match-block-syntax" id="id35">7.1.1.1&nbsp;&nbsp;&nbsp;Extended Match Block Syntax</a></li>
 </ul>
 </li>
-<li><a class="reference internal" href="#action-blocks" id="id36">7.1.2&nbsp;&nbsp;&nbsp;Action Blocks</a><ul class="auto-toc">
-<li><a class="reference internal" href="#extended-action-block-syntax" id="id37">7.1.2.1&nbsp;&nbsp;&nbsp;Extended Action Block Syntax</a></li>
+<li><a class="reference internal" href="#package-rules" id="id35">8&nbsp;&nbsp;&nbsp;Package Rules</a><ul class="auto-toc">
+<li><a class="reference internal" href="#package-rule-file-syntax" id="id36">8.1&nbsp;&nbsp;&nbsp;Package Rule File Syntax</a><ul class="auto-toc">
+<li><a class="reference internal" href="#match-blocks" id="id37">8.1.1&nbsp;&nbsp;&nbsp;Match Blocks</a><ul class="auto-toc">
+<li><a class="reference internal" href="#extended-match-block-syntax" id="id38">8.1.1.1&nbsp;&nbsp;&nbsp;Extended Match Block Syntax</a></li>
 </ul>
 </li>
-<li><a class="reference internal" href="#package-rule-examples" id="id38">7.1.3&nbsp;&nbsp;&nbsp;Package Rule Examples</a></li>
+<li><a class="reference internal" href="#action-blocks" id="id39">8.1.2&nbsp;&nbsp;&nbsp;Action Blocks</a><ul class="auto-toc">
+<li><a class="reference internal" href="#extended-action-block-syntax" id="id40">8.1.2.1&nbsp;&nbsp;&nbsp;Extended Action Block Syntax</a></li>
 </ul>
 </li>
+<li><a class="reference internal" href="#package-rule-examples" id="id41">8.1.3&nbsp;&nbsp;&nbsp;Package Rule Examples</a></li>
 </ul>
 </li>
-<li><a class="reference internal" href="#configuration-reference" id="id39">8&nbsp;&nbsp;&nbsp;Configuration Reference</a><ul class="auto-toc">
-<li><a class="reference internal" href="#misc-options" id="id40">8.1&nbsp;&nbsp;&nbsp;misc options</a></li>
-<li><a class="reference internal" href="#overlay-options" id="id41">8.2&nbsp;&nbsp;&nbsp;overlay options</a></li>
-<li><a class="reference internal" href="#other-config-files" id="id42">8.3&nbsp;&nbsp;&nbsp;other config files</a></li>
-<li><a class="reference internal" href="#logging" id="id43">8.4&nbsp;&nbsp;&nbsp;logging</a><ul class="auto-toc">
-<li><a class="reference internal" href="#console-logging" id="id44">8.4.1&nbsp;&nbsp;&nbsp;console logging</a></li>
-<li><a class="reference internal" href="#file-logging" id="id45">8.4.2&nbsp;&nbsp;&nbsp;file logging</a></li>
 </ul>
 </li>
-<li><a class="reference internal" href="#options-for-debugging-manual-dependency-rule-creation-and-testing" id="id46">8.5&nbsp;&nbsp;&nbsp;options for debugging, manual dependency rule creation and testing</a></li>
+<li><a class="reference internal" href="#configuration-reference" id="id42">9&nbsp;&nbsp;&nbsp;Configuration Reference</a><ul class="auto-toc">
+<li><a class="reference internal" href="#misc-options" id="id43">9.1&nbsp;&nbsp;&nbsp;misc options</a></li>
+<li><a class="reference internal" href="#overlay-options" id="id44">9.2&nbsp;&nbsp;&nbsp;overlay options</a></li>
+<li><a class="reference internal" href="#other-config-files" id="id45">9.3&nbsp;&nbsp;&nbsp;other config files</a></li>
+<li><a class="reference internal" href="#logging" id="id46">9.4&nbsp;&nbsp;&nbsp;logging</a><ul class="auto-toc">
+<li><a class="reference internal" href="#console-logging" id="id47">9.4.1&nbsp;&nbsp;&nbsp;console logging</a></li>
+<li><a class="reference internal" href="#file-logging" id="id48">9.4.2&nbsp;&nbsp;&nbsp;file logging</a></li>
 </ul>
 </li>
-<li><a class="reference internal" href="#field-definition-config" id="id47">9&nbsp;&nbsp;&nbsp;Field Definition Config</a><ul class="auto-toc">
-<li><a class="reference internal" href="#example-the-default-field-definition-file" id="id48">9.1&nbsp;&nbsp;&nbsp;Example: The default field definition file</a></li>
+<li><a class="reference internal" href="#options-for-debugging-manual-dependency-rule-creation-and-testing" id="id49">9.5&nbsp;&nbsp;&nbsp;options for debugging, manual dependency rule creation and testing</a></li>
 </ul>
 </li>
-<li><a class="reference internal" href="#dependency-resolution-console" id="id49">10&nbsp;&nbsp;&nbsp;Dependency Resolution Console</a></li>
-<li><a class="reference internal" href="#implementation-overview" id="id50">11&nbsp;&nbsp;&nbsp;Implementation Overview</a><ul class="auto-toc">
-<li><a class="reference internal" href="#packageinfo" id="id51">11.1&nbsp;&nbsp;&nbsp;PackageInfo</a></li>
-<li><a class="reference internal" href="#repository-management" id="id52">11.2&nbsp;&nbsp;&nbsp;Repository Management</a><ul class="auto-toc">
-<li><a class="reference internal" href="#repository" id="id53">11.2.1&nbsp;&nbsp;&nbsp;Repository</a><ul class="auto-toc">
-<li><a class="reference internal" href="#adding-new-repository-types" id="id54">11.2.1.1&nbsp;&nbsp;&nbsp;Adding new repository types</a></li>
+<li><a class="reference internal" href="#field-definition-config" id="id50">10&nbsp;&nbsp;&nbsp;Field Definition Config</a><ul class="auto-toc">
+<li><a class="reference internal" href="#example-the-default-field-definition-file" id="id51">10.1&nbsp;&nbsp;&nbsp;Example: The default field definition file</a></li>
 </ul>
 </li>
+<li><a class="reference internal" href="#dependency-resolution-console" id="id52">11&nbsp;&nbsp;&nbsp;Dependency Resolution Console</a></li>
+<li><a class="reference internal" href="#implementation-overview" id="id53">12&nbsp;&nbsp;&nbsp;Implementation Overview</a><ul class="auto-toc">
+<li><a class="reference internal" href="#packageinfo" id="id54">12.1&nbsp;&nbsp;&nbsp;PackageInfo</a></li>
+<li><a class="reference internal" href="#repository-management" id="id55">12.2&nbsp;&nbsp;&nbsp;Repository Management</a><ul class="auto-toc">
+<li><a class="reference internal" href="#repository" id="id56">12.2.1&nbsp;&nbsp;&nbsp;Repository</a><ul class="auto-toc">
+<li><a class="reference internal" href="#adding-new-repository-types" id="id57">12.2.1.1&nbsp;&nbsp;&nbsp;Adding new repository types</a></li>
 </ul>
 </li>
-<li><a class="reference internal" href="#overlay" id="id55">11.3&nbsp;&nbsp;&nbsp;Overlay</a><ul class="auto-toc">
-<li><a class="reference internal" href="#metadata-creation" id="id56">11.3.1&nbsp;&nbsp;&nbsp;Metadata Creation</a></li>
-<li><a class="reference internal" href="#manifest-creation" id="id57">11.3.2&nbsp;&nbsp;&nbsp;Manifest Creation</a></li>
 </ul>
 </li>
-<li><a class="reference internal" href="#ebuild-creation" id="id58">11.4&nbsp;&nbsp;&nbsp;Ebuild Creation</a><ul class="auto-toc">
-<li><a class="reference internal" href="#ebuild-variables" id="id59">11.4.1&nbsp;&nbsp;&nbsp;Ebuild Variables</a></li>
+<li><a class="reference internal" href="#overlay" id="id58">12.3&nbsp;&nbsp;&nbsp;Overlay</a><ul class="auto-toc">
+<li><a class="reference internal" href="#metadata-creation" id="id59">12.3.1&nbsp;&nbsp;&nbsp;Metadata Creation</a></li>
+<li><a class="reference internal" href="#manifest-creation" id="id60">12.3.2&nbsp;&nbsp;&nbsp;Manifest Creation</a></li>
 </ul>
 </li>
-<li><a class="reference internal" href="#overlay-creation" id="id60">11.5&nbsp;&nbsp;&nbsp;Overlay Creation</a></li>
-<li><a class="reference internal" href="#dependency-resolution" id="id61">11.6&nbsp;&nbsp;&nbsp;Dependency Resolution</a><ul class="auto-toc">
-<li><a class="reference internal" href="#dependency-types" id="id62">11.6.1&nbsp;&nbsp;&nbsp;Dependency types</a><ul class="auto-toc">
-<li><a class="reference internal" href="#description-file-dependency-fields" id="id63">11.6.1.1&nbsp;&nbsp;&nbsp;DESCRIPTION file dependency fields</a></li>
+<li><a class="reference internal" href="#ebuild-creation" id="id61">12.4&nbsp;&nbsp;&nbsp;Ebuild Creation</a><ul class="auto-toc">
+<li><a class="reference internal" href="#ebuild-variables" id="id62">12.4.1&nbsp;&nbsp;&nbsp;Ebuild Variables</a></li>
 </ul>
 </li>
-<li><a class="reference internal" href="#dependency-environments" id="id64">11.6.2&nbsp;&nbsp;&nbsp;Dependency Environments</a></li>
-<li><a class="reference internal" href="#ebuildjob-channel" id="id65">11.6.3&nbsp;&nbsp;&nbsp;EbuildJob Channel</a></li>
-<li><a class="reference internal" href="#dependency-rule-pools" id="id66">11.6.4&nbsp;&nbsp;&nbsp;Dependency Rule Pools</a></li>
-<li><a class="reference internal" href="#dependency-resolver-modules" id="id67">11.6.5&nbsp;&nbsp;&nbsp;Dependency Resolver Modules</a></li>
-<li><a class="reference internal" href="#dependency-resolver" id="id68">11.6.6&nbsp;&nbsp;&nbsp;Dependency Resolver</a></li>
+<li><a class="reference internal" href="#overlay-creation" id="id63">12.5&nbsp;&nbsp;&nbsp;Overlay Creation</a></li>
+<li><a class="reference internal" href="#dependency-resolution" id="id64">12.6&nbsp;&nbsp;&nbsp;Dependency Resolution</a><ul class="auto-toc">
+<li><a class="reference internal" href="#dependency-types" id="id65">12.6.1&nbsp;&nbsp;&nbsp;Dependency types</a><ul class="auto-toc">
+<li><a class="reference internal" href="#description-file-dependency-fields" id="id66">12.6.1.1&nbsp;&nbsp;&nbsp;DESCRIPTION file dependency fields</a></li>
+</ul>
+</li>
+<li><a class="reference internal" href="#dependency-environments" id="id67">12.6.2&nbsp;&nbsp;&nbsp;Dependency Environments</a></li>
+<li><a class="reference internal" href="#ebuildjob-channel" id="id68">12.6.3&nbsp;&nbsp;&nbsp;EbuildJob Channel</a></li>
+<li><a class="reference internal" href="#dependency-rule-pools" id="id69">12.6.4&nbsp;&nbsp;&nbsp;Dependency Rule Pools</a></li>
+<li><a class="reference internal" href="#dependency-resolver-modules" id="id70">12.6.5&nbsp;&nbsp;&nbsp;Dependency Resolver Modules</a></li>
+<li><a class="reference internal" href="#dependency-resolver" id="id71">12.6.6&nbsp;&nbsp;&nbsp;Dependency Resolver</a></li>
 </ul>
 </li>
 </ul>
@@ -466,17 +471,18 @@ does and what to expect from the generated overlay.</p>
 </li>
 <li><p class="first"><em>roverlay</em> maintainers who <strong>control and test overlay creation</strong>,
 e.g. configure which R packages will be part of the generated overlay</p>
-<p>Depending on what you want to configure, chapters 5-8 are relevant,
-namely <a class="reference internal" href="#repositories-getting-packages">Repositories / Getting Packages</a>, <a class="reference internal" href="#dependency-rules">Dependency Rules</a>,
-<a class="reference internal" href="#configuration-reference">Configuration Reference</a> and <a class="reference internal" href="#field-definition-config">Field Definition Config</a>.</p>
+<p>Depending on what you want to configure, chapters 5-10 are relevant,
+namely <a class="reference internal" href="#repositories-getting-packages">Repositories / Getting Packages</a>, <cite>Additions Directory</cite>,
+<a class="reference internal" href="#dependency-rules">Dependency Rules</a>, <a class="reference internal" href="#package-rules">Package Rules</a>, <a class="reference internal" href="#configuration-reference">Configuration Reference</a>
+and <a class="reference internal" href="#field-definition-config">Field Definition Config</a>.</p>
 <p>There is another chapter that is only interesting for testing, the
-<a class="reference internal" href="#dependency-resolution-console">Dependency Resolution Console</a> (10), which can be used to interactively
+<a class="reference internal" href="#dependency-resolution-console">Dependency Resolution Console</a> (11), which can be used to interactively
 test dependency rules.</p>
 </li>
 <li><p class="first"><em>roverlay</em> code maintainers who want to know <strong>how roverlay works</strong> for
 code improvements etc.</p>
-<p>The most important chapter is <a class="reference internal" href="#implementation-overview">Implementation Overview</a> (11) which has
-references to other chapters (4-9) where required.</p>
+<p>The most important chapter is <a class="reference internal" href="#implementation-overview">Implementation Overview</a> (12) which has
+references to other chapters (4-10) where required.</p>
 </li>
 </ul>
 </blockquote>
@@ -677,12 +683,17 @@ This option is <strong>required</strong> and can be overridden on the command li
 via one or more <tt class="docutils literal"><span class="pre">--repo-config</span> &lt;file&gt;</tt> statements.</p>
 <p class="last">Example: REPO_CONFIG = ~/roverlay/config/repo.list</p>
 </dd>
-<dt>PACKAGE_RULES:</dt>
+<dt>PACKAGE_RULES</dt>
 <dd><p class="first">A list of files and/or directories with package rules.
 Package rules can be used to control overlay/ebuild creation.
 This option is not required.</p>
 <p class="last">Example: PACKAGE_RULES = ~/roverlay/config/packagerules.d</p>
 </dd>
+<dt>ADDITIONS_DIR</dt>
+<dd><p class="first">Directory with an overlay-like structure that contains extra files, e.g.
+ebuild patches and hand-written ebuilds.</p>
+<p class="last">Example: ADDITIONS_DIR = ~/roverlay/additions</p>
+</dd>
 <dt>FIELD_DEFINITION</dt>
 <dd><p class="first">The value of this option should point to a field definition file which
 controls how an R package's DESCRIPTION file is read.
@@ -897,6 +908,8 @@ most cases, but fine-tuning can be done via <a class="reference internal" href="
 </li>
 <li><p class="first">scan the R Overlay directory (if it exists) for valid ebuilds</p>
 </li>
+<li><p class="first">import ebuilds from the additions dir</p>
+</li>
 <li><p class="first"><strong>add</strong> - queue all R packages for ebuild creation</p>
 <ul>
 <li><p class="first">all repositories are asked to list their packages which are then added
@@ -939,9 +952,9 @@ and may decide to write <em>p</em>'s ebuild now (or later)</p>
 </li>
 </ul>
 </blockquote>
-<ol class="arabic simple" start="5">
+<ol class="arabic simple" start="6">
 <li>write the overlay<ul>
-<li>write all ebuilds
+<li>write all ebuilds and apply patches to them
 (supports threads on a per package basis)</li>
 <li>write the <em>metadata.xml</em> files
 (supports threads on a per package basis)<ul>
@@ -1297,10 +1310,72 @@ consider using one of the <strong>websync</strong> repo types, <a class="referen
 </div>
 </div>
 </div>
+<div class="section" id="additions-directory">
+<h1><a class="toc-backref" href="#contents">6&nbsp;&nbsp;&nbsp;Additions Directory</a></h1>
+<p>The <em>additions directory</em> is a directory with overlay-like structure that
+contains extra files for overlay creation. Currently, ebuild patches and
+ebuild files are supported.</p>
+<p>To give an idea of how this directory could</p>
+<div class="section" id="patching-ebuilds">
+<h2><a class="toc-backref" href="#contents">6.1&nbsp;&nbsp;&nbsp;Patching ebuilds</a></h2>
+<p>Patches can apply to a <strong>specific version</strong> or to <strong>all versions</strong> of a
+package.</p>
+<p>The naming convention for patches is (full filesystem paths relative to the
+additions dir):</p>
+<pre class="code text literal-block">
+# version-specific patches
+${CATEGORY}/${PN}/${PF}[-dddd].patch
+
+# version-agnostic patches
+${CATEGORY}/${PN}/${PN}[-dddd].patch
+</pre>
+<p>The <em>-dddd</em> part is optional and can be used to apply more than one patch to
+an ebuild in the specified order. <em>d</em> should be a digit (0..9) and exactly
+4 digits are expected. The not-numbered patch is always applied first.
+So, in theory, up to 10001 patches per ebuild are supported.</p>
+<p>The <em>default</em> (version-agnostic) patches are only applied to ebuilds for
+which no version-specific patches exist.</p>
+<p>Exempting a specific ebuild from being patched can be achieved by creating
+an empty patch file (or a symlink to /dev/null). This is only necessary
+if <em>default</em> patches are available, else it adds some overhead.</p>
+<div class="caution">
+<p class="first admonition-title">Caution!</p>
+<p class="last">Don't try to patch the (R)DEPEND variables of an ebuild.
+It will <em>randomly</em> break because <em>roverlay</em> uses unordered data structures
+for collecting dependencies.</p>
+</div>
+<p>Example:</p>
+<pre class="code text literal-block">
+&lt;additions dir&gt;/sci-CRAN/R_oo/R_oo-1.9.8.patch
+&lt;additions dir&gt;/sci-CRAN/R_oo/R_oo-1.9.8-0000.patch
+&lt;additions dir&gt;/sci-CRAN/R_oo/R_oo-1.9.8-0001.patch
+&lt;additions dir&gt;/sci-R/seewave/seewave-1.6.7.patch
+&lt;additions dir&gt;/sci-R/seewave/seewave.patch
+</pre>
+</div>
+<div class="section" id="importing-ebuilds">
+<h2><a class="toc-backref" href="#contents">6.2&nbsp;&nbsp;&nbsp;Importing ebuilds</a></h2>
+<p>Foreign ebuilds can be imported into the overlay by simple putting them into
+the additions directory.</p>
+<p>The naming convention is similar to ebuild patches and identical to the
+portage tree:</p>
+<pre class="code literal-block">
+${CATEGORY}/${PN}/${PF}.ebuild
+</pre>
+<p>Ebuilds imported that way can not be overwritten by generated ebuilds and
+benefit from most overlay creation features, e.g. Manifest file creation.
+However, they cannot be used for metadata creation.</p>
+<div class="important">
+<p class="first admonition-title">Important</p>
+<p class="last">Importing ebuilds is only supported by the default Manifest implementation
+(<em>ebuildmanifest</em>).</p>
+</div>
+</div>
+</div>
 <div class="section" id="dependency-rules">
-<h1><a class="toc-backref" href="#contents">6&nbsp;&nbsp;&nbsp;Dependency Rules</a></h1>
+<h1><a class="toc-backref" href="#contents">7&nbsp;&nbsp;&nbsp;Dependency Rules</a></h1>
 <div class="section" id="simple-dependency-rules">
-<h2><a class="toc-backref" href="#contents">6.1&nbsp;&nbsp;&nbsp;Simple Dependency Rules</a></h2>
+<h2><a class="toc-backref" href="#contents">7.1&nbsp;&nbsp;&nbsp;Simple Dependency Rules</a></h2>
 <p><em>Simple dependency rules</em> use a dictionary and string transformations
 to resolve dependencies. <em>Fuzzy simple dependency rules</em> extend these by
 a set of regular expressions, which allows to resolve many dependency strings
@@ -1309,7 +1384,7 @@ that minimally differ (e.g. only in the required version and/or comments:
 dictionary entry.</p>
 <p>This is the only rule implementation currently available.</p>
 <div class="section" id="rule-variants">
-<h3><a class="toc-backref" href="#contents">6.1.1&nbsp;&nbsp;&nbsp;Rule Variants</a></h3>
+<h3><a class="toc-backref" href="#contents">7.1.1&nbsp;&nbsp;&nbsp;Rule Variants</a></h3>
 <dl class="docutils">
 <dt>default</dt>
 <dd>The expected behavior of a dictionary-based rule: It matches one or more
@@ -1320,7 +1395,7 @@ resolve them as <strong>nothing</strong>.</dd>
 </dl>
 </div>
 <div class="section" id="rule-types">
-<h3><a class="toc-backref" href="#contents">6.1.2&nbsp;&nbsp;&nbsp;Rule types</a></h3>
+<h3><a class="toc-backref" href="#contents">7.1.2&nbsp;&nbsp;&nbsp;Rule types</a></h3>
 <dl class="docutils">
 <dt>Simple Rules</dt>
 <dd><p class="first">A simple rule resolves <strong>exact string matches</strong> (case-insensitive).</p>
@@ -1361,7 +1436,7 @@ as &quot;&lt;dev-lang/R-2.14&quot;</li>
 </dl>
 </div>
 <div class="section" id="rule-file-examples">
-<h3><a class="toc-backref" href="#contents">6.1.3&nbsp;&nbsp;&nbsp;Rule File Examples</a></h3>
+<h3><a class="toc-backref" href="#contents">7.1.3&nbsp;&nbsp;&nbsp;Rule File Examples</a></h3>
 <p>This sections lists some rule file examples.
 See <a class="reference internal" href="#rule-file-syntax">Rule File Syntax</a> for a formal description.</p>
 <dl class="docutils">
@@ -1418,7 +1493,7 @@ They can be found in <em>/etc/roverlay/simple-deprules.d</em> if <em>roverlay</e
 installed with <em>emerge</em>, else in <em>&lt;R Overlay src directory&gt;/simple-deprules.d</em>.</p>
 </div>
 <div class="section" id="rule-file-syntax">
-<span id="dependency-rule-file-syntax"></span><h3><a class="toc-backref" href="#contents">6.1.4&nbsp;&nbsp;&nbsp;Rule File Syntax</a></h3>
+<span id="dependency-rule-file-syntax"></span><h3><a class="toc-backref" href="#contents">7.1.4&nbsp;&nbsp;&nbsp;Rule File Syntax</a></h3>
 <p>Simple dependency rule files have a special syntax. Each rule is introduced
 with the resolving <em>dependency</em> prefixed by a <em>keychar</em> that sets the rule
 type if required. The <em>dependency strings</em> resolved by this rule are listed
@@ -1552,7 +1627,7 @@ as <em>sci-R/zoo</em>. This rule can be written as a single word, <em>zoo</em>.<
 </div>
 </div>
 <div class="section" id="package-rules">
-<h1><a class="toc-backref" href="#contents">7&nbsp;&nbsp;&nbsp;Package Rules</a></h1>
+<h1><a class="toc-backref" href="#contents">8&nbsp;&nbsp;&nbsp;Package Rules</a></h1>
 <p>Package Rules can be used to control both overlay and ebuild creation.
 Each package rule consists of conditions, e.g. <em>package name contains amd64</em>,
 and actions, e.g. <em>set KEYWORDS=&quot;-x86 amd64&quot;</em>.
@@ -1561,7 +1636,7 @@ otherwise the rule does nothing.
 Moreover, rules can contain further rules which will only take effect if all
 enclosing rules match a given package.</p>
 <div class="section" id="package-rule-file-syntax">
-<h2><a class="toc-backref" href="#contents">7.1&nbsp;&nbsp;&nbsp;Package Rule File Syntax</a></h2>
+<h2><a class="toc-backref" href="#contents">8.1&nbsp;&nbsp;&nbsp;Package Rule File Syntax</a></h2>
 <p>As stated above, each rule has two parts, a <em>match block</em> that lists the
 rule's conditions and an <em>action block</em> that defines which actions and
 nested rules are applied to a package if the rule matches it, i.e. if all
@@ -1591,7 +1666,7 @@ The <em>match block</em> ends with the <tt class="docutils literal">ACTION:</tt>
 Lines starting with <tt class="docutils literal">#</tt> or <tt class="docutils literal">;</tt> are considered to be comments and will be
 ignored.</p>
 <div class="section" id="match-blocks">
-<h3><a class="toc-backref" href="#contents">7.1.1&nbsp;&nbsp;&nbsp;Match Blocks</a></h3>
+<h3><a class="toc-backref" href="#contents">8.1.1&nbsp;&nbsp;&nbsp;Match Blocks</a></h3>
 <p>The <em>match block</em> lists one or more conditions, which all must evaluate to
 <em>true</em> for a certain package, otherwise no actions will be applied.
 There are two types of conditions, <em>trivial</em> conditions,
@@ -1699,7 +1774,7 @@ be replaced with their regex equivalents.</td>
 <p>The <em>accepted value</em> is a simple string or a regular expression,
 which depends on the operator.</p>
 <div class="section" id="extended-match-block-syntax">
-<h4><a class="toc-backref" href="#contents">7.1.1.1&nbsp;&nbsp;&nbsp;Extended Match Block Syntax</a></h4>
+<h4><a class="toc-backref" href="#contents">8.1.1.1&nbsp;&nbsp;&nbsp;Extended Match Block Syntax</a></h4>
 <p>Sometimes, a rule should apply its actions to a package if it matches <em>any</em>
 condition, e.g. <em>package from CRAN or BIOC</em>, or if it does not match a certain
 condition, e.g. <em>package not from BIOC/experiment</em>.</p>
@@ -1805,7 +1880,7 @@ END;
 </div>
 </div>
 <div class="section" id="action-blocks">
-<h3><a class="toc-backref" href="#contents">7.1.2&nbsp;&nbsp;&nbsp;Action Blocks</a></h3>
+<h3><a class="toc-backref" href="#contents">8.1.2&nbsp;&nbsp;&nbsp;Action Blocks</a></h3>
 <p>The action block syntax is quite simple. Each <em>action statement</em> starts
 with an <em>action keyword</em>, optionally followed by one or more <em>values</em>.</p>
 <p>Action statement syntax:</p>
@@ -1936,7 +2011,7 @@ more than once is possible, but only the last one will have an effect
 on ebuild creation.</p>
 </div>
 <div class="section" id="extended-action-block-syntax">
-<h4><a class="toc-backref" href="#contents">7.1.2.1&nbsp;&nbsp;&nbsp;Extended Action Block Syntax</a></h4>
+<h4><a class="toc-backref" href="#contents">8.1.2.1&nbsp;&nbsp;&nbsp;Extended Action Block Syntax</a></h4>
 <p>A mentioned before, action blocks can contain <em>nested rules</em>. The syntax
 is exactly the same as for the normal package rules:</p>
 <pre class="code literal-block">
@@ -1964,7 +2039,7 @@ checks necessary for a given package.</p>
 </div>
 </div>
 <div class="section" id="package-rule-examples">
-<h3><a class="toc-backref" href="#contents">7.1.3&nbsp;&nbsp;&nbsp;Package Rule Examples</a></h3>
+<h3><a class="toc-backref" href="#contents">8.1.3&nbsp;&nbsp;&nbsp;Package Rule Examples</a></h3>
 <p>A rule that ignores the 'yaqcaffy' package from CRAN, which is also available
 from BIOC:</p>
 <pre class="code literal-block">
@@ -2027,7 +2102,7 @@ END;
 </div>
 </div>
 <div class="section" id="configuration-reference">
-<h1><a class="toc-backref" href="#contents">8&nbsp;&nbsp;&nbsp;Configuration Reference</a></h1>
+<h1><a class="toc-backref" href="#contents">9&nbsp;&nbsp;&nbsp;Configuration Reference</a></h1>
 <p>The main config file uses '&lt;option&gt; = &lt;value&gt;' syntax, comment lines start
 with <strong>#</strong>. Variable substitution (&quot;${X}&quot;) is not supported. Quotes around
 the value are optional and allow to span long values over multiple lines.
@@ -2080,7 +2155,7 @@ restrictions. Commenting it out is safe.</dd>
 </dl>
 <p>The following sections will list all config entries.</p>
 <div class="section" id="misc-options">
-<h2><a class="toc-backref" href="#contents">8.1&nbsp;&nbsp;&nbsp;misc options</a></h2>
+<h2><a class="toc-backref" href="#contents">9.1&nbsp;&nbsp;&nbsp;misc options</a></h2>
 <dl class="docutils" id="distfiles">
 <dt>DISTFILES</dt>
 <dd>Alias to <a class="reference internal" href="#distfiles-root">DISTFILES_ROOT</a>.</dd>
@@ -2115,7 +2190,11 @@ This will pass '--bwlimit=&lt;value&gt;' to all rsync commands.</p>
 </dl>
 </div>
 <div class="section" id="overlay-options">
-<h2><a class="toc-backref" href="#contents">8.2&nbsp;&nbsp;&nbsp;overlay options</a></h2>
+<h2><a class="toc-backref" href="#contents">9.2&nbsp;&nbsp;&nbsp;overlay options</a></h2>
+<dl class="docutils" id="additions-dir">
+<dt>ADDITIONS_DIR:</dt>
+<dd>Alias to <a class="reference internal" href="#overlay-additions-dir">OVERLAY_ADDITIONS_DIR</a>.</dd>
+</dl>
 <dl class="docutils" id="distdir">
 <dt>DISTDIR</dt>
 <dd>Alias to <a class="reference internal" href="#overlay-distdir-root">OVERLAY_DISTDIR_ROOT</a>.</dd>
@@ -2136,6 +2215,13 @@ This will pass '--bwlimit=&lt;value&gt;' to all rsync commands.</p>
 <dt>MANIFEST_IMPLEMENTATION</dt>
 <dd>Alias to <a class="reference internal" href="#overlay-manifest-implementation">OVERLAY_MANIFEST_IMPLEMENTATION</a>.</dd>
 </dl>
+<dl class="docutils" id="overlay-additions-dir">
+<dt>OVERLAY_ADDITIONS_DIR</dt>
+<dd><p class="first">Directory with an overlay-like structure that contains extra files, e.g.
+ebuild patches and hand-written ebuilds. This option is not required.</p>
+<p class="last">Defaults to &lt;not set&gt;, which disables this feature.</p>
+</dd>
+</dl>
 <dl class="docutils" id="overlay-category">
 <dt>OVERLAY_CATEGORY</dt>
 <dd><p class="first">Sets the category of created ebuilds. There are no value type restrictions
@@ -2151,7 +2237,7 @@ for this option, but values with a slash <em>/</em> lead to errors.</p>
 </dl>
 <dl class="docutils" id="overlay-distdir-flat">
 <dt>OVERLAY_DISTDIR_FLAT</dt>
-<dd><p class="first">A <em>bool</em> that controls the overall layout of _OVERLAY_DISTDIR_ROOT.</p>
+<dd><p class="first">A <em>bool</em> that controls the overall layout of <a class="reference internal" href="#overlay-distdir-root">OVERLAY_DISTDIR_ROOT</a>.</p>
 <p>A flat distdir is a single directory with all package files or package
 file links in it. A nested distdir contains per-package directories.</p>
 <p class="last">Defaults to <em>true</em>.
@@ -2257,7 +2343,7 @@ writing.</p>
 </dl>
 </div>
 <div class="section" id="other-config-files">
-<h2><a class="toc-backref" href="#contents">8.3&nbsp;&nbsp;&nbsp;other config files</a></h2>
+<h2><a class="toc-backref" href="#contents">9.3&nbsp;&nbsp;&nbsp;other config files</a></h2>
 <p>Some config config options are split from the main config file for various
 reasons:</p>
 <ul class="simple">
@@ -2315,7 +2401,7 @@ much without dependency resolution.</p>
 </dl>
 </div>
 <div class="section" id="logging">
-<h2><a class="toc-backref" href="#contents">8.4&nbsp;&nbsp;&nbsp;logging</a></h2>
+<h2><a class="toc-backref" href="#contents">9.4&nbsp;&nbsp;&nbsp;logging</a></h2>
 <dl class="docutils" id="log-date-format">
 <dt>LOG_DATE_FORMAT</dt>
 <dd><p class="first">The date format (ISO8601) used in log messages.</p>
@@ -2340,7 +2426,7 @@ have  their own log level.</p>
 </dd>
 </dl>
 <div class="section" id="console-logging">
-<h3><a class="toc-backref" href="#contents">8.4.1&nbsp;&nbsp;&nbsp;console logging</a></h3>
+<h3><a class="toc-backref" href="#contents">9.4.1&nbsp;&nbsp;&nbsp;console logging</a></h3>
 <dl class="docutils" id="log-console">
 <dt>LOG_CONSOLE</dt>
 <dd><p class="first">Enables/Disables logging to console. The value has to be a <em>bool</em>.</p>
@@ -2361,7 +2447,7 @@ have  their own log level.</p>
 </dl>
 </div>
 <div class="section" id="file-logging">
-<h3><a class="toc-backref" href="#contents">8.4.2&nbsp;&nbsp;&nbsp;file logging</a></h3>
+<h3><a class="toc-backref" href="#contents">9.4.2&nbsp;&nbsp;&nbsp;file logging</a></h3>
 <dl class="docutils" id="log-file">
 <dt>LOG_FILE</dt>
 <dd><p class="first">Sets the log file. File logging will be disabled if this option does not
@@ -2420,7 +2506,7 @@ files will be kept.</p>
 </div>
 </div>
 <div class="section" id="options-for-debugging-manual-dependency-rule-creation-and-testing">
-<h2><a class="toc-backref" href="#contents">8.5&nbsp;&nbsp;&nbsp;options for debugging, manual dependency rule creation and testing</a></h2>
+<h2><a class="toc-backref" href="#contents">9.5&nbsp;&nbsp;&nbsp;options for debugging, manual dependency rule creation and testing</a></h2>
 <dl class="docutils" id="description-dir">
 <dt>DESCRIPTION_DIR</dt>
 <dd><p class="first">A directory where all description data read from an R package will be
@@ -2439,7 +2525,7 @@ on <em>roverlay</em> exit. Primarily useful for creating new rules.</p>
 </div>
 </div>
 <div class="section" id="field-definition-config">
-<span id="id3"></span><h1><a class="toc-backref" href="#contents">9&nbsp;&nbsp;&nbsp;Field Definition Config</a></h1>
+<span id="id3"></span><h1><a class="toc-backref" href="#contents">10&nbsp;&nbsp;&nbsp;Field Definition Config</a></h1>
 <p>The field definition file uses <a class="reference external" href="http://docs.python.org/library/configparser.html">ConfigParser</a> syntax and defines
 how an R package's DESCRIPTION file is read.
 See the next section, <a class="reference internal" href="#default-field-definition-file">default field definition file</a>,  for an example.</p>
@@ -2521,7 +2607,7 @@ such a field is found.</dd>
 <p class="last">It is not checked whether a flag is known or not.</p>
 </div>
 <div class="section" id="example-the-default-field-definition-file">
-<span id="default-field-definition-file"></span><h2><a class="toc-backref" href="#contents">9.1&nbsp;&nbsp;&nbsp;Example: The default field definition file</a></h2>
+<span id="default-field-definition-file"></span><h2><a class="toc-backref" href="#contents">10.1&nbsp;&nbsp;&nbsp;Example: The default field definition file</a></h2>
 <p>This is the default field definition file (without any ignored fields):</p>
 <pre class="code ini literal-block">
 <span class="keyword">[Description]</span>
@@ -2557,7 +2643,7 @@ such a field is found.</dd>
 </div>
 </div>
 <div class="section" id="dependency-resolution-console">
-<span id="depres-console"></span><h1><a class="toc-backref" href="#contents">10&nbsp;&nbsp;&nbsp;Dependency Resolution Console</a></h1>
+<span id="depres-console"></span><h1><a class="toc-backref" href="#contents">11&nbsp;&nbsp;&nbsp;Dependency Resolution Console</a></h1>
 <p>As previously stated, the <em>DepRes Console</em> is only meant for <strong>testing</strong>.
 It is an interactive console with the following features:</p>
 <ul class="simple">
@@ -2715,13 +2801,13 @@ cmd % exit
 </dl>
 </div>
 <div class="section" id="implementation-overview">
-<h1><a class="toc-backref" href="#contents">11&nbsp;&nbsp;&nbsp;Implementation Overview</a></h1>
+<h1><a class="toc-backref" href="#contents">12&nbsp;&nbsp;&nbsp;Implementation Overview</a></h1>
 <p>This chapter gives an in-depth overview of how roverlay works.
 Code documentation is also available and html pages for it can be created
 with <tt class="docutils literal">make pydoc</tt> in the <em>R Overlay src directory</em> or by using pydoc
 directly.</p>
 <div class="section" id="packageinfo">
-<h2><a class="toc-backref" href="#contents">11.1&nbsp;&nbsp;&nbsp;PackageInfo</a></h2>
+<h2><a class="toc-backref" href="#contents">12.1&nbsp;&nbsp;&nbsp;PackageInfo</a></h2>
 <p><em>PackageInfo</em> is the data object that contains all information about an
 R package and is created by the owning repository.</p>
 <p>After initialization it contains data like</p>
@@ -2742,7 +2828,7 @@ for it. Otherwise, <em>p</em> is now part of the overlay and has to pass
 <em>ebuild creation</em>.</p>
 </div>
 <div class="section" id="repository-management">
-<h2><a class="toc-backref" href="#contents">11.2&nbsp;&nbsp;&nbsp;Repository Management</a></h2>
+<h2><a class="toc-backref" href="#contents">12.2&nbsp;&nbsp;&nbsp;Repository Management</a></h2>
 <p>Repositories are managed in a list-like object, <em>RepoList</em>. Its task is to
 provide R package input for overlay creation and implements the following
 functionality:</p>
@@ -2753,7 +2839,7 @@ functionality:</p>
 <li>create <em>PackageInfo</em> instances for R packages from all repositories</li>
 </ul>
 <div class="section" id="repository">
-<h3><a class="toc-backref" href="#contents">11.2.1&nbsp;&nbsp;&nbsp;Repository</a></h3>
+<h3><a class="toc-backref" href="#contents">12.2.1&nbsp;&nbsp;&nbsp;Repository</a></h3>
 <p>The functionality described above is an abstraction layer that calls the
 respective function for each repository and collects the result.
 So, while the <em>RepoList</em> object knows <em>what</em> to do for all repositories,
@@ -2794,7 +2880,7 @@ subclass-specifc <em>_sync()</em>/<em>_nosync()</em> functions if available.
 repository types, <em>rsync</em>, <em>websync_repo</em> and <em>websync_pkglist</em> derive from
 <em>BasicRepo</em>.</p>
 <div class="section" id="adding-new-repository-types">
-<h4><a class="toc-backref" href="#contents">11.2.1.1&nbsp;&nbsp;&nbsp;Adding new repository types</a></h4>
+<h4><a class="toc-backref" href="#contents">12.2.1.1&nbsp;&nbsp;&nbsp;Adding new repository types</a></h4>
 <p>Adding new repository types is best done by creating a new repo class
 that inherits <em>BasicRepo</em>. The table below shows <em>BasicRepo</em>'s subclass
 awareness concerning <em>sync()</em> and what may be changed if required.
@@ -2881,7 +2967,7 @@ to be accessible.</p>
 </div>
 </div>
 <div class="section" id="overlay">
-<h2><a class="toc-backref" href="#contents">11.3&nbsp;&nbsp;&nbsp;Overlay</a></h2>
+<h2><a class="toc-backref" href="#contents">12.3&nbsp;&nbsp;&nbsp;Overlay</a></h2>
 <p>The <em>overlay</em> is roverlay's central data structure that represents a <em>portage
 overlay</em>. It is organized in a tree structure (overlay root, categories,
 package directories) and implements all overlay-related functionality:</p>
@@ -2912,7 +2998,7 @@ level</p>
 </li>
 </ul>
 <div class="section" id="metadata-creation">
-<h3><a class="toc-backref" href="#contents">11.3.1&nbsp;&nbsp;&nbsp;Metadata Creation</a></h3>
+<h3><a class="toc-backref" href="#contents">12.3.1&nbsp;&nbsp;&nbsp;Metadata Creation</a></h3>
 <p><em>metadata.xml</em> files are created with a tree structure that contains <em>metadata
 nodes</em>, e.g. '&lt;pkgmetadata&gt;...&lt;/pkgmetadata&gt;' and '&lt;use&gt;...&lt;/use&gt;' are <em>nodes</em>.
 The current implementation writes the R package's full description
@@ -2921,7 +3007,7 @@ Metadata creation uses the latest package, i.e. highest version,
 for which an ebuild has been created.</p>
 </div>
 <div class="section" id="manifest-creation">
-<h3><a class="toc-backref" href="#contents">11.3.2&nbsp;&nbsp;&nbsp;Manifest Creation</a></h3>
+<h3><a class="toc-backref" href="#contents">12.3.2&nbsp;&nbsp;&nbsp;Manifest Creation</a></h3>
 <p>Manifest files are created by calling the <em>ebuild</em> executable for each
 package directory in a filtered environment where FETCHCOMMAND and
 RESUMECOMMAND are set to no-operation. The directories that contain the R
@@ -2930,7 +3016,7 @@ is set to <a class="reference internal" href="#distfiles-root">DISTFILES_ROOT</a
 </div>
 </div>
 <div class="section" id="ebuild-creation">
-<h2><a class="toc-backref" href="#contents">11.4&nbsp;&nbsp;&nbsp;Ebuild Creation</a></h2>
+<h2><a class="toc-backref" href="#contents">12.4&nbsp;&nbsp;&nbsp;Ebuild Creation</a></h2>
 <p>Ebuild creation is the process centered around one <em>PackageInfo</em> instance <em>p</em>
 that tries to create an ebuild for it.</p>
 <p>It does the following steps:</p>
@@ -2949,7 +3035,7 @@ order to save memory etc.</li>
 as <em>ebuild successfully created</em></li>
 </ol>
 <div class="section" id="ebuild-variables">
-<h3><a class="toc-backref" href="#contents">11.4.1&nbsp;&nbsp;&nbsp;Ebuild Variables</a></h3>
+<h3><a class="toc-backref" href="#contents">12.4.1&nbsp;&nbsp;&nbsp;Ebuild Variables</a></h3>
 <p>Each ebuild variable is an object whose class is derived from the <em>EbuildVar</em>
 class. An <em>EbuildVar</em> defines its position in the ebuild and  how its text
 output should look like. Ebuild text is created by adding ebuild variables
@@ -2957,7 +3043,7 @@ to an <em>Ebuilder</em> that automatically sorts them and creates the ebuild.</p
 </div>
 </div>
 <div class="section" id="overlay-creation">
-<h2><a class="toc-backref" href="#contents">11.5&nbsp;&nbsp;&nbsp;Overlay Creation</a></h2>
+<h2><a class="toc-backref" href="#contents">12.5&nbsp;&nbsp;&nbsp;Overlay Creation</a></h2>
 <p>Overlay creation is the process of creating an overlay for many R packages
 and <em>roverlay</em>'s main task. More specifically, <em>OverlayCreation</em> is an
 <em>R packages -&gt; Overlay (-&gt; overlay in filesystem)</em> interface.
@@ -2971,7 +3057,7 @@ instead the event is logged. Running more than one <em>OverlayWorker</em> in par
 is possible.</p>
 </div>
 <div class="section" id="dependency-resolution">
-<h2><a class="toc-backref" href="#contents">11.6&nbsp;&nbsp;&nbsp;Dependency Resolution</a></h2>
+<h2><a class="toc-backref" href="#contents">12.6&nbsp;&nbsp;&nbsp;Dependency Resolution</a></h2>
 <p>Each ebuild creation process has access to the <em>dependency resolver</em> that
 accepts <em>dependency strings</em>, tries to resolve them and returns the result,
 either &quot;unresolvable&quot; or the resolving <em>dependency</em> as
@@ -2993,7 +3079,7 @@ all <em>required dependencies</em>. No ebuild can be created in that case.</li>
 <p>Details about dependency resolution like how <em>channels</em> work can be found
 in the following subsections.</p>
 <div class="section" id="dependency-types">
-<h3><a class="toc-backref" href="#contents">11.6.1&nbsp;&nbsp;&nbsp;Dependency types</a></h3>
+<h3><a class="toc-backref" href="#contents">12.6.1&nbsp;&nbsp;&nbsp;Dependency types</a></h3>
 <p>Every <em>dependency string</em> has a <em>dependency type</em> that declares how a
 dependency should be resolved. It has one or more of these properties:</p>
 <dl class="docutils">
@@ -3022,7 +3108,7 @@ The <em>Suggests</em> field, for example, gets the
 <em>&quot;package dependency only and optional&quot;</em> type, whereas the <em>SystemRequirements</em>
 gets <em>&quot;system dependency, but try others, and mandatory&quot;</em>.</p>
 <div class="section" id="description-file-dependency-fields">
-<h4><a class="toc-backref" href="#contents">11.6.1.1&nbsp;&nbsp;&nbsp;DESCRIPTION file dependency fields</a></h4>
+<h4><a class="toc-backref" href="#contents">12.6.1.1&nbsp;&nbsp;&nbsp;DESCRIPTION file dependency fields</a></h4>
 <p>The DESCRIPTION file of an R package contains several fields that list
 dependencies on R packages or other software like scientific libraries.
 This section describes which <em>dependency fields</em> are used and how.</p>
@@ -3081,7 +3167,7 @@ but optional dependencies during the <em>pkg_postinst()</em> ebuild phase.</p>
 </div>
 </div>
 <div class="section" id="dependency-environments">
-<h3><a class="toc-backref" href="#contents">11.6.2&nbsp;&nbsp;&nbsp;Dependency Environments</a></h3>
+<h3><a class="toc-backref" href="#contents">12.6.2&nbsp;&nbsp;&nbsp;Dependency Environments</a></h3>
 <p>A <em>dependency environment</em> is an object that reflects the whole dependency
 resolution process of a single <em>dependency string</em>. It usually contains
 the <em>dependency string</em>, its <em>dependency type</em>, information about its
@@ -3091,7 +3177,7 @@ resolving resolving <em>dependency</em>, if any.</p>
 <em>dependency resolver</em>.</p>
 </div>
 <div class="section" id="ebuildjob-channel">
-<h3><a class="toc-backref" href="#contents">11.6.3&nbsp;&nbsp;&nbsp;EbuildJob Channel</a></h3>
+<h3><a class="toc-backref" href="#contents">12.6.3&nbsp;&nbsp;&nbsp;EbuildJob Channel</a></h3>
 <p>The <em>EbuildJob Channel</em> is used by the ebuild creation to communicate with
 the <em>dependency resolver</em>. It is initialized by an ebuild creation process and
 realizes a greedy <em>string to string</em> dependency resolution.</p>
@@ -3128,7 +3214,7 @@ dependencies are unresolvable.</li>
 </ol>
 </div>
 <div class="section" id="dependency-rule-pools">
-<h3><a class="toc-backref" href="#contents">11.6.4&nbsp;&nbsp;&nbsp;Dependency Rule Pools</a></h3>
+<h3><a class="toc-backref" href="#contents">12.6.4&nbsp;&nbsp;&nbsp;Dependency Rule Pools</a></h3>
 <p>The <em>dependency resolver</em> does not know <em>how</em> to resolve a <em>dependency string</em>.
 Instead, it searches through a list of <em>dependency rule pools</em> that may be
 able to do this.</p>
@@ -3151,7 +3237,7 @@ R package dependencies.
 By convention, it will never resolve any system dependencies.</p>
 </div>
 <div class="section" id="dependency-resolver-modules">
-<h3><a class="toc-backref" href="#contents">11.6.5&nbsp;&nbsp;&nbsp;Dependency Resolver Modules</a></h3>
+<h3><a class="toc-backref" href="#contents">12.6.5&nbsp;&nbsp;&nbsp;Dependency Resolver Modules</a></h3>
 <p>The dependency resolver can be extended by modules. Two base types are
 available, <em>channels</em> and <em>listeners</em>.</p>
 <dl class="docutils">
@@ -3171,7 +3257,7 @@ resolution, wait for results, and send them to the other end.</p>
 </dl>
 </div>
 <div class="section" id="dependency-resolver">
-<h3><a class="toc-backref" href="#contents">11.6.6&nbsp;&nbsp;&nbsp;Dependency Resolver</a></h3>
+<h3><a class="toc-backref" href="#contents">12.6.6&nbsp;&nbsp;&nbsp;Dependency Resolver</a></h3>
 <p>The dependency resolver puts all parts of dependency resolution together,
 <em>rule pools</em>, <em>listeners</em> and <em>channels</em>. Its main task is a loop that
 processes all queued <em>dependency environments</em> and sends the result back to
@@ -3229,7 +3315,7 @@ becomes &quot;loop until resolver closes&quot;.</p>
 </div>
 <div class="footer">
 <hr class="footer" />
-Generated on: 2013-06-05.
+Generated on: 2013-06-12.
 
 </div>
 </body>


^ permalink raw reply related	[flat|nested] 9+ messages in thread
* [gentoo-commits] proj/R_overlay:gsoc13/next commit in: doc/html/
@ 2013-06-05 18:08 André Erdmann
  0 siblings, 0 replies; 9+ messages in thread
From: André Erdmann @ 2013-06-05 18:08 UTC (permalink / raw
  To: gentoo-commits

commit:     e1d57a113226f2a8147ebdd26d47e3224bda4179
Author:     André Erdmann <dywi <AT> mailerd <DOT> de>
AuthorDate: Wed Jun  5 18:05:51 2013 +0000
Commit:     André Erdmann <dywi <AT> mailerd <DOT> de>
CommitDate: Wed Jun  5 18:05:51 2013 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/R_overlay.git;a=commit;h=e1d57a11

doc/html, package rules: set/rename actions

---
 doc/html/usage.html | 263 +++++++++++++++++++++++++++++++++++++---------------
 1 file changed, 188 insertions(+), 75 deletions(-)

diff --git a/doc/html/usage.html b/doc/html/usage.html
index 62e4e9a..a02a772 100644
--- a/doc/html/usage.html
+++ b/doc/html/usage.html
@@ -329,111 +329,111 @@ ul.auto-toc {
 <div class="contents topic" id="contents">
 <p class="topic-title first">Contents</p>
 <ul class="auto-toc simple">
-<li><a class="reference internal" href="#introduction" id="id5">1&nbsp;&nbsp;&nbsp;Introduction</a></li>
-<li><a class="reference internal" href="#installation" id="id6">2&nbsp;&nbsp;&nbsp;Installation</a><ul class="auto-toc">
-<li><a class="reference internal" href="#prerequisites" id="id7">2.1&nbsp;&nbsp;&nbsp;Prerequisites</a></li>
-<li><a class="reference internal" href="#via-emerge-gentoo" id="id8">2.2&nbsp;&nbsp;&nbsp;via emerge (Gentoo)</a></li>
-<li><a class="reference internal" href="#manual-installation" id="id9">2.3&nbsp;&nbsp;&nbsp;Manual Installation</a></li>
-<li><a class="reference internal" href="#using-roverlay-without-installation" id="id10">2.4&nbsp;&nbsp;&nbsp;Using <em>roverlay</em> without installation</a></li>
+<li><a class="reference internal" href="#introduction" id="id4">1&nbsp;&nbsp;&nbsp;Introduction</a></li>
+<li><a class="reference internal" href="#installation" id="id5">2&nbsp;&nbsp;&nbsp;Installation</a><ul class="auto-toc">
+<li><a class="reference internal" href="#prerequisites" id="id6">2.1&nbsp;&nbsp;&nbsp;Prerequisites</a></li>
+<li><a class="reference internal" href="#via-emerge-gentoo" id="id7">2.2&nbsp;&nbsp;&nbsp;via emerge (Gentoo)</a></li>
+<li><a class="reference internal" href="#manual-installation" id="id8">2.3&nbsp;&nbsp;&nbsp;Manual Installation</a></li>
+<li><a class="reference internal" href="#using-roverlay-without-installation" id="id9">2.4&nbsp;&nbsp;&nbsp;Using <em>roverlay</em> without installation</a></li>
 </ul>
 </li>
-<li><a class="reference internal" href="#running-roverlay" id="id11">3&nbsp;&nbsp;&nbsp;Running Roverlay</a><ul class="auto-toc">
-<li><a class="reference internal" href="#required-configuration-steps" id="id12">3.1&nbsp;&nbsp;&nbsp;Required configuration steps</a><ul class="auto-toc">
-<li><a class="reference internal" href="#extended-configuration-where-to-go-from-here" id="id13">3.1.1&nbsp;&nbsp;&nbsp;Extended Configuration / Where to go from here?</a></li>
+<li><a class="reference internal" href="#running-roverlay" id="id10">3&nbsp;&nbsp;&nbsp;Running Roverlay</a><ul class="auto-toc">
+<li><a class="reference internal" href="#required-configuration-steps" id="id11">3.1&nbsp;&nbsp;&nbsp;Required configuration steps</a><ul class="auto-toc">
+<li><a class="reference internal" href="#extended-configuration-where-to-go-from-here" id="id12">3.1.1&nbsp;&nbsp;&nbsp;Extended Configuration / Where to go from here?</a></li>
 </ul>
 </li>
-<li><a class="reference internal" href="#running-it" id="id14">3.2&nbsp;&nbsp;&nbsp;Running it</a></li>
-<li><a class="reference internal" href="#providing-a-package-mirror" id="id15">3.3&nbsp;&nbsp;&nbsp;Providing a package mirror</a></li>
+<li><a class="reference internal" href="#running-it" id="id13">3.2&nbsp;&nbsp;&nbsp;Running it</a></li>
+<li><a class="reference internal" href="#providing-a-package-mirror" id="id14">3.3&nbsp;&nbsp;&nbsp;Providing a package mirror</a></li>
 </ul>
 </li>
-<li><a class="reference internal" href="#basic-implementation-overview" id="id16">4&nbsp;&nbsp;&nbsp;Basic Implementation Overview</a><ul class="auto-toc">
-<li><a class="reference internal" href="#how-roverlay-works" id="id17">4.1&nbsp;&nbsp;&nbsp;How <em>roverlay</em> works</a></li>
-<li><a class="reference internal" href="#expected-overlay-result-structure-of-the-generated-overlay" id="id18">4.2&nbsp;&nbsp;&nbsp;Expected Overlay Result / Structure of the generated overlay</a><ul class="auto-toc">
-<li><a class="reference internal" href="#expected-ebuild-result" id="id19">4.2.1&nbsp;&nbsp;&nbsp;Expected Ebuild Result</a></li>
-<li><a class="reference internal" href="#expected-metadata-xml-result" id="id20">4.2.2&nbsp;&nbsp;&nbsp;Expected <em>metadata.xml</em> Result</a></li>
+<li><a class="reference internal" href="#basic-implementation-overview" id="id15">4&nbsp;&nbsp;&nbsp;Basic Implementation Overview</a><ul class="auto-toc">
+<li><a class="reference internal" href="#how-roverlay-works" id="id16">4.1&nbsp;&nbsp;&nbsp;How <em>roverlay</em> works</a></li>
+<li><a class="reference internal" href="#expected-overlay-result-structure-of-the-generated-overlay" id="id17">4.2&nbsp;&nbsp;&nbsp;Expected Overlay Result / Structure of the generated overlay</a><ul class="auto-toc">
+<li><a class="reference internal" href="#expected-ebuild-result" id="id18">4.2.1&nbsp;&nbsp;&nbsp;Expected Ebuild Result</a></li>
+<li><a class="reference internal" href="#expected-metadata-xml-result" id="id19">4.2.2&nbsp;&nbsp;&nbsp;Expected <em>metadata.xml</em> Result</a></li>
 </ul>
 </li>
 </ul>
 </li>
-<li><a class="reference internal" href="#repositories-getting-packages" id="id21">5&nbsp;&nbsp;&nbsp;Repositories / Getting Packages</a><ul class="auto-toc">
-<li><a class="reference internal" href="#a-word-about-repo-config-files" id="id22">5.1&nbsp;&nbsp;&nbsp;A word about repo config files</a></li>
-<li><a class="reference internal" href="#rsync-repos" id="id23">5.2&nbsp;&nbsp;&nbsp;Rsync repos</a></li>
-<li><a class="reference internal" href="#getting-packages-from-a-repository-that-supports-http-only" id="id24">5.3&nbsp;&nbsp;&nbsp;Getting packages from a repository that supports http only</a></li>
-<li><a class="reference internal" href="#getting-packages-from-several-remotes-using-http-and-a-package-list" id="id25">5.4&nbsp;&nbsp;&nbsp;Getting packages from several remotes using http and a package list</a></li>
-<li><a class="reference internal" href="#using-local-directories" id="id26">5.5&nbsp;&nbsp;&nbsp;Using local directories</a></li>
+<li><a class="reference internal" href="#repositories-getting-packages" id="id20">5&nbsp;&nbsp;&nbsp;Repositories / Getting Packages</a><ul class="auto-toc">
+<li><a class="reference internal" href="#a-word-about-repo-config-files" id="id21">5.1&nbsp;&nbsp;&nbsp;A word about repo config files</a></li>
+<li><a class="reference internal" href="#rsync-repos" id="id22">5.2&nbsp;&nbsp;&nbsp;Rsync repos</a></li>
+<li><a class="reference internal" href="#getting-packages-from-a-repository-that-supports-http-only" id="id23">5.3&nbsp;&nbsp;&nbsp;Getting packages from a repository that supports http only</a></li>
+<li><a class="reference internal" href="#getting-packages-from-several-remotes-using-http-and-a-package-list" id="id24">5.4&nbsp;&nbsp;&nbsp;Getting packages from several remotes using http and a package list</a></li>
+<li><a class="reference internal" href="#using-local-directories" id="id25">5.5&nbsp;&nbsp;&nbsp;Using local directories</a></li>
 </ul>
 </li>
-<li><a class="reference internal" href="#dependency-rules" id="id27">6&nbsp;&nbsp;&nbsp;Dependency Rules</a><ul class="auto-toc">
-<li><a class="reference internal" href="#simple-dependency-rules" id="id28">6.1&nbsp;&nbsp;&nbsp;Simple Dependency Rules</a><ul class="auto-toc">
-<li><a class="reference internal" href="#rule-variants" id="id29">6.1.1&nbsp;&nbsp;&nbsp;Rule Variants</a></li>
-<li><a class="reference internal" href="#rule-types" id="id30">6.1.2&nbsp;&nbsp;&nbsp;Rule types</a></li>
-<li><a class="reference internal" href="#rule-file-examples" id="id31">6.1.3&nbsp;&nbsp;&nbsp;Rule File Examples</a></li>
-<li><a class="reference internal" href="#rule-file-syntax" id="id32">6.1.4&nbsp;&nbsp;&nbsp;Rule File Syntax</a></li>
+<li><a class="reference internal" href="#dependency-rules" id="id26">6&nbsp;&nbsp;&nbsp;Dependency Rules</a><ul class="auto-toc">
+<li><a class="reference internal" href="#simple-dependency-rules" id="id27">6.1&nbsp;&nbsp;&nbsp;Simple Dependency Rules</a><ul class="auto-toc">
+<li><a class="reference internal" href="#rule-variants" id="id28">6.1.1&nbsp;&nbsp;&nbsp;Rule Variants</a></li>
+<li><a class="reference internal" href="#rule-types" id="id29">6.1.2&nbsp;&nbsp;&nbsp;Rule types</a></li>
+<li><a class="reference internal" href="#rule-file-examples" id="id30">6.1.3&nbsp;&nbsp;&nbsp;Rule File Examples</a></li>
+<li><a class="reference internal" href="#rule-file-syntax" id="id31">6.1.4&nbsp;&nbsp;&nbsp;Rule File Syntax</a></li>
 </ul>
 </li>
 </ul>
 </li>
-<li><a class="reference internal" href="#package-rules" id="id33">7&nbsp;&nbsp;&nbsp;Package Rules</a><ul class="auto-toc">
-<li><a class="reference internal" href="#package-rule-file-syntax" id="id34">7.1&nbsp;&nbsp;&nbsp;Package Rule File Syntax</a><ul class="auto-toc">
-<li><a class="reference internal" href="#match-blocks" id="id35">7.1.1&nbsp;&nbsp;&nbsp;Match Blocks</a><ul class="auto-toc">
-<li><a class="reference internal" href="#extended-match-block-syntax" id="id36">7.1.1.1&nbsp;&nbsp;&nbsp;Extended Match Block Syntax</a></li>
+<li><a class="reference internal" href="#package-rules" id="id32">7&nbsp;&nbsp;&nbsp;Package Rules</a><ul class="auto-toc">
+<li><a class="reference internal" href="#package-rule-file-syntax" id="id33">7.1&nbsp;&nbsp;&nbsp;Package Rule File Syntax</a><ul class="auto-toc">
+<li><a class="reference internal" href="#match-blocks" id="id34">7.1.1&nbsp;&nbsp;&nbsp;Match Blocks</a><ul class="auto-toc">
+<li><a class="reference internal" href="#extended-match-block-syntax" id="id35">7.1.1.1&nbsp;&nbsp;&nbsp;Extended Match Block Syntax</a></li>
 </ul>
 </li>
-<li><a class="reference internal" href="#action-blocks" id="id37">7.1.2&nbsp;&nbsp;&nbsp;Action Blocks</a><ul class="auto-toc">
-<li><a class="reference internal" href="#extended-action-block-syntax" id="id38">7.1.2.1&nbsp;&nbsp;&nbsp;Extended Action Block Syntax</a></li>
+<li><a class="reference internal" href="#action-blocks" id="id36">7.1.2&nbsp;&nbsp;&nbsp;Action Blocks</a><ul class="auto-toc">
+<li><a class="reference internal" href="#extended-action-block-syntax" id="id37">7.1.2.1&nbsp;&nbsp;&nbsp;Extended Action Block Syntax</a></li>
 </ul>
 </li>
-<li><a class="reference internal" href="#package-rule-examples" id="id39">7.1.3&nbsp;&nbsp;&nbsp;Package Rule Examples</a></li>
+<li><a class="reference internal" href="#package-rule-examples" id="id38">7.1.3&nbsp;&nbsp;&nbsp;Package Rule Examples</a></li>
 </ul>
 </li>
 </ul>
 </li>
-<li><a class="reference internal" href="#configuration-reference" id="id40">8&nbsp;&nbsp;&nbsp;Configuration Reference</a><ul class="auto-toc">
-<li><a class="reference internal" href="#misc-options" id="id41">8.1&nbsp;&nbsp;&nbsp;misc options</a></li>
-<li><a class="reference internal" href="#overlay-options" id="id42">8.2&nbsp;&nbsp;&nbsp;overlay options</a></li>
-<li><a class="reference internal" href="#other-config-files" id="id43">8.3&nbsp;&nbsp;&nbsp;other config files</a></li>
-<li><a class="reference internal" href="#logging" id="id44">8.4&nbsp;&nbsp;&nbsp;logging</a><ul class="auto-toc">
-<li><a class="reference internal" href="#console-logging" id="id45">8.4.1&nbsp;&nbsp;&nbsp;console logging</a></li>
-<li><a class="reference internal" href="#file-logging" id="id46">8.4.2&nbsp;&nbsp;&nbsp;file logging</a></li>
+<li><a class="reference internal" href="#configuration-reference" id="id39">8&nbsp;&nbsp;&nbsp;Configuration Reference</a><ul class="auto-toc">
+<li><a class="reference internal" href="#misc-options" id="id40">8.1&nbsp;&nbsp;&nbsp;misc options</a></li>
+<li><a class="reference internal" href="#overlay-options" id="id41">8.2&nbsp;&nbsp;&nbsp;overlay options</a></li>
+<li><a class="reference internal" href="#other-config-files" id="id42">8.3&nbsp;&nbsp;&nbsp;other config files</a></li>
+<li><a class="reference internal" href="#logging" id="id43">8.4&nbsp;&nbsp;&nbsp;logging</a><ul class="auto-toc">
+<li><a class="reference internal" href="#console-logging" id="id44">8.4.1&nbsp;&nbsp;&nbsp;console logging</a></li>
+<li><a class="reference internal" href="#file-logging" id="id45">8.4.2&nbsp;&nbsp;&nbsp;file logging</a></li>
 </ul>
 </li>
-<li><a class="reference internal" href="#options-for-debugging-manual-dependency-rule-creation-and-testing" id="id47">8.5&nbsp;&nbsp;&nbsp;options for debugging, manual dependency rule creation and testing</a></li>
+<li><a class="reference internal" href="#options-for-debugging-manual-dependency-rule-creation-and-testing" id="id46">8.5&nbsp;&nbsp;&nbsp;options for debugging, manual dependency rule creation and testing</a></li>
 </ul>
 </li>
-<li><a class="reference internal" href="#field-definition-config" id="id48">9&nbsp;&nbsp;&nbsp;Field Definition Config</a><ul class="auto-toc">
-<li><a class="reference internal" href="#example-the-default-field-definition-file" id="id49">9.1&nbsp;&nbsp;&nbsp;Example: The default field definition file</a></li>
+<li><a class="reference internal" href="#field-definition-config" id="id47">9&nbsp;&nbsp;&nbsp;Field Definition Config</a><ul class="auto-toc">
+<li><a class="reference internal" href="#example-the-default-field-definition-file" id="id48">9.1&nbsp;&nbsp;&nbsp;Example: The default field definition file</a></li>
 </ul>
 </li>
-<li><a class="reference internal" href="#dependency-resolution-console" id="id50">10&nbsp;&nbsp;&nbsp;Dependency Resolution Console</a></li>
-<li><a class="reference internal" href="#implementation-overview" id="id51">11&nbsp;&nbsp;&nbsp;Implementation Overview</a><ul class="auto-toc">
-<li><a class="reference internal" href="#packageinfo" id="id52">11.1&nbsp;&nbsp;&nbsp;PackageInfo</a></li>
-<li><a class="reference internal" href="#repository-management" id="id53">11.2&nbsp;&nbsp;&nbsp;Repository Management</a><ul class="auto-toc">
-<li><a class="reference internal" href="#id4" id="id54">11.2.1&nbsp;&nbsp;&nbsp;Repositories</a><ul class="auto-toc">
-<li><a class="reference internal" href="#adding-new-repository-types" id="id55">11.2.1.1&nbsp;&nbsp;&nbsp;Adding new repository types</a></li>
+<li><a class="reference internal" href="#dependency-resolution-console" id="id49">10&nbsp;&nbsp;&nbsp;Dependency Resolution Console</a></li>
+<li><a class="reference internal" href="#implementation-overview" id="id50">11&nbsp;&nbsp;&nbsp;Implementation Overview</a><ul class="auto-toc">
+<li><a class="reference internal" href="#packageinfo" id="id51">11.1&nbsp;&nbsp;&nbsp;PackageInfo</a></li>
+<li><a class="reference internal" href="#repository-management" id="id52">11.2&nbsp;&nbsp;&nbsp;Repository Management</a><ul class="auto-toc">
+<li><a class="reference internal" href="#repository" id="id53">11.2.1&nbsp;&nbsp;&nbsp;Repository</a><ul class="auto-toc">
+<li><a class="reference internal" href="#adding-new-repository-types" id="id54">11.2.1.1&nbsp;&nbsp;&nbsp;Adding new repository types</a></li>
 </ul>
 </li>
 </ul>
 </li>
-<li><a class="reference internal" href="#overlay" id="id56">11.3&nbsp;&nbsp;&nbsp;Overlay</a><ul class="auto-toc">
-<li><a class="reference internal" href="#metadata-creation" id="id57">11.3.1&nbsp;&nbsp;&nbsp;Metadata Creation</a></li>
-<li><a class="reference internal" href="#manifest-creation" id="id58">11.3.2&nbsp;&nbsp;&nbsp;Manifest Creation</a></li>
+<li><a class="reference internal" href="#overlay" id="id55">11.3&nbsp;&nbsp;&nbsp;Overlay</a><ul class="auto-toc">
+<li><a class="reference internal" href="#metadata-creation" id="id56">11.3.1&nbsp;&nbsp;&nbsp;Metadata Creation</a></li>
+<li><a class="reference internal" href="#manifest-creation" id="id57">11.3.2&nbsp;&nbsp;&nbsp;Manifest Creation</a></li>
 </ul>
 </li>
-<li><a class="reference internal" href="#ebuild-creation" id="id59">11.4&nbsp;&nbsp;&nbsp;Ebuild Creation</a><ul class="auto-toc">
-<li><a class="reference internal" href="#ebuild-variables" id="id60">11.4.1&nbsp;&nbsp;&nbsp;Ebuild Variables</a></li>
+<li><a class="reference internal" href="#ebuild-creation" id="id58">11.4&nbsp;&nbsp;&nbsp;Ebuild Creation</a><ul class="auto-toc">
+<li><a class="reference internal" href="#ebuild-variables" id="id59">11.4.1&nbsp;&nbsp;&nbsp;Ebuild Variables</a></li>
 </ul>
 </li>
-<li><a class="reference internal" href="#overlay-creation" id="id61">11.5&nbsp;&nbsp;&nbsp;Overlay Creation</a></li>
-<li><a class="reference internal" href="#dependency-resolution" id="id62">11.6&nbsp;&nbsp;&nbsp;Dependency Resolution</a><ul class="auto-toc">
-<li><a class="reference internal" href="#dependency-types" id="id63">11.6.1&nbsp;&nbsp;&nbsp;Dependency types</a><ul class="auto-toc">
-<li><a class="reference internal" href="#description-file-dependency-fields" id="id64">11.6.1.1&nbsp;&nbsp;&nbsp;DESCRIPTION file dependency fields</a></li>
+<li><a class="reference internal" href="#overlay-creation" id="id60">11.5&nbsp;&nbsp;&nbsp;Overlay Creation</a></li>
+<li><a class="reference internal" href="#dependency-resolution" id="id61">11.6&nbsp;&nbsp;&nbsp;Dependency Resolution</a><ul class="auto-toc">
+<li><a class="reference internal" href="#dependency-types" id="id62">11.6.1&nbsp;&nbsp;&nbsp;Dependency types</a><ul class="auto-toc">
+<li><a class="reference internal" href="#description-file-dependency-fields" id="id63">11.6.1.1&nbsp;&nbsp;&nbsp;DESCRIPTION file dependency fields</a></li>
 </ul>
 </li>
-<li><a class="reference internal" href="#dependency-environments" id="id65">11.6.2&nbsp;&nbsp;&nbsp;Dependency Environments</a></li>
-<li><a class="reference internal" href="#ebuildjob-channel" id="id66">11.6.3&nbsp;&nbsp;&nbsp;EbuildJob Channel</a></li>
-<li><a class="reference internal" href="#dependency-rule-pools" id="id67">11.6.4&nbsp;&nbsp;&nbsp;Dependency Rule Pools</a></li>
-<li><a class="reference internal" href="#dependency-resolver-modules" id="id68">11.6.5&nbsp;&nbsp;&nbsp;Dependency Resolver Modules</a></li>
-<li><a class="reference internal" href="#dependency-resolver" id="id69">11.6.6&nbsp;&nbsp;&nbsp;Dependency Resolver</a></li>
+<li><a class="reference internal" href="#dependency-environments" id="id64">11.6.2&nbsp;&nbsp;&nbsp;Dependency Environments</a></li>
+<li><a class="reference internal" href="#ebuildjob-channel" id="id65">11.6.3&nbsp;&nbsp;&nbsp;EbuildJob Channel</a></li>
+<li><a class="reference internal" href="#dependency-rule-pools" id="id66">11.6.4&nbsp;&nbsp;&nbsp;Dependency Rule Pools</a></li>
+<li><a class="reference internal" href="#dependency-resolver-modules" id="id67">11.6.5&nbsp;&nbsp;&nbsp;Dependency Resolver Modules</a></li>
+<li><a class="reference internal" href="#dependency-resolver" id="id68">11.6.6&nbsp;&nbsp;&nbsp;Dependency Resolver</a></li>
 </ul>
 </li>
 </ul>
@@ -791,6 +791,11 @@ the faster write mechanism (at ca. 95% ebuild creation success rate),
 the default package repositories.</p>
 </td></tr>
 <tr><td class="option-group" colspan="2">
+<kbd><span class="option">--fixup-category-move</span>, <span class="option">--fixup-category-move-reverse</span></kbd></td>
+</tr>
+<tr><td>&nbsp;</td><td>Remove ebuilds that have been moved to a different category.
+See <a class="reference internal" href="#action-blocks">Action Blocks</a> in <a class="reference internal" href="#package-rules">Package Rules</a> for details.</td></tr>
+<tr><td class="option-group" colspan="2">
 <kbd><span class="option">--config <var>file</var></span>, <span class="option">-c <var>file</var></span></kbd></td>
 </tr>
 <tr><td>&nbsp;</td><td>Path to the config file</td></tr>
@@ -1636,9 +1641,16 @@ but without the file extension, e.g.
 <td>package file name without version
 and file extension, e.g. <em>seewave</em></td>
 </tr>
+<tr><td>ebuild_name</td>
+<td><em>implicit</em></td>
+<td>ebuild name <tt class="docutils literal">${PN}</tt>, which is the
+package_name with special chars
+removed or replaced (e.g.,
+<em>R.oo</em> (pkg) =&gt; <em>R_oo</em> (ebuild))</td>
+</tr>
 <tr><td>name</td>
 <td><em>implicit</em></td>
-<td><em>alias to package_name</em></td>
+<td><em>alias to ebuild_name</em></td>
 </tr>
 </tbody>
 </table>
@@ -1837,22 +1849,91 @@ an ebuild for it</td>
 <tr><td rowspan="2">trace</td>
 <td rowspan="2">package rules</td>
 <td>none</td>
-<td>marks a package as
+<td>mark a package as
 modified</td>
 </tr>
 <tr><td>1</td>
-<td>adds the stored string
+<td>add the stored string
 to a package's
 <em>modified</em> variable
 whenever this action
 is applied</td>
 </tr>
+<tr><td>set</td>
+<td rowspan="2">package
+metadata,
+overlay creaton</td>
+<td>2</td>
+<td rowspan="2">set package
+information</td>
+</tr>
+<tr><td>set_&lt;key&gt;</td>
+<td>1</td>
+</tr>
+<tr><td>rename</td>
+<td rowspan="2">package
+metadata,
+overlay creation</td>
+<td>2</td>
+<td rowspan="2">modify package
+information with
+sed-like
+<em>s/expr/repl/</em>
+statements</td>
+</tr>
+<tr><td>rename_&lt;key&gt;</td>
+<td>1</td>
+</tr>
 </tbody>
 </table>
+<p>The two-arg form of the set/rename keywords expect a &lt;key&gt; as first and
+a value / sed expression as second arg. The one-arg form expects the latter
+one only. The &quot;/&quot; delimitier in the sed expression can be any character.</p>
+<p>The following <em>info keys</em> can be set and/or modified:</p>
+<table border="1" class="docutils">
+<caption>info keys for set/rename</caption>
+<colgroup>
+<col width="19%" />
+<col width="29%" />
+<col width="51%" />
+</colgroup>
+<thead valign="bottom">
+<tr><th class="head">info key</th>
+<th class="head">supports set/rename</th>
+<th class="head">description</th>
+</tr>
+</thead>
+<tbody valign="top">
+<tr><td>name</td>
+<td>yes / yes</td>
+<td>rename the ebuild</td>
+</tr>
+<tr><td>category</td>
+<td>yes / <strong>no</strong></td>
+<td>set package category</td>
+</tr>
+<tr><td>destfile</td>
+<td>yes / yes</td>
+<td>rename ebuild destfile by using the
+'-&gt;' operator in <tt class="docutils literal">${SRC_URI}</tt></td>
+</tr>
+</tbody>
+</table>
+<div class="caution">
+<p class="first admonition-title">Caution!</p>
+<p class="last">Category moves are not handled automatically. In incremental mode, overlay
+creation has to be called with either <tt class="docutils literal"><span class="pre">--fixup-category-move</span></tt> or
+<tt class="docutils literal"><span class="pre">--fixup-category-move-reverse</span></tt>, depending on whether the package(s)
+have been moved away from the default category or back to the default
+category (&quot;reverse&quot;). Configuring both category move types at once requires
+a full recreation of the overlay, that is <tt class="docutils literal">rm <span class="pre">-rf</span> &lt;overlay dir&gt;</tt>
+followed by <tt class="docutils literal">roverlay create</tt>.</p>
+</div>
 <div class="note">
 <p class="first admonition-title">Note</p>
-<p class="last">Applying the same (non-incremental) ebuild variable action more than once
-is possible, but only the last one will have an effect on ebuild creation.</p>
+<p class="last">Applying the same (non-incremental) ebuild variable, set or rename action
+more than once is possible, but only the last one will have an effect
+on ebuild creation.</p>
 </div>
 <div class="section" id="extended-action-block-syntax">
 <h4><a class="toc-backref" href="#contents">7.1.2.1&nbsp;&nbsp;&nbsp;Extended Action Block Syntax</a></h4>
@@ -1911,6 +1992,37 @@ ACTION:
    END;
 END;
 </pre>
+<p>A rule that assigns all packages from BIOC-2.10/bioc to sci-bioc:</p>
+<pre class="code literal-block">
+MATCH:
+   repo == BIOC-2.10/bioc
+ACTION:
+   set category sci-bioc
+END;
+
+# alternatively:
+MATCH:
+   repo == BIOC-2.10/bioc
+ACTION:
+   set_category sci-bioc
+END;
+</pre>
+<p>The following example prefixes all <em>yaml</em> packages with <em>Rpkg_</em>:</p>
+<pre class="code literal-block">
+MATCH:
+   ebuild_name ,= yaml
+ACTION:
+   rename destfile s/^/Rpkg_/
+END;
+</pre>
+<p>Moving such packages to a &quot;R-package&quot; sub directory would be possible, too:</p>
+<pre class="code literal-block">
+MATCH:
+   name ,= yaml
+ACTION:
+   rename_destfile s=^=R-package=
+END;
+</pre>
 </div>
 </div>
 </div>
@@ -1988,8 +2100,9 @@ location (see <a class="reference internal" href="#repo-config-options">repo con
 <dl class="docutils" id="ebuild-prog">
 <dt>EBUILD_PROG</dt>
 <dd><p class="first">Name or path of the ebuild executables that is required for (external)
-Manifest file creation. A wrong value will cause ebuild creation late,
-which is a huge time loss, so make sure that this option is properly set.</p>
+Manifest file creation. A wrong value will cause ebuild creation to fail
+late, which is a huge time loss, so make sure that this option is properly
+set.</p>
 <p class="last">Defaults to <em>ebuild</em>, which should be fine in most cases.</p>
 </dd>
 </dl>
@@ -2639,8 +2752,8 @@ functionality:</p>
 <li><em>sync</em> all repos and <em>nosync</em> all repos (offline mode)</li>
 <li>create <em>PackageInfo</em> instances for R packages from all repositories</li>
 </ul>
-<div class="section" id="id4">
-<h3><a class="toc-backref" href="#contents">11.2.1&nbsp;&nbsp;&nbsp;Repositories</a></h3>
+<div class="section" id="repository">
+<h3><a class="toc-backref" href="#contents">11.2.1&nbsp;&nbsp;&nbsp;Repository</a></h3>
 <p>The functionality described above is an abstraction layer that calls the
 respective function for each repository and collects the result.
 So, while the <em>RepoList</em> object knows <em>what</em> to do for all repositories,
@@ -3116,7 +3229,7 @@ becomes &quot;loop until resolver closes&quot;.</p>
 </div>
 <div class="footer">
 <hr class="footer" />
-Generated on: 2013-04-23.
+Generated on: 2013-06-05.
 
 </div>
 </body>


^ permalink raw reply related	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2013-07-23 14:57 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-07-16 16:35 [gentoo-commits] proj/R_overlay:gsoc13/next commit in: doc/html/ André Erdmann
2013-07-16 16:36 ` [gentoo-commits] proj/R_overlay:master " André Erdmann
  -- strict thread matches above, loose matches on Subject: below --
2013-07-23 14:57 André Erdmann
2013-07-23 14:57 ` [gentoo-commits] proj/R_overlay:gsoc13/next " André Erdmann
2013-07-10 16:16 [gentoo-commits] proj/R_overlay:master " André Erdmann
2013-07-10 15:10 ` [gentoo-commits] proj/R_overlay:gsoc13/next " André Erdmann
2013-07-03 10:04 André Erdmann
2013-06-26 17:29 André Erdmann
2013-06-18 14:12 André Erdmann
2013-06-12 21:10 André Erdmann
2013-06-05 18:08 André Erdmann

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox