xref: /OK3568_Linux_fs/yocto/poky/documentation/migration-guides/migration-2.2.rst (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593SmuzhiyunRelease 2.2 (morty)
2*4882a593Smuzhiyun===================
3*4882a593Smuzhiyun
4*4882a593SmuzhiyunThis section provides migration information for moving to the Yocto
5*4882a593SmuzhiyunProject 2.2 Release (codename "morty") from the prior release.
6*4882a593Smuzhiyun
7*4882a593Smuzhiyun.. _migration-2.2-minimum-kernel-version:
8*4882a593Smuzhiyun
9*4882a593SmuzhiyunMinimum Kernel Version
10*4882a593Smuzhiyun----------------------
11*4882a593Smuzhiyun
12*4882a593SmuzhiyunThe minimum kernel version for the target system and for SDK is now
13*4882a593Smuzhiyun3.2.0, due to the upgrade to ``glibc 2.24``. Specifically, for
14*4882a593SmuzhiyunAArch64-based targets the version is 3.14. For Nios II-based targets,
15*4882a593Smuzhiyunthe minimum kernel version is 3.19.
16*4882a593Smuzhiyun
17*4882a593Smuzhiyun.. note::
18*4882a593Smuzhiyun
19*4882a593Smuzhiyun   For x86 and x86_64, you can reset :term:`OLDEST_KERNEL`
20*4882a593Smuzhiyun   to anything down to 2.6.32 if desired.
21*4882a593Smuzhiyun
22*4882a593Smuzhiyun.. _migration-2.2-staging-directories-in-sysroot-simplified:
23*4882a593Smuzhiyun
24*4882a593SmuzhiyunStaging Directories in Sysroot Has Been Simplified
25*4882a593Smuzhiyun--------------------------------------------------
26*4882a593Smuzhiyun
27*4882a593SmuzhiyunThe way directories are staged in sysroot has been simplified and
28*4882a593Smuzhiyunintroduces the new :term:`SYSROOT_DIRS`,
29*4882a593Smuzhiyun:term:`SYSROOT_DIRS_NATIVE`, and ``SYSROOT_DIRS_BLACKLIST``
30*4882a593Smuzhiyun(replaced by :term:`SYSROOT_DIRS_IGNORE` in version 3.5). See the
31*4882a593Smuzhiyun:oe_lists:`v2 patch series on the OE-Core Mailing List
32*4882a593Smuzhiyun</pipermail/openembedded-core/2016-May/121365.html>`
33*4882a593Smuzhiyunfor additional information.
34*4882a593Smuzhiyun
35*4882a593Smuzhiyun.. _migration-2.2-removal-of-old-images-from-tmp-deploy-now-enabled:
36*4882a593Smuzhiyun
37*4882a593SmuzhiyunRemoval of Old Images and Other Files in ``tmp/deploy`` Now Enabled
38*4882a593Smuzhiyun-------------------------------------------------------------------
39*4882a593Smuzhiyun
40*4882a593SmuzhiyunRemoval of old images and other files in ``tmp/deploy/`` is now enabled
41*4882a593Smuzhiyunby default due to a new staging method used for those files. As a result
42*4882a593Smuzhiyunof this change, the ``RM_OLD_IMAGE`` variable is now redundant.
43*4882a593Smuzhiyun
44*4882a593Smuzhiyun.. _migration-2.2-python-changes:
45*4882a593Smuzhiyun
46*4882a593SmuzhiyunPython Changes
47*4882a593Smuzhiyun--------------
48*4882a593Smuzhiyun
49*4882a593SmuzhiyunThe following changes for Python occurred:
50*4882a593Smuzhiyun
51*4882a593Smuzhiyun.. _migration-2.2-bitbake-now-requires-python-3.4:
52*4882a593Smuzhiyun
53*4882a593SmuzhiyunBitBake Now Requires Python 3.4+
54*4882a593Smuzhiyun~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
55*4882a593Smuzhiyun
56*4882a593SmuzhiyunBitBake requires Python 3.4 or greater.
57*4882a593Smuzhiyun
58*4882a593Smuzhiyun.. _migration-2.2-utf-8-locale-required-on-build-host:
59*4882a593Smuzhiyun
60*4882a593SmuzhiyunUTF-8 Locale Required on Build Host
61*4882a593Smuzhiyun~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
62*4882a593Smuzhiyun
63*4882a593SmuzhiyunA UTF-8 locale is required on the build host due to Python 3. Since
64*4882a593SmuzhiyunC.UTF-8 is not a standard, the default is en_US.UTF-8.
65*4882a593Smuzhiyun
66*4882a593Smuzhiyun.. _migration-2.2-metadata-now-must-use-python-3-syntax:
67*4882a593Smuzhiyun
68*4882a593SmuzhiyunMetadata Must Now Use Python 3 Syntax
69*4882a593Smuzhiyun~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
70*4882a593Smuzhiyun
71*4882a593SmuzhiyunThe metadata is now required to use Python 3 syntax. For help preparing
72*4882a593Smuzhiyunmetadata, see any of the many Python 3 porting guides available.
73*4882a593SmuzhiyunAlternatively, you can reference the conversion commits for Bitbake and
74*4882a593Smuzhiyunyou can use :term:`OpenEmbedded-Core (OE-Core)` as a guide for changes. Following are
75*4882a593Smuzhiyunparticular areas of interest:
76*4882a593Smuzhiyun
77*4882a593Smuzhiyun  - subprocess command-line pipes needing locale decoding
78*4882a593Smuzhiyun
79*4882a593Smuzhiyun  - the syntax for octal values changed
80*4882a593Smuzhiyun
81*4882a593Smuzhiyun  - the ``iter*()`` functions changed name
82*4882a593Smuzhiyun
83*4882a593Smuzhiyun  - iterators now return views, not lists
84*4882a593Smuzhiyun
85*4882a593Smuzhiyun  - changed names for Python modules
86*4882a593Smuzhiyun
87*4882a593Smuzhiyun.. _migration-2.2-target-python-recipes-switched-to-python-3:
88*4882a593Smuzhiyun
89*4882a593SmuzhiyunTarget Python Recipes Switched to Python 3
90*4882a593Smuzhiyun~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
91*4882a593Smuzhiyun
92*4882a593SmuzhiyunMost target Python recipes have now been switched to Python 3.
93*4882a593SmuzhiyunUnfortunately, systems using RPM as a package manager and providing
94*4882a593Smuzhiyunonline package-manager support through SMART still require Python 2.
95*4882a593Smuzhiyun
96*4882a593Smuzhiyun.. note::
97*4882a593Smuzhiyun
98*4882a593Smuzhiyun   Python 2 and recipes that use it can still be built for the target as
99*4882a593Smuzhiyun   with previous versions.
100*4882a593Smuzhiyun
101*4882a593Smuzhiyun.. _migration-2.2-buildtools-tarball-includes-python-3:
102*4882a593Smuzhiyun
103*4882a593Smuzhiyun``buildtools-tarball`` Includes Python 3
104*4882a593Smuzhiyun~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
105*4882a593Smuzhiyun
106*4882a593Smuzhiyun``buildtools-tarball`` now includes Python 3.
107*4882a593Smuzhiyun
108*4882a593Smuzhiyun.. _migration-2.2-uclibc-replaced-by-musl:
109*4882a593Smuzhiyun
110*4882a593SmuzhiyunuClibc Replaced by musl
111*4882a593Smuzhiyun-----------------------
112*4882a593Smuzhiyun
113*4882a593SmuzhiyunuClibc has been removed in favor of musl. Musl has matured, is better
114*4882a593Smuzhiyunmaintained, and is compatible with a wider range of applications as
115*4882a593Smuzhiyuncompared to uClibc.
116*4882a593Smuzhiyun
117*4882a593Smuzhiyun.. _migration-2.2-B-no-longer-default-working-directory-for-tasks:
118*4882a593Smuzhiyun
119*4882a593Smuzhiyun``${B}`` No Longer Default Working Directory for Tasks
120*4882a593Smuzhiyun------------------------------------------------------
121*4882a593Smuzhiyun
122*4882a593Smuzhiyun``${``\ :term:`B`\ ``}`` is no longer the default working
123*4882a593Smuzhiyundirectory for tasks. Consequently, any custom tasks you define now need
124*4882a593Smuzhiyunto either have the
125*4882a593Smuzhiyun``[``\ :ref:`dirs <bitbake:bitbake-user-manual/bitbake-user-manual-metadata:variable flags>`\ ``]`` flag
126*4882a593Smuzhiyunset, or the task needs to change into the appropriate working directory
127*4882a593Smuzhiyunmanually (e.g using ``cd`` for a shell task).
128*4882a593Smuzhiyun
129*4882a593Smuzhiyun.. note::
130*4882a593Smuzhiyun
131*4882a593Smuzhiyun   The preferred method is to use the
132*4882a593Smuzhiyun   [dirs]
133*4882a593Smuzhiyun   flag.
134*4882a593Smuzhiyun
135*4882a593Smuzhiyun.. _migration-2.2-runqemu-ported-to-python:
136*4882a593Smuzhiyun
137*4882a593Smuzhiyun``runqemu`` Ported to Python
138*4882a593Smuzhiyun----------------------------
139*4882a593Smuzhiyun
140*4882a593Smuzhiyun``runqemu`` has been ported to Python and has changed behavior in some
141*4882a593Smuzhiyuncases. Previous usage patterns continue to be supported.
142*4882a593Smuzhiyun
143*4882a593SmuzhiyunThe new ``runqemu`` is a Python script. Machine knowledge is no longer
144*4882a593Smuzhiyunhardcoded into ``runqemu``. You can choose to use the ``qemuboot``
145*4882a593Smuzhiyunconfiguration file to define the BSP's own arguments and to make it
146*4882a593Smuzhiyunbootable with ``runqemu``. If you use a configuration file, use the
147*4882a593Smuzhiyunfollowing form::
148*4882a593Smuzhiyun
149*4882a593Smuzhiyun   image-name-machine.qemuboot.conf
150*4882a593Smuzhiyun
151*4882a593SmuzhiyunThe configuration file
152*4882a593Smuzhiyunenables fine-grained tuning of options passed to QEMU without the
153*4882a593Smuzhiyun``runqemu`` script hard-coding any knowledge about different machines.
154*4882a593SmuzhiyunUsing a configuration file is particularly convenient when trying to use
155*4882a593SmuzhiyunQEMU with machines other than the ``qemu*`` machines in
156*4882a593Smuzhiyun:term:`OpenEmbedded-Core (OE-Core)`. The ``qemuboot.conf`` file is generated by the
157*4882a593Smuzhiyun``qemuboot`` class when the root filesystem is being built (i.e. build
158*4882a593Smuzhiyunrootfs). QEMU boot arguments can be set in BSP's configuration file and
159*4882a593Smuzhiyunthe ``qemuboot`` class will save them to ``qemuboot.conf``.
160*4882a593Smuzhiyun
161*4882a593SmuzhiyunIf you want to use ``runqemu`` without a configuration file, use the
162*4882a593Smuzhiyunfollowing command form::
163*4882a593Smuzhiyun
164*4882a593Smuzhiyun   $ runqemu machine rootfs kernel [options]
165*4882a593Smuzhiyun
166*4882a593SmuzhiyunSupported machines are as follows:
167*4882a593Smuzhiyun
168*4882a593Smuzhiyun  - qemuarm
169*4882a593Smuzhiyun  - qemuarm64
170*4882a593Smuzhiyun  - qemux86
171*4882a593Smuzhiyun  - qemux86-64
172*4882a593Smuzhiyun  - qemuppc
173*4882a593Smuzhiyun  - qemumips
174*4882a593Smuzhiyun  - qemumips64
175*4882a593Smuzhiyun  - qemumipsel
176*4882a593Smuzhiyun  - qemumips64el
177*4882a593Smuzhiyun
178*4882a593SmuzhiyunConsider the
179*4882a593Smuzhiyunfollowing example, which uses the ``qemux86-64`` machine, provides a
180*4882a593Smuzhiyunroot filesystem, provides an image, and uses the ``nographic`` option::
181*4882a593Smuzhiyun
182*4882a593Smuzhiyun   $ runqemu qemux86-64 tmp/deploy/images/qemux86-64/core-image-minimal-qemux86-64.ext4 tmp/deploy/images/qemux86-64/bzImage nographic
183*4882a593Smuzhiyun
184*4882a593SmuzhiyunFollowing is a list of variables that can be set in configuration files
185*4882a593Smuzhiyunsuch as ``bsp.conf`` to enable the BSP to be booted by ``runqemu``:
186*4882a593Smuzhiyun
187*4882a593Smuzhiyun.. note::
188*4882a593Smuzhiyun
189*4882a593Smuzhiyun   "QB" means "QEMU Boot".
190*4882a593Smuzhiyun
191*4882a593Smuzhiyun::
192*4882a593Smuzhiyun
193*4882a593Smuzhiyun   QB_SYSTEM_NAME: QEMU name (e.g. "qemu-system-i386")
194*4882a593Smuzhiyun   QB_OPT_APPEND: Options to append to QEMU (e.g. "-show-cursor")
195*4882a593Smuzhiyun   QB_DEFAULT_KERNEL: Default kernel to boot (e.g. "bzImage")
196*4882a593Smuzhiyun   QB_DEFAULT_FSTYPE: Default FSTYPE to boot (e.g. "ext4")
197*4882a593Smuzhiyun   QB_MEM: Memory (e.g. "-m 512")
198*4882a593Smuzhiyun   QB_MACHINE: QEMU machine (e.g. "-machine virt")
199*4882a593Smuzhiyun   QB_CPU: QEMU cpu (e.g. "-cpu qemu32")
200*4882a593Smuzhiyun   QB_CPU_KVM: Similar to QB_CPU except used for kvm support (e.g. "-cpu kvm64")
201*4882a593Smuzhiyun   QB_KERNEL_CMDLINE_APPEND: Options to append to the kernel's -append
202*4882a593Smuzhiyun                             option (e.g. "console=ttyS0 console=tty")
203*4882a593Smuzhiyun   QB_DTB: QEMU dtb name
204*4882a593Smuzhiyun   QB_AUDIO_DRV: QEMU audio driver (e.g. "alsa", set it when support audio)
205*4882a593Smuzhiyun   QB_AUDIO_OPT: QEMU audio option (e.g. "-soundhw ac97,es1370"), which is used
206*4882a593Smuzhiyun                 when QB_AUDIO_DRV is set.
207*4882a593Smuzhiyun   QB_KERNEL_ROOT: Kernel's root (e.g. /dev/vda)
208*4882a593Smuzhiyun   QB_TAP_OPT: Network option for 'tap' mode (e.g.
209*4882a593Smuzhiyun               "-netdev tap,id=net0,ifname=@TAP@,script=no,downscript=no -device virtio-net-device,netdev=net0").
210*4882a593Smuzhiyun                runqemu will replace "@TAP@" with the one that is used, such as tap0, tap1 ...
211*4882a593Smuzhiyun   QB_SLIRP_OPT: Network option for SLIRP mode (e.g. "-netdev user,id=net0 -device virtio-net-device,netdev=net0")
212*4882a593Smuzhiyun   QB_ROOTFS_OPT: Used as rootfs (e.g.
213*4882a593Smuzhiyun                  "-drive id=disk0,file=@ROOTFS@,if=none,format=raw -device virtio-blk-device,drive=disk0").
214*4882a593Smuzhiyun                  runqemu will replace "@ROOTFS@" with the one which is used, such as
215*4882a593Smuzhiyun                  core-image-minimal-qemuarm64.ext4.
216*4882a593Smuzhiyun   QB_SERIAL_OPT: Serial port (e.g. "-serial mon:stdio")
217*4882a593Smuzhiyun   QB_TCPSERIAL_OPT: tcp serial port option (e.g.
218*4882a593Smuzhiyun                     " -device virtio-serial-device -chardev socket,id=virtcon,port=@PORT@,host=127.0.0.1 -device      virtconsole,chardev=virtcon"
219*4882a593Smuzhiyun                     runqemu will replace "@PORT@" with the port number which is used.
220*4882a593Smuzhiyun
221*4882a593SmuzhiyunTo use ``runqemu``, set :term:`IMAGE_CLASSES` as
222*4882a593Smuzhiyunfollows and run ``runqemu``:
223*4882a593Smuzhiyun
224*4882a593Smuzhiyun.. note::
225*4882a593Smuzhiyun
226*4882a593Smuzhiyun   For command-line syntax, use ``runqemu help``.
227*4882a593Smuzhiyun
228*4882a593Smuzhiyun::
229*4882a593Smuzhiyun
230*4882a593Smuzhiyun   IMAGE_CLASSES += "qemuboot"
231*4882a593Smuzhiyun
232*4882a593Smuzhiyun.. _migration-2.2-default-linker-hash-style-changed:
233*4882a593Smuzhiyun
234*4882a593SmuzhiyunDefault Linker Hash Style Changed
235*4882a593Smuzhiyun---------------------------------
236*4882a593Smuzhiyun
237*4882a593SmuzhiyunThe default linker hash style for ``gcc-cross`` is now "sysv" in order
238*4882a593Smuzhiyunto catch recipes that are building software without using the
239*4882a593SmuzhiyunOpenEmbedded :term:`LDFLAGS`. This change could result in
240*4882a593Smuzhiyunseeing some "No GNU_HASH in the elf binary" QA issues when building such
241*4882a593Smuzhiyunrecipes. You need to fix these recipes so that they use the expected
242*4882a593Smuzhiyun:term:`LDFLAGS`. Depending on how the software is built, the build system
243*4882a593Smuzhiyunused by the software (e.g. a Makefile) might need to be patched.
244*4882a593SmuzhiyunHowever, sometimes making this fix is as simple as adding the following
245*4882a593Smuzhiyunto the recipe::
246*4882a593Smuzhiyun
247*4882a593Smuzhiyun   TARGET_CC_ARCH += "${LDFLAGS}"
248*4882a593Smuzhiyun
249*4882a593Smuzhiyun.. _migration-2.2-kernel-image-base-name-no-longer-uses-kernel-imagetype:
250*4882a593Smuzhiyun
251*4882a593Smuzhiyun``KERNEL_IMAGE_BASE_NAME`` no Longer Uses ``KERNEL_IMAGETYPE``
252*4882a593Smuzhiyun--------------------------------------------------------------
253*4882a593Smuzhiyun
254*4882a593SmuzhiyunThe ``KERNEL_IMAGE_BASE_NAME`` variable no longer uses the
255*4882a593Smuzhiyun:term:`KERNEL_IMAGETYPE` variable to create the
256*4882a593Smuzhiyunimage's base name. Because the OpenEmbedded build system can now build
257*4882a593Smuzhiyunmultiple kernel image types, this part of the kernel image base name as
258*4882a593Smuzhiyunbeen removed leaving only the following::
259*4882a593Smuzhiyun
260*4882a593Smuzhiyun   KERNEL_IMAGE_BASE_NAME ?= "${PKGE}-${PKGV}-${PKGR}-${MACHINE}-${DATETIME}"
261*4882a593Smuzhiyun
262*4882a593SmuzhiyunIf you have recipes or
263*4882a593Smuzhiyunclasses that use ``KERNEL_IMAGE_BASE_NAME`` directly, you might need to
264*4882a593Smuzhiyunupdate the references to ensure they continue to work.
265*4882a593Smuzhiyun
266*4882a593Smuzhiyun.. _migration-2.2-imgdeploydir-replaces-deploy-dir-image-for-most-use-cases:
267*4882a593Smuzhiyun
268*4882a593Smuzhiyun``IMGDEPLOYDIR`` Replaces ``DEPLOY_DIR_IMAGE`` for Most Use Cases
269*4882a593Smuzhiyun-----------------------------------------------------------------
270*4882a593Smuzhiyun
271*4882a593SmuzhiyunThe :term:`IMGDEPLOYDIR` variable was introduced to allow sstate caching of
272*4882a593Smuzhiyunimage creation results. Image recipes defining custom :term:`IMAGE_CMD` or
273*4882a593Smuzhiyundoing postprocessing on the generated images need to be adapted to use
274*4882a593Smuzhiyun:term:`IMGDEPLOYDIR` instead of :term:`DEPLOY_DIR_IMAGE`. :term:`IMAGE_MANIFEST`
275*4882a593Smuzhiyuncreation and symlinking of the most recent image file will fail otherwise.
276*4882a593Smuzhiyun
277*4882a593Smuzhiyun.. _migration-2.2-bitbake-changes:
278*4882a593Smuzhiyun
279*4882a593SmuzhiyunBitBake Changes
280*4882a593Smuzhiyun---------------
281*4882a593Smuzhiyun
282*4882a593SmuzhiyunThe following changes took place for BitBake:
283*4882a593Smuzhiyun
284*4882a593Smuzhiyun-  The "goggle" UI and standalone image-writer tool have been removed as
285*4882a593Smuzhiyun   they both require GTK+ 2.0 and were not being maintained.
286*4882a593Smuzhiyun
287*4882a593Smuzhiyun-  The Perforce fetcher now supports :term:`SRCREV` for
288*4882a593Smuzhiyun   specifying the source revision to use, be it
289*4882a593Smuzhiyun   ``${``\ :term:`AUTOREV`\ ``}``, changelist number,
290*4882a593Smuzhiyun   p4date, or label, in preference to separate
291*4882a593Smuzhiyun   :term:`SRC_URI` parameters to specify these. This
292*4882a593Smuzhiyun   change is more in-line with how the other fetchers work for source
293*4882a593Smuzhiyun   control systems. Recipes that fetch from Perforce will need to be
294*4882a593Smuzhiyun   updated to use :term:`SRCREV` in place of specifying the source revision
295*4882a593Smuzhiyun   within :term:`SRC_URI`.
296*4882a593Smuzhiyun
297*4882a593Smuzhiyun-  Some of BitBake's internal code structures for accessing the recipe
298*4882a593Smuzhiyun   cache needed to be changed to support the new multi-configuration
299*4882a593Smuzhiyun   functionality. These changes will affect external tools that use
300*4882a593Smuzhiyun   BitBake's tinfoil module. For information on these changes, see the
301*4882a593Smuzhiyun   changes made to the scripts supplied with OpenEmbedded-Core:
302*4882a593Smuzhiyun   :yocto_git:`1 </poky/commit/?id=189371f8393971d00bca0fceffd67cc07784f6ee>`
303*4882a593Smuzhiyun   and
304*4882a593Smuzhiyun   :yocto_git:`2 </poky/commit/?id=4a5aa7ea4d07c2c90a1654b174873abb018acc67>`.
305*4882a593Smuzhiyun
306*4882a593Smuzhiyun-  The task management code has been rewritten to avoid using ID
307*4882a593Smuzhiyun   indirection in order to improve performance. This change is unlikely
308*4882a593Smuzhiyun   to cause any problems for most users. However, the setscene
309*4882a593Smuzhiyun   verification function as pointed to by
310*4882a593Smuzhiyun   ``BB_SETSCENE_VERIFY_FUNCTION`` needed to change signature.
311*4882a593Smuzhiyun   Consequently, a new variable named ``BB_SETSCENE_VERIFY_FUNCTION2``
312*4882a593Smuzhiyun   has been added allowing multiple versions of BitBake to work with
313*4882a593Smuzhiyun   suitably written metadata, which includes OpenEmbedded-Core and Poky.
314*4882a593Smuzhiyun   Anyone with custom BitBake task scheduler code might also need to
315*4882a593Smuzhiyun   update the code to handle the new structure.
316*4882a593Smuzhiyun
317*4882a593Smuzhiyun.. _migration-2.2-swabber-has-been-removed:
318*4882a593Smuzhiyun
319*4882a593SmuzhiyunSwabber has Been Removed
320*4882a593Smuzhiyun------------------------
321*4882a593Smuzhiyun
322*4882a593SmuzhiyunSwabber, a tool that was intended to detect host contamination in the
323*4882a593Smuzhiyunbuild process, has been removed, as it has been unmaintained and unused
324*4882a593Smuzhiyunfor some time and was never particularly effective. The OpenEmbedded
325*4882a593Smuzhiyunbuild system has since incorporated a number of mechanisms including
326*4882a593Smuzhiyunenhanced QA checks that mean that there is less of a need for such a
327*4882a593Smuzhiyuntool.
328*4882a593Smuzhiyun
329*4882a593Smuzhiyun.. _migration-2.2-removed-recipes:
330*4882a593Smuzhiyun
331*4882a593SmuzhiyunRemoved Recipes
332*4882a593Smuzhiyun---------------
333*4882a593Smuzhiyun
334*4882a593SmuzhiyunThe following recipes have been removed:
335*4882a593Smuzhiyun
336*4882a593Smuzhiyun-  ``augeas``: No longer needed and has been moved to ``meta-oe``.
337*4882a593Smuzhiyun
338*4882a593Smuzhiyun-  ``directfb``: Unmaintained and has been moved to ``meta-oe``.
339*4882a593Smuzhiyun
340*4882a593Smuzhiyun-  ``gcc``: Removed 4.9 version. Versions 5.4 and 6.2 are still present.
341*4882a593Smuzhiyun
342*4882a593Smuzhiyun-  ``gnome-doc-utils``: No longer needed.
343*4882a593Smuzhiyun
344*4882a593Smuzhiyun-  ``gtk-doc-stub``: Replaced by ``gtk-doc``.
345*4882a593Smuzhiyun
346*4882a593Smuzhiyun-  ``gtk-engines``: No longer needed and has been moved to
347*4882a593Smuzhiyun   ``meta-gnome``.
348*4882a593Smuzhiyun
349*4882a593Smuzhiyun-  ``gtk-sato-engine``: Became obsolete.
350*4882a593Smuzhiyun
351*4882a593Smuzhiyun-  ``libglade``: No longer needed and has been moved to ``meta-oe``.
352*4882a593Smuzhiyun
353*4882a593Smuzhiyun-  ``libmad``: Unmaintained and functionally replaced by ``libmpg123``.
354*4882a593Smuzhiyun   ``libmad`` has been moved to ``meta-oe``.
355*4882a593Smuzhiyun
356*4882a593Smuzhiyun-  ``libowl``: Became obsolete.
357*4882a593Smuzhiyun
358*4882a593Smuzhiyun-  ``libxsettings-client``: No longer needed.
359*4882a593Smuzhiyun
360*4882a593Smuzhiyun-  ``oh-puzzles``: Functionally replaced by ``puzzles``.
361*4882a593Smuzhiyun
362*4882a593Smuzhiyun-  ``oprofileui``: Became obsolete. OProfile has been largely supplanted
363*4882a593Smuzhiyun   by perf.
364*4882a593Smuzhiyun
365*4882a593Smuzhiyun-  ``packagegroup-core-directfb.bb``: Removed.
366*4882a593Smuzhiyun
367*4882a593Smuzhiyun-  ``core-image-directfb.bb``: Removed.
368*4882a593Smuzhiyun
369*4882a593Smuzhiyun-  ``pointercal``: No longer needed and has been moved to ``meta-oe``.
370*4882a593Smuzhiyun
371*4882a593Smuzhiyun-  ``python-imaging``: No longer needed and moved to ``meta-python``
372*4882a593Smuzhiyun
373*4882a593Smuzhiyun-  ``python-pyrex``: No longer needed and moved to ``meta-python``.
374*4882a593Smuzhiyun
375*4882a593Smuzhiyun-  ``sato-icon-theme``: Became obsolete.
376*4882a593Smuzhiyun
377*4882a593Smuzhiyun-  ``swabber-native``: Swabber has been removed. See the :ref:`entry on
378*4882a593Smuzhiyun   Swabber <migration-guides/migration-2.2:swabber has been removed>`.
379*4882a593Smuzhiyun
380*4882a593Smuzhiyun-  ``tslib``: No longer needed and has been moved to ``meta-oe``.
381*4882a593Smuzhiyun
382*4882a593Smuzhiyun-  ``uclibc``: Removed in favor of musl.
383*4882a593Smuzhiyun
384*4882a593Smuzhiyun-  ``xtscal``: No longer needed and moved to ``meta-oe``
385*4882a593Smuzhiyun
386*4882a593Smuzhiyun.. _migration-2.2-removed-classes:
387*4882a593Smuzhiyun
388*4882a593SmuzhiyunRemoved Classes
389*4882a593Smuzhiyun---------------
390*4882a593Smuzhiyun
391*4882a593SmuzhiyunThe following classes have been removed:
392*4882a593Smuzhiyun
393*4882a593Smuzhiyun-  ``distutils-native-base``: No longer needed.
394*4882a593Smuzhiyun
395*4882a593Smuzhiyun-  ``distutils3-native-base``: No longer needed.
396*4882a593Smuzhiyun
397*4882a593Smuzhiyun-  ``sdl``: Only set :term:`DEPENDS` and
398*4882a593Smuzhiyun   :term:`SECTION`, which are better set within the
399*4882a593Smuzhiyun   recipe instead.
400*4882a593Smuzhiyun
401*4882a593Smuzhiyun-  ``sip``: Mostly unused.
402*4882a593Smuzhiyun
403*4882a593Smuzhiyun-  ``swabber``: See the :ref:`entry on
404*4882a593Smuzhiyun   Swabber <migration-guides/migration-2.2:swabber has been removed>`.
405*4882a593Smuzhiyun
406*4882a593Smuzhiyun.. _migration-2.2-minor-packaging-changes:
407*4882a593Smuzhiyun
408*4882a593SmuzhiyunMinor Packaging Changes
409*4882a593Smuzhiyun-----------------------
410*4882a593Smuzhiyun
411*4882a593SmuzhiyunThe following minor packaging changes have occurred:
412*4882a593Smuzhiyun
413*4882a593Smuzhiyun-  ``grub``: Split ``grub-editenv`` into its own package.
414*4882a593Smuzhiyun
415*4882a593Smuzhiyun-  ``systemd``: Split container and vm related units into a new package,
416*4882a593Smuzhiyun   systemd-container.
417*4882a593Smuzhiyun
418*4882a593Smuzhiyun-  ``util-linux``: Moved ``prlimit`` to a separate
419*4882a593Smuzhiyun   ``util-linux-prlimit`` package.
420*4882a593Smuzhiyun
421*4882a593Smuzhiyun.. _migration-2.2-miscellaneous-changes:
422*4882a593Smuzhiyun
423*4882a593SmuzhiyunMiscellaneous Changes
424*4882a593Smuzhiyun---------------------
425*4882a593Smuzhiyun
426*4882a593SmuzhiyunThe following miscellaneous changes have occurred:
427*4882a593Smuzhiyun
428*4882a593Smuzhiyun-  ``package_regex.inc``: Removed because the definitions
429*4882a593Smuzhiyun   ``package_regex.inc`` previously contained have been moved to their
430*4882a593Smuzhiyun   respective recipes.
431*4882a593Smuzhiyun
432*4882a593Smuzhiyun-  Both ``devtool add`` and ``recipetool create`` now use a fixed
433*4882a593Smuzhiyun   :term:`SRCREV` by default when fetching from a Git
434*4882a593Smuzhiyun   repository. You can override this in either case to use
435*4882a593Smuzhiyun   ``${``\ :term:`AUTOREV`\ ``}`` instead by using the
436*4882a593Smuzhiyun   ``-a`` or ``--autorev`` command-line option
437*4882a593Smuzhiyun
438*4882a593Smuzhiyun-  ``distcc``: GTK+ UI is now disabled by default.
439*4882a593Smuzhiyun
440*4882a593Smuzhiyun-  ``packagegroup-core-tools-testapps``: Removed Piglit.
441*4882a593Smuzhiyun
442*4882a593Smuzhiyun-  :ref:`ref-classes-image`: Renamed COMPRESS(ION) to CONVERSION. This change
443*4882a593Smuzhiyun   means that ``COMPRESSIONTYPES``, ``COMPRESS_DEPENDS`` and
444*4882a593Smuzhiyun   ``COMPRESS_CMD`` are deprecated in favor of ``CONVERSIONTYPES``,
445*4882a593Smuzhiyun   ``CONVERSION_DEPENDS`` and ``CONVERSION_CMD``. The ``COMPRESS*``
446*4882a593Smuzhiyun   variable names will still work in the 2.2 release but metadata that
447*4882a593Smuzhiyun   does not need to be backwards-compatible should be changed to use the
448*4882a593Smuzhiyun   new names as the ``COMPRESS*`` ones will be removed in a future
449*4882a593Smuzhiyun   release.
450*4882a593Smuzhiyun
451*4882a593Smuzhiyun-  ``gtk-doc``: A full version of ``gtk-doc`` is now made available.
452*4882a593Smuzhiyun   However, some old software might not be capable of using the current
453*4882a593Smuzhiyun   version of ``gtk-doc`` to build documentation. You need to change
454*4882a593Smuzhiyun   recipes that build such software so that they explicitly disable
455*4882a593Smuzhiyun   building documentation with ``gtk-doc``.
456*4882a593Smuzhiyun
457*4882a593Smuzhiyun
458