summaryrefslogtreecommitdiffstats
path: root/documentation/dev-manual/dev-manual-newbie.xml
diff options
context:
space:
mode:
Diffstat (limited to 'documentation/dev-manual/dev-manual-newbie.xml')
-rw-r--r--documentation/dev-manual/dev-manual-newbie.xml52
1 files changed, 29 insertions, 23 deletions
diff --git a/documentation/dev-manual/dev-manual-newbie.xml b/documentation/dev-manual/dev-manual-newbie.xml
index 20cf234a6b..bb01131c05 100644
--- a/documentation/dev-manual/dev-manual-newbie.xml
+++ b/documentation/dev-manual/dev-manual-newbie.xml
@@ -130,7 +130,7 @@
130 From the interface, you can click on any particular item in the "Name" column and 130 From the interface, you can click on any particular item in the "Name" column and
131 see the URL at the bottom of the page that you need to set up a Git repository for 131 see the URL at the bottom of the page that you need to set up a Git repository for
132 that particular item. 132 that particular item.
133 Having a local Git repository of the source directory (poky) allows you to 133 Having a local Git repository of the Source Directory (poky) allows you to
134 make changes, contribute to the history, and ultimately enhance the Yocto Project's 134 make changes, contribute to the history, and ultimately enhance the Yocto Project's
135 tools, Board Support Packages, and so forth. 135 tools, Board Support Packages, and so forth.
136 </para> 136 </para>
@@ -148,7 +148,7 @@
148 <ulink url='&YOCTO_HOME_URL;/download'>download page</ulink> and get a 148 <ulink url='&YOCTO_HOME_URL;/download'>download page</ulink> and get a
149 tarball of the release. 149 tarball of the release.
150 You can also go to this site to download any supported BSP tarballs. 150 You can also go to this site to download any supported BSP tarballs.
151 Unpacking the tarball gives you a hierarchical source directory that lets you develop 151 Unpacking the tarball gives you a hierarchical Source Directory that lets you develop
152 using the Yocto Project. 152 using the Yocto Project.
153 </para> 153 </para>
154 154
@@ -220,31 +220,31 @@
220 <para id='build-directory'><emphasis>Build Directory:</emphasis> 220 <para id='build-directory'><emphasis>Build Directory:</emphasis>
221 This term refers to the area used by the OpenEmbedded build system for builds. 221 This term refers to the area used by the OpenEmbedded build system for builds.
222 The area is created when you <filename>source</filename> the setup 222 The area is created when you <filename>source</filename> the setup
223 environment script that is found in the source directory 223 environment script that is found in the Source Directory
224 (i.e. <filename>oe-init-build-env</filename>). 224 (i.e. <filename>&OE_INIT_FILE;</filename>).
225 The <ulink url='&YOCTO_DOCS_REF_URL;#var-TOPDIR'><filename>TOPDIR</filename></ulink> 225 The <ulink url='&YOCTO_DOCS_REF_URL;#var-TOPDIR'><filename>TOPDIR</filename></ulink>
226 variable points to the build directory.</para> 226 variable points to the Build Directory.</para>
227 227
228 <para>You have a lot of flexibility when creating the build directory. 228 <para>You have a lot of flexibility when creating the Build Directory.
229 Following are some examples that show how to create the directory: 229 Following are some examples that show how to create the directory:
230 <itemizedlist> 230 <itemizedlist>
231 <listitem><para>Create the build directory in your current working directory 231 <listitem><para>Create the Build Directory in your current working directory
232 and name it <filename>build</filename>. 232 and name it <filename>build</filename>.
233 This is the default behavior. 233 This is the default behavior.
234 <literallayout class='monospaced'> 234 <literallayout class='monospaced'>
235 $ source oe-init-build-env 235 $ source &OE_INIT_PATH;
236 </literallayout></para></listitem> 236 </literallayout></para></listitem>
237 <listitem><para>Provide a directory path and specifically name the build 237 <listitem><para>Provide a directory path and specifically name the build
238 directory. 238 directory.
239 This next example creates a build directory named <filename>YP-&POKYVERSION;</filename> 239 This next example creates a Build Directory named <filename>YP-&POKYVERSION;</filename>
240 in your home directory within the directory <filename>mybuilds</filename>. 240 in your home directory within the directory <filename>mybuilds</filename>.
241 If <filename>mybuilds</filename> does not exist, the directory is created for you: 241 If <filename>mybuilds</filename> does not exist, the directory is created for you:
242 <literallayout class='monospaced'> 242 <literallayout class='monospaced'>
243 $ source &OE_INIT_PATH; $HOME/mybuilds/YP-&POKYVERSION; 243 $ source &OE_INIT_PATH; $HOME/mybuilds/YP-&POKYVERSION;
244 </literallayout></para></listitem> 244 </literallayout></para></listitem>
245 <listitem><para>Provide an existing directory to use as the build directory. 245 <listitem><para>Provide an existing directory to use as the Build Directory.
246 This example uses the existing <filename>mybuilds</filename> directory 246 This example uses the existing <filename>mybuilds</filename> directory
247 as the build directory. 247 as the Build Directory.
248 <literallayout class='monospaced'> 248 <literallayout class='monospaced'>
249 $ source &OE_INIT_PATH; $HOME/mybuilds/ 249 $ source &OE_INIT_PATH; $HOME/mybuilds/
250 </literallayout></para></listitem> 250 </literallayout></para></listitem>
@@ -254,7 +254,7 @@
254 this term refers to the OpenEmbedded build system used by the project. 254 this term refers to the OpenEmbedded build system used by the project.
255 This build system is based on the project known as "Poky." 255 This build system is based on the project known as "Poky."
256 For some historical information about Poky, see the 256 For some historical information about Poky, see the
257 <link linkend='poky'>poky</link> term further along in this section. 257 <link linkend='poky'>Poky</link> term further along in this section.
258 </para></listitem> 258 </para></listitem>
259 <listitem><para><emphasis>Classes:</emphasis> Files that provide for logic encapsulation 259 <listitem><para><emphasis>Classes:</emphasis> Files that provide for logic encapsulation
260 and inheritance allowing commonly used patterns to be defined once and easily used 260 and inheritance allowing commonly used patterns to be defined once and easily used
@@ -264,14 +264,14 @@
264 <listitem><para><emphasis>Configuration File:</emphasis> Configuration information in various 264 <listitem><para><emphasis>Configuration File:</emphasis> Configuration information in various
265 <filename>.conf</filename> files provides global definitions of variables. 265 <filename>.conf</filename> files provides global definitions of variables.
266 The <filename>conf/local.conf</filename> configuration file in the 266 The <filename>conf/local.conf</filename> configuration file in the
267 <link linkend='build-directory'>build directory</link> 267 <link linkend='build-directory'>Build Directory</link>
268 contains user-defined variables that affect each build. 268 contains user-defined variables that affect each build.
269 The <filename>meta-yocto/conf/distro/poky.conf</filename> configuration file 269 The <filename>meta-yocto/conf/distro/poky.conf</filename> configuration file
270 defines Yocto ‘distro’ configuration 270 defines Yocto ‘distro’ configuration
271 variables used only when building with this policy. 271 variables used only when building with this policy.
272 Machine configuration files, which 272 Machine configuration files, which
273 are located throughout the 273 are located throughout the
274 <link linkend='source-directory'>source directory</link>, define 274 <link linkend='source-directory'>Source Directory</link>, define
275 variables for specific hardware and are only used when building for that target 275 variables for specific hardware and are only used when building for that target
276 (e.g. the <filename>machine/beagleboard.conf</filename> configuration file defines 276 (e.g. the <filename>machine/beagleboard.conf</filename> configuration file defines
277 variables for the Texas Instruments ARM Cortex-A8 development board). 277 variables for the Texas Instruments ARM Cortex-A8 development board).
@@ -332,7 +332,7 @@
332 the Yocto Project's build system. 332 the Yocto Project's build system.
333 Within the Yocto Project source repositories, poky exists as a separate Git repository 333 Within the Yocto Project source repositories, poky exists as a separate Git repository
334 that can be cloned to yield a local copy on the host system. 334 that can be cloned to yield a local copy on the host system.
335 Thus, "poky" can refer to the local copy of the source directory used to develop within 335 Thus, "poky" can refer to the local copy of the Source Directory used to develop within
336 the Yocto Project.</para></listitem> 336 the Yocto Project.</para></listitem>
337 <listitem><para><emphasis>Recipe:</emphasis> A set of instructions for building packages. 337 <listitem><para><emphasis>Recipe:</emphasis> A set of instructions for building packages.
338 A recipe describes where you get source code and which patches to apply. 338 A recipe describes where you get source code and which patches to apply.
@@ -349,15 +349,15 @@
349 Sometimes you might here the term "poky directory" used to refer to this 349 Sometimes you might here the term "poky directory" used to refer to this
350 directory structure.</para> 350 directory structure.</para>
351 351
352 <para>The source directory contains BitBake, Documentation, metadata and 352 <para>The Source Directory contains BitBake, Documentation, metadata and
353 other files that all support the Yocto Project. 353 other files that all support the Yocto Project.
354 Consequently, you must have the source directory in place on your development 354 Consequently, you must have the Source Directory in place on your development
355 system in order to do any development using the Yocto Project.</para> 355 system in order to do any development using the Yocto Project.</para>
356 356
357 <para>For tarball expansion, the name of the top-level directory of the source directory 357 <para>For tarball expansion, the name of the top-level directory of the Source Directory
358 is derived from the Yocto Project release tarball. 358 is derived from the Yocto Project release tarball.
359 For example, downloading and unpacking <filename>&YOCTO_POKY_TARBALL;</filename> 359 For example, downloading and unpacking <filename>&YOCTO_POKY_TARBALL;</filename>
360 results in a source directory whose top-level folder is named 360 results in a Source Directory whose top-level folder is named
361 <filename>&YOCTO_POKY;</filename>. 361 <filename>&YOCTO_POKY;</filename>.
362 If you create a local copy of the Git repository, then you can name the repository 362 If you create a local copy of the Git repository, then you can name the repository
363 anything you like. 363 anything you like.
@@ -366,15 +366,15 @@
366 So, for example, cloning the <filename>poky</filename> Git repository results in a 366 So, for example, cloning the <filename>poky</filename> Git repository results in a
367 local Git repository whose top-level folder is also named <filename>poky</filename>.</para> 367 local Git repository whose top-level folder is also named <filename>poky</filename>.</para>
368 368
369 <para>It is important to understand the differences between the source directory created 369 <para>It is important to understand the differences between the Source Directory created
370 by unpacking a released tarball as compared to cloning 370 by unpacking a released tarball as compared to cloning
371 <filename>git://git.yoctoproject.org/poky</filename>. 371 <filename>git://git.yoctoproject.org/poky</filename>.
372 When you unpack a tarball, you have an exact copy of the files based on the time of 372 When you unpack a tarball, you have an exact copy of the files based on the time of
373 release - a fixed release point. 373 release - a fixed release point.
374 Any changes you make to your local files in the source directory are on top of the release. 374 Any changes you make to your local files in the Source Directory are on top of the release.
375 On the other hand, when you clone the <filename>poky</filename> Git repository, you have an 375 On the other hand, when you clone the <filename>poky</filename> Git repository, you have an
376 active development repository. 376 active development repository.
377 In this case, any local changes you make to the source directory can be later applied 377 In this case, any local changes you make to the Source Directory can be later applied
378 to active development branches of the upstream <filename>poky</filename> Git 378 to active development branches of the upstream <filename>poky</filename> Git
379 repository.</para> 379 repository.</para>
380 380
@@ -438,7 +438,7 @@
438 <filename>meta/files/common-licenses</filename>. 438 <filename>meta/files/common-licenses</filename>.
439 Once the build completes, the list of all licenses found and used during that build are 439 Once the build completes, the list of all licenses found and used during that build are
440 kept in the 440 kept in the
441 <link linkend='build-directory'>build directory</link> at 441 <link linkend='build-directory'>Build Directory</link> at
442 <filename>tmp/deploy/images/licenses</filename>. 442 <filename>tmp/deploy/images/licenses</filename>.
443 </para> 443 </para>
444 444
@@ -466,6 +466,12 @@
466 <ulink url='&YOCTO_GIT_URL;/cgit/cgit.cgi/poky/tree/meta/files/common-licenses'>here</ulink>. 466 <ulink url='&YOCTO_GIT_URL;/cgit/cgit.cgi/poky/tree/meta/files/common-licenses'>here</ulink>.
467 This wiki page discusses the license infrastructure used by the Yocto Project. 467 This wiki page discusses the license infrastructure used by the Yocto Project.
468 </para> 468 </para>
469
470 <para>
471 For information that can help you to maintain compliance with various open source licensing
472 during the lifecycle of a product created using the Yocto Project, see the
473 "<link linkend='maintaining-open-source-license-compliance-during-your-products-lifecycle'>Maintaining Open Source License Compliance During Your Product's Lifecycle</link>" section.
474 </para>
469</section> 475</section>
470 476
471<section id='git'> 477<section id='git'>