aboutsummaryrefslogtreecommitdiff
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
parent7dccbca02e506ed15c768d05128412537c94b94a (diff)
downloadpaludis-b49e85a4cd30d9a0c4f3452f118c21a77a2dafc9.tar.gz
paludis-b49e85a4cd30d9a0c4f3452f118c21a77a2dafc9.tar.xz
More docs work
-rw-r--r--Makefile.am6
-rw-r--r--doc/Makefile.am95
-rw-r--r--doc/api/Makefile.am8
-rw-r--r--doc/api/cplusplus/Makefile.am8
-rw-r--r--doc/api/cplusplus/examples/Makefile.am8
-rw-r--r--doc/api/python/Makefile.am8
-rw-r--r--doc/api/ruby/Makefile.am8
-rw-r--r--doc/changelog.html.part.in3
-rw-r--r--doc/clients/Makefile.am8
-rw-r--r--doc/clients/index.html.part23
-rw-r--r--doc/configuration/Makefile.am8
-rw-r--r--doc/configuration/index.html.part34
-rw-r--r--doc/configuration/repositories.html.part0
-rw-r--r--doc/faq/Makefile.am8
-rw-r--r--doc/footer.html.part.in5
-rw-r--r--doc/header.html.part.in16
-rw-r--r--doc/index.html.part.in86
-rw-r--r--doc/news.html.part.in4
-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
-rw-r--r--doc/paludis.css93
-rw-r--r--doc/toplinks.html.part.in113
28 files changed, 1933 insertions, 3 deletions
diff --git a/Makefile.am b/Makefile.am
index 777e4e2..ee15034 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -30,6 +30,12 @@ doxygen : built-sources
epydoc : all
$(MAKE) -C doc $@
+htmldocs :
+ $(MAKE) -C doc $@
+
+documentation : doxygen epydoc htmldocs
+ $(MAKE) -C doc $@
+
check-local :
touch $(top_builddir)/done-check
diff --git a/doc/Makefile.am b/doc/Makefile.am
index 01abdae..103692e 100644
--- a/doc/Makefile.am
+++ b/doc/Makefile.am
@@ -1,7 +1,88 @@
SUBDIRS = . api clients configuration faq overview
MAINTAINERCLEANFILES = Makefile.in
-CLEANFILES = *~
+CLEANFILES = *~ \
+ header.html.part \
+ toplinks.html.part \
+ footer.html.part \
+ index.html.part \
+ news.html.part \
+ news.subst \
+ changelog.html.part \
+ changelog.subst \
+ index.html \
+ news.html \
+ changelog.html
+
+EXTRA_DIST = \
+ header.html.part.in \
+ toplinks.html.part.in \
+ footer.html.part.in \
+ index.html.part.in \
+ news.html.part.in \
+ changelog.html.part.in \
+ paludis.css
+
+paludishtmldir = $(htmldir)/paludis
+
+paludishtml_DATA = \
+ index.html \
+ news.html \
+ changelog.html \
+ paludis.css
+
+index.html : header.html.part index.html.part footer.html.part
+ cat header.html.part index.html.part footer.html.part > $@
+
+news.html : header.html.part news.html.part footer.html.part
+ cat header.html.part news.html.part footer.html.part > $@
+
+changelog.html : header.html.part changelog.html.part footer.html.part
+ cat header.html.part changelog.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
+
+index.html.part : $(srcdir)/index.html.part.in
+ sed -e 's,###PALUDIS_VERSION###,$(VERSION_FULL),g' < $(srcdir)/index.html.part.in > index.html.part
+
+news.html.part : $(srcdir)/news.html.part.in news.subst
+ sed \
+ -e '/###NEWS###/r news.subst' \
+ -e 's,###NEWS###,,' \
+ < $(srcdir)/news.html.part.in > news.html.part
+
+changelog.html.part : $(srcdir)/changelog.html.part.in changelog.subst
+ sed \
+ -e '/###CHANGELOG###/r changelog.subst' \
+ -e 's,###CHANGELOG###,,' \
+ < $(srcdir)/changelog.html.part.in > changelog.html.part
+
+news.subst : $(top_srcdir)/NEWS
+ sed \
+ -e 's,&,\&amp;,g' \
+ -e 's,<,\&lt;,g' \
+ -e 's,>,\&gt;,g' \
+ < $(top_srcdir)/NEWS > news.subst
+
+changelog.subst : $(top_srcdir)/ChangeLog
+ sed \
+ -e 's,&,\&amp;,g' \
+ -e 's,<,\&lt;,g' \
+ -e 's,>,\&gt;,g' \
+ < $(top_srcdir)/ChangeLog > changelog.subst
built-sources : $(BUILT_SOURCES)
for s in `echo $(SUBDIRS) | tr -d .` ; do $(MAKE) -C $$s built-sources || exit 1 ; done
@@ -11,9 +92,19 @@ distcheck-deps-local : $(DISTCHECK_DEPS)
distcheck-deps : distcheck-deps-subdirs
distcheck-deps-subdirs :
- for s in $(SUBDIRS) . ; do if test x$$s = x. ; then make distcheck-deps-local || exit 1 ; \
+ for s in $(SUBDIRS) . ; do if test x$$s = x. ; then $(MAKE) distcheck-deps-local || exit 1 ; \
else $(MAKE) -C $$s distcheck-deps || exit 1 ; fi ; done
+documentation : doxygen epydoc htmldocs
+
+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 : $(paludishtml_DATA)
+
doxygen :
$(MAKE) -C api $@
diff --git a/doc/api/Makefile.am b/doc/api/Makefile.am
index 45ee54e..92a7f34 100644
--- a/doc/api/Makefile.am
+++ b/doc/api/Makefile.am
@@ -17,3 +17,11 @@ doxygen :
epydoc :
$(MAKE) -C python $@
+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 : $(paludisapihtml_DATA)
+
diff --git a/doc/api/cplusplus/Makefile.am b/doc/api/cplusplus/Makefile.am
index 5f51b49..547992c 100644
--- a/doc/api/cplusplus/Makefile.am
+++ b/doc/api/cplusplus/Makefile.am
@@ -49,3 +49,11 @@ distcheck-deps-subdirs :
clean-local :
rm -fr doxygen/
+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 : $(paludishtmlapicplusplus_DATA)
+
diff --git a/doc/api/cplusplus/examples/Makefile.am b/doc/api/cplusplus/examples/Makefile.am
index 6773fdc..11a8223 100644
--- a/doc/api/cplusplus/examples/Makefile.am
+++ b/doc/api/cplusplus/examples/Makefile.am
@@ -182,3 +182,11 @@ distcheck-deps : $(DISTCHECK_DEPS) distcheck-deps-subdirs
distcheck-deps-subdirs :
for s in `echo $(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 : $(paludisapicplusplusexampleshtml_DATA)
+
diff --git a/doc/api/python/Makefile.am b/doc/api/python/Makefile.am
index d55af0b..a614064 100644
--- a/doc/api/python/Makefile.am
+++ b/doc/api/python/Makefile.am
@@ -27,3 +27,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 : $(paludisapipythonhtml_DATA)
+
diff --git a/doc/api/ruby/Makefile.am b/doc/api/ruby/Makefile.am
index e412f64..053e6d6 100644
--- a/doc/api/ruby/Makefile.am
+++ b/doc/api/ruby/Makefile.am
@@ -11,3 +11,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 : $(paludisapirubyhtml_DATA)
+
diff --git a/doc/changelog.html.part.in b/doc/changelog.html.part.in
new file mode 100644
index 0000000..f555dee
--- /dev/null
+++ b/doc/changelog.html.part.in
@@ -0,0 +1,3 @@
+<pre>
+###CHANGELOG###
+</pre>
diff --git a/doc/clients/Makefile.am b/doc/clients/Makefile.am
index e412f64..7bfb6c5 100644
--- a/doc/clients/Makefile.am
+++ b/doc/clients/Makefile.am
@@ -11,3 +11,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 : $(paludisclientshtml_DATA)
+
diff --git a/doc/clients/index.html.part b/doc/clients/index.html.part
new file mode 100644
index 0000000..12b42ce
--- /dev/null
+++ b/doc/clients/index.html.part
@@ -0,0 +1,23 @@
+<!-- vim: set tw=120 ft=html sw=4 sts=4 et : -->
+
+<h1>Clients</h1>
+
+<p>For users:</p>
+
+<ul>
+ <li><a href="paludis.html">paludis</a>, the console package management client.</li>
+ <li><a href="contrarius.html">contrarius</a>, a tool for creating cross-toolchains.</li>
+ <li><a href="importare.html">importare</a>, the unpackaged package installer.</li>
+ <li><a href="inquisitio.html">inquisitio</a>, the search client.</li>
+ <li><a href="reconcilio.html">reconcilio</a>, a tool for rebuilding packages with broken linkage.</li>
+</ul>
+
+<p>For ebuild developers and distribution maintainers:</p>
+
+<ul>
+ <li><a href="accerso.html">accerso</a>, the mirror client.</li>
+ <li><a href="adjutrix.html">adjutrix</a>, a collection of utilities for ebuild developers and arch teams.</li>
+ <li><a href="instruo.html">instruo</a>, the metadata generation client.</li>
+ <li><a href="qualudis.html">qualudis</a>, the QA client.</li>
+</ul>
+
diff --git a/doc/configuration/Makefile.am b/doc/configuration/Makefile.am
index e412f64..4503f3b 100644
--- a/doc/configuration/Makefile.am
+++ b/doc/configuration/Makefile.am
@@ -11,3 +11,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 : $(paludisconfigurationhtml_DATA)
+
diff --git a/doc/configuration/index.html.part b/doc/configuration/index.html.part
new file mode 100644
index 0000000..dd77203
--- /dev/null
+++ b/doc/configuration/index.html.part
@@ -0,0 +1,34 @@
+<!-- vim: set tw=120 ft=html sw=4 sts=4 et : -->
+
+<h1>Configuration</h1>
+
+<h2>In General</h2>
+
+<ul>
+ <li><a href="hooks.html">Hooks</a>: how to execute additional code at well defined points.</li>
+ <li><a href="syncers.html">Syncers</a>: how to implement custom sync protocols, and replace built-in syncers.</li>
+ <li><a href="fetchers.html">Fetchers</a>: how to implement custom URI fetching protocols, and replace built-in
+ fetchers.</li>
+ <li><a href="envvars.html">Environment variables</a> that Paludis itself recognises.</li>
+</ul>
+
+<h2>For the 'Paludis' Environment</h2>
+
+<ul>
+ <li><a href="specpath.html">specpath.conf</a>, and where Paludis looks for configuration files.</li>
+ <li><a href="configfiles.html">Configuration file formats</a> in general, including <code>conf.d/</code> directories
+ and <code>.bash</code> dynamic configuration files.</li>
+ <li><a href="environment.html">environment.conf</a>: for environment options.</li>
+ <li><a href="keywords.html">keywords.conf</a>: for keywords.</li>
+ <li><a href="use.html">use.conf</a>: for USE flags.</li>
+ <li><a href="licenses.html">licenses.conf</a>: for licence filtering.</li>
+ <li><a href="mirrors.html">mirrors.conf</a>: for mirrors.</li>
+ <li><a href="packagemask.html">package_mask.conf and package_unmask.conf</a>: for masks.</li>
+ <li><a href="bashrc.html">bashrc</a>: for package build environment options.</li>
+ <li><a href="sets.html">sets/*.conf</a>: for user defined package sets.</li>
+ <li><a href="repositories.html">repositoryies/*.conf and repository_defaults.conf</a>, in general.</li>
+ <li>... and configuration keys for <a href="erepository.html">ebuild repositories</a>.</li>
+ <li>... and configuration keys for <a href="vdb.html">VDB repositories</a>.</li>
+ <li>... and configuration keys for <a href="installedunpackaged.html">installed unpackaged repositories</a>.</li>
+</ul>
+
diff --git a/doc/configuration/repositories.html.part b/doc/configuration/repositories.html.part
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/doc/configuration/repositories.html.part
diff --git a/doc/faq/Makefile.am b/doc/faq/Makefile.am
index e412f64..c6821ba 100644
--- a/doc/faq/Makefile.am
+++ b/doc/faq/Makefile.am
@@ -11,3 +11,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 : $(paludisfaqhtml_DATA)
+
diff --git a/doc/footer.html.part.in b/doc/footer.html.part.in
new file mode 100644
index 0000000..0c2d0e3
--- /dev/null
+++ b/doc/footer.html.part.in
@@ -0,0 +1,5 @@
+<!-- vim: set tw=120 ft=html sw=4 sts=4 et : -->
+</div>
+</body>
+</html>
+
diff --git a/doc/header.html.part.in b/doc/header.html.part.in
new file mode 100644
index 0000000..9740943
--- /dev/null
+++ b/doc/header.html.part.in
@@ -0,0 +1,16 @@
+<!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="###TOPURI###paludis.css" type="text/css" />
+</head>
+<body>
+
+ <div class="topnav">
+ ###TOPLINKS###
+ </div>
+
+ <div class="main">
+
diff --git a/doc/index.html.part.in b/doc/index.html.part.in
new file mode 100644
index 0000000..b68a1aa
--- /dev/null
+++ b/doc/index.html.part.in
@@ -0,0 +1,86 @@
+<!-- vim: set tw=120 ft=html sw=4 sts=4 et : -->
+
+<h1>Paludis</h1>
+
+<h2>Overview</h2>
+
+<ul>
+ <li><a href="overview/features.html">Features</a>: an overview of Paludis, and how it differs from its predecessor,
+ Portage.</li>
+ <li><a href="overview/gettingstarted.html">Getting started</a>: where to begin.</li>
+ <li><a href="overview/contact.html">Contact</a>: how to get in touch.</li>
+ <li>We use <a href="http://paludis.pioto.org/trac/">Trac</a> for bug reports, feature requests etc.</li>
+ <li>The current version is ###PALUDIS_VERSION###. See <a href="news.html">the release notes</a> and <a
+ href="changelog.html">changelog</a>.</li>
+</ul>
+
+<h2>FAQ</h2>
+
+<ul>
+ <li><a href="faq/general.html">General questions</a> about Paludis.</li>
+ <li><a href="faq/howdoi.html">How do I</a> do and use various things.</li>
+ <li><a href="faq/operation.html">Operation</a> of Paludis.</li>
+ <li><a href="faq/stricter.html">Stricter than Portage</a>: why certain things happen to work with Portage, but not
+ Paludis.</li>
+ <li><a href="faq/misfunctionality.html">Undesirable misfunctionality</a>: why Paludis doesn't do certain
+ things.</li>
+ <li><a href="faq/different.html">Things Paludis does differently</a>: why Paludis does some things differently.</li>
+ <li><a href="faq/repositories.html">Repository questions</a>.</li>
+</ul>
+
+<h2>Configuration</h2>
+
+<p>In general:</p>
+
+<ul>
+ <li><a href="configuration/hooks.html">Hooks</a>: how to execute additional code at well defined points.</li>
+ <li><a href="configuration/syncers.html">Syncers</a>: how to implement custom sync protocols, and replace built-in syncers.</li>
+ <li><a href="configuration/fetchers.html">Fetchers</a>: how to implement custom URI fetching protocols, and replace built-in
+ fetchers.</li>
+ <li><a href="configuration/envvars.html">Environment variables</a> that Paludis itself recognises.</li>
+</ul>
+
+<p>For the 'Paludis' environment:</p>
+
+<ul>
+ <li><a href="configuration/specpath.html">specpath.conf</a>, and where Paludis looks for configuration files.</li>
+ <li><a href="configuration/configfiles.html">Configuration file formats</a> in general, including <code>conf.d/</code> directories
+ and <code>.bash</code> dynamic configuration files.</li>
+ <li><a href="configuration/environment.html">environment.conf</a>: for environment options.</li>
+ <li><a href="configuration/keywords.html">keywords.conf</a>: for keywords.</li>
+ <li><a href="configuration/use.html">use.conf</a>: for USE flags.</li>
+ <li><a href="configuration/licenses.html">licenses.conf</a>: for licence filtering.</li>
+ <li><a href="configuration/mirrors.html">mirrors.conf</a>: for mirrors.</li>
+ <li><a href="configuration/packagemask.html">package_mask.conf and package_unmask.conf</a>: for masks.</li>
+ <li><a href="configuration/bashrc.html">bashrc</a>: for package build environment options.</li>
+ <li><a href="configuration/sets.html">sets/*.conf</a>: for user defined package sets.</li>
+ <li><a href="configuration/repositories.html">repositoryies/*.conf and repository_defaults.conf</a>, in general.</li>
+ <li>... and configuration keys for <a href="configuration/erepository.html">ebuild repositories</a>.</li>
+ <li>... and configuration keys for <a href="configuration/vdb.html">VDB repositories</a>.</li>
+ <li>... and configuration keys for <a href="configuration/installedunpackaged.html">installed unpackaged repositories</a>.</li>
+</ul>
+
+<h2>Client Documentation</h2>
+
+<p>For users:</p>
+
+<ul>
+ <li><a href="clients/paludis.html">paludis</a>, the console package management client.</li>
+ <li><a href="clients/contrarius.html">contrarius</a>, a tool for creating cross-toolchains.</li>
+ <li><a href="clients/importare.html">importare</a>, the unpackaged package installer.</li>
+ <li><a href="clients/inquisitio.html">inquisitio</a>, the search client.</li>
+ <li><a href="clients/reconcilio.html">reconcilio</a>, a tool for rebuilding packages with broken linkage.</li>
+</ul>
+
+<p>For ebuild developers and distribution maintainers:</p>
+
+<ul>
+ <li><a href="clients/accerso.html">accerso</a>, the mirror client.</li>
+ <li><a href="clients/adjutrix.html">adjutrix</a>, a collection of utilities for ebuild developers and arch teams.</li>
+ <li><a href="clients/instruo.html">instruo</a>, the metadata generation client.</li>
+ <li><a href="clients/qualudis.html">qualudis</a>, the QA client.</li>
+</ul>
+
+<h2>API Documentation</h2>
+
+
diff --git a/doc/news.html.part.in b/doc/news.html.part.in
new file mode 100644
index 0000000..5401560
--- /dev/null
+++ b/doc/news.html.part.in
@@ -0,0 +1,4 @@
+<pre>
+###NEWS###
+</pre>
+
diff --git a/doc/overview/Makefile.am b/doc/overview/Makefile.am
index e412f64..cd5e554 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 0000000..13bca7a
--- /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 0000000..7e136e7
--- /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 0000000..6e6404a
--- /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 0000000..e4db29b
--- /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 0000000..b518d5e
--- /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 0000000..66f47fc
--- /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 0000000..9e02cc9
--- /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>
+
+
diff --git a/doc/paludis.css b/doc/paludis.css
new file mode 100644
index 0000000..84f8b26
--- /dev/null
+++ b/doc/paludis.css
@@ -0,0 +1,93 @@
+body {
+ margin: 0em;
+ padding: 0em;
+ background-color: #eedd99;
+ color: #333333;
+ font-family: "Verdana", "Helvetica", sans-serif;
+}
+
+div.main {
+ margin: 0em 1em 2em 1em;
+}
+
+a:link {
+ text-decoration: none;
+ font-weight: bold;
+ color: #996600;
+}
+
+a:visited {
+ text-decoration: none;
+ font-weight: bold;
+ color: #996600;
+}
+
+a:hover {
+ text-decoration: none;
+ background-color: #996600;
+ font-weight: bold;
+ color: #ffffff;
+}
+
+a:hover img {
+ background-color: #996600;
+}
+
+div.topnav * a:link {
+ text-decoration: none;
+ font-weight: bold;
+ color: #333333;
+}
+
+div.topnav * a:visited {
+ text-decoration: none;
+ font-weight: bold;
+ color: #333333;
+}
+
+div.topnav * a:hover {
+ text-decoration: none;
+ background-color: #996600;
+ font-weight: bold;
+ color: #ffffff;
+}
+
+div.topnav * a:hover img {
+ background-color: #996600;
+}
+
+div.topnav {
+ border-bottom: 1px solid #996600;
+ padding: 5px;
+}
+
+h1 {
+ text-align: center;
+ border-bottom: 1px dashed #996600;
+ margin-left: 5em;
+ margin-right: 5em;
+}
+
+h2 {
+ text-align: left;
+ border-bottom: 1px dashed #996600;
+}
+
+div.topnav {
+ font-size: 70%;
+ background-color: #ddcc99;
+}
+
+div.topnav table * td {
+ padding: 1px 10px;
+}
+
+.currenttab {
+ background-color: #eedd99;
+ font-weight: bold;
+}
+
+.currentpage {
+ background-color: #eedd99;
+}
+
diff --git a/doc/toplinks.html.part.in b/doc/toplinks.html.part.in
new file mode 100644
index 0000000..b85e2ad
--- /dev/null
+++ b/doc/toplinks.html.part.in
@@ -0,0 +1,113 @@
+<!-- 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 class="currenttab">
+ <a href="###TOPURI###">Introduction</a>
+ </td>
+
+ <td class="currentpage">
+ <a href="###TOPURI###">Main page</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###news.html">Release Notes</a>
+ </td>
+
+ <td class="currentpage">
+ &nbsp;
+ </td>
+ </tr>
+
+ <tr>
+ <td>
+ <a href="###TOPURI###overview/">Overview</a>
+ </td>
+
+ <td class="currentpage">
+ <a href="###TOPURI###changelog.html">ChangeLog</a>
+ </td>
+
+ <td class="currentpage">
+ &nbsp;
+ </td>
+ </tr>
+
+ <tr>
+ <td>
+ <a href="###TOPURI###faq/">FAQ</a>
+ </td>
+
+ <td class="currentpage">
+ &nbsp;
+ </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>
+