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