summaryrefslogtreecommitdiffstats
path: root/documentation
diff options
context:
space:
mode:
authorMichael Opdenacker <michael.opdenacker@bootlin.com>2024-05-23 15:49:13 +0200
committerRichard Purdie <richard.purdie@linuxfoundation.org>2024-05-29 20:58:49 +0100
commitbebe947dd5cc087d49967a807807a388dbde1332 (patch)
treed0f114faf49271a9f9c046215ae271ab6fb6695e /documentation
parentc3d154813b4f8ed573750263ffdc79a15c646c9e (diff)
downloadpoky-bebe947dd5cc087d49967a807807a388dbde1332.tar.gz
migration-5.1.rst: preliminary description of UNPACKDIR changes
(From yocto-docs rev: ac7a35edbd20ba2d1789ff77b53484ad34cc0850) Signed-off-by: Michael Opdenacker <michael.opdenacker@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'documentation')
-rw-r--r--documentation/migration-guides/migration-5.1.rst55
1 files changed, 55 insertions, 0 deletions
diff --git a/documentation/migration-guides/migration-5.1.rst b/documentation/migration-guides/migration-5.1.rst
index 9bedbfa311..c1cc711a42 100644
--- a/documentation/migration-guides/migration-5.1.rst
+++ b/documentation/migration-guides/migration-5.1.rst
@@ -11,6 +11,61 @@ Project 5.1 Release (codename "styhead") from the prior release.
11 11
12.. _migration-5.1-supported-kernel-versions: 12.. _migration-5.1-supported-kernel-versions:
13 13
14:term:`WORKDIR` changes
15~~~~~~~~~~~~~~~~~~~~~~~
16
17S = ${WORKDIR} no longer supported
18^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
19
20If a recipe has :term:`S` set to be :term:`WORKDIR`, this is no longer
21supported, and an error will be issued. The recipe should be changed to::
22
23 S = "${WORKDIR}/sources"
24 UNPACKDIR = "${S}"
25
26Any :term:`WORKDIR` references where files from :term:`SRC_URI` are referenced
27should be changed to :term:`S`. These are commonly in :ref:`ref-tasks-compile`,
28:ref:`ref-tasks-compile`, :ref:`ref-tasks-install` and :term:`LIC_FILES_CHKSUM`.
29
30:term:`WORKDIR` references in recipes
31^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
32
33:term:`WORKDIR` references in other recipes need auditing. If they reference
34files from :term:`SRC_URI`, they likely need changing to :term:`UNPACKDIR`.
35These are commonly in :ref:`ref-tasks-compile` and :ref:`ref-tasks-install`
36for things like service or configuration files. One unusual case is
37``${WORKDIR}/${BP}`` which should probably be set to ``${S}``.
38
39References to ``../`` in :term:`LIC_FILES_CHKSUM` or elsewhere may need changing
40to :term:`UNPACKDIR`. References to :term:`WORKDIR` in ``sed`` commands are
41usually left as they are.
42
43General notes
44^^^^^^^^^^^^^
45
46Files from :ref:`ref-tasks-unpack` now unpack to ``WORKDIR/sources-unpack/``
47rather than ``WORKDIR/``.
48
49If :term:`S` is set to a subdirectory under :term:`WORKDIR` and that
50subdirectory exists in ``sources-unpack`` after :ref:`ref-tasks-unpack` runs,
51it is moved to :term:`WORKDIR`. This means that ``S = "${WORKDIR}/${BP}"``,
52``S = "${WORKDIR}/git"`` and also deeper paths continue to work as expected
53without changes. We cannot use symlinks to do this as it breaks autotools
54based recipes. Keeping all sources under ``sources-unpack`` wasn't considered
55as it meant more invasive recipes changes. The key objective was separating the
56:ref:`ref-tasks-unpack` task output from :term:`WORKDIR`.
57
58Previously, :term:`S` was always created but after the recent changes it is no
59longer the case. This means the check in ``do_unpack_qa`` triggers where
60:term:`S` is not created by a recipe while it didn't happen before. This can
61require to add an :term:`S` definition to a recipe that only uses
62``file://`` :term:`SRC_URI` entries. Building C files from :term:`UNPACKDIR`
63without setting :term:`S` to point at it does not work as the debug prefix
64mapping doesn't handle that.
65
66``devtool`` and ``recipetool`` have been updated to handle this and their
67support for ``S = WORKDIR`` and ``oe-local-files`` has been removed.
68
14Supported kernel versions 69Supported kernel versions
15~~~~~~~~~~~~~~~~~~~~~~~~~ 70~~~~~~~~~~~~~~~~~~~~~~~~~
16 71