diff options
Diffstat (limited to 'documentation/ref-manual/devtool-reference.rst')
-rw-r--r-- | documentation/ref-manual/devtool-reference.rst | 94 |
1 files changed, 82 insertions, 12 deletions
diff --git a/documentation/ref-manual/devtool-reference.rst b/documentation/ref-manual/devtool-reference.rst index 9319addc3c..2db2adde95 100644 --- a/documentation/ref-manual/devtool-reference.rst +++ b/documentation/ref-manual/devtool-reference.rst | |||
@@ -24,7 +24,7 @@ The ``devtool`` command line is organized similarly to Git in that it | |||
24 | has a number of sub-commands for each function. You can run | 24 | has a number of sub-commands for each function. You can run |
25 | ``devtool --help`` to see all the commands:: | 25 | ``devtool --help`` to see all the commands:: |
26 | 26 | ||
27 | $ devtool -h | 27 | $ devtool --help |
28 | NOTE: Starting bitbake server... | 28 | NOTE: Starting bitbake server... |
29 | usage: devtool [--basepath BASEPATH] [--bbpath BBPATH] [-d] [-q] [--color COLOR] [-h] <subcommand> ... | 29 | usage: devtool [--basepath BASEPATH] [--bbpath BBPATH] [-d] [-q] [--color COLOR] [-h] <subcommand> ... |
30 | 30 | ||
@@ -50,6 +50,7 @@ has a number of sub-commands for each function. You can run | |||
50 | search Search available recipes | 50 | search Search available recipes |
51 | Working on a recipe in the workspace: | 51 | Working on a recipe in the workspace: |
52 | build Build a recipe | 52 | build Build a recipe |
53 | ide-sdk Setup the SDK and configure the IDE | ||
53 | rename Rename a recipe file in the workspace | 54 | rename Rename a recipe file in the workspace |
54 | edit-recipe Edit a recipe file | 55 | edit-recipe Edit a recipe file |
55 | find-recipe Find a recipe file | 56 | find-recipe Find a recipe file |
@@ -63,17 +64,11 @@ has a number of sub-commands for each function. You can run | |||
63 | build-image Build image including workspace recipe packages | 64 | build-image Build image including workspace recipe packages |
64 | Advanced: | 65 | Advanced: |
65 | create-workspace Set up workspace in an alternative location | 66 | create-workspace Set up workspace in an alternative location |
67 | import Import exported tar archive into workspace | ||
68 | export Export workspace into a tar archive | ||
66 | extract Extract the source for an existing recipe | 69 | extract Extract the source for an existing recipe |
67 | sync Synchronize the source tree for an existing recipe | 70 | sync Synchronize the source tree for an existing recipe |
68 | menuconfig Alter build-time configuration for a recipe | 71 | menuconfig Alter build-time configuration for a recipe |
69 | import Import exported tar archive into workspace | ||
70 | export Export workspace into a tar archive | ||
71 | other: | ||
72 | selftest-reverse Reverse value (for selftest) | ||
73 | pluginfile Print the filename of this plugin | ||
74 | bbdir Print the BBPATH directory of this plugin | ||
75 | count How many times have this plugin been registered. | ||
76 | multiloaded How many times have this plugin been initialized | ||
77 | Use devtool <subcommand> --help to get help on a specific command | 72 | Use devtool <subcommand> --help to get help on a specific command |
78 | 73 | ||
79 | As directed in the general help output, you can | 74 | As directed in the general help output, you can |
@@ -82,8 +77,8 @@ using ``--help``:: | |||
82 | 77 | ||
83 | $ devtool add --help | 78 | $ devtool add --help |
84 | NOTE: Starting bitbake server... | 79 | NOTE: Starting bitbake server... |
85 | usage: devtool add [-h] [--same-dir | --no-same-dir] [--fetch URI] [--npm-dev] [--version VERSION] [--no-git] [--srcrev SRCREV | --autorev] [--srcbranch SRCBRANCH] [--binary] [--also-native] [--src-subdir SUBDIR] [--mirrors] | 80 | usage: devtool add [-h] [--same-dir | --no-same-dir] [--fetch URI] [--npm-dev] [--no-pypi] [--version VERSION] [--no-git] [--srcrev SRCREV | --autorev] |
86 | [--provides PROVIDES] | 81 | [--srcbranch SRCBRANCH] [--binary] [--also-native] [--src-subdir SUBDIR] [--mirrors] [--provides PROVIDES] |
87 | [recipename] [srctree] [fetchuri] | 82 | [recipename] [srctree] [fetchuri] |
88 | 83 | ||
89 | Adds a new recipe to the workspace to build a specified source tree. Can optionally fetch a remote URI and unpack it to create the source tree. | 84 | Adds a new recipe to the workspace to build a specified source tree. Can optionally fetch a remote URI and unpack it to create the source tree. |
@@ -99,6 +94,7 @@ using ``--help``:: | |||
99 | --no-same-dir Force build in a separate build directory | 94 | --no-same-dir Force build in a separate build directory |
100 | --fetch URI, -f URI Fetch the specified URI and extract it to create the source tree (deprecated - pass as positional argument instead) | 95 | --fetch URI, -f URI Fetch the specified URI and extract it to create the source tree (deprecated - pass as positional argument instead) |
101 | --npm-dev For npm, also fetch devDependencies | 96 | --npm-dev For npm, also fetch devDependencies |
97 | --no-pypi Do not inherit pypi class | ||
102 | --version VERSION, -V VERSION | 98 | --version VERSION, -V VERSION |
103 | Version to use within recipe (PV) | 99 | Version to use within recipe (PV) |
104 | --no-git, -g If fetching source, do not set up source tree as a git repository | 100 | --no-git, -g If fetching source, do not set up source tree as a git repository |
@@ -439,7 +435,7 @@ You can read more on the ``devtool upgrade`` workflow in the | |||
439 | ":ref:`sdk-manual/extensible:use \`\`devtool upgrade\`\` to create a version of the recipe that supports a newer version of the software`" | 435 | ":ref:`sdk-manual/extensible:use \`\`devtool upgrade\`\` to create a version of the recipe that supports a newer version of the software`" |
440 | section in the Yocto Project Application Development and the Extensible | 436 | section in the Yocto Project Application Development and the Extensible |
441 | Software Development Kit (eSDK) manual. You can also see an example of | 437 | Software Development Kit (eSDK) manual. You can also see an example of |
442 | how to use ``devtool upgrade`` in the ":ref:`dev-manual/upgrading-recipes:using \`\`devtool upgrade\`\``" | 438 | how to use ``devtool upgrade`` in the ":ref:`dev-manual/upgrading-recipes:using ``devtool upgrade```" |
443 | section in the Yocto Project Development Tasks Manual. | 439 | section in the Yocto Project Development Tasks Manual. |
444 | 440 | ||
445 | .. _devtool-resetting-a-recipe: | 441 | .. _devtool-resetting-a-recipe: |
@@ -467,6 +463,20 @@ Here is an example that resets the workspace directory that contains the | |||
467 | NOTE: Leaving source tree /home/scottrif/poky/build/workspace/sources/mtr as-is; if you no longer need it then please delete it manually | 463 | NOTE: Leaving source tree /home/scottrif/poky/build/workspace/sources/mtr as-is; if you no longer need it then please delete it manually |
468 | $ | 464 | $ |
469 | 465 | ||
466 | .. _devtool-finish-working-on-a-recipe: | ||
467 | |||
468 | Finish Working on a Recipe | ||
469 | ========================== | ||
470 | |||
471 | Use the ``devtool finish`` command to push any committed changes to the | ||
472 | specified recipe in the specified layer and remove it from your workspace. | ||
473 | |||
474 | This is roughly equivalent to the ``devtool update-recipe`` command followed by | ||
475 | the ``devtool reset`` command. The changes must have been committed to the git | ||
476 | repository created by ``devtool``. Here is an example:: | ||
477 | |||
478 | $ devtool finish recipe /path/to/custom/layer | ||
479 | |||
470 | .. _devtool-building-your-recipe: | 480 | .. _devtool-building-your-recipe: |
471 | 481 | ||
472 | Building Your Recipe | 482 | Building Your Recipe |
@@ -543,6 +553,26 @@ the packages are already on the target. Consequently, when a runtime | |||
543 | call is made in the application for a dependent function (e.g. a library | 553 | call is made in the application for a dependent function (e.g. a library |
544 | call), the function cannot be found. | 554 | call), the function cannot be found. |
545 | 555 | ||
556 | .. warning:: | ||
557 | |||
558 | Runtime dependencies can be explicitly listed in the :term:`RDEPENDS` | ||
559 | variable, but may also be the result of a :term:`DEPENDS` assignment in your | ||
560 | application's recipe. This is usually the case when your application depends | ||
561 | on libraries for compilation: these libraries are listed as build-time | ||
562 | dependencies in the :term:`DEPENDS` variable in your application's recipe. | ||
563 | However these may also be runtime dependencies if they install shared objects | ||
564 | on which your application will dynamically link to at runtime (e.g. shared | ||
565 | libraries ending with ``.so``). | ||
566 | |||
567 | These runtime dependencies are automatically resolved by the | ||
568 | :term:`OpenEmbedded Build System` during the packaging phase. Since | ||
569 | ``devtool`` ignores packaging dependencies, they will not be installed | ||
570 | automatically with ``devtool deploy-target``. | ||
571 | |||
572 | For more information on how the :term:`OpenEmbedded Build System` handles | ||
573 | packaging, see the :ref:`overview-manual/concepts:Automatically Added Runtime | ||
574 | Dependencies` section of the Yocto Project Overview and Concepts Manual. | ||
575 | |||
546 | To be sure you have all the dependencies local to the target, you need | 576 | To be sure you have all the dependencies local to the target, you need |
547 | to be sure that the packages are pre-deployed (installed) on the target | 577 | to be sure that the packages are pre-deployed (installed) on the target |
548 | before attempting to run your application. | 578 | before attempting to run your application. |
@@ -618,3 +648,43 @@ a match. | |||
618 | 648 | ||
619 | When you use the ``devtool search`` command, you must supply a keyword. | 649 | When you use the ``devtool search`` command, you must supply a keyword. |
620 | The command uses the keyword when searching for a match. | 650 | The command uses the keyword when searching for a match. |
651 | |||
652 | Alternatively, the ``devtool find-recipe`` command can be used to search for | ||
653 | recipe files instead of recipe names. Likewise, you must supply a keyword. | ||
654 | |||
655 | .. _devtool-get-the-configure-script-help: | ||
656 | |||
657 | Get Information on Recipe Configuration Scripts | ||
658 | =============================================== | ||
659 | |||
660 | Use the ``devtool configure-help`` command to get help on the configuration | ||
661 | script options for a given recipe. You must supply the recipe name to the | ||
662 | command. For example, it shows the output of ``./configure --help`` for | ||
663 | :ref:`autotools <ref-classes-autotools>`-based recipes. | ||
664 | |||
665 | The ``configure-help`` command will also display the configuration options | ||
666 | currently in use, including the ones passed through the :term:`EXTRA_OECONF` | ||
667 | variable. | ||
668 | |||
669 | .. _devtool-generate-an-ide-configuration-for-a-recipe: | ||
670 | |||
671 | Generate an IDE Configuration for a Recipe | ||
672 | ========================================== | ||
673 | |||
674 | The ``devtool ide-sdk`` automatically creates an IDE configuration and SDK to | ||
675 | work on a given recipe. Depending on the ``--mode`` parameter, different types | ||
676 | of SDKs are generated: | ||
677 | |||
678 | - ``modified`` mode: this creates an SDK and generates an IDE configuration in | ||
679 | the workspace directory. | ||
680 | |||
681 | - ``shared`` mode: this creates a cross-compiling toolchain and the | ||
682 | corresponding shared sysroot directories of the supplied recipe(s). | ||
683 | |||
684 | The ``--target`` option can be used to specify a ``username@hostname`` string | ||
685 | and create a remote debugging configuration for the recipe. Similarly to | ||
686 | ``devtool deploy-target``, it requires an SSH server running on the target. | ||
687 | |||
688 | For further details on the ``devtool ide-sdk`` command, see the | ||
689 | ":doc:`/sdk-manual/extensible`" chapter in the Yocto Project Application | ||
690 | Development and the Extensible Software Development Kit (eSDK) manual. | ||