1*4882a593SmuzhiyunRelease 2.6 (thud) 2*4882a593Smuzhiyun================== 3*4882a593Smuzhiyun 4*4882a593SmuzhiyunThis section provides migration information for moving to the Yocto 5*4882a593SmuzhiyunProject 2.6 Release (codename "thud") from the prior release. 6*4882a593Smuzhiyun 7*4882a593Smuzhiyun.. _migration-2.6-gcc-changes: 8*4882a593Smuzhiyun 9*4882a593SmuzhiyunGCC 8.2 is Now Used by Default 10*4882a593Smuzhiyun------------------------------ 11*4882a593Smuzhiyun 12*4882a593SmuzhiyunThe GNU Compiler Collection version 8.2 is now used by default for 13*4882a593Smuzhiyuncompilation. For more information on what has changed in the GCC 8.x 14*4882a593Smuzhiyunrelease, see https://gcc.gnu.org/gcc-8/changes.html. 15*4882a593Smuzhiyun 16*4882a593SmuzhiyunIf you still need to compile with version 7.x, GCC 7.3 is also provided. 17*4882a593SmuzhiyunYou can select this version by setting the and can be selected by 18*4882a593Smuzhiyunsetting the :term:`GCCVERSION` variable to "7.%" in 19*4882a593Smuzhiyunyour configuration. 20*4882a593Smuzhiyun 21*4882a593Smuzhiyun.. _migration-2.6-removed-recipes: 22*4882a593Smuzhiyun 23*4882a593SmuzhiyunRemoved Recipes 24*4882a593Smuzhiyun--------------- 25*4882a593Smuzhiyun 26*4882a593SmuzhiyunThe following recipes have been removed: 27*4882a593Smuzhiyun 28*4882a593Smuzhiyun- *beecrypt*: No longer needed since moving to RPM 4. 29*4882a593Smuzhiyun- *bigreqsproto*: Replaced by ``xorgproto``. 30*4882a593Smuzhiyun- *calibrateproto*: Removed in favor of ``xinput``. 31*4882a593Smuzhiyun- *compositeproto*: Replaced by ``xorgproto``. 32*4882a593Smuzhiyun- *damageproto*: Replaced by ``xorgproto``. 33*4882a593Smuzhiyun- *dmxproto*: Replaced by ``xorgproto``. 34*4882a593Smuzhiyun- *dri2proto*: Replaced by ``xorgproto``. 35*4882a593Smuzhiyun- *dri3proto*: Replaced by ``xorgproto``. 36*4882a593Smuzhiyun- *eee-acpi-scripts*: Became obsolete. 37*4882a593Smuzhiyun- *fixesproto*: Replaced by ``xorgproto``. 38*4882a593Smuzhiyun- *fontsproto*: Replaced by ``xorgproto``. 39*4882a593Smuzhiyun- *fstests*: Became obsolete. 40*4882a593Smuzhiyun- *gccmakedep*: No longer used. 41*4882a593Smuzhiyun- *glproto*: Replaced by ``xorgproto``. 42*4882a593Smuzhiyun- *gnome-desktop3*: No longer needed. This recipe has moved to ``meta-oe``. 43*4882a593Smuzhiyun- *icon-naming-utils*: No longer used since the Sato theme was removed in 2016. 44*4882a593Smuzhiyun- *inputproto*: Replaced by ``xorgproto``. 45*4882a593Smuzhiyun- *kbproto*: Replaced by ``xorgproto``. 46*4882a593Smuzhiyun- *libusb-compat*: Became obsolete. 47*4882a593Smuzhiyun- *libuser*: Became obsolete. 48*4882a593Smuzhiyun- *libnfsidmap*: No longer an external requirement since ``nfs-utils`` 2.2.1. ``libnfsidmap`` is now integrated. 49*4882a593Smuzhiyun- *libxcalibrate*: No longer needed with ``xinput`` 50*4882a593Smuzhiyun- *mktemp*: Became obsolete. The ``mktemp`` command is provided by both ``busybox`` and ``coreutils``. 51*4882a593Smuzhiyun- *ossp-uuid*: Is not being maintained and has mostly been replaced by ``uuid.h`` in ``util-linux``. 52*4882a593Smuzhiyun- *pax-utils*: No longer needed. Previous QA tests that did use this recipe are now done at build time. 53*4882a593Smuzhiyun- *pcmciautils*: Became obsolete. 54*4882a593Smuzhiyun- *pixz*: No longer needed. ``xz`` now supports multi-threaded compression. 55*4882a593Smuzhiyun- *presentproto*: Replaced by ``xorgproto``. 56*4882a593Smuzhiyun- *randrproto*: Replaced by ``xorgproto``. 57*4882a593Smuzhiyun- *recordproto*: Replaced by ``xorgproto``. 58*4882a593Smuzhiyun- *renderproto*: Replaced by ``xorgproto``. 59*4882a593Smuzhiyun- *resourceproto*: Replaced by ``xorgproto``. 60*4882a593Smuzhiyun- *scrnsaverproto*: Replaced by ``xorgproto``. 61*4882a593Smuzhiyun- *trace-cmd*: Became obsolete. ``perf`` replaced this recipe's functionally. 62*4882a593Smuzhiyun- *videoproto*: Replaced by ``xorgproto``. 63*4882a593Smuzhiyun- *wireless-tools*: Became obsolete. Superseded by ``iw``. 64*4882a593Smuzhiyun- *xcmiscproto*: Replaced by ``xorgproto``. 65*4882a593Smuzhiyun- *xextproto*: Replaced by ``xorgproto``. 66*4882a593Smuzhiyun- *xf86dgaproto*: Replaced by ``xorgproto``. 67*4882a593Smuzhiyun- *xf86driproto*: Replaced by ``xorgproto``. 68*4882a593Smuzhiyun- *xf86miscproto*: Replaced by ``xorgproto``. 69*4882a593Smuzhiyun- *xf86-video-omapfb*: Became obsolete. Use kernel modesetting driver instead. 70*4882a593Smuzhiyun- *xf86-video-omap*: Became obsolete. Use kernel modesetting driver instead. 71*4882a593Smuzhiyun- *xf86vidmodeproto*: Replaced by ``xorgproto``. 72*4882a593Smuzhiyun- *xineramaproto*: Replaced by ``xorgproto``. 73*4882a593Smuzhiyun- *xproto*: Replaced by ``xorgproto``. 74*4882a593Smuzhiyun- *yasm*: No longer needed since previous usages are now satisfied by ``nasm``. 75*4882a593Smuzhiyun 76*4882a593Smuzhiyun.. _migration-2.6-packaging-changes: 77*4882a593Smuzhiyun 78*4882a593SmuzhiyunPackaging Changes 79*4882a593Smuzhiyun----------------- 80*4882a593Smuzhiyun 81*4882a593SmuzhiyunThe following packaging changes have been made: 82*4882a593Smuzhiyun 83*4882a593Smuzhiyun- *cmake*: ``cmake.m4`` and ``toolchain`` files have been moved to 84*4882a593Smuzhiyun the main package. 85*4882a593Smuzhiyun 86*4882a593Smuzhiyun- *iptables*: The ``iptables`` modules have been split into 87*4882a593Smuzhiyun separate packages. 88*4882a593Smuzhiyun 89*4882a593Smuzhiyun- *alsa-lib*: ``libasound`` is now in the main ``alsa-lib`` package 90*4882a593Smuzhiyun instead of ``libasound``. 91*4882a593Smuzhiyun 92*4882a593Smuzhiyun- *glibc*: ``libnss-db`` is now in its own package along with a 93*4882a593Smuzhiyun ``/var/db/makedbs.sh`` script to update databases. 94*4882a593Smuzhiyun 95*4882a593Smuzhiyun- *python and python3*: The main package has been removed from 96*4882a593Smuzhiyun the recipe. You must install specific packages or ``python-modules`` 97*4882a593Smuzhiyun / ``python3-modules`` for everything. 98*4882a593Smuzhiyun 99*4882a593Smuzhiyun- *systemtap*: Moved ``systemtap-exporter`` into its own package. 100*4882a593Smuzhiyun 101*4882a593Smuzhiyun.. _migration-2.6-xorg-protocol-dependencies: 102*4882a593Smuzhiyun 103*4882a593SmuzhiyunXOrg Protocol dependencies 104*4882a593Smuzhiyun-------------------------- 105*4882a593Smuzhiyun 106*4882a593SmuzhiyunThe ``*proto`` upstream repositories have been combined into one 107*4882a593Smuzhiyun"xorgproto" repository. Thus, the corresponding recipes have also been 108*4882a593Smuzhiyuncombined into a single ``xorgproto`` recipe. Any recipes that depend 109*4882a593Smuzhiyunupon the older ``*proto`` recipes need to be changed to depend on the 110*4882a593Smuzhiyunnewer ``xorgproto`` recipe instead. 111*4882a593Smuzhiyun 112*4882a593SmuzhiyunFor names of recipes removed because of this repository change, see the 113*4882a593Smuzhiyun:ref:`migration-guides/migration-2.6:removed recipes` section. 114*4882a593Smuzhiyun 115*4882a593Smuzhiyun.. _migration-2.6-distutils-distutils3-fetching-dependencies: 116*4882a593Smuzhiyun 117*4882a593Smuzhiyun``distutils`` and ``distutils3`` Now Prevent Fetching Dependencies During the ``do_configure`` Task 118*4882a593Smuzhiyun--------------------------------------------------------------------------------------------------- 119*4882a593Smuzhiyun 120*4882a593SmuzhiyunPreviously, it was possible for Python recipes that inherited the 121*4882a593Smuzhiyun``distutils`` and ``distutils3`` classes to fetch code 122*4882a593Smuzhiyunduring the :ref:`ref-tasks-configure` task to satisfy 123*4882a593Smuzhiyundependencies mentioned in ``setup.py`` if those dependencies were not 124*4882a593Smuzhiyunprovided in the sysroot (i.e. recipes providing the dependencies were 125*4882a593Smuzhiyunmissing from :term:`DEPENDS`). 126*4882a593Smuzhiyun 127*4882a593Smuzhiyun.. note:: 128*4882a593Smuzhiyun 129*4882a593Smuzhiyun This change affects classes beyond just the two mentioned (i.e. 130*4882a593Smuzhiyun ``distutils`` and ``distutils3``). Any recipe that inherits ``distutils*`` 131*4882a593Smuzhiyun classes are affected. For example, the ``setuptools`` and ``setuptools3`` 132*4882a593Smuzhiyun recipes are affected since they inherit the ``distutils*`` classes. 133*4882a593Smuzhiyun 134*4882a593SmuzhiyunFetching these types of dependencies that are not provided in the 135*4882a593Smuzhiyunsysroot negatively affects the ability to reproduce builds. This type of 136*4882a593Smuzhiyunfetching is now explicitly disabled. Consequently, any missing 137*4882a593Smuzhiyundependencies in Python recipes that use these classes now result in an 138*4882a593Smuzhiyunerror during the ``do_configure`` task. 139*4882a593Smuzhiyun 140*4882a593Smuzhiyun.. _migration-2.6-linux-yocto-configuration-audit-issues-now-correctly-reported: 141*4882a593Smuzhiyun 142*4882a593Smuzhiyun``linux-yocto`` Configuration Audit Issues Now Correctly Reported 143*4882a593Smuzhiyun----------------------------------------------------------------- 144*4882a593Smuzhiyun 145*4882a593SmuzhiyunDue to a bug, the kernel configuration audit functionality was not 146*4882a593Smuzhiyunwriting out any resulting warnings during the build. This issue is now 147*4882a593Smuzhiyuncorrected. You might notice these warnings now if you have a custom 148*4882a593Smuzhiyunkernel configuration with a ``linux-yocto`` style kernel recipe. 149*4882a593Smuzhiyun 150*4882a593Smuzhiyun.. _migration-2.6-image-kernel-artifact-naming-changes: 151*4882a593Smuzhiyun 152*4882a593SmuzhiyunImage/Kernel Artifact Naming Changes 153*4882a593Smuzhiyun------------------------------------ 154*4882a593Smuzhiyun 155*4882a593SmuzhiyunThe following changes have been made: 156*4882a593Smuzhiyun 157*4882a593Smuzhiyun- Name variables (e.g. :term:`IMAGE_NAME`) use a new 158*4882a593Smuzhiyun :term:`IMAGE_VERSION_SUFFIX` variable instead of 159*4882a593Smuzhiyun :term:`DATETIME`. Using :term:`IMAGE_VERSION_SUFFIX` 160*4882a593Smuzhiyun allows easier and more direct changes. 161*4882a593Smuzhiyun 162*4882a593Smuzhiyun The :term:`IMAGE_VERSION_SUFFIX` variable is set in the ``bitbake.conf`` 163*4882a593Smuzhiyun configuration file as follows:: 164*4882a593Smuzhiyun 165*4882a593Smuzhiyun IMAGE_VERSION_SUFFIX = "-${DATETIME}" 166*4882a593Smuzhiyun 167*4882a593Smuzhiyun- Several variables have changed names for consistency:: 168*4882a593Smuzhiyun 169*4882a593Smuzhiyun Old Variable Name New Variable Name 170*4882a593Smuzhiyun ======================================================== 171*4882a593Smuzhiyun KERNEL_IMAGE_BASE_NAME KERNEL_IMAGE_NAME 172*4882a593Smuzhiyun KERNEL_IMAGE_SYMLINK_NAME KERNEL_IMAGE_LINK_NAME 173*4882a593Smuzhiyun MODULE_TARBALL_BASE_NAME MODULE_TARBALL_NAME 174*4882a593Smuzhiyun MODULE_TARBALL_SYMLINK_NAME MODULE_TARBALL_LINK_NAME 175*4882a593Smuzhiyun INITRAMFS_BASE_NAME INITRAMFS_NAME 176*4882a593Smuzhiyun 177*4882a593Smuzhiyun- The ``MODULE_IMAGE_BASE_NAME`` variable has been removed. The module 178*4882a593Smuzhiyun tarball name is now controlled directly with the 179*4882a593Smuzhiyun :term:`MODULE_TARBALL_NAME` variable. 180*4882a593Smuzhiyun 181*4882a593Smuzhiyun- The :term:`KERNEL_DTB_NAME` and 182*4882a593Smuzhiyun :term:`KERNEL_DTB_LINK_NAME` variables 183*4882a593Smuzhiyun have been introduced to control kernel Device Tree Binary (DTB) 184*4882a593Smuzhiyun artifact names instead of mangling ``KERNEL_IMAGE_*`` variables. 185*4882a593Smuzhiyun 186*4882a593Smuzhiyun- The :term:`KERNEL_FIT_NAME` and 187*4882a593Smuzhiyun :term:`KERNEL_FIT_LINK_NAME` variables 188*4882a593Smuzhiyun have been introduced to specify the name of flattened image tree 189*4882a593Smuzhiyun (FIT) kernel images similar to other deployed artifacts. 190*4882a593Smuzhiyun 191*4882a593Smuzhiyun- The :term:`MODULE_TARBALL_NAME` and 192*4882a593Smuzhiyun :term:`MODULE_TARBALL_LINK_NAME` 193*4882a593Smuzhiyun variable values no longer include the "module-" prefix or ".tgz" 194*4882a593Smuzhiyun suffix. These parts are now hardcoded so that the values are 195*4882a593Smuzhiyun consistent with other artifact naming variables. 196*4882a593Smuzhiyun 197*4882a593Smuzhiyun- Added the :term:`INITRAMFS_LINK_NAME` 198*4882a593Smuzhiyun variable so that the symlink can be controlled similarly to other 199*4882a593Smuzhiyun artifact types. 200*4882a593Smuzhiyun 201*4882a593Smuzhiyun- :term:`INITRAMFS_NAME` now uses 202*4882a593Smuzhiyun "${PKGE}-${PKGV}-${PKGR}-${MACHINE}${IMAGE_VERSION_SUFFIX}" instead 203*4882a593Smuzhiyun of "${PV}-${PR}-${MACHINE}-${DATETIME}", which makes it consistent 204*4882a593Smuzhiyun with other variables. 205*4882a593Smuzhiyun 206*4882a593Smuzhiyun.. _migration-2.6-serial-console-deprecated: 207*4882a593Smuzhiyun 208*4882a593Smuzhiyun``SERIAL_CONSOLE`` Deprecated 209*4882a593Smuzhiyun----------------------------- 210*4882a593Smuzhiyun 211*4882a593SmuzhiyunThe :term:`SERIAL_CONSOLE` variable has been 212*4882a593Smuzhiyunfunctionally replaced by the 213*4882a593Smuzhiyun:term:`SERIAL_CONSOLES` variable for some time. 214*4882a593SmuzhiyunWith the Yocto Project 2.6 release, :term:`SERIAL_CONSOLE` has been 215*4882a593Smuzhiyunofficially deprecated. 216*4882a593Smuzhiyun 217*4882a593Smuzhiyun:term:`SERIAL_CONSOLE` will continue to work as before for the 2.6 release. 218*4882a593SmuzhiyunHowever, for the sake of future compatibility, it is recommended that 219*4882a593Smuzhiyunyou replace all instances of :term:`SERIAL_CONSOLE` with 220*4882a593Smuzhiyun:term:`SERIAL_CONSOLES`. 221*4882a593Smuzhiyun 222*4882a593Smuzhiyun.. note:: 223*4882a593Smuzhiyun 224*4882a593Smuzhiyun The only difference in usage is that :term:`SERIAL_CONSOLES` 225*4882a593Smuzhiyun expects entries to be separated using semicolons as compared to 226*4882a593Smuzhiyun :term:`SERIAL_CONSOLE`, which expects spaces. 227*4882a593Smuzhiyun 228*4882a593Smuzhiyun.. _migration-2.6-poky-sets-unknown-configure-option-to-qa-error: 229*4882a593Smuzhiyun 230*4882a593SmuzhiyunConfigure Script Reports Unknown Options as Errors 231*4882a593Smuzhiyun-------------------------------------------------- 232*4882a593Smuzhiyun 233*4882a593SmuzhiyunIf the configure script reports an unknown option, this now triggers a 234*4882a593SmuzhiyunQA error instead of a warning. Any recipes that previously got away with 235*4882a593Smuzhiyunspecifying such unknown options now need to be fixed. 236*4882a593Smuzhiyun 237*4882a593Smuzhiyun.. _migration-2.6-override-changes: 238*4882a593Smuzhiyun 239*4882a593SmuzhiyunOverride Changes 240*4882a593Smuzhiyun---------------- 241*4882a593Smuzhiyun 242*4882a593SmuzhiyunThe following changes have occurred: 243*4882a593Smuzhiyun 244*4882a593Smuzhiyun- The ``virtclass-native`` and ``virtclass-nativesdk`` Overrides Have 245*4882a593Smuzhiyun Been Removed: The ``virtclass-native`` and ``virtclass-nativesdk`` 246*4882a593Smuzhiyun overrides have been deprecated since 2012 in favor of 247*4882a593Smuzhiyun ``class-native`` and ``class-nativesdk``, respectively. Both 248*4882a593Smuzhiyun ``virtclass-native`` and ``virtclass-nativesdk`` are now dropped. 249*4882a593Smuzhiyun 250*4882a593Smuzhiyun .. note:: 251*4882a593Smuzhiyun 252*4882a593Smuzhiyun The ``virtclass-multilib-`` overrides for multilib are still valid. 253*4882a593Smuzhiyun 254*4882a593Smuzhiyun- The ``forcevariable`` Override Now Has a Higher Priority Than 255*4882a593Smuzhiyun ``libc`` Overrides: The ``forcevariable`` override is documented to 256*4882a593Smuzhiyun be the highest priority override. However, due to a long-standing 257*4882a593Smuzhiyun quirk of how :term:`OVERRIDES` is set, the ``libc`` 258*4882a593Smuzhiyun overrides (e.g. ``libc-glibc``, ``libc-musl``, and so forth) 259*4882a593Smuzhiyun erroneously had a higher priority. This issue is now corrected. 260*4882a593Smuzhiyun 261*4882a593Smuzhiyun It is likely this change will not cause any problems. However, it is 262*4882a593Smuzhiyun possible with some unusual configurations that you might see a change 263*4882a593Smuzhiyun in behavior if you were relying on the previous behavior. Be sure to 264*4882a593Smuzhiyun check how you use ``forcevariable`` and ``libc-*`` overrides in your 265*4882a593Smuzhiyun custom layers and configuration files to ensure they make sense. 266*4882a593Smuzhiyun 267*4882a593Smuzhiyun- The ``build-${BUILD_OS}`` Override Has Been Removed: The 268*4882a593Smuzhiyun ``build-${BUILD_OS}``, which is typically ``build-linux``, override 269*4882a593Smuzhiyun has been removed because building on a host operating system other 270*4882a593Smuzhiyun than a recent version of Linux is neither supported nor recommended. 271*4882a593Smuzhiyun Dropping the override avoids giving the impression that other host 272*4882a593Smuzhiyun operating systems might be supported. 273*4882a593Smuzhiyun 274*4882a593Smuzhiyun- The "_remove" operator now preserves whitespace. Consequently, when 275*4882a593Smuzhiyun specifying list items to remove, be aware that leading and trailing 276*4882a593Smuzhiyun whitespace resulting from the removal is retained. 277*4882a593Smuzhiyun 278*4882a593Smuzhiyun See the ":ref:`bitbake:bitbake-user-manual/bitbake-user-manual-metadata:removal (override style syntax)`" 279*4882a593Smuzhiyun section in the BitBake User Manual for a detailed example. 280*4882a593Smuzhiyun 281*4882a593Smuzhiyun.. _migration-2.6-systemd-configuration-now-split-out-to-system-conf: 282*4882a593Smuzhiyun 283*4882a593Smuzhiyun``systemd`` Configuration is Now Split Into ``systemd-conf`` 284*4882a593Smuzhiyun------------------------------------------------------------ 285*4882a593Smuzhiyun 286*4882a593SmuzhiyunThe configuration for the ``systemd`` recipe has been moved into a 287*4882a593Smuzhiyun``system-conf`` recipe. Moving this configuration to a separate recipe 288*4882a593Smuzhiyunavoids the ``systemd`` recipe from becoming machine-specific for cases 289*4882a593Smuzhiyunwhere machine-specific configurations need to be applied (e.g. for 290*4882a593Smuzhiyun``qemu*`` machines). 291*4882a593Smuzhiyun 292*4882a593SmuzhiyunCurrently, the new recipe packages the following files:: 293*4882a593Smuzhiyun 294*4882a593Smuzhiyun ${sysconfdir}/machine-id 295*4882a593Smuzhiyun ${sysconfdir}/systemd/coredump.conf 296*4882a593Smuzhiyun ${sysconfdir}/systemd/journald.conf 297*4882a593Smuzhiyun ${sysconfdir}/systemd/logind.conf 298*4882a593Smuzhiyun ${sysconfdir}/systemd/system.conf 299*4882a593Smuzhiyun ${sysconfdir}/systemd/user.conf 300*4882a593Smuzhiyun 301*4882a593SmuzhiyunIf you previously used bbappend files to append the ``systemd`` recipe to 302*4882a593Smuzhiyunchange any of the listed files, you must do so for the ``systemd-conf`` 303*4882a593Smuzhiyunrecipe instead. 304*4882a593Smuzhiyun 305*4882a593Smuzhiyun.. _migration-2.6-automatic-testing-changes: 306*4882a593Smuzhiyun 307*4882a593SmuzhiyunAutomatic Testing Changes 308*4882a593Smuzhiyun------------------------- 309*4882a593Smuzhiyun 310*4882a593SmuzhiyunThis section provides information about automatic testing changes: 311*4882a593Smuzhiyun 312*4882a593Smuzhiyun- ``TEST_IMAGE`` Variable Removed: Prior to this release, you set the 313*4882a593Smuzhiyun ``TEST_IMAGE`` variable to "1" to enable automatic testing for 314*4882a593Smuzhiyun successfully built images. The ``TEST_IMAGE`` variable no longer 315*4882a593Smuzhiyun exists and has been replaced by the 316*4882a593Smuzhiyun :term:`TESTIMAGE_AUTO` variable. 317*4882a593Smuzhiyun 318*4882a593Smuzhiyun- Inheriting the ``testimage`` and ``testsdk`` Classes: Best 319*4882a593Smuzhiyun practices now dictate that you use the 320*4882a593Smuzhiyun :term:`IMAGE_CLASSES` variable rather than the 321*4882a593Smuzhiyun :term:`INHERIT` variable when you inherit the 322*4882a593Smuzhiyun :ref:`testimage <ref-classes-testimage*>` and 323*4882a593Smuzhiyun :ref:`testsdk <ref-classes-testsdk>` classes used for automatic 324*4882a593Smuzhiyun testing. 325*4882a593Smuzhiyun 326*4882a593Smuzhiyun.. _migration-2.6-openssl-changes: 327*4882a593Smuzhiyun 328*4882a593SmuzhiyunOpenSSL Changes 329*4882a593Smuzhiyun--------------- 330*4882a593Smuzhiyun 331*4882a593Smuzhiyun`OpenSSL <https://www.openssl.org/>`__ has been upgraded from 1.0 to 332*4882a593Smuzhiyun1.1. By default, this upgrade could cause problems for recipes that have 333*4882a593Smuzhiyunboth versions in their dependency chains. The problem is that both 334*4882a593Smuzhiyunversions cannot be installed together at build time. 335*4882a593Smuzhiyun 336*4882a593Smuzhiyun.. note:: 337*4882a593Smuzhiyun 338*4882a593Smuzhiyun It is possible to have both versions of the library at runtime. 339*4882a593Smuzhiyun 340*4882a593Smuzhiyun.. _migration-2.6-bitbake-changes: 341*4882a593Smuzhiyun 342*4882a593SmuzhiyunBitBake Changes 343*4882a593Smuzhiyun--------------- 344*4882a593Smuzhiyun 345*4882a593SmuzhiyunThe server logfile ``bitbake-cookerdaemon.log`` is now always placed in 346*4882a593Smuzhiyunthe :term:`Build Directory` instead of the current 347*4882a593Smuzhiyundirectory. 348*4882a593Smuzhiyun 349*4882a593Smuzhiyun.. _migration-2.6-security-changes: 350*4882a593Smuzhiyun 351*4882a593SmuzhiyunSecurity Changes 352*4882a593Smuzhiyun---------------- 353*4882a593Smuzhiyun 354*4882a593SmuzhiyunThe Poky distribution now uses security compiler flags by default. 355*4882a593SmuzhiyunInclusion of these flags could cause new failures due to stricter 356*4882a593Smuzhiyunchecking for various potential security issues in code. 357*4882a593Smuzhiyun 358*4882a593Smuzhiyun.. _migration-2.6-post-installation-changes: 359*4882a593Smuzhiyun 360*4882a593SmuzhiyunPost Installation Changes 361*4882a593Smuzhiyun------------------------- 362*4882a593Smuzhiyun 363*4882a593SmuzhiyunYou must explicitly mark post installs to defer to the target. If you 364*4882a593Smuzhiyunwant to explicitly defer a postinstall to first boot on the target 365*4882a593Smuzhiyunrather than at root filesystem creation time, use ``pkg_postinst_ontarget()`` or 366*4882a593Smuzhiyuncall ``postinst_intercept delay_to_first_boot`` from ``pkg_postinst()``. 367*4882a593SmuzhiyunAny failure of a ``pkg_postinst()`` script (including exit 1) triggers 368*4882a593Smuzhiyunan error during the :ref:`ref-tasks-rootfs` task. 369*4882a593Smuzhiyun 370*4882a593SmuzhiyunFor more information on post-installation behavior, see the 371*4882a593Smuzhiyun":ref:`dev-manual/common-tasks:post-installation scripts`" 372*4882a593Smuzhiyunsection in the Yocto Project Development Tasks Manual. 373*4882a593Smuzhiyun 374*4882a593Smuzhiyun.. _migration-2.6-python-3-profile-guided-optimizations: 375*4882a593Smuzhiyun 376*4882a593SmuzhiyunPython 3 Profile-Guided Optimization 377*4882a593Smuzhiyun------------------------------------ 378*4882a593Smuzhiyun 379*4882a593SmuzhiyunThe ``python3`` recipe now enables profile-guided optimization. Using 380*4882a593Smuzhiyunthis optimization requires a little extra build time in exchange for 381*4882a593Smuzhiyunimproved performance on the target at runtime. Additionally, the 382*4882a593Smuzhiyunoptimization is only enabled if the current 383*4882a593Smuzhiyun:term:`MACHINE` has support for user-mode emulation in 384*4882a593SmuzhiyunQEMU (i.e. "qemu-usermode" is in 385*4882a593Smuzhiyun:term:`MACHINE_FEATURES`, which it is by 386*4882a593Smuzhiyundefault). 387*4882a593Smuzhiyun 388*4882a593SmuzhiyunIf you wish to disable Python profile-guided optimization regardless of 389*4882a593Smuzhiyunthe value of :term:`MACHINE_FEATURES`, then ensure that 390*4882a593Smuzhiyun:term:`PACKAGECONFIG` for the ``python3`` recipe 391*4882a593Smuzhiyundoes not contain "pgo". You could accomplish the latter using the 392*4882a593Smuzhiyunfollowing at the configuration level:: 393*4882a593Smuzhiyun 394*4882a593Smuzhiyun PACKAGECONFIG_remove_pn-python3 = "pgo" 395*4882a593Smuzhiyun 396*4882a593SmuzhiyunAlternatively, you can set :term:`PACKAGECONFIG` using an append file 397*4882a593Smuzhiyunfor the ``python3`` recipe. 398*4882a593Smuzhiyun 399*4882a593Smuzhiyun.. _migration-2.6-miscellaneous-changes: 400*4882a593Smuzhiyun 401*4882a593SmuzhiyunMiscellaneous Changes 402*4882a593Smuzhiyun--------------------- 403*4882a593Smuzhiyun 404*4882a593SmuzhiyunThe following miscellaneous changes occurred: 405*4882a593Smuzhiyun 406*4882a593Smuzhiyun- Default to using the Thumb-2 instruction set for armv7a and above. If 407*4882a593Smuzhiyun you have any custom recipes that build software that needs to be 408*4882a593Smuzhiyun built with the ARM instruction set, change the recipe to set the 409*4882a593Smuzhiyun instruction set as follows:: 410*4882a593Smuzhiyun 411*4882a593Smuzhiyun ARM_INSTRUCTION_SET = "arm" 412*4882a593Smuzhiyun 413*4882a593Smuzhiyun- ``run-postinsts`` no longer uses ``/etc/*-postinsts`` for 414*4882a593Smuzhiyun ``dpkg/opkg`` in favor of built-in postinst support. RPM behavior 415*4882a593Smuzhiyun remains unchanged. 416*4882a593Smuzhiyun 417*4882a593Smuzhiyun- The ``NOISO`` and ``NOHDD`` variables are no longer used. You now 418*4882a593Smuzhiyun control building ``*.iso`` and ``*.hddimg`` image types directly by 419*4882a593Smuzhiyun using the :term:`IMAGE_FSTYPES` variable. 420*4882a593Smuzhiyun 421*4882a593Smuzhiyun- The ``scripts/contrib/mkefidisk.sh`` has been removed in favor of 422*4882a593Smuzhiyun Wic. 423*4882a593Smuzhiyun 424*4882a593Smuzhiyun- ``kernel-modules`` has been removed from 425*4882a593Smuzhiyun :term:`RRECOMMENDS` for ``qemumips`` and 426*4882a593Smuzhiyun ``qemumips64`` machines. Removal also impacts the ``x86-base.inc`` 427*4882a593Smuzhiyun file. 428*4882a593Smuzhiyun 429*4882a593Smuzhiyun .. note:: 430*4882a593Smuzhiyun 431*4882a593Smuzhiyun ``genericx86`` and ``genericx86-64`` retain ``kernel-modules`` as part of 432*4882a593Smuzhiyun the :term:`RRECOMMENDS` variable setting. 433*4882a593Smuzhiyun 434*4882a593Smuzhiyun- The ``LGPLv2_WHITELIST_GPL-3.0`` variable has been removed. If you 435*4882a593Smuzhiyun are setting this variable in your configuration, set or append it to 436*4882a593Smuzhiyun the ``WHITELIST_GPL-3.0`` variable instead. 437*4882a593Smuzhiyun 438*4882a593Smuzhiyun- ``${ASNEEDED}`` is now included in the 439*4882a593Smuzhiyun :term:`TARGET_LDFLAGS` variable directly. The 440*4882a593Smuzhiyun remaining definitions from ``meta/conf/distro/include/as-needed.inc`` 441*4882a593Smuzhiyun have been moved to corresponding recipes. 442*4882a593Smuzhiyun 443*4882a593Smuzhiyun- Support for DSA host keys has been dropped from the OpenSSH recipes. 444*4882a593Smuzhiyun If you are still using DSA keys, you must switch over to a more 445*4882a593Smuzhiyun secure algorithm as recommended by OpenSSH upstream. 446*4882a593Smuzhiyun 447*4882a593Smuzhiyun- The ``dhcp`` recipe now uses the ``dhcpd6.conf`` configuration file 448*4882a593Smuzhiyun in ``dhcpd6.service`` for IPv6 DHCP rather than re-using 449*4882a593Smuzhiyun ``dhcpd.conf``, which is now reserved for IPv4. 450*4882a593Smuzhiyun 451*4882a593Smuzhiyun 452