diff options
author | Quentin Schulz <foss@0leil.net> | 2020-10-18 19:57:11 +0200 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2020-10-20 11:12:06 +0100 |
commit | 5a154344cbb11dbe4befd0b997d00622df41eb5d (patch) | |
tree | 0d7c916d428ffcbd0824d766c03bde972ddd2c1b | |
parent | 9f8e2c0ea6a0f9de538a46ebbd94df609bee0dda (diff) | |
download | poky-5a154344cbb11dbe4befd0b997d00622df41eb5d.tar.gz |
docs: dev-manual-common-tasks: remove paragraph about race when missing DEPENDS
Missing DEPENDS were an issue before rocko (2.4) because of a shared global
sysroot. Since then, every recipe has its own sysroot, it is not possible
to build successfully a recipe without all DEPENDS. Therefore, races in
tasks possibly triggered by missing DEPENDS are a thing of the past.
This paragraph is misleading and can be safely removed.
(From yocto-docs rev: 9aec42794846a4bca37b49a9f920fa2887974ddf)
Signed-off-by: Quentin Schulz <foss@0leil.net>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r-- | documentation/dev-manual/dev-manual-common-tasks.rst | 23 |
1 files changed, 7 insertions, 16 deletions
diff --git a/documentation/dev-manual/dev-manual-common-tasks.rst b/documentation/dev-manual/dev-manual-common-tasks.rst index 943180296c..7cb25c02cd 100644 --- a/documentation/dev-manual/dev-manual-common-tasks.rst +++ b/documentation/dev-manual/dev-manual-common-tasks.rst | |||
@@ -1611,25 +1611,16 @@ Within a recipe, you specify build-time dependencies using the | |||
1611 | :term:`DEPENDS` variable. Although | 1611 | :term:`DEPENDS` variable. Although |
1612 | nuances exist, items specified in ``DEPENDS`` should be names of other | 1612 | nuances exist, items specified in ``DEPENDS`` should be names of other |
1613 | recipes. It is important that you specify all build-time dependencies | 1613 | recipes. It is important that you specify all build-time dependencies |
1614 | explicitly. If you do not, due to the parallel nature of BitBake's | 1614 | explicitly. |
1615 | execution, you can end up with a race condition where the dependency is | ||
1616 | present for one task of a recipe (e.g. | ||
1617 | :ref:`ref-tasks-configure`) and | ||
1618 | then gone when the next task runs (e.g. | ||
1619 | :ref:`ref-tasks-compile`). | ||
1620 | 1615 | ||
1621 | Another consideration is that configure scripts might automatically | 1616 | Another consideration is that configure scripts might automatically |
1622 | check for optional dependencies and enable corresponding functionality | 1617 | check for optional dependencies and enable corresponding functionality |
1623 | if those dependencies are found. This behavior means that to ensure | 1618 | if those dependencies are found. If you wish to make a recipe that is |
1624 | deterministic results and thus avoid more race conditions, you need to | 1619 | more generally useful (e.g. publish the recipe in a layer for others to |
1625 | either explicitly specify these dependencies as well, or tell the | 1620 | use), instead of hard-disabling the functionality, you can use the |
1626 | configure script explicitly to disable the functionality. If you wish to | 1621 | :term:`PACKAGECONFIG` variable to allow functionality and the |
1627 | make a recipe that is more generally useful (e.g. publish the recipe in | 1622 | corresponding dependencies to be enabled and disabled easily by other |
1628 | a layer for others to use), instead of hard-disabling the functionality, | 1623 | users of the recipe. |
1629 | you can use the | ||
1630 | :term:`PACKAGECONFIG` variable | ||
1631 | to allow functionality and the corresponding dependencies to be enabled | ||
1632 | and disabled easily by other users of the recipe. | ||
1633 | 1624 | ||
1634 | Similar to build-time dependencies, you specify runtime dependencies | 1625 | Similar to build-time dependencies, you specify runtime dependencies |
1635 | through a variable - | 1626 | through a variable - |