ref-manual: Added the 2.2 Migration guide section.
(From yocto-docs rev: 668e32419ba59d975a196967e620c384009426a4) Signed-off-by: Scott Rifenbark <srifenbark@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
parent
2b08a281b9
commit
a6752eb2a4
|
@ -3333,6 +3333,433 @@
|
||||||
</section>
|
</section>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
|
<section id='moving-to-the-yocto-project-2.2-release'>
|
||||||
|
<title>Moving to the Yocto Project 2.2 Release</title>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
This section provides migration information for moving to the
|
||||||
|
Yocto Project 2.2 Release from the prior release.
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<section id='migration-2.2-minimum-kernel-version'>
|
||||||
|
<para>
|
||||||
|
The minimum kernel version is now 3.2.0, due to the upgrade
|
||||||
|
to <filename>glibc 2.24</filename>.
|
||||||
|
Specifically, for AArch64-based targets the version is
|
||||||
|
3.14.
|
||||||
|
For Nios II-based targets, the minimum kernel version is 3.19.
|
||||||
|
<note>
|
||||||
|
For x86 and x86_64, you can reset
|
||||||
|
<link linkend='var-OLDEST_KERNEL'><filename>OLDEST_KERNEL</filename></link>
|
||||||
|
to anything down to 2.6.32 if desired.
|
||||||
|
</note>
|
||||||
|
</para>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section id='migration-2.2-staging-directories-in-sysroot-simplified'>
|
||||||
|
<title>Staging Directories in Sysroot Has Been Simplified</title>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
The way directories are staged in sysroot has been simplified and
|
||||||
|
introduces the new
|
||||||
|
<link linkend='var-SYSROOT_DIRS'><filename>SYSROOT_DIRS</filename></link>,
|
||||||
|
<link linkend='var-SYSROOT_DIRS_NATIVE'><filename>SYSROOT_DIRS_NATIVE</filename></link>,
|
||||||
|
and
|
||||||
|
<link linkend='var-SYSROOT_DIRS_BLACKLIST'><filename>SYSROOT_DIRS_BLACKLIST</filename></link>.
|
||||||
|
See the
|
||||||
|
<ulink url='http://lists.openembedded.org/pipermail/openembedded-core/2016-May/121365.html'>v2 patch series on the OE-Core Mailing List</ulink>
|
||||||
|
for additional information.
|
||||||
|
</para>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section id='migration-2.2-removal-of-old-images-from-tmp-deploy-now-enabled'>
|
||||||
|
<title>Removal of Old Images and Other Files in <filename>tmp/deploy</filename> Now Enabled</title>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
Removal of old images and other files in
|
||||||
|
<filename>tmp/deploy/</filename> is now enabled by default due
|
||||||
|
to a new staging method used for those files.
|
||||||
|
As a result of this change, the
|
||||||
|
<link linkend='var-RM_OLD_IMAGE'><filename>RM_OLD_IMAGE</filename></link>
|
||||||
|
variable is now redundant.
|
||||||
|
</para>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section id='migration-2.2-bitbake-now-requires-python-3.4'>
|
||||||
|
<title>BitBake Now Requires Python 3.4+</title>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
BitBake requires Python 3.4 or greater.
|
||||||
|
</para>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section id='migration-2.2-metadata-now-must-use-python-3-syntax'>
|
||||||
|
<title>Metadata Must Now Use Python 3 Syntax</title>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
The metadata is now required to use Python 3 syntax.
|
||||||
|
For help preparing metadata, see any of the many Python 3 porting
|
||||||
|
guides available.
|
||||||
|
Alternatively, you can reference the conversion commits for Bitbake
|
||||||
|
and you can use OE-Core as a guide for changes.
|
||||||
|
Following are particular areas of interest:
|
||||||
|
<literallayout class='monospaced'>
|
||||||
|
* subprocess command-line pipes needing locale decoding
|
||||||
|
* the syntax for octal values changed
|
||||||
|
* the <filename>iter*()</filename> functions changed name
|
||||||
|
* iterators now return views
|
||||||
|
* not lists
|
||||||
|
* changed names for Python modules
|
||||||
|
</literallayout>
|
||||||
|
</para>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section id='migration-2.2-target-python-recipes-switched-to-python-3'>
|
||||||
|
<title>Target Python Recipes Switched to Python 3</title>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
Most target Python recipes have now been switched to Python 3.
|
||||||
|
Unfortunately, systems using RPM as a package manager and
|
||||||
|
providing online package-manager support through SMART still
|
||||||
|
require Python 2.
|
||||||
|
</para>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section id='migration-2.2-uclibc-replaced-by-musl'>
|
||||||
|
<title>uClibc Replaced by musl</title>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
Uclibc has been removed in favor of musl.
|
||||||
|
</para>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section id='migration-2.2-B-no-longer-default-working-directory-for-tasks'>
|
||||||
|
<title><filename>${B}</filename> No Longer Default Working Directory for Tasks</title>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
<filename>${</filename><link linkend='var-B'><filename>B</filename></link><filename>}</filename>
|
||||||
|
is no longer the default working directory for tasks.
|
||||||
|
Consequently, any custom tasks you define now need to either
|
||||||
|
have the
|
||||||
|
<filename>[</filename><ulink url='&YOCTO_DOCS_BB_URL;#variable-flags'><filename>dirs</filename></ulink><filename>]</filename> flag set, or the task needs to change into the
|
||||||
|
appropriate working directory manually (e.g using
|
||||||
|
<filename>cd</filename> for a shell task).
|
||||||
|
<note>
|
||||||
|
The preferred method is to use the
|
||||||
|
<filename>[dirs]</filename> flag.
|
||||||
|
</note>
|
||||||
|
</para>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section id='migration-2.2-utf-8-locale-required-on-build-host'>
|
||||||
|
<title>UTF-8 Locale Required on Build Host</title>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
A UTF-8 locale is required on the build host due to Python 3.
|
||||||
|
Since C.UTF-8 is not a standard, the default is en_US.UTF-8.
|
||||||
|
</para>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section id='migration-2.2-runqemu-ported-to-python'>
|
||||||
|
<title><filename>runqemu</filename> Ported to Python</title>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
<filename>runqemu</filename> has been ported to Python and has
|
||||||
|
changed behavior in some cases.
|
||||||
|
</para>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section id='migration-2.2-bitbake-changes'>
|
||||||
|
<title>BitBake Changes</title>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
The following changes took place for BitBake:
|
||||||
|
<itemizedlist>
|
||||||
|
<listitem><para>
|
||||||
|
The "goggle" UI and standalone image-writer tool have
|
||||||
|
been removed as they both require GTK+ 2.0 and
|
||||||
|
were not being maintained.
|
||||||
|
</para></listitem>
|
||||||
|
<listitem><para>
|
||||||
|
The Perforce fetcher now supports
|
||||||
|
<link linkend='var-SRCREV'><filename>SRCREV</filename></link>
|
||||||
|
for specifying the source revision to use, be it
|
||||||
|
<filename>${</filename><link linkend='var-AUTOREV'><filename>AUTOREV</filename></link><filename>}</filename>,
|
||||||
|
changelist number, p4date, or label, in preference to
|
||||||
|
separate
|
||||||
|
<link linkend='var-SRC_URI'><filename>SRC_URI</filename></link>
|
||||||
|
parameters to specify these.
|
||||||
|
This change is more in-line with how the other fetchers
|
||||||
|
work for source control systems.
|
||||||
|
Recipes that fetch from Perforce will need to be updated
|
||||||
|
to use <filename>SRCREV</filename> in place of specifying
|
||||||
|
the source revision within
|
||||||
|
<filename>SRC_URI</filename>.
|
||||||
|
</para></listitem>
|
||||||
|
<listitem><para>
|
||||||
|
Some of BitBake's internal code structures for storing the
|
||||||
|
recipe cache needed to be changed to support the new
|
||||||
|
multi-configuration functionality.
|
||||||
|
These changes will affect external tools that use BitBake's
|
||||||
|
tinfoil module.
|
||||||
|
For information on these changes, see the changes made to
|
||||||
|
the scripts supplied with OpenEmbedded-Core: 1 2.
|
||||||
|
</para></listitem>
|
||||||
|
<listitem><para>
|
||||||
|
The task management code has been rewritten to avoid using
|
||||||
|
ID indirection in order to improve performance.
|
||||||
|
This change is unlikely to cause any problems for most
|
||||||
|
users.
|
||||||
|
However, the setscene verification function as pointed to
|
||||||
|
by <filename>BB_SETSCENE_VERIFY_FUNCTION</filename>
|
||||||
|
needed to change signature.
|
||||||
|
Consequently, a new variable named
|
||||||
|
<ulink url='&YOCTO_DOCS_BB_URL;#var-BB_SETSCENE_VERIFY_FUNCTION2'><filename>BB_SETSCENE_VERIFY_FUNCTION2</filename></ulink>
|
||||||
|
has been added allowing multiple versions of BitBake
|
||||||
|
to work with suitably written metadata, which includes
|
||||||
|
OpenEmbedded-Core and Poky.
|
||||||
|
Anyone with custom BitBake task scheduler code might also
|
||||||
|
need to update the code to handle the new structure.
|
||||||
|
</para></listitem>
|
||||||
|
</itemizedlist>
|
||||||
|
</para>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section id='migration-2.2-swabber-has-been-removed'>
|
||||||
|
<title>Swabber has Been Removed</title>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
Swabber, a tool that was intended to detect host contamination in
|
||||||
|
the build process, has been removed, as it has been unmaintained
|
||||||
|
and unused for some time and was never particularly effective.
|
||||||
|
The OpenEmbedded build system has since incorporated a number of
|
||||||
|
mechanisms including enhanced QA checks that mean that there is
|
||||||
|
less of a need for such a tool.
|
||||||
|
</para>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section id='migration-2.2-removed-recipes'>
|
||||||
|
<title>Removed Recipes</title>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
The following recipes have been removed:
|
||||||
|
<itemizedlist>
|
||||||
|
<listitem><para>
|
||||||
|
<filename>augeas</filename>:
|
||||||
|
No longer needed and has been moved to
|
||||||
|
<filename>meta-oe</filename>.
|
||||||
|
</para></listitem>
|
||||||
|
<listitem><para>
|
||||||
|
<filename>directfb</filename>:
|
||||||
|
Unmaintained and has been moved to
|
||||||
|
<filename>meta-oe</filename>.
|
||||||
|
</para></listitem>
|
||||||
|
<listitem><para>
|
||||||
|
<filename>gcc</filename>:
|
||||||
|
Removed 4.9 version.
|
||||||
|
Versions 5.4 and 6.2 are still present.
|
||||||
|
</para></listitem>
|
||||||
|
<listitem><para>
|
||||||
|
<filename>gnome-doc-utils</filename>:
|
||||||
|
No longer needed.
|
||||||
|
</para></listitem>
|
||||||
|
<listitem><para>
|
||||||
|
<filename>gtk-doc-stub</filename>:
|
||||||
|
Replaced by <filename>gtk-doc</filename>.
|
||||||
|
</para></listitem>
|
||||||
|
<listitem><para>
|
||||||
|
<filename>gtk-engines</filename>:
|
||||||
|
No longer needed and has been moved to
|
||||||
|
<filename>meta-gnome</filename>.
|
||||||
|
</para></listitem>
|
||||||
|
<listitem><para>
|
||||||
|
<filename>gtk-sato-engine</filename>:
|
||||||
|
Became obsolete.
|
||||||
|
</para></listitem>
|
||||||
|
<listitem><para>
|
||||||
|
<filename>libglade</filename>:
|
||||||
|
No longer needed and has been moved to
|
||||||
|
<filename>meta-oe</filename>.
|
||||||
|
</para></listitem>
|
||||||
|
<listitem><para>
|
||||||
|
<filename>libmad</filename>:
|
||||||
|
Unmaintained and functionally replaced by
|
||||||
|
<filename>libmpg123</filename>.
|
||||||
|
<filename>libmad</filename> has been moved to
|
||||||
|
<filename>meta-oe</filename>.
|
||||||
|
</para></listitem>
|
||||||
|
<listitem><para>
|
||||||
|
<filename>libowl</filename>:
|
||||||
|
Became obsolete.
|
||||||
|
</para></listitem>
|
||||||
|
<listitem><para>
|
||||||
|
<filename>libxsettings-client</filename>:
|
||||||
|
No longer needed.
|
||||||
|
</para></listitem>
|
||||||
|
<listitem><para>
|
||||||
|
<filename>oh-puzzles</filename>:
|
||||||
|
Functionally replaced by
|
||||||
|
<filename>puzzles</filename>.
|
||||||
|
</para></listitem>
|
||||||
|
<listitem><para>
|
||||||
|
<filename>oprofileui</filename>:
|
||||||
|
Became obsolete.
|
||||||
|
OProfile has been largely supplanted by perf.
|
||||||
|
</para></listitem>
|
||||||
|
<listitem><para>
|
||||||
|
<filename>packagegroup-core-directfb.bb</filename>:
|
||||||
|
Removed.
|
||||||
|
</para></listitem>
|
||||||
|
<listitem><para>
|
||||||
|
<filename>core-image-directfb.bb</filename>:
|
||||||
|
Removed.
|
||||||
|
</para></listitem>
|
||||||
|
<listitem><para>
|
||||||
|
<filename>pointercal</filename>:
|
||||||
|
No longer needed and has been moved to
|
||||||
|
<filename>meta-oe</filename>.
|
||||||
|
</para></listitem>
|
||||||
|
<listitem><para>
|
||||||
|
<filename>python-imaging</filename>:
|
||||||
|
No longer needed and moved to
|
||||||
|
<filename>meta-python</filename>
|
||||||
|
</para></listitem>
|
||||||
|
<listitem><para>
|
||||||
|
<filename>python-pyrex</filename>:
|
||||||
|
No longer needed and moved to
|
||||||
|
<filename>meta-python</filename>.
|
||||||
|
</para></listitem>
|
||||||
|
<listitem><para>
|
||||||
|
<filename>sato-icon-theme</filename>:
|
||||||
|
Became obsolete.
|
||||||
|
</para></listitem>
|
||||||
|
<listitem><para>
|
||||||
|
<filename>swabber-native</filename>:
|
||||||
|
Swabber has been removed.
|
||||||
|
See the
|
||||||
|
<link linkend='migration-2.2-swabber-has-been-removed'>entry on Swabber</link>.
|
||||||
|
</para></listitem>
|
||||||
|
<listitem><para>
|
||||||
|
<filename>tslib</filename>:
|
||||||
|
No longer needed and has been moved to
|
||||||
|
<filename>meta-oe</filename>.
|
||||||
|
</para></listitem>
|
||||||
|
<listitem><para>
|
||||||
|
<filename>uclibc</filename>:
|
||||||
|
Removed in favor of musl.
|
||||||
|
</para></listitem>
|
||||||
|
<listitem><para>
|
||||||
|
<filename>xtscal</filename>:
|
||||||
|
No longer needed and moved to
|
||||||
|
<filename>meta-oe</filename>
|
||||||
|
</para></listitem>
|
||||||
|
</itemizedlist>
|
||||||
|
</para>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section id='migration-2.2-removed-classes'>
|
||||||
|
<title>Removed Classes</title>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
The following classes have been removed:
|
||||||
|
<itemizedlist>
|
||||||
|
<listitem><para>
|
||||||
|
<filename>distutils-native-base</filename>:
|
||||||
|
No longer needed.
|
||||||
|
</para></listitem>
|
||||||
|
<listitem><para>
|
||||||
|
<filename>distutils3-native-base</filename>:
|
||||||
|
No longer needed.
|
||||||
|
</para></listitem>
|
||||||
|
<listitem><para>
|
||||||
|
<filename>sdl</filename>:
|
||||||
|
Only set
|
||||||
|
<link linkend='var-DEPENDS'><filename>DEPENDS</filename></link>
|
||||||
|
and
|
||||||
|
<link linkend='var-SECTION'><filename>SECTION</filename></link>,
|
||||||
|
which are better set within the recipe instead.
|
||||||
|
</para></listitem>
|
||||||
|
<listitem><para>
|
||||||
|
<filename>sip</filename>:
|
||||||
|
Mostly unused.
|
||||||
|
</para></listitem>
|
||||||
|
<listitem><para>
|
||||||
|
<filename>swabber</filename>:
|
||||||
|
See the
|
||||||
|
<link linkend='migration-2.2-swabber-has-been-removed'>entry on Swabber</link>.
|
||||||
|
</para></listitem>
|
||||||
|
</itemizedlist>
|
||||||
|
</para>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section id='migration-2.2-minor-packaging-changes'>
|
||||||
|
<title>Minor Packaging Changes</title>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
The following minor packaging changes have occurred:
|
||||||
|
<itemizedlist>
|
||||||
|
<listitem><para>
|
||||||
|
<filename>grub</filename>:
|
||||||
|
Split <filename>grub-editenv</filename> into its own
|
||||||
|
package.
|
||||||
|
</para></listitem>
|
||||||
|
<listitem><para>
|
||||||
|
<filename>systemd</filename>:
|
||||||
|
Split container and vm related units into a new package,
|
||||||
|
systemd-container.
|
||||||
|
</para></listitem>
|
||||||
|
<listitem><para>
|
||||||
|
<filename>util-linux</filename>:
|
||||||
|
Make <filename>prlimit</filename> a separate package.
|
||||||
|
</para></listitem>
|
||||||
|
</itemizedlist>
|
||||||
|
</para>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section id='migration-2.2-miscellaneous-changes'>
|
||||||
|
<title>Miscellaneous Changes</title>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
The following miscellaneous changes have occurred:
|
||||||
|
<itemizedlist>
|
||||||
|
<listitem><para>
|
||||||
|
<filename>buildtools-tarball</filename>:
|
||||||
|
Replaced <filename>nativesdk-python</filename>
|
||||||
|
with <filename>nativesdk-python3</filename>.
|
||||||
|
</para></listitem>
|
||||||
|
<listitem><para>
|
||||||
|
<filename>package_regex.inc</filename>:
|
||||||
|
Removed deprecated file.
|
||||||
|
</para></listitem>
|
||||||
|
<listitem><para>
|
||||||
|
<filename>recipetool</filename>:
|
||||||
|
Set a fixed
|
||||||
|
<link linkend='var-SRCREV'><filename>SRCREV</filename></link>
|
||||||
|
by default when fetching from Git.
|
||||||
|
</para></listitem>
|
||||||
|
<listitem><para>
|
||||||
|
<filename>devtool</filename>:
|
||||||
|
Set a fixed
|
||||||
|
<link linkend='var-SRCREV'><filename>SRCREV</filename></link>
|
||||||
|
by default when fetching from Git.
|
||||||
|
</para></listitem>
|
||||||
|
<listitem><para>
|
||||||
|
<filename>distcc</filename>:
|
||||||
|
GTK+ UI is now disabled by default.
|
||||||
|
</para></listitem>
|
||||||
|
<listitem><para>
|
||||||
|
<filename>packagegroup-core-tools-testapps</filename>:
|
||||||
|
Removed Piglit.
|
||||||
|
</para></listitem>
|
||||||
|
<listitem><para>
|
||||||
|
<filename>image.bbclass</filename>:
|
||||||
|
Renamed COMPRESS(ION) to CONVERSION.
|
||||||
|
</para></listitem>
|
||||||
|
</itemizedlist>
|
||||||
|
</para>
|
||||||
|
</section>
|
||||||
|
</section>
|
||||||
|
|
||||||
</chapter>
|
</chapter>
|
||||||
<!--
|
<!--
|
||||||
vim: expandtab tw=80 ts=4
|
vim: expandtab tw=80 ts=4
|
||||||
|
|
Loading…
Reference in New Issue