migration-1.8.rst 7.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183
  1. Release 1.8 (fido)
  2. ==================
  3. This section provides migration information for moving to the Yocto
  4. Project 1.8 Release (codename "fido") from the prior release.
  5. .. _migration-1.8-removed-recipes:
  6. Removed Recipes
  7. ---------------
  8. The following recipes have been removed:
  9. - ``owl-video``: Functionality replaced by ``gst-player``.
  10. - ``gaku``: Functionality replaced by ``gst-player``.
  11. - ``gnome-desktop``: This recipe is now available in ``meta-gnome`` and
  12. is no longer needed.
  13. - ``gsettings-desktop-schemas``: This recipe is now available in
  14. ``meta-gnome`` and is no longer needed.
  15. - ``python-argparse``: The ``argparse`` module is already provided in
  16. the default Python distribution in a package named
  17. ``python-argparse``. Consequently, the separate ``python-argparse``
  18. recipe is no longer needed.
  19. - ``telepathy-python, libtelepathy, telepathy-glib, telepathy-idle, telepathy-mission-control``:
  20. All these recipes have moved to ``meta-oe`` and are consequently no
  21. longer needed by any recipes in OpenEmbedded-Core.
  22. - ``linux-yocto_3.10`` and ``linux-yocto_3.17``: Support for the
  23. linux-yocto 3.10 and 3.17 kernels has been dropped. Support for the
  24. 3.14 kernel remains, while support for 3.19 kernel has been added.
  25. - ``poky-feed-config-opkg``: This recipe has become obsolete and is no
  26. longer needed. Use ``distro-feed-config`` from ``meta-oe`` instead.
  27. - ``libav 0.8.x``: ``libav 9.x`` is now used.
  28. - ``sed-native``: No longer needed. A working version of ``sed`` is
  29. expected to be provided by the host distribution.
  30. .. _migration-1.8-bluez:
  31. BlueZ 4.x / 5.x Selection
  32. -------------------------
  33. Proper built-in support for selecting BlueZ 5.x in preference to the
  34. default of 4.x now exists. To use BlueZ 5.x, simply add "bluez5" to your
  35. :term:`DISTRO_FEATURES` value. If you had
  36. previously added append files (``*.bbappend``) to make this selection,
  37. you can now remove them.
  38. Additionally, a ``bluetooth`` class has been added to make selection of
  39. the appropriate bluetooth support within a recipe a little easier. If
  40. you wish to make use of this class in a recipe, add something such as
  41. the following::
  42. inherit bluetooth
  43. PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', '${BLUEZ}', '', d)}"
  44. PACKAGECONFIG[bluez4] = "--enable-bluetooth,--disable-bluetooth,bluez4"
  45. PACKAGECONFIG[bluez5] = "--enable-bluez5,--disable-bluez5,bluez5"
  46. .. _migration-1.8-kernel-build-changes:
  47. Kernel Build Changes
  48. --------------------
  49. The kernel build process was changed to place the source in a common
  50. shared work area and to place build artifacts separately in the source
  51. code tree. In theory, migration paths have been provided for most common
  52. usages in kernel recipes but this might not work in all cases. In
  53. particular, users need to ensure that ``${S}`` (source files) and
  54. ``${B}`` (build artifacts) are used correctly in functions such as
  55. :ref:`ref-tasks-configure` and
  56. :ref:`ref-tasks-install`. For kernel recipes that do not
  57. inherit from ``kernel-yocto`` or include ``linux-yocto.inc``, you might
  58. wish to refer to the ``linux.inc`` file in the ``meta-oe`` layer for the
  59. kinds of changes you need to make. For reference, 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. module classes might need to add explicit dependencies on the
  64. ``do_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:`base <ref-classes-base>`,
  91. :ref:`autotools <ref-classes-autotools>`, and
  92. :ref:`cmake <ref-classes-cmake>` classes to clean out generated files
  93. when the :ref:`ref-tasks-configure` task needs to be
  94. re-executed.
  95. One of the improvements is to attempt to run "make clean" during the
  96. ``do_configure`` task if a ``Makefile`` exists. Some software packages
  97. do not provide a working clean target within their make files. If you
  98. have such recipes, you need to set
  99. :term:`CLEANBROKEN` to "1" within the recipe, for example::
  100. CLEANBROKEN = "1"
  101. .. _migration-1.8-qa-check-and-validation-changes:
  102. QA Check and Validation Changes
  103. -------------------------------
  104. The following QA Check and Validation Changes have occurred:
  105. - Usage of ``PRINC`` previously triggered a warning. It now triggers an
  106. error. You should remove any remaining usage of ``PRINC`` in any
  107. recipe or append file.
  108. - An additional QA check has been added to detect usage of ``${D}`` in
  109. :term:`FILES` values where :term:`D` values
  110. should not be used at all. The same check ensures that ``$D`` is used
  111. in ``pkg_preinst/pkg_postinst/pkg_prerm/pkg_postrm`` functions
  112. instead of ``${D}``.
  113. - :term:`S` now needs to be set to a valid value within a
  114. recipe. If :term:`S` is not set in the recipe, the directory is not
  115. automatically created. If :term:`S` does not point to a directory that
  116. exists at the time the :ref:`ref-tasks-unpack` task
  117. finishes, a warning will be shown.
  118. - :term:`LICENSE` is now validated for correct
  119. formatting of multiple licenses. If the format is invalid (e.g.
  120. multiple licenses are specified with no operators to specify how the
  121. multiple licenses interact), then a warning will be shown.
  122. .. _migration-1.8-miscellaneous-changes:
  123. Miscellaneous Changes
  124. ---------------------
  125. The following miscellaneous changes have occurred:
  126. - The ``send-error-report`` script now expects a "-s" option to be
  127. specified before the server address. This assumes a server address is
  128. being specified.
  129. - The ``oe-pkgdata-util`` script now expects a "-p" option to be
  130. specified before the ``pkgdata`` directory, which is now optional. If
  131. the ``pkgdata`` directory is not specified, the script will run
  132. BitBake to query :term:`PKGDATA_DIR` from the
  133. build environment.