blob: 70a087ff1a94746d827d1ad67345e0a455c24225 [file] [log] [blame]
Andrew Geissler09036742021-06-25 14:25:14 -05001Release 1.5 (dora)
2==================
Andrew Geisslerc9f78652020-09-18 14:11:35 -05003
4This section provides migration information for moving to the Yocto
Andrew Geissler3b8a17c2021-04-15 15:55:55 -05005Project 1.5 Release (codename "dora") from the prior release.
Andrew Geisslerc9f78652020-09-18 14:11:35 -05006
7.. _migration-1.5-host-dependency-changes:
8
9Host Dependency Changes
10-----------------------
11
12The OpenEmbedded build system now has some additional requirements on
13the host system:
14
15- Python 2.7.3+
16
17- Tar 1.24+
18
19- Git 1.7.8+
20
21- Patched version of Make if you are using 3.82. Most distributions
22 that provide Make 3.82 use the patched version.
23
24If the Linux distribution you are using on your build host does not
25provide packages for these, you can install and use the Buildtools
26tarball, which provides an SDK-like environment containing them.
27
Andrew Geissler4c19ea12020-10-27 13:52:24 -050028For more information on this requirement, see the
Andrew Geissler615f2f12022-07-15 14:00:58 -050029":ref:`ref-manual/system-requirements:required git, tar, python, make and gcc versions`"
Andrew Geisslerc9f78652020-09-18 14:11:35 -050030section.
31
32.. _migration-1.5-atom-pc-bsp:
33
34``atom-pc`` Board Support Package (BSP)
35---------------------------------------
36
37The ``atom-pc`` hardware reference BSP has been replaced by a
38``genericx86`` BSP. This BSP is not necessarily guaranteed to work on
39all x86 hardware, but it will run on a wider range of systems than the
40``atom-pc`` did.
41
42.. note::
43
Andrew Geissler4c19ea12020-10-27 13:52:24 -050044 Additionally, a ``genericx86-64`` BSP has been added for 64-bit Atom
45 systems.
Andrew Geisslerc9f78652020-09-18 14:11:35 -050046
47.. _migration-1.5-bitbake:
48
49BitBake
50-------
51
52The following changes have been made that relate to BitBake:
53
54- BitBake now supports a ``_remove`` operator. The addition of this
55 operator means you will have to rename any items in recipe space
56 (functions, variables) whose names currently contain ``_remove_`` or
57 end with ``_remove`` to avoid unexpected behavior.
58
59- BitBake's global method pool has been removed. This method is not
60 particularly useful and led to clashes between recipes containing
61 functions that had the same name.
62
63- The "none" server backend has been removed. The "process" server
64 backend has been serving well as the default for a long time now.
65
66- The ``bitbake-runtask`` script has been removed.
67
68- ``${``\ :term:`P`\ ``}`` and
69 ``${``\ :term:`PF`\ ``}`` are no longer added to
70 :term:`PROVIDES` by default in ``bitbake.conf``.
Andrew Geissler09036742021-06-25 14:25:14 -050071 These version-specific :term:`PROVIDES` items were seldom used.
Andrew Geisslerc9f78652020-09-18 14:11:35 -050072 Attempting to use them could result in two versions being built
73 simultaneously rather than just one version due to the way BitBake
74 resolves dependencies.
75
76.. _migration-1.5-qa-warnings:
77
78QA Warnings
79-----------
80
81The following changes have been made to the package QA checks:
82
83- If you have customized :term:`ERROR_QA` or
84 :term:`WARN_QA` values in your configuration, check
85 that they contain all of the issues that you wish to be reported.
86 Previous Yocto Project versions contained a bug that meant that any
Andrew Geissler09036742021-06-25 14:25:14 -050087 item not mentioned in :term:`ERROR_QA` or :term:`WARN_QA` would be treated as
Andrew Geisslerc9f78652020-09-18 14:11:35 -050088 a warning. Consequently, several important items were not already in
Andrew Geissler09036742021-06-25 14:25:14 -050089 the default value of :term:`WARN_QA`. All of the possible QA checks are
Andrew Geissler595f6302022-01-24 19:11:47 +000090 now documented in the ":ref:`ref-classes-insane`" section.
Andrew Geisslerc9f78652020-09-18 14:11:35 -050091
92- An additional QA check has been added to check if
93 ``/usr/share/info/dir`` is being installed. Your recipe should delete
94 this file within :ref:`ref-tasks-install` if "make
95 install" is installing it.
96
Andrew Geissler595f6302022-01-24 19:11:47 +000097- If you are using the :ref:`buildhistory <ref-classes-buildhistory>` class,
98 the check for the package
Andrew Geisslerc9f78652020-09-18 14:11:35 -050099 version going backwards is now controlled using a standard QA check.
Andrew Geissler09036742021-06-25 14:25:14 -0500100 Thus, if you have customized your :term:`ERROR_QA` or :term:`WARN_QA` values
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500101 and still wish to have this check performed, you should add
102 "version-going-backwards" to your value for one or the other
103 variables depending on how you wish it to be handled. See the
Andrew Geissler595f6302022-01-24 19:11:47 +0000104 documented QA checks in the ":ref:`ref-classes-insane`" section.
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500105
106.. _migration-1.5-directory-layout-changes:
107
108Directory Layout Changes
109------------------------
110
111The following directory changes exist:
112
113- Output SDK installer files are now named to include the image name
114 and tuning architecture through the :term:`SDK_NAME`
115 variable.
116
117- Images and related files are now installed into a directory that is
118 specific to the machine, instead of a parent directory containing
119 output files for multiple machines. The
120 :term:`DEPLOY_DIR_IMAGE` variable continues
121 to point to the directory containing images for the current
122 :term:`MACHINE` and should be used anywhere there is a
123 need to refer to this directory. The ``runqemu`` script now uses this
124 variable to find images and kernel binaries and will use BitBake to
125 determine the directory. Alternatively, you can set the
Andrew Geissler5f350902021-07-23 13:09:54 -0400126 :term:`DEPLOY_DIR_IMAGE` variable in the external environment.
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500127
128- When buildhistory is enabled, its output is now written under the
Patrick Williams2390b1b2022-11-03 13:47:49 -0500129 :term:`Build Directory` rather than :term:`TMPDIR`. Doing so makes
130 it easier to delete :term:`TMPDIR` and preserve the build history.
131 Additionally, data for produced SDKs is now split by :term:`IMAGE_NAME`.
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500132
133- The ``pkgdata`` directory produced as part of the packaging process
134 has been collapsed into a single machine-specific directory. This
135 directory is located under ``sysroots`` and uses a machine-specific
136 name (i.e. ``tmp/sysroots/machine/pkgdata``).
137
138.. _migration-1.5-shortened-git-srcrev-values:
139
140Shortened Git ``SRCREV`` Values
141-------------------------------
142
143BitBake will now shorten revisions from Git repositories from the normal
14440 characters down to 10 characters within :term:`SRCPV`
Patrick Williams0ca19cc2021-08-16 14:03:13 -0500145for improved usability in path and filenames. This change should be
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500146safe within contexts where these revisions are used because the chances
147of spatially close collisions is very low. Distant collisions are not a
148major issue in the way the values are used.
149
150.. _migration-1.5-image-features:
151
152``IMAGE_FEATURES``
153------------------
154
155The following changes have been made that relate to
156:term:`IMAGE_FEATURES`:
157
Andrew Geissler09036742021-06-25 14:25:14 -0500158- The value of :term:`IMAGE_FEATURES` is now validated to ensure invalid
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500159 feature items are not added. Some users mistakenly add package names
160 to this variable instead of using
161 :term:`IMAGE_INSTALL` in order to have the
162 package added to the image, which does not work. This change is
Andrew Geissler09036742021-06-25 14:25:14 -0500163 intended to catch those kinds of situations. Valid :term:`IMAGE_FEATURES`
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500164 are drawn from ``PACKAGE_GROUP`` definitions,
165 :term:`COMPLEMENTARY_GLOB` and a new
Andrew Geissler09036742021-06-25 14:25:14 -0500166 "validitems" varflag on :term:`IMAGE_FEATURES`. The "validitems" varflag
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500167 change allows additional features to be added if they are not
168 provided using the previous two mechanisms.
169
Andrew Geissler09036742021-06-25 14:25:14 -0500170- The previously deprecated "apps-console-core" :term:`IMAGE_FEATURES` item
171 is no longer supported. Add "splash" to :term:`IMAGE_FEATURES` if you
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500172 wish to have the splash screen enabled, since this is all that
173 apps-console-core was doing.
174
175.. _migration-1.5-run:
176
177``/run``
178--------
179
180The ``/run`` directory from the Filesystem Hierarchy Standard 3.0 has
181been introduced. You can find some of the implications for this change
Andrew Geissler09209ee2020-12-13 08:44:15 -0600182:oe_git:`here </openembedded-core/commit/?id=0e326280a15b0f2c4ef2ef4ec441f63f55b75873>`.
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500183The change also means that recipes that install files to ``/var/run``
184must be changed. You can find a guide on how to make these changes
Andrew Geisslerc3d88e42020-10-02 09:45:00 -0500185`here <https://www.mail-archive.com/openembedded-devel@lists.openembedded.org/msg31649.html>`__.
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500186
187.. _migration-1.5-removal-of-package-manager-database-within-image-recipes:
188
189Removal of Package Manager Database Within Image Recipes
190--------------------------------------------------------
191
192The image ``core-image-minimal`` no longer adds
193``remove_packaging_data_files`` to
194:term:`ROOTFS_POSTPROCESS_COMMAND`.
195This addition is now handled automatically when "package-management" is
196not in :term:`IMAGE_FEATURES`. If you have custom
197image recipes that make this addition, you should remove the lines, as
198they are not needed and might interfere with correct operation of
199postinstall scripts.
200
201.. _migration-1.5-images-now-rebuild-only-on-changes-instead-of-every-time:
202
203Images Now Rebuild Only on Changes Instead of Every Time
204--------------------------------------------------------
205
206The :ref:`ref-tasks-rootfs` and other related image
207construction tasks are no longer marked as "nostamp". Consequently, they
208will only be re-executed when their inputs have changed. Previous
209versions of the OpenEmbedded build system always rebuilt the image when
210requested rather when necessary.
211
212.. _migration-1.5-task-recipes:
213
214Task Recipes
215------------
216
217The previously deprecated ``task.bbclass`` has now been dropped. For
218recipes that previously inherited from this class, you should rename
219them from ``task-*`` to ``packagegroup-*`` and inherit packagegroup
220instead.
221
Andrew Geissler595f6302022-01-24 19:11:47 +0000222For more information, see the ":ref:`ref-classes-packagegroup`" section.
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500223
224.. _migration-1.5-busybox:
225
226BusyBox
227-------
228
229By default, we now split BusyBox into two binaries: one that is suid
230root for those components that need it, and another for the rest of the
231components. Splitting BusyBox allows for optimization that eliminates
232the ``tinylogin`` recipe as recommended by upstream. You can disable
233this split by setting
234:term:`BUSYBOX_SPLIT_SUID` to "0".
235
236.. _migration-1.5-automated-image-testing:
237
238Automated Image Testing
239-----------------------
240
241A new automated image testing framework has been added through the
Patrick Williams975a06f2022-10-21 14:42:47 -0500242:ref:`ref-classes-testimage` classes. This
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500243framework replaces the older ``imagetest-qemu`` framework.
244
245You can learn more about performing automated image tests in the
Andrew Geissler09209ee2020-12-13 08:44:15 -0600246":ref:`dev-manual/common-tasks:performing automated runtime testing`"
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500247section in the Yocto Project Development Tasks Manual.
248
249.. _migration-1.5-build-history:
250
251Build History
252-------------
253
254Following are changes to Build History:
255
256- Installed package sizes: ``installed-package-sizes.txt`` for an image
257 now records the size of the files installed by each package instead
258 of the size of each compressed package archive file.
259
260- The dependency graphs (``depends*.dot``) now use the actual package
261 names instead of replacing dashes, dots and plus signs with
262 underscores.
263
264- The ``buildhistory-diff`` and ``buildhistory-collect-srcrevs``
265 utilities have improved command-line handling. Use the ``--help``
266 option for each utility for more information on the new syntax.
267
268For more information on Build History, see the
Andrew Geissler09209ee2020-12-13 08:44:15 -0600269":ref:`dev-manual/common-tasks:maintaining build output quality`"
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500270section in the Yocto Project Development Tasks Manual.
271
272.. _migration-1.5-udev:
273
274``udev``
275--------
276
277Following are changes to ``udev``:
278
279- ``udev`` no longer brings in ``udev-extraconf`` automatically through
280 :term:`RRECOMMENDS`, since this was originally
281 intended to be optional. If you need the extra rules, then add
282 ``udev-extraconf`` to your image.
283
284- ``udev`` no longer brings in ``pciutils-ids`` or ``usbutils-ids``
Andrew Geissler09036742021-06-25 14:25:14 -0500285 through :term:`RRECOMMENDS`. These are not needed by ``udev`` itself and
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500286 removing them saves around 350KB.
287
288.. _migration-1.5-removed-renamed-recipes:
289
290Removed and Renamed Recipes
291---------------------------
292
293- The ``linux-yocto`` 3.2 kernel has been removed.
294
295- ``libtool-nativesdk`` has been renamed to ``nativesdk-libtool``.
296
297- ``tinylogin`` has been removed. It has been replaced by a suid
Andrew Geissler3b8a17c2021-04-15 15:55:55 -0500298 portion of Busybox. See the ":ref:`migration-1.5-busybox`"
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500299 section for more information.
300
301- ``external-python-tarball`` has been renamed to
302 ``buildtools-tarball``.
303
304- ``web-webkit`` has been removed. It has been functionally replaced by
305 ``midori``.
306
307- ``imake`` has been removed. It is no longer needed by any other
308 recipe.
309
310- ``transfig-native`` has been removed. It is no longer needed by any
311 other recipe.
312
313- ``anjuta-remote-run`` has been removed. Anjuta IDE integration has
314 not been officially supported for several releases.
315
316.. _migration-1.5-other-changes:
317
318Other Changes
319-------------
320
321Following is a list of short entries describing other changes:
322
323- ``run-postinsts``: Make this generic.
324
325- ``base-files``: Remove the unnecessary ``media/``\ xxx directories.
326
327- ``alsa-state``: Provide an empty ``asound.conf`` by default.
328
329- ``classes/image``: Ensure
330 :term:`BAD_RECOMMENDATIONS` supports
331 pre-renamed package names.
332
Andrew Geissler5f350902021-07-23 13:09:54 -0400333- ``classes/rootfs_rpm``: Implement :term:`BAD_RECOMMENDATIONS` for RPM.
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500334
335- ``systemd``: Remove ``systemd_unitdir`` if ``systemd`` is not in
336 :term:`DISTRO_FEATURES`.
337
338- ``systemd``: Remove ``init.d`` dir if ``systemd`` unit file is
339 present and ``sysvinit`` is not a distro feature.
340
341- ``libpam``: Deny all services for the ``OTHER`` entries.
342
Andrew Geissler7e0e3c02022-02-25 20:34:39 +0000343- :ref:`ref-classes-image`: Move ``runtime_mapping_rename`` to avoid conflict
Andrew Geissler4c19ea12020-10-27 13:52:24 -0500344 with ``multilib``. See :yocto_bugs:`YOCTO #4993 </show_bug.cgi?id=4993>`
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500345 in Bugzilla for more information.
346
347- ``linux-dtb``: Use kernel build system to generate the ``dtb`` files.
348
349- ``kern-tools``: Switch from guilt to new ``kgit-s2q`` tool.
350