ref-manual, dev-manual: Applied migration review edits.

Applied the full set of first draft revision edits for the
new migration section for 1.7.  Comments from Paul Eggleton.

(From yocto-docs rev: 90586addbc719ecaf7c768b267adf0e988e27b74)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Scott Rifenbark
2014-10-14 06:57:45 -07:00
committed by Richard Purdie
parent 323929d1ee
commit 8eb706a41b
5 changed files with 103 additions and 133 deletions

View File

@@ -279,20 +279,36 @@
Within this group, you will find several kernels supported by Within this group, you will find several kernels supported by
the Yocto Project: the Yocto Project:
<itemizedlist> <itemizedlist>
<listitem><para><emphasis><filename>linux-yocto-3.8</filename></emphasis> - The <listitem><para><emphasis>
stable Yocto Project kernel to use with the Yocto Project Release 1.4. This kernel <filename>linux-yocto-3.8</filename></emphasis> - The
is based on the Linux 3.8 released kernel.</para></listitem> stable Yocto Project kernel to use with the Yocto
<listitem><para><emphasis><filename>linux-yocto-3.10</filename></emphasis> - The Project Release 1.4. This kernel is based on the
stable Yocto Project kernel to use with the Yocto Project Release 1.5. This kernel Linux 3.8 released kernel.
is based on the Linux 3.10 released kernel.</para></listitem> </para></listitem>
<listitem><para><emphasis><filename>linux-yocto-3.14</filename></emphasis> - The <listitem><para><emphasis>
stable Yocto Project kernel to use with the Yocto Project Release 1.6. This kernel <filename>linux-yocto-3.10</filename></emphasis> - The
is based on the Linux 3.14 released kernel.</para></listitem> stable Yocto Project kernel to use with the Yocto
<listitem><para><emphasis><filename>linux-yocto-3.17</filename></emphasis> - The Project Release 1.5.
stable Yocto Project kernel to use with the Yocto Project Release 1.7. This kernel This kernel is based on the Linux 3.10 released kernel.
is based on the Linux 3.17 released kernel.</para></listitem> </para></listitem>
<listitem><para><emphasis><filename>linux-yocto-dev</filename></emphasis> - A development <listitem><para><emphasis>
kernel based on the latest upstream release candidate available.</para></listitem> <filename>linux-yocto-3.14</filename></emphasis> - The
stable Yocto Project kernel to use with the Yocto
Project Releases 1.6 and 1.7.
These kernels are based on the Linux 3.14 and 3.17
released kernels, respectively.
</para></listitem>
<listitem><para><emphasis>
<filename>linux-yocto-3.17</filename></emphasis> - An
additional Yocto Project kernel used with the Yocto
Project Release 1.7.
This kernel is based on the Linux 3.17 released kernel.
</para></listitem>
<listitem><para><emphasis>
<filename>linux-yocto-dev</filename></emphasis> - A
development kernel based on the latest upstream release
candidate available.
</para></listitem>
</itemizedlist> </itemizedlist>
</para> </para>

View File

@@ -1710,17 +1710,19 @@
class changes occurred: class changes occurred:
<itemizedlist> <itemizedlist>
<listitem><para><emphasis> <listitem><para><emphasis>
A separate build directory in Autotools recipes is A separate build directory is now used by default:</emphasis>
handled:</emphasis>
The <filename>autotools</filename> class has been changed The <filename>autotools</filename> class has been changed
to use a directory for building to use a directory for building
(<link linkend='var-B'><filename>B</filename></link>), (<link linkend='var-B'><filename>B</filename></link>),
which is separate from the source directory which is separate from the source directory
(<link linkend='var-S'><filename>S</filename></link>). (<link linkend='var-S'><filename>S</filename></link>).
If the software being built is already capable of This is commonly referred to as
<filename>B != S</filename>, or an out-of-tree build.</para>
<para>If the software being built is already capable of
building in a directory separate from the source, you building in a directory separate from the source, you
do not need to do anything. do not need to do anything.
However, if this capability does not exist, you will However, if the software is not capable of being built
in this manner, you will
need to either patch the software so that it can build need to either patch the software so that it can build
separately, or you will need to change the recipe to separately, or you will need to change the recipe to
inherit the inherit the
@@ -1728,25 +1730,24 @@
class instead of the <filename>autotools</filename> class. class instead of the <filename>autotools</filename> class.
</para></listitem> </para></listitem>
<listitem><para><emphasis> <listitem><para><emphasis>
Handle "foreign":</emphasis> The <filename>&dash;&dash;foreign</filename> option is
The <filename>--foreign</filename> option is no longer no longer passed to <filename>automake</filename> when
passed to <filename>automake</filename> when running running <filename>autoconf</filename>:</emphasis>
<filename>autoreconf</filename>.
This option tells <filename>automake</filename> that a This option tells <filename>automake</filename> that a
particular software package does not follow the GNU particular software package does not follow the GNU
standards and therefore should not be expected standards and therefore should not be expected
to distribute certain files such as to distribute certain files such as
<filename>ChangeLog</filename>, <filename>ChangeLog</filename>,
<filename>AUTHORS</filename>, and so forth. <filename>AUTHORS</filename>, and so forth.
The majority of upstream software packages already tell Because the majority of upstream software packages already
<filename>automake</filename> these packages are foreign tell <filename>automake</filename> to enable foreign mode
and thus this option is mostly superfluous. themselves, the option is mostly superfluous.
However, some recipes will need patches for this change. However, some recipes will need patches for this change.
You can easily make the change by patching You can easily make the change by patching
<filename>configure.ac</filename> so that it passes <filename>configure.ac</filename> so that it passes
"foreign" to <filename>AM_INIT_AUTOMAKE()</filename>. "foreign" to <filename>AM_INIT_AUTOMAKE()</filename>.
See See
<ulink url='http://cgit.openembedded.org/openembedded-core/commit/?id=01943188f85ce6411717fb5bf702d609f55813f2'></ulink> <ulink url='http://cgit.openembedded.org/openembedded-core/commit/?id=01943188f85ce6411717fb5bf702d609f55813f2'>this commit</ulink>
for an example showing how to make the patch. for an example showing how to make the patch.
</para></listitem> </para></listitem>
</itemizedlist> </itemizedlist>
@@ -1757,12 +1758,12 @@
<title>Binary Configuration Scripts Disabled</title> <title>Binary Configuration Scripts Disabled</title>
<para> <para>
Some of the core recipes that previously packaged binary Some of the core recipes that package binary configuration scripts
configuration scripts now disable the scripts instead due to the now disable the scripts instead due to the
scripts previously requiring error-prone path substitution. scripts previously requiring error-prone path substitution.
Software that links against these libraries using these scripts Software that links against these libraries using these scripts
should use the much more robust should use the much more robust <filename>pkg-config</filename>
<filename>pkg-config</filename> instead. instead.
The list of recipes changed in this version (and their The list of recipes changed in this version (and their
configuration scripts) is as follows: configuration scripts) is as follows:
<literallayout class='monospaced'> <literallayout class='monospaced'>
@@ -1787,12 +1788,10 @@
pth (pth-config) pth (pth-config)
taglib (taglib-config) taglib (taglib-config)
</literallayout> </literallayout>
<note> Additionally, support for <filename>pkg-config</filename> has been
Support for <filename>pkg-config</filename> has been added to added to some recipes in the previous list in the rare cases
some recipes in the previous list in the rare cases where the upstream software package does not already provide
where the upstream software package does not already provide it.
it.
</note>
</para> </para>
</section> </section>
@@ -1811,15 +1810,15 @@
</para> </para>
<para> <para>
<filename>glibc 2.20</filename> also minimally requires version <filename>glibc 2.20</filename> requires version 2.6.32 or greater
2.6.32 of the Linux kernel. of the Linux kernel.
Thus, older kernels will no longer be usable in conjunction with it. Thus, older kernels will no longer be usable in conjunction with it.
</para> </para>
<para> <para>
For full details on the changes in <filename>glibc 2.20</filename>, For full details on the changes in <filename>glibc 2.20</filename>,
see the upstream release notes at see the upstream release notes
<ulink url='https://sourceware.org/ml/libc-alpha/2014-09/msg00088.html'></ulink>. <ulink url='https://sourceware.org/ml/libc-alpha/2014-09/msg00088.html'>here</ulink>.
</para> </para>
</section> </section>
@@ -1829,33 +1828,25 @@
<para> <para>
The The
<link linkend='var-module_autoload'><filename>module_autoload_*</filename></link> <link linkend='var-module_autoload'><filename>module_autoload_*</filename></link>
and variable is now deprecated and a new
<link linkend='var-module_conf'><filename>module_conf_*</filename></link>
variables have been replaced with the variables
<link linkend='var-KERNEL_MODULE_AUTOLOAD'><filename>KERNEL_MODULE_AUTOLOAD</filename></link> <link linkend='var-KERNEL_MODULE_AUTOLOAD'><filename>KERNEL_MODULE_AUTOLOAD</filename></link>
and variable should be used instead.
<link linkend='var-KERNEL_MODULE_PROBECONF'><filename>KERNEL_MODULE_PROBECONF</filename></link>, Also,
respectively. <link linkend='var-module_conf'><filename>module_conf_*</filename></link>
These variables no longer require you to specify the module name must now be used in conjunction with a new
<link linkend='var-KERNEL_MODULE_PROBECONF'><filename>KERNEL_MODULE_PROBECONF</filename></link>
variable.
The new variables no longer require you to specify the module name
as part of the variable name. as part of the variable name.
This change not only simplifies usage but also allows the values This change not only simplifies usage but also allows the values
of these variables to be appropriately incorporated into task of these variables to be appropriately incorporated into task
signatures and thus trigger the appropriate tasks to re-execute signatures and thus trigger the appropriate tasks to re-execute
when changed. when changed.
You should replace any references to You should replace any references to
<filename>module_autoload_*</filename> or <filename>module_autoload_*</filename> with
<filename>module_conf_*</filename> with the new variables. <filename>KERNEL_MODULE_AUTOLOAD</filename>, and add any modules
<note> for which <filename>module_conf_*</filename> is specified to
While it is recommended that you replace occurrences of the <filename>KERNEL_MODULE_PROBECONF</filename>.
<filename>module_conf_*</filename> variable with the
<filename>KERNEL_MODULE_PROBECONF</filename> variable, the
OpenEmbedded build system still recognizes the
<filename>module_conf_*</filename> variable.
However, you must be sure that any module name used in the
override with the <filename>module_conf</filename> variable
is included in the <filename>KERNEL_MODULE_PROBECONF</filename>
variable.
</note>
</para> </para>
<para> <para>
@@ -1863,7 +1854,7 @@
<link linkend='var-KERNEL_MODULE_AUTOLOAD'><filename>KERNEL_MODULE_AUTOLOAD</filename></link> <link linkend='var-KERNEL_MODULE_AUTOLOAD'><filename>KERNEL_MODULE_AUTOLOAD</filename></link>
and and
<link linkend='var-KERNEL_MODULE_PROBECONF'><filename>KERNEL_MODULE_PROBECONF</filename></link> <link linkend='var-KERNEL_MODULE_PROBECONF'><filename>KERNEL_MODULE_PROBECONF</filename></link>
descriptions in the variable's glossary. variables.
</para> </para>
</section> </section>

View File

@@ -101,6 +101,17 @@
section in the Yocto Project Development Manual. section in the Yocto Project Development Manual.
</para> </para>
<para>
By default, the <filename>autotools</filename> class supports
out-of-tree builds
(<link linkend='var-B'><filename>B</filename></link> <filename>!=</filename>
<link linkend='var-S'><filename>S</filename></link>).
If your recipes do not support out-of-tree builds, you should
have them inherit the
<link linkend='ref-classes-autotools-brokensep'><filename>autotools-brokensep</filename></link>
class.
</para>
<para> <para>
It's useful to have some idea of how the tasks defined by this class work It's useful to have some idea of how the tasks defined by this class work
and what they do behind the scenes. and what they do behind the scenes.
@@ -123,17 +134,6 @@
</para></listitem> </para></listitem>
</itemizedlist> </itemizedlist>
</para> </para>
<note>
It is planned for future Yocto Project releases that by default, the
<filename>autotools</filename> class supports out-of-tree builds
(<link linkend='var-B'><filename>B</filename></link> !=
<link linkend='var-S'><filename>S</filename></link>).
If your recipes do not support out-of-tree builds, you should
have them inherit the
<link linkend='ref-classes-autotools-brokensep'><filename>autotools-brokensep</filename></link>
class.
</note>
</section> </section>
<section id='ref-classes-autotools-brokensep'> <section id='ref-classes-autotools-brokensep'>

View File

@@ -4458,7 +4458,7 @@ recipes-graphics/xorg-font/font-alias_1.0.3.bb:PR = "${INC_PR}.3"
<para> <para>
Specify it as follows: Specify it as follows:
<literallayout class='monospaced'> <literallayout class='monospaced'>
KERNEL_MODULE_AUTOLOAD = "modname1 modname2 modname3" KERNEL_MODULE_AUTOLOAD += "modname1 modname2 modname3"
</literallayout> </literallayout>
</para> </para>
@@ -4470,7 +4470,7 @@ recipes-graphics/xorg-font/font-alias_1.0.3.bb:PR = "${INC_PR}.3"
The modules appear one-per-line in the file. The modules appear one-per-line in the file.
Here is an example of the most common use case: Here is an example of the most common use case:
<literallayout class='monospaced'> <literallayout class='monospaced'>
KERNEL_MODULE_AUTOLOAD = "modname" KERNEL_MODULE_AUTOLOAD += "modname"
</literallayout> </literallayout>
</para> </para>
@@ -4487,58 +4487,14 @@ recipes-graphics/xorg-font/font-alias_1.0.3.bb:PR = "${INC_PR}.3"
<glossentry id='var-KERNEL_MODULE_PROBECONF'><glossterm>KERNEL_MODULE_PROBECONF</glossterm> <glossentry id='var-KERNEL_MODULE_PROBECONF'><glossterm>KERNEL_MODULE_PROBECONF</glossterm>
<glossdef> <glossdef>
<para> <para>
Specifies Provides a list of modules for which the OpenEmbedded
<ulink url='http://linux.die.net/man/5/modprobe.d'><filename>modprobe.d</filename></ulink> build system expects to find
syntax lines for inclusion in the <link linkend='var-module_conf'><filename>module_conf_&lt;modname&gt;</filename></link>
<filename>/etc/modprobe.d/modname.conf</filename> file. values that specify configuration for each of the modules.
<note> For information on how to provide those module
The <filename>KERNEL_MODULE_PROBECONF</filename> configurations, see the
variable behaves the same as the <link linkend='var-module_conf'><filename>module_conf_*</filename></link>
<link linkend='var-module_conf'><filename>module_conf</filename></link> variable.
variable with the exception of not having to use a
module name override.
</note>
</para>
<para>
You can use the
<filename>KERNEL_MODULE_PROBECONF</filename> variable
anywhere it can be recognized by the kernel recipe or
an out-of-tree kernel module recipe (e.g. a machine
configuration file, a distribution configuration file, an
append file for the recipe, or the recipe itself).
</para>
<para>
Here is the general syntax:
<literallayout class='monospaced'>
KERNEL_MODULE_PROBECONF = "&lt;modprobe.d syntax&gt;"
</literallayout>
</para>
<para>
Run <filename>man modprobe.d</filename> in the shell to
find out more information on the exact syntax
you want to provide with <filename>KERNEL_MODULE_PROBECONF</filename>.
</para>
<para>
Including <filename>KERNEL_MODULE_PROBECONF</filename> causes
the OpenEmbedded build system to populate the
<filename>/etc/modprobe.d/modname.conf</filename>
file with <filename>modprobe.d</filename> syntax lines.
Here is an example that adds the options
<filename>arg1</filename> and <filename>arg2</filename>
to a module named <filename>mymodule</filename>:
<literallayout class='monospaced'>
KERNEL_MODULE_PROBECONF = "options mymodule arg1=val1 arg2=val2"
</literallayout>
</para>
<para>
For information on how to specify kernel modules to
auto-load on boot, see the
<filename>KERNEL_MODULE_AUTOLOAD</filename> variable.
</para> </para>
</glossdef> </glossdef>
</glossentry> </glossentry>
@@ -5410,12 +5366,19 @@ recipes-graphics/xorg-font/font-alias_1.0.3.bb:PR = "${INC_PR}.3"
<para> <para>
This variable has been replaced by the This variable has been replaced by the
<filename>KERNEL_MODULE_AUTOLOAD</filename> variable. <filename>KERNEL_MODULE_AUTOLOAD</filename> variable.
You should replace all occurrences of the You should replace all occurrences of
<filename>module_autoload</filename> variable with <filename>module_autoload</filename> with additions to
<filename>KERNEL_MODULE_AUTOLOAD</filename> variables. <filename>KERNEL_MODULE_AUTOLOAD</filename>, for example:
<literallayout class='monospaced'>
module_autoload_rfcomm = "rfcomm"
</literallayout>
should now be replaced with:
<literallayout class='monospaced'>
KERNEL_MODULE_AUTOLOAD += "rfcomm"
</literallayout>
See the See the
<link linkend='var-KERNEL_MODULE_AUTOLOAD'><filename>KERNEL_MODULE_AUTOLOAD</filename></link> <link linkend='var-KERNEL_MODULE_AUTOLOAD'><filename>KERNEL_MODULE_AUTOLOAD</filename></link>
variable for a description of the variable. variable for more information.
</para> </para>
</glossdef> </glossdef>
</glossentry> </glossentry>
@@ -5437,7 +5400,7 @@ recipes-graphics/xorg-font/font-alias_1.0.3.bb:PR = "${INC_PR}.3"
recipe, or the recipe itself). recipe, or the recipe itself).
If you use this variable, you must also be sure to list If you use this variable, you must also be sure to list
the module name in the the module name in the
<link linkend='var-KERNEL_MODULE_PROBECONF'><filename>KERNEL_MODULE_PROBECONF</filename></link> <link linkend='var-KERNEL_MODULE_AUTOLOAD'><filename>KERNEL_MODULE_AUTOLOAD</filename></link>
variable. variable.
</para> </para>
@@ -5471,7 +5434,7 @@ recipes-graphics/xorg-font/font-alias_1.0.3.bb:PR = "${INC_PR}.3"
<para> <para>
For information on how to specify kernel modules to For information on how to specify kernel modules to
auto-load on boot, see the auto-load on boot, see the
<link linkend='var-module_autoload'><filename>module_autoload</filename></link> <link linkend='var-KERNEL_MODULE_AUTOLOAD'><filename>KERNEL_MODULE_AUTOLOAD</filename></link>
variable. variable.
</para> </para>
</glossdef> </glossdef>

View File

@@ -540,7 +540,7 @@
<para> <para>
Build history information is kept in Build history information is kept in
<filename>$</filename><link linkend='var-TOPDIR'><filename>TOPDIR</filename></link><filename>/buildhistory</filename> <filename>${</filename><link linkend='var-TOPDIR'><filename>TOPDIR</filename></link><filename>}/buildhistory</filename>
in the Build Directory as defined by the in the Build Directory as defined by the
<link linkend='var-BUILDHISTORY_DIR'><filename>BUILDHISTORY_DIR</filename></link> <link linkend='var-BUILDHISTORY_DIR'><filename>BUILDHISTORY_DIR</filename></link>
variable. variable.