migration-1.8.rst 7.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185
  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
  51. shared work area and to place build artifacts separately in the source
  52. code tree. In theory, migration paths have been provided for most common
  53. usages in kernel recipes but this might not work in all cases. In
  54. particular, users need to ensure that ``${S}`` (source files) and
  55. ``${B}`` (build artifacts) are used correctly in functions such as
  56. :ref:`ref-tasks-configure` and
  57. :ref:`ref-tasks-install`. For kernel recipes that do not
  58. inherit from :ref:`kernel-yocto <ref-classes-kernel-yocto>` or include ``linux-yocto.inc``, you might
  59. wish to refer to the ``linux.inc`` file in the ``meta-oe`` layer for the
  60. kinds of changes you need to make. For reference, here is the
  61. :oe_git:`commit </meta-openembedded/commit/meta-oe/recipes-kernel/linux/linux.inc?id=fc7132ede27ac67669448d3d2845ce7d46c6a1ee>`
  62. where the ``linux.inc`` file in ``meta-oe`` was updated.
  63. Recipes that rely on the kernel source code and do not inherit the
  64. :ref:`module <ref-classes-module>` classes might need to add explicit
  65. dependencies on the :ref:`ref-tasks-shared_workdir` kernel task, for example::
  66. do_configure[depends] += "virtual/kernel:do_shared_workdir"
  67. .. _migration-1.8-ssl:
  68. SSL 3.0 is Now Disabled in OpenSSL
  69. ----------------------------------
  70. SSL 3.0 is now disabled when building OpenSSL. Disabling SSL 3.0 avoids
  71. any lingering instances of the POODLE vulnerability. If you feel you
  72. must re-enable SSL 3.0, then you can add an append file (``*.bbappend``)
  73. for the ``openssl`` recipe to remove "-no-ssl3" from
  74. :term:`EXTRA_OECONF`.
  75. .. _migration-1.8-default-sysroot-poisoning:
  76. Default Sysroot Poisoning
  77. -------------------------
  78. ``gcc's`` default sysroot and include directories are now "poisoned". In
  79. other words, the sysroot and include directories are being redirected to
  80. a non-existent location in order to catch when host directories are
  81. being used due to the correct options not being passed. This poisoning
  82. applies both to the cross-compiler used within the build and to the
  83. cross-compiler produced in the SDK.
  84. If this change causes something in the build to fail, it almost
  85. certainly means the various compiler flags and commands are not being
  86. passed correctly to the underlying piece of software. In such cases, you
  87. need to take corrective steps.
  88. .. _migration-1.8-rebuild-improvements:
  89. Rebuild Improvements
  90. --------------------
  91. Changes have been made to the :ref:`base <ref-classes-base>`,
  92. :ref:`autotools <ref-classes-autotools>`, and
  93. :ref:`cmake <ref-classes-cmake>` classes to clean out generated files
  94. when the :ref:`ref-tasks-configure` task needs to be
  95. re-executed.
  96. One of the improvements is to attempt to run "make clean" during the
  97. :ref:`ref-tasks-configure` task if a ``Makefile`` exists. Some software packages
  98. do not provide a working clean target within their make files. If you
  99. have such recipes, you need to set
  100. :term:`CLEANBROKEN` to "1" within the recipe, for example::
  101. CLEANBROKEN = "1"
  102. .. _migration-1.8-qa-check-and-validation-changes:
  103. QA Check and Validation Changes
  104. -------------------------------
  105. The following QA Check and Validation Changes have occurred:
  106. - Usage of ``PRINC`` previously triggered a warning. It now triggers an
  107. error. You should remove any remaining usage of ``PRINC`` in any
  108. recipe or append file.
  109. - An additional QA check has been added to detect usage of ``${D}`` in
  110. :term:`FILES` values where :term:`D` values
  111. should not be used at all. The same check ensures that ``$D`` is used
  112. in ``pkg_preinst/pkg_postinst/pkg_prerm/pkg_postrm`` functions
  113. instead of ``${D}``.
  114. - :term:`S` now needs to be set to a valid value within a
  115. recipe. If :term:`S` is not set in the recipe, the directory is not
  116. automatically created. If :term:`S` does not point to a directory that
  117. exists at the time the :ref:`ref-tasks-unpack` task
  118. finishes, a warning will be shown.
  119. - :term:`LICENSE` is now validated for correct
  120. formatting of multiple licenses. If the format is invalid (e.g.
  121. multiple licenses are specified with no operators to specify how the
  122. multiple licenses interact), then a warning will be shown.
  123. .. _migration-1.8-miscellaneous-changes:
  124. Miscellaneous Changes
  125. ---------------------
  126. The following miscellaneous changes have occurred:
  127. - The ``send-error-report`` script now expects a "-s" option to be
  128. specified before the server address. This assumes a server address is
  129. being specified.
  130. - The ``oe-pkgdata-util`` script now expects a "-p" option to be
  131. specified before the ``pkgdata`` directory, which is now optional. If
  132. the ``pkgdata`` directory is not specified, the script will run
  133. BitBake to query :term:`PKGDATA_DIR` from the
  134. build environment.