summaryrefslogtreecommitdiffstats
path: root/documentation/ref-manual/ref-structure.xml
diff options
context:
space:
mode:
authorScott Rifenbark <srifenbark@gmail.com>2017-04-13 10:18:33 -0700
committerRichard Purdie <richard.purdie@linuxfoundation.org>2017-04-18 15:51:44 +0100
commit3db33448592f737515289edef6ed25d407fd8039 (patch)
treeb1d5e4cc2ca19d4827210f304c244506bfc74853 /documentation/ref-manual/ref-structure.xml
parent1fa1a7f174593e41b8bcf6c2f19565d6da44e991 (diff)
downloadpoky-3db33448592f737515289edef6ed25d407fd8039.tar.gz
ref-manual, dev-manual: Updates to support recipe-specific sysroots
Changes covered several areas. Version 2.3 of the YP now supports recipe-specific sysroots and is not limited to machine-specific as was prior releases. Manual changes were as follows: dev-manual: "Sharing Files Between Recipes" - Wordings were changed to support the new functionality. ref-manual: do_prepare_recipe_sysroot task added to the list of tasks described in "Configuration and Compilation". ref-manual: Extensive re-write of the "staging.bbclass" section. ref-manual: Added a section to the build structure for build/tmp/work/tunearch/recipename/version/. This section breaks down the recipe-specific subdirectories used to create (stage) the sysroot. ref-manual: New section (entry) for the do_prepare_recipe_sysroot task in the task chapter. ref-manual: Added a variable glossary description for the SSTATE_SCAN_FILES variable. In addition to these changes, I sprinkled in a liberal amount of cross-referencing for the readers pleasure. (From yocto-docs rev: 3a8ca96861f4c5d3badb91d0cdc5a3df513d4e59) Signed-off-by: Scott Rifenbark <srifenbark@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'documentation/ref-manual/ref-structure.xml')
-rw-r--r--documentation/ref-manual/ref-structure.xml118
1 files changed, 113 insertions, 5 deletions
diff --git a/documentation/ref-manual/ref-structure.xml b/documentation/ref-manual/ref-structure.xml
index 541a47e556..b0c4bfeaa4 100644
--- a/documentation/ref-manual/ref-structure.xml
+++ b/documentation/ref-manual/ref-structure.xml
@@ -801,11 +801,24 @@
801 <title><filename>build/tmp/sysroots/</filename></title> 801 <title><filename>build/tmp/sysroots/</filename></title>
802 802
803 <para> 803 <para>
804 This directory contains shared header files and libraries as well as other shared 804 Previous versions of the OpenEmbedded build system used to
805 data. 805 create a global shared sysroot per machine along with a native
806 Packages that need to share output with other packages do so within this directory. 806 sysroot.
807 The directory is subdivided by architecture so multiple builds can run within 807 Beginning with the &DISTRO; version of the Yocto Project,
808 the one Build Directory. 808 sysroots exist in recipe-specific
809 <link linkend='var-WORKDIR'><filename>WORKDIR</filename></link>
810 directories.
811 Thus, the <filename>build/tmp/sysroots/</filename> directory
812 is unused.
813 <note>
814 The <filename>build/tmp/sysroots/</filename> directory
815 can still be populated using the
816 <filename>bitbake build-sysroots</filename> command and can
817 be used for compatibility in some cases.
818 However, in general it is not recommended to populate
819 this directory.
820 Individual recipe-specific sysroots should be used.
821 </note>
809 </para> 822 </para>
810 </section> 823 </section>
811 824
@@ -894,6 +907,101 @@
894 </para> 907 </para>
895 </section> 908 </section>
896 909
910 <section id='structure-build-tmp-work-tunearch-recipename-version'>
911 <title><filename>build/tmp/work/<replaceable>tunearch</replaceable>/<replaceable>recipename</replaceable>/<replaceable>version</replaceable>/</filename></title>
912
913 <para>
914 The recipe work directory (<replaceable>recipe_work_directory</replaceable>).
915 </para>
916
917 <para>
918 As described earlier in the
919 "<link linkend='structure-build-tmp-sysroots'><filename>build/tmp/sysroots/</filename></link>"
920 section, beginning with the &DISTRO; release of the Yocto
921 Project, the OpenEmbedded build system builds each recipe in its
922 own work directory (i.e.
923 <link linkend='var-WORKDIR'><filename>WORKDIR</filename></link>).
924 The path to the work directory is constructed using the
925 architecture of the given build (e.g.
926 <link linkend='var-TUNE_PKGARCH'><filename>TUNE_PKGARCH</filename></link>,
927 <link linkend='var-MACHINE_ARCH'><filename>MACHINE_ARCH</filename></link>,
928 or "allarch"), the recipe name, and the version of the recipe (i.e.
929 <link linkend='var-PE'><filename>PE</filename></link><filename>:</filename><link linkend='var-PV'><filename>PV</filename></link><filename>-</filename><link linkend='var-PR'><filename>PR</filename></link>).
930 </para>
931
932 <para>
933 A number of key subdirectories exist within each recipe
934 work directory:
935 <itemizedlist>
936 <listitem><para>
937 <filename><replaceable>recipe_work_directory</replaceable>/temp</filename>:
938 Contains the log files of each task executed for this
939 recipe, the "run" files for each executed task, which
940 contain the code run, and a
941 <filename>log.task_order</filename> file, which lists the
942 order in which tasks were executed.
943 </para></listitem>
944 <listitem><para>
945 <filename><replaceable>recipe_work_directory</replaceable>/image</filename>:
946 Contains the output of the
947 <link linkend='ref-tasks-install'><filename>do_install</filename></link>
948 task, which corresponds to the
949 <filename>${</filename><link linkend='var-D'><filename>D</filename></link><filename>}</filename>
950 variable in that task.
951 </para></listitem>
952 <listitem><para>
953 <filename><replaceable>recipe_work_directory</replaceable>/pseudo</filename>:
954 Contains the pseudo database and log for any tasks executed
955 under pseudo for the recipe.
956 </para></listitem>
957 <listitem><para>
958 <filename><replaceable>recipe_work_directory</replaceable>/sysroot-destdir</filename>:
959 Contains the output of the
960 <link linkend='ref-tasks-populate_sysroot'><filename>do_populate_sysroot</filename></link>
961 task.
962 </para></listitem>
963 <listitem><para>
964 <filename><replaceable>recipe_work_directory</replaceable>/package</filename>:
965 Contains the output of the
966 <link linkend='ref-tasks-package'><filename>do_package</filename></link>
967 task before the output is split into individual packages.
968 </para></listitem>
969 <listitem><para>
970 <filename><replaceable>recipe_work_directory</replaceable>/packages-split</filename>:
971 Contains the output of the <filename>do_package</filename>
972 task after the output has been split into individual
973 packages.
974 Subdirectories exist for each individual package created
975 by the recipe.
976 </para></listitem>
977 <listitem><para>
978 <filename><replaceable>recipe_work_directory</replaceable>/recipe-sysroot</filename>:
979 A directory populated with the target dependencies of the
980 recipe.
981 This directory looks like the target filesystem and
982 contains libraries that the recipe might need to link
983 against (e.g. the C library).
984 </para></listitem>
985 <listitem><para>
986 <filename><replaceable>recipe_work_directory</replaceable>/recipe-sysroot-native</filename>:
987 A directory populated with the native dependencies of the
988 recipe.
989 This directory contains the tools the recipe needs to build
990 (e.g. the compiler, Autoconf, libtool, and so forth).
991 </para></listitem>
992 <listitem><para>
993 <filename><replaceable>recipe_work_directory</replaceable>/build</filename>:
994 This subdirectory applies only to recipes that support
995 builds where the source is separate from the
996 build artifacts.
997 The OpenEmbedded build system uses this directory as a
998 separate build directory (i.e.
999 <filename>${</filename><link linkend='var-B'><filename>B</filename></link><filename>}</filename>).
1000 </para></listitem>
1001 </itemizedlist>
1002 </para>
1003 </section>
1004
897 <section id='structure-build-work-shared'> 1005 <section id='structure-build-work-shared'>
898 <title><filename>build/tmp/work-shared/</filename></title> 1006 <title><filename>build/tmp/work-shared/</filename></title>
899 1007