summaryrefslogtreecommitdiffstats
path: root/documentation
diff options
context:
space:
mode:
authorScott Rifenbark <scott.m.rifenbark@intel.com>2012-02-14 18:22:14 -0600
committerRichard Purdie <richard.purdie@linuxfoundation.org>2012-03-08 12:07:56 -0800
commit70848f308dfca814cf152c413ba66fe9f0381c64 (patch)
tree5b7ed0d8f20ecacc2ae43de7acfcb471d2cd9c17 /documentation
parent7a88a29c6750d80d6277e243e9504cb3958ceed2 (diff)
downloadast2050-yocto-poky-70848f308dfca814cf152c413ba66fe9f0381c64.zip
ast2050-yocto-poky-70848f308dfca814cf152c413ba66fe9f0381c64.tar.gz
documentation/dev-manual/dev-manual-common-tasks.xml: Combined sections
I combined the section on changing package source code and the section on changing package source code with quilt into one over-arching section named "Modifying Package Source Code." The section on Quilt was sort of a stand-alone section but Paul Eggleton suggested that it is a natural follow-on. So I put the two sections in as sub-sections. (From yocto-docs rev: ae4d3cf99e27f74b151939d2f5a2b440b91ac6d6) Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'documentation')
-rw-r--r--documentation/dev-manual/dev-manual-common-tasks.xml215
1 files changed, 115 insertions, 100 deletions
diff --git a/documentation/dev-manual/dev-manual-common-tasks.xml b/documentation/dev-manual/dev-manual-common-tasks.xml
index 1199669..327289b 100644
--- a/documentation/dev-manual/dev-manual-common-tasks.xml
+++ b/documentation/dev-manual/dev-manual-common-tasks.xml
@@ -748,128 +748,143 @@ so that there are some definite steps on how to do this. I need more detail her
<section id="usingpoky-modifing-packages">
<title>Modifying Package Source Code</title>
+
<para>
- Although the Yocto Project is typically used to build software, you might
- find it helpful during development to modify the temporary package source code
- found within the
- <link linkend='yocto-project-build-directory'>Yocto Project's Build Directory</link>.
- For example, suppose you are developing a patch and you need to experiment a bit
- to figure out your solution.
- After you have initially built the package, you can iteratively tweak the
- source code, which is located in the Yocto Project build directory, and then
- you can force a re-compile and test your altered code.
- Once you settle on a solution, you can then copy the updated source code
- to its more permanent location.
+ This section describes how to modify package source code in the
+ <link linkend='yocto-project-build-directory'>Yocto Project's Build Directory</link>
+ and also how to then use
+ <ulink url='http://savannah.nongnu.org/projects/quilt'>Quilt</ulink> to manage
+ the resulting patches.
</para>
- <para>
- During a build, this temporary source code is available in the Yocto
- Project build directory, which is defined by the
- <filename><ulink url='http://www.yoctoproject.org/docs/latest/poky-ref-manual/poky-ref-manual.html#var-TMPDIR'>TMPDIR</ulink></filename> variable.
- The actual location within the build directory for the package source code
- is defined by the
- <filename><ulink url='http://www.yoctoproject.org/docs/latest/poky-ref-manual/poky-ref-manual.html#var-WORKDIR'>WORKDIR</ulink></filename>
- variable and depends on the package name and the architecture of the target device.
- Here is the source code location for packages that are not target device-dependent:
- <literallayout class='monospaced'>
+ <section id='working-with-source-code-in-the-build-directory'>
+ <title>Working with Source Code in the Build Directory</title>
+
+ <para>
+ Although the Yocto Project is typically used to build software, you might
+ find it helpful during development to modify the temporary package source code
+ found within the Yocto Project's Build Directory.
+ For example, suppose you are developing a patch and you need to experiment a bit
+ to figure out your solution.
+ After you have initially built the package, you can iteratively tweak the
+ source code, which is located in the Yocto Project build directory, and then
+ you can force a re-compile and test your altered code.
+ Once you settle on a solution, you can then copy the updated source code
+ to its more permanent location.
+ </para>
+
+ <para>
+ During a build, this temporary source code is available in the Yocto
+ Project build directory, which is defined by the
+ <filename><ulink url='http://www.yoctoproject.org/docs/latest/poky-ref-manual/poky-ref-manual.html#var-TMPDIR'>TMPDIR</ulink></filename> variable.
+ The actual location within the build directory for the package source code
+ is defined by the
+ <filename><ulink url='http://www.yoctoproject.org/docs/latest/poky-ref-manual/poky-ref-manual.html#var-WORKDIR'>WORKDIR</ulink></filename>
+ variable and depends on the package name and the architecture of the target device.
+ Here is the source code location for packages that are not target device-dependent:
+ <literallayout class='monospaced'>
${TMPDIR}/work/${PACKAGE_ARCH}-poky-${TARGET_OS}/${PN}-${PV}-${PR}
- </literallayout>
- Assuming a Yocto Project Files top-level directory named <filename>poky</filename>
- and a default Yocto Project build directory of <filename>poky/build</filename>,
- the following is the temporary package source code location for the
- <filename>acl</filename> package:
- <literallayout class='monospaced'>
+ </literallayout>
+ Assuming a Yocto Project Files top-level directory named <filename>poky</filename>
+ and a default Yocto Project build directory of <filename>poky/build</filename>,
+ the following is the temporary package source code location for the
+ <filename>acl</filename> package:
+ <literallayout class='monospaced'>
~/poky/build/tmp/work/i586-poky-linux/acl-2.2.51-r3
- </literallayout>
- </para>
+ </literallayout>
+ </para>
- <para>
- If your package is target device-dependent, the source code location varies slightly:
- <literallayout class='monospaced'>
+ <para>
+ If your package is target device-dependent, the source code location varies slightly:
+ <literallayout class='monospaced'>
${TMPDIR}/work/${MACHINE}-poky-${TARGET_OS}/${PN}-${PV}-${PR}
- </literallayout>
- Again, assuming a Yocto Project Files top-level directory named <filename>poky</filename>
- and a default Yocto Project build directory of <filename>poky/build</filename>, the
- following is the temporary package source code location for the
- <filename>acl</filename> package that is being built for a MIPS-based device:
- <literallayout class='monospaced'>
+ </literallayout>
+ Again, assuming a Yocto Project Files top-level directory named <filename>poky</filename>
+ and a default Yocto Project build directory of <filename>poky/build</filename>, the
+ following is the temporary package source code location 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
- </literallayout>
- </para>
+ </literallayout>
+ </para>
- <para>
- Once you have modified the package source code, the easiest way to test your changes
- is by calling the <filename>compile</filename> task as shown in the following example:
- <literallayout class='monospaced'>
+ <para>
+ Once you have modified the package source code, the easiest way to test your changes
+ is by calling the <filename>compile</filename> task as shown in the following example:
+ <literallayout class='monospaced'>
$ bitbake -c compile -f &lt;name_of_package&gt;
- </literallayout>
- </para>
+ </literallayout>
+ </para>
- <para>
- The <filename>-f</filename> or <filename>--force</filename>
- option forces re-execution of the specified task.
- You can call other tasks this way as well.
- <note>All the modifications you make to the temporary package source code
- disappear once you <filename>-c clean</filename> or
- <filename>-c cleanall</filename> with BitBake for the package.
- Modifications will also disappear if you use the <filename>rm_work</filename>
- feature as described in the
- "<ulink url='http://www.yoctoproject.org/docs/latest/yocto-project-qs/yocto-project-qs.html#building-image'>Building an Image</ulink>" section
- of the Yocto Project Quick Start.
- </note>
- </para>
- </section>
+ <para>
+ The <filename>-f</filename> or <filename>--force</filename>
+ option forces re-execution of the specified task.
+ You can call other tasks this way as well.
+ <note>All the modifications you make to the temporary package source code
+ disappear once you <filename>-c clean</filename> or
+ <filename>-c cleanall</filename> with BitBake for the package.
+ Modifications will also disappear if you use the <filename>rm_work</filename>
+ feature as described in the
+ "<ulink url='http://www.yoctoproject.org/docs/latest/yocto-project-qs/yocto-project-qs.html#building-image'>Building an Image</ulink>" section
+ of the Yocto Project Quick Start.
+ </note>
+ </para>
+ </section>
- <section id="usingpoky-modifying-packages-quilt">
- <title>Modifying Package Source Code with Quilt</title>
+ <section id="usingpoky-modifying-packages-quilt">
+ <title>Modifying Package Source Code with Quilt</title>
- <para>
- By default Poky uses <ulink url='http://savannah.nongnu.org/projects/quilt'>Quilt</ulink>
- to manage patches in the <filename>do_patch</filename> task.
- This is a powerful tool that you can use to track all modifications to package sources.
- </para>
+ <para>
+ By default, the Yocto Project build system (Poky) uses
+ <ulink url='http://savannah.nongnu.org/projects/quilt'>Quilt</ulink>
+ to manage patches while executing the <filename>do_patch</filename> task.
+ Quilt is a powerful tool that you can use to track all modifications to package sources.
+ </para>
- <para>
- Before modifying source code, it is important to notify Quilt so it can track the changes
- into the new patch file:
- <literallayout class='monospaced'>
+ <para>
+ Before modifying source code, it is important to notify Quilt so it can track the changes
+ into the new patch file:
+ <literallayout class='monospaced'>
$ quilt new NAME-OF-PATCH.patch
- </literallayout>
- </para>
+ </literallayout>
+ </para>
- <para>
- After notifying Quilt, add all modified files into that patch:
- <literallayout class='monospaced'>
+ <para>
+ After notifying Quilt, add all modified files into that patch:
+ <literallayout class='monospaced'>
$ quilt add file1 file2 file3
- </literallayout>
- </para>
+ </literallayout>
+ </para>
- <para>
- You can now start editing.
- Once you are done editing, you need to use Quilt to generate the final patch that
- will contain all your modifications.
- <literallayout class='monospaced'>
+ <para>
+ You can now start editing the source code.
+ Once you are done editing, you need to use Quilt to generate the final patch that
+ contains all your modifications.
+ <literallayout class='monospaced'>
$ quilt refresh
- </literallayout>
- </para>
+ </literallayout>
+ </para>
- <para>
- You can find the resulting patch file in the
- <filename>patches/</filename> subdirectory of the source
- (<filename><ulink url='http://www.yoctoproject.org/docs/latest/poky-ref-manual/poky-ref-manual.html#var-S'>S</ulink></filename>) directory.
- For future builds, you should copy the patch into the Yocto Project metadata and add it into the
- <filename><ulink url='http://www.yoctoproject.org/docs/latest/poky-ref-manual/poky-ref-manual.html#var-SRC_URI'>SRC_URI</ulink></filename> of a recipe.
- Here is an example:
- <literallayout class='monospaced'>
+ <para>
+ You can find the resulting patch file in the
+ <filename>patches/</filename> subdirectory of the source
+ (<filename><ulink url='http://www.yoctoproject.org/docs/latest/poky-ref-manual/poky-ref-manual.html#var-S'>S</ulink></filename>) directory.
+ For future builds, you should copy the patch into the
+ <link linkend='yocto-project-files'>Yocto Project Files</link> metadata and add it
+ into the
+ <filename><ulink url='http://www.yoctoproject.org/docs/latest/poky-ref-manual/poky-ref-manual.html#var-SRC_URI'>SRC_URI</ulink></filename> of the recipe.
+ Here is an example:
+ <literallayout class='monospaced'>
SRC_URI += "file://NAME-OF-PATCH.patch"
- </literallayout>
- </para>
+ </literallayout>
+ </para>
- <para>
- Finally, don't forget to 'bump' the
- <filename><ulink url='http://www.yoctoproject.org/docs/latest/poky-ref-manual/poky-ref-manual.html#var-PR'>PR</ulink></filename>
- value in the same recipe since the resulting packages have changed.
- </para>
+ <para>
+ Finally, don't forget to 'bump' the
+ <filename><ulink url='http://www.yoctoproject.org/docs/latest/poky-ref-manual/poky-ref-manual.html#var-PR'>PR</ulink></filename>
+ value in the same recipe since the resulting packages have changed.
+ </para>
+ </section>
</section>
<section id="building-multiple-architecture-libraries-into-one-image">
OpenPOWER on IntegriCloud