summaryrefslogtreecommitdiffstats
path: root/documentation/migration-guides/migration-5.3.rst
diff options
context:
space:
mode:
Diffstat (limited to 'documentation/migration-guides/migration-5.3.rst')
-rw-r--r--documentation/migration-guides/migration-5.3.rst92
1 files changed, 92 insertions, 0 deletions
diff --git a/documentation/migration-guides/migration-5.3.rst b/documentation/migration-guides/migration-5.3.rst
index 22653fc911..4d2e1763ce 100644
--- a/documentation/migration-guides/migration-5.3.rst
+++ b/documentation/migration-guides/migration-5.3.rst
@@ -14,6 +14,56 @@ Migration notes for |yocto-ver| (|yocto-codename|)
14This section provides migration information for moving to the Yocto 14This section provides migration information for moving to the Yocto
15Project |yocto-ver| Release (codename "|yocto-codename|") from the prior release. 15Project |yocto-ver| Release (codename "|yocto-codename|") from the prior release.
16 16
17:term:`WORKDIR` changes
18~~~~~~~~~~~~~~~~~~~~~~~
19
20``S = ${WORKDIR}/something`` no longer supported
21^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
22
23If a recipe has :term:`S` set to be ``${``\ :term:`WORKDIR`\ ``}/something``,
24this is no longer supported, and an error will be issued. The recipe should be
25changed to::
26
27 S = "${UNPACKDIR}/something"
28
29``S = ${WORKDIR}/git`` and ``S = ${UNPACKDIR}/git`` should be removed
30^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
31
32The Git fetcher now unpacks into the :term:`BB_GIT_DEFAULT_DESTSUFFIX` directory
33rather than the ``git/`` directory under :term:`UNPACKDIR`.
34:term:`BB_GIT_DEFAULT_DESTSUFFIX` is set in :term:`OpenEmbedded-Core
35(OE-Core)`'s :oe_git:`bitbake.conf
36</openembedded-core/tree/meta/conf/bitbake.conf>` to :term:`BP`.
37
38This location matches the default value of :term:`S` set by bitbake.conf, so :term:`S`
39setting in recipes can and should be removed.
40
41Note that when :term:`S` is set to a subdirectory of the git checkout, then it
42should be instead adjusted according to the previous point::
43
44 S = "${UNPACKDIR}/${BP}/something"
45
46Note that "git" as the source checkout location can be hardcoded
47in other places in recipes; when it's in :term:`SRC_URI`, replace with
48:term:`BB_GIT_DEFAULT_DESTSUFFIX`, otherwise replace with :term:`BP`.
49
50How to make those adjustments without tedious manual editing
51^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
52
53The following sed command can be used to remove S = "${WORKDIR}/git
54across a whole layer::
55
56 sed -i "/^S = \"\${WORKDIR}\/git\"/d" `find . -name *.bb -o -name *.inc -o -name *.bbclass`
57
58Then, the following command can tweak the remaining :term:`S` assignments to
59refer to :term:`UNPACKDIR` instead of :term:`WORKDIR`::
60
61 sed -i "s/^S = \"\${WORKDIR}\//S = \"\${UNPACKDIR}\//g" `find . -name *.bb -o -name *.inc -o -name *.bbclass`
62
63The first change can introduce a lot of consecutive empty lines, so those can be removed with::
64
65 sed -i -z -E 's/([ \t\f\v\r]*\n){3,}/\n\n/g' `find . -name *.bb -o -name *.inc`
66
17Supported kernel versions 67Supported kernel versions
18~~~~~~~~~~~~~~~~~~~~~~~~~ 68~~~~~~~~~~~~~~~~~~~~~~~~~
19 69
@@ -59,6 +109,48 @@ Removed classes
59 109
60The following classes have been removed in this release: 110The following classes have been removed in this release:
61 111
112- ``kernel-fitimage.bbclass``: the class has been replaced by the
113 :ref:`ref-classes-kernel-fit-image` class. The new implementation resolves
114 the long-standing :yocto_bugs:`bug 12912</show_bug.cgi?id=12912>`.
115
116 If you are using the kernel FIT image support, you will need to:
117
118 #. Make sure to include ``kernel-fit-extra-artifacts`` in your :term:`KERNEL_CLASSES`
119 variable to ensure the required files are exposed to the :term:`DEPLOY_DIR_IMAGE`
120 directory::
121
122 KERNEL_CLASSES += "kernel-fit-extra-artifacts"
123
124 #. Use the specific FIT image recipe rather than the base kernel recipe.
125 For example, instead of::
126
127 bitbake linux-yocto
128
129 the FIT image is now build by::
130
131 bitbake linux-yocto-fitimage
132
133 For custom kernel recipes, creating a corresponding custom FIT image recipe
134 is usually a good approach.
135
136 #. If a FIT image is used as a replacement for the kernel image in the root
137 filesystem, add the following configuration to your machine configuration
138 file::
139
140 # Create and deploy the vmlinux artifact which gets included into the FIT image
141 KERNEL_CLASSES += "kernel-fit-extra-artifacts"
142
143 # Do not install the kernel image package
144 RRECOMMENDS:${KERNEL_PACKAGE_NAME}-base = ""
145 # Install the FIT image package
146 MACHINE_ESSENTIAL_EXTRA_RDEPENDS += "linux-yocto-fitimage"
147
148 # Configure the image.bbclass to depend on the FIT image instead of only
149 # the kernel to ensure the FIT image is built and deployed with the image
150 KERNEL_DEPLOY_DEPEND = "linux-yocto-fitimage:do_deploy"
151
152 See the :ref:`ref-classes-kernel-fit-image` section for more information.
153
62Removed features 154Removed features
63~~~~~~~~~~~~~~~~ 155~~~~~~~~~~~~~~~~
64 156