[gnome-continuous-yocto/gnomeostree-3.28-rocko: 2728/8267] ref-manual: Added 'depchains' description for auto dep. mech.



commit ad539f5c156aa004c1a5f42bc22f27cadeda7ad4
Author: Scott Rifenbark <srifenbark gmail com>
Date:   Wed Sep 21 14:50:48 2016 -0700

    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>

 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 558af87..9bb09fb 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>
 


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]