Documentation: poky-ref-manual - Updates to WORKDIR structure

The file structure beneath WORKDIR has changed such that
PN and PV are now separate directories.  This affected several
areas in poky-ref-manual.

(From yocto-docs rev: 52b033c2c9e5aaa1f03072dd16c21a9d59a87150)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Scott Rifenbark 2012-12-10 18:39:59 -06:00 committed by Richard Purdie
parent 044a8f9e6a
commit 45915123a7
5 changed files with 30 additions and 25 deletions

View File

@ -570,7 +570,7 @@
By default, the <filename>B</filename> directory is set to the following, which is separate from the By default, the <filename>B</filename> directory is set to the following, which is separate from the
Source Directory (<filename>S</filename>): Source Directory (<filename>S</filename>):
<literallayout class='monospaced'> <literallayout class='monospaced'>
${WORKDIR}/${BPN}-{PV}/ ${WORKDIR}/${BPN}/{PV}/
</literallayout> </literallayout>
See the glossary entries for the See the glossary entries for the
<link linkend='var-WORKDIR'><filename>WORKDIR</filename></link>, <link linkend='var-WORKDIR'><filename>WORKDIR</filename></link>,

View File

@ -458,12 +458,15 @@
<title><filename>build/tmp/work/</filename></title> <title><filename>build/tmp/work/</filename></title>
<para> <para>
This directory contains architecture-specific work sub-directories for packages built by BitBake. This directory contains architecture-specific work sub-directories
All tasks execute from a work directory. for packages built by BitBake.
For example, the source for a particular package is unpacked, patched, configured and compiled all All tasks execute from the appropriate work directory.
within its own work directory. For example, the source for a particular package is unpacked,
Within the work directory, organization is based on the package group for which the source patched, configured and compiled all within its own work directory.
is being compiled. Within the work directory, organization is based on the package group
and version for which the source is being compiled
as defined by the
<link linkend='var-WORKDIR'><filename>WORKDIR</filename></link>.
</para> </para>
<para> <para>
@ -472,8 +475,9 @@
on the machine <filename>qemux86</filename> on the machine <filename>qemux86</filename>
built within the Yocto Project. built within the Yocto Project.
For this package, a work directory of For this package, a work directory of
<filename>tmp/work/qemux86-poky-linux/linux-yocto-3.0+git1+&lt;.....&gt;</filename>, <filename>tmp/work/qemux86-poky-linux/linux-yocto/3.0+git1+&lt;.....&gt;</filename>,
referred to as <filename><link linkend='var-WORKDIR'>WORKDIR</link></filename>, is created. referred to as the
<filename><link linkend='var-WORKDIR'>WORKDIR</link></filename>, is created.
Within this directory, the source is unpacked to Within this directory, the source is unpacked to
<filename>linux-qemux86-standard-build</filename> and then patched by Quilt <filename>linux-qemux86-standard-build</filename> and then patched by Quilt
(see the (see the
@ -486,13 +490,14 @@
</para> </para>
<para> <para>
There are other directories generated within WORKDIR. There are other directories generated within <filename>WORKDIR</filename>.
The most important directory is WORKDIR<filename>/temp/</filename>, which has log files for each The most important directory is <filename>WORKDIR/temp/</filename>,
task (<filename>log.do_*.pid</filename>) and contains the scripts BitBake runs for which has log files for each task (<filename>log.do_*.pid</filename>)
each task (<filename>run.do_*.pid</filename>). and contains the scripts BitBake runs for each task
The WORKDIR<filename>/image/</filename> directory is where "make (<filename>run.do_*.pid</filename>).
The <filename>WORKDIR/image/</filename> directory is where "make
install" places its output that is then split into sub-packages install" places its output that is then split into sub-packages
within WORKDIR<filename>/packages-split/</filename>. within <filename>WORKDIR/packages-split/</filename>.
</para> </para>
</section> </section>
</section> </section>

View File

@ -99,7 +99,7 @@
By default, this directory is the same as the <link linkend='var-S'><filename>S</filename></link> By default, this directory is the same as the <link linkend='var-S'><filename>S</filename></link>
directory: directory:
<literallayout class='monospaced'> <literallayout class='monospaced'>
B = ${WORKDIR}/${BPN}-{PV}/ B = ${WORKDIR}/${BPN}/{PV}/
</literallayout> </literallayout>
You can separate the (<filename>S</filename>) directory and the directory pointed to You can separate the (<filename>S</filename>) directory and the directory pointed to
by the <filename>B</filename> variable. by the <filename>B</filename> variable.
@ -2450,7 +2450,7 @@ recipes-graphics/xorg-font/font-alias_1.0.3.bb:PR = "${INC_PR}.3"
package version (<filename><link linkend='var-PV'>PV</link></filename>) as package version (<filename><link linkend='var-PV'>PV</link></filename>) as
follows: follows:
<literallayout class='monospaced'> <literallayout class='monospaced'>
${WORKDIR}/${PN}-${PV} ${WORKDIR}/${PN}/${PV}
</literallayout> </literallayout>
As an example, assume a As an example, assume a
<ulink url='&YOCTO_DOCS_DEV_URL;#source-directory'>Source Directory</ulink> top-level <ulink url='&YOCTO_DOCS_DEV_URL;#source-directory'>Source Directory</ulink> top-level
@ -2460,7 +2460,7 @@ recipes-graphics/xorg-font/font-alias_1.0.3.bb:PR = "${INC_PR}.3"
In this case, the working directory the build system uses to build In this case, the working directory the build system uses to build
the <filename>db</filename> package is the following: the <filename>db</filename> package is the following:
<literallayout class='monospaced'> <literallayout class='monospaced'>
~/poky/build/tmp/work/qemux86-poky-linux/db-5.1.19-r3/db-5.1.19 ~/poky/build/tmp/work/qemux86-poky-linux/db/5.1.19-r3/db-5.1.19
</literallayout> </literallayout>
</para> </para>
</glossdef> </glossdef>
@ -2967,7 +2967,7 @@ recipes-graphics/xorg-font/font-alias_1.0.3.bb:PR = "${INC_PR}.3"
For packages that are not dependent on a particular machine, For packages that are not dependent on a particular machine,
<filename>WORKDIR</filename> is defined as follows: <filename>WORKDIR</filename> is defined as follows:
<literallayout class='monospaced'> <literallayout class='monospaced'>
${TMPDIR}/work/${PACKAGE_ARCH}-poky-${TARGET_OS}/${PN}-${PV}-${PR} ${TMPDIR}/work/${PACKAGE_ARCH}-poky-${TARGET_OS}/${PN}/${PV}-${PR}
</literallayout> </literallayout>
As an example, assume a As an example, assume a
<ulink url='&YOCTO_DOCS_DEV_URL;#source-directory'>Source Directory</ulink> top-level <ulink url='&YOCTO_DOCS_DEV_URL;#source-directory'>Source Directory</ulink> top-level
@ -2977,7 +2977,7 @@ recipes-graphics/xorg-font/font-alias_1.0.3.bb:PR = "${INC_PR}.3"
In this case, the working directory the build system uses to build In this case, the working directory the build system uses to build
the <filename>v86d</filename> package is the following: the <filename>v86d</filename> package is the following:
<literallayout class='monospaced'> <literallayout class='monospaced'>
~/poky/build/tmp/work/qemux86-poky-linux/v86d-01.9-r0 ~/poky/build/tmp/work/qemux86-poky-linux/v86d/01.9-r0
</literallayout> </literallayout>
</para> </para>
@ -2985,7 +2985,7 @@ recipes-graphics/xorg-font/font-alias_1.0.3.bb:PR = "${INC_PR}.3"
For packages that are dependent on a particular machine, <filename>WORKDIR</filename> For packages that are dependent on a particular machine, <filename>WORKDIR</filename>
is defined slightly different: is defined slightly different:
<literallayout class='monospaced'> <literallayout class='monospaced'>
${TMPDIR}/work/${MACHINE}-poky-${TARGET_OS}/${PN}-${PV}-${PR} ${TMPDIR}/work/${MACHINE}-poky-${TARGET_OS}/${PN}/${PV}-${PR}
</literallayout> </literallayout>
As an example, again assume a Source Directory top-level folder As an example, again assume a Source Directory top-level folder
named <filename>poky</filename> and a default Build Directory named <filename>poky</filename> and a default Build Directory
@ -2994,7 +2994,7 @@ recipes-graphics/xorg-font/font-alias_1.0.3.bb:PR = "${INC_PR}.3"
the <filename>acl</filename> recipe, which is being built for a the <filename>acl</filename> recipe, which is being built for a
MIPS-based device, is the following: MIPS-based device, is the following:
<literallayout class='monospaced'> <literallayout class='monospaced'>
~/poky/build/tmp/work/mips-poky-linux/acl-2.2.51-r2 ~/poky/build/tmp/work/mips-poky-linux/acl/2.2.51-r2
</literallayout> </literallayout>
</para> </para>
</glossdef> </glossdef>

View File

@ -236,7 +236,7 @@
To complicate the problem, there are things that should not be included in To complicate the problem, there are things that should not be included in
the checksum. the checksum.
First, there is the actual specific build path of a given task - First, there is the actual specific build path of a given task -
the <filename>WORKDIR</filename>. the <link linkend='var-WORKDIR'><filename>WORKDIR</filename></link>.
It does not matter if the working directory changes because it should not It does not matter if the working directory changes because it should not
affect the output for target packages. affect the output for target packages.
Also, the build process has the objective of making native/cross packages relocatable. Also, the build process has the objective of making native/cross packages relocatable.
@ -391,7 +391,7 @@
<para> <para>
There are two types of output, one is just about creating a directory There are two types of output, one is just about creating a directory
in <filename>WORKDIR</filename>. in <link linkend='var-WORKDIR'><filename>WORKDIR</filename></link>.
A good example is the output of either <filename>do_install</filename> or A good example is the output of either <filename>do_install</filename> or
<filename>do_package</filename>. <filename>do_package</filename>.
The other type of output occurs when a set of data is merged into a shared directory The other type of output occurs when a set of data is merged into a shared directory

View File

@ -123,7 +123,7 @@
<filename>${WORKDIR}/temp/log.do_taskname.pid</filename>. <filename>${WORKDIR}/temp/log.do_taskname.pid</filename>.
For example, the <filename>compile</filename> task for the QEMU minimal image for the x86 For example, the <filename>compile</filename> task for the QEMU minimal image for the x86
machine (<filename>qemux86</filename>) might be machine (<filename>qemux86</filename>) might be
<filename>tmp/work/qemux86-poky-linux/core-image-minimal-1.0-r0/temp/log.do_compile.20830</filename>. <filename>tmp/work/qemux86-poky-linux/core-image-minimal/1.0-r0/temp/log.do_compile.20830</filename>.
To see what BitBake runs to generate that log, look at the corresponding To see what BitBake runs to generate that log, look at the corresponding
<filename>run.do_taskname.pid</filename> file located in the same directory. <filename>run.do_taskname.pid</filename> file located in the same directory.
</para> </para>