blob: 0306b99c65895a8e4f780ea1ef4c8565c8347567 [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 Geissler09209ee2020-12-13 08:44:15 -060029":ref:`ref-manual/system-requirements:required git, tar, python 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
129 :term:`Build Directory` rather than
130 :term:`TMPDIR`. Doing so makes it easier to delete
Andrew Geissler09036742021-06-25 14:25:14 -0500131 :term:`TMPDIR` and preserve the build history. Additionally, data for
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500132 produced SDKs is now split by :term:`IMAGE_NAME`.
133
134- The ``pkgdata`` directory produced as part of the packaging process
135 has been collapsed into a single machine-specific directory. This
136 directory is located under ``sysroots`` and uses a machine-specific
137 name (i.e. ``tmp/sysroots/machine/pkgdata``).
138
139.. _migration-1.5-shortened-git-srcrev-values:
140
141Shortened Git ``SRCREV`` Values
142-------------------------------
143
144BitBake will now shorten revisions from Git repositories from the normal
14540 characters down to 10 characters within :term:`SRCPV`
Patrick Williams0ca19cc2021-08-16 14:03:13 -0500146for improved usability in path and filenames. This change should be
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500147safe within contexts where these revisions are used because the chances
148of spatially close collisions is very low. Distant collisions are not a
149major issue in the way the values are used.
150
151.. _migration-1.5-image-features:
152
153``IMAGE_FEATURES``
154------------------
155
156The following changes have been made that relate to
157:term:`IMAGE_FEATURES`:
158
Andrew Geissler09036742021-06-25 14:25:14 -0500159- The value of :term:`IMAGE_FEATURES` is now validated to ensure invalid
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500160 feature items are not added. Some users mistakenly add package names
161 to this variable instead of using
162 :term:`IMAGE_INSTALL` in order to have the
163 package added to the image, which does not work. This change is
Andrew Geissler09036742021-06-25 14:25:14 -0500164 intended to catch those kinds of situations. Valid :term:`IMAGE_FEATURES`
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500165 are drawn from ``PACKAGE_GROUP`` definitions,
166 :term:`COMPLEMENTARY_GLOB` and a new
Andrew Geissler09036742021-06-25 14:25:14 -0500167 "validitems" varflag on :term:`IMAGE_FEATURES`. The "validitems" varflag
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500168 change allows additional features to be added if they are not
169 provided using the previous two mechanisms.
170
Andrew Geissler09036742021-06-25 14:25:14 -0500171- The previously deprecated "apps-console-core" :term:`IMAGE_FEATURES` item
172 is no longer supported. Add "splash" to :term:`IMAGE_FEATURES` if you
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500173 wish to have the splash screen enabled, since this is all that
174 apps-console-core was doing.
175
176.. _migration-1.5-run:
177
178``/run``
179--------
180
181The ``/run`` directory from the Filesystem Hierarchy Standard 3.0 has
182been introduced. You can find some of the implications for this change
Andrew Geissler09209ee2020-12-13 08:44:15 -0600183:oe_git:`here </openembedded-core/commit/?id=0e326280a15b0f2c4ef2ef4ec441f63f55b75873>`.
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500184The change also means that recipes that install files to ``/var/run``
185must be changed. You can find a guide on how to make these changes
Andrew Geisslerc3d88e42020-10-02 09:45:00 -0500186`here <https://www.mail-archive.com/openembedded-devel@lists.openembedded.org/msg31649.html>`__.
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500187
188.. _migration-1.5-removal-of-package-manager-database-within-image-recipes:
189
190Removal of Package Manager Database Within Image Recipes
191--------------------------------------------------------
192
193The image ``core-image-minimal`` no longer adds
194``remove_packaging_data_files`` to
195:term:`ROOTFS_POSTPROCESS_COMMAND`.
196This addition is now handled automatically when "package-management" is
197not in :term:`IMAGE_FEATURES`. If you have custom
198image recipes that make this addition, you should remove the lines, as
199they are not needed and might interfere with correct operation of
200postinstall scripts.
201
202.. _migration-1.5-images-now-rebuild-only-on-changes-instead-of-every-time:
203
204Images Now Rebuild Only on Changes Instead of Every Time
205--------------------------------------------------------
206
207The :ref:`ref-tasks-rootfs` and other related image
208construction tasks are no longer marked as "nostamp". Consequently, they
209will only be re-executed when their inputs have changed. Previous
210versions of the OpenEmbedded build system always rebuilt the image when
211requested rather when necessary.
212
213.. _migration-1.5-task-recipes:
214
215Task Recipes
216------------
217
218The previously deprecated ``task.bbclass`` has now been dropped. For
219recipes that previously inherited from this class, you should rename
220them from ``task-*`` to ``packagegroup-*`` and inherit packagegroup
221instead.
222
Andrew Geissler595f6302022-01-24 19:11:47 +0000223For more information, see the ":ref:`ref-classes-packagegroup`" section.
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500224
225.. _migration-1.5-busybox:
226
227BusyBox
228-------
229
230By default, we now split BusyBox into two binaries: one that is suid
231root for those components that need it, and another for the rest of the
232components. Splitting BusyBox allows for optimization that eliminates
233the ``tinylogin`` recipe as recommended by upstream. You can disable
234this split by setting
235:term:`BUSYBOX_SPLIT_SUID` to "0".
236
237.. _migration-1.5-automated-image-testing:
238
239Automated Image Testing
240-----------------------
241
242A new automated image testing framework has been added through the
243:ref:`testimage.bbclass <ref-classes-testimage*>` class. This
244framework replaces the older ``imagetest-qemu`` framework.
245
246You can learn more about performing automated image tests in the
Andrew Geissler09209ee2020-12-13 08:44:15 -0600247":ref:`dev-manual/common-tasks:performing automated runtime testing`"
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500248section in the Yocto Project Development Tasks Manual.
249
250.. _migration-1.5-build-history:
251
252Build History
253-------------
254
255Following are changes to Build History:
256
257- Installed package sizes: ``installed-package-sizes.txt`` for an image
258 now records the size of the files installed by each package instead
259 of the size of each compressed package archive file.
260
261- The dependency graphs (``depends*.dot``) now use the actual package
262 names instead of replacing dashes, dots and plus signs with
263 underscores.
264
265- The ``buildhistory-diff`` and ``buildhistory-collect-srcrevs``
266 utilities have improved command-line handling. Use the ``--help``
267 option for each utility for more information on the new syntax.
268
269For more information on Build History, see the
Andrew Geissler09209ee2020-12-13 08:44:15 -0600270":ref:`dev-manual/common-tasks:maintaining build output quality`"
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500271section in the Yocto Project Development Tasks Manual.
272
273.. _migration-1.5-udev:
274
275``udev``
276--------
277
278Following are changes to ``udev``:
279
280- ``udev`` no longer brings in ``udev-extraconf`` automatically through
281 :term:`RRECOMMENDS`, since this was originally
282 intended to be optional. If you need the extra rules, then add
283 ``udev-extraconf`` to your image.
284
285- ``udev`` no longer brings in ``pciutils-ids`` or ``usbutils-ids``
Andrew Geissler09036742021-06-25 14:25:14 -0500286 through :term:`RRECOMMENDS`. These are not needed by ``udev`` itself and
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500287 removing them saves around 350KB.
288
289.. _migration-1.5-removed-renamed-recipes:
290
291Removed and Renamed Recipes
292---------------------------
293
294- The ``linux-yocto`` 3.2 kernel has been removed.
295
296- ``libtool-nativesdk`` has been renamed to ``nativesdk-libtool``.
297
298- ``tinylogin`` has been removed. It has been replaced by a suid
Andrew Geissler3b8a17c2021-04-15 15:55:55 -0500299 portion of Busybox. See the ":ref:`migration-1.5-busybox`"
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500300 section for more information.
301
302- ``external-python-tarball`` has been renamed to
303 ``buildtools-tarball``.
304
305- ``web-webkit`` has been removed. It has been functionally replaced by
306 ``midori``.
307
308- ``imake`` has been removed. It is no longer needed by any other
309 recipe.
310
311- ``transfig-native`` has been removed. It is no longer needed by any
312 other recipe.
313
314- ``anjuta-remote-run`` has been removed. Anjuta IDE integration has
315 not been officially supported for several releases.
316
317.. _migration-1.5-other-changes:
318
319Other Changes
320-------------
321
322Following is a list of short entries describing other changes:
323
324- ``run-postinsts``: Make this generic.
325
326- ``base-files``: Remove the unnecessary ``media/``\ xxx directories.
327
328- ``alsa-state``: Provide an empty ``asound.conf`` by default.
329
330- ``classes/image``: Ensure
331 :term:`BAD_RECOMMENDATIONS` supports
332 pre-renamed package names.
333
Andrew Geissler5f350902021-07-23 13:09:54 -0400334- ``classes/rootfs_rpm``: Implement :term:`BAD_RECOMMENDATIONS` for RPM.
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500335
336- ``systemd``: Remove ``systemd_unitdir`` if ``systemd`` is not in
337 :term:`DISTRO_FEATURES`.
338
339- ``systemd``: Remove ``init.d`` dir if ``systemd`` unit file is
340 present and ``sysvinit`` is not a distro feature.
341
342- ``libpam``: Deny all services for the ``OTHER`` entries.
343
344- ``image.bbclass``: Move ``runtime_mapping_rename`` to avoid conflict
Andrew Geissler4c19ea12020-10-27 13:52:24 -0500345 with ``multilib``. See :yocto_bugs:`YOCTO #4993 </show_bug.cgi?id=4993>`
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500346 in Bugzilla for more information.
347
348- ``linux-dtb``: Use kernel build system to generate the ``dtb`` files.
349
350- ``kern-tools``: Switch from guilt to new ``kgit-s2q`` tool.
351