migration-1.8.rst 7.1 KB

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