aboutsummaryrefslogtreecommitdiff
path: root/doc/overview
diff options
context:
space:
mode:
authorAvatar Ciaran McCreesh <ciaran.mccreesh@googlemail.com> 2007-10-20 00:55:18 +0000
committerAvatar Ciaran McCreesh <ciaran.mccreesh@googlemail.com> 2007-10-20 00:55:18 +0000
commitb49e85a4cd30d9a0c4f3452f118c21a77a2dafc9 (patch)
tree9ba1ad419204a55682a083f3d9aa6a79fccff318 /doc/overview
parent7dccbca02e506ed15c768d05128412537c94b94a (diff)
downloadpaludis-b49e85a4cd30d9a0c4f3452f118c21a77a2dafc9.tar.gz
paludis-b49e85a4cd30d9a0c4f3452f118c21a77a2dafc9.tar.xz
More docs work
Diffstat (limited to 'doc/overview')
-rw-r--r--doc/overview/Makefile.am56
-rw-r--r--doc/overview/contact.html160
-rw-r--r--doc/overview/features.html228
-rw-r--r--doc/overview/gettingstarted.html407
-rw-r--r--doc/overview/gettingstarted.html.part272
-rw-r--r--doc/overview/index.html146
-rw-r--r--doc/overview/index.html.part11
-rw-r--r--doc/overview/toplinks.html.part.in114
8 files changed, 1393 insertions, 1 deletions
diff --git a/doc/overview/Makefile.am b/doc/overview/Makefile.am
index e412f64a5..cd5e554e8 100644
--- a/doc/overview/Makefile.am
+++ b/doc/overview/Makefile.am
@@ -1,8 +1,54 @@
SUBDIRS = .
-CLEANFILES = *~ gmon.out *.gcov *.gcno *.gcda
+CLEANFILES = *~ gmon.out *.gcov *.gcno *.gcda \
+ header.html.part \
+ toplinks.html.part \
+ footer.html.part
+
+EXTRA_DIST = \
+ toplinks.html.part.in \
+ index.html.part \
+ features.html.part \
+ gettingstarted.html.part \
+ contact.html.part
+
MAINTAINERCLEANFILES = Makefile.in
+paludisoverviewhtmldir = $(htmldir)/paludis/overview
+
+paludisoverviewhtml_DATA = \
+ index.html \
+ features.html \
+ gettingstarted.html \
+ contact.html
+
+index.html : header.html.part index.html.part footer.html.part
+ cat header.html.part index.html.part footer.html.part > $@
+
+gettingstarted.html : header.html.part gettingstarted.html.part footer.html.part
+ cat header.html.part gettingstarted.html.part footer.html.part > $@
+
+features.html : header.html.part features.html.part footer.html.part
+ cat header.html.part features.html.part footer.html.part > $@
+
+contact.html : header.html.part contact.html.part footer.html.part
+ cat header.html.part contact.html.part footer.html.part > $@
+
+header.html.part : $(srcdir)/../header.html.part.in toplinks.html.part
+ sed \
+ -e 's,###TOPURI###,../,g' \
+ -e '/###TOPLINKS###/r $(srcdir)/toplinks.html.part' \
+ -e 's,###TOPLINKS###,,g' \
+ < $(srcdir)/../header.html.part.in > header.html.part
+
+toplinks.html.part : $(srcdir)/toplinks.html.part.in
+ sed \
+ -e 's,###TOPURI###,../,g' \
+ < $(srcdir)/toplinks.html.part.in > toplinks.html.part
+
+footer.html.part : $(srcdir)/../footer.html.part.in
+ sed -e 's,###TOPURI###,./,g' < $(srcdir)/../footer.html.part.in > footer.html.part
+
built-sources : $(BUILT_SOURCES)
for s in `echo $(SUBDIRS) | tr -d .` ; do $(MAKE) -C $$s built-sources || exit 1 ; done
@@ -11,3 +57,11 @@ distcheck-deps : $(DISTCHECK_DEPS) distcheck-deps-subdirs
distcheck-deps-subdirs :
for s in `echo $(DIST_SUBDIRS) | tr -d .` ; do $(MAKE) -C $$s distcheck-deps || exit 1 ; done
+htmldocs : htmldocs-subdirs
+
+htmldocs-subdirs :
+ for s in $(SUBDIRS) . ; do if test x$$s = x. ; then $(MAKE) htmldocs-local || exit 1 ; \
+ else $(MAKE) -C $$s htmldocs || exit 1 ; fi ; done
+
+htmldocs-local : $(paludisoverviewhtml_DATA)
+
diff --git a/doc/overview/contact.html b/doc/overview/contact.html
new file mode 100644
index 000000000..13bca7a3d
--- /dev/null
+++ b/doc/overview/contact.html
@@ -0,0 +1,160 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
+<head>
+<title>Paludis, the Other Package Mangler</title>
+<link rel="stylesheet" href="../paludis.css" type="text/css" />
+</head>
+<body>
+
+ <div class="topnav">
+
+<!-- vim: set tw=120 ft=html sw=4 sts=4 et : -->
+
+<table border="0" cellspacing="0" width="100%">
+ <col width="0*" />
+ <col width="1*" />
+ <col width="1*" />
+ <col />
+
+ <tr>
+ <td rowspan="7" class="logotab">
+ <a href="../"><img style="border: 0px; padding-right: 50px;"
+ src="../paludis_270.png" alt="Paludis Logo"
+ /></a>
+ </td>
+
+ <td>
+ <a href="../">Introduction</a>
+ </td>
+
+ <td class="currentpage">
+ <a href="../overview/">Overview</a>
+ </td>
+
+ <td class="currentpage">
+ &nbsp;
+ </td>
+ </tr>
+
+ <tr>
+ <td>
+ <a href="http://paludis.pioto.org/trac/">Bugs, Requests, Support</a>
+ </td>
+
+ <td class="currentpage">
+ <a href="../overview/features">Features</a>
+ </td>
+
+ <td class="currentpage">
+ &nbsp;
+ </td>
+ </tr>
+
+ <tr>
+ <td class="currenttab">
+ <a href="../overview/">Overview</a>
+ </td>
+
+ <td class="currentpage">
+ <a href="../overview/gettingstarted.html">Getting started</a>
+ </td>
+
+ <td class="currentpage">
+ &nbsp;
+ </td>
+ </tr>
+
+ <tr>
+ <td>
+ <a href="../faq/">FAQ</a>
+ </td>
+
+ <td class="currentpage">
+ <a href="../overview/contact.html">Contact</a>
+ </td>
+
+ <td class="currentpage">
+ &nbsp;
+ </td>
+ </tr>
+
+ <tr>
+ <td>
+ <a href="../">Clients</a>
+ </td>
+
+ <td class="currentpage">
+ &nbsp;
+ </td>
+
+ <td class="currentpage">
+ &nbsp;
+ </td>
+ </tr>
+
+ <tr>
+ <td>
+ <a href="../">Configuration</a>
+ </td>
+
+ <td class="currentpage">
+ &nbsp;
+ </td>
+
+ <td class="currentpage">
+ &nbsp;
+ </td>
+ </tr>
+
+ <tr>
+ <td>
+ <a href="../">API</a>
+ </td>
+
+ <td class="currentpage">
+ &nbsp;
+ </td>
+
+ <td class="currentpage">
+ &nbsp;
+ </td>
+ </tr>
+</table>
+
+
+ </div>
+
+ <div class="main">
+
+<!-- vim: set tw=120 ft=html sw=4 sts=4 et : -->
+
+<h1>Contact Options</h1>
+
+<h2>IRC</h2>
+
+<p>You can find us on IRC in <code>#paludis</code> on <code>irc.freenode.net</code>.</p>
+
+<h2>Mailing Lists</h2>
+
+<p>We have two mailing lists:</p>
+
+<ul>
+ <li><a href="http://lists.pioto.org/mailman/listinfo/paludis-user">paludis-user</a>, for general
+ user questions.</li>
+ <li><a href="http://lists.pioto.org/mailman/listinfo/paludis-sekrit">paludis-sekrit</a>, for
+ development. Rather high noise, since it gets an auto-CC: on trac tickets and nightly build reports.
+ Approval is required to subscribe.</li>
+</ul>
+
+<h2>Bug Reports</h2>
+
+<p>We use <a href="http://paludis.pioto.org/trac/">Trac</a> for bug reports, feature requests and
+so on.</p>
+
+<!-- vim: set tw=120 ft=html sw=4 sts=4 et : -->
+</div>
+</body>
+</html>
+
diff --git a/doc/overview/features.html b/doc/overview/features.html
new file mode 100644
index 000000000..7e136e74e
--- /dev/null
+++ b/doc/overview/features.html
@@ -0,0 +1,228 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
+<head>
+<title>Paludis, the Other Package Mangler</title>
+<link rel="stylesheet" href="../paludis.css" type="text/css" />
+</head>
+<body>
+
+ <div class="topnav">
+
+<!-- vim: set tw=120 ft=html sw=4 sts=4 et : -->
+
+<table border="0" cellspacing="0" width="100%">
+ <col width="0*" />
+ <col width="1*" />
+ <col width="1*" />
+ <col />
+
+ <tr>
+ <td rowspan="7" class="logotab">
+ <a href="../"><img style="border: 0px; padding-right: 50px;"
+ src="../paludis_270.png" alt="Paludis Logo"
+ /></a>
+ </td>
+
+ <td>
+ <a href="../">Introduction</a>
+ </td>
+
+ <td class="currentpage">
+ <a href="../overview/">Overview</a>
+ </td>
+
+ <td class="currentpage">
+ &nbsp;
+ </td>
+ </tr>
+
+ <tr>
+ <td>
+ <a href="http://paludis.pioto.org/trac/">Bugs, Requests, Support</a>
+ </td>
+
+ <td class="currentpage">
+ <a href="../overview/features">Features</a>
+ </td>
+
+ <td class="currentpage">
+ &nbsp;
+ </td>
+ </tr>
+
+ <tr>
+ <td class="currenttab">
+ <a href="../overview/">Overview</a>
+ </td>
+
+ <td class="currentpage">
+ <a href="../overview/gettingstarted.html">Getting started</a>
+ </td>
+
+ <td class="currentpage">
+ &nbsp;
+ </td>
+ </tr>
+
+ <tr>
+ <td>
+ <a href="../faq/">FAQ</a>
+ </td>
+
+ <td class="currentpage">
+ <a href="../overview/contact.html">Contact</a>
+ </td>
+
+ <td class="currentpage">
+ &nbsp;
+ </td>
+ </tr>
+
+ <tr>
+ <td>
+ <a href="../">Clients</a>
+ </td>
+
+ <td class="currentpage">
+ &nbsp;
+ </td>
+
+ <td class="currentpage">
+ &nbsp;
+ </td>
+ </tr>
+
+ <tr>
+ <td>
+ <a href="../">Configuration</a>
+ </td>
+
+ <td class="currentpage">
+ &nbsp;
+ </td>
+
+ <td class="currentpage">
+ &nbsp;
+ </td>
+ </tr>
+
+ <tr>
+ <td>
+ <a href="../">API</a>
+ </td>
+
+ <td class="currentpage">
+ &nbsp;
+ </td>
+
+ <td class="currentpage">
+ &nbsp;
+ </td>
+ </tr>
+</table>
+
+
+ </div>
+
+ <div class="main">
+
+<!-- vim: set tw=120 ft=html sw=4 sts=4 et : -->
+
+<h1>Features</h1>
+
+<h2>For the End User</h2>
+
+<ul>
+ <li>An optional new configuration system, making it much easier to operate upon
+ groups of related packages, much easier to maintain multiple systems (or chroots)
+ and much easier to set options on a per-package or per-repository basis.</li>
+
+ <li>Performance. Paludis can be an order of magnitude faster than other package
+ managers.</li>
+
+ <li>Low dependency bloat. No Python, no big external crypto libraries.</li>
+
+ <li>Native security (GLSA) integration.</li>
+
+ <li>Proper multiple repository support, not constrained by a limited 'overlay'
+ model.</li>
+
+ <li>Support for repositories containing things other than ebuilds.</li>
+
+ <li>License filtering.</li>
+
+ <li>Hook scripts, for running code after a certain action occurs.</li>
+
+ <li>User definable package sets.</li>
+
+ <li>Ability to sync multiple repositories, natively, using SVN, CVS, Git etc.</li>
+
+ <li>Ability to uninstall packages with dependencies, and safely remove unneeded
+ packages.</li>
+
+ <li>Ability to continue with a collection of installs after a failure, and to resume
+ failed compiles far more flexibly than offered by Portage.</li>
+
+ <li>Ability to see why a package is really being pulled in, rather than relying
+ upon the rather crude 'tree' offered by Portage.</li>
+
+ <li>Much improved output: <code>--query</code> makes it easy to get a useful summary
+ of information about a package, and <code>--pretend</code> can be configured to show
+ relevant information (e.g. USE flag descriptions and an explanation of why a package
+ is being pulled in).</li>
+
+ <li>Secure (un)installation of set*id files, preventing your system from being left
+ vulnerable after having replaced a vulnerable application.</li>
+
+ <li>Ability to use slot, use, repository and ranged version dependencies when selecting
+ a version.</li>
+
+ <li>Ability to see all packages that need unmasking in one go, rather than one package
+ at a time.</li>
+
+ <li>Ability to automatically reinstall scm (svn, cvs etc.) packages after a given period
+ (daily, weekly, ...).</li>
+
+ <li>Ability to manage packages even where no ebuild is available.</li>
+</ul>
+
+<h2>For the Ebuild Developer</h2>
+
+<ul>
+ <li>Full and correct circular dependency resolution.</li>
+
+ <li>Default deep dependency resolution.</li>
+
+ <li>Support for 'experimental' (read: 'still not implemented in Portage') EAPI proposals
+ (use dependencies, ranged version specs, -scm and -try version specs, src_uri arrows etc).</li>
+
+ <li>Ability to deliver news items to the end user.</li>
+
+ <li>Much more useful diagnostics.</li>
+</ul>
+
+<h2>For the Programmer</h2>
+
+<ul>
+ <li>Proper client / library separation.</li>
+
+ <li>API documentation and code examples.</li>
+
+ <li>A sane OO API.</li>
+
+ <li>Consistent interfaces for different repository types.</li>
+
+ <li>Test suites and extensive static checking, to check the impact of changes.</li>
+
+ <li>Type safe interfaces, for catching programming errors at compile time.</li>
+
+ <li>A choice of programming language for external tools.</li>
+</ul>
+
+<!-- vim: set tw=120 ft=html sw=4 sts=4 et : -->
+</div>
+</body>
+</html>
+
diff --git a/doc/overview/gettingstarted.html b/doc/overview/gettingstarted.html
new file mode 100644
index 000000000..6e6404a4e
--- /dev/null
+++ b/doc/overview/gettingstarted.html
@@ -0,0 +1,407 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
+<head>
+<title>Paludis, the Other Package Mangler</title>
+<link rel="stylesheet" href="../paludis.css" type="text/css" />
+</head>
+<body>
+
+ <div class="topnav">
+
+<!-- vim: set tw=120 ft=html sw=4 sts=4 et : -->
+
+<table border="0" cellspacing="0" width="100%">
+ <col width="0*" />
+ <col width="1*" />
+ <col width="1*" />
+ <col />
+
+ <tr>
+ <td rowspan="7" class="logotab">
+ <a href="../"><img style="border: 0px; padding-right: 50px;"
+ src="../paludis_270.png" alt="Paludis Logo"
+ /></a>
+ </td>
+
+ <td>
+ <a href="../">Introduction</a>
+ </td>
+
+ <td class="currentpage">
+ <a href="../overview/">Overview</a>
+ </td>
+
+ <td class="currentpage">
+ &nbsp;
+ </td>
+ </tr>
+
+ <tr>
+ <td>
+ <a href="http://paludis.pioto.org/trac/">Bugs, Requests, Support</a>
+ </td>
+
+ <td class="currentpage">
+ <a href="../overview/features">Features</a>
+ </td>
+
+ <td class="currentpage">
+ &nbsp;
+ </td>
+ </tr>
+
+ <tr>
+ <td class="currenttab">
+ <a href="../overview/">Overview</a>
+ </td>
+
+ <td class="currentpage">
+ <a href="../overview/gettingstarted.html">Getting started</a>
+ </td>
+
+ <td class="currentpage">
+ &nbsp;
+ </td>
+ </tr>
+
+ <tr>
+ <td>
+ <a href="../faq/">FAQ</a>
+ </td>
+
+ <td class="currentpage">
+ <a href="../overview/contact.html">Contact</a>
+ </td>
+
+ <td class="currentpage">
+ &nbsp;
+ </td>
+ </tr>
+
+ <tr>
+ <td>
+ <a href="../">Clients</a>
+ </td>
+
+ <td class="currentpage">
+ &nbsp;
+ </td>
+
+ <td class="currentpage">
+ &nbsp;
+ </td>
+ </tr>
+
+ <tr>
+ <td>
+ <a href="../">Configuration</a>
+ </td>
+
+ <td class="currentpage">
+ &nbsp;
+ </td>
+
+ <td class="currentpage">
+ &nbsp;
+ </td>
+ </tr>
+
+ <tr>
+ <td>
+ <a href="../">API</a>
+ </td>
+
+ <td class="currentpage">
+ &nbsp;
+ </td>
+
+ <td class="currentpage">
+ &nbsp;
+ </td>
+ </tr>
+</table>
+
+
+ </div>
+
+ <div class="main">
+
+<!-- vim: set tw=120 ft=html sw=4 sts=4 et : -->
+
+<h1>Getting Started</h1>
+
+<p>There are three ways to configure Paludis:</p>
+
+<ul>
+ <li><p><a href="#portage">Using an existing Portage configuration</a>. This is the quickest way for many users who may
+ not be ready to commit to using Paludis exclusively. However, it has drawbacks:</p>
+
+ <ul>
+ <li>Paludis will be significantly slower for certain operations (e.g. resolving <code>pkg</code> to
+ <code>cat/pkg</code>) because various additional cache options are not available.</li>
+
+ <li>The user is restricted to Portage's limited configuration format.</li>
+
+ <li>The Portage 'environment' (this is the term used by paludis for the class that handles configuration files)
+ is less widely used, and so may not support all Portage options perfectly.</li>
+
+ <li>It is only available on Gentoo and Gentoo-derived distributions.</li>
+
+ <li>You will be unable to use packages that use EAPIs that Portage does not support. The packages in the Paludis
+ overlay fall into this category.</li>
+ </ul>
+ </li>
+
+ <li><p><a href="#automatic">Automatically migrating</a> an existing Portage configuration to the Paludis configuration
+ format using a script.</p></li>
+
+ <li><p><a href="#manual">Manually configuring</a> Paludis.</li>
+</ul>
+
+<p>Once you have configured Paludis, you should <a href="#testing">test your configuration</a>.</p>
+
+<h2 id="portage">Using an existing Portage configuration</h2>
+
+<p>To use a Portage configuration, Paludis must be built with the Portage environment enabled. On Gentoo, this is
+controlled by the <code>portage</code> use flag; when compiling manually,
+<code>--with-environments=paludis,portage</code> enables it (and note that you should also ensure that
+<code>sysconfdir=/etc</code>).</p>
+
+<p>On Gentoo and Gentoo-derived distributions, if Paludis is built with Portage environment support enabled and no
+Paludis configuration can be detected, Paludis will try to fall back to using the system Portage configuration.
+All Paludis clients that use configuration can also be told explicitly to use Portage configuration by using
+<code>--environment portage</code> (or <code>--environment portage:/other/root</code> to use configuration files in
+another filesystem root).</p>
+
+<p>Next, proceed to <a href="#testing">Testing a configuration</a>.</p>
+
+<h2 id="automatic">Automatically migrating</h2>
+
+<p>The <a
+ href="http://paludis.pioto.org/trac/browser/scratch/scripts/portage2paludis.bash?format=raw">portage2paludis</a>
+script can be used to generate a Paludis configuration from an existing Portage configuration. <strong>It is important
+ that you check all the configuration files generated by this script by hand; you should not assume that it will
+ always get everything perfectly correct.</strong> Some notes:</p>
+
+<ul>
+ <li>If using the default configuration directory of <code>/etc/paludis</code>, the script will need to be run as
+ root.</li>
+ <li>The target configuration directory must not already exist.</li>
+ <li>The script will not attempt to migrate a Portage bashrc (note that most of the things that need to be done in a
+ bashrc with Portage can be done more sensibly with Paludis).</li>
+ <li>Paludis doesn't need an external tool to support syncing of overlays (for Paludis, an overlay is just a normal
+ repository that has the <code>master_repository</code> configuration option set). Because Portage does, and because
+ several external tools are available that do that, Paludis may not be able to work out a correct <code>sync =
+ </code> option for some overlays.</li>
+</ul>
+
+<p>Next, proceed to <a href="#testing">Testing a configuration</a>.</p>
+
+<h2 id="manual">Manually configuring Paludis</h2>
+
+<p>First, create some configuration files. For full details on how to do this, see <a href="../configuration/">the
+ configuration documentation</a>. For a brief overview:</p>
+
+<p>By default, Paludis looks in <code>sysconfdir/paludis</code> for its configuration, where <code>sysconfdir</code>
+should usually be <code>/etc</code>:</p>
+
+<pre>
+mkdir -p /etc/paludis/repositories
+</pre>
+
+<h3>keywords.conf</h3>
+
+<p>You will need to make <code>/etc/paludis/keywords.conf</code>:</p>
+
+<pre>
+*/* x86
+app-misc/blah x86 ~x86
+</pre>
+
+<p>Or if you use mostly unstable:</p>
+
+<pre>
+*/* x86 ~x86
+app-misc/blah -* x86
+</pre>
+
+<p>Note that:</p>
+
+<ul>
+ <li>Matches are cumulative. Use <code>-*</code> if you don't want this.</li>
+ <li>Accepting <code>~arch</code> does not accept <code>arch</code> automatically.</li>
+ <li>The magic keyword <code>*</code> can be used to accept anything, even empty keywords.</li>
+</ul>
+
+<h3>use.conf</h3>
+
+<p>You will also need <code>/etc/paludis/use.conf</code>, which is also cumulative. Note the prefix syntax for things
+that would be handled by <code>USE_EXPAND</code> by Portage, and the explicit <code>-*</code>.</p>
+
+<pre>
+*/* -doc nls -apache2
+*/* LINGUAS: en
+*/* INPUT_DEVICES: keyboard mouse
+*/* VIDEO_CARDS: -* ati
+app-editors/vim -nls
+</pre>
+
+<p>And you will need <code>/etc/paludis/licenses.conf</code>, which for most people would look like:</p>
+
+<pre>
+*/* *
+</pre>
+
+<h3>mirrors.conf</h3>
+
+<p>You might find an <code>/etc/paludis/mirrors.conf</code> useful:</p>
+
+<pre>
+gentoo http://gentoo.blueyonder.co.uk/distfiles/
+gnu http://gnu.blueyonder.co.uk/
+debian http://debian.blueyonder.co.uk/
+</pre>
+
+<h3>bashrc</h3>
+
+<p>Next, set up <code>/etc/paludis/bashrc</code>. This <strong>must not</strong> be used to change any value which
+affects dependency resolution (<code>USE</code>, <code>LINGUAS</code> etc). It can be used to set <code>CFLAGS</code>
+and the like. On some profiles, you <em>must</em> set <code>CHOST</code> as well.</p>
+
+<p>If you need per-package settings, you can use standard variables like <code>$CATEGORY</code>, <code>$PN</code> and
+<code>$PV</code>.</p>
+
+<p>You must not output anything to <code>stdout</code>, or very strange things will happen.</p>
+
+<pre>
+CFLAGS="-O2 -march=pentium4 -fomit-frame-pointer"
+CXXFLAGS="${CFLAGS}"
+CHOST="i686-pc-linux-gnu"
+MAKEOPTS="-j2"
+
+if [[ "${CATEGORY}/${PN}" == "sys-apps/paludis" ]] ; then
+ CXXFLAGS="${CXXFLAGS} -g -ggdb3"
+fi
+</pre>
+
+<h3>repositories/</h3>
+
+<p>Rather than a couple of simple variables containing directory names, Paludis uses a configuration file for every
+repository. This allows substantially more flexibility.</p>
+
+<p>Each file named <code>*.conf</code> in <code>/etc/paludis/repositories</code> defines a single repository. For sanity
+reasons, it is strongly recommended that the filename used matches the name of the repository in question, although
+<em>the filename you use here has no meaning to Paludis, and does not have to correspond to the repository's
+ name</em>.</p>
+
+<p>Gentoo users will need at least the following two repositories:</p>
+
+<h4>repositories/gentoo.conf</h4>
+
+<p>The main Gentoo repository, sometimes annoyingly called 'the Portage tree' and sometimes historically called
+'gentoo-x86' will typically look like:</p>
+
+<pre>
+location = /usr/portage
+sync = rsync://rsync.europe.gentoo.org/gentoo-portage/
+profiles = ${location}/profiles/default-linux/x86/2007.0
+format = ebuild
+names_cache = (see below)
+</pre>
+
+<p>The <code>profiles = </code> option is used in place of Portage's <code>/etc/make.profile</code> symlink, which
+Paludis ignores.</p>
+
+<p>The <code>names_cache = </code> option, if set to (for example) <code>/var/cache/paludis/names</code>, can be used to
+make resolving <code>pkg</code> to <code>cat/pkg</code> much faster (a lot less than a second, as opposed to tens of
+seconds on typical hardware). Most users will benefit hugely from this option. However, Portage will not update or use
+this cache, so if for any reason you use Portage for any operation, you must then run <code>paludis
+ --regenerate-installable-cache</code> (and possibly <code>paludis --regenerate-installed-cache</code> if you also
+use caches for VDB as described below). You will also need to force a cache regeneration if you manually (as opposed to
+via <code>--sync</code>) modify a repository.</p>
+
+<p>To disable the names cache, use <code>/var/empty</code> as the value.</p>
+
+<p>You are responsible for ensuring that any cache directories you use exist and have appropriate permissions.</p>
+
+<h4>repositories/installed.conf</h4>
+
+<p>You also need a repository that holds your installed packages. <strong>You must not change the location of this
+ repository</strong>; its location is hardcoded in various badly written ebuilds.</p>
+
+<pre>
+location = /var/db/pkg/
+format = vdb
+names_cache = (see below)
+provides_cache = (see below)
+</pre>
+
+<p>The <code>names_cache = </code> option, if set to (for example) <code>/var/cache/paludis/names</code>, can be used to
+make resolving <code>pkg</code> to <code>cat/pkg</code> much faster (a lot less than a second, as opposed to tens of
+seconds on typical hardware). Most users will benefit hugely from this option. However, Portage will not update or use
+this cache, so if for any reason you use Portage for any operation, you must then run <code>paludis
+ --regenerate-installed-cache</code> (and possibly <code>paludis --regenerate-installable-cache</code> if you also
+use caches for other repositories as described above).</p>
+
+<p>The <code>provides_cache = </code> option, if set to (for example) <code>/var/cache/paludis/provides</code>, can be
+used to make resolving an old style virtual to its providers much faster (a lot less of a second, as opposed to anywhere
+up to a minute if many packages are installed). Because many common operations require a virtual resolution, using this
+option can give huge speedups. Again, however, Portage will not use this cache, so you will need to regenerate it
+manually if you install or uninstall any package using Portage.</p>
+
+<p>To disable either cache, use <code>/var/empty</code> as the value.</p>
+
+<p>You are responsible for ensuring that any cache directories you use exist and have appropriate permissions.</p>
+
+<p>The option <code>world = /var/lib/portage/world</code> can be set if Portage's world file is to be used. By default,
+Paludis uses <code>${location}/world</code>.</p>
+
+<h4>repositories/paludis-overlay.conf</h4>
+
+<p>You might find the Paludis overlay useful, if you need very up to date or live ebuilds. This also illustrates the
+typical way to set up what Portage calls an 'overlay':</p>
+
+<pre>
+master_repository = gentoo
+location = /var/paludis/repositories/paludis-overlay/
+sync = svn://svn.pioto.org/paludis/overlay
+names_cache = (as above)
+provides_cache = (as above)
+write_cache = (see below)
+format = ebuild
+</pre>
+
+<p>If <code>write_cache =</code> is set to (for example) <code>/var/cache/paludis/metadata</code>, Paludis will write
+generated metadata to this directory. This will avoid having to source every ebuild every time Paludis is run. Use
+<code>/var/empty</code> if no cache is desired. (The Gentoo repository includes a pregenerated cache in
+<code>${location}/metadata/cache</code>, so the <code>write_cache</code> option is of no use for it; most overlays,
+however, do not provide this.)</p>
+
+<p>For details on <code>sync</code> formats, use <code>paludis --list-sync-protocols</code>. The listed options can be
+used via <code>sync_options = </code>.</p>
+
+<p>Next, proceed to <a href="#testing">Testing a configuration</a>.</p>
+
+<h2 id="testing">Testing a configuration</h2>
+
+<p>To see if a configuration can be used successfully, try:</p>
+
+<pre>
+sudo paludis <em>[ add '--environment portage' if appropriate ]</em> --sync
+paludis <em>[ add '--environment portage' if appropriate ]</em> --pretend --install world
+</pre>
+
+<p>You will probably find that Paludis picks up some updates that Portage doesn't. Paludis does complete dependency
+resolution and enforces runtime dependencies by default.</p>
+
+<p>You may encounter nasty error messages, especially if you are running an old install and have some packages that were
+installed a long time ago with a broken Portage release. In most cases, reinstalling the package with a recent Portage
+release will fix the problem.</p>
+
+<!-- vim: set tw=120 ft=html sw=4 sts=4 et : -->
+</div>
+</body>
+</html>
+
diff --git a/doc/overview/gettingstarted.html.part b/doc/overview/gettingstarted.html.part
new file mode 100644
index 000000000..e4db29b8b
--- /dev/null
+++ b/doc/overview/gettingstarted.html.part
@@ -0,0 +1,272 @@
+<!-- vim: set tw=120 ft=html sw=4 sts=4 et : -->
+
+<h1>Getting Started</h1>
+
+<p>There are three ways to configure Paludis:</p>
+
+<ul>
+ <li><p><a href="#portage">Using an existing Portage configuration</a>. This is the quickest way for many users who may
+ not be ready to commit to using Paludis exclusively. However, it has drawbacks:</p>
+
+ <ul>
+ <li>Paludis will be significantly slower for certain operations (e.g. resolving <code>pkg</code> to
+ <code>cat/pkg</code>) because various additional cache options are not available.</li>
+
+ <li>The user is restricted to Portage's limited configuration format.</li>
+
+ <li>The Portage 'environment' (this is the term used by paludis for the class that handles configuration files)
+ is less widely used, and so may not support all Portage options perfectly.</li>
+
+ <li>It is only available on Gentoo and Gentoo-derived distributions.</li>
+
+ <li>You will be unable to use packages that use EAPIs that Portage does not support. The packages in the Paludis
+ overlay fall into this category.</li>
+ </ul>
+ </li>
+
+ <li><p><a href="#automatic">Automatically migrating</a> an existing Portage configuration to the Paludis configuration
+ format using a script.</p></li>
+
+ <li><p><a href="#manual">Manually configuring</a> Paludis.</li>
+</ul>
+
+<p>Once you have configured Paludis, you should <a href="#testing">test your configuration</a>.</p>
+
+<h2 id="portage">Using an existing Portage configuration</h2>
+
+<p>To use a Portage configuration, Paludis must be built with the Portage environment enabled. On Gentoo, this is
+controlled by the <code>portage</code> use flag; when compiling manually,
+<code>--with-environments=paludis,portage</code> enables it (and note that you should also ensure that
+<code>sysconfdir=/etc</code>).</p>
+
+<p>On Gentoo and Gentoo-derived distributions, if Paludis is built with Portage environment support enabled and no
+Paludis configuration can be detected, Paludis will try to fall back to using the system Portage configuration.
+All Paludis clients that use configuration can also be told explicitly to use Portage configuration by using
+<code>--environment portage</code> (or <code>--environment portage:/other/root</code> to use configuration files in
+another filesystem root).</p>
+
+<p>Next, proceed to <a href="#testing">Testing a configuration</a>.</p>
+
+<h2 id="automatic">Automatically migrating</h2>
+
+<p>The <a
+ href="http://paludis.pioto.org/trac/browser/scratch/scripts/portage2paludis.bash?format=raw">portage2paludis</a>
+script can be used to generate a Paludis configuration from an existing Portage configuration. <strong>It is important
+ that you check all the configuration files generated by this script by hand; you should not assume that it will
+ always get everything perfectly correct.</strong> Some notes:</p>
+
+<ul>
+ <li>If using the default configuration directory of <code>/etc/paludis</code>, the script will need to be run as
+ root.</li>
+ <li>The target configuration directory must not already exist.</li>
+ <li>The script will not attempt to migrate a Portage bashrc (note that most of the things that need to be done in a
+ bashrc with Portage can be done more sensibly with Paludis).</li>
+ <li>Paludis doesn't need an external tool to support syncing of overlays (for Paludis, an overlay is just a normal
+ repository that has the <code>master_repository</code> configuration option set). Because Portage does, and because
+ several external tools are available that do that, Paludis may not be able to work out a correct <code>sync =
+ </code> option for some overlays.</li>
+</ul>
+
+<p>Next, proceed to <a href="#testing">Testing a configuration</a>.</p>
+
+<h2 id="manual">Manually configuring Paludis</h2>
+
+<p>First, create some configuration files. For full details on how to do this, see <a href="../configuration/">the
+ configuration documentation</a>. For a brief overview:</p>
+
+<p>By default, Paludis looks in <code>sysconfdir/paludis</code> for its configuration, where <code>sysconfdir</code>
+should usually be <code>/etc</code>:</p>
+
+<pre>
+mkdir -p /etc/paludis/repositories
+</pre>
+
+<h3>keywords.conf</h3>
+
+<p>You will need to make <code>/etc/paludis/keywords.conf</code>:</p>
+
+<pre>
+*/* x86
+app-misc/blah x86 ~x86
+</pre>
+
+<p>Or if you use mostly unstable:</p>
+
+<pre>
+*/* x86 ~x86
+app-misc/blah -* x86
+</pre>
+
+<p>Note that:</p>
+
+<ul>
+ <li>Matches are cumulative. Use <code>-*</code> if you don't want this.</li>
+ <li>Accepting <code>~arch</code> does not accept <code>arch</code> automatically.</li>
+ <li>The magic keyword <code>*</code> can be used to accept anything, even empty keywords.</li>
+</ul>
+
+<h3>use.conf</h3>
+
+<p>You will also need <code>/etc/paludis/use.conf</code>, which is also cumulative. Note the prefix syntax for things
+that would be handled by <code>USE_EXPAND</code> by Portage, and the explicit <code>-*</code>.</p>
+
+<pre>
+*/* -doc nls -apache2
+*/* LINGUAS: en
+*/* INPUT_DEVICES: keyboard mouse
+*/* VIDEO_CARDS: -* ati
+app-editors/vim -nls
+</pre>
+
+<p>And you will need <code>/etc/paludis/licenses.conf</code>, which for most people would look like:</p>
+
+<pre>
+*/* *
+</pre>
+
+<h3>mirrors.conf</h3>
+
+<p>You might find an <code>/etc/paludis/mirrors.conf</code> useful:</p>
+
+<pre>
+gentoo http://gentoo.blueyonder.co.uk/distfiles/
+gnu http://gnu.blueyonder.co.uk/
+debian http://debian.blueyonder.co.uk/
+</pre>
+
+<h3>bashrc</h3>
+
+<p>Next, set up <code>/etc/paludis/bashrc</code>. This <strong>must not</strong> be used to change any value which
+affects dependency resolution (<code>USE</code>, <code>LINGUAS</code> etc). It can be used to set <code>CFLAGS</code>
+and the like. On some profiles, you <em>must</em> set <code>CHOST</code> as well.</p>
+
+<p>If you need per-package settings, you can use standard variables like <code>$CATEGORY</code>, <code>$PN</code> and
+<code>$PV</code>.</p>
+
+<p>You must not output anything to <code>stdout</code>, or very strange things will happen.</p>
+
+<pre>
+CFLAGS="-O2 -march=pentium4 -fomit-frame-pointer"
+CXXFLAGS="${CFLAGS}"
+CHOST="i686-pc-linux-gnu"
+MAKEOPTS="-j2"
+
+if [[ "${CATEGORY}/${PN}" == "sys-apps/paludis" ]] ; then
+ CXXFLAGS="${CXXFLAGS} -g -ggdb3"
+fi
+</pre>
+
+<h3>repositories/</h3>
+
+<p>Rather than a couple of simple variables containing directory names, Paludis uses a configuration file for every
+repository. This allows substantially more flexibility.</p>
+
+<p>Each file named <code>*.conf</code> in <code>/etc/paludis/repositories</code> defines a single repository. For sanity
+reasons, it is strongly recommended that the filename used matches the name of the repository in question, although
+<em>the filename you use here has no meaning to Paludis, and does not have to correspond to the repository's
+ name</em>.</p>
+
+<p>Gentoo users will need at least the following two repositories:</p>
+
+<h4>repositories/gentoo.conf</h4>
+
+<p>The main Gentoo repository, sometimes annoyingly called 'the Portage tree' and sometimes historically called
+'gentoo-x86' will typically look like:</p>
+
+<pre>
+location = /usr/portage
+sync = rsync://rsync.europe.gentoo.org/gentoo-portage/
+profiles = ${location}/profiles/default-linux/x86/2007.0
+format = ebuild
+names_cache = (see below)
+</pre>
+
+<p>The <code>profiles = </code> option is used in place of Portage's <code>/etc/make.profile</code> symlink, which
+Paludis ignores.</p>
+
+<p>The <code>names_cache = </code> option, if set to (for example) <code>/var/cache/paludis/names</code>, can be used to
+make resolving <code>pkg</code> to <code>cat/pkg</code> much faster (a lot less than a second, as opposed to tens of
+seconds on typical hardware). Most users will benefit hugely from this option. However, Portage will not update or use
+this cache, so if for any reason you use Portage for any operation, you must then run <code>paludis
+ --regenerate-installable-cache</code> (and possibly <code>paludis --regenerate-installed-cache</code> if you also
+use caches for VDB as described below). You will also need to force a cache regeneration if you manually (as opposed to
+via <code>--sync</code>) modify a repository.</p>
+
+<p>To disable the names cache, use <code>/var/empty</code> as the value.</p>
+
+<p>You are responsible for ensuring that any cache directories you use exist and have appropriate permissions.</p>
+
+<h4>repositories/installed.conf</h4>
+
+<p>You also need a repository that holds your installed packages. <strong>You must not change the location of this
+ repository</strong>; its location is hardcoded in various badly written ebuilds.</p>
+
+<pre>
+location = /var/db/pkg/
+format = vdb
+names_cache = (see below)
+provides_cache = (see below)
+</pre>
+
+<p>The <code>names_cache = </code> option, if set to (for example) <code>/var/cache/paludis/names</code>, can be used to
+make resolving <code>pkg</code> to <code>cat/pkg</code> much faster (a lot less than a second, as opposed to tens of
+seconds on typical hardware). Most users will benefit hugely from this option. However, Portage will not update or use
+this cache, so if for any reason you use Portage for any operation, you must then run <code>paludis
+ --regenerate-installed-cache</code> (and possibly <code>paludis --regenerate-installable-cache</code> if you also
+use caches for other repositories as described above).</p>
+
+<p>The <code>provides_cache = </code> option, if set to (for example) <code>/var/cache/paludis/provides</code>, can be
+used to make resolving an old style virtual to its providers much faster (a lot less of a second, as opposed to anywhere
+up to a minute if many packages are installed). Because many common operations require a virtual resolution, using this
+option can give huge speedups. Again, however, Portage will not use this cache, so you will need to regenerate it
+manually if you install or uninstall any package using Portage.</p>
+
+<p>To disable either cache, use <code>/var/empty</code> as the value.</p>
+
+<p>You are responsible for ensuring that any cache directories you use exist and have appropriate permissions.</p>
+
+<p>The option <code>world = /var/lib/portage/world</code> can be set if Portage's world file is to be used. By default,
+Paludis uses <code>${location}/world</code>.</p>
+
+<h4>repositories/paludis-overlay.conf</h4>
+
+<p>You might find the Paludis overlay useful, if you need very up to date or live ebuilds. This also illustrates the
+typical way to set up what Portage calls an 'overlay':</p>
+
+<pre>
+master_repository = gentoo
+location = /var/paludis/repositories/paludis-overlay/
+sync = svn://svn.pioto.org/paludis/overlay
+names_cache = (as above)
+provides_cache = (as above)
+write_cache = (see below)
+format = ebuild
+</pre>
+
+<p>If <code>write_cache =</code> is set to (for example) <code>/var/cache/paludis/metadata</code>, Paludis will write
+generated metadata to this directory. This will avoid having to source every ebuild every time Paludis is run. Use
+<code>/var/empty</code> if no cache is desired. (The Gentoo repository includes a pregenerated cache in
+<code>${location}/metadata/cache</code>, so the <code>write_cache</code> option is of no use for it; most overlays,
+however, do not provide this.)</p>
+
+<p>For details on <code>sync</code> formats, use <code>paludis --list-sync-protocols</code>. The listed options can be
+used via <code>sync_options = </code>.</p>
+
+<p>Next, proceed to <a href="#testing">Testing a configuration</a>.</p>
+
+<h2 id="testing">Testing a configuration</h2>
+
+<p>To see if a configuration can be used successfully, try:</p>
+
+<pre>
+sudo paludis <em>[ add '--environment portage' if appropriate ]</em> --sync
+paludis <em>[ add '--environment portage' if appropriate ]</em> --pretend --install world
+</pre>
+
+<p>You will probably find that Paludis picks up some updates that Portage doesn't. Paludis does complete dependency
+resolution and enforces runtime dependencies by default.</p>
+
+<p>You may encounter nasty error messages, especially if you are running an old install and have some packages that were
+installed a long time ago with a broken Portage release. In most cases, reinstalling the package with a recent Portage
+release will fix the problem.</p>
+
diff --git a/doc/overview/index.html b/doc/overview/index.html
new file mode 100644
index 000000000..b518d5ed2
--- /dev/null
+++ b/doc/overview/index.html
@@ -0,0 +1,146 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
+<head>
+<title>Paludis, the Other Package Mangler</title>
+<link rel="stylesheet" href="../paludis.css" type="text/css" />
+</head>
+<body>
+
+ <div class="topnav">
+
+<!-- vim: set tw=120 ft=html sw=4 sts=4 et : -->
+
+<table border="0" cellspacing="0" width="100%">
+ <col width="0*" />
+ <col width="1*" />
+ <col width="1*" />
+ <col />
+
+ <tr>
+ <td rowspan="7" class="logotab">
+ <a href="../"><img style="border: 0px; padding-right: 50px;"
+ src="../paludis_270.png" alt="Paludis Logo"
+ /></a>
+ </td>
+
+ <td>
+ <a href="../">Introduction</a>
+ </td>
+
+ <td class="currentpage">
+ <a href="../overview/">Overview</a>
+ </td>
+
+ <td class="currentpage">
+ &nbsp;
+ </td>
+ </tr>
+
+ <tr>
+ <td>
+ <a href="http://paludis.pioto.org/trac/">Bugs, Requests, Support</a>
+ </td>
+
+ <td class="currentpage">
+ <a href="../overview/features">Features</a>
+ </td>
+
+ <td class="currentpage">
+ &nbsp;
+ </td>
+ </tr>
+
+ <tr>
+ <td class="currenttab">
+ <a href="../overview/">Overview</a>
+ </td>
+
+ <td class="currentpage">
+ <a href="../overview/gettingstarted.html">Getting started</a>
+ </td>
+
+ <td class="currentpage">
+ &nbsp;
+ </td>
+ </tr>
+
+ <tr>
+ <td>
+ <a href="../faq/">FAQ</a>
+ </td>
+
+ <td class="currentpage">
+ <a href="../overview/contact.html">Contact</a>
+ </td>
+
+ <td class="currentpage">
+ &nbsp;
+ </td>
+ </tr>
+
+ <tr>
+ <td>
+ <a href="../">Clients</a>
+ </td>
+
+ <td class="currentpage">
+ &nbsp;
+ </td>
+
+ <td class="currentpage">
+ &nbsp;
+ </td>
+ </tr>
+
+ <tr>
+ <td>
+ <a href="../">Configuration</a>
+ </td>
+
+ <td class="currentpage">
+ &nbsp;
+ </td>
+
+ <td class="currentpage">
+ &nbsp;
+ </td>
+ </tr>
+
+ <tr>
+ <td>
+ <a href="../">API</a>
+ </td>
+
+ <td class="currentpage">
+ &nbsp;
+ </td>
+
+ <td class="currentpage">
+ &nbsp;
+ </td>
+ </tr>
+</table>
+
+
+ </div>
+
+ <div class="main">
+
+<!-- vim: set tw=120 ft=html sw=4 sts=4 et : -->
+
+<h1>Overview</h1>
+
+<ul>
+ <li><a href="features.html">Features</a>: an overview of Paludis, and how it differs from its predecessor,
+ Portage.</li>
+ <li><a href="gettingstarted.html">Getting started</a>: where to begin.</li>
+ <li><a href="contact.html">Contact</a>: how to get in touch.</li>
+</ul>
+
+<!-- vim: set tw=120 ft=html sw=4 sts=4 et : -->
+</div>
+</body>
+</html>
+
diff --git a/doc/overview/index.html.part b/doc/overview/index.html.part
new file mode 100644
index 000000000..66f47fca0
--- /dev/null
+++ b/doc/overview/index.html.part
@@ -0,0 +1,11 @@
+<!-- vim: set tw=120 ft=html sw=4 sts=4 et : -->
+
+<h1>Overview</h1>
+
+<ul>
+ <li><a href="features.html">Features</a>: an overview of Paludis, and how it differs from its predecessor,
+ Portage.</li>
+ <li><a href="gettingstarted.html">Getting started</a>: where to begin.</li>
+ <li><a href="contact.html">Contact</a>: how to get in touch.</li>
+</ul>
+
diff --git a/doc/overview/toplinks.html.part.in b/doc/overview/toplinks.html.part.in
new file mode 100644
index 000000000..9e02cc929
--- /dev/null
+++ b/doc/overview/toplinks.html.part.in
@@ -0,0 +1,114 @@
+<!-- vim: set tw=120 ft=html sw=4 sts=4 et : -->
+
+<table border="0" cellspacing="0" width="100%">
+ <col width="0*" />
+ <col width="1*" />
+ <col width="1*" />
+ <col />
+
+ <tr>
+ <td rowspan="7" class="logotab">
+ <a href="###TOPURI###"><img style="border: 0px; padding-right: 50px;"
+ src="###TOPURI###paludis_270.png" alt="Paludis Logo"
+ /></a>
+ </td>
+
+ <td>
+ <a href="###TOPURI###">Introduction</a>
+ </td>
+
+ <td class="currentpage">
+ <a href="###TOPURI###overview/">Overview</a>
+ </td>
+
+ <td class="currentpage">
+ &nbsp;
+ </td>
+ </tr>
+
+ <tr>
+ <td>
+ <a href="http://paludis.pioto.org/trac/">Bugs, Requests, Support</a>
+ </td>
+
+ <td class="currentpage">
+ <a href="###TOPURI###overview/features">Features</a>
+ </td>
+
+ <td class="currentpage">
+ &nbsp;
+ </td>
+ </tr>
+
+ <tr>
+ <td class="currenttab">
+ <a href="###TOPURI###overview/">Overview</a>
+ </td>
+
+ <td class="currentpage">
+ <a href="###TOPURI###overview/gettingstarted.html">Getting started</a>
+ </td>
+
+ <td class="currentpage">
+ &nbsp;
+ </td>
+ </tr>
+
+ <tr>
+ <td>
+ <a href="###TOPURI###faq/">FAQ</a>
+ </td>
+
+ <td class="currentpage">
+ <a href="###TOPURI###overview/contact.html">Contact</a>
+ </td>
+
+ <td class="currentpage">
+ &nbsp;
+ </td>
+ </tr>
+
+ <tr>
+ <td>
+ <a href="###TOPURI###">Clients</a>
+ </td>
+
+ <td class="currentpage">
+ &nbsp;
+ </td>
+
+ <td class="currentpage">
+ &nbsp;
+ </td>
+ </tr>
+
+ <tr>
+ <td>
+ <a href="###TOPURI###">Configuration</a>
+ </td>
+
+ <td class="currentpage">
+ &nbsp;
+ </td>
+
+ <td class="currentpage">
+ &nbsp;
+ </td>
+ </tr>
+
+ <tr>
+ <td>
+ <a href="###TOPURI###">API</a>
+ </td>
+
+ <td class="currentpage">
+ &nbsp;
+ </td>
+
+ <td class="currentpage">
+ &nbsp;
+ </td>
+ </tr>
+</table>
+
+