diff options
author | Scott Rifenbark <srifenbark@gmail.com> | 2017-04-13 10:18:33 -0700 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2017-04-18 15:51:44 +0100 |
commit | 3db33448592f737515289edef6ed25d407fd8039 (patch) | |
tree | b1d5e4cc2ca19d4827210f304c244506bfc74853 /documentation/ref-manual/ref-structure.xml | |
parent | 1fa1a7f174593e41b8bcf6c2f19565d6da44e991 (diff) | |
download | poky-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.xml | 118 |
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 | ||