diff options
authorAvatar Ciaran McCreesh <ciaran.mccreesh@googlemail.com> 2006-04-23 22:03:57 +0000
committerAvatar Ciaran McCreesh <ciaran.mccreesh@googlemail.com> 2006-04-23 22:03:57 +0000
commitfd51fe3039a6d197b4c5d819c0c192b8fd9c9c43 (patch)
parent6f09bd3174603fcab6695904206609cda734c3fe (diff)
Extend documentation to include how we differ from Portage
3 files changed, 72 insertions, 3 deletions
diff --git a/doc/Makefile.am b/doc/Makefile.am
index 84b3a79..4386222 100644
--- a/doc/Makefile.am
+++ b/doc/Makefile.am
@@ -11,7 +11,8 @@ docfiles = \
doc_licence.doxygen \
doc_authors.doxygen \
doc_bootstrap_howto.doxygen \
- doc_changelog.doxygen
+ doc_changelog.doxygen \
+ doc_portage_differences.doxygen
EXTRA_DIST = doxygen.conf.in $(docfiles)
diff --git a/doc/doc_mainpage.doxygen b/doc/doc_mainpage.doxygen
index fcbd547..38d5e4d 100644
--- a/doc/doc_mainpage.doxygen
+++ b/doc/doc_mainpage.doxygen
@@ -12,7 +12,9 @@ You shouldn't be touching Paludis at the moment. Paludis will delete all your
files, then delete everyone else's files, then rape your dog. Go away.
If you're still here, read \link BootstrapHowto the Bootstrap HOWTO \endlink for
-how to break your system or possibly set up a chroot.
+how to break your system or possibly set up a chroot. You may also like to read
+about \link PortageDifferences some of the differences between Paludis and
We have a <a href="https://developer.berlios.de/bugs/?group_id=6360">bug
tracker</a> and some
@@ -23,7 +25,9 @@ IRC channel. Read the howto for more details.
\section developerdocs For Developers
Start by getting a
-<a href="https://developer.berlios.de/svn/?group_id=6360">Subversion checkout</a>.
+<a href="https://developer.berlios.de/svn/?group_id=6360">Subversion
+checkout</a>, 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. Useful files:
diff --git a/doc/doc_portage_differences.doxygen b/doc/doc_portage_differences.doxygen
new file mode 100644
index 0000000..88f7d78
--- /dev/null
+++ b/doc/doc_portage_differences.doxygen
@@ -0,0 +1,64 @@
+/* vim: set ft=cpp tw=80 sw=4 et : */
+\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.
+\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.
+- Default deep dependency resolution.
+- Support for -scm versions.
+\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.