diff options
author | Tim Yamin <plasmaroo@gentoo.org> | 2006-02-21 00:26:13 +0000 |
---|---|---|
committer | Tim Yamin <plasmaroo@gentoo.org> | 2006-02-21 00:26:13 +0000 |
commit | de5d23641714ccf460d18f2d127341da616c8503 (patch) | |
tree | b4d17fd3e23a633f17855eaef68328666ded45f5 /general-concepts/tree | |
parent | Add "General Concepts"::"Licenses"; change <include> behaviour to *not* have ... (diff) | |
download | devmanual-de5d23641714ccf460d18f2d127341da616c8503.tar.gz devmanual-de5d23641714ccf460d18f2d127341da616c8503.tar.bz2 devmanual-de5d23641714ccf460d18f2d127341da616c8503.zip |
More updates. Update the stylesheet adding a few new elements and more sh
highlighting grammar.
git-svn-id: svn+ssh://svn.gentoo.org/var/svnroot/devmanual/trunk@4 176d3534-300d-0410-8db8-84e73ed771c3
Diffstat (limited to 'general-concepts/tree')
-rw-r--r-- | general-concepts/tree/text.xml | 185 |
1 files changed, 185 insertions, 0 deletions
diff --git a/general-concepts/tree/text.xml b/general-concepts/tree/text.xml new file mode 100644 index 0000000..1caa834 --- /dev/null +++ b/general-concepts/tree/text.xml @@ -0,0 +1,185 @@ +<?xml version="1.0"?> +<guide self="general-concepts/tree/"> +<chapter> +<title>The Portage Tree</title> + +<body> +<p> +The basic layout of the portage tree is as follows: +</p> + +<ul> + <li> + Categories, for example <c>app-editors</c>, <c>sys-apps</c> + <ul> + <li>Category metadata, for example <c>app-admin/metadata.xml</c></li> + <li> + Package directories for example <c>app-editors/vim</c> + <ul> + <li>Package metadata, for example <c>app-editors/vim/metadata.xml</c></li> + <li>Package changelog, for example <c>app-editors/vim/ChangeLog</c></li> + <li>Package Manifest, for example <c>app-editors/vim/Manifest</c></li> + <li> + Ebuilds, for example <c>app-editors/vim/vim-6.3.068.ebuild</c>, + <c>app-editors/vim/vim-7.0_alpha20050326.ebuild</c> + </li> + <li> + Package files directory, for example <c>app-editors/vim/files</c> + <ul> + <li> + Digest files, for example <c>app-editors/vim/files/digest-vim-6.3.068</c>, + <c>app-editors/vim/files/digest-vim-7.0_alpha20050326</c> + </li> + <li> + Small patches and other miscellaneous files, for example + <c>app-editors/vim/files/vim-completion</c> + </li> + </ul> + </li> + </ul> + </li> + </ul> + </li> + <li>Eclasses directory, <c>eclass/</c></li> + <li>Licenses directory, <c>licenses/</c></li> + <li> + Profiles directory, <c>profiles/</c> + <ul> + <li> + Various control and documentation files, for example <c>categories</c>, + <c>info_pkgs</c>, <c>info_vars</c>, <c>package.mask</c>, <c>use.desc</c> + </li> + <li> + Updates directory, <c>profiles/updates/</c> + <ul> + <li>Updates files, for example <c>profiles/updates/1Q-2005</c></li> + </ul> + </li> + <li> + Main profile cascade + </li> + </ul> + </li> + <li>Scripts directory, <c>scripts/</c></li> + <li> + Distfiles directory, <c>distfiles/</c>. This is not included in the main + CVS tree, but it will be found on most user systems. + </li> + <li> + Packages directory, <c>packages</c>. Again, this is found on user systems but not + in the main CVS tree. + </li> +</ul> +</body> + +<section> +<title>What Belongs in the Tree?</title> +<body> + +<p> +Things that do <b>not</b> belong in the tree: +</p> + +<ul> + <li>Large patches</li> + <li>Non-text files</li> + <li>Photos of teletubbies</li> + <li>Files whose name starts with a dot</li> +</ul> + +<p> +Software-wise, in general all of the following should be met in order for a package to be included in the tree: +</p> + +<dl> +<dt>Active, Cooperative Upstream</dt> +<dd> + <p> + If a package is undeveloped or unmaintained upstream, it can be extremely + difficult to get problems fixed. If a package does not have an active + upstream, the developers who add the package to the tree must ensure that + they are able to fix any issues which may arise. + </p> + <p> + Sometimes upstream may have a reason for not wanting their package included + in the tree. This should be respected. + </p> +</dd> + +<dt>Reasonably Stable</dt> +<dd> + <p> + Keep super-experimental things out of the tree. If you must commit them, + consider using ``package.mask`` until things calm down, or better yet make + them available as overlay ebuilds. + </p> +</dd> + +<dt>Reasonably Useful</dt> +<dd> + <p> + Don't feel obliged to include "Joe's '1337 XMMS Skinz Collection" or "Hans' + Super Cool Fast File System" in the tree just because a few users ask for + it. Stick to things that might actually be of use. + </p> +</dd> + +<dt>Properly Packaged</dt> +<dd> + <p> + If something is only available in live CVS or dodgy autopackage format, + don't include it until upstream can come up with a decent source package. + Similarly, avoid things that don't have a proper build system (where + relevant) -- these are very tricky to maintain. + </p> +</dd> + +<dt>Patching and Distribution Permitted</dt> +<dd> + <p> + If we can't patch packages as necessary ourselves, we end up relying + entirely upon upstream for support. This can be problematic, especially if + upstream are slow at fixing things. We don't want to be in the situation + where we can't stable a critical package because we're still waiting for a + closed-source vendor to get their act together. + </p> + + <p> + Similarly, not being able to mirror and distribute tarballs ourselves makes + us rely entirely upon upstream mirrors. Experience has shown that these are + often extremely unreliable, with files changing, moving or vanishing at + random. + </p> +</dd> + +<dt>Working Ebuilds</dt> +<dd> + <p> + If you don't have a <e>working</e> ebuild, don't include it. + </p> +</dd> + +<dt>Portable</dt> +<dd> + <p> + If software is unportable, it's generally because it's badly written. + Remember that although x86 has a market majority <e>now</e>, it probably won't in + the not too distant future once x86-64 catches on. + </p> +</dd> + +<dt>Reasonable Security Record</dt> +<dd> + <p> + Don't include software that has a terrible security record. Each + vulnerability is a <e>lot</e> of work for a lot of people (security teams, arch + teams and package maintainers). + </p> +</dd> +</dl> + +</body> +</section> + +</chapter> +</guide> |