blob: 358086560b11b61641854fa3ab7e4d19551ccf55 [file] [log] [blame]
Andrew Geissler09036742021-06-25 14:25:14 -05001Release 1.6 (daisy)
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.6 Release (codename "daisy") from the prior release.
Andrew Geisslerc9f78652020-09-18 14:11:35 -05006
7.. _migration-1.6-archiver-class:
8
9``archiver`` Class
10------------------
11
12The :ref:`archiver <ref-classes-archiver>` class has been rewritten
13and its configuration has been simplified. For more details on the
14source archiver, see the
Andrew Geissler09209ee2020-12-13 08:44:15 -060015":ref:`dev-manual/common-tasks:maintaining open source license compliance during your product's lifecycle`"
Andrew Geisslerc9f78652020-09-18 14:11:35 -050016section in the Yocto Project Development Tasks Manual.
17
18.. _migration-1.6-packaging-changes:
19
20Packaging Changes
21-----------------
22
23The following packaging changes have been made:
24
25- The ``binutils`` recipe no longer produces a ``binutils-symlinks``
26 package. ``update-alternatives`` is now used to handle the preferred
27 ``binutils`` variant on the target instead.
28
29- The tc (traffic control) utilities have been split out of the main
30 ``iproute2`` package and put into the ``iproute2-tc`` package.
31
32- The ``gtk-engines`` schemas have been moved to a dedicated
33 ``gtk-engines-schemas`` package.
34
35- The ``armv7a`` with thumb package architecture suffix has changed.
36 The suffix for these packages with the thumb optimization enabled is
37 "t2" as it should be. Use of this suffix was not the case in the 1.5
38 release. Architecture names will change within package feeds as a
39 result.
40
41.. _migration-1.6-bitbake:
42
43BitBake
44-------
45
46The following changes have been made to :term:`BitBake`.
47
48.. _migration-1.6-matching-branch-requirement-for-git-fetching:
49
50Matching Branch Requirement for Git Fetching
51~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
52
53When fetching source from a Git repository using
54:term:`SRC_URI`, BitBake will now validate the
55:term:`SRCREV` value against the branch. You can specify
Andrew Geisslerc926e172021-05-07 16:11:35 -050056the branch using the following form::
Andrew Geissler4c19ea12020-10-27 13:52:24 -050057
58 SRC_URI = "git://server.name/repository;branch=branchname"
59
60If you do not specify a branch, BitBake looks in the default "master" branch.
Andrew Geisslerc9f78652020-09-18 14:11:35 -050061
62Alternatively, if you need to bypass this check (e.g. if you are
63fetching a revision corresponding to a tag that is not on any branch),
Andrew Geissler09036742021-06-25 14:25:14 -050064you can add ";nobranch=1" to the end of the URL within :term:`SRC_URI`.
Andrew Geisslerc9f78652020-09-18 14:11:35 -050065
66.. _migration-1.6-bitbake-deps:
67
68Python Definition substitutions
69~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
70
71BitBake had some previously deprecated Python definitions within its
72``bb`` module removed. You should use their sub-module counterparts
73instead:
74
75- ``bb.MalformedUrl``: Use ``bb.fetch.MalformedUrl``.
76
77- ``bb.encodeurl``: Use ``bb.fetch.encodeurl``.
78
79- ``bb.decodeurl``: Use ``bb.fetch.decodeurl``
80
81- ``bb.mkdirhier``: Use ``bb.utils.mkdirhier``.
82
83- ``bb.movefile``: Use ``bb.utils.movefile``.
84
85- ``bb.copyfile``: Use ``bb.utils.copyfile``.
86
87- ``bb.which``: Use ``bb.utils.which``.
88
89- ``bb.vercmp_string``: Use ``bb.utils.vercmp_string``.
90
91- ``bb.vercmp``: Use ``bb.utils.vercmp``.
92
93.. _migration-1.6-bitbake-fetcher:
94
95SVK Fetcher
96~~~~~~~~~~~
97
98The SVK fetcher has been removed from BitBake.
99
100.. _migration-1.6-bitbake-console-output:
101
102Console Output Error Redirection
103~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
104
105The BitBake console UI will now output errors to ``stderr`` instead of
106``stdout``. Consequently, if you are piping or redirecting the output of
107``bitbake`` to somewhere else, and you wish to retain the errors, you
108will need to add ``2>&1`` (or something similar) to the end of your
109``bitbake`` command line.
110
111.. _migration-1.6-task-taskname-overrides:
112
113``task-``\ taskname Overrides
114~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
115
116``task-``\ taskname overrides have been adjusted so that tasks whose
117names contain underscores have the underscores replaced by hyphens for
118the override so that they now function properly. For example, the task
119override for :ref:`ref-tasks-populate_sdk` is
120``task-populate-sdk``.
121
122.. _migration-1.6-variable-changes:
123
124Changes to Variables
125--------------------
126
127The following variables have changed. For information on the
Andrew Geissler09209ee2020-12-13 08:44:15 -0600128OpenEmbedded build system variables, see the ":doc:`/ref-manual/variables`" Chapter.
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500129
130.. _migration-1.6-variable-changes-TMPDIR:
131
132``TMPDIR``
133~~~~~~~~~~
134
135:term:`TMPDIR` can no longer be on an NFS mount. NFS does
136not offer full POSIX locking and inode consistency and can cause
Andrew Geissler09036742021-06-25 14:25:14 -0500137unexpected issues if used to store :term:`TMPDIR`.
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500138
Andrew Geissler09036742021-06-25 14:25:14 -0500139The check for this occurs on startup. If :term:`TMPDIR` is detected on an
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500140NFS mount, an error occurs.
141
142.. _migration-1.6-variable-changes-PRINC:
143
144``PRINC``
145~~~~~~~~~
146
147The ``PRINC`` variable has been deprecated and triggers a warning if
148detected during a build. For :term:`PR` increments on changes,
149use the PR service instead. You can find out more about this service in
Andrew Geissler09209ee2020-12-13 08:44:15 -0600150the ":ref:`dev-manual/common-tasks:working with a pr service`"
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500151section in the Yocto Project Development Tasks Manual.
152
153.. _migration-1.6-variable-changes-IMAGE_TYPES:
154
155``IMAGE_TYPES``
156~~~~~~~~~~~~~~~
157
158The "sum.jffs2" option for :term:`IMAGE_TYPES` has
159been replaced by the "jffs2.sum" option, which fits the processing
160order.
161
162.. _migration-1.6-variable-changes-COPY_LIC_MANIFEST:
163
164``COPY_LIC_MANIFEST``
165~~~~~~~~~~~~~~~~~~~~~
166
167The :term:`COPY_LIC_MANIFEST` variable must now
168be set to "1" rather than any value in order to enable it.
169
170.. _migration-1.6-variable-changes-COPY_LIC_DIRS:
171
172``COPY_LIC_DIRS``
173~~~~~~~~~~~~~~~~~
174
175The :term:`COPY_LIC_DIRS` variable must now be set
176to "1" rather than any value in order to enable it.
177
178.. _migration-1.6-variable-changes-PACKAGE_GROUP:
179
180``PACKAGE_GROUP``
181~~~~~~~~~~~~~~~~~
182
183The ``PACKAGE_GROUP`` variable has been renamed to
184:term:`FEATURE_PACKAGES` to more accurately
185reflect its purpose. You can still use ``PACKAGE_GROUP`` but the
186OpenEmbedded build system produces a warning message when it encounters
187the variable.
188
189.. _migration-1.6-variable-changes-variable-entry-behavior:
190
191Preprocess and Post Process Command Variable Behavior
192~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
193
194The following variables now expect a semicolon separated list of
195functions to call and not arbitrary shell commands:
196
197 - :term:`ROOTFS_PREPROCESS_COMMAND`
198 - :term:`ROOTFS_POSTPROCESS_COMMAND`
199 - :term:`SDK_POSTPROCESS_COMMAND`
200 - :term:`POPULATE_SDK_POST_TARGET_COMMAND`
201 - :term:`POPULATE_SDK_POST_HOST_COMMAND`
202 - :term:`IMAGE_POSTPROCESS_COMMAND`
203 - :term:`IMAGE_PREPROCESS_COMMAND`
204 - :term:`ROOTFS_POSTUNINSTALL_COMMAND`
205 - :term:`ROOTFS_POSTINSTALL_COMMAND`
206
207For
208migration purposes, you can simply wrap shell commands in a shell
Andrew Geisslerc926e172021-05-07 16:11:35 -0500209function and then call the function. Here is an example::
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500210
211 my_postprocess_function() {
212 echo "hello" > ${IMAGE_ROOTFS}/hello.txt
213 }
214 ROOTFS_POSTPROCESS_COMMAND += "my_postprocess_function; "
215
216.. _migration-1.6-package-test-ptest:
217
218Package Test (ptest)
219--------------------
220
221Package Tests (ptest) are built but not installed by default. For
222information on using Package Tests, see the
Andrew Geissler09209ee2020-12-13 08:44:15 -0600223":ref:`dev-manual/common-tasks:testing packages with ptest`"
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500224section in the Yocto Project Development Tasks Manual. For information on the
Andrew Geissler595f6302022-01-24 19:11:47 +0000225``ptest`` class, see the ":ref:`ref-classes-ptest`" section.
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500226
227.. _migration-1.6-build-changes:
228
229Build Changes
230-------------
231
232Separate build and source directories have been enabled by default for
Andrew Geissler595f6302022-01-24 19:11:47 +0000233selected recipes where it is known to work and for all
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500234recipes that inherit the :ref:`cmake <ref-classes-cmake>` class. In
235future releases the :ref:`autotools <ref-classes-autotools>` class
236will enable a separate build directory by default as well. Recipes
237building Autotools-based software that fails to build with a separate
238build directory should be changed to inherit from the
239:ref:`autotools-brokensep <ref-classes-autotools>` class instead of
240the ``autotools`` or ``autotools_stage``\ classes.
241
242.. _migration-1.6-building-qemu-native:
243
244``qemu-native``
245---------------
246
247``qemu-native`` now builds without SDL-based graphical output support by
248default. The following additional lines are needed in your
Andrew Geisslerc926e172021-05-07 16:11:35 -0500249``local.conf`` to enable it::
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500250
251 PACKAGECONFIG_pn-qemu-native = "sdl"
252 ASSUME_PROVIDED += "libsdl-native"
253
254.. note::
255
Andrew Geissler4c19ea12020-10-27 13:52:24 -0500256 The default ``local.conf`` contains these statements. Consequently, if you
257 are building a headless system and using a default ``local.conf``
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500258 file, you will need comment these two lines out.
259
260.. _migration-1.6-core-image-basic:
261
262``core-image-basic``
263--------------------
264
265``core-image-basic`` has been renamed to ``core-image-full-cmdline``.
266
267In addition to ``core-image-basic`` being renamed,
268``packagegroup-core-basic`` has been renamed to
269``packagegroup-core-full-cmdline`` to match.
270
271.. _migration-1.6-licensing:
272
273Licensing
274---------
275
Andrew Geissler09036742021-06-25 14:25:14 -0500276The top-level :term:`LICENSE` file has been changed to better describe the
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500277license of the various components of :term:`OpenEmbedded-Core (OE-Core)`. However,
278the licensing itself remains unchanged.
279
280Normally, this change would not cause any side-effects. However, some
281recipes point to this file within
282:term:`LIC_FILES_CHKSUM` (as
283``${COREBASE}/LICENSE``) and thus the accompanying checksum must be
284changed from 3f40d7994397109285ec7b81fdeb3b58 to
2854d92cd373abda3937c2bc47fbc49d690. A better alternative is to have
Andrew Geissler09036742021-06-25 14:25:14 -0500286:term:`LIC_FILES_CHKSUM` point to a file describing the license that is
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500287distributed with the source that the recipe is building, if possible,
288rather than pointing to ``${COREBASE}/LICENSE``.
289
290.. _migration-1.6-cflags-options:
291
292``CFLAGS`` Options
293------------------
294
295The "-fpermissive" option has been removed from the default
296:term:`CFLAGS` value. You need to take action on
297individual recipes that fail when building with this option. You need to
298either patch the recipes to fix the issues reported by the compiler, or
Andrew Geissler09036742021-06-25 14:25:14 -0500299you need to add "-fpermissive" to :term:`CFLAGS` in the recipes.
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500300
301.. _migration-1.6-custom-images:
302
303Custom Image Output Types
304-------------------------
305
306Custom image output types, as selected using
307:term:`IMAGE_FSTYPES`, must declare their
308dependencies on other image types (if any) using a new
309:term:`IMAGE_TYPEDEP` variable.
310
311.. _migration-1.6-do-package-write-task:
312
313Tasks
314-----
315
316The ``do_package_write`` task has been removed. The task is no longer
317needed.
318
319.. _migration-1.6-update-alternatives-provider:
320
321``update-alternative`` Provider
322-------------------------------
323
324The default ``update-alternatives`` provider has been changed from
325``opkg`` to ``opkg-utils``. This change resolves some troublesome
326circular dependencies. The runtime package has also been renamed from
327``update-alternatives-cworth`` to ``update-alternatives-opkg``.
328
329.. _migration-1.6-virtclass-overrides:
330
331``virtclass`` Overrides
332-----------------------
333
334The ``virtclass`` overrides are now deprecated. Use the equivalent class
335overrides instead (e.g. ``virtclass-native`` becomes ``class-native``.)
336
337.. _migration-1.6-removed-renamed-recipes:
338
339Removed and Renamed Recipes
340---------------------------
341
342The following recipes have been removed:
343
344- ``packagegroup-toolset-native`` - This recipe is largely unused.
345
346- ``linux-yocto-3.8`` - Support for the Linux yocto 3.8 kernel has been
347 dropped. Support for the 3.10 and 3.14 kernels have been added with
348 the ``linux-yocto-3.10`` and ``linux-yocto-3.14`` recipes.
349
350- ``ocf-linux`` - This recipe has been functionally replaced using
351 ``cryptodev-linux``.
352
353- ``genext2fs`` - ``genext2fs`` is no longer used by the build system
354 and is unmaintained upstream.
355
356- ``js`` - This provided an ancient version of Mozilla's javascript
357 engine that is no longer needed.
358
359- ``zaurusd`` - The recipe has been moved to the ``meta-handheld``
360 layer.
361
362- ``eglibc 2.17`` - Replaced by the ``eglibc 2.19`` recipe.
363
364- ``gcc 4.7.2`` - Replaced by the now stable ``gcc 4.8.2``.
365
366- ``external-sourcery-toolchain`` - this recipe is now maintained in
367 the ``meta-sourcery`` layer.
368
369- ``linux-libc-headers-yocto 3.4+git`` - Now using version 3.10 of the
370 ``linux-libc-headers`` by default.
371
372- ``meta-toolchain-gmae`` - This recipe is obsolete.
373
374- ``packagegroup-core-sdk-gmae`` - This recipe is obsolete.
375
376- ``packagegroup-core-standalone-gmae-sdk-target`` - This recipe is
377 obsolete.
378
379.. _migration-1.6-removed-classes:
380
381Removed Classes
382---------------
383
384The following classes have become obsolete and have been removed:
385
386- ``module_strip``
387
388- ``pkg_metainfo``
389
390- ``pkg_distribute``
391
392- ``image-empty``
393
394.. _migration-1.6-reference-bsps:
395
396Reference Board Support Packages (BSPs)
397---------------------------------------
398
399The following reference BSPs changes occurred:
400
401- The BeagleBoard (``beagleboard``) ARM reference hardware has been
402 replaced by the BeagleBone (``beaglebone``) hardware.
403
404- The RouterStation Pro (``routerstationpro``) MIPS reference hardware
405 has been replaced by the EdgeRouter Lite (``edgerouter``) hardware.
406
407The previous reference BSPs for the ``beagleboard`` and
408``routerstationpro`` machines are still available in a new
409``meta-yocto-bsp-old`` layer in the
410:yocto_git:`Source Repositories <>` at
Andrew Geissler09209ee2020-12-13 08:44:15 -0600411:yocto_git:`/meta-yocto-bsp-old/`.
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500412
413