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 | ||
