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 | |
| 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>
| -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 | ||
