1*4882a593SmuzhiyunRelease 1.8 (fido) 2*4882a593Smuzhiyun================== 3*4882a593Smuzhiyun 4*4882a593SmuzhiyunThis section provides migration information for moving to the Yocto 5*4882a593SmuzhiyunProject 1.8 Release (codename "fido") from the prior release. 6*4882a593Smuzhiyun 7*4882a593Smuzhiyun.. _migration-1.8-removed-recipes: 8*4882a593Smuzhiyun 9*4882a593SmuzhiyunRemoved Recipes 10*4882a593Smuzhiyun--------------- 11*4882a593Smuzhiyun 12*4882a593SmuzhiyunThe following recipes have been removed: 13*4882a593Smuzhiyun 14*4882a593Smuzhiyun- ``owl-video``: Functionality replaced by ``gst-player``. 15*4882a593Smuzhiyun 16*4882a593Smuzhiyun- ``gaku``: Functionality replaced by ``gst-player``. 17*4882a593Smuzhiyun 18*4882a593Smuzhiyun- ``gnome-desktop``: This recipe is now available in ``meta-gnome`` and 19*4882a593Smuzhiyun is no longer needed. 20*4882a593Smuzhiyun 21*4882a593Smuzhiyun- ``gsettings-desktop-schemas``: This recipe is now available in 22*4882a593Smuzhiyun ``meta-gnome`` and is no longer needed. 23*4882a593Smuzhiyun 24*4882a593Smuzhiyun- ``python-argparse``: The ``argparse`` module is already provided in 25*4882a593Smuzhiyun the default Python distribution in a package named 26*4882a593Smuzhiyun ``python-argparse``. Consequently, the separate ``python-argparse`` 27*4882a593Smuzhiyun recipe is no longer needed. 28*4882a593Smuzhiyun 29*4882a593Smuzhiyun- ``telepathy-python, libtelepathy, telepathy-glib, telepathy-idle, telepathy-mission-control``: 30*4882a593Smuzhiyun All these recipes have moved to ``meta-oe`` and are consequently no 31*4882a593Smuzhiyun longer needed by any recipes in OpenEmbedded-Core. 32*4882a593Smuzhiyun 33*4882a593Smuzhiyun- ``linux-yocto_3.10`` and ``linux-yocto_3.17``: Support for the 34*4882a593Smuzhiyun linux-yocto 3.10 and 3.17 kernels has been dropped. Support for the 35*4882a593Smuzhiyun 3.14 kernel remains, while support for 3.19 kernel has been added. 36*4882a593Smuzhiyun 37*4882a593Smuzhiyun- ``poky-feed-config-opkg``: This recipe has become obsolete and is no 38*4882a593Smuzhiyun longer needed. Use ``distro-feed-config`` from ``meta-oe`` instead. 39*4882a593Smuzhiyun 40*4882a593Smuzhiyun- ``libav 0.8.x``: ``libav 9.x`` is now used. 41*4882a593Smuzhiyun 42*4882a593Smuzhiyun- ``sed-native``: No longer needed. A working version of ``sed`` is 43*4882a593Smuzhiyun expected to be provided by the host distribution. 44*4882a593Smuzhiyun 45*4882a593Smuzhiyun.. _migration-1.8-bluez: 46*4882a593Smuzhiyun 47*4882a593SmuzhiyunBlueZ 4.x / 5.x Selection 48*4882a593Smuzhiyun------------------------- 49*4882a593Smuzhiyun 50*4882a593SmuzhiyunProper built-in support for selecting BlueZ 5.x in preference to the 51*4882a593Smuzhiyundefault of 4.x now exists. To use BlueZ 5.x, simply add "bluez5" to your 52*4882a593Smuzhiyun:term:`DISTRO_FEATURES` value. If you had 53*4882a593Smuzhiyunpreviously added append files (``*.bbappend``) to make this selection, 54*4882a593Smuzhiyunyou can now remove them. 55*4882a593Smuzhiyun 56*4882a593SmuzhiyunAdditionally, a ``bluetooth`` class has been added to make selection of 57*4882a593Smuzhiyunthe appropriate bluetooth support within a recipe a little easier. If 58*4882a593Smuzhiyunyou wish to make use of this class in a recipe, add something such as 59*4882a593Smuzhiyunthe following:: 60*4882a593Smuzhiyun 61*4882a593Smuzhiyun inherit bluetooth 62*4882a593Smuzhiyun PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', '${BLUEZ}', '', d)}" 63*4882a593Smuzhiyun PACKAGECONFIG[bluez4] = "--enable-bluetooth,--disable-bluetooth,bluez4" 64*4882a593Smuzhiyun PACKAGECONFIG[bluez5] = "--enable-bluez5,--disable-bluez5,bluez5" 65*4882a593Smuzhiyun 66*4882a593Smuzhiyun.. _migration-1.8-kernel-build-changes: 67*4882a593Smuzhiyun 68*4882a593SmuzhiyunKernel Build Changes 69*4882a593Smuzhiyun-------------------- 70*4882a593Smuzhiyun 71*4882a593SmuzhiyunThe kernel build process was changed to place the source in a common 72*4882a593Smuzhiyunshared work area and to place build artifacts separately in the source 73*4882a593Smuzhiyuncode tree. In theory, migration paths have been provided for most common 74*4882a593Smuzhiyunusages in kernel recipes but this might not work in all cases. In 75*4882a593Smuzhiyunparticular, users need to ensure that ``${S}`` (source files) and 76*4882a593Smuzhiyun``${B}`` (build artifacts) are used correctly in functions such as 77*4882a593Smuzhiyun:ref:`ref-tasks-configure` and 78*4882a593Smuzhiyun:ref:`ref-tasks-install`. For kernel recipes that do not 79*4882a593Smuzhiyuninherit from ``kernel-yocto`` or include ``linux-yocto.inc``, you might 80*4882a593Smuzhiyunwish to refer to the ``linux.inc`` file in the ``meta-oe`` layer for the 81*4882a593Smuzhiyunkinds of changes you need to make. For reference, here is the 82*4882a593Smuzhiyun:oe_git:`commit </meta-openembedded/commit/meta-oe/recipes-kernel/linux/linux.inc?id=fc7132ede27ac67669448d3d2845ce7d46c6a1ee>` 83*4882a593Smuzhiyunwhere the ``linux.inc`` file in ``meta-oe`` was updated. 84*4882a593Smuzhiyun 85*4882a593SmuzhiyunRecipes that rely on the kernel source code and do not inherit the 86*4882a593Smuzhiyunmodule classes might need to add explicit dependencies on the 87*4882a593Smuzhiyun``do_shared_workdir`` kernel task, for example:: 88*4882a593Smuzhiyun 89*4882a593Smuzhiyun do_configure[depends] += "virtual/kernel:do_shared_workdir" 90*4882a593Smuzhiyun 91*4882a593Smuzhiyun.. _migration-1.8-ssl: 92*4882a593Smuzhiyun 93*4882a593SmuzhiyunSSL 3.0 is Now Disabled in OpenSSL 94*4882a593Smuzhiyun---------------------------------- 95*4882a593Smuzhiyun 96*4882a593SmuzhiyunSSL 3.0 is now disabled when building OpenSSL. Disabling SSL 3.0 avoids 97*4882a593Smuzhiyunany lingering instances of the POODLE vulnerability. If you feel you 98*4882a593Smuzhiyunmust re-enable SSL 3.0, then you can add an append file (``*.bbappend``) 99*4882a593Smuzhiyunfor the ``openssl`` recipe to remove "-no-ssl3" from 100*4882a593Smuzhiyun:term:`EXTRA_OECONF`. 101*4882a593Smuzhiyun 102*4882a593Smuzhiyun.. _migration-1.8-default-sysroot-poisoning: 103*4882a593Smuzhiyun 104*4882a593SmuzhiyunDefault Sysroot Poisoning 105*4882a593Smuzhiyun------------------------- 106*4882a593Smuzhiyun 107*4882a593Smuzhiyun``gcc's`` default sysroot and include directories are now "poisoned". In 108*4882a593Smuzhiyunother words, the sysroot and include directories are being redirected to 109*4882a593Smuzhiyuna non-existent location in order to catch when host directories are 110*4882a593Smuzhiyunbeing used due to the correct options not being passed. This poisoning 111*4882a593Smuzhiyunapplies both to the cross-compiler used within the build and to the 112*4882a593Smuzhiyuncross-compiler produced in the SDK. 113*4882a593Smuzhiyun 114*4882a593SmuzhiyunIf this change causes something in the build to fail, it almost 115*4882a593Smuzhiyuncertainly means the various compiler flags and commands are not being 116*4882a593Smuzhiyunpassed correctly to the underlying piece of software. In such cases, you 117*4882a593Smuzhiyunneed to take corrective steps. 118*4882a593Smuzhiyun 119*4882a593Smuzhiyun.. _migration-1.8-rebuild-improvements: 120*4882a593Smuzhiyun 121*4882a593SmuzhiyunRebuild Improvements 122*4882a593Smuzhiyun-------------------- 123*4882a593Smuzhiyun 124*4882a593SmuzhiyunChanges have been made to the :ref:`base <ref-classes-base>`, 125*4882a593Smuzhiyun:ref:`autotools <ref-classes-autotools>`, and 126*4882a593Smuzhiyun:ref:`cmake <ref-classes-cmake>` classes to clean out generated files 127*4882a593Smuzhiyunwhen the :ref:`ref-tasks-configure` task needs to be 128*4882a593Smuzhiyunre-executed. 129*4882a593Smuzhiyun 130*4882a593SmuzhiyunOne of the improvements is to attempt to run "make clean" during the 131*4882a593Smuzhiyun``do_configure`` task if a ``Makefile`` exists. Some software packages 132*4882a593Smuzhiyundo not provide a working clean target within their make files. If you 133*4882a593Smuzhiyunhave such recipes, you need to set 134*4882a593Smuzhiyun:term:`CLEANBROKEN` to "1" within the recipe, for example:: 135*4882a593Smuzhiyun 136*4882a593Smuzhiyun CLEANBROKEN = "1" 137*4882a593Smuzhiyun 138*4882a593Smuzhiyun.. _migration-1.8-qa-check-and-validation-changes: 139*4882a593Smuzhiyun 140*4882a593SmuzhiyunQA Check and Validation Changes 141*4882a593Smuzhiyun------------------------------- 142*4882a593Smuzhiyun 143*4882a593SmuzhiyunThe following QA Check and Validation Changes have occurred: 144*4882a593Smuzhiyun 145*4882a593Smuzhiyun- Usage of ``PRINC`` previously triggered a warning. It now triggers an 146*4882a593Smuzhiyun error. You should remove any remaining usage of ``PRINC`` in any 147*4882a593Smuzhiyun recipe or append file. 148*4882a593Smuzhiyun 149*4882a593Smuzhiyun- An additional QA check has been added to detect usage of ``${D}`` in 150*4882a593Smuzhiyun :term:`FILES` values where :term:`D` values 151*4882a593Smuzhiyun should not be used at all. The same check ensures that ``$D`` is used 152*4882a593Smuzhiyun in ``pkg_preinst/pkg_postinst/pkg_prerm/pkg_postrm`` functions 153*4882a593Smuzhiyun instead of ``${D}``. 154*4882a593Smuzhiyun 155*4882a593Smuzhiyun- :term:`S` now needs to be set to a valid value within a 156*4882a593Smuzhiyun recipe. If :term:`S` is not set in the recipe, the directory is not 157*4882a593Smuzhiyun automatically created. If :term:`S` does not point to a directory that 158*4882a593Smuzhiyun exists at the time the :ref:`ref-tasks-unpack` task 159*4882a593Smuzhiyun finishes, a warning will be shown. 160*4882a593Smuzhiyun 161*4882a593Smuzhiyun- :term:`LICENSE` is now validated for correct 162*4882a593Smuzhiyun formatting of multiple licenses. If the format is invalid (e.g. 163*4882a593Smuzhiyun multiple licenses are specified with no operators to specify how the 164*4882a593Smuzhiyun multiple licenses interact), then a warning will be shown. 165*4882a593Smuzhiyun 166*4882a593Smuzhiyun.. _migration-1.8-miscellaneous-changes: 167*4882a593Smuzhiyun 168*4882a593SmuzhiyunMiscellaneous Changes 169*4882a593Smuzhiyun--------------------- 170*4882a593Smuzhiyun 171*4882a593SmuzhiyunThe following miscellaneous changes have occurred: 172*4882a593Smuzhiyun 173*4882a593Smuzhiyun- The ``send-error-report`` script now expects a "-s" option to be 174*4882a593Smuzhiyun specified before the server address. This assumes a server address is 175*4882a593Smuzhiyun being specified. 176*4882a593Smuzhiyun 177*4882a593Smuzhiyun- The ``oe-pkgdata-util`` script now expects a "-p" option to be 178*4882a593Smuzhiyun specified before the ``pkgdata`` directory, which is now optional. If 179*4882a593Smuzhiyun the ``pkgdata`` directory is not specified, the script will run 180*4882a593Smuzhiyun BitBake to query :term:`PKGDATA_DIR` from the 181*4882a593Smuzhiyun build environment. 182*4882a593Smuzhiyun 183*4882a593Smuzhiyun 184