Bug 10295 - Suggested documentation for the 'depchains' automatic dependency mechanism
Summary: Suggested documentation for the 'depchains' automatic dependency mechanism
Status: RESOLVED FIXED
Alias: None
Product: Reference
Classification: Documentation
Component: handbook (show other bugs)
Version: 2.2
Hardware: x86 Multiple
: Medium normal
Target Milestone: 2.2 M4
Assignee: Scott Rifenbark
QA Contact:
URL:
Whiteboard: 22 Sept 2016: RESOLVED
Depends on:
Blocks:
 
Reported: 2016-09-17 03:06 UTC by ulfalizer
Modified: 2016-09-22 23:09 UTC (History)
5 users (show)

See Also:
OS type for building Yocto: ---
Type of Regression: ---
Verified:
Documentation change: Done (doc changes complete)


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description ulfalizer 2016-09-17 03:06:48 UTC
Hello,

I just discovered that there's one more mechanism that automatically adds
dependencies between packages, called 'depchains'. Here's a suggested
documentation change to '4.4. Automatically Added Runtime Dependencies'
to document it.

The introductory paragraph is changed to mention 'depchains', and a new bullet
is added to document it:

  The OpenEmbedded build system automatically adds common types of runtime
  dependencies between packages, which means that you do not need to explicitly
  declare the packages using RDEPENDS. Three automatic mechanisms exist
  (shlibdeps, pcdeps, and depchains) that handle shared libraries, package
  configuration (pkg-config) modules, and -dev and -dbg packages, respectively.
  For other types of runtime dependencies, you must manually declare the
  dependencies. 
  
    * shlibdeps: ...
  
    * pcdeps: ...
  
    * depchains: If a package foo depends on a package bar, then foo-dev and
      foo-dbg are also made to depend on bar-dev and bar-dbg, respectively.
      Taking the -dev packages as an example, the bar-dev package might provide
      headers and shared library symlinks needed by foo-dev, which shows the need
      for a dependency between the packages.
  
      The dependencies added by depchains are in the form of [RRECOMMENDS].
  
      Note {
      By default, foo-dev also has an RDEPENDS-style dependency on foo, because
      the default value of RDEPENDS_${PN}-dev (set in bitbake.conf) includes
      "${PN}".
      }
  
      To ensure that the dependency chain is never broken, -dev and -dbg packages
      are always generated by default, even if the packages turn out empty. See
      [ALLOW_EMPTY].


Cheers,
Ulf
Comment 1 ulfalizer 2016-09-17 03:10:57 UTC
Don't get frightened by the flood of documentation bugs btw. I usually stagger them, but I'll be moving soon, so I'm just dumping everything I have to get it off my chest. It should slow down once I get caught up in IRL administrivia. :P

I realize you have a lot of other stuff to do with the upcoming 2.2 release, so don't worry about getting the changes in quickly.

Cheers,
Ulf
Comment 2 Scott Rifenbark 2016-09-21 21:53:52 UTC
Ulf, 

See http://www.yoctoproject.org/docs/2.2/ref-manual/ref-manual.html#automatically-added-runtime-dependencies.

Don't worry about the bug flood... I prioritize as I need to :)  Appreciate your efforts in making the manuals better. 

Thanks, 
Scott
Comment 3 ulfalizer 2016-09-22 05:09:01 UTC
Looks good to me. Thanks for putting up with me. ;)

Cheers,
Ulf
Comment 4 Scott Rifenbark 2016-09-22 23:09:46 UTC
Ulf, 

Thanks - setting to RESOLVED and putting the doc flag to "done."

Scott