blob: 5cc5f8a047d8efaf717a2f9c8e232ca45418beec [file] [log] [blame]
Andrew Geissler517393d2023-01-13 08:55:19 -06001.. SPDX-License-Identifier: CC-BY-SA-2.0-UK
2
Andrew Geissler09036742021-06-25 14:25:14 -05003Release 1.8 (fido)
4==================
Andrew Geisslerc9f78652020-09-18 14:11:35 -05005
6This section provides migration information for moving to the Yocto
Andrew Geissler3b8a17c2021-04-15 15:55:55 -05007Project 1.8 Release (codename "fido") from the prior release.
Andrew Geisslerc9f78652020-09-18 14:11:35 -05008
9.. _migration-1.8-removed-recipes:
10
11Removed Recipes
12---------------
13
14The following recipes have been removed:
15
16- ``owl-video``: Functionality replaced by ``gst-player``.
17
18- ``gaku``: Functionality replaced by ``gst-player``.
19
20- ``gnome-desktop``: This recipe is now available in ``meta-gnome`` and
21 is no longer needed.
22
23- ``gsettings-desktop-schemas``: This recipe is now available in
24 ``meta-gnome`` and is no longer needed.
25
26- ``python-argparse``: The ``argparse`` module is already provided in
27 the default Python distribution in a package named
28 ``python-argparse``. Consequently, the separate ``python-argparse``
29 recipe is no longer needed.
30
31- ``telepathy-python, libtelepathy, telepathy-glib, telepathy-idle, telepathy-mission-control``:
32 All these recipes have moved to ``meta-oe`` and are consequently no
33 longer needed by any recipes in OpenEmbedded-Core.
34
35- ``linux-yocto_3.10`` and ``linux-yocto_3.17``: Support for the
36 linux-yocto 3.10 and 3.17 kernels has been dropped. Support for the
37 3.14 kernel remains, while support for 3.19 kernel has been added.
38
39- ``poky-feed-config-opkg``: This recipe has become obsolete and is no
40 longer needed. Use ``distro-feed-config`` from ``meta-oe`` instead.
41
42- ``libav 0.8.x``: ``libav 9.x`` is now used.
43
44- ``sed-native``: No longer needed. A working version of ``sed`` is
45 expected to be provided by the host distribution.
46
47.. _migration-1.8-bluez:
48
49BlueZ 4.x / 5.x Selection
50-------------------------
51
52Proper built-in support for selecting BlueZ 5.x in preference to the
53default of 4.x now exists. To use BlueZ 5.x, simply add "bluez5" to your
54:term:`DISTRO_FEATURES` value. If you had
55previously added append files (``*.bbappend``) to make this selection,
56you can now remove them.
57
58Additionally, a ``bluetooth`` class has been added to make selection of
59the appropriate bluetooth support within a recipe a little easier. If
60you wish to make use of this class in a recipe, add something such as
Andrew Geisslerc926e172021-05-07 16:11:35 -050061the following::
Andrew Geisslerc9f78652020-09-18 14:11:35 -050062
63 inherit bluetooth
64 PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', '${BLUEZ}', '', d)}"
65 PACKAGECONFIG[bluez4] = "--enable-bluetooth,--disable-bluetooth,bluez4"
66 PACKAGECONFIG[bluez5] = "--enable-bluez5,--disable-bluez5,bluez5"
67
68.. _migration-1.8-kernel-build-changes:
69
70Kernel Build Changes
71--------------------
72
Andrew Geissler517393d2023-01-13 08:55:19 -060073The kernel build process was changed to place the source in a common shared work
74area and to place build artifacts separately in the source code tree. In theory,
75migration paths have been provided for most common usages in kernel recipes but
76this might not work in all cases. In particular, users need to ensure that
77``${S}`` (source files) and ``${B}`` (build artifacts) are used correctly in
78functions such as :ref:`ref-tasks-configure` and :ref:`ref-tasks-install`. For
79kernel recipes that do not inherit from :ref:`ref-classes-kernel-yocto` or
80include ``linux-yocto.inc``, you might wish to refer to the ``linux.inc`` file
81in the ``meta-oe`` layer for the kinds of changes you need to make. For reference,
82here is the
Andrew Geissler09209ee2020-12-13 08:44:15 -060083:oe_git:`commit </meta-openembedded/commit/meta-oe/recipes-kernel/linux/linux.inc?id=fc7132ede27ac67669448d3d2845ce7d46c6a1ee>`
Andrew Geisslerc9f78652020-09-18 14:11:35 -050084where the ``linux.inc`` file in ``meta-oe`` was updated.
85
86Recipes that rely on the kernel source code and do not inherit the
Andrew Geissler517393d2023-01-13 08:55:19 -060087:ref:`module <ref-classes-module>` classes might need to add explicit
88dependencies on the :ref:`ref-tasks-shared_workdir` kernel task, for example::
Andrew Geisslerc9f78652020-09-18 14:11:35 -050089
90 do_configure[depends] += "virtual/kernel:do_shared_workdir"
91
92.. _migration-1.8-ssl:
93
94SSL 3.0 is Now Disabled in OpenSSL
95----------------------------------
96
97SSL 3.0 is now disabled when building OpenSSL. Disabling SSL 3.0 avoids
98any lingering instances of the POODLE vulnerability. If you feel you
99must re-enable SSL 3.0, then you can add an append file (``*.bbappend``)
100for the ``openssl`` recipe to remove "-no-ssl3" from
101:term:`EXTRA_OECONF`.
102
103.. _migration-1.8-default-sysroot-poisoning:
104
105Default Sysroot Poisoning
106-------------------------
107
108``gcc's`` default sysroot and include directories are now "poisoned". In
109other words, the sysroot and include directories are being redirected to
110a non-existent location in order to catch when host directories are
111being used due to the correct options not being passed. This poisoning
112applies both to the cross-compiler used within the build and to the
113cross-compiler produced in the SDK.
114
115If this change causes something in the build to fail, it almost
116certainly means the various compiler flags and commands are not being
117passed correctly to the underlying piece of software. In such cases, you
118need to take corrective steps.
119
120.. _migration-1.8-rebuild-improvements:
121
122Rebuild Improvements
123--------------------
124
Andrew Geissler517393d2023-01-13 08:55:19 -0600125Changes have been made to the :ref:`ref-classes-base`,
126:ref:`ref-classes-autotools`, and :ref:`ref-classes-cmake` classes to clean out
127generated files when the :ref:`ref-tasks-configure` task needs to be
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500128re-executed.
129
130One of the improvements is to attempt to run "make clean" during the
Patrick Williams2194f502022-10-16 14:26:09 -0500131:ref:`ref-tasks-configure` task if a ``Makefile`` exists. Some software packages
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500132do not provide a working clean target within their make files. If you
133have such recipes, you need to set
Andrew Geisslerc926e172021-05-07 16:11:35 -0500134:term:`CLEANBROKEN` to "1" within the recipe, for example::
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500135
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
Andrew Geissler09036742021-06-25 14:25:14 -0500156 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
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500158 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