diff options
author | Scott Rifenbark <scott.m.rifenbark@intel.com> | 2012-10-19 10:06:39 -0700 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2012-10-22 09:49:08 +0100 |
commit | 2889498dbbf7e6180be43093db3b991bb3011cce (patch) | |
tree | ea2325891c5f3ccb53d13aa73367a6275a22576a /documentation | |
parent | 50247c8f6e0e864266c468afe8537f7fd0a87890 (diff) | |
download | poky-2889498dbbf7e6180be43093db3b991bb3011cce.tar.gz |
documentation: poky-ref-manual - Updates to DEPENDS and RDEPENDS
Suggested changes to help clear up what the list of items
in each of these variables should be and how automatic
handling of libraries is dealt with.
Richard Purdie reviewed the changes.
(From yocto-docs rev: 53865f904d5d4675286419a57bbb9282edfc1d0b)
Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'documentation')
-rw-r--r-- | documentation/poky-ref-manual/ref-variables.xml | 86 |
1 files changed, 52 insertions, 34 deletions
diff --git a/documentation/poky-ref-manual/ref-variables.xml b/documentation/poky-ref-manual/ref-variables.xml index 69bb3d43dd..e411ceb9c0 100644 --- a/documentation/poky-ref-manual/ref-variables.xml +++ b/documentation/poky-ref-manual/ref-variables.xml | |||
@@ -435,9 +435,11 @@ | |||
435 | <glossentry id='var-DEPENDS'><glossterm>DEPENDS</glossterm> | 435 | <glossentry id='var-DEPENDS'><glossterm>DEPENDS</glossterm> |
436 | <glossdef> | 436 | <glossdef> |
437 | <para> | 437 | <para> |
438 | A list of build-time dependencies for a given recipe. | 438 | Lists a recipe's build-time dependencies |
439 | The variable indicates recipes that must have been staged before a | 439 | (i.e. other recipe files). |
440 | particular recipe can configure. | 440 | The system ensures that all the dependencies listed |
441 | have been built and have their contents in the appropriate | ||
442 | sysroots before the recipe's configure task is executed. | ||
441 | </para> | 443 | </para> |
442 | </glossdef> | 444 | </glossdef> |
443 | </glossentry> | 445 | </glossentry> |
@@ -2002,45 +2004,61 @@ recipes-graphics/xorg-font/font-alias_1.0.3.bb:PR = "${INC_PR}.3" | |||
2002 | <glossentry id='var-RDEPENDS'><glossterm>RDEPENDS</glossterm> | 2004 | <glossentry id='var-RDEPENDS'><glossterm>RDEPENDS</glossterm> |
2003 | <glossdef> | 2005 | <glossdef> |
2004 | <para> | 2006 | <para> |
2005 | A list of packages that must be installed as part of a package being built. | 2007 | Lists a package's run-time dependencies (i.e. other packages) |
2006 | The package being built has a runtime dependency on the packages in the | 2008 | that must be installed for the package to be built. |
2007 | variable's list. | 2009 | In other words, in order for the package to be built and |
2008 | In other words, in order for the package being built to run correctly, | 2010 | run correctly, it depends on the listed packages. |
2009 | it depends on these listed packages. | 2011 | If a package in this list cannot be found, it is probable |
2010 | If a package in this list cannot be found during the build, the build | 2012 | that a dependency error would occur before the build. |
2011 | will not complete. | ||
2012 | </para> | 2013 | </para> |
2014 | |||
2013 | <para> | 2015 | <para> |
2014 | Because the <filename>RDEPENDS</filename> variable applies to packages | 2016 | The names of the variables you list with |
2015 | being built, you should | 2017 | <filename>RDEPENDS</filename> must be the names of other |
2016 | always attach an override to the variable to specify the particular runtime package | 2018 | packages as listed in the |
2017 | that has the dependency. | 2019 | <link linkend='var-PACKAGES'><filename>PACKAGES</filename></link> |
2018 | For example, suppose you are building a development package that depends | 2020 | variable. |
2019 | on the <filename>perl</filename> package. | 2021 | You should not list recipe names (<filename>PN</filename>). |
2020 | In this case, you would use the following <filename>RDEPENDS</filename> | 2022 | </para> |
2021 | statement: | 2023 | |
2024 | <para> | ||
2025 | Because the <filename>RDEPENDS</filename> variable applies | ||
2026 | to packages being built, you should | ||
2027 | always attach a package name to the variable to specify the | ||
2028 | particular run-time package that has the dependency. | ||
2029 | For example, suppose you are building a development package | ||
2030 | that depends on the <filename>perl</filename> package. | ||
2031 | In this case, you would use the following | ||
2032 | <filename>RDEPENDS</filename> statement: | ||
2022 | <literallayout class='monospaced'> | 2033 | <literallayout class='monospaced'> |
2023 | RDEPENDS_${PN}-dev += "perl" | 2034 | RDEPENDS_${PN}-dev += "perl" |
2024 | </literallayout> | 2035 | </literallayout> |
2025 | In the example, the package name (<filename>${PN}-dev</filename>) must | 2036 | In the example, the package name |
2026 | appear as it would in the | 2037 | (<filename>${PN}-dev</filename>) must appear as it would |
2027 | <filename><link linkend='var-PACKAGES'>PACKAGES</link></filename> namespace before any | 2038 | in the |
2028 | renaming of the output package by classes like <filename>debian.bbclass</filename>. | 2039 | <filename><link linkend='var-PACKAGES'>PACKAGES</link></filename> |
2040 | namespace before any renaming of the output package by | ||
2041 | classes like <filename>debian.bbclass</filename>. | ||
2029 | </para> | 2042 | </para> |
2043 | |||
2030 | <para> | 2044 | <para> |
2031 | Some automatic handling occurs around the <filename>RDEPENDS</filename> | 2045 | In many cases you do not need to explicitly add dependencies |
2032 | variable: | 2046 | to <filename>RDEPENDS</filename> since some automatic |
2047 | handling occurs: | ||
2033 | <itemizedlist> | 2048 | <itemizedlist> |
2034 | <listitem><para><emphasis><filename>shlibdeps</filename></emphasis>: If a runtime | 2049 | <listitem><para><emphasis><filename>shlibdeps</filename></emphasis>: If |
2035 | package contains a shared library (<filename>.so</filename>), the build | 2050 | a run-time package contains a shared library |
2036 | processes the library in order to determine other libraries to which it | 2051 | (<filename>.so</filename>), the build |
2037 | is dynamically linked. | 2052 | processes the library in order to determine other |
2038 | The build process adds these libraries to <filename>RDEPENDS</filename> | 2053 | libraries to which it is dynamically linked. |
2039 | to create the runtime package.</para></listitem> | 2054 | The build process adds these libraries to |
2040 | <listitem><para><emphasis><filename>pcdeps</filename></emphasis>: If the package | 2055 | <filename>RDEPENDS</filename> when creating the run-time |
2041 | ships a <filename>pkg-config</filename> information file, the build process | 2056 | package.</para></listitem> |
2042 | uses this file to add items to the <filename>RDEPENDS</filename> | 2057 | <listitem><para><emphasis><filename>pcdeps</filename></emphasis>: If |
2043 | variable to create the runtime packages. | 2058 | the package ships a <filename>pkg-config</filename> |
2059 | information file, the build process uses this file | ||
2060 | to add items to the <filename>RDEPENDS</filename> | ||
2061 | variable to create the run-time packages. | ||
2044 | </para></listitem> | 2062 | </para></listitem> |
2045 | </itemizedlist> | 2063 | </itemizedlist> |
2046 | </para> | 2064 | </para> |