dev-manual: Updated the section that describes finding source code.

I changed the description to match that which is used in the
WORKDIR variable.

(From yocto-docs rev: 7d9071c2bb99e7c3f3eeae9ddf0abc34563c6725)

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 2014-01-21 10:23:57 -06:00 committed by Richard Purdie
parent 76240de551
commit 0fa214421a
1 changed files with 31 additions and 43 deletions

View File

@ -1662,58 +1662,46 @@
<para>
The path to the work directory for the recipe
(<ulink url='&YOCTO_DOCS_REF_URL;#var-WORKDIR'><filename>WORKDIR</filename></ulink>) depends
on the recipe name and the architecture of the target device.
For example, here is the work directory for recipes and resulting packages that are
not device-dependent:
(<ulink url='&YOCTO_DOCS_REF_URL;#var-WORKDIR'><filename>WORKDIR</filename></ulink>)
is defined as follows:
<literallayout class='monospaced'>
${TMPDIR}/work/${PACKAGE_ARCH}-poky-${TARGET_OS}/${PN}/${EXTENDPE}${PV}-${PR}
</literallayout>
Let's look at an example without variables.
Assuming a top-level <link linkend='source-directory'>Source Directory</link>
named <filename>poky</filename>
and a default Build Directory of <filename>poky/build</filename>,
the following is the work directory for the <filename>acl</filename> recipe that
creates the <filename>acl</filename> package:
<literallayout class='monospaced'>
poky/build/tmp/work/i586-poky-linux/acl/2.2.51-r3/
${TMPDIR}/work/${MULTIMACH_TARGET_SYS}/${PN}/${EXTENDPE}${PV}-${PR}
</literallayout>
The actual directory depends on several things:
<itemizedlist>
<listitem><ulink url='&YOCTO_DOCS_REF_URL;#var-TMPDIR'><filename>TMPDIR</filename></ulink>:
The top-level build output directory</listitem>
<listitem><ulink url='&YOCTO_DOCS_REF_URL;#var-MULTIMACH_TARGET_SYS'><filename>MULTIMACH_TARGET_SYS</filename></ulink>:
The target system identifier</listitem>
<listitem><ulink url='&YOCTO_DOCS_REF_URL;#var-PN'><filename>PN</filename></ulink>:
The recipe name</listitem>
<listitem><ulink url='&YOCTO_DOCS_REF_URL;#var-EXTENDPE'><filename>EXTENDPE</filename></ulink>:
The epoch - (if
<ulink url='&YOCTO_DOCS_REF_URL;#var-PE'><filename>PE</filename></ulink>
is not specified, which is usually the case for most
recipes, then <filename>EXTENDPE</filename> is blank)</listitem>
<listitem><ulink url='&YOCTO_DOCS_REF_URL;#var-PV'><filename>PV</filename></ulink>:
The recipe version</listitem>
<listitem><ulink url='&YOCTO_DOCS_REF_URL;#var-PR'><filename>PR</filename></ulink>:
The recipe revision</listitem>
</itemizedlist>
</para>
<para>
If your resulting package is dependent on the target device,
the work directory varies slightly:
As an example, assume a Source Directory top-level folder
name <filename>poky</filename>, a default Build Directory at
<filename>poky/build</filename>, and a
<filename>qemux86-poky-linux</filename> machine target
system.
Furthermore, suppose your recipe is named
<filename>foo_1.3.0-r0.bb</filename>.
In this case, the work directory the build system uses to
build the package would be as follows:
<literallayout class='monospaced'>
${TMPDIR}/work/${MACHINE}-poky-${TARGET_OS}/${PN}/${EXTENDPE}${PV}-${PR}
</literallayout>
Again, assuming top-level Source Directory named <filename>poky</filename>
and a default Build Directory of <filename>poky/build</filename>, the
following are the work and temporary source directories, respectively,
for the <filename>acl</filename> package that is being
built for a MIPS-based device:
<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/acl-2.2.51
poky/build/tmp/work/qemux86-poky-linux/foo/1.3.0-r0
</literallayout>
</para>
<note>
To better understand how the OpenEmbedded build system resolves directories during the
build process, see the glossary entries for the
<ulink url='&YOCTO_DOCS_REF_URL;#var-WORKDIR'><filename>WORKDIR</filename></ulink>,
<ulink url='&YOCTO_DOCS_REF_URL;#var-TMPDIR'><filename>TMPDIR</filename></ulink>,
<ulink url='&YOCTO_DOCS_REF_URL;#var-TOPDIR'><filename>TOPDIR</filename></ulink>,
<ulink url='&YOCTO_DOCS_REF_URL;#var-PACKAGE_ARCH'><filename>PACKAGE_ARCH</filename></ulink>,
<ulink url='&YOCTO_DOCS_REF_URL;#var-MULTIMACH_TARGET_SYS'><filename>MULTIMACH_TARGET_SYS</filename></ulink>,
<ulink url='&YOCTO_DOCS_REF_URL;#var-TARGET_OS'><filename>TARGET_OS</filename></ulink>,
<ulink url='&YOCTO_DOCS_REF_URL;#var-PN'><filename>PN</filename></ulink>,
<ulink url='&YOCTO_DOCS_REF_URL;#var-PV'><filename>PV</filename></ulink>,
<ulink url='&YOCTO_DOCS_REF_URL;#var-EXTENDPE'><filename>EXTENDPE</filename></ulink>,
and
<ulink url='&YOCTO_DOCS_REF_URL;#var-PR'><filename>PR</filename></ulink>
variables in the Yocto Project Reference Manual.
</note>
<para>
Now that you know where to locate the directory that has the temporary source code,
you can use a Quilt or Git workflow to make your edits, test the changes,