summaryrefslogtreecommitdiffstats
path: root/documentation/sdk-manual/extensible.rst
diff options
context:
space:
mode:
Diffstat (limited to 'documentation/sdk-manual/extensible.rst')
-rw-r--r--documentation/sdk-manual/extensible.rst45
1 files changed, 23 insertions, 22 deletions
diff --git a/documentation/sdk-manual/extensible.rst b/documentation/sdk-manual/extensible.rst
index 81727e6f28..55bd7f6ebf 100644
--- a/documentation/sdk-manual/extensible.rst
+++ b/documentation/sdk-manual/extensible.rst
@@ -194,7 +194,7 @@ all the commands.
194 devtool 194 devtool
195 quick reference. 195 quick reference.
196 196
197Three ``devtool`` subcommands exist that provide entry-points into 197Three ``devtool`` subcommands provide entry-points into
198development: 198development:
199 199
200- *devtool add*: Assists in adding new software to be built. 200- *devtool add*: Assists in adding new software to be built.
@@ -276,7 +276,7 @@ command:
276 devtool 276 devtool
277 always creates a Git repository locally during the extraction. 277 always creates a Git repository locally during the extraction.
278 278
279 Furthermore, the first positional argument srctree in this case 279 Furthermore, the first positional argument ``srctree`` in this case
280 identifies where the ``devtool add`` command will locate the 280 identifies where the ``devtool add`` command will locate the
281 extracted code outside of the workspace. You need to specify an 281 extracted code outside of the workspace. You need to specify an
282 empty directory:: 282 empty directory::
@@ -285,13 +285,13 @@ command:
285 285
286 In summary, 286 In summary,
287 the source code is pulled from fetchuri and extracted into the 287 the source code is pulled from fetchuri and extracted into the
288 location defined by srctree as a local Git repository. 288 location defined by ``srctree`` as a local Git repository.
289 289
290 Within workspace, ``devtool`` creates a recipe named recipe along 290 Within workspace, ``devtool`` creates a recipe named recipe along
291 with an associated append file. 291 with an associated append file.
292 292
293 - *Right*: The right scenario in the figure represents a situation 293 - *Right*: The right scenario in the figure represents a situation
294 where the srctree has been previously prepared outside of the 294 where the ``srctree`` has been previously prepared outside of the
295 ``devtool`` workspace. 295 ``devtool`` workspace.
296 296
297 The following command provides a new recipe name and identifies 297 The following command provides a new recipe name and identifies
@@ -437,7 +437,7 @@ command:
437 locate the source code and any local patch files from other 437 locate the source code and any local patch files from other
438 developers. 438 developers.
439 439
440 With this scenario, no srctree argument exists. Consequently, the 440 With this scenario, there is no ``srctree`` argument. Consequently, the
441 default behavior of the ``devtool modify`` command is to extract 441 default behavior of the ``devtool modify`` command is to extract
442 the source files pointed to by the ``SRC_URI`` statements into a 442 the source files pointed to by the ``SRC_URI`` statements into a
443 local Git structure. Furthermore, the location for the extracted 443 local Git structure. Furthermore, the location for the extracted
@@ -483,21 +483,21 @@ command:
483 under the newly created source tree. 483 under the newly created source tree.
484 484
485 Once the files are located, the command by default extracts them 485 Once the files are located, the command by default extracts them
486 into srctree. 486 into ``srctree``.
487 487
488 Within workspace, ``devtool`` creates an append file for the 488 Within workspace, ``devtool`` creates an append file for the
489 recipe. The recipe remains in its original location but the source 489 recipe. The recipe remains in its original location but the source
490 files are extracted to the location you provide with srctree. 490 files are extracted to the location you provide with ``srctree``.
491 491
492 - *Right*: The right scenario in the figure represents a situation 492 - *Right*: The right scenario in the figure represents a situation
493 where the source tree (srctree) already exists locally as a 493 where the source tree (``srctree``) already exists locally as a
494 previously extracted Git structure outside of the ``devtool`` 494 previously extracted Git structure outside of the ``devtool``
495 workspace. In this example, the recipe also exists elsewhere 495 workspace. In this example, the recipe also exists elsewhere
496 locally in its own layer. 496 locally in its own layer.
497 497
498 The following command tells ``devtool`` the recipe with which to 498 The following command tells ``devtool`` the recipe with which to
499 work, uses the "-n" option to indicate source does not need to be 499 work, uses the "-n" option to indicate source does not need to be
500 extracted, and uses srctree to point to the previously extracted 500 extracted, and uses ``srctree`` to point to the previously extracted
501 source files:: 501 source files::
502 502
503 $ devtool modify -n recipe srctree 503 $ devtool modify -n recipe srctree
@@ -646,8 +646,9 @@ The following diagram shows the common development flow used with the
646 code into the ``sources`` directory in the 646 code into the ``sources`` directory in the
647 :ref:`devtool-the-workspace-layer-structure`. 647 :ref:`devtool-the-workspace-layer-structure`.
648 If you want the code extracted to any other location, you need to 648 If you want the code extracted to any other location, you need to
649 provide the srctree positional argument with the command as follows: 649 provide the ``srctree`` positional argument with the command as follows::
650 $ devtool upgrade -V version recipe srctree 650
651 $ devtool upgrade -V version recipe srctree
651 652
652 .. note:: 653 .. note::
653 654
@@ -674,8 +675,8 @@ The following diagram shows the common development flow used with the
674 are incorporated into the build the next time you build the software 675 are incorporated into the build the next time you build the software
675 just as are other changes you might have made to the source. 676 just as are other changes you might have made to the source.
676 677
6772. *Resolve any Conflicts created by the Upgrade*: Conflicts could exist 6782. *Resolve any Conflicts created by the Upgrade*: Conflicts could happen
678 due to the software being upgraded to a new version. Conflicts occur 679 after upgrading the software to a new version. Conflicts occur
679 if your recipe specifies some patch files in ``SRC_URI`` that 680 if your recipe specifies some patch files in ``SRC_URI`` that
680 conflict with changes made in the new version of the software. For 681 conflict with changes made in the new version of the software. For
681 such cases, you need to resolve the conflicts by editing the source 682 such cases, you need to resolve the conflicts by editing the source
@@ -908,8 +909,8 @@ mind:
908 similar manner to the environment set up by the SDK's environment 909 similar manner to the environment set up by the SDK's environment
909 setup script. One easy way to see these variables is to run the 910 setup script. One easy way to see these variables is to run the
910 ``devtool build`` command on the recipe and then look in 911 ``devtool build`` command on the recipe and then look in
911 ``oe-logs/run.do_compile``. Towards the top of this file, a list of 912 ``oe-logs/run.do_compile``. Towards the top of this file, there is
912 environment variables exists that are being set. You can take 913 a list of environment variables that are set. You can take
913 advantage of these variables within the Makefile. 914 advantage of these variables within the Makefile.
914 915
915- If the Makefile sets a default for a variable using "=", that default 916- If the Makefile sets a default for a variable using "=", that default
@@ -1037,8 +1038,8 @@ If you look at the contents of a recipe, you will see that the recipe
1037does not include complete instructions for building the software. 1038does not include complete instructions for building the software.
1038Instead, common functionality is encapsulated in classes inherited with 1039Instead, common functionality is encapsulated in classes inherited with
1039the ``inherit`` directive. This technique leaves the recipe to describe 1040the ``inherit`` directive. This technique leaves the recipe to describe
1040just the things that are specific to the software being built. A 1041just the things that are specific to the software being built. There is
1041:ref:`base <ref-classes-base>` class exists that 1042a :ref:`base <ref-classes-base>` class that
1042is implicitly inherited by all recipes and provides the functionality 1043is implicitly inherited by all recipes and provides the functionality
1043that most recipes typically need. 1044that most recipes typically need.
1044 1045
@@ -1110,9 +1111,9 @@ Recipes often need to use files provided by other recipes on the
1110:term:`Build Host`. For example, 1111:term:`Build Host`. For example,
1111an application linking to a common library needs access to the library 1112an application linking to a common library needs access to the library
1112itself and its associated headers. The way this access is accomplished 1113itself and its associated headers. The way this access is accomplished
1113within the extensible SDK is through the sysroot. One sysroot exists per 1114within the extensible SDK is through the sysroot. There is one sysroot per
1114"machine" for which the SDK is being built. In practical terms, this 1115"machine" for which the SDK is being built. In practical terms, this
1115means a sysroot exists for the target machine, and a sysroot exists for 1116means there is a sysroot for the target machine, and a sysroot for
1116the build host. 1117the build host.
1117 1118
1118Recipes should never write files directly into the sysroot. Instead, 1119Recipes should never write files directly into the sysroot. Instead,
@@ -1159,8 +1160,8 @@ example, ``FILES_${PN}`` specifies the files to go into the main package
1159``${``\ :term:`PN`\ ``}`` evaluates to the 1160``${``\ :term:`PN`\ ``}`` evaluates to the
1160recipe name). The order of the ``PACKAGES`` value is significant. For 1161recipe name). The order of the ``PACKAGES`` value is significant. For
1161each installed file, the first package whose ``FILES`` value matches the 1162each installed file, the first package whose ``FILES`` value matches the
1162file is the package into which the file goes. Defaults exist for both 1163file is the package into which the file goes. Both the ``PACKAGES`` and
1163the ``PACKAGES`` and ``FILES`` variables. Consequently, you might find 1164``FILES`` variables have default values. Consequently, you might find
1164you do not even need to set these variables in your recipe unless the 1165you do not even need to set these variables in your recipe unless the
1165software the recipe is building installs files into non-standard 1166software the recipe is building installs files into non-standard
1166locations. 1167locations.
@@ -1230,7 +1231,7 @@ source, you can add the "-s" option as follows::
1230 1231
1231It is important to remember that building the item from source 1232It is important to remember that building the item from source
1232takes significantly longer than installing the pre-built artifact. Also, 1233takes significantly longer than installing the pre-built artifact. Also,
1233if no recipe exists for the item you want to add to the SDK, you must 1234if there is no recipe for the item you want to add to the SDK, you must
1234instead add the item using the ``devtool add`` command. 1235instead add the item using the ``devtool add`` command.
1235 1236
1236Applying Updates to an Installed Extensible SDK 1237Applying Updates to an Installed Extensible SDK