All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/3] documentation/kernel-manual: Added Bruce Ashfields review comments.
  2010-12-07 18:54 [PATCH 0/3] Docs: kernel documentation and Poky ref manual bitbake appendix Scott Rifenbark
@ 2010-12-03 15:32 ` Scott Rifenbark
  2010-12-03 16:32 ` [PATCH 2/3] documentation/kernel-manual/kernel-concepts.xml: Re-worded a note to state best practices for organizing shared features Scott Rifenbark
  2010-12-03 20:23 ` [PATCH 3/3] documentation/poky-ref-manual/ref-bitbake.xml: Completed general edits Scott Rifenbark
  2 siblings, 0 replies; 4+ messages in thread
From: Scott Rifenbark @ 2010-12-03 15:32 UTC (permalink / raw)
  To: poky

Comments covered some minor points.  We did remove the "Creating
a Transition Kernel Layer" section however.

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
---
 documentation/kernel-manual/kernel-concepts.xml  |   28 ++++++++++++------
 documentation/kernel-manual/kernel-doc-intro.xml |    2 +-
 documentation/kernel-manual/kernel-how-to.xml    |   33 ++++++++++-----------
 3 files changed, 35 insertions(+), 28 deletions(-)

diff --git a/documentation/kernel-manual/kernel-concepts.xml b/documentation/kernel-manual/kernel-concepts.xml
index 872264c..d2ebab0 100644
--- a/documentation/kernel-manual/kernel-concepts.xml
+++ b/documentation/kernel-manual/kernel-concepts.xml
@@ -43,7 +43,7 @@
             <listitem><para>Provide mechanisms that support many different work flows, front-ends and 
             management techniques.</para></listitem>
             <listitem><para>Deliver the most up-to-date kernel possible while still ensuring that 
-            the baseline kernel is the the most stable official release.</para></listitem>
+            the baseline kernel is the most stable official release.</para></listitem>
             <listitem><para>Include major technological features as part of Yocto Project's up-rev 
             strategy.</para></listitem>
             <listitem><para>Present a git tree, that just like the upstream kernel.org tree, has a 
@@ -80,9 +80,10 @@
         <para>
             The ultimate source for the Yocto Project kernel is a released kernel 
             from kernel.org.
-            In addition to a foundational kernel from kernel.org the commercially released 
+            In addition to a foundational kernel from kernel.org the released 
             Yocto Project kernel contains a mix of important new mainline
-            developments, non-mainline developments, Board Support Package (BSP) developments,
+            developments, non-mainline developments (when there is no alternative),
+            Board Support Package (BSP) developments,
             and custom features.
             These additions result in a commercially released Yocto Project kernel that caters 
             to specific embedded designer needs for targeted hardware.
@@ -105,7 +106,8 @@
         </para> -->
         <para>
             Once a Yocto Project kernel is officially released the Yocto Project team goes into 
-            their next development cycle, or "uprev" cycle.
+            their next development cycle, or "uprev" cycle while continuing maintenance on the 
+            released kernel.
             It is important to note that the most sustainable and stable way
             to include feature development upstream is through a kernel uprev process.
             Back-porting of hundreds of individual fixes and minor features from various
@@ -143,8 +145,8 @@
             This kernel gives insight into new features and allows focused
             amounts of testing to be done on the kernel, which prevents
             surprises when selecting the next major uprev. 
-            The quality of these cutting edge kernels is evolving and the kernels are used in very special 
-            cases for BSP and feature development.
+            The quality of these cutting edge kernels is evolving and the kernels are used in leading edge 
+            feature and BSP development.
         </para>
     </section>
 
@@ -199,7 +201,8 @@
                 Each branch represents some unique functionality for the BSP or a real-time kernel.
             </para>
             <para>
-                The real-time kernel branch has common features for all real-time kernels and contains
+                In this example structure, the real-time kernel branch has common features for all 
+                real-time kernels and contains
                 more branches for individual BSP-specific real-time kernels.  
                 The illustration shows three branches as an example. 
                 Each branch points the way to specific, unique features for a respective real-time
@@ -226,6 +229,11 @@
                 Rather we store the unique differences required to apply the feature onto the kernel type 
                 in question.
             </para>
+            <note><para>
+                This practice is not typically encouraged.
+                However, during development cycles or when large features are merged the practice
+                can't be avoided.
+            </para></note>
             <para>
                 BSP-specific code additions are handled in a similar manner to kernel-specific additions. 
                 Some BSPs only make sense given certain kernel types.
@@ -238,13 +246,13 @@
                 the supported multiple kernels are uniquely stored.
             </para>
             <para>
-                While this strategy results in a tree with a significant number of branches, it is
-                important to realize that from the customer's point of view, there is a linear
+                While this strategy can result in a tree with a significant number of branches, it is
+                important to realize that from the user's point of view, there is a linear
                 path that travels from the baseline kernel.org, through a select group of features and
                 ends with their BSP-specific commits.
                 In other words, the divisions of the kernel are transparent and are not relevant 
                 to the developer on a day-to-day basis.  
-                From the customer's perspective, this is the "master" branch.
+                From the user's perspective, this is the "master" branch.
                 They do not need not be aware of the existence of any other branches at all.  
                 Of course there is value in the existence of these branches
                 in the tree, should a person decide to explore them. 
diff --git a/documentation/kernel-manual/kernel-doc-intro.xml b/documentation/kernel-manual/kernel-doc-intro.xml
index c9715d4..05e5443 100644
--- a/documentation/kernel-manual/kernel-doc-intro.xml
+++ b/documentation/kernel-manual/kernel-doc-intro.xml
@@ -8,7 +8,7 @@
 <section id='book-intro'>
     <title>Introduction</title>
     <para>
-        Yocto Project presents the kernel as a fully patched, history-clean git
+        The Yocto Project presents the kernel as a fully patched, history-clean git
         repository. 
         The git tree represents the selected features, board support,
         and configurations extensively tested by Yocto Project. 
diff --git a/documentation/kernel-manual/kernel-how-to.xml b/documentation/kernel-manual/kernel-how-to.xml
index 25b4282..85bd8f8 100644
--- a/documentation/kernel-manual/kernel-how-to.xml
+++ b/documentation/kernel-manual/kernel-how-to.xml
@@ -42,7 +42,7 @@
         <para>
             You can find the files used to describe all the valid features and BSPs in the Yocto Project
             kernel in any clone of the kernel git tree.  
-            The directory <filename>wrs/cfg/kernel-cache/</filename> is a snapshot of all the kernel
+            The directory <filename>meta/cfg/kernel-cache/</filename> is a snapshot of all the kernel
             configuration and feature descriptions (.scc) used to build the kernel repository.
             You should realize, however, that browsing the snapshot of feature
             descriptions and patches is not an effective way to determine what is in a
@@ -56,8 +56,8 @@
         <note><para>
             Ground up reconstruction of the complete kernel tree is an action only taken by the 
             Yocto Project team during an active development cycle.  
-            Creating a project takes advantage of this complete tree in order to 
-            place efficiently a git tree within the project.
+            Creating a project simply clones this tree to make it efficiently available for building
+            and development.
         </para></note>
         <para>
             The general flow for constructing a project-specific kernel tree is as follows:
@@ -69,8 +69,7 @@
             these system directories:</para>
 
                 <itemizedlist>
-                    <listitem><para>The kernel-cache under 
-                    <filename>linux/wrs/cfg/kernel-cache</filename></para></listitem>
+                    <listitem><para>The in-tree kernel-cache directories</para></listitem>
 <!--            <listitem><para>kernel-*-cache directories in layers</para></listitem> -->
                     <listitem><para>Recipe SRC_URIs</para></listitem>
 <!--            <listitem><para>configured and default templates</para></listitem> -->
@@ -93,7 +92,7 @@
             <listitem><para>The script is executed, and a meta-series is produced. 
             The meta-series is a description of all the branches, tags, patches and configuration that
             needs to be applied to the base git repository to completely create the
-            "bsp_name-kernel_type".</para></listitem>
+            BSP source (build) branch.</para></listitem>
 
             <listitem><para>The base repository is cloned, and the actions
             listed in the meta-series are applied to the tree.</para></listitem>
@@ -111,7 +110,7 @@
             the Yocto Project release. 
             Any add-ons and configuration data are applied to the end of an existing branch. 
             The full repository generation that is found in the 
-            <filename>linux-2.6-windriver.git</filename> is the combination of all
+            official Yocto Project kernel repositories is the combination of all
             supported boards and configurations.</para>
   
             <para>This technique is flexible and allows the seamless blending of an immutable
@@ -155,7 +154,8 @@ A summary of end user tree construction activities follow:
 
         <itemizedlist>
             <listitem><para>There must be a kernel git repository indicated in the SRC_URI.</para></listitem>
-            <listitem><para>There must be a branch &lt;bsp name&gt;-&lt;kernel type&gt;.</para></listitem>
+            <listitem><para>There must be a BSP build branch - &lt;bsp name&gt;-&lt;kernel type&gt; in 0.9 or 
+            &lt;kernel type&gt;/&lt;bsp name&gt; in 1.0.</para></listitem>
         </itemizedlist>
 
         <para>
@@ -368,8 +368,7 @@ repository.
         <title>Workflow Examples</title>
 
         <para>
-            As previously noted, the Yocto Project kernel has built in git/guilt
-            integration.
+            As previously noted, the Yocto Project kernel has built in git integration.
             However, these utilities are not the only way to work with the kernel repository.
             Yocto Project has not made changes to git or to other tools that
             would invalidate alternate workflows. 
@@ -468,7 +467,7 @@ repository.
      # determine which branches contain a feature
      &gt; git branch --contains &lt;tag&gt;
 
-     # show the changes in a kernel type
+     # show the changes in a kernel type - (0.9 examples)
      &gt; git whatchanged wrs_base..&lt;kernel type&gt;
         &gt; eg: git whatchanged wrs_base..standard
                 </literallayout>
@@ -652,7 +651,7 @@ repository.
                 </para>
 
                 <note><para>
-                    It is recommend to tag or branch before adding changes to a Yocto Project
+                    It is recommended to tag or branch before adding changes to a Yocto Project
                     BSP or before creating a new one.
                     The reason for this recommendation is because the branch or tag provides a
                     reference point to facilitate locating and exporting local changes.
@@ -1150,7 +1149,7 @@ That's it. Configure and build.
                 <para>
                     You could also add these directly to the git repository <filename>wrs_meta</filename>
                     branch as well.
-                    However, the former method is probably easier.
+                    However, the former method is a simple starting point.
                 </para></listitem>
                 
                 <listitem><para>
@@ -1171,7 +1170,7 @@ That's it. Configure and build.
                     Then, modify the code there, using quilt to save the changes, and recompile until 
                     it works:
                     <literallayout class='monospaced'>
-     $ bitbake -c compile -f
+     $ bitbake -c compile -f linux-yocto
                     </literallayout>
                 </para></listitem>
                 
@@ -1925,7 +1924,7 @@ This section shows an example of transforms:
             </para>
         </section>
 
-        <section id='kernel-transition-kernel-layer'>
+<!--        <section id='kernel-transition-kernel-layer'>
             <title>Creating a Transition Kernel Layer</title>
 
             <para>
@@ -1947,7 +1946,7 @@ This section shows an example of transforms:
                 Once you have the transition kernel layer in place you can evaluate
                 another kernel's functionality with the goal of easing transition to an integrated and validated
                 Yocto Project kernel.
-            </para>
+            </para> -->
 
 <!--<para>
 The next few sections describe the process:
@@ -2078,7 +2077,7 @@ files in the kernel-cache with valid hardware and non hardware config
 options.
 </para></note>
             </section> -->
-        </section>
+<!--        </section> -->
     </section>
 
 
-- 
1.7.0.4



^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [PATCH 2/3] documentation/kernel-manual/kernel-concepts.xml: Re-worded a note to state best practices for organizing shared features.
  2010-12-07 18:54 [PATCH 0/3] Docs: kernel documentation and Poky ref manual bitbake appendix Scott Rifenbark
  2010-12-03 15:32 ` [PATCH 1/3] documentation/kernel-manual: Added Bruce Ashfields review comments Scott Rifenbark
@ 2010-12-03 16:32 ` Scott Rifenbark
  2010-12-03 20:23 ` [PATCH 3/3] documentation/poky-ref-manual/ref-bitbake.xml: Completed general edits Scott Rifenbark
  2 siblings, 0 replies; 4+ messages in thread
From: Scott Rifenbark @ 2010-12-03 16:32 UTC (permalink / raw)
  To: poky

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
---
 documentation/kernel-manual/kernel-concepts.xml |    8 +++++---
 1 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/documentation/kernel-manual/kernel-concepts.xml b/documentation/kernel-manual/kernel-concepts.xml
index d2ebab0..f26e290 100644
--- a/documentation/kernel-manual/kernel-concepts.xml
+++ b/documentation/kernel-manual/kernel-concepts.xml
@@ -230,9 +230,11 @@
                 in question.
             </para>
             <note><para>
-                This practice is not typically encouraged.
-                However, during development cycles or when large features are merged the practice
-                can't be avoided.
+                The Yocto Project team strives to place features in the tree such that they can be 
+                shared by all boards and kernel types where possible.
+                However, during development cycles or when large features are merged this practice 
+                cannot always be followed. 
+                In those cases isolated branches are used for feature merging.
             </para></note>
             <para>
                 BSP-specific code additions are handled in a similar manner to kernel-specific additions. 
-- 
1.7.0.4



^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [PATCH 3/3] documentation/poky-ref-manual/ref-bitbake.xml: Completed general edits.
  2010-12-07 18:54 [PATCH 0/3] Docs: kernel documentation and Poky ref manual bitbake appendix Scott Rifenbark
  2010-12-03 15:32 ` [PATCH 1/3] documentation/kernel-manual: Added Bruce Ashfields review comments Scott Rifenbark
  2010-12-03 16:32 ` [PATCH 2/3] documentation/kernel-manual/kernel-concepts.xml: Re-worded a note to state best practices for organizing shared features Scott Rifenbark
@ 2010-12-03 20:23 ` Scott Rifenbark
  2 siblings, 0 replies; 4+ messages in thread
From: Scott Rifenbark @ 2010-12-03 20:23 UTC (permalink / raw)
  To: poky

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
---
 documentation/poky-ref-manual/ref-bitbake.xml |  269 +++++++++++++------------
 1 files changed, 135 insertions(+), 134 deletions(-)

diff --git a/documentation/poky-ref-manual/ref-bitbake.xml b/documentation/poky-ref-manual/ref-bitbake.xml
index cf019aa..1a98b04 100644
--- a/documentation/poky-ref-manual/ref-bitbake.xml
+++ b/documentation/poky-ref-manual/ref-bitbake.xml
@@ -28,15 +28,15 @@
         <title>Parsing</title>
 
         <para>
-            The first thing BitBake does is work out its configuration by 
-            looking for a file called <filename>bitbake.conf</filename>.
-            BitBake examines the <varname>BBPATH</varname> environment 
-            variable looking for a <filename class="directory">conf/</filename> 
-            directory that contains a <filename>bitbake.conf</filename> file.
-            BitBake adds the first <filename>bitbake.conf</filename> file found in
-            <varname>BBPATH</varname> (similar to the PATH environment variable). 
-            For Poky, <filename>bitbake.conf</filename> is found in <filename 
-            class="directory">meta/conf/</filename>. 
+            BitBake parses configuration files, classes, and <filename>.bb</filename> files. 
+        </para>
+
+        <para>
+            The first thing BitBake does is look for the <filename>bitbake.conf</filename> file.
+            Poky keeps this file in <filename class="directory">meta/conf/</filename>.
+            BitBake finds it by examining the <varname>BBPATH</varname> environment 
+            variable and looking for the <filename class="directory">meta/conf/</filename> 
+            directory.
         </para>
 
         <para>
@@ -75,12 +75,12 @@
         </para>
 
         <para>
-            After the parsing of the configuration files is complete, the 
+            After classes are included, the 
             variable <glossterm><link linkend='var-BBFILES'>BBFILES</link></glossterm> 
             is set, usually in
             <filename>local.conf</filename>, and defines the list of places to search for 
             <filename class="extension">.bb</filename> files. 
-            By default this specifies the <filename class="directory">meta/packages/
+            By default, the BBFILES variable specifies the <filename class="directory">meta/packages/
             </filename> directory within Poky, but other directories such as
             <filename class="directory">meta-extras/</filename> can be included 
             too. 
@@ -92,19 +92,19 @@
             BitBake parses each <filename class="extension">.bb</filename> file in BBFILES and 
             stores the values of various variables.  
             In summary, for each <filename class="extension">.bb</filename> 
-            file the configuration + base class of variables are set, followed 
+            file the configuration plus the base class of variables are set, followed 
             by the data in the <filename class="extension">.bb</filename> file 
             itself, followed by any inherit commands that
             <filename class="extension">.bb</filename> file might contain.
         </para>
 
         <para>
-            Parsing <filename class="extension">.bb</filename> files is a time 
-            consuming process, so a cache is kept to speed up subsequent parsing. 
+            Because parsing <filename class="extension">.bb</filename> files is a time 
+            consuming process, a cache is kept to speed up subsequent parsing. 
             This cache is invalid if the timestamp of the <filename class="extension">.bb</filename> 
-            file itself has changed, or if the timestamps of any of the include, 
+            file itself changes, or if the timestamps of any of the include, 
             configuration or class files the <filename class="extension">.bb</filename>
-            file depends on have changed.
+            file depends on changes.
         </para>
     </section>
 
@@ -113,58 +113,53 @@
 
         <para>
             Once all the <filename class="extension">.bb</filename> files have been 
-            parsed, BitBake will proceed to build "poky-image-sato" (or whatever was
-            specified on the commandline) and looks for providers of that target.
+            parsed, BitBake starts to build the target (poky-image-sato in the previous section's 
+            example) and looks for providers of that target.
             Once a provider is selected, BitBake resolves all the dependencies for  
-            the target. In the case of "poky-image-sato", it would lead to 
-            <filename>task-base.bb</filename>  
-            which in turn would lead to packages like <application>Contacts</application>, 
-            <application>Dates</application>, <application>BusyBox</application>
-            and these in turn depend on glibc and the toolchain.
+            the target. 
+            In the case of "poky-image-sato", it would lead to <filename>task-base.bb</filename>,  
+            which in turn leads to packages like <application>Contacts</application>, 
+            <application>Dates</application> and <application>BusyBox</application>.
+            These packages in turn depend on glibc and the toolchain.
         </para>
 
         <para>
-            Sometimes a target might have multiple providers and a common example 
-            is "virtual/kernel" that is provided by each kernel package. Each machine
-            will often elect the best provider of its kernel with a line like the 
+            Sometimes a target might have multiple providers.
+            An common example is "virtual/kernel", which is provided by each kernel package. 
+            Each machine often elects the best kernel provider by using a line similar to the 
             following in the machine configuration file:
         </para>
-        <programlisting><glossterm><link linkend='var-PREFERRED_PROVIDER'>PREFERRED_PROVIDER</link></glossterm>_virtual/kernel = "linux-rp"</programlisting>
+
+        <programlisting>
+PREFERRED_PROVIDER_virtual/kernel = "linux-rp"
+        </programlisting>
+
         <para>
-            The default <glossterm><link linkend='var-PREFERRED_PROVIDER'>
-            PREFERRED_PROVIDER</link></glossterm> is the provider with the same name as
-            the target.
+            The default <glossterm><link linkend='var-PREFERRED_PROVIDER'>PREFERRED_PROVIDER</link></glossterm> 
+            is the provider with the same name as the target.
         </para>
 
         <para>
-            Understanding how providers are chosen is complicated by the fact
-            multiple versions might be present. BitBake defaults to the highest 
-            version of a provider by default. Version comparisons are made using 
-            the same method as Debian. The <glossterm><link 
-            linkend='var-PREFERRED_VERSION'>PREFERRED_VERSION</link></glossterm>
-            variable can be used to specify a particular version 
-            (usually in the distro configuration) but the order can 
-            also be influenced by the <glossterm><link
-                    linkend='var-DEFAULT_PREFERENCE'>DEFAULT_PREFERENCE</link></glossterm> 
-            variable. By default files 
-            have a preference of "0". Setting the
-            <glossterm><link
-                    linkend='var-DEFAULT_PREFERENCE'>DEFAULT_PREFERENCE</link></glossterm> to "-1" will 
-            make a package unlikely to be used unless it was explicitly referenced and
-            "1" makes it likely the package will be used. 
-            <glossterm><link
-                    linkend='var-PREFERRED_VERSION'>PREFERRED_VERSION</link></glossterm> overrides 
-            any <glossterm><link
-                    linkend='var-DEFAULT_PREFERENCE'>DEFAULT_PREFERENCE</link></glossterm>. <glossterm><link
-                    linkend='var-DEFAULT_PREFERENCE'>DEFAULT_PREFERENCE</link></glossterm> 
-            is often used to mark more 
-            experimental new versions of packages until they've undergone sufficient 
-            testing to be considered stable.
+            Understanding how providers are chosen is made complicated by the fact
+            that multiple versions might exist. 
+            BitBake defaults to the highest version of a provider.
+            Version comparisons are made using the same method as Debian. 
+            You can use the <glossterm><link linkend='var-PREFERRED_VERSION'>PREFERRED_VERSION</link></glossterm>
+            variable to specify a particular version (usually in the distro configuration).
+            You can influence the order by using the 
+            <glossterm><link linkend='var-DEFAULT_PREFERENCE'>DEFAULT_PREFERENCE</link></glossterm> 
+            variable. 
+            By default, files have a preference of "0". 
+            Setting the DEFAULT_PREFERENCE to "-1" makes the package unlikely to be used unless it is
+            explicitly referenced.
+            Setting the DEFAULT_PREFERENCE to "1" makes it likely the package is used. 
+            PREFERRED_VERSION overrides any DEFAULT_PREFERENCE setting.
+            DEFAULT_PREFERENCE is often used to mark newer and more experimental package
+            versions until they have undergone sufficient testing to be considered stable.
         </para>
 
         <para>
-            The end result is that internally, BitBake has now built a list of 
-            providers for each target it needs in order of priority.
+            In summary, BitBake has created a list of providers, which is prioritized, for each target.
         </para>
     </section>
 
@@ -172,18 +167,20 @@
         <title>Dependencies</title>
 
         <para>
-            Each target BitBake builds consists of multiple tasks (e.g. fetch, 
-            unpack, patch, configure, compile etc.). For best performance on 
-            multi-core systems, BitBake considers each task as an independent 
-            entity with a set of dependencies. There are many variables that 
-            are used to signify these dependencies and more information can be found 
-            about these in the <ulink url='http://bitbake.berlios.de/manual/'>
-            BitBake manual</ulink>. At a basic level it is sufficient to know 
-        that BitBake uses the <glossterm><link
-                linkend='var-DEPENDS'>DEPENDS</link></glossterm> and 
-        <glossterm><link linkend='var-RDEPENDS'>RDEPENDS</link></glossterm> variables when 
-            calculating dependencies and descriptions of these variables are 
-            available through the links. 
+            Each target BitBake builds consists of multiple tasks such as fetch, unpack, patch, configure, 
+            and compile. 
+            For best performance on multi-core systems, BitBake considers each task as an independent 
+            entity with its own set of dependencies. 
+        </para>
+  
+        <para>
+            Dependencies are defined through several variables.
+            You can find information about variables BitBake uses in the 
+            <ulink url='http://bitbake.berlios.de/manual/'>BitBake manual</ulink>. 
+            At a basic level it is sufficient to know that BitBake uses the 
+            <glossterm><link linkend='var-DEPENDS'>DEPENDS</link></glossterm> and 
+            <glossterm><link linkend='var-RDEPENDS'>RDEPENDS</link></glossterm> variables when 
+            calculating dependencies. 
         </para>
 
     </section>
@@ -193,69 +190,75 @@
 
         <para>
             Based on the generated list of providers and the dependency information, 
-            BitBake can now calculate exactly which tasks it needs to run and in what 
-            order. The build now starts with BitBake forking off threads up to
-            the limit set in the <glossterm><link
-                    linkend='var-BB_NUMBER_THREADS'>BB_NUMBER_THREADS</link></glossterm> variable
-            as long as there are tasks ready to run, i.e. tasks with all their
-            dependencies met.
+            BitBake can now calculate exactly what tasks it needs to run and in what 
+            order it needs to run them. 
+            The build now starts with BitBake forking off threads up to the limit set in the 
+            <glossterm><link linkend='var-BB_NUMBER_THREADS'>BB_NUMBER_THREADS</link></glossterm> variable.
+            BitBake continues to fork threads as long as there are tasks ready to run,
+            those taksks have all their dependencies met, and the thread threshold has not been 
+            exceeded.
         </para>
 
         <para>
-            As each task completes, a timestamp is written to the directory 
-            specified by the <glossterm><link
-                    linkend='var-STAMPS'>STAMPS</link></glossterm> variable (usually 
-            <filename class="directory">build/tmp/stamps/*/</filename>). On 
-            subsequent runs, BitBake looks at the <glossterm><link
-                    linkend='var-STAMPS'>STAMPS</link></glossterm>
-            directory and will not rerun 
-            tasks its already completed unless a timestamp is found to be invalid. 
-            Currently, invalid timestamps are only considered on a per <filename 
-            class="extension">.bb</filename> file basis so if for example the configure stamp has a timestamp greater than the 
-            compile timestamp for a given target the compile task would rerun but this 
-            has no effect on other providers depending on that target. This could 
-            change or become configurable in future versions of BitBake. Some tasks 
-            are marked as "nostamp" tasks which means no timestamp file will be written 
-            and the task will always rerun.
+            As each task completes, a timestamp is written to the directory specified by the 
+            <glossterm><link linkend='var-STAMPS'>STAMPS</link></glossterm> variable (usually 
+            <filename class="directory">build/tmp/stamps/*/</filename>). 
+            On subsequent runs, BitBake looks at the STAMPS directory and does not rerun 
+            tasks that are already completed unless a timestamp is found to be invalid. 
+            Currently, invalid timestamps are only considered on a per 
+            <filename class="extension">.bb</filename> file basis.
+            So, for example, if the configure stamp has a timestamp greater than the 
+            compile timestamp for a given target then the compile task would rerun.
+            Running the compile task again, however, has no effect on other providers 
+            that depend on that target. 
+            This behavior could change or become configurable in future versions of BitBake. 
         </para>
-
-        <para>Once all the tasks have been completed BitBake exits.</para> 
-
+ 
+        <note><para>
+            Some tasks are marked as "nostamp" tasks.
+            No timestamp file is created when these tasks are run.
+            Consequently, "nostamp" tasks are always rerun.
+        </para></note>
     </section>
 
     <section id='ref-bitbake-runtask'>
         <title>Running a Task</title>
 
         <para>
-            It's worth noting what BitBake does to run a task. A task can either
-            be a shell task or a python task. For shell tasks, BitBake writes a
-            shell script to <filename>${WORKDIR}/temp/run.do_taskname.pid</filename>
-            and then executes the script. The generated
-            shell script contains all the exported variables, and the shell functions 
-            with all variables expanded. Output from the shell script is 
-            sent to the file <filename>${WORKDIR}/temp/log.do_taskname.pid</filename>.
-            Looking at the
-            expanded shell functions in the run file and the output in the log files 
+            Tasks can either be a shell task or a python task.
+            For shell tasks, BitBake writes a shell script to 
+            <filename>${WORKDIR}/temp/run.do_taskname.pid</filename> and then executes the script. 
+            The generated shell script contains all the exported variables, and the shell functions 
+            with all variables expanded. 
+            Output from the shell script goes to the file <filename>${WORKDIR}/temp/log.do_taskname.pid</filename>.
+            Looking at the expanded shell functions in the run file and the output in the log files 
             is a useful debugging technique.
         </para>
 
         <para>
-            Python functions are executed internally to BitBake itself and 
-            logging goes to the controlling terminal. Future versions of BitBake will 
-            write the functions to files in a similar way to shell functions and 
-            logging will also go to the log files in a similar way.
+            For Python tasks, BitBake executes the task internally and logs information to the 
+            controlling terminal. 
+            Future versions of BitBake will write the functions to files similar to the way 
+            shell tasks are handled.
+            Logging will be handled in way similar to shell tasks as well.
         </para>
+
+        <para>
+            Once all the tasks have been completed BitBake exits.
+        </para> 
     </section>
 
 
     <section id='ref-bitbake-commandline'>
-        <title>Commandline</title>
+        <title>BitBake Command Line</title>
 
         <para>
-            To quote from "bitbake --help":
+            Following is the bitbake manpage:
         </para>
 
-        <screen>Usage: bitbake [options] [package ...]
+        <screen>
+$ bitbake --help
+Usage: bitbake [options] [package ...]
 
 Executes the specified task (default is 'build') for a given set of BitBake files.
 It expects that BBFILES is defined, which is a space separated list of files to
@@ -275,6 +278,8 @@ Options:
   -a, --tryaltconfigs   continue with builds by trying to use alternative
                         providers where possible.
   -f, --force           force run of specified cmd, regardless of stamp status
+  -i, --interactive     drop into the interactive mode also called the BitBake
+                        shell.
   -c CMD, --cmd=CMD     Specify task to execute. Note that this only executes
                         the specified task for the providee and the packages
                         it depends on, i.e. 'compile' does not implicitly call
@@ -287,9 +292,6 @@ Options:
   -D, --debug           Increase the debug level. You can specify this more
                         than once.
   -n, --dry-run         don't execute, just go through the motions
-  -S, --dump-signatures
-                        don't execute, just dump out the signature
-                        construction information
   -p, --parse-only      quit after parsing the BB files (developers only)
   -d, --disable-psyco   disable using the psyco just-in-time compiler (not
                         recommended)
@@ -298,46 +300,45 @@ Options:
                         what used to be bbread)
   -g, --graphviz        emit the dependency trees of the specified packages in
                         the dot syntax
-  -I EXTRA_ASSUME_PROVIDED, --ignore-deps=EXTRA_ASSUME_PROVIDED
-                        Assume these dependencies don't exist and are already
-                        provided (equivalent to ASSUME_PROVIDED). Useful to
-                        make dependency graphs more appealing
+  -I IGNORED_DOT_DEPS, --ignore-deps=IGNORED_DOT_DEPS
+                        Stop processing at the given list of dependencies when
+                        generating dependency graphs. This can help to make
+                        the graph more appealing
   -l DEBUG_DOMAINS, --log-domains=DEBUG_DOMAINS
                         Show debug logging for the specified logging domains
   -P, --profile         profile the command and print a report
-  -u UI, --ui=UI        userinterface to use
-  --revisions-changed   Set the exit code depending on whether upstream
-                        floating revisions have changed or not</screen>
-
+        </screen>
     </section>
 
     <section id='ref-bitbake-fetchers'>
         <title>Fetchers</title>
 
         <para>
-            As well as the containing the parsing and task/dependency handling 
-            code, BitBake also contains a set of "fetcher" modules which allow 
-            fetching of source code from various types of sources. Example 
-            sources might be from disk with the metadata, from websites, from 
-            remote shell accounts or from SCM systems like cvs/subversion/git. 
+            BitBake also contains a set of "fetcher" modules that allow 
+            retrieval of source code from various types of sources. 
+            For example, BitBake can get source code from a disk with the metadata, from websites, 
+            from remote shell accounts or from Source Code Management (SCM) systems 
+            like <filename>cvs/subversion/git</filename>. 
         </para>
 
         <para>
-            The fetchers are usually triggered by entries in 
-            <glossterm><link linkend='var-SRC_URI'>SRC_URI</link></glossterm>. Information about the 
-            options and formats of entries for specific fetchers can be found in the 
-            <ulink url='http://bitbake.berlios.de/manual/'>BitBake manual</ulink>.
+            Fetchers are usually triggered by entries in 
+            <glossterm><link linkend='var-SRC_URI'>SRC_URI</link></glossterm>. 
+            You can find information about the options and formats of entries for specific 
+            fetchers in the <ulink url='http://bitbake.berlios.de/manual/'>BitBake manual</ulink>.
         </para>
 
         <para>
             One useful feature for certain SCM fetchers is the ability to 
-            "auto-update" when the upstream SCM changes version. Since this 
-            requires certain functionality from the SCM only certain systems 
-            support it, currently Subversion, Bazaar and to a limited extent, Git. It 
-            works using the <glossterm><link linkend='var-SRCREV'>SRCREV</link>
-            </glossterm> variable. See the <link linkend='platdev-appdev-srcrev'>
-            developing with an external SCM based project</link> section for more
-            information.
+            "auto-update" when the upstream SCM changes version. 
+            Since this ability requires certain functionality from the SCM, not all
+            systems support it.
+            Currently Subversion, Bazaar and to a limited extent, Git support the ability to "auto-update". 
+            This feature works using the <glossterm><link linkend='var-SRCREV'>SRCREV</link></glossterm> 
+            variable. 
+            See the 
+            <link linkend='platdev-appdev-srcrev'>Developing within Poky with an External SCM-based Package</link> 
+            section for more information.
         </para>
 
     </section>
-- 
1.7.0.4



^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [PATCH 0/3] Docs: kernel documentation and Poky ref manual bitbake appendix
@ 2010-12-07 18:54 Scott Rifenbark
  2010-12-03 15:32 ` [PATCH 1/3] documentation/kernel-manual: Added Bruce Ashfields review comments Scott Rifenbark
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: Scott Rifenbark @ 2010-12-07 18:54 UTC (permalink / raw)
  To: poky

Please pull these changes for the kernel document and the bitbake appendix in the Poky Reference Manual.

Pull URL: git://git.pokylinux.org/poky-contrib.git
  Branch: srifenbark/docs
  Browse: http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=srifenbark/docs

Thanks,
    Scott Rifenbark <scott.m.rifenbark@intel.com>
---


Scott Rifenbark (3):
  documentation/kernel-manual:  Added Bruce Ashfields review comments.
  documentation/kernel-manual/kernel-concepts.xml:  Re-worded a note to
    state best practices for organizing shared features.
  documentation/poky-ref-manual/ref-bitbake.xml:  Completed general
    edits.

 documentation/kernel-manual/kernel-concepts.xml  |   30 ++-
 documentation/kernel-manual/kernel-doc-intro.xml |    2 +-
 documentation/kernel-manual/kernel-how-to.xml    |   33 ++--
 documentation/poky-ref-manual/ref-bitbake.xml    |  269 +++++++++++-----------
 4 files changed, 172 insertions(+), 162 deletions(-)



^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2010-12-07 19:10 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-12-07 18:54 [PATCH 0/3] Docs: kernel documentation and Poky ref manual bitbake appendix Scott Rifenbark
2010-12-03 15:32 ` [PATCH 1/3] documentation/kernel-manual: Added Bruce Ashfields review comments Scott Rifenbark
2010-12-03 16:32 ` [PATCH 2/3] documentation/kernel-manual/kernel-concepts.xml: Re-worded a note to state best practices for organizing shared features Scott Rifenbark
2010-12-03 20:23 ` [PATCH 3/3] documentation/poky-ref-manual/ref-bitbake.xml: Completed general edits Scott Rifenbark

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.