summaryrefslogtreecommitdiffstats
path: root/documentation/ref-manual/devtool-reference.rst
diff options
context:
space:
mode:
Diffstat (limited to 'documentation/ref-manual/devtool-reference.rst')
-rw-r--r--documentation/ref-manual/devtool-reference.rst94
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
24has a number of sub-commands for each function. You can run 24has 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
79As directed in the general help output, you can 74As 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`"
440section in the Yocto Project Application Development and the Extensible 436section in the Yocto Project Application Development and the Extensible
441Software Development Kit (eSDK) manual. You can also see an example of 437Software Development Kit (eSDK) manual. You can also see an example of
442how to use ``devtool upgrade`` in the ":ref:`dev-manual/upgrading-recipes:using \`\`devtool upgrade\`\``" 438how to use ``devtool upgrade`` in the ":ref:`dev-manual/upgrading-recipes:using ``devtool upgrade```"
443section in the Yocto Project Development Tasks Manual. 439section 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
468Finish Working on a Recipe
469==========================
470
471Use the ``devtool finish`` command to push any committed changes to the
472specified recipe in the specified layer and remove it from your workspace.
473
474This is roughly equivalent to the ``devtool update-recipe`` command followed by
475the ``devtool reset`` command. The changes must have been committed to the git
476repository 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
472Building Your Recipe 482Building Your Recipe
@@ -543,6 +553,26 @@ the packages are already on the target. Consequently, when a runtime
543call is made in the application for a dependent function (e.g. a library 553call is made in the application for a dependent function (e.g. a library
544call), the function cannot be found. 554call), 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
546To be sure you have all the dependencies local to the target, you need 576To be sure you have all the dependencies local to the target, you need
547to be sure that the packages are pre-deployed (installed) on the target 577to be sure that the packages are pre-deployed (installed) on the target
548before attempting to run your application. 578before attempting to run your application.
@@ -618,3 +648,43 @@ a match.
618 648
619When you use the ``devtool search`` command, you must supply a keyword. 649When you use the ``devtool search`` command, you must supply a keyword.
620The command uses the keyword when searching for a match. 650The command uses the keyword when searching for a match.
651
652Alternatively, the ``devtool find-recipe`` command can be used to search for
653recipe files instead of recipe names. Likewise, you must supply a keyword.
654
655.. _devtool-get-the-configure-script-help:
656
657Get Information on Recipe Configuration Scripts
658===============================================
659
660Use the ``devtool configure-help`` command to get help on the configuration
661script options for a given recipe. You must supply the recipe name to the
662command. For example, it shows the output of ``./configure --help`` for
663:ref:`autotools <ref-classes-autotools>`-based recipes.
664
665The ``configure-help`` command will also display the configuration options
666currently in use, including the ones passed through the :term:`EXTRA_OECONF`
667variable.
668
669.. _devtool-generate-an-ide-configuration-for-a-recipe:
670
671Generate an IDE Configuration for a Recipe
672==========================================
673
674The ``devtool ide-sdk`` automatically creates an IDE configuration and SDK to
675work on a given recipe. Depending on the ``--mode`` parameter, different types
676of 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
684The ``--target`` option can be used to specify a ``username@hostname`` string
685and create a remote debugging configuration for the recipe. Similarly to
686``devtool deploy-target``, it requires an SSH server running on the target.
687
688For further details on the ``devtool ide-sdk`` command, see the
689":doc:`/sdk-manual/extensible`" chapter in the Yocto Project Application
690Development and the Extensible Software Development Kit (eSDK) manual.