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> <para>
The path to the work directory for the recipe The path to the work directory for the recipe
(<ulink url='&YOCTO_DOCS_REF_URL;#var-WORKDIR'><filename>WORKDIR</filename></ulink>) depends (<ulink url='&YOCTO_DOCS_REF_URL;#var-WORKDIR'><filename>WORKDIR</filename></ulink>)
on the recipe name and the architecture of the target device. is defined as follows:
For example, here is the work directory for recipes and resulting packages that are
not device-dependent:
<literallayout class='monospaced'> <literallayout class='monospaced'>
${TMPDIR}/work/${PACKAGE_ARCH}-poky-${TARGET_OS}/${PN}/${EXTENDPE}${PV}-${PR} ${TMPDIR}/work/${MULTIMACH_TARGET_SYS}/${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/
</literallayout> </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>
<para> <para>
If your resulting package is dependent on the target device, As an example, assume a Source Directory top-level folder
the work directory varies slightly: 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'> <literallayout class='monospaced'>
${TMPDIR}/work/${MACHINE}-poky-${TARGET_OS}/${PN}/${EXTENDPE}${PV}-${PR} poky/build/tmp/work/qemux86-poky-linux/foo/1.3.0-r0
</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
</literallayout> </literallayout>
</para> </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> <para>
Now that you know where to locate the directory that has the temporary source code, 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, you can use a Quilt or Git workflow to make your edits, test the changes,