diff options
Diffstat (limited to 'documentation/dev-manual/temporary-source-code.rst')
| -rw-r--r-- | documentation/dev-manual/temporary-source-code.rst | 73 |
1 files changed, 0 insertions, 73 deletions
diff --git a/documentation/dev-manual/temporary-source-code.rst b/documentation/dev-manual/temporary-source-code.rst deleted file mode 100644 index 9a7cd0f771..0000000000 --- a/documentation/dev-manual/temporary-source-code.rst +++ /dev/null | |||
| @@ -1,73 +0,0 @@ | |||
| 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 = "${UNPACKDIR}/${BP}" | ||
| 22 | |||
| 23 | You should be aware that many recipes override the | ||
| 24 | :term:`S` variable when the default isn't accurate. | ||
| 25 | |||
| 26 | .. note:: | ||
| 27 | |||
| 28 | The :term:`BP` represents the base recipe name, which consists of the name | ||
| 29 | and version:: | ||
| 30 | |||
| 31 | BP = "${BPN}-${PV}" | ||
| 32 | |||
| 33 | This matches the location that the git fetcher unpacks to, and usually | ||
| 34 | matches unpacked content of release tarballs (e.g. they contain a single | ||
| 35 | directory which matches value of ${BP} exactly). | ||
| 36 | |||
| 37 | The path to the unpack directory for the recipe | ||
| 38 | (:term:`UNPACKDIR`) is defined as follows:: | ||
| 39 | |||
| 40 | ${WORKDIR}/sources | ||
| 41 | |||
| 42 | In turn, the path to the work directory for the recipe | ||
| 43 | (:term:`WORKDIR`) is defined as | ||
| 44 | follows:: | ||
| 45 | |||
| 46 | ${TMPDIR}/work/${MULTIMACH_TARGET_SYS}/${PN}/${EXTENDPE}${PV}-${PR} | ||
| 47 | |||
| 48 | The actual directory depends on several things: | ||
| 49 | |||
| 50 | - :term:`TMPDIR`: The top-level build | ||
| 51 | output directory. | ||
| 52 | |||
| 53 | - :term:`MULTIMACH_TARGET_SYS`: | ||
| 54 | The target system identifier. | ||
| 55 | |||
| 56 | - :term:`PN`: The recipe name. | ||
| 57 | |||
| 58 | - :term:`EXTENDPE`: The epoch --- if | ||
| 59 | :term:`PE` is not specified, which is | ||
| 60 | usually the case for most recipes, then :term:`EXTENDPE` is blank. | ||
| 61 | |||
| 62 | - :term:`PV`: The recipe version. | ||
| 63 | |||
| 64 | - :term:`PR`: The recipe revision. | ||
| 65 | |||
| 66 | As an example, assume a Source Directory top-level folder named | ||
| 67 | ``poky``, a default :term:`Build Directory` at ``poky/build``, and a | ||
| 68 | ``qemux86-poky-linux`` machine target system. Furthermore, suppose your | ||
| 69 | recipe is named ``foo_1.3.0.bb``. In this case, the work directory the | ||
| 70 | build system uses to build the package would be as follows:: | ||
| 71 | |||
| 72 | poky/build/tmp/work/qemux86-poky-linux/foo/1.3.0-r0 | ||
| 73 | |||
