summaryrefslogtreecommitdiffstats
path: root/documentation/ref-manual/migration.rst
diff options
context:
space:
mode:
Diffstat (limited to 'documentation/ref-manual/migration.rst')
-rw-r--r--documentation/ref-manual/migration.rst937
1 files changed, 550 insertions, 387 deletions
diff --git a/documentation/ref-manual/migration.rst b/documentation/ref-manual/migration.rst
index f834ba7004..d0d8f47932 100644
--- a/documentation/ref-manual/migration.rst
+++ b/documentation/ref-manual/migration.rst
@@ -15,7 +15,9 @@ Some considerations are not tied to a specific Yocto Project release.
15This section presents information you should consider when migrating to 15This section presents information you should consider when migrating to
16any new Yocto Project release. 16any new Yocto Project release.
17 17
18- *Dealing with Customized Recipes*: Issues could arise if you take 18- *Dealing with Customized Recipes*:
19
20 Issues could arise if you take
19 older recipes that contain customizations and simply copy them 21 older recipes that contain customizations and simply copy them
20 forward expecting them to work after you migrate to new Yocto Project 22 forward expecting them to work after you migrate to new Yocto Project
21 metadata. For example, suppose you have a recipe in your layer that 23 metadata. For example, suppose you have a recipe in your layer that
@@ -39,7 +41,9 @@ any new Yocto Project release.
39 use an append file. A good example of this is when introducing a 41 use an append file. A good example of this is when introducing a
40 newer or older version of a recipe in another layer. 42 newer or older version of a recipe in another layer.
41 43
42- *Updating Append Files*: Since append files generally only contain 44- *Updating Append Files*:
45
46 Since append files generally only contain
43 your customizations, they often do not need to be adjusted for new 47 your customizations, they often do not need to be adjusted for new
44 releases. However, if the ``.bbappend`` file is specific to a 48 releases. However, if the ``.bbappend`` file is specific to a
45 particular version of the recipe (i.e. its name does not use the % 49 particular version of the recipe (i.e. its name does not use the %
@@ -85,8 +89,9 @@ location (either local or remote) and then point to it in
85:term:`SSTATE_MIRRORS`, you need to append "PATH" 89:term:`SSTATE_MIRRORS`, you need to append "PATH"
86to the end of the mirror URL so that the path used by BitBake before the 90to the end of the mirror URL so that the path used by BitBake before the
87mirror substitution is appended to the path used to access the mirror. 91mirror substitution is appended to the path used to access the mirror.
88Here is an example: SSTATE_MIRRORS = "file://.\* 92Here is an example: ::
89http://someserver.tld/share/sstate/PATH" 93
94 SSTATE_MIRRORS = "file://.* http://someserver.tld/share/sstate/PATH"
90 95
91.. _migration-1.3-bblayers-conf: 96.. _migration-1.3-bblayers-conf:
92 97
@@ -107,18 +112,6 @@ Recipes
107 112
108Differences include changes for the following: 113Differences include changes for the following:
109 114
110- Python function whitespace
111
112- ``proto=`` in ``SRC_URI``
113
114- ``nativesdk``
115
116- Task recipes
117
118- ``IMAGE_FEATURES``
119
120- Removed recipes
121
122.. _migration-1.3-python-function-whitespace: 115.. _migration-1.3-python-function-whitespace:
123 116
124Python Function Whitespace 117Python Function Whitespace
@@ -205,26 +198,26 @@ unlikely that you would have any references to them in your own
205:term:`Metadata`. However, you should check your metadata 198:term:`Metadata`. However, you should check your metadata
206against this list to be sure: 199against this list to be sure:
207 200
208- *``libx11-trim``*: Replaced by ``libx11``, which has a negligible 201- ``libx11-trim``: Replaced by ``libx11``, which has a negligible
209 size difference with modern Xorg. 202 size difference with modern Xorg.
210 203
211- *``xserver-xorg-lite``*: Use ``xserver-xorg``, which has a negligible 204- ``xserver-xorg-lite``: Use ``xserver-xorg``, which has a negligible
212 size difference when DRI and GLX modules are not installed. 205 size difference when DRI and GLX modules are not installed.
213 206
214- *``xserver-kdrive``*: Effectively unmaintained for many years. 207- ``xserver-kdrive``: Effectively unmaintained for many years.
215 208
216- *``mesa-xlib``*: No longer serves any purpose. 209- ``mesa-xlib``: No longer serves any purpose.
217 210
218- *``galago``*: Replaced by telepathy. 211- ``galago``: Replaced by telepathy.
219 212
220- *``gail``*: Functionality was integrated into GTK+ 2.13. 213- ``gail``: Functionality was integrated into GTK+ 2.13.
221 214
222- *``eggdbus``*: No longer needed. 215- ``eggdbus``: No longer needed.
223 216
224- *``gcc-*-intermediate``*: The build has been restructured to avoid 217- ``gcc-*-intermediate``: The build has been restructured to avoid
225 the need for this step. 218 the need for this step.
226 219
227- *``libgsmd``*: Unmaintained for many years. Functionality now 220- ``libgsmd``: Unmaintained for many years. Functionality now
228 provided by ``ofono`` instead. 221 provided by ``ofono`` instead.
229 222
230- *contacts, dates, tasks, eds-tools*: Largely unmaintained PIM 223- *contacts, dates, tasks, eds-tools*: Largely unmaintained PIM
@@ -238,8 +231,9 @@ recipes were not parsed in the default configuration. Many of these
238recipes are already provided in an updated and maintained form within 231recipes are already provided in an updated and maintained form within
239the OpenEmbedded community layers such as ``meta-oe`` and 232the OpenEmbedded community layers such as ``meta-oe`` and
240``meta-gnome``. For the remainder, you can now find them in the 233``meta-gnome``. For the remainder, you can now find them in the
241``meta-extras`` repository, which is in the Yocto Project `Source 234``meta-extras`` repository, which is in the
242Repositories <&YOCTO_DOCS_OM_URL;#source-repositories>`__. 235:yocto_git:`Source Repositories <>` at
236http://git.yoctoproject.org/cgit/cgit.cgi/meta-extras/.
243 237
244.. _1.3-linux-kernel-naming: 238.. _1.3-linux-kernel-naming:
245 239
@@ -248,13 +242,15 @@ Linux Kernel Naming
248 242
249The naming scheme for kernel output binaries has been changed to now 243The naming scheme for kernel output binaries has been changed to now
250include :term:`PE` as part of the filename: 244include :term:`PE` as part of the filename:
251KERNEL_IMAGE_BASE_NAME ?= 245::
252"${KERNEL_IMAGETYPE}-${PE}-${PV}-${PR}-${MACHINE}-${DATETIME}" 246
247 KERNEL_IMAGE_BASE_NAME ?= "${KERNEL_IMAGETYPE}-${PE}-${PV}-${PR}-${MACHINE}-${DATETIME}"
253 248
254Because the ``PE`` variable is not set by default, these binary files 249Because the ``PE`` variable is not set by default, these binary files
255could result with names that include two dash characters. Here is an 250could result with names that include two dash characters. Here is an
256example: 251example: ::
257bzImage--3.10.9+git0+cd502a8814_7144bcc4b8-r0-qemux86-64-20130830085431.bin 252
253 bzImage--3.10.9+git0+cd502a8814_7144bcc4b8-r0-qemux86-64-20130830085431.bin
258 254
259Moving to the Yocto Project 1.4 Release 255Moving to the Yocto Project 1.4 Release
260======================================= 256=======================================
@@ -298,8 +294,12 @@ Differences include the following:
298 294
299- *Shared State Code:* The shared state code has been optimized to 295- *Shared State Code:* The shared state code has been optimized to
300 avoid running unnecessary tasks. For example, the following no longer 296 avoid running unnecessary tasks. For example, the following no longer
301 populates the target sysroot since that is not necessary: $ bitbake 297 populates the target sysroot since that is not necessary:
302 -c rootfs some-image Instead, the system just needs to extract the 298 ::
299
300 $ bitbake -c rootfs some-image
301
302 Instead, the system just needs to extract the
303 output package contents, re-create the packages, and construct the 303 output package contents, re-create the packages, and construct the
304 root filesystem. This change is unlikely to cause any problems unless 304 root filesystem. This change is unlikely to cause any problems unless
305 you have missing declared dependencies. 305 you have missing declared dependencies.
@@ -337,9 +337,9 @@ creating an append file for the ``netbase`` recipe, you now need to
337create an append file for the ``init-ifupdown`` recipe instead, which 337create an append file for the ``init-ifupdown`` recipe instead, which
338you can find in the :term:`Source Directory` at 338you can find in the :term:`Source Directory` at
339``meta/recipes-core/init-ifupdown``. For information on how to use 339``meta/recipes-core/init-ifupdown``. For information on how to use
340append files, see the "`Using .bbappend 340append files, see the
341Files <&YOCTO_DOCS_DEV_URL;#using-bbappend-files>`__" section in the 341":ref:`dev-manual/dev-manual-common-tasks:using .bbappend files in your layer`"
342Yocto Project Development Tasks Manual. 342section in the Yocto Project Development Tasks Manual.
343 343
344.. _migration-1.4-remote-debugging: 344.. _migration-1.4-remote-debugging:
345 345
@@ -360,7 +360,7 @@ Variables
360 360
361The following variables have changed: 361The following variables have changed:
362 362
363- *``SANITY_TESTED_DISTROS``:* This variable now uses a distribution 363- ``SANITY_TESTED_DISTROS``: This variable now uses a distribution
364 ID, which is composed of the host distributor ID followed by the 364 ID, which is composed of the host distributor ID followed by the
365 release. Previously, 365 release. Previously,
366 :term:`SANITY_TESTED_DISTROS` was 366 :term:`SANITY_TESTED_DISTROS` was
@@ -369,7 +369,7 @@ The following variables have changed:
369 you are not specifically setting this variable, or if you are 369 you are not specifically setting this variable, or if you are
370 specifically setting it to "". 370 specifically setting it to "".
371 371
372- *``SRC_URI``:* The ``${``\ :term:`PN`\ ``}``, 372- ``SRC_URI``: The ``${``\ :term:`PN`\ ``}``,
373 ``${``\ :term:`PF`\ ``}``, 373 ``${``\ :term:`PF`\ ``}``,
374 ``${``\ :term:`P`\ ``}``, and ``FILE_DIRNAME`` directories 374 ``${``\ :term:`P`\ ``}``, and ``FILE_DIRNAME`` directories
375 have been dropped from the default value of the 375 have been dropped from the default value of the
@@ -390,7 +390,10 @@ Target Package Management with RPM
390If runtime package management is enabled and the RPM backend is 390If runtime package management is enabled and the RPM backend is
391selected, Smart is now installed for package download, dependency 391selected, Smart is now installed for package download, dependency
392resolution, and upgrades instead of Zypper. For more information on how 392resolution, and upgrades instead of Zypper. For more information on how
393to use Smart, run the following command on the target: smart --help 393to use Smart, run the following command on the target:
394::
395
396 smart --help
394 397
395.. _migration-1.4-recipes-moved: 398.. _migration-1.4-recipes-moved:
396 399
@@ -400,29 +403,29 @@ Recipes Moved
400The following recipes were moved from their previous locations because 403The following recipes were moved from their previous locations because
401they are no longer used by anything in the OpenEmbedded-Core: 404they are no longer used by anything in the OpenEmbedded-Core:
402 405
403- *``clutter-box2d``:* Now resides in the ``meta-oe`` layer. 406- ``clutter-box2d``: Now resides in the ``meta-oe`` layer.
404 407
405- *``evolution-data-server``:* Now resides in the ``meta-gnome`` layer. 408- ``evolution-data-server``: Now resides in the ``meta-gnome`` layer.
406 409
407- *``gthumb``:* Now resides in the ``meta-gnome`` layer. 410- ``gthumb``: Now resides in the ``meta-gnome`` layer.
408 411
409- *``gtkhtml2``:* Now resides in the ``meta-oe`` layer. 412- ``gtkhtml2``: Now resides in the ``meta-oe`` layer.
410 413
411- *``gupnp``:* Now resides in the ``meta-multimedia`` layer. 414- ``gupnp``: Now resides in the ``meta-multimedia`` layer.
412 415
413- *``gypsy``:* Now resides in the ``meta-oe`` layer. 416- ``gypsy``: Now resides in the ``meta-oe`` layer.
414 417
415- *``libcanberra``:* Now resides in the ``meta-gnome`` layer. 418- ``libcanberra``: Now resides in the ``meta-gnome`` layer.
416 419
417- *``libgdata``:* Now resides in the ``meta-gnome`` layer. 420- ``libgdata``: Now resides in the ``meta-gnome`` layer.
418 421
419- *``libmusicbrainz``:* Now resides in the ``meta-multimedia`` layer. 422- ``libmusicbrainz``: Now resides in the ``meta-multimedia`` layer.
420 423
421- *``metacity``:* Now resides in the ``meta-gnome`` layer. 424- ``metacity``: Now resides in the ``meta-gnome`` layer.
422 425
423- *``polkit``:* Now resides in the ``meta-oe`` layer. 426- ``polkit``: Now resides in the ``meta-oe`` layer.
424 427
425- *``zeroconf``:* Now resides in the ``meta-networking`` layer. 428- ``zeroconf``: Now resides in the ``meta-networking`` layer.
426 429
427.. _migration-1.4-removals-and-renames: 430.. _migration-1.4-removals-and-renames:
428 431
@@ -431,58 +434,58 @@ Removals and Renames
431 434
432The following list shows what has been removed or renamed: 435The following list shows what has been removed or renamed:
433 436
434- *``evieext``:* Removed because it has been removed from ``xserver`` 437- ``evieext``: Removed because it has been removed from ``xserver``
435 since 2008. 438 since 2008.
436 439
437- *Gtk+ DirectFB:* Removed support because upstream Gtk+ no longer 440- *Gtk+ DirectFB:* Removed support because upstream Gtk+ no longer
438 supports it as of version 2.18. 441 supports it as of version 2.18.
439 442
440- *``libxfontcache / xfontcacheproto``:* Removed because they were 443- ``libxfontcache / xfontcacheproto``: Removed because they were
441 removed from the Xorg server in 2008. 444 removed from the Xorg server in 2008.
442 445
443- *``libxp / libxprintapputil / libxprintutil / printproto``:* Removed 446- ``libxp / libxprintapputil / libxprintutil / printproto``: Removed
444 because the XPrint server was removed from Xorg in 2008. 447 because the XPrint server was removed from Xorg in 2008.
445 448
446- *``libxtrap / xtrapproto``:* Removed because their functionality was 449- ``libxtrap / xtrapproto``: Removed because their functionality was
447 broken upstream. 450 broken upstream.
448 451
449- *linux-yocto 3.0 kernel:* Removed with linux-yocto 3.8 kernel being 452- *linux-yocto 3.0 kernel:* Removed with linux-yocto 3.8 kernel being
450 added. The linux-yocto 3.2 and linux-yocto 3.4 kernels remain as part 453 added. The linux-yocto 3.2 and linux-yocto 3.4 kernels remain as part
451 of the release. 454 of the release.
452 455
453- *``lsbsetup``:* Removed with functionality now provided by 456- ``lsbsetup``: Removed with functionality now provided by
454 ``lsbtest``. 457 ``lsbtest``.
455 458
456- *``matchbox-stroke``:* Removed because it was never more than a 459- ``matchbox-stroke``: Removed because it was never more than a
457 proof-of-concept. 460 proof-of-concept.
458 461
459- *``matchbox-wm-2 / matchbox-theme-sato-2``:* Removed because they are 462- ``matchbox-wm-2 / matchbox-theme-sato-2``: Removed because they are
460 not maintained. However, ``matchbox-wm`` and ``matchbox-theme-sato`` 463 not maintained. However, ``matchbox-wm`` and ``matchbox-theme-sato``
461 are still provided. 464 are still provided.
462 465
463- *``mesa-dri``:* Renamed to ``mesa``. 466- ``mesa-dri``: Renamed to ``mesa``.
464 467
465- *``mesa-xlib``:* Removed because it was no longer useful. 468- ``mesa-xlib``: Removed because it was no longer useful.
466 469
467- *``mutter``:* Removed because nothing ever uses it and the recipe is 470- ``mutter``: Removed because nothing ever uses it and the recipe is
468 very old. 471 very old.
469 472
470- *``orinoco-conf``:* Removed because it has become obsolete. 473- ``orinoco-conf``: Removed because it has become obsolete.
471 474
472- *``update-modules``:* Removed because it is no longer used. The 475- ``update-modules``: Removed because it is no longer used. The
473 kernel module ``postinstall`` and ``postrm`` scripts can now do the 476 kernel module ``postinstall`` and ``postrm`` scripts can now do the
474 same task without the use of this script. 477 same task without the use of this script.
475 478
476- *``web``:* Removed because it is not maintained. Superseded by 479- ``web``: Removed because it is not maintained. Superseded by
477 ``web-webkit``. 480 ``web-webkit``.
478 481
479- *``xf86bigfontproto``:* Removed because upstream it has been disabled 482- ``xf86bigfontproto``: Removed because upstream it has been disabled
480 by default since 2007. Nothing uses ``xf86bigfontproto``. 483 by default since 2007. Nothing uses ``xf86bigfontproto``.
481 484
482- *``xf86rushproto``:* Removed because its dependency in ``xserver`` 485- ``xf86rushproto``: Removed because its dependency in ``xserver``
483 was spurious and it was removed in 2005. 486 was spurious and it was removed in 2005.
484 487
485- *``zypper / libzypp / sat-solver``:* Removed and been functionally 488- ``zypper / libzypp / sat-solver``: Removed and been functionally
486 replaced with Smart (``python-smartpm``) when RPM packaging is used 489 replaced with Smart (``python-smartpm``) when RPM packaging is used
487 and package management is enabled on the target. 490 and package management is enabled on the target.
488 491
@@ -735,8 +738,7 @@ A new automated image testing framework has been added through the
735framework replaces the older ``imagetest-qemu`` framework. 738framework replaces the older ``imagetest-qemu`` framework.
736 739
737You can learn more about performing automated image tests in the 740You can learn more about performing automated image tests in the
738"`Performing Automated Runtime 741":ref:`dev-manual/dev-manual-common-tasks:performing automated runtime testing`"
739Testing <&YOCTO_DOCS_DEV_URL;#performing-automated-runtime-testing>`__"
740section in the Yocto Project Development Tasks Manual. 742section in the Yocto Project Development Tasks Manual.
741 743
742.. _migration-1.5-build-history: 744.. _migration-1.5-build-history:
@@ -758,9 +760,8 @@ Following are changes to Build History:
758 utilities have improved command-line handling. Use the ``--help`` 760 utilities have improved command-line handling. Use the ``--help``
759 option for each utility for more information on the new syntax. 761 option for each utility for more information on the new syntax.
760 762
761For more information on Build History, see the "`Maintaining Build 763For more information on Build History, see the
762Output 764":ref:`dev-manual/dev-manual-common-tasks:maintaining build output quality`"
763Quality <&YOCTO_DOCS_DEV_URL;#maintaining-build-output-quality>`__"
764section in the Yocto Project Development Tasks Manual. 765section in the Yocto Project Development Tasks Manual.
765 766
766.. _migration-1.5-udev: 767.. _migration-1.5-udev:
@@ -836,7 +837,7 @@ Following is a list of short entries describing other changes:
836 837
837- ``image.bbclass``: Move ``runtime_mapping_rename`` to avoid conflict 838- ``image.bbclass``: Move ``runtime_mapping_rename`` to avoid conflict
838 with ``multilib``. See 839 with ``multilib``. See
839 ```YOCTO #4993`https://bugzilla.yoctoproject.org/show_bug.cgi?id=4993 840 `YOCTO #4993 <https://bugzilla.yoctoproject.org/show_bug.cgi?id=4993>`_
840 in Bugzilla for more information. 841 in Bugzilla for more information.
841 842
842- ``linux-dtb``: Use kernel build system to generate the ``dtb`` files. 843- ``linux-dtb``: Use kernel build system to generate the ``dtb`` files.
@@ -856,9 +857,8 @@ Project 1.6 Release from the prior release.
856 857
857The :ref:`archiver <ref-classes-archiver>` class has been rewritten 858The :ref:`archiver <ref-classes-archiver>` class has been rewritten
858and its configuration has been simplified. For more details on the 859and its configuration has been simplified. For more details on the
859source archiver, see the "`Maintaining Open Source License Compliance 860source archiver, see the
860During Your Product's 861":ref:`dev-manual/dev-manual-common-tasks:maintaining open source license compliance during your product's lifecycle`"
861Lifecycle <&YOCTO_DOCS_DEV_URL;#maintaining-open-source-license-compliance-during-your-products-lifecycle>`__"
862section in the Yocto Project Development Tasks Manual. 862section in the Yocto Project Development Tasks Manual.
863 863
864.. _migration-1.6-packaging-changes: 864.. _migration-1.6-packaging-changes:
@@ -992,9 +992,8 @@ NFS mount, an error occurs.
992The ``PRINC`` variable has been deprecated and triggers a warning if 992The ``PRINC`` variable has been deprecated and triggers a warning if
993detected during a build. For :term:`PR` increments on changes, 993detected during a build. For :term:`PR` increments on changes,
994use the PR service instead. You can find out more about this service in 994use the PR service instead. You can find out more about this service in
995the "`Working With a PR 995the ":ref:`dev-manual/dev-manual-common-tasks:working with a pr service`"
996Service <&YOCTO_DOCS_DEV_URL;#working-with-a-pr-service>`__" section in 996section in the Yocto Project Development Tasks Manual.
997the Yocto Project Development Tasks Manual.
998 997
999.. _migration-1.6-variable-changes-IMAGE_TYPES: 998.. _migration-1.6-variable-changes-IMAGE_TYPES:
1000 999
@@ -1039,19 +1038,25 @@ Preprocess and Post Process Command Variable Behavior
1039 1038
1040The following variables now expect a semicolon separated list of 1039The following variables now expect a semicolon separated list of
1041functions to call and not arbitrary shell commands: 1040functions to call and not arbitrary shell commands:
1042:term:`ROOTFS_PREPROCESS_COMMAND` 1041
1043:term:`ROOTFS_POSTPROCESS_COMMAND` 1042 - :term:`ROOTFS_PREPROCESS_COMMAND`
1044:term:`SDK_POSTPROCESS_COMMAND` 1043 - :term:`ROOTFS_POSTPROCESS_COMMAND`
1045:term:`POPULATE_SDK_POST_TARGET_COMMAND` 1044 - :term:`SDK_POSTPROCESS_COMMAND`
1046:term:`POPULATE_SDK_POST_HOST_COMMAND` 1045 - :term:`POPULATE_SDK_POST_TARGET_COMMAND`
1047:term:`IMAGE_POSTPROCESS_COMMAND` 1046 - :term:`POPULATE_SDK_POST_HOST_COMMAND`
1048:term:`IMAGE_PREPROCESS_COMMAND` 1047 - :term:`IMAGE_POSTPROCESS_COMMAND`
1049:term:`ROOTFS_POSTUNINSTALL_COMMAND` 1048 - :term:`IMAGE_PREPROCESS_COMMAND`
1050:term:`ROOTFS_POSTINSTALL_COMMAND` For 1049 - :term:`ROOTFS_POSTUNINSTALL_COMMAND`
1050 - :term:`ROOTFS_POSTINSTALL_COMMAND`
1051
1052For
1051migration purposes, you can simply wrap shell commands in a shell 1053migration purposes, you can simply wrap shell commands in a shell
1052function and then call the function. Here is an example: 1054function and then call the function. Here is an example: ::
1053my_postprocess_function() { echo "hello" > ${IMAGE_ROOTFS}/hello.txt } 1055
1054ROOTFS_POSTPROCESS_COMMAND += "my_postprocess_function; " 1056 my_postprocess_function() {
1057 echo "hello" > ${IMAGE_ROOTFS}/hello.txt
1058 }
1059 ROOTFS_POSTPROCESS_COMMAND += "my_postprocess_function; "
1055 1060
1056.. _migration-1.6-package-test-ptest: 1061.. _migration-1.6-package-test-ptest:
1057 1062
@@ -1059,9 +1064,9 @@ Package Test (ptest)
1059-------------------- 1064--------------------
1060 1065
1061Package Tests (ptest) are built but not installed by default. For 1066Package Tests (ptest) are built but not installed by default. For
1062information on using Package Tests, see the "`Testing Packages with 1067information on using Package Tests, see the
1063ptest <&YOCTO_DOCS_DEV_URL;#testing-packages-with-ptest>`__" section in 1068":ref:`dev-manual/dev-manual-common-tasks:testing packages with ptest`"
1064the Yocto Project Development Tasks Manual. For information on the 1069section in the Yocto Project Development Tasks Manual. For information on the
1065``ptest`` class, see the ":ref:`ptest.bbclass <ref-classes-ptest>`" 1070``ptest`` class, see the ":ref:`ptest.bbclass <ref-classes-ptest>`"
1066section. 1071section.
1067 1072
@@ -1087,8 +1092,11 @@ the ``autotools`` or ``autotools_stage``\ classes.
1087 1092
1088``qemu-native`` now builds without SDL-based graphical output support by 1093``qemu-native`` now builds without SDL-based graphical output support by
1089default. The following additional lines are needed in your 1094default. The following additional lines are needed in your
1090``local.conf`` to enable it: PACKAGECONFIG_pn-qemu-native = "sdl" 1095``local.conf`` to enable it:
1091ASSUME_PROVIDED += "libsdl-native" 1096::
1097
1098 PACKAGECONFIG_pn-qemu-native = "sdl"
1099 ASSUME_PROVIDED += "libsdl-native"
1092 1100
1093.. note:: 1101.. note::
1094 1102
@@ -1270,15 +1278,18 @@ means that existing ``local.conf`` files will need to be be modified to
1270append to ``PACKAGECONFIG`` for ``qemu-native`` and ``nativesdk-qemu`` 1278append to ``PACKAGECONFIG`` for ``qemu-native`` and ``nativesdk-qemu``
1271instead of setting it. In other words, to enable graphical output for 1279instead of setting it. In other words, to enable graphical output for
1272QEMU, you should now have these lines in ``local.conf``: 1280QEMU, you should now have these lines in ``local.conf``:
1273PACKAGECONFIG_append_pn-qemu-native = " sdl" 1281::
1274PACKAGECONFIG_append_pn-nativesdk-qemu = " sdl" 1282
1283 PACKAGECONFIG_append_pn-qemu-native = " sdl"
1284 PACKAGECONFIG_append_pn-nativesdk-qemu = " sdl"
1275 1285
1276.. _migration-1.7-minimum-git-version: 1286.. _migration-1.7-minimum-git-version:
1277 1287
1278Minimum Git version 1288Minimum Git version
1279------------------- 1289-------------------
1280 1290
1281The minimum `Git <&YOCTO_DOCS_OM_URL;#git>`__ version required on the 1291The minimum :ref:`overview-manual/overview-manual-development-environment:git`
1292version required on the
1282build host is now 1.7.8 because the ``--list`` option is now required by 1293build host is now 1.7.8 because the ``--list`` option is now required by
1283BitBake's Git fetcher. As always, if your host distribution does not 1294BitBake's Git fetcher. As always, if your host distribution does not
1284provide a version of Git that meets this requirement, you can use the 1295provide a version of Git that meets this requirement, you can use the
@@ -1308,8 +1319,8 @@ occurred:
1308 the :ref:`autotools-brokensep <ref-classes-autotools>` class 1319 the :ref:`autotools-brokensep <ref-classes-autotools>` class
1309 instead of the ``autotools`` or ``autotools_stage`` classes. 1320 instead of the ``autotools`` or ``autotools_stage`` classes.
1310 1321
1311- *The ``--foreign`` option is no longer passed to ``automake`` when 1322- The ``--foreign`` option is no longer passed to ``automake`` when
1312 running ``autoconf``:* This option tells ``automake`` that a 1323 running ``autoconf``: This option tells ``automake`` that a
1313 particular software package does not follow the GNU standards and 1324 particular software package does not follow the GNU standards and
1314 therefore should not be expected to distribute certain files such as 1325 therefore should not be expected to distribute certain files such as
1315 ``ChangeLog``, ``AUTHORS``, and so forth. Because the majority of 1326 ``ChangeLog``, ``AUTHORS``, and so forth. Because the majority of
@@ -1331,15 +1342,31 @@ disable the scripts due to the scripts previously requiring error-prone
1331path substitution. Software that links against these libraries using 1342path substitution. Software that links against these libraries using
1332these scripts should use the much more robust ``pkg-config`` instead. 1343these scripts should use the much more robust ``pkg-config`` instead.
1333The list of recipes changed in this version (and their configuration 1344The list of recipes changed in this version (and their configuration
1334scripts) is as follows: directfb (directfb-config) freetype 1345scripts) is as follows:
1335(freetype-config) gpgme (gpgme-config) libassuan (libassuan-config) 1346::
1336libcroco (croco-6.0-config) libgcrypt (libgcrypt-config) libgpg-error 1347
1337(gpg-error-config) libksba (ksba-config) libpcap (pcap-config) libpcre 1348 directfb (directfb-config)
1338(pcre-config) libpng (libpng-config, libpng16-config) libsdl 1349 freetype (freetype-config)
1339(sdl-config) libusb-compat (libusb-config) libxml2 (xml2-config) libxslt 1350 gpgme (gpgme-config)
1340(xslt-config) ncurses (ncurses-config) neon (neon-config) npth 1351 libassuan (libassuan-config)
1341(npth-config) pth (pth-config) taglib (taglib-config) Additionally, 1352 libcroco (croco-6.0-config)
1342support for ``pkg-config`` has been added to some recipes in the 1353 libgcrypt (libgcrypt-config)
1354 libgpg-error (gpg-error-config)
1355 libksba (ksba-config)
1356 libpcap (pcap-config)
1357 libpcre (pcre-config)
1358 libpng (libpng-config, libpng16-config)
1359 libsdl (sdl-config)
1360 libusb-compat (libusb-config)
1361 libxml2 (xml2-config)
1362 libxslt (xslt-config)
1363 ncurses (ncurses-config)
1364 neon (neon-config)
1365 npth (npth-config)
1366 pth (pth-config)
1367 taglib (taglib-config)
1368
1369Additionally, support for ``pkg-config`` has been added to some recipes in the
1343previous list in the rare cases where the upstream software package does 1370previous list in the rare cases where the upstream software package does
1344not already provide it. 1371not already provide it.
1345 1372
@@ -1453,8 +1480,8 @@ The following miscellaneous change occurred:
1453 build header as printed by BitBake upon starting the build. You 1480 build header as printed by BitBake upon starting the build. You
1454 should manually remove old "build-id" files from your existing build 1481 should manually remove old "build-id" files from your existing build
1455 history repositories to avoid confusion. For information on the build 1482 history repositories to avoid confusion. For information on the build
1456 history feature, see the "`Maintaining Build Output 1483 history feature, see the
1457 Quality <&YOCTO_DOCS_DEV_URL;#maintaining-build-output-quality>`__" 1484 ":ref:`dev-manual/dev-manual-common-tasks:maintaining build output quality`"
1458 section in the Yocto Project Development Tasks Manual. 1485 section in the Yocto Project Development Tasks Manual.
1459 1486
1460Moving to the Yocto Project 1.8 Release 1487Moving to the Yocto Project 1.8 Release
@@ -1515,11 +1542,12 @@ you can now remove them.
1515Additionally, a ``bluetooth`` class has been added to make selection of 1542Additionally, a ``bluetooth`` class has been added to make selection of
1516the appropriate bluetooth support within a recipe a little easier. If 1543the appropriate bluetooth support within a recipe a little easier. If
1517you wish to make use of this class in a recipe, add something such as 1544you wish to make use of this class in a recipe, add something such as
1518the following: inherit bluetooth PACKAGECONFIG ??= 1545the following: ::
1519"${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', '${BLUEZ}', '', 1546
1520d)}" PACKAGECONFIG[bluez4] = 1547 inherit bluetooth
1521"--enable-bluetooth,--disable-bluetooth,bluez4" PACKAGECONFIG[bluez5] = 1548 PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', '${BLUEZ}', '', d)}"
1522"--enable-bluez5,--disable-bluez5,bluez5" 1549 PACKAGECONFIG[bluez4] = "--enable-bluetooth,--disable-bluetooth,bluez4"
1550 PACKAGECONFIG[bluez5] = "--enable-bluez5,--disable-bluez5,bluez5"
1523 1551
1524.. _migration-1.8-kernel-build-changes: 1552.. _migration-1.8-kernel-build-changes:
1525 1553
@@ -1542,8 +1570,9 @@ where the ``linux.inc`` file in ``meta-oe`` was updated.
1542 1570
1543Recipes that rely on the kernel source code and do not inherit the 1571Recipes that rely on the kernel source code and do not inherit the
1544module classes might need to add explicit dependencies on the 1572module classes might need to add explicit dependencies on the
1545``do_shared_workdir`` kernel task, for example: do_configure[depends] += 1573``do_shared_workdir`` kernel task, for example: ::
1546"virtual/kernel:do_shared_workdir" 1574
1575 do_configure[depends] += "virtual/kernel:do_shared_workdir"
1547 1576
1548.. _migration-1.8-ssl: 1577.. _migration-1.8-ssl:
1549 1578
@@ -1588,8 +1617,9 @@ One of the improvements is to attempt to run "make clean" during the
1588``do_configure`` task if a ``Makefile`` exists. Some software packages 1617``do_configure`` task if a ``Makefile`` exists. Some software packages
1589do not provide a working clean target within their make files. If you 1618do not provide a working clean target within their make files. If you
1590have such recipes, you need to set 1619have such recipes, you need to set
1591:term:`CLEANBROKEN` to "1" within the recipe, for 1620:term:`CLEANBROKEN` to "1" within the recipe, for example: ::
1592example: CLEANBROKEN = "1" 1621
1622 CLEANBROKEN = "1"
1593 1623
1594.. _migration-1.8-qa-check-and-validation-changes: 1624.. _migration-1.8-qa-check-and-validation-changes:
1595 1625
@@ -1663,7 +1693,10 @@ and the porting guide at
1663https://gcc.gnu.org/gcc-5/porting_to.html. 1693https://gcc.gnu.org/gcc-5/porting_to.html.
1664 1694
1665Alternatively, you can switch back to GCC 4.9 or 4.8 by setting 1695Alternatively, you can switch back to GCC 4.9 or 4.8 by setting
1666``GCCVERSION`` in your configuration, as follows: GCCVERSION = "4.9%" 1696``GCCVERSION`` in your configuration, as follows:
1697::
1698
1699 GCCVERSION = "4.9%"
1667 1700
1668.. _migration-2.0-Gstreamer-0.10-removed: 1701.. _migration-2.0-Gstreamer-0.10-removed:
1669 1702
@@ -1726,7 +1759,10 @@ unlikely to require any changes to Metadata. However, these minor
1726changes in behavior exist: 1759changes in behavior exist:
1727 1760
1728- All potential overrides are now visible in the variable history as 1761- All potential overrides are now visible in the variable history as
1729 seen when you run the following: $ bitbake -e 1762 seen when you run the following:
1763 ::
1764
1765 $ bitbake -e
1730 1766
1731- ``d.delVar('``\ VARNAME\ ``')`` and 1767- ``d.delVar('``\ VARNAME\ ``')`` and
1732 ``d.setVar('``\ VARNAME\ ``', None)`` result in the variable and all 1768 ``d.setVar('``\ VARNAME\ ``', None)`` result in the variable and all
@@ -1833,7 +1869,9 @@ changes.
1833Additionally, work directories for old versions of recipes are now 1869Additionally, work directories for old versions of recipes are now
1834pruned. If you wish to disable pruning old work directories, you can set 1870pruned. If you wish to disable pruning old work directories, you can set
1835the following variable in your configuration: 1871the following variable in your configuration:
1836SSTATE_PRUNE_OBSOLETEWORKDIR = "0" 1872::
1873
1874 SSTATE_PRUNE_OBSOLETEWORKDIR = "0"
1837 1875
1838.. _migration-2.0-linux-yocto-kernel-metadata-repository-now-split-from-source: 1876.. _migration-2.0-linux-yocto-kernel-metadata-repository-now-split-from-source:
1839 1877
@@ -1952,9 +1990,11 @@ defaulted to False if not specified. Now, however, no default exists so
1952one must be specified. You must change any ``getVar()`` calls that do 1990one must be specified. You must change any ``getVar()`` calls that do
1953not specify the final expand parameter to calls that do specify the 1991not specify the final expand parameter to calls that do specify the
1954parameter. You can run the following ``sed`` command at the base of a 1992parameter. You can run the following ``sed`` command at the base of a
1955layer to make this change: sed -e 's:\(\.getVar([^,()]*\)):\1, False):g' 1993layer to make this change:
1956-i \`grep -ril getVar \*\` sed -e 's:\(\.getVarFlag([^,()]*, 1994::
1957[^,()]*\)):\1, False):g' -i \`grep -ril getVarFlag \*\` 1995
1996 sed -e 's:\(\.getVar([^,()]*\)):\1, False):g' -i `grep -ril getVar *`
1997 sed -e 's:\(\.getVarFlag([^,()]*,[^,()]*\)):\1, False):g' -i `grep -ril getVarFlag *`
1958 1998
1959.. note:: 1999.. note::
1960 2000
@@ -2124,8 +2164,8 @@ The following changes have been made to the build system user interface:
2124 2164
2125- *Hob GTK+-based UI*: Removed because it is unmaintained and based on 2165- *Hob GTK+-based UI*: Removed because it is unmaintained and based on
2126 the outdated GTK+ 2 library. The Toaster web-based UI is much more 2166 the outdated GTK+ 2 library. The Toaster web-based UI is much more
2127 capable and is actively maintained. See the "`Using the Toaster Web 2167 capable and is actively maintained. See the
2128 Interface <&YOCTO_DOCS_TOAST_URL;#using-the-toaster-web-interface>`__" 2168 ":ref:`toaster-manual/toaster-manual-setup-and-use:using the toaster web interface`"
2129 section in the Toaster User Manual for more information on this 2169 section in the Toaster User Manual for more information on this
2130 interface. 2170 interface.
2131 2171
@@ -2138,12 +2178,11 @@ ADT Removed
2138----------- 2178-----------
2139 2179
2140The Application Development Toolkit (ADT) has been removed because its 2180The Application Development Toolkit (ADT) has been removed because its
2141functionality almost completely overlapped with the `standard 2181functionality almost completely overlapped with the :ref:`standard
2142SDK <&YOCTO_DOCS_SDK_URL;#sdk-using-the-standard-sdk>`__ and the 2182SDK <sdk-manual/sdk-using:using the standard sdk>` and the
2143`extensible SDK <&YOCTO_DOCS_SDK_URL;#sdk-extensible>`__. For 2183:ref:`extensible SDK <sdk-manual/sdk-extensible:using the extensible sdk>`. For
2144information on these SDKs and how to build and use them, see the `Yocto 2184information on these SDKs and how to build and use them, see the
2145Project Application Development and the Extensible Software Development 2185:doc:`../sdk-manual/sdk-manual` manual.
2146Kit (eSDK) <&YOCTO_DOCS_SDK_URL;>`__ manual.
2147 2186
2148.. note:: 2187.. note::
2149 2188
@@ -2253,8 +2292,7 @@ This release supports generation of GLib Introspective Repository (GIR)
2253files through GObject introspection, which is the standard mechanism for 2292files through GObject introspection, which is the standard mechanism for
2254accessing GObject-based software from runtime environments. You can 2293accessing GObject-based software from runtime environments. You can
2255enable, disable, and test the generation of this data. See the 2294enable, disable, and test the generation of this data. See the
2256"`Enabling GObject Introspection 2295":ref:`dev-manual/dev-manual-common-tasks:enabling gobject introspection support`"
2257Support <&YOCTO_DOCS_DEV_URL;#enabling-gobject-introspection-support>`__"
2258section in the Yocto Project Development Tasks Manual for more 2296section in the Yocto Project Development Tasks Manual for more
2259information. 2297information.
2260 2298
@@ -2279,7 +2317,14 @@ These additional changes exist:
2279- Previously, the following list of packages were removed if 2317- Previously, the following list of packages were removed if
2280 package-management was not in 2318 package-management was not in
2281 :term:`IMAGE_FEATURES`, regardless of any 2319 :term:`IMAGE_FEATURES`, regardless of any
2282 dependencies: update-rc.d base-passwd shadow update-alternatives 2320 dependencies:
2321 ::
2322
2323 update-rc.d
2324 base-passwd
2325 shadow
2326 update-alternatives
2327
2283 run-postinsts With the Yocto Project 2.1 release, these packages are 2328 run-postinsts With the Yocto Project 2.1 release, these packages are
2284 only removed if "read-only-rootfs" is in ``IMAGE_FEATURES``, since 2329 only removed if "read-only-rootfs" is in ``IMAGE_FEATURES``, since
2285 they might still be needed for a read-write image even in the absence 2330 they might still be needed for a read-write image even in the absence
@@ -2287,7 +2332,7 @@ These additional changes exist:
2287 removed at runtime). 2332 removed at runtime).
2288 2333
2289- The 2334- The
2290 ```devtool modify`` <&YOCTO_DOCS_SDK_URL;#sdk-devtool-use-devtool-modify-to-modify-the-source-of-an-existing-component>`__ 2335 :ref:`devtool modify <sdk-manual/sdk-extensible:use \`\`devtool modify\`\` to modify the source of an existing component>`
2291 command now defaults to extracting the source since that is most 2336 command now defaults to extracting the source since that is most
2292 commonly expected. The "-x" or "--extract" options are now no-ops. If 2337 commonly expected. The "-x" or "--extract" options are now no-ops. If
2293 you wish to provide your own existing source tree, you will now need 2338 you wish to provide your own existing source tree, you will now need
@@ -2409,10 +2454,15 @@ The metadata is now required to use Python 3 syntax. For help preparing
2409metadata, see any of the many Python 3 porting guides available. 2454metadata, see any of the many Python 3 porting guides available.
2410Alternatively, you can reference the conversion commits for Bitbake and 2455Alternatively, you can reference the conversion commits for Bitbake and
2411you can use :term:`OpenEmbedded-Core (OE-Core)` as a guide for changes. Following are 2456you can use :term:`OpenEmbedded-Core (OE-Core)` as a guide for changes. Following are
2412particular areas of interest: \* subprocess command-line pipes needing 2457particular areas of interest:
2413locale decoding \* the syntax for octal values changed \* the 2458
2414``iter*()`` functions changed name \* iterators now return views, not 2459 - subprocess command-line pipes needing locale decoding
2415lists \* changed names for Python modules 2460
2461 - the syntax for octal values changed
2462
2463 - the ``iter*()`` functions changed name \* iterators now return views, not lists
2464
2465 - changed names for Python modules
2416 2466
2417.. _migration-2.2-target-python-recipes-switched-to-python-3: 2467.. _migration-2.2-target-python-recipes-switched-to-python-3:
2418 2468
@@ -2474,7 +2524,12 @@ The new ``runqemu`` is a Python script. Machine knowledge is no longer
2474hardcoded into ``runqemu``. You can choose to use the ``qemuboot`` 2524hardcoded into ``runqemu``. You can choose to use the ``qemuboot``
2475configuration file to define the BSP's own arguments and to make it 2525configuration file to define the BSP's own arguments and to make it
2476bootable with ``runqemu``. If you use a configuration file, use the 2526bootable with ``runqemu``. If you use a configuration file, use the
2477following form: image-name-machine.qemuboot.conf The configuration file 2527following form:
2528::
2529
2530 image-name-machine.qemuboot.conf
2531
2532The configuration file
2478enables fine-grained tuning of options passed to QEMU without the 2533enables fine-grained tuning of options passed to QEMU without the
2479``runqemu`` script hard-coding any knowledge about different machines. 2534``runqemu`` script hard-coding any knowledge about different machines.
2480Using a configuration file is particularly convenient when trying to use 2535Using a configuration file is particularly convenient when trying to use
@@ -2485,14 +2540,28 @@ rootfs). QEMU boot arguments can be set in BSP's configuration file and
2485the ``qemuboot`` class will save them to ``qemuboot.conf``. 2540the ``qemuboot`` class will save them to ``qemuboot.conf``.
2486 2541
2487If you want to use ``runqemu`` without a configuration file, use the 2542If you want to use ``runqemu`` without a configuration file, use the
2488following command form: $ runqemu machine rootfs kernel [options] 2543following command form:
2489Supported machines are as follows: qemuarm qemuarm64 qemux86 qemux86-64 2544::
2490qemuppc qemumips qemumips64 qemumipsel qemumips64el Consider the 2545
2546 $ runqemu machine rootfs kernel [options]
2547
2548Supported machines are as follows:
2549
2550 - qemuarm
2551 - qemuarm64
2552 - qemux86
2553 - qemux86-64
2554 - qemuppc
2555 - qemumips
2556 - qemumips64
2557 - qemumipsel
2558 - qemumips64el
2559
2560Consider the
2491following example, which uses the ``qemux86-64`` machine, provides a 2561following example, which uses the ``qemux86-64`` machine, provides a
2492root filesystem, provides an image, and uses the ``nographic`` option: $ 2562root filesystem, provides an image, and uses the ``nographic`` option: ::
2493runqemu qemux86-64 2563
2494tmp/deploy/images/qemux86-64/core-image-minimal-qemux86-64.ext4 2564 $ runqemu qemux86-64 tmp/deploy/images/qemux86-64/core-image-minimal-qemux86-64.ext4 tmp/deploy/images/qemux86-64/bzImage nographic
2495tmp/deploy/images/qemux86-64/bzImage nographic
2496 2565
2497Following is a list of variables that can be set in configuration files 2566Following is a list of variables that can be set in configuration files
2498such as ``bsp.conf`` to enable the BSP to be booted by ``runqemu``: 2567such as ``bsp.conf`` to enable the BSP to be booted by ``runqemu``:
@@ -2501,31 +2570,35 @@ such as ``bsp.conf`` to enable the BSP to be booted by ``runqemu``:
2501 2570
2502 "QB" means "QEMU Boot". 2571 "QB" means "QEMU Boot".
2503 2572
2504QB_SYSTEM_NAME: QEMU name (e.g. "qemu-system-i386") QB_OPT_APPEND: 2573::
2505Options to append to QEMU (e.g. "-show-cursor") QB_DEFAULT_KERNEL: 2574
2506Default kernel to boot (e.g. "bzImage") QB_DEFAULT_FSTYPE: Default 2575 QB_SYSTEM_NAME: QEMU name (e.g. "qemu-system-i386")
2507FSTYPE to boot (e.g. "ext4") QB_MEM: Memory (e.g. "-m 512") QB_MACHINE: 2576 QB_OPT_APPEND: Options to append to QEMU (e.g. "-show-cursor")
2508QEMU machine (e.g. "-machine virt") QB_CPU: QEMU cpu (e.g. "-cpu 2577 QB_DEFAULT_KERNEL: Default kernel to boot (e.g. "bzImage")
2509qemu32") QB_CPU_KVM: Similar to QB_CPU except used for kvm support (e.g. 2578 QB_DEFAULT_FSTYPE: Default FSTYPE to boot (e.g. "ext4")
2510"-cpu kvm64") QB_KERNEL_CMDLINE_APPEND: Options to append to the 2579 QB_MEM: Memory (e.g. "-m 512")
2511kernel's -append option (e.g. "console=ttyS0 console=tty") QB_DTB: QEMU 2580 QB_MACHINE: QEMU machine (e.g. "-machine virt")
2512dtb name QB_AUDIO_DRV: QEMU audio driver (e.g. "alsa", set it when 2581 QB_CPU: QEMU cpu (e.g. "-cpu qemu32")
2513support audio) QB_AUDIO_OPT: QEMU audio option (e.g. "-soundhw 2582 QB_CPU_KVM: Similar to QB_CPU except used for kvm support (e.g. "-cpu kvm64")
2514ac97,es1370"), which is used when QB_AUDIO_DRV is set. QB_KERNEL_ROOT: 2583 QB_KERNEL_CMDLINE_APPEND: Options to append to the kernel's -append
2515Kernel's root (e.g. /dev/vda) QB_TAP_OPT: Network option for 'tap' mode 2584 option (e.g. "console=ttyS0 console=tty")
2516(e.g. "-netdev tap,id=net0,ifname=@TAP@,script=no,downscript=no -device 2585 QB_DTB: QEMU dtb name
2517virtio-net-device,netdev=net0"). runqemu will replace "@TAP@" with the 2586 QB_AUDIO_DRV: QEMU audio driver (e.g. "alsa", set it when support audio)
2518one that is used, such as tap0, tap1 ... QB_SLIRP_OPT: Network option 2587 QB_AUDIO_OPT: QEMU audio option (e.g. "-soundhw ac97,es1370"), which is used
2519for SLIRP mode (e.g. "-netdev user,id=net0 -device 2588 when QB_AUDIO_DRV is set.
2520virtio-net-device,netdev=net0") QB_ROOTFS_OPT: Used as rootfs (e.g. 2589 QB_KERNEL_ROOT: Kernel's root (e.g. /dev/vda)
2521"-drive id=disk0,file=@ROOTFS@,if=none,format=raw -device 2590 QB_TAP_OPT: Network option for 'tap' mode (e.g.
2522virtio-blk-device,drive=disk0"). runqemu will replace "@ROOTFS@" with 2591 "-netdev tap,id=net0,ifname=@TAP@,script=no,downscript=no -device virtio-net-device,netdev=net0").
2523the one which is used, such as core-image-minimal-qemuarm64.ext4. 2592 runqemu will replace "@TAP@" with the one that is used, such as tap0, tap1 ...
2524QB_SERIAL_OPT: Serial port (e.g. "-serial mon:stdio") QB_TCPSERIAL_OPT: 2593 QB_SLIRP_OPT: Network option for SLIRP mode (e.g. "-netdev user,id=net0 -device virtio-net-device,netdev=net0")
2525tcp serial port option (e.g. " -device virtio-serial-device -chardev 2594 QB_ROOTFS_OPT: Used as rootfs (e.g.
2526socket,id=virtcon,port=@PORT@,host=127.0.0.1 -device 2595 "-drive id=disk0,file=@ROOTFS@,if=none,format=raw -device virtio-blk-device,drive=disk0").
2527virtconsole,chardev=virtcon" runqemu will replace "@PORT@" with the port 2596 runqemu will replace "@ROOTFS@" with the one which is used, such as
2528number which is used. 2597 core-image-minimal-qemuarm64.ext4.
2598 QB_SERIAL_OPT: Serial port (e.g. "-serial mon:stdio")
2599 QB_TCPSERIAL_OPT: tcp serial port option (e.g.
2600 " -device virtio-serial-device -chardev socket,id=virtcon,port=@PORT@,host=127.0.0.1 -device virtconsole,chardev=virtcon"
2601 runqemu will replace "@PORT@" with the port number which is used.
2529 2602
2530To use ``runqemu``, set :term:`IMAGE_CLASSES` as 2603To use ``runqemu``, set :term:`IMAGE_CLASSES` as
2531follows and run ``runqemu``: 2604follows and run ``runqemu``:
@@ -2536,7 +2609,9 @@ follows and run ``runqemu``:
2536 runqemu help 2609 runqemu help
2537 . 2610 .
2538 2611
2539IMAGE_CLASSES += "qemuboot" 2612::
2613
2614 IMAGE_CLASSES += "qemuboot"
2540 2615
2541.. _migration-2.2-default-linker-hash-style-changed: 2616.. _migration-2.2-default-linker-hash-style-changed:
2542 2617
@@ -2551,7 +2626,10 @@ recipes. You need to fix these recipes so that they use the expected
2551``LDFLAGS``. Depending on how the software is built, the build system 2626``LDFLAGS``. Depending on how the software is built, the build system
2552used by the software (e.g. a Makefile) might need to be patched. 2627used by the software (e.g. a Makefile) might need to be patched.
2553However, sometimes making this fix is as simple as adding the following 2628However, sometimes making this fix is as simple as adding the following
2554to the recipe: TARGET_CC_ARCH += "${LDFLAGS}" 2629to the recipe:
2630::
2631
2632 TARGET_CC_ARCH += "${LDFLAGS}"
2555 2633
2556.. _migration-2.2-kernel-image-base-name-no-longer-uses-kernel-imagetype: 2634.. _migration-2.2-kernel-image-base-name-no-longer-uses-kernel-imagetype:
2557 2635
@@ -2562,8 +2640,12 @@ The ``KERNEL_IMAGE_BASE_NAME`` variable no longer uses the
2562:term:`KERNEL_IMAGETYPE` variable to create the 2640:term:`KERNEL_IMAGETYPE` variable to create the
2563image's base name. Because the OpenEmbedded build system can now build 2641image's base name. Because the OpenEmbedded build system can now build
2564multiple kernel image types, this part of the kernel image base name as 2642multiple kernel image types, this part of the kernel image base name as
2565been removed leaving only the following: KERNEL_IMAGE_BASE_NAME ?= 2643been removed leaving only the following:
2566"${PKGE}-${PKGV}-${PKGR}-${MACHINE}-${DATETIME}" If you have recipes or 2644::
2645
2646 KERNEL_IMAGE_BASE_NAME ?= "${PKGE}-${PKGV}-${PKGR}-${MACHINE}-${DATETIME}"
2647
2648If you have recipes or
2567classes that use ``KERNEL_IMAGE_BASE_NAME`` directly, you might need to 2649classes that use ``KERNEL_IMAGE_BASE_NAME`` directly, you might need to
2568update the references to ensure they continue to work. 2650update the references to ensure they continue to work.
2569 2651
@@ -2787,7 +2869,7 @@ Consider the following:
2787 ``systemd-systemctl-native`` is added to ``PACKAGE_WRITE_DEPS``, 2869 ``systemd-systemctl-native`` is added to ``PACKAGE_WRITE_DEPS``,
2788 which is also conditional on "systemd" being in ``DISTRO_FEATURES``. 2870 which is also conditional on "systemd" being in ``DISTRO_FEATURES``.
2789 2871
2790- *Examine Recipes that Use ``SSTATEPOSTINSTFUNCS``:* You need to 2872- Examine Recipes that Use ``SSTATEPOSTINSTFUNCS``: You need to
2791 examine any recipe that uses ``SSTATEPOSTINSTFUNCS`` and determine 2873 examine any recipe that uses ``SSTATEPOSTINSTFUNCS`` and determine
2792 steps to take. 2874 steps to take.
2793 2875
@@ -2800,8 +2882,7 @@ Consider the following:
2800 :term:`SYSROOT_PREPROCESS_FUNCS`. 2882 :term:`SYSROOT_PREPROCESS_FUNCS`.
2801 2883
2802 For an example, see the ``pixbufcache`` class in ``meta/classes/`` in 2884 For an example, see the ``pixbufcache`` class in ``meta/classes/`` in
2803 the Yocto Project `Source 2885 the :ref:`overview-manual/overview-manual-development-environment:yocto project source repositories`.
2804 Repositories <&YOCTO_DOCS_OM_URL;#source-repositories>`__.
2805 2886
2806 .. note:: 2887 .. note::
2807 2888
@@ -2866,26 +2947,35 @@ Changes to Scripts
2866 2947
2867The following changes to scripts took place: 2948The following changes to scripts took place:
2868 2949
2869- *``oe-find-native-sysroot``:* The usage for the 2950- ``oe-find-native-sysroot``: The usage for the
2870 ``oe-find-native-sysroot`` script has changed to the following: $ . 2951 ``oe-find-native-sysroot`` script has changed to the following:
2871 oe-find-native-sysroot recipe You must now supply a recipe for recipe 2952 ::
2872 as part of the command. Prior to the Yocto Project DISTRO release, it 2953
2954 $ . oe-find-native-sysroot recipe
2955
2956 You must now supply a recipe for recipe
2957 as part of the command. Prior to the Yocto Project &DISTRO; release, it
2873 was not necessary to provide the script with the command. 2958 was not necessary to provide the script with the command.
2874 2959
2875- *``oe-run-native``:* The usage for the ``oe-run-native`` script has 2960- ``oe-run-native``: The usage for the ``oe-run-native`` script has
2876 changed to the following: $ oe-run-native native_recipe tool You must 2961 changed to the following:
2962 ::
2963
2964 $ oe-run-native native_recipe tool
2965
2966 You must
2877 supply the name of the native recipe and the tool you want to run as 2967 supply the name of the native recipe and the tool you want to run as
2878 part of the command. Prior to the Yocto Project DISTRO release, it 2968 part of the command. Prior to the Yocto Project DISTRO release, it
2879 was not necessary to provide the native recipe with the command. 2969 was not necessary to provide the native recipe with the command.
2880 2970
2881- *``cleanup-workdir``:* The ``cleanup-workdir`` script has been 2971- ``cleanup-workdir``: The ``cleanup-workdir`` script has been
2882 removed because the script was found to be deleting files it should 2972 removed because the script was found to be deleting files it should
2883 not have, which lead to broken build trees. Rather than trying to 2973 not have, which lead to broken build trees. Rather than trying to
2884 delete portions of :term:`TMPDIR` and getting it wrong, 2974 delete portions of :term:`TMPDIR` and getting it wrong,
2885 it is recommended that you delete ``TMPDIR`` and have it restored 2975 it is recommended that you delete ``TMPDIR`` and have it restored
2886 from shared state (sstate) on subsequent builds. 2976 from shared state (sstate) on subsequent builds.
2887 2977
2888- *``wipe-sysroot``:* The ``wipe-sysroot`` script has been removed as 2978- ``wipe-sysroot``: The ``wipe-sysroot`` script has been removed as
2889 it is no longer needed with recipe-specific sysroots. 2979 it is no longer needed with recipe-specific sysroots.
2890 2980
2891.. _migration-2.3-functions: 2981.. _migration-2.3-functions:
@@ -2946,8 +3036,8 @@ The following changes took place for BitBake:
2946 section in the BitBake 3036 section in the BitBake
2947 User Manual for additional information. 3037 User Manual for additional information.
2948 3038
2949- *``BB_SETSCENE_VERIFY_FUNCTION`` and ``BB_SETSCENE_VERIFY_FUNCTION2`` 3039- ``BB_SETSCENE_VERIFY_FUNCTION`` and ``BB_SETSCENE_VERIFY_FUNCTION2``
2950 Removed:* Because the mechanism they were part of is no longer 3040 Removed: Because the mechanism they were part of is no longer
2951 necessary with recipe-specific sysroots, the 3041 necessary with recipe-specific sysroots, the
2952 ``BB_SETSCENE_VERIFY_FUNCTION`` and ``BB_SETSCENE_VERIFY_FUNCTION2`` 3042 ``BB_SETSCENE_VERIFY_FUNCTION`` and ``BB_SETSCENE_VERIFY_FUNCTION2``
2953 variables have been removed. 3043 variables have been removed.
@@ -3080,29 +3170,29 @@ Removed Recipes
3080 3170
3081The following recipes have been removed: 3171The following recipes have been removed:
3082 3172
3083- *``linux-yocto 4.8:``* Version 4.8 has been removed. Versions 4.1 3173- ``linux-yocto 4.8``: Version 4.8 has been removed. Versions 4.1
3084 (LTSI), 4.4 (LTS), 4.9 (LTS/LTSI) and 4.10 are now present. 3174 (LTSI), 4.4 (LTS), 4.9 (LTS/LTSI) and 4.10 are now present.
3085 3175
3086- *``python-smartpm:``* Functionally replaced by ``dnf``. 3176- ``python-smartpm``: Functionally replaced by ``dnf``.
3087 3177
3088- *``createrepo:``* Replaced by the ``createrepo-c`` recipe. 3178- ``createrepo``: Replaced by the ``createrepo-c`` recipe.
3089 3179
3090- *``rpmresolve:``* No longer needed with the move to RPM 4 as RPM 3180- ``rpmresolve``: No longer needed with the move to RPM 4 as RPM
3091 itself is used instead. 3181 itself is used instead.
3092 3182
3093- *``gstreamer:``* Removed the GStreamer Git version recipes as they 3183- ``gstreamer``: Removed the GStreamer Git version recipes as they
3094 have been stale. ``1.10.``\ x recipes are still present. 3184 have been stale. ``1.10.``\ x recipes are still present.
3095 3185
3096- *``alsa-conf-base:``* Merged into ``alsa-conf`` since ``libasound`` 3186- ``alsa-conf-base``: Merged into ``alsa-conf`` since ``libasound``
3097 depended on both. Essentially, no way existed to install only one of 3187 depended on both. Essentially, no way existed to install only one of
3098 these. 3188 these.
3099 3189
3100- *``tremor:``* Moved to ``meta-multimedia``. Fixed-integer Vorbis 3190- ``tremor``: Moved to ``meta-multimedia``. Fixed-integer Vorbis
3101 decoding is not needed by current hardware. Thus, GStreamer's ivorbis 3191 decoding is not needed by current hardware. Thus, GStreamer's ivorbis
3102 plugin has been disabled by default eliminating the need for the 3192 plugin has been disabled by default eliminating the need for the
3103 ``tremor`` recipe in :term:`OpenEmbedded-Core (OE-Core)`. 3193 ``tremor`` recipe in :term:`OpenEmbedded-Core (OE-Core)`.
3104 3194
3105- *``gummiboot:``* Replaced by ``systemd-boot``. 3195- ``gummiboot``: Replaced by ``systemd-boot``.
3106 3196
3107.. _migration-2.3-wic-changes: 3197.. _migration-2.3-wic-changes:
3108 3198
@@ -3135,7 +3225,7 @@ QA Changes
3135 3225
3136The following QA checks have changed: 3226The following QA checks have changed:
3137 3227
3138- *``unsafe-references-in-binaries``:* The 3228- ``unsafe-references-in-binaries``: The
3139 ``unsafe-references-in-binaries`` QA check, which was disabled by 3229 ``unsafe-references-in-binaries`` QA check, which was disabled by
3140 default, has now been removed. This check was intended to detect 3230 default, has now been removed. This check was intended to detect
3141 binaries in ``/bin`` that link to libraries in ``/usr/lib`` and have 3231 binaries in ``/bin`` that link to libraries in ``/usr/lib`` and have
@@ -3146,7 +3236,7 @@ The following QA checks have changed:
3146 separate partition from ``/`` is now a rare configuration. 3236 separate partition from ``/`` is now a rare configuration.
3147 Consequently, ``unsafe-references-in-binaries`` was removed. 3237 Consequently, ``unsafe-references-in-binaries`` was removed.
3148 3238
3149- *``file-rdeps``:* The ``file-rdeps`` QA check is now an error by 3239- ``file-rdeps``: The ``file-rdeps`` QA check is now an error by
3150 default instead of a warning. Because it is an error instead of a 3240 default instead of a warning. Because it is an error instead of a
3151 warning, you need to address missing runtime dependencies. 3241 warning, you need to address missing runtime dependencies.
3152 3242
@@ -3202,8 +3292,15 @@ The following miscellaneous changes have occurred:
3202 3292
3203- The ``USE_LDCONFIG`` variable has been replaced with the "ldconfig" 3293- The ``USE_LDCONFIG`` variable has been replaced with the "ldconfig"
3204 ``DISTRO_FEATURES`` feature. Distributions that previously set: 3294 ``DISTRO_FEATURES`` feature. Distributions that previously set:
3205 USE_LDCONFIG = "0" should now instead use the following: 3295 ::
3206 DISTRO_FEATURES_BACKFILL_CONSIDERED_append = " ldconfig" 3296
3297 USE_LDCONFIG = "0"
3298
3299 should now instead use the following:
3300
3301 ::
3302
3303 DISTRO_FEATURES_BACKFILL_CONSIDERED_append = " ldconfig"
3207 3304
3208- The default value of 3305- The default value of
3209 :term:`COPYLEFT_LICENSE_INCLUDE` now 3306 :term:`COPYLEFT_LICENSE_INCLUDE` now
@@ -3219,7 +3316,10 @@ The following miscellaneous changes have occurred:
3219 order to allow module packages from multiple kernel versions to 3316 order to allow module packages from multiple kernel versions to
3220 co-exist on a target system. If you wish to return to the previous 3317 co-exist on a target system. If you wish to return to the previous
3221 naming scheme that does not include the version suffix, use the 3318 naming scheme that does not include the version suffix, use the
3222 following: KERNEL_MODULE_PACKAGE_SUFFIX to "" 3319 following:
3320 ::
3321
3322 KERNEL_MODULE_PACKAGE_SUFFIX to ""
3223 3323
3224- Removal of ``libtool`` ``*.la`` files is now enabled by default. The 3324- Removal of ``libtool`` ``*.la`` files is now enabled by default. The
3225 ``*.la`` files are not actually needed on Linux and relocating them 3325 ``*.la`` files are not actually needed on Linux and relocating them
@@ -3285,7 +3385,7 @@ Packaging Changes
3285This section provides information about packaging changes that have 3385This section provides information about packaging changes that have
3286occurred: 3386occurred:
3287 3387
3288- *``python3`` Changes:* 3388- ``python3`` Changes:
3289 3389
3290 - The main "python3" package now brings in all of the standard 3390 - The main "python3" package now brings in all of the standard
3291 Python 3 distribution rather than a subset. This behavior matches 3391 Python 3 distribution rather than a subset. This behavior matches
@@ -3293,16 +3393,16 @@ occurred:
3293 wish to install a subset of Python 3, specify ``python-core`` plus 3393 wish to install a subset of Python 3, specify ``python-core`` plus
3294 one or more of the individual packages that are still produced. 3394 one or more of the individual packages that are still produced.
3295 3395
3296 - *``python3``:* The ``bz2.py``, ``lzma.py``, and 3396 - ``python3``: The ``bz2.py``, ``lzma.py``, and
3297 ``_compression.py`` scripts have been moved from the 3397 ``_compression.py`` scripts have been moved from the
3298 ``python3-misc`` package to the ``python3-compression`` package. 3398 ``python3-misc`` package to the ``python3-compression`` package.
3299 3399
3300- *``binutils``:* The ``libbfd`` library is now packaged in a separate 3400- ``binutils``: The ``libbfd`` library is now packaged in a separate
3301 "libbfd" package. This packaging saves space when certain tools (e.g. 3401 "libbfd" package. This packaging saves space when certain tools (e.g.
3302 ``perf``) are installed. In such cases, the tools only need 3402 ``perf``) are installed. In such cases, the tools only need
3303 ``libbfd`` rather than all the packages in ``binutils``. 3403 ``libbfd`` rather than all the packages in ``binutils``.
3304 3404
3305- *``util-linux`` Changes:* 3405- ``util-linux`` Changes:
3306 3406
3307 - The ``su`` program is now packaged in a separate "util-linux-su" 3407 - The ``su`` program is now packaged in a separate "util-linux-su"
3308 package, which is only built when "pam" is listed in the 3408 package, which is only built when "pam" is listed in the
@@ -3326,7 +3426,7 @@ occurred:
3326 recommended runtime dependency (i.e. ``RRECOMMENDS``) on the 3426 recommended runtime dependency (i.e. ``RRECOMMENDS``) on the
3327 ``util-linux-ionice`` package. 3427 ``util-linux-ionice`` package.
3328 3428
3329- *``initscripts``:* The ``sushell`` program is now packaged in a 3429- ``initscripts``: The ``sushell`` program is now packaged in a
3330 separate "initscripts-sushell" package. This packaging change allows 3430 separate "initscripts-sushell" package. This packaging change allows
3331 systems to pull ``sushell`` in when ``selinux`` is enabled. The 3431 systems to pull ``sushell`` in when ``selinux`` is enabled. The
3332 change also eliminates needing to pull in the entire ``initscripts`` 3432 change also eliminates needing to pull in the entire ``initscripts``
@@ -3334,7 +3434,7 @@ occurred:
3334 (i.e. ``RDEPENDS``) on the ``sushell`` package when "selinux" is in 3434 (i.e. ``RDEPENDS``) on the ``sushell`` package when "selinux" is in
3335 ``DISTRO_FEATURES``. 3435 ``DISTRO_FEATURES``.
3336 3436
3337- *``glib-2.0``:* The ``glib-2.0`` package now has a recommended 3437- ``glib-2.0``: The ``glib-2.0`` package now has a recommended
3338 runtime dependency (i.e. ``RRECOMMENDS``) on the ``shared-mime-info`` 3438 runtime dependency (i.e. ``RRECOMMENDS``) on the ``shared-mime-info``
3339 package, since large portions of GIO are not useful without the MIME 3439 package, since large portions of GIO are not useful without the MIME
3340 database. You can remove the dependency by using the 3440 database. You can remove the dependency by using the
@@ -3351,102 +3451,102 @@ Removed Recipes
3351 3451
3352The following recipes have been removed: 3452The following recipes have been removed:
3353 3453
3354- *``acpitests``:* This recipe is not maintained. 3454- ``acpitests``: This recipe is not maintained.
3355 3455
3356- *``autogen-native``:* No longer required by Grub, oe-core, or 3456- ``autogen-native``: No longer required by Grub, oe-core, or
3357 meta-oe. 3457 meta-oe.
3358 3458
3359- *``bdwgc``:* Nothing in OpenEmbedded-Core requires this recipe. It 3459- ``bdwgc``: Nothing in OpenEmbedded-Core requires this recipe. It
3360 has moved to meta-oe. 3460 has moved to meta-oe.
3361 3461
3362- *``byacc``:* This recipe was only needed by rpm 5.x and has moved to 3462- ``byacc``: This recipe was only needed by rpm 5.x and has moved to
3363 meta-oe. 3463 meta-oe.
3364 3464
3365- *``gcc (5.4)``:* The 5.4 series dropped the recipe in favor of 6.3 / 3465- ``gcc (5.4)``: The 5.4 series dropped the recipe in favor of 6.3 /
3366 7.2. 3466 7.2.
3367 3467
3368- *``gnome-common``:* Deprecated upstream and no longer needed. 3468- ``gnome-common``: Deprecated upstream and no longer needed.
3369 3469
3370- *``go-bootstrap-native``:* Go 1.9 does its own bootstrapping so this 3470- ``go-bootstrap-native``: Go 1.9 does its own bootstrapping so this
3371 recipe has been removed. 3471 recipe has been removed.
3372 3472
3373- *``guile``:* This recipe was only needed by ``autogen-native`` and 3473- ``guile``: This recipe was only needed by ``autogen-native`` and
3374 ``remake``. The recipe is no longer needed by either of these 3474 ``remake``. The recipe is no longer needed by either of these
3375 programs. 3475 programs.
3376 3476
3377- *``libclass-isa-perl``:* This recipe was previously needed for LSB 4, 3477- ``libclass-isa-perl``: This recipe was previously needed for LSB 4,
3378 no longer needed. 3478 no longer needed.
3379 3479
3380- *``libdumpvalue-perl``:* This recipe was previously needed for LSB 4, 3480- ``libdumpvalue-perl``: This recipe was previously needed for LSB 4,
3381 no longer needed. 3481 no longer needed.
3382 3482
3383- *``libenv-perl``:* This recipe was previously needed for LSB 4, no 3483- ``libenv-perl``: This recipe was previously needed for LSB 4, no
3384 longer needed. 3484 longer needed.
3385 3485
3386- *``libfile-checktree-perl``:* This recipe was previously needed for 3486- ``libfile-checktree-perl``: This recipe was previously needed for
3387 LSB 4, no longer needed. 3487 LSB 4, no longer needed.
3388 3488
3389- *``libi18n-collate-perl``:* This recipe was previously needed for LSB 3489- ``libi18n-collate-perl``: This recipe was previously needed for LSB
3390 4, no longer needed. 3490 4, no longer needed.
3391 3491
3392- *``libiconv``:* This recipe was only needed for ``uclibc``, which was 3492- ``libiconv``: This recipe was only needed for ``uclibc``, which was
3393 removed in the previous release. ``glibc`` and ``musl`` have their 3493 removed in the previous release. ``glibc`` and ``musl`` have their
3394 own implementations. ``meta-mingw`` still needs ``libiconv``, so it 3494 own implementations. ``meta-mingw`` still needs ``libiconv``, so it
3395 has been moved to ``meta-mingw``. 3495 has been moved to ``meta-mingw``.
3396 3496
3397- *``libpng12``:* This recipe was previously needed for LSB. The 3497- ``libpng12``: This recipe was previously needed for LSB. The
3398 current ``libpng`` is 1.6.x. 3498 current ``libpng`` is 1.6.x.
3399 3499
3400- *``libpod-plainer-perl``:* This recipe was previously needed for LSB 3500- ``libpod-plainer-perl``: This recipe was previously needed for LSB
3401 4, no longer needed. 3501 4, no longer needed.
3402 3502
3403- *``linux-yocto (4.1)``:* This recipe was removed in favor of 4.4, 3503- ``linux-yocto (4.1)``: This recipe was removed in favor of 4.4,
3404 4.9, 4.10 and 4.12. 3504 4.9, 4.10 and 4.12.
3405 3505
3406- *``mailx``:* This recipe was previously only needed for LSB 3506- ``mailx``: This recipe was previously only needed for LSB
3407 compatibility, and upstream is defunct. 3507 compatibility, and upstream is defunct.
3408 3508
3409- *``mesa (git version only)``:* The git version recipe was stale with 3509- ``mesa (git version only)``: The git version recipe was stale with
3410 respect to the release version. 3510 respect to the release version.
3411 3511
3412- *``ofono (git version only)``:* The git version recipe was stale with 3512- ``ofono (git version only)``: The git version recipe was stale with
3413 respect to the release version. 3513 respect to the release version.
3414 3514
3415- *``portmap``:* This recipe is obsolete and is superseded by 3515- ``portmap``: This recipe is obsolete and is superseded by
3416 ``rpcbind``. 3516 ``rpcbind``.
3417 3517
3418- *``python3-pygpgme``:* This recipe is old and unmaintained. It was 3518- ``python3-pygpgme``: This recipe is old and unmaintained. It was
3419 previously required by ``dnf``, which has switched to official 3519 previously required by ``dnf``, which has switched to official
3420 ``gpgme`` Python bindings. 3520 ``gpgme`` Python bindings.
3421 3521
3422- *``python-async``:* This recipe has been removed in favor of the 3522- ``python-async``: This recipe has been removed in favor of the
3423 Python 3 version. 3523 Python 3 version.
3424 3524
3425- *``python-gitdb``:* This recipe has been removed in favor of the 3525- ``python-gitdb``: This recipe has been removed in favor of the
3426 Python 3 version. 3526 Python 3 version.
3427 3527
3428- *``python-git``:* This recipe was removed in favor of the Python 3 3528- ``python-git``: This recipe was removed in favor of the Python 3
3429 version. 3529 version.
3430 3530
3431- *``python-mako``:* This recipe was removed in favor of the Python 3 3531- ``python-mako``: This recipe was removed in favor of the Python 3
3432 version. 3532 version.
3433 3533
3434- *``python-pexpect``:* This recipe was removed in favor of the Python 3534- ``python-pexpect``: This recipe was removed in favor of the Python
3435 3 version. 3535 3 version.
3436 3536
3437- *``python-ptyprocess``:* This recipe was removed in favor of Python 3537- ``python-ptyprocess``: This recipe was removed in favor of Python
3438 the 3 version. 3538 the 3 version.
3439 3539
3440- *``python-pycurl``:* Nothing is using this recipe in 3540- ``python-pycurl``: Nothing is using this recipe in
3441 OpenEmbedded-Core (i.e. ``meta-oe``). 3541 OpenEmbedded-Core (i.e. ``meta-oe``).
3442 3542
3443- *``python-six``:* This recipe was removed in favor of the Python 3 3543- ``python-six``: This recipe was removed in favor of the Python 3
3444 version. 3544 version.
3445 3545
3446- *``python-smmap``:* This recipe was removed in favor of the Python 3 3546- ``python-smmap``: This recipe was removed in favor of the Python 3
3447 version. 3547 version.
3448 3548
3449- *``remake``:* Using ``remake`` as the provider of ``virtual/make`` is 3549- ``remake``: Using ``remake`` as the provider of ``virtual/make`` is
3450 broken. Consequently, this recipe is not needed in OpenEmbedded-Core. 3550 broken. Consequently, this recipe is not needed in OpenEmbedded-Core.
3451 3551
3452.. _migration-2.4-kernel-device-tree-move: 3552.. _migration-2.4-kernel-device-tree-move:
@@ -3598,17 +3698,17 @@ Packaging Changes
3598This section provides information about packaging changes that have 3698This section provides information about packaging changes that have
3599occurred: 3699occurred:
3600 3700
3601- *``bind-libs``:* The libraries packaged by the bind recipe are in a 3701- ``bind-libs``: The libraries packaged by the bind recipe are in a
3602 separate ``bind-libs`` package. 3702 separate ``bind-libs`` package.
3603 3703
3604- *``libfm-gtk``:* The ``libfm`` GTK+ bindings are split into a 3704- ``libfm-gtk``: The ``libfm`` GTK+ bindings are split into a
3605 separate ``libfm-gtk`` package. 3705 separate ``libfm-gtk`` package.
3606 3706
3607- *``flex-libfl``:* The flex recipe splits out libfl into a separate 3707- ``flex-libfl``: The flex recipe splits out libfl into a separate
3608 ``flex-libfl`` package to avoid too many dependencies being pulled in 3708 ``flex-libfl`` package to avoid too many dependencies being pulled in
3609 where only the library is needed. 3709 where only the library is needed.
3610 3710
3611- *``grub-efi``:* The ``grub-efi`` configuration is split into a 3711- ``grub-efi``: The ``grub-efi`` configuration is split into a
3612 separate ``grub-bootconf`` recipe. However, the dependency 3712 separate ``grub-bootconf`` recipe. However, the dependency
3613 relationship from ``grub-efi`` is through a virtual/grub-bootconf 3713 relationship from ``grub-efi`` is through a virtual/grub-bootconf
3614 provider making it possible to have your own recipe provide the 3714 provider making it possible to have your own recipe provide the
@@ -3628,42 +3728,42 @@ Removed Recipes
3628 3728
3629The following recipes have been removed: 3729The following recipes have been removed:
3630 3730
3631- *``gcc``:* The version 6.4 recipes are replaced by 7.x. 3731- ``gcc``: The version 6.4 recipes are replaced by 7.x.
3632 3732
3633- *``gst-player``:* Renamed to ``gst-examples`` as per upstream. 3733- ``gst-player``: Renamed to ``gst-examples`` as per upstream.
3634 3734
3635- *``hostap-utils``:* This software package is obsolete. 3735- ``hostap-utils``: This software package is obsolete.
3636 3736
3637- *``latencytop``:* This recipe is no longer maintained upstream. The 3737- ``latencytop``: This recipe is no longer maintained upstream. The
3638 last release was in 2009. 3738 last release was in 2009.
3639 3739
3640- *``libpfm4``:* The only file that requires this recipe is 3740- ``libpfm4``: The only file that requires this recipe is
3641 ``oprofile``, which has been removed. 3741 ``oprofile``, which has been removed.
3642 3742
3643- *``linux-yocto``:* The version 4.4, 4.9, and 4.10 recipes have been 3743- ``linux-yocto``: The version 4.4, 4.9, and 4.10 recipes have been
3644 removed. Versions 4.12, 4.14, and 4.15 remain. 3744 removed. Versions 4.12, 4.14, and 4.15 remain.
3645 3745
3646- *``man``:* This recipe has been replaced by modern ``man-db`` 3746- ``man``: This recipe has been replaced by modern ``man-db``
3647 3747
3648- *``mkelfimage``:* This tool has been removed in the upstream coreboot 3748- ``mkelfimage``: This tool has been removed in the upstream coreboot
3649 project, and is no longer needed with the removal of the ELF image 3749 project, and is no longer needed with the removal of the ELF image
3650 type. 3750 type.
3651 3751
3652- *``nativesdk-postinst-intercept``:* This recipe is not maintained. 3752- ``nativesdk-postinst-intercept``: This recipe is not maintained.
3653 3753
3654- *``neon``:* This software package is no longer maintained upstream 3754- ``neon``: This software package is no longer maintained upstream
3655 and is no longer needed by anything in OpenEmbedded-Core. 3755 and is no longer needed by anything in OpenEmbedded-Core.
3656 3756
3657- *``oprofile``:* The functionality of this recipe is replaced by 3757- ``oprofile``: The functionality of this recipe is replaced by
3658 ``perf`` and keeping compatibility on an ongoing basis with ``musl`` 3758 ``perf`` and keeping compatibility on an ongoing basis with ``musl``
3659 is difficult. 3759 is difficult.
3660 3760
3661- *``pax``:* This software package is obsolete. 3761- ``pax``: This software package is obsolete.
3662 3762
3663- *``stat``:* This software package is not maintained upstream. 3763- ``stat``: This software package is not maintained upstream.
3664 ``coreutils`` provides a modern stat binary. 3764 ``coreutils`` provides a modern stat binary.
3665 3765
3666- *``zisofs-tools-native``:* This recipe is no longer needed because 3766- ``zisofs-tools-native``: This recipe is no longer needed because
3667 the compressed ISO image feature has been removed. 3767 the compressed ISO image feature has been removed.
3668 3768
3669.. _migration-2.5-scripts-and-tools-changes: 3769.. _migration-2.5-scripts-and-tools-changes:
@@ -3673,17 +3773,16 @@ Scripts and Tools Changes
3673 3773
3674The following are changes to scripts and tools: 3774The following are changes to scripts and tools:
3675 3775
3676- *``yocto-bsp``, ``yocto-kernel``, and ``yocto-layer``*: The 3776- ``yocto-bsp``, ``yocto-kernel``, and ``yocto-layer``: The
3677 ``yocto-bsp``, ``yocto-kernel``, and ``yocto-layer`` scripts 3777 ``yocto-bsp``, ``yocto-kernel``, and ``yocto-layer`` scripts
3678 previously shipped with poky but not in OpenEmbedded-Core have been 3778 previously shipped with poky but not in OpenEmbedded-Core have been
3679 removed. These scripts are not maintained and are outdated. In many 3779 removed. These scripts are not maintained and are outdated. In many
3680 cases, they are also limited in scope. The 3780 cases, they are also limited in scope. The
3681 ``bitbake-layers create-layer`` command is a direct replacement for 3781 ``bitbake-layers create-layer`` command is a direct replacement for
3682 ``yocto-layer``. See the documentation to create a BSP or kernel 3782 ``yocto-layer``. See the documentation to create a BSP or kernel
3683 recipe in the "`BSP Kernel Recipe 3783 recipe in the ":ref:`bsp-guide/bsp:bsp kernel recipe example`" section.
3684 Example <&YOCTO_DOCS_BSP_URL;#bsp-kernel-recipe-example>`__" section.
3685 3784
3686- *``devtool finish``:* ``devtool finish`` now exits with an error if 3785- ``devtool finish``: ``devtool finish`` now exits with an error if
3687 there are uncommitted changes or a rebase/am in progress in the 3786 there are uncommitted changes or a rebase/am in progress in the
3688 recipe's source repository. If this error occurs, there might be 3787 recipe's source repository. If this error occurs, there might be
3689 uncommitted changes that will not be included in updates to the 3788 uncommitted changes that will not be included in updates to the
@@ -3691,11 +3790,11 @@ The following are changes to scripts and tools:
3691 situations that the uncommitted changes are inconsequential and you 3790 situations that the uncommitted changes are inconsequential and you
3692 want to proceed regardless. 3791 want to proceed regardless.
3693 3792
3694- *``scripts/oe-setup-rpmrepo`` script:* The functionality of 3793- ``scripts/oe-setup-rpmrepo`` script: The functionality of
3695 ``scripts/oe-setup-rpmrepo`` is replaced by 3794 ``scripts/oe-setup-rpmrepo`` is replaced by
3696 ``bitbake package-index``. 3795 ``bitbake package-index``.
3697 3796
3698- *``scripts/test-dependencies.sh`` script:* The script is largely made 3797- ``scripts/test-dependencies.sh`` script: The script is largely made
3699 obsolete by the recipe-specific sysroots functionality introduced in 3798 obsolete by the recipe-specific sysroots functionality introduced in
3700 the previous release. 3799 the previous release.
3701 3800
@@ -3725,8 +3824,15 @@ The following are BitBake changes:
3725 tree" tasks have been removed (e.g. ``fetchall``, ``checkuriall``, 3824 tree" tasks have been removed (e.g. ``fetchall``, ``checkuriall``,
3726 and the ``*all`` tasks provided by the ``distrodata`` and 3825 and the ``*all`` tasks provided by the ``distrodata`` and
3727 ``archiver`` classes). There is a BitBake option to complete this for 3826 ``archiver`` classes). There is a BitBake option to complete this for
3728 any arbitrary task. For example: bitbake <target> -c fetchall should 3827 any arbitrary task. For example:
3729 now be replaced with: bitbake <target> --runall=fetch 3828 ::
3829
3830 bitbake <target> -c fetchall
3831
3832 should now be replaced with:
3833 ::
3834
3835 bitbake <target> --runall=fetch
3730 3836
3731.. _migration-2.5-python-and-python3-changes: 3837.. _migration-2.5-python-and-python3-changes:
3732 3838
@@ -3749,8 +3855,15 @@ one of the packages provided by the Python recipe. You can no longer run
3749``bitbake python-foo`` or have a 3855``bitbake python-foo`` or have a
3750:term:`DEPENDS` on ``python-foo``, 3856:term:`DEPENDS` on ``python-foo``,
3751but doing either of the following causes the package to work as 3857but doing either of the following causes the package to work as
3752expected: IMAGE_INSTALL_append = " python-foo" or RDEPENDS_${PN} = 3858expected: ::
3753"python-foo" The earlier build-time provides behavior was a quirk of the 3859
3860 IMAGE_INSTALL_append = " python-foo"
3861
3862or ::
3863
3864 RDEPENDS_${PN} = "python-foo"
3865
3866The earlier build-time provides behavior was a quirk of the
3754way the Python manifest file was created. For more information on this 3867way the Python manifest file was created. For more information on this
3755change please see `this 3868change please see `this
3756commit <http://git.yoctoproject.org/cgit/cgit.cgi/poky/commit/?id=8d94b9db221d1def42f091b991903faa2d1651ce>`__. 3869commit <http://git.yoctoproject.org/cgit/cgit.cgi/poky/commit/?id=8d94b9db221d1def42f091b991903faa2d1651ce>`__.
@@ -3798,17 +3911,36 @@ The following are additional changes:
3798 ``bitbake/lib/bb``. These are typically used from recipes and 3911 ``bitbake/lib/bb``. These are typically used from recipes and
3799 classes. Any references to the old functions must be updated. The 3912 classes. Any references to the old functions must be updated. The
3800 following table shows the removed functions and their replacements: 3913 following table shows the removed functions and their replacements:
3801 *Removed* *Replacement* ============================ 3914
3802 ============================ base_path_join() oe.path.join() 3915 +------------------------------+----------------------------------------------------------+
3803 base_path_relative() oe.path.relative() base_path_out() 3916 | *Removed* | *Replacement* |
3804 oe.path.format_display() base_read_file() oe.utils.read_file() 3917 +==============================+==========================================================+
3805 base_ifelse() oe.utils.ifelse() base_conditional() 3918 | base_path_join() | oe.path.join() |
3806 oe.utils.conditional() base_less_or_equal() oe.utils.less_or_equal() 3919 +------------------------------+----------------------------------------------------------+
3807 base_version_less_or_equal() oe.utils.version_less_or_equal() 3920 | base_path_relative() | oe.path.relative() |
3808 base_contains() bb.utils.contains() base_both_contain() 3921 +------------------------------+----------------------------------------------------------+
3809 oe.utils.both_contain() base_prune_suffix() oe.utils.prune_suffix() 3922 | base_path_out() | oe.path.format_display() |
3810 oe_filter() oe.utils.str_filter() oe_filter_out() 3923 +------------------------------+----------------------------------------------------------+
3811 oe.utils.str_filter_out() (or use the \_remove operator). 3924 | base_read_file() | oe.utils.read_file() |
3925 +------------------------------+----------------------------------------------------------+
3926 | base_ifelse() | oe.utils.ifelse() |
3927 +------------------------------+----------------------------------------------------------+
3928 | base_conditional() | oe.utils.conditional() |
3929 +------------------------------+----------------------------------------------------------+
3930 | base_less_or_equal() | oe.utils.less_or_equal() |
3931 +------------------------------+----------------------------------------------------------+
3932 | base_version_less_or_equal() | oe.utils.version_less_or_equal() |
3933 +------------------------------+----------------------------------------------------------+
3934 | base_contains() | bb.utils.contains() |
3935 +------------------------------+----------------------------------------------------------+
3936 | base_both_contain() | oe.utils.both_contain() |
3937 +------------------------------+----------------------------------------------------------+
3938 | base_prune_suffix() | oe.utils.prune_suffix() |
3939 +------------------------------+----------------------------------------------------------+
3940 | oe_filter() | oe.utils.str_filter() |
3941 +------------------------------+----------------------------------------------------------+
3942 | oe_filter_out() | oe.utils.str_filter_out() (or use the \_remove operator) |
3943 +------------------------------+----------------------------------------------------------+
3812 3944
3813- Using ``exit 1`` to explicitly defer a postinstall script until first 3945- Using ``exit 1`` to explicitly defer a postinstall script until first
3814 boot is now deprecated since it is not an obvious mechanism and can 3946 boot is now deprecated since it is not an obvious mechanism and can
@@ -3819,8 +3951,8 @@ The following are additional changes:
3819 Any failure of a ``pkg_postinst()`` script (including ``exit 1``) 3951 Any failure of a ``pkg_postinst()`` script (including ``exit 1``)
3820 will trigger a warning during ``do_rootfs``. 3952 will trigger a warning during ``do_rootfs``.
3821 3953
3822 For more information, see the "`Post-Installation 3954 For more information, see the
3823 Scripts <&YOCTO_DOCS_DEV_URL;#new-recipe-post-installation-scripts>`__" 3955 ":ref:`dev-manual/dev-manual-common-tasks:post-installation scripts`"
3824 section in the Yocto Project Development Tasks Manual. 3956 section in the Yocto Project Development Tasks Manual.
3825 3957
3826- The ``elf`` image type has been removed. This image type was removed 3958- The ``elf`` image type has been removed. This image type was removed
@@ -3886,46 +4018,55 @@ your configuration.
3886Removed Recipes 4018Removed Recipes
3887--------------- 4019---------------
3888 4020
3889The following recipes have been removed: *``beecrypt``:* No longer 4021The following recipes have been removed:
3890needed since moving to RPM 4. *``bigreqsproto``:* Replaced by 4022
3891``xorgproto``. *``calibrateproto``:* Removed in favor of ``xinput``. 4023- *beecrypt*: No longer needed since moving to RPM 4.
3892*``compositeproto``:* Replaced by ``xorgproto``. *``damageproto``:* 4024- *bigreqsproto*: Replaced by ``xorgproto``.
3893Replaced by ``xorgproto``. *``dmxproto``:* Replaced by ``xorgproto``. 4025- *calibrateproto*: Removed in favor of ``xinput``.
3894*``dri2proto``:* Replaced by ``xorgproto``. *``dri3proto``:* Replaced by 4026- *compositeproto*: Replaced by ``xorgproto``.
3895``xorgproto``. *``eee-acpi-scripts``:* Became obsolete. 4027- *damageproto*: Replaced by ``xorgproto``.
3896*``fixesproto``:* Replaced by ``xorgproto``. *``fontsproto``:* Replaced 4028- *dmxproto*: Replaced by ``xorgproto``.
3897by ``xorgproto``. *``fstests``:* Became obsolete. *``gccmakedep``:* No 4029- *dri2proto*: Replaced by ``xorgproto``.
3898longer used. *``glproto``:* Replaced by ``xorgproto``. 4030- *dri3proto*: Replaced by ``xorgproto``.
3899*``gnome-desktop3``:* No longer needed. This recipe has moved to 4031- *eee-acpi-scripts*: Became obsolete.
3900``meta-oe``. *``icon-naming-utils``:* No longer used since the Sato 4032- *fixesproto*: Replaced by ``xorgproto``.
3901theme was removed in 2016. *``inputproto``:* Replaced by ``xorgproto``. 4033- *fontsproto*: Replaced by ``xorgproto``.
3902*``kbproto``:* Replaced by ``xorgproto``. *``libusb-compat``:* Became 4034- *fstests*: Became obsolete.
3903obsolete. *``libuser``:* Became obsolete. *``libnfsidmap``:* No longer 4035- *gccmakedep*: No longer used.
3904an external requirement since ``nfs-utils`` 2.2.1. ``libnfsidmap`` is 4036- *glproto*: Replaced by ``xorgproto``.
3905now integrated. *``libxcalibrate``:* No longer needed with ``xinput`` 4037- *gnome-desktop3*: No longer needed. This recipe has moved to ``meta-oe``.
3906*``mktemp``:* Became obsolete. The ``mktemp`` command is provided by 4038- *icon-naming-utils*: No longer used since the Sato theme was removed in 2016.
3907both ``busybox`` and ``coreutils``. *``ossp-uuid``:* Is not being 4039- *inputproto*: Replaced by ``xorgproto``.
3908maintained and has mostly been replaced by ``uuid.h`` in ``util-linux``. 4040- *kbproto*: Replaced by ``xorgproto``.
3909*``pax-utils``:* No longer needed. Previous QA tests that did use this 4041- *libusb-compat*: Became obsolete.
3910recipe are now done at build time. *``pcmciautils``:* Became obsolete. 4042- *libuser*: Became obsolete.
3911*``pixz``:* No longer needed. ``xz`` now supports multi-threaded 4043- *libnfsidmap*: No longer an external requirement since ``nfs-utils`` 2.2.1. ``libnfsidmap`` is now integrated.
3912compression. *``presentproto``:* Replaced by ``xorgproto``. 4044- *libxcalibrate*: No longer needed with ``xinput``
3913*``randrproto``:* Replaced by ``xorgproto``. *``recordproto``:* Replaced 4045- *mktemp*: Became obsolete. The ``mktemp`` command is provided by both ``busybox`` and ``coreutils``.
3914by ``xorgproto``. *``renderproto``:* Replaced by ``xorgproto``. 4046- *ossp-uuid*: Is not being maintained and has mostly been replaced by ``uuid.h`` in ``util-linux``.
3915*``resourceproto``:* Replaced by ``xorgproto``. *``scrnsaverproto``:* 4047- *pax-utils*: No longer needed. Previous QA tests that did use this recipe are now done at build time.
3916Replaced by ``xorgproto``. *``trace-cmd``:* Became obsolete. ``perf`` 4048- *pcmciautils*: Became obsolete.
3917replaced this recipe's functionally. *``videoproto``:* Replaced by 4049- *pixz*: No longer needed. ``xz`` now supports multi-threaded compression.
3918``xorgproto``. *``wireless-tools``:* Became obsolete. Superseded by 4050- *presentproto*: Replaced by ``xorgproto``.
3919``iw``. *``xcmiscproto``:* Replaced by ``xorgproto``. *``xextproto``:* 4051- *randrproto*: Replaced by ``xorgproto``.
3920Replaced by ``xorgproto``. *``xf86dgaproto``:* Replaced by 4052- *recordproto*: Replaced by ``xorgproto``.
3921``xorgproto``. *``xf86driproto``:* Replaced by ``xorgproto``. 4053- *renderproto*: Replaced by ``xorgproto``.
3922*``xf86miscproto``:* Replaced by ``xorgproto``. *``xf86-video-omapfb``:* 4054- *resourceproto*: Replaced by ``xorgproto``.
3923Became obsolete. Use kernel modesetting driver instead. 4055- *scrnsaverproto*: Replaced by ``xorgproto``.
3924*``xf86-video-omap``:* Became obsolete. Use kernel modesetting driver 4056- *trace-cmd*: Became obsolete. ``perf`` replaced this recipe's functionally.
3925instead. *``xf86vidmodeproto``:* Replaced by ``xorgproto``. 4057- *videoproto*: Replaced by ``xorgproto``.
3926*``xineramaproto``:* Replaced by ``xorgproto``. *``xproto``:* Replaced 4058- *wireless-tools*: Became obsolete. Superseded by ``iw``.
3927by ``xorgproto``. *``yasm``:* No longer needed since previous usages are 4059- *xcmiscproto*: Replaced by ``xorgproto``.
3928now satisfied by ``nasm``. 4060- *xextproto*: Replaced by ``xorgproto``.
4061- *xf86dgaproto*: Replaced by ``xorgproto``.
4062- *xf86driproto*: Replaced by ``xorgproto``.
4063- *xf86miscproto*: Replaced by ``xorgproto``.
4064- *xf86-video-omapfb*: Became obsolete. Use kernel modesetting driver instead.
4065- *xf86-video-omap*: Became obsolete. Use kernel modesetting driver instead.
4066- *xf86vidmodeproto*: Replaced by ``xorgproto``.
4067- *xineramaproto*: Replaced by ``xorgproto``.
4068- *xproto*: Replaced by ``xorgproto``.
4069- *yasm*: No longer needed since previous usages are now satisfied by ``nasm``.
3929 4070
3930.. _migration-2.6-packaging-changes: 4071.. _migration-2.6-packaging-changes:
3931 4072
@@ -3934,30 +4075,30 @@ Packaging Changes
3934 4075
3935The following packaging changes have been made: 4076The following packaging changes have been made:
3936 4077
3937- *``cmake``:* ``cmake.m4`` and ``toolchain`` files have been moved to 4078- *cmake*: ``cmake.m4`` and ``toolchain`` files have been moved to
3938 the main package. 4079 the main package.
3939 4080
3940- *``iptables``:* The ``iptables`` modules have been split into 4081- *iptables*: The ``iptables`` modules have been split into
3941 separate packages. 4082 separate packages.
3942 4083
3943- *``alsa-lib``:* ``libasound`` is now in the main ``alsa-lib`` package 4084- *alsa-lib*: ``libasound`` is now in the main ``alsa-lib`` package
3944 instead of ``libasound``. 4085 instead of ``libasound``.
3945 4086
3946- *``glibc``:* ``libnss-db`` is now in its own package along with a 4087- *glibc*: ``libnss-db`` is now in its own package along with a
3947 ``/var/db/makedbs.sh`` script to update databases. 4088 ``/var/db/makedbs.sh`` script to update databases.
3948 4089
3949- *``python`` and ``python3``:* The main package has been removed from 4090- *python and python3*: The main package has been removed from
3950 the recipe. You must install specific packages or ``python-modules`` 4091 the recipe. You must install specific packages or ``python-modules``
3951 / ``python3-modules`` for everything. 4092 / ``python3-modules`` for everything.
3952 4093
3953- *``systemtap``:* Moved ``systemtap-exporter`` into its own package. 4094- *systemtap*: Moved ``systemtap-exporter`` into its own package.
3954 4095
3955.. _migration-2.6-xorg-protocol-dependencies: 4096.. _migration-2.6-xorg-protocol-dependencies:
3956 4097
3957XOrg Protocol dependencies 4098XOrg Protocol dependencies
3958-------------------------- 4099--------------------------
3959 4100
3960The "*proto" upstream repositories have been combined into one 4101The ``*proto`` upstream repositories have been combined into one
3961"xorgproto" repository. Thus, the corresponding recipes have also been 4102"xorgproto" repository. Thus, the corresponding recipes have also been
3962combined into a single ``xorgproto`` recipe. Any recipes that depend 4103combined into a single ``xorgproto`` recipe. Any recipes that depend
3963upon the older ``*proto`` recipes need to be changed to depend on the 4104upon the older ``*proto`` recipes need to be changed to depend on the
@@ -4024,19 +4165,21 @@ The following changes have been made:
4024 allows easier and more direct changes. 4165 allows easier and more direct changes.
4025 4166
4026 The ``IMAGE_VERSION_SUFFIX`` variable is set in the ``bitbake.conf`` 4167 The ``IMAGE_VERSION_SUFFIX`` variable is set in the ``bitbake.conf``
4027 configuration file as follows: IMAGE_VERSION_SUFFIX = "-${DATETIME}" 4168 configuration file as follows:
4028 4169 ::
4029- Several variables have changed names for consistency: Old Variable 4170
4030 Name New Variable Name 4171 IMAGE_VERSION_SUFFIX = "-${DATETIME}"
4031 ======================================================== 4172
4032 KERNEL_IMAGE_BASE_NAME :term:`KERNEL_IMAGE_NAME` 4173- Several variables have changed names for consistency:
4033 KERNEL_IMAGE_SYMLINK_NAME 4174 ::
4034 :term:`KERNEL_IMAGE_LINK_NAME` 4175
4035 MODULE_TARBALL_BASE_NAME 4176 Old Variable Name New Variable Name
4036 :term:`MODULE_TARBALL_NAME` 4177 ========================================================
4037 MODULE_TARBALL_SYMLINK_NAME 4178 KERNEL_IMAGE_BASE_NAME :term:`KERNEL_IMAGE_NAME`
4038 :term:`MODULE_TARBALL_LINK_NAME` 4179 KERNEL_IMAGE_SYMLINK_NAME :term:`KERNEL_IMAGE_LINK_NAME`
4039 INITRAMFS_BASE_NAME :term:`INITRAMFS_NAME` 4180 MODULE_TARBALL_BASE_NAME :term:`MODULE_TARBALL_NAME`
4181 MODULE_TARBALL_SYMLINK_NAME :term:`MODULE_TARBALL_LINK_NAME`
4182 INITRAMFS_BASE_NAME :term:`INITRAMFS_NAME`
4040 4183
4041- The ``MODULE_IMAGE_BASE_NAME`` variable has been removed. The module 4184- The ``MODULE_IMAGE_BASE_NAME`` variable has been removed. The module
4042 tarball name is now controlled directly with the 4185 tarball name is now controlled directly with the
@@ -4107,8 +4250,8 @@ Override Changes
4107 4250
4108The following changes have occurred: 4251The following changes have occurred:
4109 4252
4110- *The ``virtclass-native`` and ``virtclass-nativesdk`` Overrides Have 4253- The ``virtclass-native`` and ``virtclass-nativesdk`` Overrides Have
4111 Been Removed:* The ``virtclass-native`` and ``virtclass-nativesdk`` 4254 Been Removed: The ``virtclass-native`` and ``virtclass-nativesdk``
4112 overrides have been deprecated since 2012 in favor of 4255 overrides have been deprecated since 2012 in favor of
4113 ``class-native`` and ``class-nativesdk``, respectively. Both 4256 ``class-native`` and ``class-nativesdk``, respectively. Both
4114 ``virtclass-native`` and ``virtclass-nativesdk`` are now dropped. 4257 ``virtclass-native`` and ``virtclass-nativesdk`` are now dropped.
@@ -4119,8 +4262,8 @@ The following changes have occurred:
4119 virtclass-multilib- 4262 virtclass-multilib-
4120 overrides for multilib are still valid. 4263 overrides for multilib are still valid.
4121 4264
4122- *The ``forcevariable`` Override Now Has a Higher Priority Than 4265- The ``forcevariable`` Override Now Has a Higher Priority Than
4123 ``libc`` Overrides:* The ``forcevariable`` override is documented to 4266 ``libc`` Overrides: The ``forcevariable`` override is documented to
4124 be the highest priority override. However, due to a long-standing 4267 be the highest priority override. However, due to a long-standing
4125 quirk of how :term:`OVERRIDES` is set, the ``libc`` 4268 quirk of how :term:`OVERRIDES` is set, the ``libc``
4126 overrides (e.g. ``libc-glibc``, ``libc-musl``, and so forth) 4269 overrides (e.g. ``libc-glibc``, ``libc-musl``, and so forth)
@@ -4132,7 +4275,7 @@ The following changes have occurred:
4132 check how you use ``forcevariable`` and ``libc-*`` overrides in your 4275 check how you use ``forcevariable`` and ``libc-*`` overrides in your
4133 custom layers and configuration files to ensure they make sense. 4276 custom layers and configuration files to ensure they make sense.
4134 4277
4135- *The ``build-${BUILD_OS}`` Override Has Been Removed:* The 4278- The ``build-${BUILD_OS}`` Override Has Been Removed: The
4136 ``build-${BUILD_OS}``, which is typically ``build-linux``, override 4279 ``build-${BUILD_OS}``, which is typically ``build-linux``, override
4137 has been removed because building on a host operating system other 4280 has been removed because building on a host operating system other
4138 than a recent version of Linux is neither supported nor recommended. 4281 than a recent version of Linux is neither supported nor recommended.
@@ -4158,10 +4301,16 @@ where machine-specific configurations need to be applied (e.g. for
4158``qemu*`` machines). 4301``qemu*`` machines).
4159 4302
4160Currently, the new recipe packages the following files: 4303Currently, the new recipe packages the following files:
4161${sysconfdir}/machine-id ${sysconfdir}/systemd/coredump.conf 4304::
4162${sysconfdir}/systemd/journald.conf ${sysconfdir}/systemd/logind.conf 4305
4163${sysconfdir}/systemd/system.conf ${sysconfdir}/systemd/user.conf If you 4306 ${sysconfdir}/machine-id
4164previously used bbappend files to append the ``systemd`` recipe to 4307 ${sysconfdir}/systemd/coredump.conf
4308 ${sysconfdir}/systemd/journald.conf
4309 ${sysconfdir}/systemd/logind.conf
4310 ${sysconfdir}/systemd/system.conf
4311 ${sysconfdir}/systemd/user.conf
4312
4313If you previously used bbappend files to append the ``systemd`` recipe to
4165change any of the listed files, you must do so for the ``systemd-conf`` 4314change any of the listed files, you must do so for the ``systemd-conf``
4166recipe instead. 4315recipe instead.
4167 4316
@@ -4172,13 +4321,13 @@ Automatic Testing Changes
4172 4321
4173This section provides information about automatic testing changes: 4322This section provides information about automatic testing changes:
4174 4323
4175- *``TEST_IMAGE`` Variable Removed:* Prior to this release, you set the 4324- ``TEST_IMAGE`` Variable Removed: Prior to this release, you set the
4176 ``TEST_IMAGE`` variable to "1" to enable automatic testing for 4325 ``TEST_IMAGE`` variable to "1" to enable automatic testing for
4177 successfully built images. The ``TEST_IMAGE`` variable no longer 4326 successfully built images. The ``TEST_IMAGE`` variable no longer
4178 exists and has been replaced by the 4327 exists and has been replaced by the
4179 :term:`TESTIMAGE_AUTO` variable. 4328 :term:`TESTIMAGE_AUTO` variable.
4180 4329
4181- *Inheriting the ``testimage`` and ``testsdk`` Classes:* Best 4330- Inheriting the ``testimage`` and ``testsdk`` Classes: Best
4182 practices now dictate that you use the 4331 practices now dictate that you use the
4183 :term:`IMAGE_CLASSES` variable rather than the 4332 :term:`IMAGE_CLASSES` variable rather than the
4184 :term:`INHERIT` variable when you inherit the 4333 :term:`INHERIT` variable when you inherit the
@@ -4231,8 +4380,7 @@ Any failure of a ``pkg_postinst()`` script (including exit 1) triggers
4231an error during the :ref:`ref-tasks-rootfs` task. 4380an error during the :ref:`ref-tasks-rootfs` task.
4232 4381
4233For more information on post-installation behavior, see the 4382For more information on post-installation behavior, see the
4234"`Post-Installation 4383":ref:`dev-manual/dev-manual-common-tasks:post-installation scripts`"
4235Scripts <&YOCTO_DOCS_DEV_URL;#new-recipe-post-installation-scripts>`__"
4236section in the Yocto Project Development Tasks Manual. 4384section in the Yocto Project Development Tasks Manual.
4237 4385
4238.. _migration-2.6-python-3-profile-guided-optimizations: 4386.. _migration-2.6-python-3-profile-guided-optimizations:
@@ -4253,8 +4401,12 @@ If you wish to disable Python profile-guided optimization regardless of
4253the value of ``MACHINE_FEATURES``, then ensure that 4401the value of ``MACHINE_FEATURES``, then ensure that
4254:term:`PACKAGECONFIG` for the ``python3`` recipe 4402:term:`PACKAGECONFIG` for the ``python3`` recipe
4255does not contain "pgo". You could accomplish the latter using the 4403does not contain "pgo". You could accomplish the latter using the
4256following at the configuration level: PACKAGECONFIG_remove_pn-python3 = 4404following at the configuration level:
4257"pgo" Alternatively, you can set ``PACKAGECONFIG`` using an append file 4405::
4406
4407 PACKAGECONFIG_remove_pn-python3 = "pgo"
4408
4409Alternatively, you can set ``PACKAGECONFIG`` using an append file
4258for the ``python3`` recipe. 4410for the ``python3`` recipe.
4259 4411
4260.. _migration-2.6-miscellaneous-changes: 4412.. _migration-2.6-miscellaneous-changes:
@@ -4267,7 +4419,10 @@ The following miscellaneous changes occurred:
4267- Default to using the Thumb-2 instruction set for armv7a and above. If 4419- Default to using the Thumb-2 instruction set for armv7a and above. If
4268 you have any custom recipes that build software that needs to be 4420 you have any custom recipes that build software that needs to be
4269 built with the ARM instruction set, change the recipe to set the 4421 built with the ARM instruction set, change the recipe to set the
4270 instruction set as follows: ARM_INSTRUCTION_SET = "arm" 4422 instruction set as follows:
4423 ::
4424
4425 ARM_INSTRUCTION_SET = "arm"
4271 4426
4272- ``run-postinsts`` no longer uses ``/etc/*-postinsts`` for 4427- ``run-postinsts`` no longer uses ``/etc/*-postinsts`` for
4273 ``dpkg/opkg`` in favor of built-in postinst support. RPM behavior 4428 ``dpkg/opkg`` in favor of built-in postinst support. RPM behavior
@@ -4385,10 +4540,11 @@ License Value Corrections
4385------------------------- 4540-------------------------
4386 4541
4387The following corrections have been made to the 4542The following corrections have been made to the
4388:term:`LICENSE` values set by recipes: *socat*: Corrected 4543:term:`LICENSE` values set by recipes:
4389``LICENSE`` to be "GPLv2" rather than "GPLv2+". *libgfortran*: Set 4544
4390license to "GPL-3.0-with-GCC-exception". *elfutils*: Removed 4545- *socat*: Corrected ``LICENSE`` to be "GPLv2" rather than "GPLv2+".
4391"Elfutils-Exception" and set to "GPLv2" for shared libraries 4546- *libgfortran*: Set license to "GPL-3.0-with-GCC-exception".
4547- *elfutils*: Removed "Elfutils-Exception" and set to "GPLv2" for shared libraries
4392 4548
4393.. _migration-2.7-packaging-changes: 4549.. _migration-2.7-packaging-changes:
4394 4550
@@ -4439,26 +4595,28 @@ This section provides information about packaging changes.
4439Removed Recipes 4595Removed Recipes
4440--------------- 4596---------------
4441 4597
4442The following recipes have been removed: *gcc*: Drop version 7.3 4598The following recipes have been removed:
4443recipes. Version 8.3 now remains. *linux-yocto*: Drop versions 4.14 and 4599
44444.18 recipes. Versions 4.19 and 5.0 remain. *go*: Drop version 1.9 4600- *gcc*: Drop version 7.3 recipes. Version 8.3 now remains.
4445recipes. Versions 1.11 and 1.12 remain. *xvideo-tests*: Became obsolete. 4601- *linux-yocto*: Drop versions 4.14 and 4.18 recipes. Versions 4.19 and 5.0 remain.
4446*libart-lgpl*: Became obsolete. *gtk-icon-utils-native*: These tools are 4602- *go*: Drop version 1.9 recipes. Versions 1.11 and 1.12 remain.
4447now provided by gtk+3-native *gcc-cross-initial*: No longer needed. 4603- *xvideo-tests*: Became obsolete.
4448gcc-cross/gcc-crosssdk is now used instead. *gcc-crosssdk-initial*: No 4604- *libart-lgpl*: Became obsolete.
4449longer needed. gcc-cross/gcc-crosssdk is now used instead. 4605- *gtk-icon-utils-native*: These tools are now provided by gtk+3-native
4450*glibc-initial*: Removed because the benefits of having it for 4606- *gcc-cross-initial*: No longer needed. gcc-cross/gcc-crosssdk is now used instead.
4451site_config are currently outweighed by the cost of building the recipe. 4607- *gcc-crosssdk-initial*: No longer needed. gcc-cross/gcc-crosssdk is now used instead.
4608- *glibc-initial*: Removed because the benefits of having it for site_config are currently outweighed by the cost of building the recipe.
4452 4609
4453.. _migration-2.7-removed-classes: 4610.. _migration-2.7-removed-classes:
4454 4611
4455Removed Classes 4612Removed Classes
4456--------------- 4613---------------
4457 4614
4458The following classes have been removed: *distutils-tools*: This class 4615The following classes have been removed:
4459was never used. *bugzilla.bbclass*: Became obsolete. *distrodata*: This 4616
4460functionally has been replaced by a more modern tinfoil-based 4617- *distutils-tools*: This class was never used.
4461implementation. 4618- *bugzilla.bbclass*: Became obsolete.
4619- *distrodata*: This functionally has been replaced by a more modern tinfoil-based implementation.
4462 4620
4463.. _migration-2.7-miscellaneous-changes: 4621.. _migration-2.7-miscellaneous-changes:
4464 4622
@@ -4471,7 +4629,7 @@ The following miscellaneous changes occurred:
4471 from the top-level ``scripts`` directory. 4629 from the top-level ``scripts`` directory.
4472 4630
4473- Perl now builds for the target using 4631- Perl now builds for the target using
4474 ```perl-cross`http://arsv.github.io/perl-cross/ for better 4632 `perl-cross <http://arsv.github.io/perl-cross/>`_ for better
4475 maintainability and improved build performance. This change should 4633 maintainability and improved build performance. This change should
4476 not present any problems unless you have heavily customized your Perl 4634 not present any problems unless you have heavily customized your Perl
4477 recipe. 4635 recipe.
@@ -4883,7 +5041,9 @@ need runtime tests enabled for core components, then it is recommended
4883that you remove "ptest" from 5041that you remove "ptest" from
4884:term:`DISTRO_FEATURES` to save a significant 5042:term:`DISTRO_FEATURES` to save a significant
4885amount of build time e.g. by adding the following in your configuration: 5043amount of build time e.g. by adding the following in your configuration:
4886DISTRO_FEATURES_remove = "ptest" 5044::
5045
5046 DISTRO_FEATURES_remove = "ptest"
4887 5047
4888.. _migration-3.1-removed-recipes: 5048.. _migration-3.1-removed-recipes:
4889 5049
@@ -4988,12 +5148,15 @@ parameter instead of the earlier ``name`` which overlapped with the
4988generic ``name`` parameter. All recipes using the npm fetcher will need 5148generic ``name`` parameter. All recipes using the npm fetcher will need
4989to be changed as a result. 5149to be changed as a result.
4990 5150
4991An example of the new scheme: SRC_URI = 5151An example of the new scheme: ::
4992"npm://registry.npmjs.org;package=array-flatten;version=1.1.1 \\ 5152
4993npmsw://${THISDIR}/npm-shrinkwrap.json" Another example where the 5153 SRC_URI = "npm://registry.npmjs.org;package=array-flatten;version=1.1.1 \
4994sources are fetched from git rather than an npm repository: SRC_URI = 5154 npmsw://${THISDIR}/npm-shrinkwrap.json"
4995"git://github.com/foo/bar.git;protocol=https \\ 5155
4996npmsw://${THISDIR}/npm-shrinkwrap.json" 5156Another example where the sources are fetched from git rather than an npm repository: ::
5157
5158 SRC_URI = "git://github.com/foo/bar.git;protocol=https \
5159 npmsw://${THISDIR}/npm-shrinkwrap.json"
4997 5160
4998devtool and recipetool have also been updated to match with the npm 5161devtool and recipetool have also been updated to match with the npm
4999fetcher changes. Other than producing working and more complete recipes 5162fetcher changes. Other than producing working and more complete recipes