diff options
| author | Scott Rifenbark <srifenbark@gmail.com> | 2016-09-21 11:42:17 -0700 |
|---|---|---|
| committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2016-09-28 15:02:32 +0100 |
| commit | 4404fc3fe05ad5dd899c1952c1f90f0bb3630f40 (patch) | |
| tree | 1188ed6992a44d6c85e609b05d186b844b42c508 /documentation | |
| parent | 39639ad3eaf8e2841324017d69a819ccef0492db (diff) | |
| download | poky-4404fc3fe05ad5dd899c1952c1f90f0bb3630f40.tar.gz | |
ref-manual: Provided an introductory text to the devtool ref.
I put in some introductory material for the new devtool
quick reference chapter.
(From yocto-docs rev: dc46f47692a533ac2450bf459c098435c57e6c07)
Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'documentation')
| -rw-r--r-- | documentation/ref-manual/ref-devtool-reference.xml | 911 |
1 files changed, 466 insertions, 445 deletions
diff --git a/documentation/ref-manual/ref-devtool-reference.xml b/documentation/ref-manual/ref-devtool-reference.xml index 7506f441ea..7f1520d041 100644 --- a/documentation/ref-manual/ref-devtool-reference.xml +++ b/documentation/ref-manual/ref-devtool-reference.xml | |||
| @@ -5,14 +5,35 @@ | |||
| 5 | <chapter id='ref-devtool-reference'> | 5 | <chapter id='ref-devtool-reference'> |
| 6 | <title><filename>devtool</filename> Quick Reference</title> | 6 | <title><filename>devtool</filename> Quick Reference</title> |
| 7 | 7 | ||
| 8 | <section id='devtool-getting-help'> | 8 | <para> |
| 9 | <title>Getting Help</title> | 9 | The <filename>devtool</filename> command is pivotal when using an |
| 10 | 10 | <ulink url='&YOCTO_DOCS_SDK_URL;#sdk-extensible'>extensible SDK</ulink>. | |
| 11 | <para> | 11 | This command-line tool provides a number of features that help you |
| 12 | The easiest way to get help with the | 12 | build, test and package software within the extensible SDK, and |
| 13 | <filename>devtool</filename> command is using the | 13 | optionally integrate it into an image built by the OpenEmbedded build |
| 14 | <filename>--help</filename> option: | 14 | system. |
| 15 | <literallayout class='monospaced'> | 15 | </para> |
| 16 | |||
| 17 | <para> | ||
| 18 | This chapter provides a Quick Reference for the | ||
| 19 | <filename>devtool</filename> command. | ||
| 20 | For more information on how to apply the command, see the | ||
| 21 | "<ulink url='&YOCTO_DOCS_SDK_URL;#sdk-extensible'>Using the Extensible SDK</ulink>" | ||
| 22 | section in the Yocto Project Software Development Kit (SDK) Developer's | ||
| 23 | Guide. | ||
| 24 | </para> | ||
| 25 | |||
| 26 | <section id='devtool-getting-help'> | ||
| 27 | <title>Getting Help</title> | ||
| 28 | |||
| 29 | <para> | ||
| 30 | The <filename>devtool</filename> command line is organized | ||
| 31 | similarly to Git in that it has a number of sub-commands for | ||
| 32 | each function. | ||
| 33 | You can run <filename>devtool --help</filename> to see all | ||
| 34 | the commands: | ||
| 35 | <literallayout class='monospaced'> | ||
| 36 | $ devtool --help | ||
| 16 | usage: devtool [--basepath BASEPATH] [--bbpath BBPATH] [-d] [-q] | 37 | usage: devtool [--basepath BASEPATH] [--bbpath BBPATH] [-d] [-q] |
| 17 | [--color COLOR] [-h] | 38 | [--color COLOR] [-h] |
| 18 | <subcommand> ... | 39 | <subcommand> ... |
| @@ -52,14 +73,14 @@ | |||
| 52 | extract Extract the source for an existing recipe | 73 | extract Extract the source for an existing recipe |
| 53 | sync Synchronize the source tree for an existing recipe | 74 | sync Synchronize the source tree for an existing recipe |
| 54 | Use devtool <subcommand> --help to get help on a specific command | 75 | Use devtool <subcommand> --help to get help on a specific command |
| 55 | </literallayout> | 76 | </literallayout> |
| 56 | </para> | 77 | </para> |
| 57 | 78 | ||
| 58 | <para> | 79 | <para> |
| 59 | As directed in the general help output, you can get more | 80 | As directed in the general help output, you can get more |
| 60 | syntax on a specific command by providing the command | 81 | syntax on a specific command by providing the command |
| 61 | name and using <filename>--help</filename>: | 82 | name and using <filename>--help</filename>: |
| 62 | <literallayout class='monospaced'> | 83 | <literallayout class='monospaced'> |
| 63 | $ devtool add --help | 84 | $ devtool add --help |
| 64 | usage: devtool add [-h] [--same-dir | --no-same-dir] [--fetch URI] | 85 | usage: devtool add [-h] [--same-dir | --no-same-dir] [--fetch URI] |
| 65 | [--version VERSION] [--no-git] [--autorev] [--binary] | 86 | [--version VERSION] [--no-git] [--autorev] [--binary] |
| @@ -99,32 +120,32 @@ | |||
| 99 | --also-native Also add native variant (i.e. support building recipe | 120 | --also-native Also add native variant (i.e. support building recipe |
| 100 | for the build host as well as the target machine) | 121 | for the build host as well as the target machine) |
| 101 | --src-subdir SUBDIR Specify subdirectory within source tree to use | 122 | --src-subdir SUBDIR Specify subdirectory within source tree to use |
| 102 | </literallayout> | 123 | </literallayout> |
| 103 | </para> | 124 | </para> |
| 104 | </section> | 125 | </section> |
| 105 | 126 | ||
| 106 | <section id='devtool-the-workspace-layer-structure'> | 127 | <section id='devtool-the-workspace-layer-structure'> |
| 107 | <title>The Workspace Layer Structure</title> | 128 | <title>The Workspace Layer Structure</title> |
| 108 | 129 | ||
| 109 | <para> | 130 | <para> |
| 110 | <filename>devtool</filename> uses a "Workspace" layer | 131 | <filename>devtool</filename> uses a "Workspace" layer |
| 111 | in which to accomplish builds. | 132 | in which to accomplish builds. |
| 112 | This layer is not specific to any single | 133 | This layer is not specific to any single |
| 113 | <filename>devtool</filename> command but is rather a common | 134 | <filename>devtool</filename> command but is rather a common |
| 114 | working area used across the tool. | 135 | working area used across the tool. |
| 115 | </para> | 136 | </para> |
| 116 | 137 | ||
| 117 | <para> | 138 | <para> |
| 118 | The following figure shows the workspace structure: | 139 | The following figure shows the workspace structure: |
| 119 | </para> | 140 | </para> |
| 120 | 141 | ||
| 121 | <para> | 142 | <para> |
| 122 | <imagedata fileref="figures/build-workspace-directory.png" | 143 | <imagedata fileref="figures/build-workspace-directory.png" |
| 123 | width="6in" depth="5in" align="left" scale="70" /> | 144 | width="6in" depth="5in" align="left" scale="70" /> |
| 124 | </para> | 145 | </para> |
| 125 | 146 | ||
| 126 | <para> | 147 | <para> |
| 127 | <literallayout class='monospaced'> | 148 | <literallayout class='monospaced'> |
| 128 | attic - A directory created if devtool believes it preserve | 149 | attic - A directory created if devtool believes it preserve |
| 129 | anything when you run "devtool reset". For example, if you | 150 | anything when you run "devtool reset". For example, if you |
| 130 | run "devtool add", make changes to the recipe, and then | 151 | run "devtool add", make changes to the recipe, and then |
| @@ -152,433 +173,433 @@ | |||
| 152 | as the location of the source tree when you do not provide a | 173 | as the location of the source tree when you do not provide a |
| 153 | source tree path. This directory contains a folder for each | 174 | source tree path. This directory contains a folder for each |
| 154 | set of source files matched to a corresponding recipe. | 175 | set of source files matched to a corresponding recipe. |
| 155 | </literallayout> | 176 | </literallayout> |
| 156 | </para> | 177 | </para> |
| 157 | </section> | 178 | </section> |
| 158 | 179 | ||
| 159 | <section id='devtool-adding-a-new-recipe-to-the-workspace'> | 180 | <section id='devtool-adding-a-new-recipe-to-the-workspace'> |
| 160 | <title>Adding a New Recipe to the Workspace Layer</title> | 181 | <title>Adding a New Recipe to the Workspace Layer</title> |
| 161 | 182 | ||
| 162 | <para> | 183 | <para> |
| 163 | Use the <filename>devtool add</filename> command to add a new recipe | 184 | Use the <filename>devtool add</filename> command to add a new recipe |
| 164 | to the workspace layer. | 185 | to the workspace layer. |
| 165 | The recipe you add should not exist - | 186 | The recipe you add should not exist - |
| 166 | <filename>devtool</filename> creates it for you. | 187 | <filename>devtool</filename> creates it for you. |
| 167 | The source files the recipe uses should exist in an external | 188 | The source files the recipe uses should exist in an external |
| 168 | area. | 189 | area. |
| 169 | </para> | 190 | </para> |
| 170 | 191 | ||
| 171 | <para> | 192 | <para> |
| 172 | The following example creates and adds a new recipe named | 193 | The following example creates and adds a new recipe named |
| 173 | <filename>jackson</filename> to a workspace layer the tool creates. | 194 | <filename>jackson</filename> to a workspace layer the tool creates. |
| 174 | The source code built by the recipes resides in | 195 | The source code built by the recipes resides in |
| 175 | <filename>/home/scottrif/sources/jackson</filename>: | 196 | <filename>/home/scottrif/sources/jackson</filename>: |
| 176 | <literallayout class='monospaced'> | 197 | <literallayout class='monospaced'> |
| 177 | $ devtool add jackson /home/scottrif/sources/jackson | 198 | $ devtool add jackson /home/scottrif/sources/jackson |
| 178 | </literallayout> | 199 | </literallayout> |
| 179 | </para> | 200 | </para> |
| 180 | 201 | ||
| 181 | <para> | 202 | <para> |
| 182 | If you add a recipe and the workspace layer does not exist, | 203 | If you add a recipe and the workspace layer does not exist, |
| 183 | the command creates the layer and populates it as | 204 | the command creates the layer and populates it as |
| 184 | described in | 205 | described in |
| 185 | "<link linkend='devtool-the-workspace-layer-structure'>The Workspace Layer Structure</link>" | 206 | "<link linkend='devtool-the-workspace-layer-structure'>The Workspace Layer Structure</link>" |
| 186 | section. | 207 | section. |
| 187 | </para> | 208 | </para> |
| 188 | 209 | ||
| 189 | <para> | 210 | <para> |
| 190 | Running <filename>devtool add</filename> when the | 211 | Running <filename>devtool add</filename> when the |
| 191 | workspace layer exists causes the tool to add the recipe, | 212 | workspace layer exists causes the tool to add the recipe, |
| 192 | append files, and source files into the existing workspace layer. | 213 | append files, and source files into the existing workspace layer. |
| 193 | The <filename>.bbappend</filename> file is created to point | 214 | The <filename>.bbappend</filename> file is created to point |
| 194 | to the external source tree. | 215 | to the external source tree. |
| 195 | </para> | 216 | </para> |
| 196 | </section> | 217 | </section> |
| 197 | 218 | ||
| 198 | <section id='devtool-extracting-the-source-for-an-existing-recipe'> | 219 | <section id='devtool-extracting-the-source-for-an-existing-recipe'> |
| 199 | <title>Extracting the Source for an Existing Recipe</title> | 220 | <title>Extracting the Source for an Existing Recipe</title> |
| 200 | 221 | ||
| 201 | <para> | 222 | <para> |
| 202 | Use the <filename>devtool extract</filename> command to | 223 | Use the <filename>devtool extract</filename> command to |
| 203 | extract the source for an existing recipe. | 224 | extract the source for an existing recipe. |
| 204 | When you use this command, you must supply the root name | 225 | When you use this command, you must supply the root name |
| 205 | of the recipe (i.e. no version, paths, or extensions), and | 226 | of the recipe (i.e. no version, paths, or extensions), and |
| 206 | you must supply the directory to which you want the source | 227 | you must supply the directory to which you want the source |
| 207 | extracted. | 228 | extracted. |
| 208 | </para> | 229 | </para> |
| 209 | 230 | ||
| 210 | <para> | 231 | <para> |
| 211 | Additional command options let you control the name of a | 232 | Additional command options let you control the name of a |
| 212 | development branch into which you can checkout the source | 233 | development branch into which you can checkout the source |
| 213 | and whether or not to keep a temporary directory, which is | 234 | and whether or not to keep a temporary directory, which is |
| 214 | useful for debugging. | 235 | useful for debugging. |
| 215 | </para> | 236 | </para> |
| 216 | </section> | 237 | </section> |
| 217 | 238 | ||
| 218 | <section id='devtool-synchronizing-a-recipes-extracted-source-tree'> | 239 | <section id='devtool-synchronizing-a-recipes-extracted-source-tree'> |
| 219 | <title>Synchronizing a Recipe's Extracted Source Tree</title> | 240 | <title>Synchronizing a Recipe's Extracted Source Tree</title> |
| 220 | 241 | ||
| 221 | <para> | 242 | <para> |
| 222 | Use the <filename>devtool sync</filename> command to | 243 | Use the <filename>devtool sync</filename> command to |
| 223 | synchronize a previously extracted source tree for an | 244 | synchronize a previously extracted source tree for an |
| 224 | existing recipe. | 245 | existing recipe. |
| 225 | When you use this command, you must supply the root name | 246 | When you use this command, you must supply the root name |
| 226 | of the recipe (i.e. no version, paths, or extensions), and | 247 | of the recipe (i.e. no version, paths, or extensions), and |
| 227 | you must supply the directory to which you want the source | 248 | you must supply the directory to which you want the source |
| 228 | extracted. | 249 | extracted. |
| 229 | </para> | 250 | </para> |
| 230 | 251 | ||
| 231 | <para> | 252 | <para> |
| 232 | Additional command options let you control the name of a | 253 | Additional command options let you control the name of a |
| 233 | development branch into which you can checkout the source | 254 | development branch into which you can checkout the source |
| 234 | and whether or not to keep a temporary directory, which is | 255 | and whether or not to keep a temporary directory, which is |
| 235 | useful for debugging. | 256 | useful for debugging. |
| 236 | </para> | 257 | </para> |
| 237 | </section> | 258 | </section> |
| 238 | 259 | ||
| 239 | <section id='devtool-modifying-a-recipe'> | 260 | <section id='devtool-modifying-a-recipe'> |
| 240 | <title>Modifying an Existing Recipe</title> | 261 | <title>Modifying an Existing Recipe</title> |
| 241 | 262 | ||
| 242 | <para> | 263 | <para> |
| 243 | Use the <filename>devtool modify</filename> command to begin | 264 | Use the <filename>devtool modify</filename> command to begin |
| 244 | modifying the source of an existing recipe. | 265 | modifying the source of an existing recipe. |
| 245 | This command is very similar to the | 266 | This command is very similar to the |
| 246 | <ulink url='&YOCTO_DOCS_DEV_URL;#devtool-adding-a-new-recipe-to-the-workspace'><filename>add</filename></ulink> | 267 | <ulink url='&YOCTO_DOCS_DEV_URL;#devtool-adding-a-new-recipe-to-the-workspace'><filename>add</filename></ulink> |
| 247 | command except that it does not physically create the | 268 | command except that it does not physically create the |
| 248 | recipe in the workspace layer because the recipe already | 269 | recipe in the workspace layer because the recipe already |
| 249 | exists in an another layer. | 270 | exists in an another layer. |
| 250 | </para> | 271 | </para> |
| 251 | 272 | ||
| 252 | <para> | 273 | <para> |
| 253 | The <filename>devtool modify</filename> command extracts the | 274 | The <filename>devtool modify</filename> command extracts the |
| 254 | source for a recipe, sets it up as a Git repository if the | 275 | source for a recipe, sets it up as a Git repository if the |
| 255 | source had not already been fetched from Git, checks out a | 276 | source had not already been fetched from Git, checks out a |
| 256 | branch for development, and applies any patches from the recipe | 277 | branch for development, and applies any patches from the recipe |
| 257 | as commits on top. | 278 | as commits on top. |
| 258 | You can use the following command to checkout the source | 279 | You can use the following command to checkout the source |
| 259 | files: | 280 | files: |
| 260 | <literallayout class='monospaced'> | 281 | <literallayout class='monospaced'> |
| 261 | $ devtool modify <replaceable>recipe</replaceable> | 282 | $ devtool modify <replaceable>recipe</replaceable> |
| 262 | </literallayout> | 283 | </literallayout> |
| 263 | Using the above command form, <filename>devtool</filename> uses | 284 | Using the above command form, <filename>devtool</filename> uses |
| 264 | the existing recipe's | 285 | the existing recipe's |
| 265 | <link linkend='var-SRC_URI'><filename>SRC_URI</filename></link> | 286 | <link linkend='var-SRC_URI'><filename>SRC_URI</filename></link> |
| 266 | statement to locate the upstream source, extracts the source | 287 | statement to locate the upstream source, extracts the source |
| 267 | into the default sources location in the workspace. | 288 | into the default sources location in the workspace. |
| 268 | The default development branch used is "devtool". | 289 | The default development branch used is "devtool". |
| 269 | </para> | 290 | </para> |
| 270 | </section> | 291 | </section> |
| 271 | 292 | ||
| 272 | <section id='devtool-edit-an-existing-recipe'> | 293 | <section id='devtool-edit-an-existing-recipe'> |
| 273 | <title>Edit an Existing Recipe</title> | 294 | <title>Edit an Existing Recipe</title> |
| 274 | 295 | ||
| 275 | <para> | 296 | <para> |
| 276 | Use the <filename>devtool edit-recipe</filename> command | 297 | Use the <filename>devtool edit-recipe</filename> command |
| 277 | to run the default editor, which is identified using the | 298 | to run the default editor, which is identified using the |
| 278 | <filename>EDITOR</filename> variable, on the specified recipe. | 299 | <filename>EDITOR</filename> variable, on the specified recipe. |
| 279 | </para> | 300 | </para> |
| 280 | 301 | ||
| 281 | <para> | 302 | <para> |
| 282 | When you use the <filename>devtool edit-recipe</filename> | 303 | When you use the <filename>devtool edit-recipe</filename> |
| 283 | command, you must supply the root name of the recipe | 304 | command, you must supply the root name of the recipe |
| 284 | (i.e. no version, paths, or extensions). | 305 | (i.e. no version, paths, or extensions). |
| 285 | Also, the recipe file itself must reside in the workspace | 306 | Also, the recipe file itself must reside in the workspace |
| 286 | as a result of the <filename>devtool add</filename> or | 307 | as a result of the <filename>devtool add</filename> or |
| 287 | <filename>devtool upgrade</filename> commands. | 308 | <filename>devtool upgrade</filename> commands. |
| 288 | However, you can override that requirement by using the | 309 | However, you can override that requirement by using the |
| 289 | "-a" or "--any-recipe" option. | 310 | "-a" or "--any-recipe" option. |
| 290 | Using either of these options allows you to edit any recipe | 311 | Using either of these options allows you to edit any recipe |
| 291 | regardless of its location. | 312 | regardless of its location. |
| 292 | </para> | 313 | </para> |
| 293 | </section> | 314 | </section> |
| 294 | 315 | ||
| 295 | <section id='devtool-updating-a-recipe'> | 316 | <section id='devtool-updating-a-recipe'> |
| 296 | <title>Updating a Recipe</title> | 317 | <title>Updating a Recipe</title> |
| 297 | 318 | ||
| 298 | <para> | 319 | <para> |
| 299 | Use the <filename>devtool update-recipe</filename> command to | 320 | Use the <filename>devtool update-recipe</filename> command to |
| 300 | update your recipe with patches that reflect changes you make | 321 | update your recipe with patches that reflect changes you make |
| 301 | to the source files. | 322 | to the source files. |
| 302 | For example, if you know you are going to work on some | 323 | For example, if you know you are going to work on some |
| 303 | code, you could first use the | 324 | code, you could first use the |
| 304 | <ulink url='&YOCTO_DOCS_DEV_URL;#devtool-modifying-a-recipe'><filename>devtool modify</filename></ulink> | 325 | <ulink url='&YOCTO_DOCS_DEV_URL;#devtool-modifying-a-recipe'><filename>devtool modify</filename></ulink> |
| 305 | command to extract the code and set up the workspace. | 326 | command to extract the code and set up the workspace. |
| 306 | After which, you could modify, compile, and test the code. | 327 | After which, you could modify, compile, and test the code. |
| 307 | </para> | 328 | </para> |
| 308 | 329 | ||
| 309 | <para> | 330 | <para> |
| 310 | When you are satisfied with the results and you have committed | 331 | When you are satisfied with the results and you have committed |
| 311 | your changes to the Git repository, you can then | 332 | your changes to the Git repository, you can then |
| 312 | run the <filename>devtool update-recipe</filename> to create the | 333 | run the <filename>devtool update-recipe</filename> to create the |
| 313 | patches and update the recipe: | 334 | patches and update the recipe: |
| 314 | <literallayout class='monospaced'> | 335 | <literallayout class='monospaced'> |
| 315 | $ devtool update-recipe <replaceable>recipe</replaceable> | 336 | $ devtool update-recipe <replaceable>recipe</replaceable> |
| 316 | </literallayout> | 337 | </literallayout> |
| 317 | If you run the <filename>devtool update-recipe</filename> | 338 | If you run the <filename>devtool update-recipe</filename> |
| 318 | without committing your changes, the command ignores the | 339 | without committing your changes, the command ignores the |
| 319 | changes. | 340 | changes. |
| 320 | </para> | 341 | </para> |
| 321 | 342 | ||
| 322 | <para> | 343 | <para> |
| 323 | Often, you might want to apply customizations made to your | 344 | Often, you might want to apply customizations made to your |
| 324 | software in your own layer rather than apply them to the | 345 | software in your own layer rather than apply them to the |
| 325 | original recipe. | 346 | original recipe. |
| 326 | If so, you can use the | 347 | If so, you can use the |
| 327 | <filename>-a</filename> or <filename>--append</filename> | 348 | <filename>-a</filename> or <filename>--append</filename> |
| 328 | option with the <filename>devtool update-recipe</filename> | 349 | option with the <filename>devtool update-recipe</filename> |
| 329 | command. | 350 | command. |
| 330 | These options allow you to specify the layer into which to | 351 | These options allow you to specify the layer into which to |
| 331 | write an append file: | 352 | write an append file: |
| 332 | <literallayout class='monospaced'> | 353 | <literallayout class='monospaced'> |
| 333 | $ devtool update-recipe <replaceable>recipe</replaceable> -a <replaceable>base-layer-directory</replaceable> | 354 | $ devtool update-recipe <replaceable>recipe</replaceable> -a <replaceable>base-layer-directory</replaceable> |
| 334 | </literallayout> | 355 | </literallayout> |
| 335 | The <filename>*.bbappend</filename> file is created at the | 356 | The <filename>*.bbappend</filename> file is created at the |
| 336 | appropriate path within the specified layer directory, which | 357 | appropriate path within the specified layer directory, which |
| 337 | may or may not be in your <filename>bblayers.conf</filename> | 358 | may or may not be in your <filename>bblayers.conf</filename> |
| 338 | file. | 359 | file. |
| 339 | If an append file already exists, the command updates it | 360 | If an append file already exists, the command updates it |
| 340 | appropriately. | 361 | appropriately. |
| 341 | </para> | 362 | </para> |
| 342 | </section> | 363 | </section> |
| 343 | 364 | ||
| 344 | <section id='devtool-upgrading-a-recipe'> | 365 | <section id='devtool-upgrading-a-recipe'> |
| 345 | <title>Upgrading a Recipe</title> | 366 | <title>Upgrading a Recipe</title> |
| 346 | 367 | ||
| 347 | <para> | 368 | <para> |
| 348 | Use the <filename>devtool upgrade</filename> command | 369 | Use the <filename>devtool upgrade</filename> command |
| 349 | to upgrade an existing recipe to a new upstream version. | 370 | to upgrade an existing recipe to a new upstream version. |
| 350 | The command puts the upgraded recipe file into the | 371 | The command puts the upgraded recipe file into the |
| 351 | workspace along with any associated files, and extracts | 372 | workspace along with any associated files, and extracts |
| 352 | the source tree to a specified location should patches | 373 | the source tree to a specified location should patches |
| 353 | need rebased or added to as a result of the upgrade. | 374 | need rebased or added to as a result of the upgrade. |
| 354 | </para> | 375 | </para> |
| 355 | 376 | ||
| 356 | <para> | 377 | <para> |
| 357 | When you use the <filename>devtool upgrade</filename> command, | 378 | When you use the <filename>devtool upgrade</filename> command, |
| 358 | you must supply the root name of the recipe (i.e. no version, | 379 | you must supply the root name of the recipe (i.e. no version, |
| 359 | paths, or extensions), and you must supply the directory | 380 | paths, or extensions), and you must supply the directory |
| 360 | to which you want the source extracted. | 381 | to which you want the source extracted. |
| 361 | Additional command options let you control things such as | 382 | Additional command options let you control things such as |
| 362 | the version number to which you want to upgrade (i.e. the | 383 | the version number to which you want to upgrade (i.e. the |
| 363 | <link linkend='var-PV'><filename>PV</filename></link>), | 384 | <link linkend='var-PV'><filename>PV</filename></link>), |
| 364 | the source revision to which you want to upgrade (i.e. the | 385 | the source revision to which you want to upgrade (i.e. the |
| 365 | <link linkend='var-SRCREV'><filename>SRCREV</filename></link>, | 386 | <link linkend='var-SRCREV'><filename>SRCREV</filename></link>, |
| 366 | whether or not to apply patches, and so forth. | 387 | whether or not to apply patches, and so forth. |
| 367 | </para> | 388 | </para> |
| 368 | </section> | 389 | </section> |
| 369 | 390 | ||
| 370 | <section id='devtool-resetting-a-recipe'> | 391 | <section id='devtool-resetting-a-recipe'> |
| 371 | <title>Resetting a Recipe</title> | 392 | <title>Resetting a Recipe</title> |
| 372 | 393 | ||
| 373 | <para> | 394 | <para> |
| 374 | Use the <filename>devtool reset</filename> command to remove a | 395 | Use the <filename>devtool reset</filename> command to remove a |
| 375 | recipe and its configuration (e.g. the corresponding | 396 | recipe and its configuration (e.g. the corresponding |
| 376 | <filename>.bbappend</filename> file) from the workspace layer. | 397 | <filename>.bbappend</filename> file) from the workspace layer. |
| 377 | Realize that this command deletes the recipe and the | 398 | Realize that this command deletes the recipe and the |
| 378 | append file. | 399 | append file. |
| 379 | The command does not physically move them for you. | 400 | The command does not physically move them for you. |
| 380 | Consequently, you must be sure to physically relocate your | 401 | Consequently, you must be sure to physically relocate your |
| 381 | updated recipe and the append file outside of the workspace | 402 | updated recipe and the append file outside of the workspace |
| 382 | layer before running the <filename>devtool reset</filename> | 403 | layer before running the <filename>devtool reset</filename> |
| 383 | command. | 404 | command. |
| 384 | </para> | 405 | </para> |
| 385 | 406 | ||
| 386 | <para> | 407 | <para> |
| 387 | If the <filename>devtool reset</filename> command detects that | 408 | If the <filename>devtool reset</filename> command detects that |
| 388 | the recipe or the append files have been modified, the | 409 | the recipe or the append files have been modified, the |
| 389 | command preserves the modified files in a separate "attic" | 410 | command preserves the modified files in a separate "attic" |
| 390 | subdirectory under the workspace layer. | 411 | subdirectory under the workspace layer. |
| 391 | </para> | 412 | </para> |
| 392 | 413 | ||
| 393 | <para> | 414 | <para> |
| 394 | Here is an example that resets the workspace directory that | 415 | Here is an example that resets the workspace directory that |
| 395 | contains the <filename>mtr</filename> recipe: | 416 | contains the <filename>mtr</filename> recipe: |
| 396 | <literallayout class='monospaced'> | 417 | <literallayout class='monospaced'> |
| 397 | $ devtool reset mtr | 418 | $ devtool reset mtr |
| 398 | NOTE: Cleaning sysroot for recipe mtr... | 419 | NOTE: Cleaning sysroot for recipe mtr... |
| 399 | NOTE: Leaving source tree /home/scottrif/poky/build/workspace/sources/mtr as-is; if you no | 420 | NOTE: Leaving source tree /home/scottrif/poky/build/workspace/sources/mtr as-is; if you no |
| 400 | longer need it then please delete it manually | 421 | longer need it then please delete it manually |
| 401 | $ | 422 | $ |
| 402 | </literallayout> | 423 | </literallayout> |
| 403 | </para> | 424 | </para> |
| 404 | </section> | 425 | </section> |
| 405 | 426 | ||
| 406 | <section id='devtool-building-your-recipe'> | 427 | <section id='devtool-building-your-recipe'> |
| 407 | <title>Building Your Recipe</title> | 428 | <title>Building Your Recipe</title> |
| 408 | 429 | ||
| 409 | <para> | 430 | <para> |
| 410 | Use the <filename>devtool build</filename> command to cause the | 431 | Use the <filename>devtool build</filename> command to cause the |
| 411 | OpenEmbedded build system to build your recipe. | 432 | OpenEmbedded build system to build your recipe. |
| 412 | The <filename>devtool build</filename> command is equivalent to | 433 | The <filename>devtool build</filename> command is equivalent to |
| 413 | <filename>bitbake -c populate_sysroot</filename>. | 434 | <filename>bitbake -c populate_sysroot</filename>. |
| 414 | </para> | 435 | </para> |
| 415 | 436 | ||
| 416 | <para> | 437 | <para> |
| 417 | When you use the <filename>devtool build</filename> command, | 438 | When you use the <filename>devtool build</filename> command, |
| 418 | you must supply the root name of the recipe (i.e. no version, | 439 | you must supply the root name of the recipe (i.e. no version, |
| 419 | paths, or extensions). | 440 | paths, or extensions). |
| 420 | You can use either the "-s" or the "--disable-parallel-make" | 441 | You can use either the "-s" or the "--disable-parallel-make" |
| 421 | option to disable parallel makes during the build. | 442 | option to disable parallel makes during the build. |
| 422 | Here is an example: | 443 | Here is an example: |
| 423 | <literallayout class='monospaced'> | 444 | <literallayout class='monospaced'> |
| 424 | $ devtool build <replaceable>recipe</replaceable> | 445 | $ devtool build <replaceable>recipe</replaceable> |
| 425 | </literallayout> | 446 | </literallayout> |
| 426 | </para> | 447 | </para> |
| 427 | </section> | 448 | </section> |
| 428 | 449 | ||
| 429 | <section id='devtool-building-your-image'> | 450 | <section id='devtool-building-your-image'> |
| 430 | <title>Building Your Image</title> | 451 | <title>Building Your Image</title> |
| 431 | 452 | ||
| 432 | <para> | 453 | <para> |
| 433 | Use the <filename>devtool build-image</filename> command | 454 | Use the <filename>devtool build-image</filename> command |
| 434 | to build an image, extending it to include packages from | 455 | to build an image, extending it to include packages from |
| 435 | recipes in the workspace. | 456 | recipes in the workspace. |
| 436 | Using this command is useful when you want an image that | 457 | Using this command is useful when you want an image that |
| 437 | ready for immediate deployment onto a device for testing. | 458 | ready for immediate deployment onto a device for testing. |
| 438 | For proper integration into a final image, you need to | 459 | For proper integration into a final image, you need to |
| 439 | edit your custom image recipe appropriately. | 460 | edit your custom image recipe appropriately. |
| 440 | </para> | 461 | </para> |
| 441 | 462 | ||
| 442 | <para> | 463 | <para> |
| 443 | When you use the <filename>devtool build-image</filename> | 464 | When you use the <filename>devtool build-image</filename> |
| 444 | command, you must supply the name of the image. | 465 | command, you must supply the name of the image. |
| 445 | This command has no command line options: | 466 | This command has no command line options: |
| 446 | <literallayout class='monospaced'> | 467 | <literallayout class='monospaced'> |
| 447 | $ devtool build-image <replaceable>image</replaceable> | 468 | $ devtool build-image <replaceable>image</replaceable> |
| 448 | </literallayout> | 469 | </literallayout> |
| 449 | </para> | 470 | </para> |
| 450 | </section> | 471 | </section> |
| 451 | 472 | ||
| 452 | <section id='devtool-deploying-your-software-on-the-target-machine'> | 473 | <section id='devtool-deploying-your-software-on-the-target-machine'> |
| 453 | <title>Deploying Your Software on the Target Machine</title> | 474 | <title>Deploying Your Software on the Target Machine</title> |
| 454 | 475 | ||
| 455 | <para> | 476 | <para> |
| 456 | Use the <filename>devtool deploy-target</filename> command to | 477 | Use the <filename>devtool deploy-target</filename> command to |
| 457 | deploy the recipe's build output to the live target machine: | 478 | deploy the recipe's build output to the live target machine: |
| 458 | <literallayout class='monospaced'> | 479 | <literallayout class='monospaced'> |
| 459 | $ devtool deploy-target <replaceable>recipe</replaceable> <replaceable>target</replaceable> | 480 | $ devtool deploy-target <replaceable>recipe</replaceable> <replaceable>target</replaceable> |
| 460 | </literallayout> | 481 | </literallayout> |
| 461 | The <replaceable>target</replaceable> is the address of the | 482 | The <replaceable>target</replaceable> is the address of the |
| 462 | target machine, which must be running an SSH server (i.e. | 483 | target machine, which must be running an SSH server (i.e. |
| 463 | <filename>user@hostname[:destdir]</filename>). | 484 | <filename>user@hostname[:destdir]</filename>). |
| 464 | </para> | 485 | </para> |
| 465 | 486 | ||
| 466 | <para> | 487 | <para> |
| 467 | This command deploys all files installed during the | 488 | This command deploys all files installed during the |
| 468 | <link linkend='ref-tasks-install'><filename>do_install</filename></link> | 489 | <link linkend='ref-tasks-install'><filename>do_install</filename></link> |
| 469 | task. | 490 | task. |
| 470 | Furthermore, you do not need to have package management enabled | 491 | Furthermore, you do not need to have package management enabled |
| 471 | within the target machine. | 492 | within the target machine. |
| 472 | If you do, the package manager is bypassed. | 493 | If you do, the package manager is bypassed. |
| 473 | <note><title>Notes</title> | 494 | <note><title>Notes</title> |
| 474 | <para> | 495 | <para> |
| 475 | The <filename>deploy-target</filename> | 496 | The <filename>deploy-target</filename> |
| 476 | functionality is for development only. | 497 | functionality is for development only. |
| 477 | You should never use it to update an image that will be | 498 | You should never use it to update an image that will be |
| 478 | used in production. | 499 | used in production. |
| 479 | </para> | 500 | </para> |
| 480 | </note> | 501 | </note> |
| 481 | </para> | 502 | </para> |
| 482 | </section> | 503 | </section> |
| 483 | 504 | ||
| 484 | <section id='devtool-removing-your-software-from-the-target-machine'> | 505 | <section id='devtool-removing-your-software-from-the-target-machine'> |
| 485 | <title>Removing Your Software from the Target Machine</title> | 506 | <title>Removing Your Software from the Target Machine</title> |
| 486 | 507 | ||
| 487 | <para> | 508 | <para> |
| 488 | Use the <filename>devtool undeploy-target</filename> command to | 509 | Use the <filename>devtool undeploy-target</filename> command to |
| 489 | remove deployed build output from the target machine. | 510 | remove deployed build output from the target machine. |
| 490 | For the <filename>devtool undeploy-target</filename> command to | 511 | For the <filename>devtool undeploy-target</filename> command to |
| 491 | work, you must have previously used the | 512 | work, you must have previously used the |
| 492 | <ulink url='&YOCTO_DOCS_DEV_URL;#devtool-deploying-your-software-on-the-target-machine'><filename>devtool deploy-target</filename></ulink> | 513 | <ulink url='&YOCTO_DOCS_DEV_URL;#devtool-deploying-your-software-on-the-target-machine'><filename>devtool deploy-target</filename></ulink> |
| 493 | command. | 514 | command. |
| 494 | <literallayout class='monospaced'> | 515 | <literallayout class='monospaced'> |
| 495 | $ devtool undeploy-target <replaceable>recipe</replaceable> <replaceable>target</replaceable> | 516 | $ devtool undeploy-target <replaceable>recipe</replaceable> <replaceable>target</replaceable> |
| 496 | </literallayout> | 517 | </literallayout> |
| 497 | The <replaceable>target</replaceable> is the address of the | 518 | The <replaceable>target</replaceable> is the address of the |
| 498 | target machine, which must be running an SSH server (i.e. | 519 | target machine, which must be running an SSH server (i.e. |
| 499 | <filename>user@hostname</filename>). | 520 | <filename>user@hostname</filename>). |
| 500 | </para> | 521 | </para> |
| 501 | </section> | 522 | </section> |
| 502 | 523 | ||
| 503 | <section id='devtool-creating-the-workspace'> | 524 | <section id='devtool-creating-the-workspace'> |
| 504 | <title>Creating the Workspace Layer in an Alternative Location</title> | 525 | <title>Creating the Workspace Layer in an Alternative Location</title> |
| 505 | 526 | ||
| 506 | <para> | 527 | <para> |
| 507 | Use the <filename>devtool create-workspace</filename> command to | 528 | Use the <filename>devtool create-workspace</filename> command to |
| 508 | create a new workspace layer in your | 529 | create a new workspace layer in your |
| 509 | <ulink url='&YOCTO_DOCS_DEV_URL;#build-directory'>Build Directory</ulink>. | 530 | <ulink url='&YOCTO_DOCS_DEV_URL;#build-directory'>Build Directory</ulink>. |
| 510 | When you create a new workspace layer, it is populated with the | 531 | When you create a new workspace layer, it is populated with the |
| 511 | <filename>README</filename> file and the | 532 | <filename>README</filename> file and the |
| 512 | <filename>conf</filename> directory only. | 533 | <filename>conf</filename> directory only. |
| 513 | </para> | 534 | </para> |
| 514 | 535 | ||
| 515 | <para> | 536 | <para> |
| 516 | The following example creates a new workspace layer in your | 537 | The following example creates a new workspace layer in your |
| 517 | current working and by default names the workspace layer | 538 | current working and by default names the workspace layer |
| 518 | "workspace": | 539 | "workspace": |
| 519 | <literallayout class='monospaced'> | 540 | <literallayout class='monospaced'> |
| 520 | $ devtool create-workspace | 541 | $ devtool create-workspace |
| 521 | </literallayout> | 542 | </literallayout> |
| 522 | </para> | 543 | </para> |
| 523 | 544 | ||
| 524 | <para> | 545 | <para> |
| 525 | You can create a workspace layer anywhere by supplying | 546 | You can create a workspace layer anywhere by supplying |
| 526 | a pathname with the command. | 547 | a pathname with the command. |
| 527 | The following command creates a new workspace layer named | 548 | The following command creates a new workspace layer named |
| 528 | "new-workspace": | 549 | "new-workspace": |
| 529 | <literallayout class='monospaced'> | 550 | <literallayout class='monospaced'> |
| 530 | $ devtool create-workspace /home/scottrif/new-workspace | 551 | $ devtool create-workspace /home/scottrif/new-workspace |
| 531 | </literallayout> | 552 | </literallayout> |
| 532 | </para> | 553 | </para> |
| 533 | </section> | 554 | </section> |
| 534 | 555 | ||
| 535 | <section id='devtool-get-the-status-of-the-recipes-in-your-workspace'> | 556 | <section id='devtool-get-the-status-of-the-recipes-in-your-workspace'> |
| 536 | <title>Get the Status of the Recipes in Your Workspace</title> | 557 | <title>Get the Status of the Recipes in Your Workspace</title> |
| 537 | 558 | ||
| 538 | <para> | 559 | <para> |
| 539 | Use the <filename>devtool status</filename> command to | 560 | Use the <filename>devtool status</filename> command to |
| 540 | list the recipes currently in your workspace. | 561 | list the recipes currently in your workspace. |
| 541 | Information includes the paths to their respective | 562 | Information includes the paths to their respective |
| 542 | external source trees. | 563 | external source trees. |
| 543 | </para> | 564 | </para> |
| 544 | 565 | ||
| 545 | <para> | 566 | <para> |
| 546 | The <filename>devtool status</filename> command has no | 567 | The <filename>devtool status</filename> command has no |
| 547 | command-line options: | 568 | command-line options: |
| 548 | <literallayout class='monospaced'> | 569 | <literallayout class='monospaced'> |
| 549 | devtool status | 570 | $ devtool status |
| 550 | </literallayout> | 571 | </literallayout> |
| 551 | Following is sample output after using | 572 | Following is sample output after using |
| 552 | <ulink url='&YOCTO_DOCS_DEV_URL;#devtool-adding-a-new-recipe-to-the-workspace'><filename>devtool add</filename></ulink> | 573 | <ulink url='&YOCTO_DOCS_DEV_URL;#devtool-adding-a-new-recipe-to-the-workspace'><filename>devtool add</filename></ulink> |
| 553 | to create and add the <filename>mtr_0.86.bb</filename> recipe | 574 | to create and add the <filename>mtr_0.86.bb</filename> recipe |
| 554 | to the <filename>workspace</filename> directory: | 575 | to the <filename>workspace</filename> directory: |
| 555 | <literallayout class='monospaced'> | 576 | <literallayout class='monospaced'> |
| 556 | $ devtool status | 577 | $ devtool status |
| 557 | mtr: /home/scottrif/poky/build/workspace/sources/mtr (/home/scottrif/poky/build/workspace/recipes/mtr/mtr_0.86.bb) | 578 | mtr: /home/scottrif/poky/build/workspace/sources/mtr (/home/scottrif/poky/build/workspace/recipes/mtr/mtr_0.86.bb) |
| 558 | $ | 579 | $ |
| 559 | </literallayout> | 580 | </literallayout> |
| 560 | </para> | 581 | </para> |
| 561 | </section> | 582 | </section> |
| 562 | 583 | ||
| 563 | <section id='devtool-search-for-available-target-recipes'> | 584 | <section id='devtool-search-for-available-target-recipes'> |
| 564 | <title>Search for Available Target Recipes</title> | 585 | <title>Search for Available Target Recipes</title> |
| 565 | 586 | ||
| 566 | <para> | 587 | <para> |
| 567 | Use the <filename>devtool search</filename> command to | 588 | Use the <filename>devtool search</filename> command to |
| 568 | search for available target recipes. | 589 | search for available target recipes. |
| 569 | The command matches the recipe name, package name, | 590 | The command matches the recipe name, package name, |
| 570 | description, and installed files. | 591 | description, and installed files. |
| 571 | The command displays the recipe name as a result of a | 592 | The command displays the recipe name as a result of a |
| 572 | match. | 593 | match. |
| 573 | </para> | 594 | </para> |
| 574 | 595 | ||
| 575 | <para> | 596 | <para> |
| 576 | When you use the <filename>devtool search</filename> command, | 597 | When you use the <filename>devtool search</filename> command, |
| 577 | you must supply a <replaceable>keyword</replaceable>. | 598 | you must supply a <replaceable>keyword</replaceable>. |
| 578 | The command uses the <replaceable>keyword</replaceable> when | 599 | The command uses the <replaceable>keyword</replaceable> when |
| 579 | searching for a match. | 600 | searching for a match. |
| 580 | </para> | 601 | </para> |
| 581 | </section> | 602 | </section> |
| 582 | </chapter> | 603 | </chapter> |
| 583 | <!-- | 604 | <!-- |
| 584 | vim: expandtab tw=80 ts=4 | 605 | vim: expandtab tw=80 ts=4 |
