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