summaryrefslogtreecommitdiffstats
path: root/documentation
diff options
context:
space:
mode:
authorScott Rifenbark <scott.m.rifenbark@intel.com>2012-10-19 17:06:39 (GMT)
committerRichard Purdie <richard.purdie@linuxfoundation.org>2012-10-22 08:49:10 (GMT)
commit15b49e25dc554b7c865d324b7ea978d58a41eb43 (patch)
treea5e09178051131fa8da1eb1b6960a9667c108bed /documentation
parent4cce3e4abab65116ca968174e59a049438ec7385 (diff)
downloadpoky-15b49e25dc554b7c865d324b7ea978d58a41eb43.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.xml86
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 69bb3d4..e411ceb 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>