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>
This commit is contained in:
Scott Rifenbark 2016-09-21 14:50:48 -07:00 committed by Richard Purdie
parent 826383984d
commit ad539f5c15
1 changed files with 40 additions and 5 deletions

View File

@ -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>