diff options
author | 2006-10-11 20:56:59 +0000 | |
---|---|---|
committer | 2006-10-11 20:56:59 +0000 | |
commit | e3b86134db7baada7b3a1e779e7d6d046ab53a1a (patch) | |
tree | 6acb3c0de68e1b95dbba8f0e00f770b8f31e4bac /0.8.0/doc | |
parent | ab9cdb1150d97449e857cd55fe706377c9ab2422 (diff) | |
download | paludis-0.8.0.tar.gz paludis-0.8.0.tar.xz |
Tag release 0.8.00.8.0
Diffstat (limited to '0.8.0/doc')
-rw-r--r-- | 0.8.0/doc/Makefile.am | 50 | ||||
-rw-r--r-- | 0.8.0/doc/doc_authors.doxygen | 9 | ||||
-rw-r--r-- | 0.8.0/doc/doc_bootstrap_howto.doxygen | 318 | ||||
-rw-r--r-- | 0.8.0/doc/doc_changelog.doxygen | 10 | ||||
-rw-r--r-- | 0.8.0/doc/doc_coding_standards.doxygen | 184 | ||||
-rw-r--r-- | 0.8.0/doc/doc_configuration_files.doxygen | 262 | ||||
-rw-r--r-- | 0.8.0/doc/doc_known_issues.doxygen | 80 | ||||
-rw-r--r-- | 0.8.0/doc/doc_licence.doxygen | 12 | ||||
-rw-r--r-- | 0.8.0/doc/doc_main.doxygen | 352 | ||||
-rw-r--r-- | 0.8.0/doc/doc_mainpage.doxygen | 59 | ||||
-rw-r--r-- | 0.8.0/doc/doc_migration_howto.doxygen | 245 | ||||
-rw-r--r-- | 0.8.0/doc/doc_namespaces.doxygen | 29 | ||||
-rw-r--r-- | 0.8.0/doc/doc_news.doxygen | 11 | ||||
-rw-r--r-- | 0.8.0/doc/doc_portage_differences.doxygen | 88 | ||||
-rw-r--r-- | 0.8.0/doc/doc_references.doxygen | 43 | ||||
-rw-r--r-- | 0.8.0/doc/doc_security_advisories.doxygen | 154 | ||||
-rw-r--r-- | 0.8.0/doc/doxygen.conf.in | 1223 | ||||
-rw-r--r-- | 0.8.0/doc/footer.html | 12 | ||||
-rw-r--r-- | 0.8.0/doc/header.html | 39 | ||||
-rw-r--r-- | 0.8.0/doc/paludis.css | 326 |
20 files changed, 3506 insertions, 0 deletions
diff --git a/0.8.0/doc/Makefile.am b/0.8.0/doc/Makefile.am new file mode 100644 index 000000000..591cc4e5c --- /dev/null +++ b/0.8.0/doc/Makefile.am @@ -0,0 +1,50 @@ +CLEANFILES = *~ html/* html +MAINTAINERCLEANFILES = Makefile.in + +docfiles = \ + doc_main.doxygen \ + doc_mainpage.doxygen \ + doc_coding_standards.doxygen \ + doc_namespaces.doxygen \ + doc_references.doxygen \ + doc_licence.doxygen \ + doc_authors.doxygen \ + doc_bootstrap_howto.doxygen \ + doc_changelog.doxygen \ + doc_portage_differences.doxygen \ + doc_news.doxygen \ + doc_security_advisories.doxygen \ + doc_configuration_files.doxygen \ + doc_migration_howto.doxygen \ + doc_known_issues.doxygen + +EXTRA_DIST = doxygen.conf.in header.html footer.html paludis.css $(docfiles) + +if HAVE_DOXYGEN + +doxygen : doxygen.conf $(top_srcdir)/paludis/*.cc $(top_srcdir)/paludis/*.hh \ + $(docfiles) + doxygen doxygen.conf + +else + +doxygen : + @echo "You don't have doxygen installed!" + exit 1 + +endif + +clean-local : + mkdir -p html + touch html/dummy + find html/ -type f | grep -v '\.svn' | xargs rm + +maintainer-clean-local : + mkdir -p html + touch html/dummy + find html/ -type f | grep -v '\.svn' | xargs rm + +upload-homepage : doxygen + cd `readlink -f $(top_srcdir)/doc/html` && tar jc ./ | \ + ssh shell.berlios.de tar vjx -C /home/groups/paludis/htdocs/ + diff --git a/0.8.0/doc/doc_authors.doxygen b/0.8.0/doc/doc_authors.doxygen new file mode 100644 index 000000000..8d9d855de --- /dev/null +++ b/0.8.0/doc/doc_authors.doxygen @@ -0,0 +1,9 @@ +/* vim: set ft=cpp tw=80 sw=4 et : */ + +/** +\page Authors Authors + +\verbinclude AUTHORS + +*/ + diff --git a/0.8.0/doc/doc_bootstrap_howto.doxygen b/0.8.0/doc/doc_bootstrap_howto.doxygen new file mode 100644 index 000000000..eba582115 --- /dev/null +++ b/0.8.0/doc/doc_bootstrap_howto.doxygen @@ -0,0 +1,318 @@ +/* vim: set ft=cpp tw=80 sw=4 et : */ + +/** +\page BootstrapHowto Bootstrap Howto + +\section BootstrapHowtoMain How to make a Paludis chroot + +<b>You may encounter problems!</b> Paludis is still undergoing heavy development, +and although it's getting to be fairly reliable, there are still issues. Most +ebuild authors don't test their code with both package managers. You will also +find that some packages are very picky about honouring <code>ROOT</code>. At the +very least, you will encounter issues if you are trying to build a stable stage +from an unstable system. + +You should join the <code>\#paludis</code> channel on Freenode. If you're doing +anything development-related, you should probably also ask to be allowed to +subscribe to the <code>paludis-sekrit</code> mailing list. + +\warning Using Portage and Paludis on the same root isn't a very good idea. There + are differences in configuration and VDB formats. + +\warning Do not file bugs related to Paludis on Gentoo Bugzilla. Do not discuss + Paludis on Gentoo mailing lists or forums. Do not pester Gentoo developers + about Paludis. Read the \link KnownIssues known issues \endlink list. + +\section BootstrapHowtoRequirements Requirements + +Install Paludis locally, being sure to configure <code>sysconfdir</code> as +<code>/etc</code>, <code>localstatedir</code> as <code>/var/lib</code> and +<code>datadir</code> as <code>/usr/share</code> to avoid confusion later on. +There're ebuilds in the tree, or in <a +href="http://svn.pioto.org/viewvc/paludis/overlay/"> the Paludis overlay</a> if +you need SVN ebuilds. + +You'll need libebt, libwrapiter, eselect and Subversion. If you're using the QA +tools (<code>--enable-qa</code>) you will also need pcre++ (and pcre, by +extension) and libxml2. You'll also need either g++-3.4, g++-4.1 or some other +reasonably standard C++ compiler along with a complete standard library +implementation (so no uClibc++). If you're trying to run on non-Linux, you'll +also need to fix a few includes and submit a patch. + +Make sure the test suite passes (either <code>FEATURES="test"</code> for +Portage, or <code>make check</code>). If it fails, don't continue until you +figure out why. + +\section BootstrapConfiguration Configuration + +Set up a local bootstrap config directory. We're assuming in this document that +you're using <code>/mychroot</code> as the root path, but anywhere not on a +noexec / nodev filesystem should work. The reason for doing things this way will +become apparent later on. + +\verbatim +mkdir ~/.paludis-bootstrap +cat <<"END" > ~/.paludis-bootstrap/specpath +root = /mychroot +config-suffix = +END +\endverbatim + +Make some skeleton directories and files: + +\verbatim +mkdir -p /mychroot/etc/{env.d,paludis/repositories} +mkdir -p /mychroot/var/{db/pkg,paludis/repositories/gentoo/distfiles} +mkdir -p /mychroot/tmp/ +touch /mychroot/etc/ld.so.conf +\endverbatim + +Set up your <code>keywords.conf</code>. At the very least, you'll need a <code>* +keywords</code> line. Further lines can be added in the form "atom keywords". +Like with Portage, accepting <code>~keyword</code> does <b>not</b> accept +<code>keyword</code>, so if you want a fully <code>~arch</code> system you +should use <code>* arch ~arch</code>. + +\verbatim +cat <<"END" > /mychroot/etc/paludis/keywords.conf +* x86 +dev-cpp/libebt x86 ~x86 +sys-apps/paludis x86 ~x86 +dev-util/subversion x86 ~x86 +app-admin/eselect x86 ~x86 +app-editors/vim x86 ~x86 +app-editors/vim-core x86 ~x86 +END +\endverbatim + +Set up your <code>use.conf</code>. At the very least, you'll need a <code>* +flags</code> line. Again, additional per-atom lines can be specified. The +<code>-apache2</code> is important, if you value your sanity, since you'll be +installing subversion. We're experimenting with a slightly different way of +handling <code>USE_EXPAND</code> variables that allows different settings for +different packages. This may change, but for now it looks like this (note the +<code>-*</code> to avoid inherinting profile values: + +\verbatim +cat <<"END" > /mychroot/etc/paludis/use.conf +* -doc nls -apache2 LINGUAS: en INPUT_DEVICES: keyboard mouse VIDEO_CARDS: -* ati +app-editors/vim -nls +END +\endverbatim + +Set up your <code>licenses.conf</code>. If you don't care about licences, which +is probably wise until we get licence grouping, it should look like this: + +\verbatim +cat <<"END" > /mychroot/etc/paludis/licenses.conf +* * +END +\endverbatim + +If you want some more fun, the following list might be enough to install a +base system if you don't turn on too many extra USE flags: + +\verbatim +cat <<"END" > /mychroot/etc/paludis/licenses.conf +# These are the basic system requirements. It's possible to knock off +# a few of these by turning off some default USE flags. +* LGPL-2.1 LGPL-2 GPL-2 BSD MIT BZIP2 Artistic DB PSF-2.1.1 PSF-2.2 +* as-is tcp_wrappers_license freedist ZLIB openssl CRACKLIB PAM FLEX + +# These are needed to get Subversion. +* Apache-1.1 Apache-2.0 + +# These are needed to get an editor that doesn't suck. +* vim + +# These are needed if you want modular X. This is utterly ridiculous, +# and the people responsible for using different licence IDs for +# identical licences should be shot. +* xorg-server libXfont xtrans util-macros libfontenc xproto fontsproto +* FTL fontcacheproto libXau libXext libX11 libXdmcp kbproto inputproto +* xf86bigfontproto bigreqsproto xextproto xcmiscproto libxkbfile libXmu +* libXt libSM libICE libXrender renderproto libXi libXxf86vm +* xf86vidmodeproto libdrm MOTIF libXaw libXpm libXp printproto xbitmaps +* makedepend xf86driproto glproto font-adobe-75dpi bdftopcf font-util +* encodings mkfontscale mkfontdir font-misc-misc font-cursor-misc +* xkbcomp iceauth rgb xauth xinit twm xclock libXft fontconfig xrdb X11 +* libXxf86misc xf86miscproto libdmx dmxproto libXtst recordproto libXres +* resourceproto libxkbui liblbxutil randrproto fixesproto damageproto +* xf86dgaproto xf86rushproto compositeproto videoproto scrnsaverproto +* evieext trapproto xineramaproto glut setxkbmap xhost xmodmap xrandr +* libXrandr libXcomposite libXfixes libXcursor libXdamage libXv +* libXxf86dga libXinerama libXScrnSaver BitstreamVera font-bh-type1 +* font-adobe-utopia-type1 font-adobe-100dpi xorg-docs +* xf86-input-keyboard xf86-input-mouse xf86-video-ati font-alias +END +\endverbatim + +Set up your <code>package_unmask.conf</code> and <code>package_mask.conf</code>, +if necessary: + +\verbatim +cat <<"END" > /mychroot/etc/paludis/package_unmask.conf +app-editors/vim +app-editors/vim-core +END +\endverbatim + +Set up your <code>mirrors.conf</code>, if you feel like it (note that 0.2.5 or +later is required, or this file is ignored). It uses the same format as +<code>thirdpartymirrors</code>. Remember to include the <code>/distfiles</code> +for Gentoo mirrors. + +\verbatim +cat <<"END" > /mychroot/etc/paludis/mirrors.conf +gentoo http://gentoo.blueyonder.co.uk/distfiles/ +gnu http://gnu.blueyonder.co.uk/ +debian http://debian.blueyonder.co.uk/ +END +\endverbatim + +Set up your <code>bashrc</code>. This must <b>NOT</b> be used to change any +values that affect dependency resolution (e.g. <code>USE</code>, +<code>LINGUAS</code>). It can be used to set <code>CFLAGS</code>, +<code>CHOST</code> and the like (on some archs you'll have to do this to +avoid getting junk from your profile). Remember to <code>export</code> your +variables. + +Unfortunately, some packages in system have broken test suites, and some +packages abuse non-${ROOT} locations in pkg_postinst. Thus, you will also +need to add a bit of magic to work around these packages. + +\verbatim +cat <<"END" > /mychroot/etc/paludis/bashrc +export CFLAGS="-O2 -march=pentium4 -fomit-frame-pointer" +export CXXFLAGS="${CFLAGS}" +export CHOST="i686-pc-linux-gnu" +export MAKEOPTS="-j2" +export EBEEP_IGNORE="yes" +export EPAUSE_IGNORE="yes" + +case "${PN}" in + + python|portage) + export SKIP_FUNCTIONS=test + export SANDBOX_PREDICT=/ + ;; + + automake|glibc|e2fsprogs|neon|gettext|tar) + export SKIP_FUNCTIONS=test + ;; + +esac + +END +\endverbatim + +Set up your repository files. Do not tinker with the VDB location, it +<b>must</b> go in <code>${ROOT}/var/db/pkg</code>. Here we'll avoid using +<code>/usr/portage</code> for the main tree because sticking data that gets +changed on <code>/usr</code> is silly. We use the <code>${ROOT}</code> variable, +which is set magically, to make the config work both in and outside of a +chroot (this is one of the reasons we have the weird-looking specpath +thing). The Paludis overlay is optional but recommended. + +\verbatim +cat <<"END" > /mychroot/etc/paludis/repositories/gentoo.conf +location = ${ROOT}/var/paludis/repositories/gentoo/ +sync = rsync://rsync.europe.gentoo.org/gentoo-portage/ +profiles = ${ROOT}/var/paludis/repositories/gentoo/profiles/default-linux/x86/2006.0 +format = portage +END + +cat <<"END" > /mychroot/etc/paludis/repositories/installed.conf +location = ${ROOT}/var/db/pkg/ +format = vdb +END + +cat <<"END" > /mychroot/etc/paludis/repositories/paludis-overlay.conf +location = ${ROOT}/var/paludis/repositories/paludis-overlay/ +sync = svn://svn.pioto.org/paludis/overlay +profiles = ${ROOT}/var/paludis/repositories/gentoo/profiles/default-linux/x86/2006.0 +eclassdirs = ${ROOT}/var/paludis/repositories/gentoo/eclass +distdir = ${ROOT}/var/paludis/repositories/gentoo/distfiles +cache = /var/empty +format = portage +importance = 10 +END +\endverbatim + +\section BootstrapHowtoSync Initial Sync + +Now check that the config looks ok, and sync: + +\verbatim +paludis --config-suffix bootstrap --list-repositories +sudo paludis --config-suffix bootstrap --sync +\endverbatim + +If you have problems, try adding <code>--log-level debug</code>. This may or may +not give helpful information... This applies at all stages. + +The initial sync will be slow. You can cheat and copy an existing Portage tree +checkout into <code>/mychroot/var/paludis/repositories/gentoo/</code>, but +remember to preserve mtimes and permissions if you do. Note that there's no +hideously painful 'Updating the Portage cache...' to go through. Paludis will +use the metadata cache, if available, but does not use the dep cache. + +\section BootstrapInstalling Installing Things + +Now install baselayout and then system. We install baselayout manually first +because it's easier than creating a bunch of directories by hand. + +Note that there're a whole load of circular dependencies in system +(ncurses <-> gpm, patch <-> patch, gcc <-> glibc for example), so you'll +almost certainly need --dl-drop-circular at this stage. + +\verbatim +paludis --config-suffix bootstrap --install --pretend --dl-drop-all sys-apps/baselayout +sudo paludis --config-suffix bootstrap --install --dl-drop-all sys-apps/baselayout + +paludis --config-suffix bootstrap --install --pretend --dl-drop-circular system +sudo paludis --config-suffix bootstrap --install --dl-drop-circular system +\endverbatim + +Note that system will pull in Portage. That's a profiles thing that's +unavoidable for now. It won't pull in Paludis, so we do that manually. + +\note It seems apr and apr-util are rather picky about compiling into ROOT +unless an identical version is installed onto / . + +\verbatim +paludis --config-suffix bootstrap --install --pretend sys-apps/paludis +sudo paludis --config-suffix bootstrap --install sys-apps/paludis +\endverbatim + +\section BootstrapHowtoChroot Chrooting + +And that should (but probably won't) give you a usable chroot: + +\verbatim +sudo cp /etc/resolv.conf /mychroot/etc/ +sudo chroot /mychroot +reset +export HOME=/root +cd +cp /etc/skel/.bashrc . +. .bashrc +ln -sf /usr/share/zoneinfo/Europe/London /etc/localtime +mount -tproc none /proc +mount -tsysfs none /sys +udevstart +mount -tdevpts none /dev/pts +eselect env update +source /etc/profile +( . /etc/paludis/bashrc ; export REAL_CHOST=$CHOST ; gcc-config 1 ) +eselect env update +source /etc/profile +paludis --uninstall sys-apps/portage +paludis --install app-editors/vim +paludis --uninstall app-editors/nano +\endverbatim + +You can also tar up the system and use it as a stage3 or NFS root image. + +*/ + diff --git a/0.8.0/doc/doc_changelog.doxygen b/0.8.0/doc/doc_changelog.doxygen new file mode 100644 index 000000000..7d387e23c --- /dev/null +++ b/0.8.0/doc/doc_changelog.doxygen @@ -0,0 +1,10 @@ +/* vim: set ft=cpp tw=80 sw=4 et : */ + +/** +\page ChangeLog ChangeLog + +\verbinclude ChangeLog + +*/ + + diff --git a/0.8.0/doc/doc_coding_standards.doxygen b/0.8.0/doc/doc_coding_standards.doxygen new file mode 100644 index 000000000..50030231c --- /dev/null +++ b/0.8.0/doc/doc_coding_standards.doxygen @@ -0,0 +1,184 @@ +/* vim: set ft=cpp tw=80 sw=4 et : */ + +/** +\page CodingStandards Coding Standards + +These are rough guidelines. You should stick to these unless there's a good +reason to do otherwise. There are lots more standards that aren't documented +here yet -- ask for clarification as necessary. + +\section CodingStandardsCopyrights Copyrights and Licence + +Paludis is licenced under the GPLv2. Any contributions must use this licence. +You should copy the standard licence header from another source file when +creating new source files. + +Copyright is handled on a per-file basis. If you are the primary author of +a file, you should list yourself as the copyright holder. If you make a +substantial contribution to a source file (for example, one or more +non-trivial classes, functions or methods), you should add yourself as a +copyright holder on that file. You should <em>not</em> add to the copyright for +small changes or bug fixes. + +Copyright years are per contributor. See, for example, paludis/fs_entry.hh for +a file that has multiple copyright holders with different years. + +Substantial contributors should also list themselves in the AUTHORS file. + +\section CodingStandardsIndentingAndSpacing Indenting and Spacing + +Indents are four spaces. There are no tabs anywhere. Braces go on a line of +their own, and may be omitted if the clarity of the code isn't affected. Make +sure you don't include trailing whitespace. + +Function calls have no space before or after the parentheses. Most operators +and built-in functions have spaces before the opening parenthesis but not +inside. The ! operator has a space after it. + +For example:: +\code +if (some_function("moo", 2)) + do_stuff("moo"); +else +{ + // this needs some explanation + while (end != do_other_stuff(foo) || ! foo) + ++foo; +} +\endcode + +\section CodingStandardsSwitches Switches + +You'll sometimes see code like this: + +\code +do +{ + switch (my_enum) + { + case e_one: + // ... + continue; + + case e_two: + // ... + continue; + } + + throw InternalError(PALUDIS_HERE, "Unexpected value for my_enum"); +} while (false); +\endcode + +The reason for using this rather than a <code>default:</code> label is that the +compiler will (or at least the compiler we use will) generate a warning if +someone later goes and adds <code>e_three</code>, and we haven't updated our +switch to recognise it. + +\section CodingStandardsComments Comments + +All public and protected interfaces and classes should be documented in the +header files via Doxygen. Implementations should be documented appropriately -- +explain complicated or unobvious parts and anything that can easily be broken +by other people. Don't bother with comments on obvious things. + +\section CodingStandardsNaming Naming + +Types are named in <code>MixedCaseNoUnderscores</code>. + +Variables and functions are named in <code>lower_case_with_underscores</code>. + +Private member variables that aren't going to end up being used anywhere +external are <code>_prefixed_with_underscore</code>. + +Template values are <code>suffixed_with_underscore_</code>, and template +typenames are <code>SuffixedAsWell_</code> (and use <code>typename</code> rather +than <code>class</code>, \ref EffCpp item 42). + +The files for <code>SomeClass</code> (and any small related utilities) would be +<code>some_class.hh</code> and <code>some_class.cc</code>. We are somewhat +inconsistent when it comes to what warrants its own file -- originally it was +pretty much one class per file, but then compiles started taking too long so +it's now more like one class plus related utilities and exceptions per file. + +Macros are <code>PALUDIS_UPPER_CASE</code>, but they're evil (\ref TCppPL +section 7.8, \ref EffCpp item 2) so don't use them. + +Very short names for loop indices and the like are fine, but prefer longer, +self-documenting names for proper variables. For loop iterator pairs, the +usual style is: + +\code +for (MyType::Iterator i(my_container.begin()), i_end(my_container.end()) ; + i != i_end ; ++i) +{ + // ... +} +\endcode + +If there's a convenient standard library algorithm available, use that +instead of a manual loop (\ref EffSTL item 43). + +\section CodingStandardsPointers Pointers and References + +Try to avoid returning raw pointer types from raw interfaces, especially if the +programmer is expected to deallocate them manually. Make liberal use of +<code>paludis::CountedPtr</code> instead -- it's low overhead and a lot less +prone to subtle screwups. See \ref EffCpp item 18. + +Pass object parameters by const reference rather than pointer to const unless +you're prepared to accept a zero pointer. Avoid pass by value except for small +integral types. See \ref EffCpp item 20. + +\section CodingStandardsNamespaces Namespaces + +Everything under <code>paludis/</code> should be inside namespace +<code>paludis</code>. Sometimes sub-namespaces are used where they look useful. + +\section CodingStandardsIncludeGuards Include Guards + +Include guards are <code>\#define PALUDIS_GUARD_FILE_NAME_HH 1</code>. + +\section CodingStandardsStandardLibrary Standard Library + +Never use <code>using namespace std</code>. It can bring arbitrary weirdness +into the current namespace. It's ok to selectively introduce things from std +where they're used a lot. See \ref TCppPL section 8.2.9.1. + +Make use of the standard library where suitable. It has fewer bugs than +code you write yourself, and it may be doing clever optimisations behind +the scenes. + +Remember the container member functions. Many containers have template +constructors that take iterator pairs. Many containers have assign and +swap methods. Use these over <code>std::copy</code>. See \ref EffSTL item +25. + +Don't use <code>vector<bool></code>. It's just not worth it. See +\ref EffSTL item 18. + +Although some compilers will let you get away with <code>std::make_pair("foo", +"bar")</code>, some won't. Strictly speaking this violates the standard. +Use <code>std::make_pair(std::string("foo"), std::string("bar"))</code> instead. + +\section CodingStandardsCasts Casts + +<code>dynamic_cast</code> is banned. It's slow (\ref EffCpp item 27) and a sign +that you should be using one of visitors (\ref GoF Visitor), multiple dispatch +(\ref MCppD chapter 11) or capability queries via a <code>get_interface</code> +type method (for example, as described in \ref GoF Composite -- Implementation +item 4) instead. + +<code>reinterpret_cast</code> is probably banned as well, unless we end up +having to talk to some weirdly broken C libraries. + +There are very few legitimate uses for <code>const_cast</code>. It +<em>might</em> be ok to use it as described in \ref EffCpp item 3. It +<em>might</em> be ok to use it to talk to C libraries. + +There's nothing wrong with making appropriate use of <code>static_cast</code>. + +Old C style <code>(Type) variable</code> casts are banned. Function style casts +(that is, <code>Type(value)</code>) should only be used when calling an explicit +constructor to pass an object to a function. See \ref EffCpp item 27. + +*/ diff --git a/0.8.0/doc/doc_configuration_files.doxygen b/0.8.0/doc/doc_configuration_files.doxygen new file mode 100644 index 000000000..465b5cdb4 --- /dev/null +++ b/0.8.0/doc/doc_configuration_files.doxygen @@ -0,0 +1,262 @@ +/* vim: set ft=cpp tw=80 sw=4 et : */ + +/** +\page ConfigurationFiles Configuration Files + +\section ConfigurationFilesOverview Overview + +This document explains where Paludis looks for user configuration files, and +describes the format of these files. + +\section ConfigurationFilesGeneralFormat General File Format + +Except where otherwise noted, configuration files are plain text files where +blank lines and lines starting with optional whitespace followed by a hash +symbol are ignored. + +Many files use a key = value format. Here, any whitespace around the outside +of key and value is stripped. The value may be quoted using single or double +quotes. Variable expansion on previously defined keys (and sometimes on +predefined special values) may be done using <code>${variable}</code>. To +include a literal dollar, use <code>\$</code>. + +\section ConfigurationFilesLocations Locations + +Paludis tries the following locations for its configuration directory: + +- <code>${PALUDIS_HOME}/.paludis/</code>, if the <code>PALUDIS_HOME</code> + environment variable is set, or <code>${HOME}/.paludis/</code> otherwise. +- <code>SYSCONFDIR/paludis/</code>, where <code>SYSCONFDIR</code> is + <code>/etc</code> on most systems. + +If the <code>--config-suffix</code> commandline argument is supplied, Paludis +will use <code>.paludis-thesuffix</code> or <code>paludis-thesuffix</code> +instead. + +If a file named <code>specpath</code> exists in this directory, Paludis uses +this file to determine the real configuration directory. The <code>specpath</code> +file is a standard key / value configuration file (see above). The keys that +are used are: + +- <code>root</code>, which specifies the install root for packages and the + real configuration directory, which is <code>${root}/SYSCONFDIR/paludis/</code> + (note that the HOME values are <em>not</em> used here). This value is set in + <code>specpath</code> rather than the real configuration directory so + that chrooting into an image can work with no configuration changes. +- <code>config-suffix</code>, which specifies a new configuration suffix. By + default, no configuration suffix is used under root. + +If no <code>specpath</code> file is present, the original directory is used. + +\section ConfigurationFilesUseConf The use.conf File + +User <code>USE</code> preferences are controlled by the <code>use.conf</code> +file. The basic format of a line is <code>atom use use use ...</code>, where +<code>atom</code> is a package depend atom or <code>*</code> for "all packages", +and <code>use use use ...</code> is one or more USE flag names, prefixed by +a minus if they are to be disabled. + +For <code>USE_EXPAND</code> variables such as <code>LINGUAS</code> and +<code>VIDEO_CARDS</code>, <code>atom VARIABLE: value value ...</code> should be +used. To avoid inheriting values from your profile, include <code>-*</code>. + +\verbatim +# By default, apply these to all packages +* -doc nls -apache2 + +# Turn off nls for vim +app-editors/vim -nls + +# For gvim 7, turn on and off various interpreters +>=app-editors/gvim-7_alpha mzscheme perl -python ruby + +# For gtk+ with SLOT=2, enable tiff support +x11-libs/gtk+:2 tiff + +# We like English +* LINGUAS: -* en_GB en +\endverbatim + +Note that if a package matches multiple lines, <em>all</em> of these lines will +be considered, not just the best or last match. + +\section ConfigurationFilesKeywordsConf The keywords.conf File + +Which <code>KEYWORDS</code> to accept is controlled through +<code>keywords.conf</code>. The format of a line is +<code>atom keyword ...</code>. As with Portage, accepting +<code>~arch</code> does <em>not</em> implicitly accept <code>arch</code>. +For example: + +\verbatim +# We want a mostly stable system: +* x86 + +# But some ~arch packages: +dev-cpp/libebt x86 ~x86 +sys-apps/paludis x86 ~x86 +dev-util/subversion x86 ~x86 +app-admin/eselect x86 ~x86 +app-editors/vim x86 ~x86 +app-editors/vim-core x86 ~x86 +\endverbatim + +Note that if a package matches multiple lines, <em>all</em> of these lines will +be considered, not just the best or last match. + +\section ConfigurationFilesPackage_MaskConf The package_mask.conf File + +Packages can be masked through the use of the <code>package_mask.conf</code> file. The format of the file is one <code>atom</code> per line. For example: + +\verbatim +# Hide vim 7 +>=app-editors/vim-core-7 +>=app-editors/vim-7 + +# Hide gvim +app-editors/gvim +\endverbatim + +\section ConfigurationFilesPackage_UnmaskConf The package_unmask.conf File + +Packages can be unmasked through the use of the <code>package_unmask.conf</code> file. The format of the file is one <code>atom</code> per line. For example: + +\verbatim +# I need banshee 0.11.0 +media-sound/banshee +\endverbatim + +\section ConfigurationFilesLicensesConf The licenses.conf File + +Licence filtering can be controlled via <code>licenses.conf</code>. If no +filtering is desired, use: + +\verbatim +* * +\endverbatim + +For filtering, the format is similar to the keywords and use files: + +\verbatim +* GPL-2 BSD +app-editors/vim-core vim +\endverbatim + +\section ConfigurationFilesMirrorsConf The mirrors.conf File + +Mirrors and downloading can be controlled via <code>mirrors.conf</code>. Each +line takes the form <code>mirrorname http://mirror/blah/ http://another.mirror/</code>. +A special mirror named <code>*</code>, if present, will be consulted <em>before</em> +any other location for all files. For example: + +\verbatim +* file:///mnt/nfs/distfiles +gentoo http://gentoo.blueyonder.co.uk/distfiles +\endverbatim + +\section ConfigurationFilesBashrc The bashrc File + +Paludis will source <code>bashrc</code> when doing ebuild work. This file +can be used to set environment variables (<code>CHOST</code>, <code>CFLAGS</code> +and so on), but <em>cannot</em> be used to change metadata-affecting variables +such as <code>USE</code> or <code>LINGUAS</code>. + +\section ConfigurationFilesRepositories The repositories/ Files + +Each file named <code>*.conf</code> in the <code>repositories/</code> subdirectory +creates a repository for Paludis. This is a key = value format file, and the special +variable <code>${ROOT}</code> is defined based upon <code>specpath</code>. All +files must define a <code>format =</code> key; depending upon the value used, other +optional and mandatory keys are available. + +Each repository can have a key named <code>importance</code>. This is used when +two different repositories contain an identical package atom (e.g. foo/bar-1.0). +The repository with the higher importance will always be chosen first. If not +provided, the default is 0. + +\subsection ConfigurationFilesRepositoriesPortage portage Format Repositories + +\note The name <code>portage</code> is used here to refer to repositories in the +format used by the <code>gentoo-portage</code> (or <code>gentoo-x86</code>) tree. +The name is far from ideal... + +The following keys are available for <code>format = portage</code>: + +- <code>location</code> (mandatory), which points to the location of the + tree. +- <code>profiles</code> (mandatory), which should be a space separated list of + directories used for profile data. Later directories have priority. +- <code>buildroot</code> (default: <code>/var/tmp/paludis</code>), which controls + the temporary directory used by Paludis for compiling software. +- <code>cache</code> (default: <code>${location}/metadata/cache</code>), which + controls the location of the metadata cache for a repository. It should be set + to <code>/var/empty</code> if there is no metadata cache available. +- <code>distdir</code> (default: <code>${location}/distfiles</code>), which + controls where downloaded files are saved. +- <code>eclassdirs</code> (default: <code>${location}/eclass</code>), which + is a space separated list of locations of eclasses. The value of ECLASSDIR + is taken from the <em>first</em> entry, but eclasses from later entries are + favoured. +- <code>newsdir</code> (default: <code>${location}/metadata/news</code>), which + controls where GLEP 42 news items are located. +- <code>securitydir</code> (default: <code>${location}/metadata/security</code>), + which controls where security advisories are located. +- <code>setsdir</code> (default: <code>${location}/sets</code>), which controls + where package set files are located. +- <code>sync</code> (default: empty), which controls how the repository is + synced. Typically values are in the form <code>rsync://rsync.europe.gentoo.org/gentoo-portage</code> + or <code>svn://svn.pioto.org/paludis/overlay</code>. Use + <code>paludis --list-sync-protocols</code> to see supported protocols. +- <code>sync_exclude</code> (default: empty), which can point to a file that + contains a list of directories to exclude when syncing via + <code>rsync://</code>. + +\subsection ConfigurationFilesRepositoriesVDB vdb Format Repositories + +You should have exactly one VDB format repository. It holds packages that have +been installed from a <code>portage</code> format repository. + +The following keys are available for <code>format = vdb</code>: + +- <code>location</code> (mandatory), which <strong>must</strong> be set to + <code>${ROOT}/var/db/pkg</code>. +- <code>buildroot</code> (default: <code>/var/tmp/paludis</code>), which is + used as a temporary directory when carrying out uninstall operations, +- <code>world</code> (default: <code>${location}/world</code>), which is used + for the world file. + +\subsection ConfigurationFilesRepositoriesNothing nothing Format Repositories + +Usually you won't have any <code>nothing</code> repositories. They are used as +a convenience when certain locations have to be synced at <code>--sync</code> +time; they do not contain any packages. + +The following keys are available for <code>format = nothing</code>: + +- <code>location</code> (mandatory). +- <code>sync</code> (default: empty), as per <code>format = portage</code>. +- <code>sync_exclude</code> (default: empty), idem. + +\subsection ConfigurationFilesRepositoriesCRAN CRAN Format Repositories + +The following keys are available for <code>format = cran</code>: + +- <code>buildroot</code> (default: <code>/var/tmp/paludis</code>), which controls + the temporary directory used by Paludis for compiling software. +- <code>distdir</code> (default: <code>${location}/distfiles</code>), which + controls where downloaded files are saved. +- <code>library</code> (mandatory), which should be set to <code>${ROOT}/usr/${libdir}/R/library</code>, unless +you know what you're doing. +- <code>location</code> (mandatory), which points to the location of the CRAN tree. +- <code>sync</code> (default: empty), as per <code>format = portage</code>. + +\subsection ConfigurationFilesRepositoriesCRANInstalled CRAN Installed Format Repositories + +The following keys are available for <code>format = cran_installed</code>: + +- <code>location</code> (mandatory), which should be set to <code>${ROOT}/usr/${libdir}/R/library</code>, unless +you know what you're doing. This must point to the same directory as <code>library</code> for <code>format = cran</code>. + +*/ + + diff --git a/0.8.0/doc/doc_known_issues.doxygen b/0.8.0/doc/doc_known_issues.doxygen new file mode 100644 index 000000000..db7b56273 --- /dev/null +++ b/0.8.0/doc/doc_known_issues.doxygen @@ -0,0 +1,80 @@ +/* vim: set ft=cpp tw=80 sw=4 et : */ + +/** +\page KnownIssues Known Issues and Non-Issues + +\section KnownIssuesMain About the issues + +This document describes some of the more commonly encountered problems, issues +and things that aren't bugs but might look like they are. Pestering anyone about +these is liable to get you hurt. + +\section KnownIssuesMain About the non-issues + +This document also describes some things that are not bugs or missing functionality. Pestering anyone about these is liable to get you hurt a lot. + +\section KnownIssuesPackages Packages + +\subsection KnownIssuesUdev sys-fs/udev + +Problem: <code>sys-fs/udev</code> will fail at the merge stage. + +Workaround: Use <code>~arch</code> for this package. We don't support merging +fancy things like device files. + +\subsection KnownIssuesKDE Some KDE libraries are broken on some amd64 profiles + +Problem: Various KDE applications install libraries into the wrong libdir. + +Workaround: Make sure you're running 0.6.1 or later. + +Workaround: Check your profile. You can't use <code>default-linux/amd64/</code> +directly -- you have to use one of the release subdirectories. If this still +fails, someone who knows what they're doing needs to sit down and figure out +exactly what's going on for the profile in question. + +\subsection KnownIssuesCheck Various packages fail src_test + +Problem: Various packages fail <code>src_test</code> + +Workaround: You can <code>export SKIP_FUNCTIONS="test"</code> to skip tests. This +is best done on a per-package basis via <code>bashrc</code>: + +\verbatim +case "${PN}" in + + automake|glibc|e2fsprogs|neon|gettext|tar) + export SKIP_FUNCTIONS=test + ;; + +esac +\endverbatim + +Unfortunately not all package maintainers care about making their package's test +suite work. This is a nuisance, a) because it makes things much harder for arch +teams and b) because it makes it harder for users to catch bugs. + +\subsection KnownIssuesRootSandbox Sandbox violations when ROOT!=/ + +Problem: Sandbox violations when ROOT!=/ + +Workaround: Paludis enforces ROOT. However, some packages don't honour ROOT. To +temporarily disable sandbox for these packages, <code>export SANDBOX_PREDICT=/</code>. + +\section KnownNonIssuesPortageThings Things Portage Does + +\subsection KnownNonIssuesWget wget Resume Support + +Non-Problem: With Portage, <code>wget -c</code> is used to attempt to resume downloads of partial files. With Paludis, resumes are not allowed. + +Rationale: This leads to corruption and wasted bandwidth far too frequently. In particular, if an error page that isn't recognised as a 404 is fetched from one server (this is common for <code>mirror://sourceforge/</code>), resume support means <code>wget</code> would then download all but the first few hundred bytes of the file from somewhere else, leading to a corrupt distfile notice only after lots of bandwidth has been wasted. + +\subsection KnownNonIssesResume Resume / Skip First Support + +Non-Problem: Paludis doesn't have an equivalent to --resume --skipfirst in Portage. + +Rationale: Too unreliable, too flaky and far too widely abused. There's talk of echoing a command (<code>paludis -i10 =sys-apps/foo-1.23-r1 =app-misc/fnord-2 ...</code>) that can be used to resume if an ebuild exits with an error, but that's not set in stone. + +*/ + + diff --git a/0.8.0/doc/doc_licence.doxygen b/0.8.0/doc/doc_licence.doxygen new file mode 100644 index 000000000..f1938f5f0 --- /dev/null +++ b/0.8.0/doc/doc_licence.doxygen @@ -0,0 +1,12 @@ +/* vim: set ft=cpp tw=80 sw=4 et : */ + +/** +\page Licence Licence + +Paludis is distributed under the terms of the GNU General Public Licence, +version 2. + +\verbinclude COPYING + +*/ + diff --git a/0.8.0/doc/doc_main.doxygen b/0.8.0/doc/doc_main.doxygen new file mode 100644 index 000000000..daa811297 --- /dev/null +++ b/0.8.0/doc/doc_main.doxygen @@ -0,0 +1,352 @@ +/* vim: set ft=cpp tw=80 sw=4 et : */ + +// ----- Top Level Groups ----- + +/** \defgroup grplibpaludis Main Paludis library + */ + +/** \defgroup grplibpaludisutil Paludis utilities library + */ + +/** \defgroup grplibpaludisqa Paludis QA library + */ + +/** \defgroup grplibpaludisargs Paludis args library + */ + +/** \defgroup grplibpaludisdigests Paludis digests library + */ + +/** \defgroup grplibpaludisselinux Paludis SELinux library + */ + +/** \defgroup grptestcases Test cases + */ + +/** \defgroup grpexceptions Exceptions + */ + +// ----- grplibpaludis Subgroups ----- + +/** \defgroup grpdependencies Dependencies + * + * \ingroup grplibpaludis + */ + +/** \defgroup grpabout About Paludis + * + * \ingroup grplibpaludis + */ + +/** \defgroup grpconfigfile Configuration files + * + * \ingroup grplibpaludis + */ + +/** \defgroup grpenvironment Environment + * + * \ingroup grplibpaludis + */ + +/** \defgroup grphashedcontainers Hashed containers + * + * \ingroup grplibpaludis + */ + +/** \defgroup grpnames Names + * + * \ingroup grplibpaludis + */ + +/** \defgroup grpversions Versions + * + * \ingroup grplibpaludis + */ + +/** \defgroup grpcontents Contents + * + * \ingroup grplibpaludis + */ + +// ----- grpconfigfile Subgroups ----- + +/** \defgroup grpkvconfigfile Key/Value configuration file + * + * \ingroup grpconfigfile + */ + +/** \defgroup grplineconfigfile Line configuration file + * + * \ingroup grpconfigfile + */ + +/** \defgroup grpadvisoryconfigfile Security advisory file + * + * \ingroup grpconfigfile + */ + +/** \defgroup grpnewsconfigfile News file + * + * \ingroup grpconfigfile + */ + +// ----- grpenvironment Subgroups ----- + +/** \defgroup grpdefaultenvironment Default environment + * + * \ingroup grpenvironment + */ + +/** \defgroup grptestenvironment Test environment + * + * \ingroup grpenvironment + */ + +/** \defgroup grppackagedatabase Package database + * + * \ingroup grpenvironment + */ + +/** \defgroup grpmaskreasons Mask reasons + * + * \ingroup grpenvironment + */ + +// ----- grpdefaultenvironment Subgroups ----- + +/** \defgroup grpdefaultconfig Default configuration + * + * \ingroup grpdefaultenvironment + */ + +// --- grppackagedatabase Subgroups ----- + +/** \defgroup grprepository Repositories + * + * \ingroup grppackagedatabase + */ + +// --- grprepository Subgroups ----- + +/** \defgroup grpfakerepository Fake repository + * + * \ingroup grprepository + */ + +/** \defgroup grpportagerepository Portage repository + * + * \ingroup grprepository + */ + +/** \defgroup grpnothingrepository Nothing repository + * + * \ingroup grprepository + */ + +/** \defgroup grpvdbrepository VDB repository + * + * \ingroup grprepository + */ + +/** \defgroup grpcranrepository CRAN repository + * + * \ingroup grprepository + */ + +/** \defgroup grpcraninstrepository CRAN installed repository + * + * \ingroup grprepository + */ + +/** \defgroup grpebuildinterface Ebuild interface + * + * \ingroup grprepository + */ + +/** \defgroup grpebininterface Ebin interface + * + * \ingroup grprepository + */ + +/** \defgroup grpsyncer Sync protocol handler classes + * + * \ingroup grprepository + */ + +// ----- grpdepatoms Subgroups ----- + +/** \defgroup grpdepatomdumper Dep atom dumper + * + * \ingroup grpdepatoms + */ + +/** \defgroup grpdepatomflattener Dep atom flattener + * + * \ingroup grpdepatoms + */ + +/** \defgroup grpdepatomprettyprinter Dep atom pretty printer + * + * \ingroup grpdepatoms + */ + +// ----- grpdependencies Subgroups ----- + +/** \defgroup grpdepresolver Dependency resolution + * + * \ingroup grpdependencies + */ + +/** \defgroup grpdepatoms Dependency atoms + * + * \ingroup grpdependencies + */ + +/** \defgroup grpdepparser Dependency parsing + * + * \ingroup grpdependencies + */ + +/** \defgroup grpmatchpackage Match package + * + * \ingroup grpdependencies + */ + +// ----- grpdepparser Subgroups ----- + +/** \defgroup grpdeplexer Dependency lexing + * + * \ingroup grpdepparser + */ + +// ----- grplibpaludisutil Subgroups ----- + +/** \defgroup grpcollections Collections + * + * \ingroup grplibpaludisutil + */ + +/** \defgroup grpcompare Comparisons + * + * \ingroup grplibpaludisutil + */ + +/** \defgroup grppatterns Patterns + * + * \ingroup grplibpaludisutil + */ + +/** \defgroup grppipe Pipes + * + * \ingroup grplibpaludisutil + */ + +/** \defgroup grpfdotputstream FD Output + * + * \ingroup grplibpaludisutil + */ + +/** \defgroup grppointers Pointers + * + * \ingroup grplibpaludisutil + */ + +/** \defgroup grpdeleter Deleter + * + * \ingroup grplibpaludisutil + */ + +/** \defgroup grpfilesystem Filesystem + * + * \ingroup grplibpaludisutil + */ + +/** \defgroup grpstrings Strings + * + * \ingroup grplibpaludisutil + */ + +/** \defgroup grplog Log + * + * \ingroup grplibpaludisutil + */ + +/** \defgroup grpsystem System + * + * \ingroup grplibpaludisutil + */ + +/** \defgroup grprandom Random numbers + * + * \ingroup grplibpaludisutil + */ + +/** \defgroup grpsave Save + * + * \ingroup grplibpaludisutil + */ + +/** \defgroup grprecords Records + * + * \ingroup grplibpaludisutil + */ + +/** \defgroup grpvalidated Validated + * + * \ingroup grplibpaludisutil + */ + +// ----- grppatterns Subgroups ----- + +/** \defgroup grpinstance Instance patterns + * + * \ingroup grppatterns + */ + +/** \defgroup grppimp Private implementation pattern + * + * \ingroup grppatterns + */ + +/** \defgroup grpvc Virtual constructor + * + * \ingroup grppatterns + */ + +/** \defgroup grpvisitor Visitor + * + * \ingroup grpvisitor + */ + +// ----- grpstrings Subgroups ----- + +/** \defgroup grpdestringify Destringify + * + * \ingroup grpstrings + */ + +/** \defgroup grpjoin Join + * + * \ingroup grpstrings + */ + +/** \defgroup grpstringify Stringify + * + * \ingroup grpstrings + */ + +/** \defgroup grptokenise Tokenise + * + * \ingroup grpstrings + */ + +/** \defgroup grpmatch Match + * + * \ingroup grpstrings + */ + +/** \defgroup grpstrippers Strippers + * + * \ingroup grpstrings + */ + diff --git a/0.8.0/doc/doc_mainpage.doxygen b/0.8.0/doc/doc_mainpage.doxygen new file mode 100644 index 000000000..2990dffeb --- /dev/null +++ b/0.8.0/doc/doc_mainpage.doxygen @@ -0,0 +1,59 @@ +/* vim: set ft=cpp tw=80 sw=4 et : */ + +/** \mainpage + +\section overview Overview + +This is the documentation for Paludis, the other package manager. It is available as part of Paludis via <code>make doxygen</code>, or on the web at <a href="http://paludis.berlios.de/">the Paludis project page</a>. + +\warning Do not file bugs related to Paludis on Gentoo Bugzilla. Do not discuss + Paludis on Gentoo mailing lists or forums. Do not pester Gentoo developers + about Paludis. Read the \link KnownIssues known issues \endlink list. + +\section userdocs For End Users + +Paludis is still undergoing heavy development. It is not a mature solution, and +still has quite a few missing features. You <b>will</b> run into bugs if you use +Paludis (some of which may leave your system unusable). Most ebuild authors do +not test their code with both package managers. + +If you find this acceptable, read \link BootstrapHowto the Bootstrap HOWTO +\endlink for how to set up a chroot or make a stage, or \link MigrationHowto the +Migration HOWTO \endlink for how to migrate an existing install (this is less +reliable). You may also like to read about \link PortageDifferences some of the +differences between Paludis and Portage \endlink. + +We have a <a href="https://developer.berlios.de/bugs/?group_id=6360">bug +tracker</a> and some +<a href="https://developer.berlios.de/mail/?group_id=6360">mailing lists</a>, but +you shouldn't try to use these until after you've discussed your problem in our +IRC channel. Read the howto for more details. + +\section developerdocs For Developers + +Start by getting a +<a href="http://svn.pioto.org/viewvc/paludis/">Subversion +checkout</a> of <code>trunk/</code>, and reading the \link PortageDifferences Paludis and Portage +differences \endlink document. + +It's best to start by skimming over the main program to get a feel for how +everything fits together. The interface code is kept in the src/ directory, +and library code is in paludis/ . + +The following classes are good places to begin: + +- paludis::DefaultEnvironment provides a representation of the default + operating environment. +- paludis::PackageDatabase provides routines for querying packages. An + instance can be obtained via paludis::DefaultEnvironment. +- paludis::DepList can be used for making dependency lists. +- paludis::Repository is subclassed to do querying, installing, + uninstalling, syncing and the like. + +The <a href="modules.html">Modules</a> link in the header bar will probably +be of more use than any of the full class lists. + +You should also read \link CodingStandards the Coding Standards \endlink +before tinkering. + +*/ diff --git a/0.8.0/doc/doc_migration_howto.doxygen b/0.8.0/doc/doc_migration_howto.doxygen new file mode 100644 index 000000000..58171c156 --- /dev/null +++ b/0.8.0/doc/doc_migration_howto.doxygen @@ -0,0 +1,245 @@ +/* vim: set ft=cpp tw=80 sw=4 et : */ + +/** +\page MigrationHowto Migration Howto + +\warning Do not file bugs related to Paludis on Gentoo Bugzilla. Do not discuss + Paludis on Gentoo mailing lists or forums. Do not pester Gentoo developers + about Paludis. Read the \link KnownIssues known issues \endlink list. + +There are two methods you can follow to migrate from Portage to Paludis, the +\ref MigrationHowtoPortageToPaludisManual "Manual Method", and the \ref +MigrationHowtoPortageToPaludisAutomated "Automated Method". Also, it is now +usually possible to migrate \ref MigrationHowtoPaludisToPortage "from Paludis back to Portage". + +\section MigrationHowtoPortageToPaludisAutomated How to Migrate from Portage to Paludis (the automated method) + +Ideally, you'd install Paludis from scratch. However, it's usually possible to +migrate from Portage to Paludis without too many issues. + +\warning Migration is not entirely reliable. + +Start by installing Paludis. There are ebuilds in the tree, or you can get SVN +ebuilds (which Portage can't use) from +<a href="http://svn.pioto.org/viewvc/paludis/overlay/"> the Paludis overlay</a>. +If you don't like the <code>libxml2</code> and <code>pcre++</code> dependencies, +turn off the <code>qa</code> USE flag. <b>Make sure you are using at least +version 0.6</b> when following this guide. + +The easiest way to migrate your configuration from Portage to Paludis is by +using the <a href="http://svn.pioto.org/viewvc/paludis/scratch/scripts/portage2paludis.bash">portage2paludis.bash</a> script, available via subversion. It is invoked as follows: + +\verbatim +$ sudo ./portage2paludis.bash +Portage2Paludis: + +This script will attempt to convert an existing portage configuration to +a paludis configuration. It assumes that the portage configuration can +be found via /etc/make.conf, /etc/make.profile, and /etc/portage/* + +Please enter where you would like your new paludis configuration to be +created, or press enter to use the default. + +Paludis Config Directory [/etc/paludis]: + +* Configuration Files: +Generating use.conf (Pass 1 of 3)... done. +Generating use.conf (Pass 2 of 3)... done. +Generating use.conf (Pass 3 of 3)... done. +Generating bashrc (Pass 1 of 1)... done. +Generating keywords.conf (Pass 1 of 2)... done. +Generating keywords.conf (Pass 2 of 2)... done. +Generating mirrors.conf (Pass 1 of 1)... done. +Generating package_mask.conf (Pass 1 of 1)... done. +Generating package_unmask.conf (Pass 1 of 1)... done. +Generating licenses.conf stub (Pass 1 of 1)... done. + +* Standard Repositories: +Generating gentoo.conf (/usr/portage) (Pass 1 of 1)... done. +Generating installed.conf (/var/db/pkg) (Pass 1 of 1)... done. +Creating /var/db/pkg/world -> /var/lib/portage/world symlink... done. + +* Overlays: +Generating portage.conf (/usr/local/portage) (Pass 1 of 1)... done. +Generating vmware.conf (/usr/portage/local/layman/vmware) (Pass 1 of 1)... done. + +Complete! +You now have a new paludis config in: /etc/paludis +\endverbatim + +A few notes on the migration script. The target directory <b>must not exist</b>, +or the script will bail out. This is to prevent it from clobbering an existing +paludis config. Also, the script will not migrate your customized portage +bashrc, that is somethign you will have to do on your own. + +The script will migrate your <code>PORTDIR_OVERLAYS</code> to Paludis as best as +possible, but, currently, Paludis doesn't support all the sync methods that +<i>layman</i> does, so you will still probably want to run <code>layman +-S</code> to update any layman repositories you have now. Finally, the script +will first try to name your repositories what their profiles/repo_name file +says they should be called and, if that fails, they will be called what their +top level directory is called (so, /usr/local/portage is called "portage"). If +any name collisions occur, the script will terminate, and you will have to +finish configuring your overlays on your own. + +Now, try: + +\verbatim +sudo paludis --sync +paludis -pi world +\endverbatim + +You will likely find that it picks up a few packages that Portage wouldn't. This +is to be expected -- the Paludis dependency resolver is considerably more complete +than the Portage one, and it will try to enforce runtime dependencies of already +installed packages. In particular, this means that if you have any packages +installed that have a <code>virtual/x11</code> runtime dependency, the virtual will +be pulled in. + +You may encounter some nasty error messages, especially if you're running an old +install and have some packages that were installed a very long time ago with a +broken Portage release. In most cases, removing the VDB entry by hand and then +immediately reinstalling the same version of the package using Paludis (or even +a recent Portage) will suffice. + +\section MigrationHowtoPortageToPaludisManual How to Migrate from Portage to Paludis (the manual method) + +Ideally, you'd install Paludis from scratch. However, it's usually possible to +migrate from Portage to Paludis without too many issues. + +\warning Migration is not entirely reliable. + +Start by installing Paludis. There are ebuilds in the tree, or you can get SVN +ebuilds (which Portage can't use) from +<a href="http://svn.pioto.org/viewvc/paludis/overlay/"> the Paludis overlay</a>. +If you don't like the <code>libxml2</code> and <code>pcre++</code> dependencies, +turn off the <code>qa</code> USE flag. <b>Make sure you are using at least +version 0.6</b> when following this guide. + +Next, make some configuration files. For full details, see \link ConfigurationFiles +the configuration files documentation \endlink . For a quick template: + +\verbatim +mkdir -p /etc/paludis/repositories + +cat <<"END" > /etc/paludis/keywords.conf +* x86 +dev-cpp/libebt x86 ~x86 +sys-apps/paludis x86 ~x86 +dev-util/subversion x86 ~x86 +app-admin/eselect x86 ~x86 +sys-fs/udev x86 ~x86 +END + +cat <<"END" > /etc/paludis/use.conf +* -doc nls -apache2 +* LINGUAS: en +* INPUT_DEVICES: keyboard mouse +* VIDEO_CARDS: -* ati +app-editors/vim -nls +END + +cat <<"END" > /etc/paludis/licenses.conf +* * +END + +cat <<"END" > /etc/paludis/mirrors.conf +gentoo http://gentoo.blueyonder.co.uk/distfiles/ +gnu http://gnu.blueyonder.co.uk/ +debian http://debian.blueyonder.co.uk/ +END +\endverbatim + +Set up your <code>bashrc</code>. This must <b>NOT</b> be used to change any +values that affect dependency resolution (e.g. <code>USE</code>, +<code>LINGUAS</code>). It can be used to set <code>CFLAGS</code>, +<code>CHOST</code> and the like (on some archs you'll have to do this to +avoid getting junk from your profile). Remember to <code>export</code> your +variables. + +\verbatim +cat <<"END" > /etc/paludis/bashrc +export CFLAGS="-O2 -march=pentium4 -fomit-frame-pointer" +export CXXFLAGS="${CFLAGS}" +export CHOST="i686-pc-linux-gnu" +export MAKEOPTS="-j2" +END +\endverbatim + +Set up your repository files. Do not tinker with the VDB location, it +<b>must</b> go in <code>${ROOT}/var/db/pkg</code>. Here we'll avoid using +<code>/usr/portage</code> for the main tree because sticking data that gets +changed on <code>/usr</code> is silly. + +\verbatim +cat <<"END" > /etc/paludis/repositories/gentoo.conf +location = /var/paludis/repositories/gentoo/ +sync = rsync://rsync.europe.gentoo.org/gentoo-portage/ +profiles = /var/paludis/repositories/gentoo/profiles/default-linux/x86/2006.0 +format = portage +END + +cat <<"END" > /etc/paludis/repositories/installed.conf +location = /var/db/pkg/ +format = vdb +END + +cat <<"END" > /etc/paludis/repositories/paludis-overlay.conf +location = /var/paludis/repositories/paludis-overlay/ +sync = svn://svn.pioto.org/paludis/overlay +profiles = /var/paludis/repositories/gentoo/profiles/default-linux/x86/2006.0 +eclassdirs = /var/paludis/repositories/gentoo/eclass +distdir = /var/paludis/repositories/gentoo/distfiles +cache = /var/empty +format = portage +importance = 10 +END +\endverbatim + +The world file for Paludis lives in the VDB directory. For Portage compatibility, +a symlink can be used (but be careful when uninstalling Portage if you use this +route). + +\verbatim +sudo ln -s /var/lib/portage/world /var/db/pkg/world +\endverbatim + +Now, try: + +\verbatim +sudo paludis --sync +paludis -pi world +\endverbatim + +You will likely find that it picks up a few packages that Portage wouldn't. This +is to be expected -- the Paludis dependency resolver is considerably more complete +than the Portage one, and it will try to enforce runtime dependencies of already +installed packages. In particular, this means that if you have any packages +installed that have a <code>virtual/x11</code> runtime dependency, the virtual will +be pulled in. + +You may encounter some nasty error messages, especially if you're running an old +install and have some packages that were installed a very long time ago with a +broken Portage release. In most cases, removing the VDB entry by hand and then +immediately reinstalling the same version of the package using Paludis (or even +a recent Portage) will suffice. + +\section MigrationHowtoPaludisToPortage How to Migrate from Paludis to Portage + +\warning Migration is not entirely reliable. + +If, and only if, you have at any point used a Paludis version below 0.6, start +with: + +\verbatim +# For people who used Paludis before 0.6 only! +rm -fr /var/db/pkg/virtual +\endverbatim + +Then <code>emerge --sync</code> (this is important) and you might be back to normal. +If you encounter weird failures when upgrading or uninstalling packages that were +installed by Paludis, removing the VDB entry by hand and then immediately +reinstalling the same version of the package using Portage will usually fix things. + +*/ + diff --git a/0.8.0/doc/doc_namespaces.doxygen b/0.8.0/doc/doc_namespaces.doxygen new file mode 100644 index 000000000..8b8164f16 --- /dev/null +++ b/0.8.0/doc/doc_namespaces.doxygen @@ -0,0 +1,29 @@ +/* vim: set ft=cpp tw=80 sw=4 et : */ + +/** \namespace test_cases + * Test cases. + * + * \ingroup Test + */ + +/** \namespace test + * Test framework. + * + * \ingroup Test + */ + +/** \namespace paludis + * Paludis library code. + */ + +/** \namespace paludis::args + * Commandline argument handling. + * + * \ingroup Args + */ + +/** \namespace paludis::qa + * QA checks. + * + * \ingroup Args + */ diff --git a/0.8.0/doc/doc_news.doxygen b/0.8.0/doc/doc_news.doxygen new file mode 100644 index 000000000..4914a904e --- /dev/null +++ b/0.8.0/doc/doc_news.doxygen @@ -0,0 +1,11 @@ +/* vim: set ft=cpp tw=80 sw=4 et : */ + +/** +\page News News + +\verbinclude NEWS + +*/ + + + diff --git a/0.8.0/doc/doc_portage_differences.doxygen b/0.8.0/doc/doc_portage_differences.doxygen new file mode 100644 index 000000000..20f2106be --- /dev/null +++ b/0.8.0/doc/doc_portage_differences.doxygen @@ -0,0 +1,88 @@ +/* vim: set ft=cpp tw=80 sw=4 et spell spelllang=en : */ + +/** +\page PortageDifferences How Paludis and Portage Differ + +This is not a complete list. It's not even vaguely near complete. Rather, it's +a collection of lists of things of interest that are intentionally different +between Paludis and its predecessor, Portage. + +\section PortageDifferencesEndUser For the End User + +Paludis isn't aimed at end users. Having said that, the following features +would be relevant if it were: + +- A whole different configuration system, making it far easier to maintain + multiple systems, some in chroots, with entirely separate configuration + files. + +- Performance. Paludis is fast. + +- Low dependency bloat. No Python, no big external crypto libraries. + +- Security integration. + +- Multiple repository support, replacing Portage's highly limited overlays. + +- Simple per-(category, package, version, anything else) environment variable + setting (e.g. CFLAGS). + +- Licence filtering. + +- Hook scripts, for running code after a certain action occurs. + +- Wrappers for econf, emake, wget etc to allow user defined command bindings + (nice, ionice, taskset etc). + +- User definable package sets. + +- Repositories can deliver news items, warning the user of important changes + before they take place. + +- Ability to sync from Subversion, Git. + +\section PortageDifferencesEbuildDeveloper For the Ebuild Developer + +As well as the end user advantages, ebuild authors will benefit from: + +- :slot dependencies + +- ::repository dependencies + +- [use] dependencies + +- Circular dependency detection + +- Per package use masking, and from this per package use combination + restrictions. + +- Profile-level use forcing, globally and per-package, and from this the + ability to specify a default in cases where one of n USE flags must be + enabled. + +- Default deep dependency resolution. + +- Support for -scm, -try versions. + +- Multiple inheritance for profiles. + +- Ability to install hook scripts. + +- Repository definable package sets. + +- Ability to deliver news items to the end user. + +\section PortageDifferencesProgrammer For the Programmer + +- Proper library / interface separation. + +- Reasonable internals documentation, via Doxygen. + +- Consistent interfaces for different repository types. + +- Modularity where it matters. + +- Test suites, to detect the impact of changes. + +*/ + diff --git a/0.8.0/doc/doc_references.doxygen b/0.8.0/doc/doc_references.doxygen new file mode 100644 index 000000000..2609f8de6 --- /dev/null +++ b/0.8.0/doc/doc_references.doxygen @@ -0,0 +1,43 @@ +/* vim: set ft=cpp tw=80 sw=4 et : */ + +/** +\page References References + +\section ReferencesBooks Books + +\anchor AppCrypt +<strong>AppCrypt</strong>: Applied Cryptography Second Edition / Bruce +Schneier / Wiley / ISBN 0-471-11709-9 + +\anchor EffCpp +<strong>EffCpp</strong>: Effective C++ Third Edition / Scott Meyers / +Addison-Wesley / ISBN 0-321-33487-6 + +\anchor EffSTL +<strong>EffSTL</strong>: Effective STL / Scott Meyers / Addison-Wesley / ISBN +0-201-74962-9 + +\anchor GoF +<strong>GoF</strong>: Design Patterns: Elements of Reusable Object-Oriented +Software / Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides / +Addison-Wesley / ISBN 0-201-63361-2 + +\anchor MCppD +<strong>MCppD</strong>: Modern C++ Design: Generic Programming and Design +Patterns Applied / Andrei Alexandrescu / Addison-Wesley / ISBN 0-201-70431-5 + +\anchor TaoCP2 +<strong>TaoCP2</strong>: The Art of Computer Programming, Volume 2: +Seminumerical Algorithms, Third Edition / Donald E. Knuth / Addison-Wesley / +ISBN 0-201-89684-2 + +\anchor TCppSL +<strong>TCppSL</strong>: The C++ Standard Library / Nicolai M. Josuttis / +Addison-Wesley / ISBN 0-201-37926-0 + +\anchor TCppPL +<strong>TCppPL</strong>: The C++ Programming Language Third Edition / Bjarne +Stroustrup / Addison-Wesley / ISBN 0-201-88954-4 + +*/ + diff --git a/0.8.0/doc/doc_security_advisories.doxygen b/0.8.0/doc/doc_security_advisories.doxygen new file mode 100644 index 000000000..1f290f898 --- /dev/null +++ b/0.8.0/doc/doc_security_advisories.doxygen @@ -0,0 +1,154 @@ +/* vim: set ft=cpp tw=80 sw=4 et spell spelllang=en : */ + +/** +\page SecurityAdvisoriesSpecs Handling of Security Advisories + +\version 1 +\author Danny van Dyk <kugelfang@gentoo.org> +\author Stefan Cornelius <dercorny@gentoo.org> + + +\section SecurityAdvisoriesSpecsAbstract Abstract + +This specification describes how security advisory files should be named, +stored, structured and handled by Paludis. + + +\section SecurityAdvisoriesSpecsNaming Naming + +The format of file names shall be +\code + advisory-YYYYMM-XX.conf +\endcode +where XX is a unique ID that is increased with every GLSA in the month and +YYYYMM is the usual date notation. + + +\section SecurityAdvisoriesSpecsStorage Storage + +Security advisories shall be stored as text files in +\code + ${repo}/metadata/security +\endcode +by default. Files within subdirectories shall not be parsed by Paludis. However, +the user can change this path in the repository's configuration file. The key's +name shall be <code>securitydir</code>. + +Once tree wide Manifest support (aka as Manifest2 support) will be implemented, +all advisories should be listed by a Manifest file and checked against this +manifest before parsing them. + + +\section SecurityAdvisoriesSpecsStructure Structure + +The file format shall consist of a RFC 822 style header and a trailing text +body. This document describes specification <code>0</code>. The following keys shall be +understood by Paludis: + +The following keys are mandatory and must be unique in the advisory. +Paludis shall throw an exception otherwise. + +<table> + <tr> + <td>Id</td> + <td>Unique identifier of this advisory. Must be in <code>YYYYMM-XX</code> format and + reflect the suffix of the advisory's file name.</td> + </tr> + <tr> + <td>Title</td> + <td>A string that describes the kind of vulnerability indicated by the advisory.</td> + </tr> + <tr> + <td>Access</td> + <td>Describes if if the vulnerability can be exploited by <code>local</code> or + <code>remote</code> users.</td> + </tr> + <tr> + <td>Last-Modified</td> + <td>A date string that describes when the advisory was changed.</td> + </tr> + <tr> + <td>Revision</td> + <td>The advisory's revision number. It must start with <code>1.0</code> and should be + increased by <code>0.1</code> whenever the advisory's metadata was changed + substantially.</td> + <tr> + <td>Severity</td> + <td>The severity of the vulnerabilities described by the advisory. + Supported values are <code>high</code>, <code>normal</code> and <code>low</code>.</td> + </tr> + <tr> + <td>Spec-Version</td> + <td>The version of the specification that the advisory applies to should be + referenced here. As of this specification, the only valid value is <code>1</code>.</td> + </tr> +</table> + +\note The following keys can be specified more than once. + +<table> + <tr> + <td>Affected</td> + <td>A string of one dependency atom or two ranged dependency atoms. When two + dependency atoms are given, their intersection must not describe and empty + set of packages.</td> + </tr> + <tr> + <td>Bug-Id</td> + <td>Identifier of a bug report that is associated with this advisory.\n + + Must be in format <code>DISTRO#YY</code>, where <code>DISTRO</code> is a unique string + describing the distribution that the bug report is filed against and <code>YY</code> + is the bug's local identifier. + + There is no restriction on the values of <code>DISTRO</code> besides the uniqueness, + but each used distribution identifier should be listed along a short + description and/or URL of the associated bug tracker in the text file +\code + ${repo}/metadata/security/bugtracker +\endcode </td> + </tr> + <tr> + <td>CVE</td> + <td>A string of one CVE IDs in the format <code>CVE-XXXX-XXXX</code>. Historically, + there have been CVE references prefixed by CAN instead of CVE. These + are explicitly permitted by this specification, but are to be treated as + deprecated.</td> + </tr> + <tr> + <td>Reference</td> + <td>URL to a public web-based advisory, announcement or (possibly) exploit. + Optionally, a descriptive string can be prepended.</td> + </tr> + <tr> + <td>Restart</td> + <td>The name of a service or init script that should be restarted by + Paludis after the vulnerable package has been replaced.</td> + </tr> + <tr> + <td>Unaffected</td> + <td>A string of one dependency atom or two ranged dependency atoms. When two + dependency atoms are given, their intersection must not describe and empty + set of packages.</td> + </tr> +</table> + +The text body shall be separated from the aforementioned header by an empty +line. The contents of the text body is not subject of this advisory. + +Paludis shall provide an eselect module to display advisory texts. + + +\section Handling Handling + +Paludis will parse security advisories when it builds the built-in +package set <code>security</code> or when it is called with command line option +<code>--list-vulnerabilities</code>. The later shall support all modifiers, which are +respected by other <code>--list</code> actions. + +All packages that match the contents of at least one <code>Affected</code> item and that +do not match any <code>Unaffected</code> item will be treated as vulnerable. Paludis shall +then search for a package in the same slot that matches at least one +<code>Unaffected</code> items and does not match any <code>Affected</code> item. If several +package versions match this criterion, Paludis shall select the highest version. +*/ diff --git a/0.8.0/doc/doxygen.conf.in b/0.8.0/doc/doxygen.conf.in new file mode 100644 index 000000000..4e12a4d73 --- /dev/null +++ b/0.8.0/doc/doxygen.conf.in @@ -0,0 +1,1223 @@ +# Doxyfile 1.4.2 + +@GENERATED_FILE@ + +# This file describes the settings to be used by the documentation system +# doxygen (www.doxygen.org) for a project +# +# All text after a hash (#) is considered a comment and will be ignored +# The format is: +# TAG = value [value, ...] +# For lists items can also be appended using: +# TAG += value [value, ...] +# Values that contain spaces should be placed between quotes (" ") + +#--------------------------------------------------------------------------- +# Project related configuration options +#--------------------------------------------------------------------------- + +# The PROJECT_NAME tag is a single word (or a sequence of words surrounded +# by quotes) that should identify the project. + +PROJECT_NAME = @PACKAGE@ + +# The PROJECT_NUMBER tag can be used to enter a project or revision number. +# This could be handy for archiving the generated documentation or +# if some version control system is used. + +PROJECT_NUMBER = "Version @VERSION@" + +# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) +# base path where the generated documentation will be put. +# If a relative path is entered, it will be relative to the location +# where doxygen was started. If left blank the current directory will be used. + +OUTPUT_DIRECTORY = ./ + +# If the CREATE_SUBDIRS tag is set to YES, then doxygen will create +# 4096 sub-directories (in 2 levels) under the output directory of each output +# format and will distribute the generated files over these directories. +# Enabling this option can be useful when feeding doxygen a huge amount of +# source files, where putting all generated files in the same directory would +# otherwise cause performance problems for the file system. + +CREATE_SUBDIRS = NO + +# The OUTPUT_LANGUAGE tag is used to specify the language in which all +# documentation generated by doxygen is written. Doxygen will use this +# information to generate all constant output in the proper language. +# The default language is English, other supported languages are: +# Brazilian, Catalan, Chinese, Chinese-Traditional, Croatian, Czech, Danish, +# Dutch, Finnish, French, German, Greek, Hungarian, Italian, Japanese, +# Japanese-en (Japanese with English messages), Korean, Korean-en, Norwegian, +# Polish, Portuguese, Romanian, Russian, Serbian, Slovak, Slovene, Spanish, +# Swedish, and Ukrainian. + +OUTPUT_LANGUAGE = English + +# This tag can be used to specify the encoding used in the generated output. +# The encoding is not always determined by the language that is chosen, +# but also whether or not the output is meant for Windows or non-Windows users. +# In case there is a difference, setting the USE_WINDOWS_ENCODING tag to YES +# forces the Windows encoding (this is the default for the Windows binary), +# whereas setting the tag to NO uses a Unix-style encoding (the default for +# all platforms other than Windows). + +USE_WINDOWS_ENCODING = NO + +# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will +# include brief member descriptions after the members that are listed in +# the file and class documentation (similar to JavaDoc). +# Set to NO to disable this. + +BRIEF_MEMBER_DESC = YES + +# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend +# the brief description of a member or function before the detailed description. +# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the +# brief descriptions will be completely suppressed. + +REPEAT_BRIEF = YES + +# This tag implements a quasi-intelligent brief description abbreviator +# that is used to form the text in various listings. Each string +# in this list, if found as the leading text of the brief description, will be +# stripped from the text and the result after processing the whole list, is +# used as the annotated text. Otherwise, the brief description is used as-is. +# If left blank, the following values are used ("$name" is automatically +# replaced with the name of the entity): "The $name class" "The $name widget" +# "The $name file" "is" "provides" "specifies" "contains" +# "represents" "a" "an" "the" + +ABBREVIATE_BRIEF = + +# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then +# Doxygen will generate a detailed section even if there is only a brief +# description. + +ALWAYS_DETAILED_SEC = NO + +# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all +# inherited members of a class in the documentation of that class as if those +# members were ordinary class members. Constructors, destructors and assignment +# operators of the base classes will not be shown. + +INLINE_INHERITED_MEMB = YES + +# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full +# path before files name in the file list and in the header files. If set +# to NO the shortest path that makes the file name unique will be used. + +FULL_PATH_NAMES = NO + +# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag +# can be used to strip a user-defined part of the path. Stripping is +# only done if one of the specified strings matches the left-hand part of +# the path. The tag can be used to show relative paths in the file list. +# If left blank the directory from which doxygen is run is used as the +# path to strip. + +STRIP_FROM_PATH = + +# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of +# the path mentioned in the documentation of a class, which tells +# the reader which header file to include in order to use a class. +# If left blank only the name of the header file containing the class +# definition is used. Otherwise one should specify the include paths that +# are normally passed to the compiler using the -I flag. + +STRIP_FROM_INC_PATH = + +# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter +# (but less readable) file names. This can be useful is your file systems +# doesn't support long names like on DOS, Mac, or CD-ROM. + +SHORT_NAMES = NO + +# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen +# will interpret the first line (until the first dot) of a JavaDoc-style +# comment as the brief description. If set to NO, the JavaDoc +# comments will behave just like the Qt-style comments (thus requiring an +# explicit @brief command for a brief description. + +JAVADOC_AUTOBRIEF = YES + +# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen +# treat a multi-line C++ special comment block (i.e. a block of //! or /// +# comments) as a brief description. This used to be the default behaviour. +# The new default is to treat a multi-line C++ comment block as a detailed +# description. Set this tag to YES if you prefer the old behaviour instead. + +MULTILINE_CPP_IS_BRIEF = NO + +# If the DETAILS_AT_TOP tag is set to YES then Doxygen +# will output the detailed description near the top, like JavaDoc. +# If set to NO, the detailed description appears after the member +# documentation. + +DETAILS_AT_TOP = YES + +# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented +# member inherits the documentation from any documented member that it +# re-implements. + +INHERIT_DOCS = YES + +# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC +# tag is set to YES, then doxygen will reuse the documentation of the first +# member in the group (if any) for the other members of the group. By default +# all members of a group must be documented explicitly. + +DISTRIBUTE_GROUP_DOC = NO + +# If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce +# a new page for each member. If set to NO, the documentation of a member will +# be part of the file/class/namespace that contains it. + +SEPARATE_MEMBER_PAGES = NO + +# The TAB_SIZE tag can be used to set the number of spaces in a tab. +# Doxygen uses this value to replace tabs by spaces in code fragments. + +TAB_SIZE = 8 + +# This tag can be used to specify a number of aliases that acts +# as commands in the documentation. An alias has the form "name=value". +# For example adding "sideeffect=\par Side Effects:\n" will allow you to +# put the command \sideeffect (or @sideeffect) in the documentation, which +# will result in a user-defined paragraph with heading "Side Effects:". +# You can put \n's in the value part of an alias to insert newlines. + +ALIASES = + +# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C +# sources only. Doxygen will then generate output that is more tailored for C. +# For instance, some of the names that are used will be different. The list +# of all members will be omitted, etc. + +OPTIMIZE_OUTPUT_FOR_C = NO + +# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java sources +# only. Doxygen will then generate output that is more tailored for Java. +# For instance, namespaces will be presented as packages, qualified scopes +# will look different, etc. + +OPTIMIZE_OUTPUT_JAVA = NO + +# Set the SUBGROUPING tag to YES (the default) to allow class member groups of +# the same type (for instance a group of public functions) to be put as a +# subgroup of that type (e.g. under the Public Functions section). Set it to +# NO to prevent subgrouping. Alternatively, this can be done per class using +# the \nosubgrouping command. + +SUBGROUPING = YES + +#--------------------------------------------------------------------------- +# Build related configuration options +#--------------------------------------------------------------------------- + +# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in +# documentation are documented, even if no documentation was available. +# Private class members and static file members will be hidden unless +# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES + +EXTRACT_ALL = NO + +# If the EXTRACT_PRIVATE tag is set to YES all private members of a class +# will be included in the documentation. + +EXTRACT_PRIVATE = NO + +# If the EXTRACT_STATIC tag is set to YES all static members of a file +# will be included in the documentation. + +EXTRACT_STATIC = NO + +# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs) +# defined locally in source files will be included in the documentation. +# If set to NO only classes defined in header files are included. + +EXTRACT_LOCAL_CLASSES = YES + +# This flag is only useful for Objective-C code. When set to YES local +# methods, which are defined in the implementation section but not in +# the interface are included in the documentation. +# If set to NO (the default) only methods in the interface are included. + +EXTRACT_LOCAL_METHODS = NO + +# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all +# undocumented members of documented classes, files or namespaces. +# If set to NO (the default) these members will be included in the +# various overviews, but no documentation section is generated. +# This option has no effect if EXTRACT_ALL is enabled. + +HIDE_UNDOC_MEMBERS = NO + +# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all +# undocumented classes that are normally visible in the class hierarchy. +# If set to NO (the default) these classes will be included in the various +# overviews. This option has no effect if EXTRACT_ALL is enabled. + +HIDE_UNDOC_CLASSES = NO + +# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all +# friend (class|struct|union) declarations. +# If set to NO (the default) these declarations will be included in the +# documentation. + +HIDE_FRIEND_COMPOUNDS = NO + +# If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any +# documentation blocks found inside the body of a function. +# If set to NO (the default) these blocks will be appended to the +# function's detailed documentation block. + +HIDE_IN_BODY_DOCS = NO + +# The INTERNAL_DOCS tag determines if documentation +# that is typed after a \internal command is included. If the tag is set +# to NO (the default) then the documentation will be excluded. +# Set it to YES to include the internal documentation. + +INTERNAL_DOCS = NO + +# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate +# file names in lower-case letters. If set to YES upper-case letters are also +# allowed. This is useful if you have classes or files whose names only differ +# in case and if your file system supports case sensitive file names. Windows +# and Mac users are advised to set this option to NO. + +CASE_SENSE_NAMES = YES + +# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen +# will show members with their full class and namespace scopes in the +# documentation. If set to YES the scope will be hidden. + +HIDE_SCOPE_NAMES = NO + +# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen +# will put a list of the files that are included by a file in the documentation +# of that file. + +SHOW_INCLUDE_FILES = YES + +# If the INLINE_INFO tag is set to YES (the default) then a tag [inline] +# is inserted in the documentation for inline members. + +INLINE_INFO = YES + +# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen +# will sort the (detailed) documentation of file and class members +# alphabetically by member name. If set to NO the members will appear in +# declaration order. + +SORT_MEMBER_DOCS = YES + +# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the +# brief documentation of file, namespace and class members alphabetically +# by member name. If set to NO (the default) the members will appear in +# declaration order. + +SORT_BRIEF_DOCS = NO + +# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be +# sorted by fully-qualified names, including namespaces. If set to +# NO (the default), the class list will be sorted only by class name, +# not including the namespace part. +# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES. +# Note: This option applies only to the class list, not to the +# alphabetical list. + +SORT_BY_SCOPE_NAME = YES + +# The GENERATE_TODOLIST tag can be used to enable (YES) or +# disable (NO) the todo list. This list is created by putting \todo +# commands in the documentation. + +GENERATE_TODOLIST = YES + +# The GENERATE_TESTLIST tag can be used to enable (YES) or +# disable (NO) the test list. This list is created by putting \test +# commands in the documentation. + +GENERATE_TESTLIST = YES + +# The GENERATE_BUGLIST tag can be used to enable (YES) or +# disable (NO) the bug list. This list is created by putting \bug +# commands in the documentation. + +GENERATE_BUGLIST = YES + +# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or +# disable (NO) the deprecated list. This list is created by putting +# \deprecated commands in the documentation. + +GENERATE_DEPRECATEDLIST= YES + +# The ENABLED_SECTIONS tag can be used to enable conditional +# documentation sections, marked by \if sectionname ... \endif. + +ENABLED_SECTIONS = + +# The MAX_INITIALIZER_LINES tag determines the maximum number of lines +# the initial value of a variable or define consists of for it to appear in +# the documentation. If the initializer consists of more lines than specified +# here it will be hidden. Use a value of 0 to hide initializers completely. +# The appearance of the initializer of individual variables and defines in the +# documentation can be controlled using \showinitializer or \hideinitializer +# command in the documentation regardless of this setting. + +MAX_INITIALIZER_LINES = 30 + +# Set the SHOW_USED_FILES tag to NO to disable the list of files generated +# at the bottom of the documentation of classes and structs. If set to YES the +# list will mention the files that were used to generate the documentation. + +SHOW_USED_FILES = YES + +# If the sources in your project are distributed over multiple directories +# then setting the SHOW_DIRECTORIES tag to YES will show the directory hierarchy +# in the documentation. + +SHOW_DIRECTORIES = YES + +# The FILE_VERSION_FILTER tag can be used to specify a program or script that +# doxygen should invoke to get the current version for each file (typically from the +# version control system). Doxygen will invoke the program by executing (via +# popen()) the command <command> <input-file>, where <command> is the value of +# the FILE_VERSION_FILTER tag, and <input-file> is the name of an input file +# provided by doxygen. Whatever the progam writes to standard output +# is used as the file version. See the manual for examples. + +FILE_VERSION_FILTER = "../misc/svn-version-filter.bash" + +#--------------------------------------------------------------------------- +# configuration options related to warning and progress messages +#--------------------------------------------------------------------------- + +# The QUIET tag can be used to turn on/off the messages that are generated +# by doxygen. Possible values are YES and NO. If left blank NO is used. + +QUIET = YES + +# The WARNINGS tag can be used to turn on/off the warning messages that are +# generated by doxygen. Possible values are YES and NO. If left blank +# NO is used. + +WARNINGS = YES + +# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings +# for undocumented members. If EXTRACT_ALL is set to YES then this flag will +# automatically be disabled. + +WARN_IF_UNDOCUMENTED = YES + +# If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for +# potential errors in the documentation, such as not documenting some +# parameters in a documented function, or documenting parameters that +# don't exist or using markup commands wrongly. + +WARN_IF_DOC_ERROR = YES + +# This WARN_NO_PARAMDOC option can be abled to get warnings for +# functions that are documented, but have no documentation for their parameters +# or return value. If set to NO (the default) doxygen will only warn about +# wrong or incomplete parameter documentation, but not about the absence of +# documentation. + +WARN_NO_PARAMDOC = NO + +# The WARN_FORMAT tag determines the format of the warning messages that +# doxygen can produce. The string should contain the $file, $line, and $text +# tags, which will be replaced by the file and line number from which the +# warning originated and the warning text. Optionally the format may contain +# $version, which will be replaced by the version of the file (if it could +# be obtained via FILE_VERSION_FILTER) + +WARN_FORMAT = "$file:$line: $text" + +# The WARN_LOGFILE tag can be used to specify a file to which warning +# and error messages should be written. If left blank the output is written +# to stderr. + +WARN_LOGFILE = + +#--------------------------------------------------------------------------- +# configuration options related to the input files +#--------------------------------------------------------------------------- + +# The INPUT tag can be used to specify the files and/or directories that contain +# documented source files. You may enter file names like "myfile.cpp" or +# directories like "/usr/src/myproject". Separate the files or directories +# with spaces. + +INPUT = ../paludis ../paludis/args ../paludis/util ../paludis/digests ../paludis/selinux ../paludis/qa/ ../paludis/repositories ../paludis/repositories/nothing ../paludis/repositories/portage ../paludis/repositories/vdb ../paludis/repositories/fake ../paludis/repositories/cran ../paludis/repositories/virtuals ../test ../doc + +# If the value of the INPUT tag contains directories, you can use the +# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp +# and *.h) to filter out the source-files in the directories. If left +# blank the following patterns are tested: +# *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx +# *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm + +FILE_PATTERNS = *.hh *.doxygen + +# The RECURSIVE tag can be used to turn specify whether or not subdirectories +# should be searched for input files as well. Possible values are YES and NO. +# If left blank NO is used. + +RECURSIVE = NO + +# The EXCLUDE tag can be used to specify files and/or directories that should +# excluded from the INPUT source files. This way you can easily exclude a +# subdirectory from a directory tree whose root is specified with the INPUT tag. + +EXCLUDE = + +# The EXCLUDE_SYMLINKS tag can be used select whether or not files or +# directories that are symbolic links (a Unix filesystem feature) are excluded +# from the input. + +EXCLUDE_SYMLINKS = YES + +# If the value of the INPUT tag contains directories, you can use the +# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude +# certain files from those directories. + +EXCLUDE_PATTERNS = + +# The EXAMPLE_PATH tag can be used to specify one or more files or +# directories that contain example code fragments that are included (see +# the \include command). + +EXAMPLE_PATH = ../ + +# If the value of the EXAMPLE_PATH tag contains directories, you can use the +# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp +# and *.h) to filter out the source-files in the directories. If left +# blank all files are included. + +EXAMPLE_PATTERNS = + +# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be +# searched for input files to be used with the \include or \dontinclude +# commands irrespective of the value of the RECURSIVE tag. +# Possible values are YES and NO. If left blank NO is used. + +EXAMPLE_RECURSIVE = NO + +# The IMAGE_PATH tag can be used to specify one or more files or +# directories that contain image that are included in the documentation (see +# the \image command). + +IMAGE_PATH = + +# The INPUT_FILTER tag can be used to specify a program that doxygen should +# invoke to filter for each input file. Doxygen will invoke the filter program +# by executing (via popen()) the command <filter> <input-file>, where <filter> +# is the value of the INPUT_FILTER tag, and <input-file> is the name of an +# input file. Doxygen will then use the output that the filter program writes +# to standard output. If FILTER_PATTERNS is specified, this tag will be +# ignored. + +INPUT_FILTER = "grep -v '^#define .*_GUARD_'" + +# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern +# basis. Doxygen will compare the file name with each pattern and apply the +# filter if there is a match. The filters are a list of the form: +# pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further +# info on how filters are used. If FILTER_PATTERNS is empty, INPUT_FILTER +# is applied to all files. + +FILTER_PATTERNS = + +# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using +# INPUT_FILTER) will be used to filter the input files when producing source +# files to browse (i.e. when SOURCE_BROWSER is set to YES). + +FILTER_SOURCE_FILES = NO + +#--------------------------------------------------------------------------- +# configuration options related to source browsing +#--------------------------------------------------------------------------- + +# If the SOURCE_BROWSER tag is set to YES then a list of source files will +# be generated. Documented entities will be cross-referenced with these sources. +# Note: To get rid of all source code in the generated output, make sure also +# VERBATIM_HEADERS is set to NO. + +SOURCE_BROWSER = NO + +# Setting the INLINE_SOURCES tag to YES will include the body +# of functions and classes directly in the documentation. + +INLINE_SOURCES = NO + +# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct +# doxygen to hide any special comment blocks from generated source code +# fragments. Normal C and C++ comments will always remain visible. + +STRIP_CODE_COMMENTS = NO + +# If the REFERENCED_BY_RELATION tag is set to YES (the default) +# then for each documented function all documented +# functions referencing it will be listed. + +REFERENCED_BY_RELATION = YES + +# If the REFERENCES_RELATION tag is set to YES (the default) +# then for each documented function all documented entities +# called/used by that function will be listed. + +REFERENCES_RELATION = YES + +# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen +# will generate a verbatim copy of the header file for each class for +# which an include is specified. Set to NO to disable this. + +VERBATIM_HEADERS = YES + +#--------------------------------------------------------------------------- +# configuration options related to the alphabetical class index +#--------------------------------------------------------------------------- + +# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index +# of all compounds will be generated. Enable this if the project +# contains a lot of classes, structs, unions or interfaces. + +ALPHABETICAL_INDEX = NO + +# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then +# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns +# in which this list will be split (can be a number in the range [1..20]) + +COLS_IN_ALPHA_INDEX = 5 + +# In case all classes in a project start with a common prefix, all +# classes will be put under the same header in the alphabetical index. +# The IGNORE_PREFIX tag can be used to specify one or more prefixes that +# should be ignored while generating the index headers. + +IGNORE_PREFIX = + +#--------------------------------------------------------------------------- +# configuration options related to the HTML output +#--------------------------------------------------------------------------- + +# If the GENERATE_HTML tag is set to YES (the default) Doxygen will +# generate HTML output. + +GENERATE_HTML = YES + +# The HTML_OUTPUT tag is used to specify where the HTML docs will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# put in front of it. If left blank `html' will be used as the default path. + +HTML_OUTPUT = html + +# The HTML_FILE_EXTENSION tag can be used to specify the file extension for +# each generated HTML page (for example: .htm,.php,.asp). If it is left blank +# doxygen will generate files with .html extension. + +HTML_FILE_EXTENSION = .html + +# The HTML_HEADER tag can be used to specify a personal HTML header for +# each generated HTML page. If it is left blank doxygen will generate a +# standard header. + +HTML_HEADER = header.html + +# The HTML_FOOTER tag can be used to specify a personal HTML footer for +# each generated HTML page. If it is left blank doxygen will generate a +# standard footer. + +HTML_FOOTER = footer.html + +# The HTML_STYLESHEET tag can be used to specify a user-defined cascading +# style sheet that is used by each HTML page. It can be used to +# fine-tune the look of the HTML output. If the tag is left blank doxygen +# will generate a default style sheet. Note that doxygen will try to copy +# the style sheet file to the HTML output directory, so don't put your own +# stylesheet in the HTML output directory as well, or it will be erased! + +HTML_STYLESHEET = paludis.css + +# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes, +# files or namespaces will be aligned in HTML using tables. If set to +# NO a bullet list will be used. + +HTML_ALIGN_MEMBERS = YES + +# If the GENERATE_HTMLHELP tag is set to YES, additional index files +# will be generated that can be used as input for tools like the +# Microsoft HTML help workshop to generate a compressed HTML help file (.chm) +# of the generated HTML documentation. + +GENERATE_HTMLHELP = NO + +# If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can +# be used to specify the file name of the resulting .chm file. You +# can add a path in front of the file if the result should not be +# written to the html output directory. + +CHM_FILE = + +# If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can +# be used to specify the location (absolute path including file name) of +# the HTML help compiler (hhc.exe). If non-empty doxygen will try to run +# the HTML help compiler on the generated index.hhp. + +HHC_LOCATION = + +# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag +# controls if a separate .chi index file is generated (YES) or that +# it should be included in the master .chm file (NO). + +GENERATE_CHI = NO + +# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag +# controls whether a binary table of contents is generated (YES) or a +# normal table of contents (NO) in the .chm file. + +BINARY_TOC = NO + +# The TOC_EXPAND flag can be set to YES to add extra items for group members +# to the contents of the HTML help documentation and to the tree view. + +TOC_EXPAND = NO + +# The DISABLE_INDEX tag can be used to turn on/off the condensed index at +# top of each HTML page. The value NO (the default) enables the index and +# the value YES disables it. + +DISABLE_INDEX = YES + +# This tag can be used to set the number of enum values (range [1..20]) +# that doxygen will group on one line in the generated HTML documentation. + +ENUM_VALUES_PER_LINE = 4 + +# If the GENERATE_TREEVIEW tag is set to YES, a side panel will be +# generated containing a tree-like index structure (just like the one that +# is generated for HTML Help). For this to work a browser that supports +# JavaScript, DHTML, CSS and frames is required (for instance Mozilla 1.0+, +# Netscape 6.0+, Internet explorer 5.0+, or Konqueror). Windows users are +# probably better off using the HTML help feature. + +GENERATE_TREEVIEW = NO + +# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be +# used to set the initial width (in pixels) of the frame in which the tree +# is shown. + +TREEVIEW_WIDTH = 250 + +#--------------------------------------------------------------------------- +# configuration options related to the LaTeX output +#--------------------------------------------------------------------------- + +# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will +# generate Latex output. + +GENERATE_LATEX = NO + +# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# put in front of it. If left blank `latex' will be used as the default path. + +LATEX_OUTPUT = latex + +# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be +# invoked. If left blank `latex' will be used as the default command name. + +LATEX_CMD_NAME = latex + +# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to +# generate index for LaTeX. If left blank `makeindex' will be used as the +# default command name. + +MAKEINDEX_CMD_NAME = makeindex + +# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact +# LaTeX documents. This may be useful for small projects and may help to +# save some trees in general. + +COMPACT_LATEX = NO + +# The PAPER_TYPE tag can be used to set the paper type that is used +# by the printer. Possible values are: a4, a4wide, letter, legal and +# executive. If left blank a4wide will be used. + +PAPER_TYPE = a4wide + +# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX +# packages that should be included in the LaTeX output. + +EXTRA_PACKAGES = + +# The LATEX_HEADER tag can be used to specify a personal LaTeX header for +# the generated latex document. The header should contain everything until +# the first chapter. If it is left blank doxygen will generate a +# standard header. Notice: only use this tag if you know what you are doing! + +LATEX_HEADER = + +# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated +# is prepared for conversion to pdf (using ps2pdf). The pdf file will +# contain links (just like the HTML output) instead of page references +# This makes the output suitable for online browsing using a pdf viewer. + +PDF_HYPERLINKS = NO + +# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of +# plain latex in the generated Makefile. Set this option to YES to get a +# higher quality PDF documentation. + +USE_PDFLATEX = NO + +# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode. +# command to the generated LaTeX files. This will instruct LaTeX to keep +# running if errors occur, instead of asking the user for help. +# This option is also used when generating formulas in HTML. + +LATEX_BATCHMODE = NO + +# If LATEX_HIDE_INDICES is set to YES then doxygen will not +# include the index chapters (such as File Index, Compound Index, etc.) +# in the output. + +LATEX_HIDE_INDICES = NO + +#--------------------------------------------------------------------------- +# configuration options related to the RTF output +#--------------------------------------------------------------------------- + +# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output +# The RTF output is optimized for Word 97 and may not look very pretty with +# other RTF readers or editors. + +GENERATE_RTF = NO + +# The RTF_OUTPUT tag is used to specify where the RTF docs will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# put in front of it. If left blank `rtf' will be used as the default path. + +RTF_OUTPUT = rtf + +# If the COMPACT_RTF tag is set to YES Doxygen generates more compact +# RTF documents. This may be useful for small projects and may help to +# save some trees in general. + +COMPACT_RTF = NO + +# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated +# will contain hyperlink fields. The RTF file will +# contain links (just like the HTML output) instead of page references. +# This makes the output suitable for online browsing using WORD or other +# programs which support those fields. +# Note: wordpad (write) and others do not support links. + +RTF_HYPERLINKS = NO + +# Load stylesheet definitions from file. Syntax is similar to doxygen's +# config file, i.e. a series of assignments. You only have to provide +# replacements, missing definitions are set to their default value. + +RTF_STYLESHEET_FILE = + +# Set optional variables used in the generation of an rtf document. +# Syntax is similar to doxygen's config file. + +RTF_EXTENSIONS_FILE = + +#--------------------------------------------------------------------------- +# configuration options related to the man page output +#--------------------------------------------------------------------------- + +# If the GENERATE_MAN tag is set to YES (the default) Doxygen will +# generate man pages + +GENERATE_MAN = NO + +# The MAN_OUTPUT tag is used to specify where the man pages will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# put in front of it. If left blank `man' will be used as the default path. + +MAN_OUTPUT = man + +# The MAN_EXTENSION tag determines the extension that is added to +# the generated man pages (default is the subroutine's section .3) + +MAN_EXTENSION = .3 + +# If the MAN_LINKS tag is set to YES and Doxygen generates man output, +# then it will generate one additional man file for each entity +# documented in the real man page(s). These additional files +# only source the real man page, but without them the man command +# would be unable to find the correct page. The default is NO. + +MAN_LINKS = NO + +#--------------------------------------------------------------------------- +# configuration options related to the XML output +#--------------------------------------------------------------------------- + +# If the GENERATE_XML tag is set to YES Doxygen will +# generate an XML file that captures the structure of +# the code including all documentation. + +GENERATE_XML = NO + +# The XML_OUTPUT tag is used to specify where the XML pages will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# put in front of it. If left blank `xml' will be used as the default path. + +XML_OUTPUT = xml + +# The XML_SCHEMA tag can be used to specify an XML schema, +# which can be used by a validating XML parser to check the +# syntax of the XML files. + +XML_SCHEMA = + +# The XML_DTD tag can be used to specify an XML DTD, +# which can be used by a validating XML parser to check the +# syntax of the XML files. + +XML_DTD = + +# If the XML_PROGRAMLISTING tag is set to YES Doxygen will +# dump the program listings (including syntax highlighting +# and cross-referencing information) to the XML output. Note that +# enabling this will significantly increase the size of the XML output. + +XML_PROGRAMLISTING = YES + +#--------------------------------------------------------------------------- +# configuration options for the AutoGen Definitions output +#--------------------------------------------------------------------------- + +# If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will +# generate an AutoGen Definitions (see autogen.sf.net) file +# that captures the structure of the code including all +# documentation. Note that this feature is still experimental +# and incomplete at the moment. + +GENERATE_AUTOGEN_DEF = NO + +#--------------------------------------------------------------------------- +# configuration options related to the Perl module output +#--------------------------------------------------------------------------- + +# If the GENERATE_PERLMOD tag is set to YES Doxygen will +# generate a Perl module file that captures the structure of +# the code including all documentation. Note that this +# feature is still experimental and incomplete at the +# moment. + +GENERATE_PERLMOD = NO + +# If the PERLMOD_LATEX tag is set to YES Doxygen will generate +# the necessary Makefile rules, Perl scripts and LaTeX code to be able +# to generate PDF and DVI output from the Perl module output. + +PERLMOD_LATEX = NO + +# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be +# nicely formatted so it can be parsed by a human reader. This is useful +# if you want to understand what is going on. On the other hand, if this +# tag is set to NO the size of the Perl module output will be much smaller +# and Perl will parse it just the same. + +PERLMOD_PRETTY = YES + +# The names of the make variables in the generated doxyrules.make file +# are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX. +# This is useful so different doxyrules.make files included by the same +# Makefile don't overwrite each other's variables. + +PERLMOD_MAKEVAR_PREFIX = + +#--------------------------------------------------------------------------- +# Configuration options related to the preprocessor +#--------------------------------------------------------------------------- + +# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will +# evaluate all C-preprocessor directives found in the sources and include +# files. + +ENABLE_PREPROCESSING = YES + +# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro +# names in the source code. If set to NO (the default) only conditional +# compilation will be performed. Macro expansion can be done in a controlled +# way by setting EXPAND_ONLY_PREDEF to YES. + +MACRO_EXPANSION = NO + +# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES +# then the macro expansion is limited to the macros specified with the +# PREDEFINED and EXPAND_AS_PREDEFINED tags. + +EXPAND_ONLY_PREDEF = NO + +# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files +# in the INCLUDE_PATH (see below) will be search if a #include is found. + +SEARCH_INCLUDES = YES + +# The INCLUDE_PATH tag can be used to specify one or more directories that +# contain include files that are not input files but should be processed by +# the preprocessor. + +INCLUDE_PATH = + +# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard +# patterns (like *.h and *.hpp) to filter out the header-files in the +# directories. If left blank, the patterns specified with FILE_PATTERNS will +# be used. + +INCLUDE_FILE_PATTERNS = + +# The PREDEFINED tag can be used to specify one or more macro names that +# are defined before the preprocessor is started (similar to the -D option of +# gcc). The argument of the tag is a list of macros of the form: name +# or name=definition (no spaces). If the definition and the = are +# omitted =1 is assumed. To prevent a macro definition from being +# undefined via #undef or recursively expanded use the := operator +# instead of the = operator. + +PREDEFINED = DOXYGEN + +# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then +# this tag can be used to specify a list of macro names that should be expanded. +# The macro definition that is found in the sources will be used. +# Use the PREDEFINED tag if you want to use a different macro definition. + +EXPAND_AS_DEFINED = + +# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then +# doxygen's preprocessor will remove all function-like macros that are alone +# on a line, have an all uppercase name, and do not end with a semicolon. Such +# function macros are typically used for boiler-plate code, and will confuse +# the parser if not removed. + +SKIP_FUNCTION_MACROS = YES + +#--------------------------------------------------------------------------- +# Configuration::additions related to external references +#--------------------------------------------------------------------------- + +# The TAGFILES option can be used to specify one or more tagfiles. +# Optionally an initial location of the external documentation +# can be added for each tagfile. The format of a tag file without +# this location is as follows: +# TAGFILES = file1 file2 ... +# Adding location for the tag files is done as follows: +# TAGFILES = file1=loc1 "file2 = loc2" ... +# where "loc1" and "loc2" can be relative or absolute paths or +# URLs. If a location is present for each tag, the installdox tool +# does not have to be run to correct the links. +# Note that each tag file must have a unique name +# (where the name does NOT include the path) +# If a tag file is not located in the directory in which doxygen +# is run, you must also specify the path to the tagfile here. + +TAGFILES = + +# When a file name is specified after GENERATE_TAGFILE, doxygen will create +# a tag file that is based on the input files it reads. + +GENERATE_TAGFILE = + +# If the ALLEXTERNALS tag is set to YES all external classes will be listed +# in the class index. If set to NO only the inherited external classes +# will be listed. + +ALLEXTERNALS = NO + +# If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed +# in the modules index. If set to NO, only the current project's groups will +# be listed. + +EXTERNAL_GROUPS = YES + +# The PERL_PATH should be the absolute path and name of the perl script +# interpreter (i.e. the result of `which perl'). + +PERL_PATH = /usr/bin/perl + +#--------------------------------------------------------------------------- +# Configuration options related to the dot tool +#--------------------------------------------------------------------------- + +# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will +# generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base +# or super classes. Setting the tag to NO turns the diagrams off. Note that +# this option is superseded by the HAVE_DOT option below. This is only a +# fallback. It is recommended to install and use dot, since it yields more +# powerful graphs. + +CLASS_DIAGRAMS = YES + +# If set to YES, the inheritance and collaboration graphs will hide +# inheritance and usage relations if the target is undocumented +# or is not a class. + +HIDE_UNDOC_RELATIONS = YES + +# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is +# available from the path. This tool is part of Graphviz, a graph visualization +# toolkit from AT&T and Lucent Bell Labs. The other options in this section +# have no effect if this option is set to NO (the default) + +HAVE_DOT = @HAVE_DOT@ + +# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen +# will generate a graph for each documented class showing the direct and +# indirect inheritance relations. Setting this tag to YES will force the +# the CLASS_DIAGRAMS tag to NO. + +CLASS_GRAPH = YES + +# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen +# will generate a graph for each documented class showing the direct and +# indirect implementation dependencies (inheritance, containment, and +# class references variables) of the class with other documented classes. + +COLLABORATION_GRAPH = YES + +# If the GROUP_GRAPHS and HAVE_DOT tags are set to YES then doxygen +# will generate a graph for groups, showing the direct groups dependencies + +GROUP_GRAPHS = NO + +# If the UML_LOOK tag is set to YES doxygen will generate inheritance and +# collaboration diagrams in a style similar to the OMG's Unified Modeling +# Language. + +UML_LOOK = NO + +# If set to YES, the inheritance and collaboration graphs will show the +# relations between templates and their instances. + +TEMPLATE_RELATIONS = NO + +# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT +# tags are set to YES then doxygen will generate a graph for each documented +# file showing the direct and indirect include dependencies of the file with +# other documented files. + +INCLUDE_GRAPH = YES + +# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and +# HAVE_DOT tags are set to YES then doxygen will generate a graph for each +# documented header file showing the documented files that directly or +# indirectly include this file. + +INCLUDED_BY_GRAPH = YES + +# If the CALL_GRAPH and HAVE_DOT tags are set to YES then doxygen will +# generate a call dependency graph for every global function or class method. +# Note that enabling this option will significantly increase the time of a run. +# So in most cases it will be better to enable call graphs for selected +# functions only using the \callgraph command. + +CALL_GRAPH = NO + +# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen +# will graphical hierarchy of all classes instead of a textual one. + +GRAPHICAL_HIERARCHY = YES + +# If the DIRECTORY_GRAPH, SHOW_DIRECTORIES and HAVE_DOT tags are set to YES +# then doxygen will show the dependencies a directory has on other directories +# in a graphical way. The dependency relations are determined by the #include +# relations between the files in the directories. + +DIRECTORY_GRAPH = YES + +# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images +# generated by dot. Possible values are png, jpg, or gif +# If left blank png will be used. + +DOT_IMAGE_FORMAT = png + +# The tag DOT_PATH can be used to specify the path where the dot tool can be +# found. If left blank, it is assumed the dot tool can be found in the path. + +DOT_PATH = + +# The DOTFILE_DIRS tag can be used to specify one or more directories that +# contain dot files that are included in the documentation (see the +# \dotfile command). + +DOTFILE_DIRS = + +# The MAX_DOT_GRAPH_WIDTH tag can be used to set the maximum allowed width +# (in pixels) of the graphs generated by dot. If a graph becomes larger than +# this value, doxygen will try to truncate the graph, so that it fits within +# the specified constraint. Beware that most browsers cannot cope with very +# large images. + +MAX_DOT_GRAPH_WIDTH = 1024 + +# The MAX_DOT_GRAPH_HEIGHT tag can be used to set the maximum allows height +# (in pixels) of the graphs generated by dot. If a graph becomes larger than +# this value, doxygen will try to truncate the graph, so that it fits within +# the specified constraint. Beware that most browsers cannot cope with very +# large images. + +MAX_DOT_GRAPH_HEIGHT = 1024 + +# The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the +# graphs generated by dot. A depth value of 3 means that only nodes reachable +# from the root by following a path via at most 3 edges will be shown. Nodes +# that lay further from the root node will be omitted. Note that setting this +# option to 1 or 2 may greatly reduce the computation time needed for large +# code bases. Also note that a graph may be further truncated if the graph's +# image dimensions are not sufficient to fit the graph (see MAX_DOT_GRAPH_WIDTH +# and MAX_DOT_GRAPH_HEIGHT). If 0 is used for the depth value (the default), +# the graph is not depth-constrained. + +MAX_DOT_GRAPH_DEPTH = 0 + +# Set the DOT_TRANSPARENT tag to YES to generate images with a transparent +# background. This is disabled by default, which results in a white background. +# Warning: Depending on the platform used, enabling this option may lead to +# badly anti-aliased labels on the edges of a graph (i.e. they become hard to +# read). + +DOT_TRANSPARENT = YES + +# Set the DOT_MULTI_TARGETS tag to YES allow dot to generate multiple output +# files in one run (i.e. multiple -o and -T options on the command line). This +# makes dot run faster, but since only newer versions of dot (>1.8.10) +# support this, this feature is disabled by default. + +DOT_MULTI_TARGETS = NO + +# If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will +# generate a legend page explaining the meaning of the various boxes and +# arrows in the dot generated graphs. + +GENERATE_LEGEND = YES + +# If the DOT_CLEANUP tag is set to YES (the default) Doxygen will +# remove the intermediate dot files that are used to generate +# the various graphs. + +DOT_CLEANUP = YES + +#--------------------------------------------------------------------------- +# Configuration::additions related to the search engine +#--------------------------------------------------------------------------- + +# The SEARCHENGINE tag specifies whether or not a search engine should be +# used. If set to NO the values of all tags below this one will be ignored. + +SEARCHENGINE = NO + + + diff --git a/0.8.0/doc/footer.html b/0.8.0/doc/footer.html new file mode 100644 index 000000000..8cd5215c1 --- /dev/null +++ b/0.8.0/doc/footer.html @@ -0,0 +1,12 @@ +<div class="qindex" style="text-align: center; margin-top: 1em;"> + <p>Copyright © 2005, 2006 <a href="http://ciaranm.org/">Ciaran McCreesh</a> and various others. See the <a href="Authors.html">Authors list</a> and <a href="Licence.html">Licence</a> for details and redistribution conditions.</p> + <table style="border-style: none; margin: auto;"> + <tr> + <td style="text-align: center; padding: 2px 50px;"><a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" border="0"></a></td> + <td style="text-align: center; padding: 2px 50px;"><a href="http://developer.berlios.de" title="BerliOS Developer"><img src="http://developer.berlios.de/bslogo.php?group_id=6360" border="0" alt="BerliOS Developer Logo"></a></td> + </tr> + </table> +</div> +</body> +</html> + diff --git a/0.8.0/doc/header.html b/0.8.0/doc/header.html new file mode 100644 index 000000000..e1c5daf0a --- /dev/null +++ b/0.8.0/doc/header.html @@ -0,0 +1,39 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<!-- vim: set sw=4 sts=4 et : --> +<html> + <head> + <title>$title</title> + <link href="$relpath$paludis.css" rel="stylesheet" type="text/css"> + </head> + <body> + <div class="qindex">About Paludis: [ + <a class="qindex" href="index.html">Paludis Homepage</a> | + <a class="qindex" href="News.html">News</a> | + <a class="qindex" href="ChangeLog.html">ChangeLog</a> | + <a class="qindex" href="Licence.html">Licence</a> | + <a class="qindex" href="Authors.html">Authors</a> | + <a class="qindex" href="https://developer.berlios.de/projects/paludis/">Berlios Project</a> | + <a class="qindex" href="https://developer.berlios.de/project/showfiles.php?group_id=6360">Download</a> | + <a class="qindex" href="http://svn.pioto.org/viewvc/paludis/">SVN</a> ] + </div> + + <div class="qindex">User Documentation: [ + <a class="qindex" href="BootstrapHowto.html">Bootstrap Howto</a> | + <a class="qindex" href="MigrationHowto.html">Migration Howto</a> | + <a class="qindex" href="KnownIssues.html">Known Issues and Non-Issues</a> (<strong>Important</strong>) | + <a class="qindex" href="ConfigurationFiles.html">Configuration Files</a> | + <a class="qindex" href="PortageDifferences.html">Portage Differences</a> ] + </div> + + <div class="qindex">Code Documentation: [ + <a class="qindex" href="modules.html">Modules</a> | + <a class="qindex" href="namespaces.html">Namespaces</a> | + <a class="qindex" href="annotated.html">Classes</a> | + <a class="qindex" href="files.html">Files</a> | + <a class="qindex" href="namespacemembers.html">Namespace Members</a> | + <a class="qindex" href="functions.html">Class Members</a> | + <a class="qindex" href="globals.html">File Members</a> | + <a class="qindex" href="CodingStandards.html">Coding Standards</a> | + <a class="qindex" href="pages.html">Other Topics</a> ] + </div> + diff --git a/0.8.0/doc/paludis.css b/0.8.0/doc/paludis.css new file mode 100644 index 000000000..41d761a56 --- /dev/null +++ b/0.8.0/doc/paludis.css @@ -0,0 +1,326 @@ +body { + background-color: #eeeeee; + color: #333333; +} + +h1 { + text-align: center; + font-size: x-large; + border-bottom: 1px dashed #999999; +} + +h2 { + text-align: left; + border-bottom: 1px dashed #999999; + font-size: x-large; +} + +h3 { + font-size: large; +} + +caption { + font-weight: bold; +} + +div.qindex { + width: 100%; + background-color: #cccccc; + border: 1px solid #999999; + text-align: center; + margin: 2px; + padding: 2px; + font-size: 80%; + line-height: 140%; +} + +div.nav { + width: 100%; + background-color: #cccccc; + border: 1px solid #999999; + text-align: center; + margin: 2px; + padding: 2px; + font-size: 80%; + line-height: 140%; +} + +a:link { + text-decoration: none; + font-weight: bold; + color: #663399; +} + +a:visited { + text-decoration: none; + font-weight: bold; + color: #663399; +} + +a:hover { + text-decoration: none; + background-color: #663399; + font-weight: bold; + color: #ffffff; +} + +a.el { + font-weight: bold; +} + +a.elRef { + font-weight: bold; +} + +.fragment { + font-family: monospace; +} + +pre.fragment { + border: 1px solid #cccccc; + background-color: #f5f5f5; + margin-top: 4px; + margin-bottom: 4px; + margin-left: 2px; + margin-right: 8px; + padding-left: 6px; + padding-right: 6px; + padding-top: 4px; + padding-bottom: 4px; +} + +div.ah { + background-color: black; + font-weight: bold; + color: #ffffff; + margin-bottom: 3px; + margin-top: 3px; +} + +td.md { + background-color: #f4f4fb; + font-weight: bold; +} + +td.mdPrefix { + background-color: #F4F4FB; + color: #606060; +} + +td.mdname1 { + background-color: #f4f4fb; + font-weight: bold; + color: #602020; +} + +td.mdname { + background-color: #f4f4fb; + font-weight: bold; + color: #602020; +} + +div.groupHeader { + margin-left: 16px; + margin-top: 12px; + margin-bottom: 6px; + font-weight: bold; +} + +div.groupText { + margin-left: 16px; + font-style: italic; + font-size: 90%; +} + +td.indexkey { + background-color: #eeeeff; + font-weight: bold; + padding-right : 10px; + padding-top : 2px; + padding-left : 10px; + padding-bottom : 2px; + margin-left : 0px; + margin-right : 0px; + margin-top : 2px; + margin-bottom : 2px; + border: 1px solid #cccccc; +} + +td.indexvalue { + background-color: #eeeeff; + font-style: italic; + padding-right : 10px; + padding-top : 2px; + padding-left : 10px; + padding-bottom : 2px; + margin-left : 0px; + margin-right : 0px; + margin-top : 2px; + margin-bottom : 2px; + border: 1px solid #cccccc; +} + +tr.memlist { + background-color: #f0f0f0; +} + +p.formulaDsp { text-align: center; } +IMG.formulaDsp { } +IMG.formulaInl { vertical-align: middle; } +SPAN.keyword { color: #008000 } +SPAN.keywordtype { color: #604020 } +SPAN.keywordflow { color: #e08000 } +SPAN.comment { color: #800000 } +SPAN.preprocessor { color: #806020 } +SPAN.stringliteral { color: #002080 } +SPAN.charliteral { color: #008080 } +.mdTable { + border: 1px solid #868686; + background-color: #F4F4FB; +} +.mdRow { + padding: 8px 10px; +} +.mdescLeft { + padding: 0px 8px 4px 8px; + font-size: 80%; + font-style: italic; + background-color: #FAFAFA; + border-top: 1px none #E0E0E0; + border-right: 1px none #E0E0E0; + border-bottom: 1px none #E0E0E0; + border-left: 1px none #E0E0E0; + margin: 0px; +} +.mdescRight { + padding: 0px 8px 4px 8px; + font-size: 80%; + font-style: italic; + background-color: #FAFAFA; + border-top: 1px none #E0E0E0; + border-right: 1px none #E0E0E0; + border-bottom: 1px none #E0E0E0; + border-left: 1px none #E0E0E0; + margin: 0px; +} +.memItemLeft { + padding: 1px 0px 0px 8px; + margin: 4px; + border-top-width: 1px; + border-right-width: 1px; + border-bottom-width: 1px; + border-left-width: 1px; + border-top-color: #E0E0E0; + border-right-color: #E0E0E0; + border-bottom-color: #E0E0E0; + border-left-color: #E0E0E0; + border-top-style: solid; + border-right-style: none; + border-bottom-style: none; + border-left-style: none; + background-color: #FAFAFA; + font-size: 80%; +} +.memItemRight { + padding: 1px 8px 0px 8px; + margin: 4px; + border-top-width: 1px; + border-right-width: 1px; + border-bottom-width: 1px; + border-left-width: 1px; + border-top-color: #E0E0E0; + border-right-color: #E0E0E0; + border-bottom-color: #E0E0E0; + border-left-color: #E0E0E0; + border-top-style: solid; + border-right-style: none; + border-bottom-style: none; + border-left-style: none; + background-color: #FAFAFA; + font-size: 80%; +} +.memTemplItemLeft { + padding: 1px 0px 0px 8px; + margin: 4px; + border-top-width: 1px; + border-right-width: 1px; + border-bottom-width: 1px; + border-left-width: 1px; + border-top-color: #E0E0E0; + border-right-color: #E0E0E0; + border-bottom-color: #E0E0E0; + border-left-color: #E0E0E0; + border-top-style: none; + border-right-style: none; + border-bottom-style: none; + border-left-style: none; + background-color: #FAFAFA; + font-size: 80%; +} +.memTemplItemRight { + padding: 1px 8px 0px 8px; + margin: 4px; + border-top-width: 1px; + border-right-width: 1px; + border-bottom-width: 1px; + border-left-width: 1px; + border-top-color: #E0E0E0; + border-right-color: #E0E0E0; + border-bottom-color: #E0E0E0; + border-left-color: #E0E0E0; + border-top-style: none; + border-right-style: none; + border-bottom-style: none; + border-left-style: none; + background-color: #FAFAFA; + font-size: 80%; +} +.memTemplParams { + padding: 1px 0px 0px 8px; + margin: 4px; + border-top-width: 1px; + border-right-width: 1px; + border-bottom-width: 1px; + border-left-width: 1px; + border-top-color: #E0E0E0; + border-right-color: #E0E0E0; + border-bottom-color: #E0E0E0; + border-left-color: #E0E0E0; + border-top-style: solid; + border-right-style: none; + border-bottom-style: none; + border-left-style: none; + color: #606060; + background-color: #FAFAFA; + font-size: 80%; +} +.search { color: #003399; + font-weight: bold; +} +FORM.search { + margin-bottom: 0px; + margin-top: 0px; +} +INPUT.search { font-size: 75%; + color: #000080; + font-weight: normal; + background-color: #eeeeff; +} +TD.tiny { font-size: 75%; +} +.dirtab { padding: 4px; + border-collapse: collapse; + border: 1px solid #b0b0b0; +} +TH.dirtab { background: #eeeeff; + font-weight: bold; +} +HR { height: 1px; + border: none; + border-top: 1px solid black; +} + +code { + background-color: #f5f5f5; +} + |