aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorScott Rifenbark <srifenbark@gmail.com>2016-09-21 14:50:48 -0700
committerRichard Purdie <richard.purdie@linuxfoundation.org>2016-09-28 15:02:32 +0100
commitad539f5c156aa004c1a5f42bc22f27cadeda7ad4 (patch)
tree2c80d7f673ae19631a2167d36e3641d2d3fa0c47
parent826383984d5b4d8ca5c3a7bbcf4bcc0d4a5b55d8 (diff)
downloadopenembedded-core-contrib-ad539f5c156aa004c1a5f42bc22f27cadeda7ad4.tar.gz
ref-manual: Added 'depchains' description for auto dep. mech.
Fixes [YOCTO #10295] Added a third item to the list of mechanisms in the "Automatically Added Runtime Dependencies" section. The new mechanism is depchains. (From yocto-docs rev: 304fe159bfbd426b8b42e1245db83ee57b9e5588) Signed-off-by: Scott Rifenbark <srifenbark@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--documentation/ref-manual/technical-details.xml45
1 files changed, 40 insertions, 5 deletions
diff --git a/documentation/ref-manual/technical-details.xml b/documentation/ref-manual/technical-details.xml
index 558af87d91..9bb09fb948 100644
--- a/documentation/ref-manual/technical-details.xml
+++ b/documentation/ref-manual/technical-details.xml
@@ -984,12 +984,14 @@
<para>
The OpenEmbedded build system automatically adds common types of
- runtime dependencies between packages, which means you do not need to
- explicitly declare the packages using
+ runtime dependencies between packages, which means that you do not
+ need to explicitly declare the packages using
<link linkend='var-RDEPENDS'><filename>RDEPENDS</filename></link>.
- Two automatic mechanisms exist (<filename>shlibdeps</filename> and
- <filename>pcdeps</filename>) that handle shared libraries and
- package configuration (pkg-config) modules, respectively.
+ Three automatic mechanisms exist (<filename>shlibdeps</filename>,
+ <filename>pcdeps</filename>, and <filename>depchains</filename>) that
+ handle shared libraries, package configuration (pkg-config) modules,
+ and <filename>-dev</filename> and <filename>-dbg</filename> packages,
+ respectively.
For other types of runtime dependencies, you must manually declare
the dependencies.
<itemizedlist>
@@ -1071,6 +1073,39 @@
dependencies between <filename>-dev</filename> packages.
</note>
</para></listitem>
+ <listitem><para>
+ <filename>depchains</filename>:
+ If a package <filename>foo</filename> depends on a package
+ <filename>bar</filename>, then <filename>foo-dev</filename>
+ and <filename>foo-dbg</filename> are also made to depend on
+ <filename>bar-dev</filename> and <filename>bar-dbg</filename>,
+ respectively.
+ Taking the <filename>-dev</filename> packages as an example,
+ the <filename>bar-dev</filename> package might provide
+ headers and shared library symlinks needed by
+ <filename>foo-dev</filename>, which shows the need
+ for a dependency between the packages.</para>
+
+ <para>The dependencies added by <filename>depchains</filename>
+ are in the form of
+ <link linkend='var-RRECOMMENDS'><filename>RRECOMMENDS</filename></link>.
+ <note>
+ By default, <filename>foo-dev</filename> also has an
+ <filename>RDEPENDS</filename>-style dependency on
+ <filename>foo</filename>, because the default value of
+ <filename>RDEPENDS_${PN}-dev</filename> (set in
+ <filename>bitbake.conf</filename>) includes
+ "${PN}".
+ </note></para>
+
+ <para>To ensure that the dependency chain is never broken,
+ <filename>-dev</filename> and <filename>-dbg</filename>
+ packages are always generated by default, even if the packages
+ turn out to be empty.
+ See the
+ <link linkend='var-ALLOW_EMPTY'><filename>ALLOW_EMPTY</filename></link>
+ variable for more information.
+ </para></listitem>
</itemizedlist>
</para>