aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorUlrich Müller <ulm@gentoo.org>2020-04-15 20:23:47 +0200
committerUlrich Müller <ulm@gentoo.org>2020-05-09 13:06:19 +0200
commitbe93eaeb521f18b0f8b563accd1d2b398bb87b02 (patch)
tree15aa4b44dede37ea3f3bf359ccc6d149851ea505
parentappendices/contributing: We call it the DevBook XML Guide now. (diff)
downloaddevmanual-be93eaeb521f18b0f8b563accd1d2b398bb87b02.tar.gz
devmanual-be93eaeb521f18b0f8b563accd1d2b398bb87b02.tar.bz2
devmanual-be93eaeb521f18b0f8b563accd1d2b398bb87b02.zip
general-concepts/dependencies: Better section structure.
Collect similar topics as subsections under new section headers. Signed-off-by: Ulrich Müller <ulm@gentoo.org>
-rw-r--r--general-concepts/dependencies/text.xml114
1 files changed, 60 insertions, 54 deletions
diff --git a/general-concepts/dependencies/text.xml b/general-concepts/dependencies/text.xml
index 1a1d970..52d053e 100644
--- a/general-concepts/dependencies/text.xml
+++ b/general-concepts/dependencies/text.xml
@@ -2,16 +2,19 @@
<guide self="general-concepts/dependencies/">
<chapter>
<title>Dependencies</title>
-
<body>
<p>
Automatic dependency resolution is one of the most useful features
provided by <c>emerge</c>.
</p>
+
</body>
<section>
+<title>Dependency types</title>
+
+<subsection>
<title>CHOST vs CBUILD</title>
<body>
@@ -41,9 +44,9 @@ of dependencies are merged.
</p>
</body>
-</section>
+</subsection>
-<section>
+<subsection>
<title>Build Dependencies</title>
<body>
@@ -67,9 +70,9 @@ In earlier EAPIs, all build dependencies are placed in <c>DEPEND</c>.
</p>
</body>
-</section>
+</subsection>
-<section>
+<subsection>
<title>Runtime Dependencies</title>
<body>
@@ -91,9 +94,9 @@ Items which are in <c>RDEPEND</c> but not <c>DEPEND</c> could <e>in theory</e> b
</p>
</body>
-</section>
+</subsection>
-<section>
+<subsection>
<title>Post Dependencies</title>
<body>
@@ -105,39 +108,13 @@ while in general case <c>RDEPEND</c> should be used instead.
</p>
</body>
+</subsection>
</section>
<section>
-<title>Implicit System Dependency</title>
-<body>
+<title>Dependency Syntax</title>
-<p>
-All packages have an implicit compile-time and runtime dependency upon the
-entire <c>@system</c> set. It is therefore not necessary, nor
-advisable, to
-specify dependencies upon toolchain packages like <c>gcc</c>, <c>libc</c> and
-so on, except where specific versions or packages (for example, <c>glibc</c>
-over <c>uclibc</c>) are required. Note that this rule also needs consideration
-for packages like <c>flex</c>, <c>zlib</c> and <c>libtool</c>, which aren't in
-the <c>@system</c> set for every profile. For example, the embedded
-profile doesn't have <c>zlib</c> in <c>@system</c>, the <c>libtool</c>
-ABI might
-change and break building order and <c>flex</c> might get removed from the
-<c>@system</c> set in future.
-</p>
-
-<p>
-However, packages which are included in the <c>@system</c> set, or are
-dependencies of <c>@system</c> set packages, should generally include
-a complete dependency list (excluding bootstrap packages). This makes
-<c>emerge -e @system</c>
-possible when installing from a stage 1 or stage 2 tarball.
-</p>
-
-</body>
-</section>
-
-<section>
+<subsection>
<title>Basic Dependency Syntax</title>
<body>
@@ -159,9 +136,9 @@ When specifying names, the category part should be treated as mandatory.
</p>
</body>
-</section>
+</subsection>
-<section>
+<subsection>
<title>Version Dependencies</title>
<body>
@@ -179,7 +156,7 @@ This states that at least version 0.9.7d of <c>openssl</c> is required.
</p>
</body>
-<subsection>
+<subsubsection>
<title>Version Specifiers</title>
<body>
@@ -222,9 +199,9 @@ Available version specifiers are:
</table>
</body>
-</subsection>
+</subsubsection>
-<subsection>
+<subsubsection>
<title>Ranged Dependencies</title>
<body>
@@ -244,9 +221,9 @@ asterisk. Also note that when selecting all versions in a specific
</p>
</body>
-</subsection>
+</subsubsection>
-<subsection>
+<subsubsection>
<title>Blockers</title>
<body>
@@ -343,10 +320,10 @@ newer package that caused the issues.
</p>
</body>
+</subsubsection>
</subsection>
-</section>
-<section>
+<subsection>
<title>SLOT Dependencies</title>
<body>
@@ -370,7 +347,7 @@ DEPEND="qt3? ( ~x11-libs/qt-3.3.8:3 )
</codesample>
</body>
-<subsection>
+<subsubsection>
<title>Slot Operators</title>
<body>
@@ -407,10 +384,10 @@ RDEPEND="media-libs/cogl:1.0=
</codesample>
</body>
+</subsubsection>
</subsection>
-</section>
-<section>
+<subsection>
<title>USE-Conditional Dependencies</title>
<body>
@@ -464,9 +441,9 @@ DEPEND="!build? (
</codesample>
</body>
-</section>
+</subsection>
-<section>
+<subsection>
<title>Any of Many Dependencies</title>
<body>
@@ -487,7 +464,7 @@ DEPEND="baz? ( || ( app-misc/foo app-misc/bar ) )"
</codesample>
</body>
-<subsection>
+<subsubsection>
<title>Any of Many Versus USE</title>
<body>
@@ -509,10 +486,10 @@ flag is not necessary if and only if all of the following hold:
</ul>
</body>
+</subsubsection>
</subsection>
-</section>
-<section>
+<subsection>
<title>Built with USE Dependencies</title>
<body>
@@ -567,7 +544,7 @@ There are also shortcuts for conditional situations:
</table>
</body>
-<subsection>
+<subsubsection>
<title>Use dependency defaults</title>
<body>
@@ -592,10 +569,39 @@ DEPEND="
</codesample>
</body>
+</subsubsection>
</subsection>
</section>
<section>
+<title>Implicit System Dependency</title>
+<body>
+
+<p>
+All packages have an implicit compile-time and runtime dependency upon the
+entire <c>@system</c> set. It is therefore not necessary, nor advisable, to
+specify dependencies upon toolchain packages like <c>gcc</c>, <c>libc</c> and
+so on, except where specific versions or packages (for example, <c>glibc</c>
+over <c>uclibc</c>) are required. Note that this rule also needs consideration
+for packages like <c>flex</c>, <c>zlib</c> and <c>libtool</c>, which aren't in
+the <c>@system</c> set for every profile. For example, the embedded profile
+doesn't have <c>zlib</c> in <c>@system</c>, the <c>libtool</c> ABI might
+change and break building order and <c>flex</c> might get removed from the
+<c>@system</c> set in future.
+</p>
+
+<p>
+However, packages which are included in the <c>@system</c> set, or are
+dependencies of <c>@system</c> set packages, should generally include
+a complete dependency list (excluding bootstrap packages). This makes
+<c>emerge -e @system</c> possible when installing from a stage 1 or stage 2
+tarball.
+</p>
+
+</body>
+</section>
+
+<section>
<title>Test Dependencies</title>
<body>