diff options
author | Scott Rifenbark <srifenbark@gmail.com> | 2016-09-21 14:50:48 -0700 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2016-09-28 15:02:32 +0100 |
commit | ad539f5c156aa004c1a5f42bc22f27cadeda7ad4 (patch) | |
tree | 2c80d7f673ae19631a2167d36e3641d2d3fa0c47 /documentation | |
parent | 826383984d5b4d8ca5c3a7bbcf4bcc0d4a5b55d8 (diff) | |
download | openembedded-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>
Diffstat (limited to 'documentation')
-rw-r--r-- | documentation/ref-manual/technical-details.xml | 45 |
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> |