diff options
author | Michael Opdenacker <michael.opdenacker@bootlin.com> | 2024-05-23 15:49:13 +0200 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2024-05-29 20:58:49 +0100 |
commit | bebe947dd5cc087d49967a807807a388dbde1332 (patch) | |
tree | d0f114faf49271a9f9c046215ae271ab6fb6695e /documentation | |
parent | c3d154813b4f8ed573750263ffdc79a15c646c9e (diff) | |
download | poky-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.rst | 55 |
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 | |||
17 | S = ${WORKDIR} no longer supported | ||
18 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ||
19 | |||
20 | If a recipe has :term:`S` set to be :term:`WORKDIR`, this is no longer | ||
21 | supported, and an error will be issued. The recipe should be changed to:: | ||
22 | |||
23 | S = "${WORKDIR}/sources" | ||
24 | UNPACKDIR = "${S}" | ||
25 | |||
26 | Any :term:`WORKDIR` references where files from :term:`SRC_URI` are referenced | ||
27 | should 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 | ||
34 | files from :term:`SRC_URI`, they likely need changing to :term:`UNPACKDIR`. | ||
35 | These are commonly in :ref:`ref-tasks-compile` and :ref:`ref-tasks-install` | ||
36 | for things like service or configuration files. One unusual case is | ||
37 | ``${WORKDIR}/${BP}`` which should probably be set to ``${S}``. | ||
38 | |||
39 | References to ``../`` in :term:`LIC_FILES_CHKSUM` or elsewhere may need changing | ||
40 | to :term:`UNPACKDIR`. References to :term:`WORKDIR` in ``sed`` commands are | ||
41 | usually left as they are. | ||
42 | |||
43 | General notes | ||
44 | ^^^^^^^^^^^^^ | ||
45 | |||
46 | Files from :ref:`ref-tasks-unpack` now unpack to ``WORKDIR/sources-unpack/`` | ||
47 | rather than ``WORKDIR/``. | ||
48 | |||
49 | If :term:`S` is set to a subdirectory under :term:`WORKDIR` and that | ||
50 | subdirectory exists in ``sources-unpack`` after :ref:`ref-tasks-unpack` runs, | ||
51 | it is moved to :term:`WORKDIR`. This means that ``S = "${WORKDIR}/${BP}"``, | ||
52 | ``S = "${WORKDIR}/git"`` and also deeper paths continue to work as expected | ||
53 | without changes. We cannot use symlinks to do this as it breaks autotools | ||
54 | based recipes. Keeping all sources under ``sources-unpack`` wasn't considered | ||
55 | as it meant more invasive recipes changes. The key objective was separating the | ||
56 | :ref:`ref-tasks-unpack` task output from :term:`WORKDIR`. | ||
57 | |||
58 | Previously, :term:`S` was always created but after the recent changes it is no | ||
59 | longer 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 | ||
61 | require to add an :term:`S` definition to a recipe that only uses | ||
62 | ``file://`` :term:`SRC_URI` entries. Building C files from :term:`UNPACKDIR` | ||
63 | without setting :term:`S` to point at it does not work as the debug prefix | ||
64 | mapping doesn't handle that. | ||
65 | |||
66 | ``devtool`` and ``recipetool`` have been updated to handle this and their | ||
67 | support for ``S = WORKDIR`` and ``oe-local-files`` has been removed. | ||
68 | |||
14 | Supported kernel versions | 69 | Supported kernel versions |
15 | ~~~~~~~~~~~~~~~~~~~~~~~~~ | 70 | ~~~~~~~~~~~~~~~~~~~~~~~~~ |
16 | 71 | ||