diff options
author | Michael Opdenacker <michael.opdenacker@bootlin.com> | 2022-11-24 17:50:52 +0100 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2022-12-01 19:20:29 +0000 |
commit | 945c669138a76be18c6b4da4f8f907d2a5cfd83f (patch) | |
tree | cebff3cae5021d4fcceb5aa51fce1c2aead97ed2 /documentation/dev-manual/temporary-source-code.rst | |
parent | 6fe3143800925463279d0664fc7f3372b53c6c52 (diff) | |
download | poky-945c669138a76be18c6b4da4f8f907d2a5cfd83f.tar.gz |
manuals: split dev-manual/common-tasks.rst
A 500 KB source file is always harder to manage,
and can have section title conflicts.
So, the "Common Tasks" document is gone and all
its constituents are moved up one level.
You now have 40 chapters in the Development Tasks Manual.
(From yocto-docs rev: 8a45bc469411410020b8e688c137395fcaf3761b)
Signed-off-by: Michael Opdenacker <michael.opdenacker@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'documentation/dev-manual/temporary-source-code.rst')
-rw-r--r-- | documentation/dev-manual/temporary-source-code.rst | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/documentation/dev-manual/temporary-source-code.rst b/documentation/dev-manual/temporary-source-code.rst new file mode 100644 index 0000000000..08bf68d982 --- /dev/null +++ b/documentation/dev-manual/temporary-source-code.rst | |||
@@ -0,0 +1,66 @@ | |||
1 | .. SPDX-License-Identifier: CC-BY-SA-2.0-UK | ||
2 | |||
3 | Finding Temporary Source Code | ||
4 | ***************************** | ||
5 | |||
6 | You might find it helpful during development to modify the temporary | ||
7 | source code used by recipes to build packages. For example, suppose you | ||
8 | are developing a patch and you need to experiment a bit to figure out | ||
9 | your solution. After you have initially built the package, you can | ||
10 | iteratively tweak the source code, which is located in the | ||
11 | :term:`Build Directory`, and then you can force a re-compile and quickly | ||
12 | test your altered code. Once you settle on a solution, you can then preserve | ||
13 | your changes in the form of patches. | ||
14 | |||
15 | During a build, the unpacked temporary source code used by recipes to | ||
16 | build packages is available in the :term:`Build Directory` as defined by the | ||
17 | :term:`S` variable. Below is the default value for the :term:`S` variable as | ||
18 | defined in the ``meta/conf/bitbake.conf`` configuration file in the | ||
19 | :term:`Source Directory`:: | ||
20 | |||
21 | S = "${WORKDIR}/${BP}" | ||
22 | |||
23 | You should be aware that many recipes override the | ||
24 | :term:`S` variable. For example, recipes that fetch their source from Git | ||
25 | usually set :term:`S` to ``${WORKDIR}/git``. | ||
26 | |||
27 | .. note:: | ||
28 | |||
29 | The :term:`BP` represents the base recipe name, which consists of the name | ||
30 | and version:: | ||
31 | |||
32 | BP = "${BPN}-${PV}" | ||
33 | |||
34 | |||
35 | The path to the work directory for the recipe | ||
36 | (:term:`WORKDIR`) is defined as | ||
37 | follows:: | ||
38 | |||
39 | ${TMPDIR}/work/${MULTIMACH_TARGET_SYS}/${PN}/${EXTENDPE}${PV}-${PR} | ||
40 | |||
41 | The actual directory depends on several things: | ||
42 | |||
43 | - :term:`TMPDIR`: The top-level build | ||
44 | output directory. | ||
45 | |||
46 | - :term:`MULTIMACH_TARGET_SYS`: | ||
47 | The target system identifier. | ||
48 | |||
49 | - :term:`PN`: The recipe name. | ||
50 | |||
51 | - :term:`EXTENDPE`: The epoch --- if | ||
52 | :term:`PE` is not specified, which is | ||
53 | usually the case for most recipes, then :term:`EXTENDPE` is blank. | ||
54 | |||
55 | - :term:`PV`: The recipe version. | ||
56 | |||
57 | - :term:`PR`: The recipe revision. | ||
58 | |||
59 | As an example, assume a Source Directory top-level folder named | ||
60 | ``poky``, a default :term:`Build Directory` at ``poky/build``, and a | ||
61 | ``qemux86-poky-linux`` machine target system. Furthermore, suppose your | ||
62 | recipe is named ``foo_1.3.0.bb``. In this case, the work directory the | ||
63 | build system uses to build the package would be as follows:: | ||
64 | |||
65 | poky/build/tmp/work/qemux86-poky-linux/foo/1.3.0-r0 | ||
66 | |||