summaryrefslogtreecommitdiff
path: root/import-layers/yocto-poky/documentation/ref-manual/migration.xml
diff options
context:
space:
mode:
Diffstat (limited to 'import-layers/yocto-poky/documentation/ref-manual/migration.xml')
-rw-r--r--import-layers/yocto-poky/documentation/ref-manual/migration.xml686
1 files changed, 670 insertions, 16 deletions
diff --git a/import-layers/yocto-poky/documentation/ref-manual/migration.xml b/import-layers/yocto-poky/documentation/ref-manual/migration.xml
index e6c0aa36b8..3e7e6b0844 100644
--- a/import-layers/yocto-poky/documentation/ref-manual/migration.xml
+++ b/import-layers/yocto-poky/documentation/ref-manual/migration.xml
@@ -2447,8 +2447,8 @@
</literallayout>
</para></listitem>
<listitem><para>
- <filename>d.delVar('</filename><replaceable>varname</replaceable><filename>')</filename> and
- <filename>d.setVar('</filename><replaceable>varname</replaceable><filename>', None)</filename>
+ <filename>d.delVar('</filename><replaceable>VARNAME</replaceable><filename>')</filename> and
+ <filename>d.setVar('</filename><replaceable>VARNAME</replaceable><filename>', None)</filename>
result in the variable and all of its overrides being
cleared out.
Before the change, only the non-overridden values
@@ -2740,13 +2740,13 @@
<para>
Variable expressions, such as
- <filename>${</filename><replaceable>varname</replaceable><filename>}</filename>
+ <filename>${</filename><replaceable>VARNAME</replaceable><filename>}</filename>
no longer expand automatically within Python functions.
Suppressing expansion was done to allow Python functions to
construct shell scripts or other code for situations in which you
do not want such expressions expanded.
For any existing code that relies on these expansions, you need to
- change the expansions to either expand the value of individual
+ change the expansions to expand the value of individual
variables through <filename>d.getVar()</filename>.
To alternatively expand more complex expressions,
use <filename>d.expand()</filename>.
@@ -2880,7 +2880,7 @@
to allow the default implementation from the
<filename>autotools</filename> class to work such that
<filename>autoreconf</filename> succeeds and produces a working
- configure script), and to remove the
+ configure script, and to remove the
overridden <filename>do_configure</filename> task such that the
default implementation does get used.
</para>
@@ -2910,7 +2910,8 @@
<filename>do_rootfs</filename>, you should make edits so that
those tasks are after the
<link linkend='ref-tasks-image-complete'><filename>do_image_complete</filename></link>
- task rather than before the task so that the your added tasks
+ task rather than after <filename>do_rootfs</filename>
+ so that the your added tasks
run at the correct time.
</para>
@@ -3057,6 +3058,10 @@
<ulink url='&YOCTO_DOCS_SDK_URL;#sdk-extensible'>extensible SDK</ulink>.
For information on these SDKs and how to build and use them, see the
<ulink url='&YOCTO_DOCS_SDK_URL;#sdk-intro'>Yocto Project Software Development Kit (SDK) Developer's Guide</ulink>.
+ <note>
+ The Yocto Project Eclipse IDE Plug-in is still supported and
+ is not affected by this change.
+ </note>
</para>
</section>
@@ -3128,7 +3133,7 @@
The separate <filename>poky-tiny</filename> distribution
now uses the musl C library instead of a heavily pared
down <filename>glibc</filename>.
- Using <filename>glibc</filename> results in a smaller
+ Using musl results in a smaller
distribution and facilitates much greater maintainability
because musl is designed to have a small footprint.</para>
@@ -3194,6 +3199,21 @@
</para>
</section>
+ <section id='migration-2.1-supporting-gobject-introspection'>
+ <title>Supporting GObject Introspection</title>
+
+ <para>
+ This release supports generation of GLib Introspective
+ Repository (GIR) files through GObject introspection, which is
+ the standard mechanism for accessing GObject-based software from
+ runtime environments.
+ You can enable, disable, and test the generation of this data.
+ See the
+ "<ulink url='&YOCTO_DOCS_DEV_URL;#enabling-gobject-introspection-support'>Enabling GObject Introspection Support</ulink>"
+ section for more information.
+ </para>
+ </section>
+
<section id='migration-2.1-miscellaneous-changes'>
<title>Miscellaneous Changes</title>
@@ -3205,6 +3225,9 @@
If your host distribution does not provide a sufficiently
recent version, you can install the buildtools, which
will provide it.
+ See the
+ "<link linkend='required-git-tar-and-python-versions'>Required Git, tar, and Python Versions</link>"
+ section for more information on the buildtools tarball.
</para></listitem>
<listitem><para>
The buggy and incomplete support for the RPM version 4
@@ -3213,6 +3236,25 @@
remains.
</para></listitem>
<listitem><para>
+ Previously, the following list of packages were removed
+ if package-management was not in
+ <link linkend='var-IMAGE_FEATURES'><filename>IMAGE_FEATURES</filename></link>,
+ regardless of any dependencies:
+ <literallayout class='monospaced'>
+ update-rc.d
+ base-passwd
+ shadow
+ update-alternatives
+ run-postinsts
+ </literallayout>
+ With the Yocto Project 2.1 release, these packages are only
+ removed if "read-only-rootfs" is in
+ <filename>IMAGE_FEATURES</filename>, since they might
+ still be needed for a read-write image even in the absence
+ of a package manager (e.g. if users need to be added,
+ modified, or removed at runtime).
+ </para></listitem>
+ <listitem><para>
The
<ulink url='&YOCTO_DOCS_SDK_URL;#sdk-devtool-use-devtool-modify-to-modify-the-source-of-an-existing-component'><filename>devtool modify</filename></ulink>
command now defaults to extracting the source since that
@@ -3220,7 +3262,7 @@
The "-x" or "--extract" options are now no-ops.
If you wish to provide your own existing source tree, you
will now need to specify either the "-n" or
- "--no-extract" option when running
+ "--no-extract" options when running
<filename>devtool modify</filename>.
</para></listitem>
<listitem><para>
@@ -3228,10 +3270,8 @@
or does not specify whether a keyboard is attached, then
the default is to assume a keyboard is attached rather
than assume no keyboard.
- <note>
- This change primarily affects the Sato UI.
- </note>
- </para></listitem>
+ This change primarily affects the Sato UI.
+ </para></listitem>
<listitem><para>
The <filename>.debug</filename> directory packaging is
now automatic.
@@ -3248,8 +3288,8 @@
This data has been replaced with
<filename>getrusage()</filename> data and corrected IO
statistics.
- You will probably need to update code that reads the
- <filename>buildstats</filename> data.
+ You will probably need to update any custom code that reads
+ the <filename>buildstats</filename> data.
</para></listitem>
<listitem><para>
The
@@ -3272,8 +3312,622 @@
<filename>meta-yocto-bsp</filename> layer.
Most modern x86 boards do not rely on this file and it only
adds kernel error messages during startup.
- If you do still need the file, you can simply add
- <filename>v86d</filename> to your image.
+ If you do still need to support
+ <filename>uvesafb</filename>, you can
+ simply add <filename>v86d</filename> to your image.
+ </para></listitem>
+ <listitem><para>
+ Build sysroot paths are now removed from debug symbol
+ files.
+ Removing these paths means that remote GDB using an
+ unstripped build system sysroot will no longer work
+ (although this was never documented to work).
+ The supported method to accomplish something similar is
+ to set <filename>IMAGE_GEN_DEBUGFS</filename> to "1",
+ which will generate a companion debug image
+ containing unstripped binaries and associated debug
+ sources alongside the image.
+ </para></listitem>
+ </itemizedlist>
+ </para>
+ </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'>
+ <title>Minimum Kernel Version</title>
+
+ <para>
+ The minimum kernel version for the target system and for SDK
+ 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
+ <filename>RM_OLD_IMAGE</filename> variable is now redundant.
+ </para>
+ </section>
+
+ <section id='migration-2.2-python-changes'>
+ <title>Python Changes</title>
+
+ <para>
+ The following changes for Python occurred:
+ </para>
+
+ <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-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-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.
+ <note>
+ Python 2 and recipes that use it can still be built for the
+ target as with previous versions.
+ </note>
+ </para>
+ </section>
+
+ <section id='migration-2.2-buildtools-tarball-includes-python-3'>
+ <title><filename>buildtools-tarball</filename> Includes Python 3</title>
+
+ <para>
+ <filename>buildtools-tarball</filename> now includes Python 3.
+ </para>
+ </section>
+ </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.
+ Musl has matured, is better maintained, and is compatible with a
+ wider range of applications as compared to uClibc.
+ </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-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.
+ Previous usage patterns continued to be supported.
+ </para>
+
+ <para>
+ The new <filename>runqemu</filename> is a Python script.
+ Machine knowledge is no longer hardcoded into
+ <filename>runqemu</filename>.
+ You can choose to use the <filename>qemuboot</filename>
+ configuration file to define the BSP's own arguments and to make
+ it bootable with <filename>runqemu</filename>.
+ If you use a configuration file, use the following form:
+ <literallayout class='monospaced'>
+ <replaceable>image-name</replaceable>-<replaceable>machine</replaceable>.qemuboot.conf
+ </literallayout>
+ The configuration file enables fine-grained tuning of options
+ passed to QEMU without the <filename>runqemu</filename> script
+ hard-coding any knowledge about different machines.
+ Using a configuration file is particularly convenient when trying
+ to use QEMU with machines other than the
+ <filename>qemu*</filename> machines in OE-Core.
+ The <filename>qemuboot.conf</filename> file is generated by the
+ <filename>qemuboot</filename>
+ class when the root filesystem is being build (i.e.
+ build rootfs).
+ QEMU boot arguments can be set in BSP's configuration file and
+ the <filename>qemuboot</filename> class will save them to
+ <filename>qemuboot.conf</filename>.
+ </para>
+
+
+ <para>
+ If you want to use <filename>runqemu</filename> without a
+ configuration file, use the following command form:
+ <literallayout class='monospaced'>
+ $ runqemu <replaceable>machine</replaceable> <replaceable>rootfs</replaceable> <replaceable>kernel</replaceable> [<replaceable>options</replaceable>]
+ </literallayout>
+ Supported <replaceable>machines</replaceable> are as follows:
+ <literallayout class='monospaced'>
+ qemuarm
+ qemuarm64
+ qemux86
+ qemux86-64
+ qemuppc
+ qemumips
+ qemumips64
+ qemumipsel
+ qemumips64el
+ </literallayout>
+ Consider the following example, which uses the
+ <filename>qemux86-64</filename> machine,
+ provides a root filesystem, provides an image, and uses
+ the <filename>nographic</filename> option:
+ <literallayout class='monospaced'>
+$ runqemu qemux86-64 tmp/deploy/images/qemux86-64/core-image-minimal-qemux86-64.ext4 tmp/deploy/images/qemux86-64/bzImage nographic
+ </literallayout>
+ </para>
+
+ <para>
+ Following is a list of variables that can be set in configuration
+ files such as <filename>bsp.conf</filename> to enable the BSP
+ to be booted by <filename>runqemu</filename>:
+ <note>
+ "QB" means "QEMU Boot".
+ </note>
+ <literallayout class='monospaced'>
+ QB_SYSTEM_NAME: QEMU name (e.g. "qemu-system-i386")
+ QB_OPT_APPEND: Options to append to QEMU (e.g. "-show-cursor")
+ QB_DEFAULT_KERNEL: Default kernel to boot (e.g. "bzImage")
+ QB_DEFAULT_FSTYPE: Default FSTYPE to boot (e.g. "ext4")
+ QB_MEM: Memory (e.g. "-m 512")
+ QB_MACHINE: QEMU machine (e.g. "-machine virt")
+ QB_CPU: QEMU cpu (e.g. "-cpu qemu32")
+ QB_CPU_KVM: Similar to QB_CPU except used for kvm support (e.g. "-cpu kvm64")
+ QB_KERNEL_CMDLINE_APPEND: Options to append to the kernel's -append
+ option (e.g. "console=ttyS0 console=tty")
+ QB_DTB: QEMU dtb name
+ QB_AUDIO_DRV: QEMU audio driver (e.g. "alsa", set it when support audio)
+ QB_AUDIO_OPT: QEMU audio option (e.g. "-soundhw ac97,es1370"), which is used
+ when QB_AUDIO_DRV is set.
+ QB_KERNEL_ROOT: Kernel's root (e.g. /dev/vda)
+ QB_TAP_OPT: Network option for 'tap' mode (e.g.
+ "-netdev tap,id=net0,ifname=@TAP@,script=no,downscript=no -device virtio-net-device,netdev=net0").
+ runqemu will replace "@TAP@" with the one that is used, such as tap0, tap1 ...
+ QB_SLIRP_OPT: Network option for SLIRP mode (e.g. "-netdev user,id=net0 -device virtio-net-device,netdev=net0")
+ QB_ROOTFS_OPT: Used as rootfs (e.g.
+ "-drive id=disk0,file=@ROOTFS@,if=none,format=raw -device virtio-blk-device,drive=disk0").
+ runqemu will replace "@ROOTFS@" with the one which is used, such as
+ core-image-minimal-qemuarm64.ext4.
+ QB_SERIAL_OPT: Serial port (e.g. "-serial mon:stdio")
+ QB_TCPSERIAL_OPT: tcp serial port option (e.g.
+ " -device virtio-serial-device -chardev socket,id=virtcon,port=@PORT@,host=127.0.0.1 -device virtconsole,chardev=virtcon"
+ runqemu will replace "@PORT@" with the port number which is used.
+ </literallayout>
+ </para>
+
+ <para>
+ To use <filename>runqemu</filename>, set
+ <link linkend='var-IMAGE_CLASSES'><filename>IMAGE_CLASSES</filename></link>
+ as follows and run <filename>runqemu</filename>:
+ <note>
+ For command-line syntax, use
+ <filename>runqemu help</filename>.
+ </note>
+ <literallayout class='monospaced'>
+ IMAGE_CLASSES += "qemuboot"
+ </literallayout>
+ </para>
+ </section>
+
+ <section id='migration-2.2-default-linker-hash-style-changed'>
+ <title>Default Linker Hash Style Changed</title>
+
+ <para>
+ The default linker hash style for <filename>gcc-cross</filename>
+ is now "sysv" in order to catch recipes that are building software
+ without using the OpenEmbedded
+ <link linkend='var-LDFLAGS'><filename>LDFLAGS</filename></link>.
+ This change could result in seeing some "No GNU_HASH in the elf
+ binary" QA issues when building such recipes.
+ You need to fix these recipes so that they use the expected
+ <filename>LDFLAGS</filename>.
+ Depending on how the software is built, the build system used by
+ the software (e.g. a Makefile) might need to be patched.
+ However, sometimes making this fix is as simple as adding the
+ following to the recipe:
+ <literallayout class='monospaced'>
+ TARGET_CC_ARCH += "${LDFLAGS}"
+ </literallayout>
+ </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 accessing
+ 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:
+ <ulink url='http://git.yoctoproject.org/cgit/cgit.cgi/poky/commit/?id=189371f8393971d00bca0fceffd67cc07784f6ee'>1</ulink>
+ and
+ <ulink url='http://git.yoctoproject.org/cgit/cgit.cgi/poky/commit/?id=4a5aa7ea4d07c2c90a1654b174873abb018acc67'>2</ulink>.
+ </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>:
+ Moved <filename>prlimit</filename> to a separate
+ <filename>util-linux-prlimit</filename> 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>package_regex.inc</filename>:
+ Removed because the definitions
+ <filename>package_regex.inc</filename> previously contained
+ have been moved to their respective recipes.
+ </para></listitem>
+ <listitem><para>
+ Both <filename>devtool add</filename> and
+ <filename>recipetool create</filename> now use a fixed
+ <link linkend='var-SRCREV'><filename>SRCREV</filename></link>
+ by default when fetching from a Git repository.
+ You can override this in either case to use
+ <filename>${</filename><link linkend='var-AUTOREV'><filename>AUTOREV</filename></link><filename>}</filename>
+ instead by using the <filename>-a</filename> or
+ <filename>&dash;&dash;autorev</filename> command-line
+ option
+ </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.
+ This change means that
+ <filename>COMPRESSIONTYPES</filename>,
+ <filename>COMPRESS_DEPENDS</filename> and
+ <filename>COMPRESS_CMD</filename> are deprecated in favor
+ of <filename>CONVERSIONTYPES</filename>,
+ <filename>CONVERSION_DEPENDS</filename> and
+ <filename>CONVERSION_CMD</filename>.
+ The <filename>COMPRESS*</filename> variable names will
+ still work in the 2.2 release but metadata that does not
+ need to be backwards-compatible should be changed to
+ use the new names as the <filename>COMPRESS*</filename>
+ ones will be removed in a future release.
+ </para></listitem>
+ <listitem><para>
+ <filename>gtk-doc</filename>:
+ A full version of <filename>gtk-doc</filename> is now
+ made available.
+ However, some old software might not be capable of using
+ the current version of <filename>gtk-doc</filename>
+ to build documentation.
+ You need to change recipes that build such software so that
+ they explicitly disable building documentation with
+ <filename>gtk-doc</filename>.
</para></listitem>
</itemizedlist>
</para>