summaryrefslogtreecommitdiffstats
path: root/documentation/dev-manual
diff options
context:
space:
mode:
authorQuentin Schulz <foss@0leil.net>2020-10-18 19:57:11 +0200
committerRichard Purdie <richard.purdie@linuxfoundation.org>2021-01-04 10:55:01 +0000
commitcbad23de16eef6f5c2082b950fcee56299cb6024 (patch)
treed3b43e70536266a6d296f0c2ddd554f06668079b /documentation/dev-manual
parentcb040a46506dbfec7512625e6610623aa7080df6 (diff)
downloadpoky-cbad23de16eef6f5c2082b950fcee56299cb6024.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: 8547d2623b32d33758b326e735509dc0a13625fc) Signed-off-by: Quentin Schulz <foss@0leil.net> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> (cherry picked from commit 9aec42794846a4bca37b49a9f920fa2887974ddf) Signed-off-by: Nicolas Dechesne <nicolas.dechesne@linaro.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'documentation/dev-manual')
-rw-r--r--documentation/dev-manual/dev-manual-common-tasks.rst23
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 43fe972ef4..b200e3eef3 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
1612nuances exist, items specified in ``DEPENDS`` should be names of other 1612nuances exist, items specified in ``DEPENDS`` should be names of other
1613recipes. It is important that you specify all build-time dependencies 1613recipes. It is important that you specify all build-time dependencies
1614explicitly. If you do not, due to the parallel nature of BitBake's 1614explicitly.
1615execution, you can end up with a race condition where the dependency is
1616present for one task of a recipe (e.g.
1617:ref:`ref-tasks-configure`) and
1618then gone when the next task runs (e.g.
1619:ref:`ref-tasks-compile`).
1620 1615
1621Another consideration is that configure scripts might automatically 1616Another consideration is that configure scripts might automatically
1622check for optional dependencies and enable corresponding functionality 1617check for optional dependencies and enable corresponding functionality
1623if those dependencies are found. This behavior means that to ensure 1618if those dependencies are found. If you wish to make a recipe that is
1624deterministic results and thus avoid more race conditions, you need to 1619more generally useful (e.g. publish the recipe in a layer for others to
1625either explicitly specify these dependencies as well, or tell the 1620use), instead of hard-disabling the functionality, you can use the
1626configure script explicitly to disable the functionality. If you wish to 1621:term:`PACKAGECONFIG` variable to allow functionality and the
1627make a recipe that is more generally useful (e.g. publish the recipe in 1622corresponding dependencies to be enabled and disabled easily by other
1628a layer for others to use), instead of hard-disabling the functionality, 1623users of the recipe.
1629you can use the
1630:term:`PACKAGECONFIG` variable
1631to allow functionality and the corresponding dependencies to be enabled
1632and disabled easily by other users of the recipe.
1633 1624
1634Similar to build-time dependencies, you specify runtime dependencies 1625Similar to build-time dependencies, you specify runtime dependencies
1635through a variable - 1626through a variable -