summaryrefslogtreecommitdiffstats
path: root/documentation/dev-manual/dev-manual-common-tasks.xml
diff options
context:
space:
mode:
authorScott Rifenbark <srifenbark@gmail.com>2016-09-22 14:27:04 -0700
committerRichard Purdie <richard.purdie@linuxfoundation.org>2016-09-28 15:02:33 +0100
commit8a8349be290e9b13bc400013b094e05d3a716ecb (patch)
tree0327d89f98adc1428cb2d40d274da1f6dfad7fc0 /documentation/dev-manual/dev-manual-common-tasks.xml
parent1c594557f7369232ece6e7a2e471e9850a097fa7 (diff)
downloadpoky-8a8349be290e9b13bc400013b094e05d3a716ecb.tar.gz
ref-manual, dev-manual: Updates for "staging" discussion and variables.
Fixes [YOCTO #8631] These fixes cover the following: * New glossary entry for SYSROOT_DIRS * New glossary entry for SYSROOT_DIRS_NATIVE * New glossary entry for SYSROOT_DIRS_BLACKLIST * New section titled "Sharing Files Between Recipes" in the dev-manual's "Writing a New Recipe" section. (From yocto-docs rev: e541a3c8967f51b903d9dd7978009f4fa7c2f014) Signed-off-by: Scott Rifenbark <srifenbark@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'documentation/dev-manual/dev-manual-common-tasks.xml')
-rw-r--r--documentation/dev-manual/dev-manual-common-tasks.xml50
1 files changed, 50 insertions, 0 deletions
diff --git a/documentation/dev-manual/dev-manual-common-tasks.xml b/documentation/dev-manual/dev-manual-common-tasks.xml
index 3c2012cf19..5e77516144 100644
--- a/documentation/dev-manual/dev-manual-common-tasks.xml
+++ b/documentation/dev-manual/dev-manual-common-tasks.xml
@@ -2875,6 +2875,56 @@
2875 </para> 2875 </para>
2876 </section> 2876 </section>
2877 2877
2878 <section id='new-sharing-files-between-recipes'>
2879 <title>Sharing Files Between Recipes</title>
2880
2881 <para>
2882 Recipes often need to use files provided by other recipes on
2883 the build host.
2884 For example, an application linking to a common library needs
2885 access to the library itself and its associated headers.
2886 The way this access is accomplished is by populating sysroot
2887 with files.
2888 One sysroot exists per "machine" for which the image is
2889 being built.
2890 In practical terms, this means a sysroot exists for the target
2891 machine, and a sysroot exists for the build host.
2892 <note>
2893 You could find the term "staging" used within the Yocto
2894 project regarding files populating sysroot.
2895 The term "staging" was used for previous releases of
2896 the Yocto Project.
2897 </note>
2898 </para>
2899
2900 <para>
2901 Recipes should never populate the sysroot directly (i.e. write
2902 files into sysroot).
2903 Instead, files should be installed into standard locations
2904 during the
2905 <ulink url='&YOCTO_DOCS_REF_URL;#ref-tasks-install'><filename>do_install</filename></ulink>
2906 task within the
2907 <filename>${</filename><ulink url='&YOCTO_DOCS_REF_URL;#var-D'><filename>D</filename></ulink><filename>}</filename>
2908 directory.
2909 A subset of these files automatically populates the sysroot.
2910 The reason for this limitation is that almost all files that
2911 populate the sysroot are cataloged in manifests in order to
2912 ensure the files can be removed later when a recipe is either
2913 modified or removed.
2914 Thus, the sysroot is able to remain free from stale files.
2915 </para>
2916
2917 <para>
2918 For information on variables you can use to help control how
2919 files sysroot is populated, see the
2920 <ulink url='&YOCTO_DOCS_REF_URL;#var-SYSROOT_DIRS'><filename>SYSROOT_DIRS</filename></ulink>,
2921 <ulink url='&YOCTO_DOCS_REF_URL;#var-SYSROOT_DIRS_NATIVE'><filename>SYSROOT_DIRS_NATIVE</filename></ulink>,
2922 and
2923 <ulink url='&YOCTO_DOCS_REF_URL;#var-SYSROOT_DIRS_BLACKLIST'><filename>SYSROOT_DIRS_BLACKLIST</filename></ulink>
2924 variables.
2925 </para>
2926 </section>
2927
2878 <section id='properly-versioning-pre-release-recipes'> 2928 <section id='properly-versioning-pre-release-recipes'>
2879 <title>Properly Versioning Pre-Release Recipes</title> 2929 <title>Properly Versioning Pre-Release Recipes</title>
2880 2930