diff mbox series

overview-manual/concepts.rst: fix do_prepare_recipe_sysroot task description

Message ID 20260422185404.14111-1-bijak.dawid@gmail.com
State New
Headers show
Series overview-manual/concepts.rst: fix do_prepare_recipe_sysroot task description | expand

Commit Message

Dawid Bijak April 22, 2026, 6:54 p.m. UTC
The description incorrectly stated that the sysroots are set up for
use during the packaging phase. In fact, do_prepare_recipe_sysroot
runs before do_configure, and the sysroots are consumed by
do_configure and do_compile.

Reword to refer to subsequent tasks in the recipe and call out
do_configure and do_compile explicitly.

Signed-off-by: Dawid Bijak <bijak.dawid@gmail.com>
---
 documentation/overview-manual/concepts.rst | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

Comments

Antonin Godard April 23, 2026, 8:07 a.m. UTC | #1
Hi,

On Wed Apr 22, 2026 at 8:54 PM CEST, Dawid Bijak via lists.yoctoproject.org wrote:
> The description incorrectly stated that the sysroots are set up for
> use during the packaging phase. In fact, do_prepare_recipe_sysroot
> runs before do_configure, and the sysroots are consumed by
> do_configure and do_compile.
>
> Reword to refer to subsequent tasks in the recipe and call out
> do_configure and do_compile explicitly.
>
> Signed-off-by: Dawid Bijak <bijak.dawid@gmail.com>
> ---
>  documentation/overview-manual/concepts.rst | 10 +++++-----
>  1 file changed, 5 insertions(+), 5 deletions(-)
>
> diff --git a/documentation/overview-manual/concepts.rst b/documentation/overview-manual/concepts.rst
> index 1faa790f3..e4a8c60f7 100644
> --- a/documentation/overview-manual/concepts.rst
> +++ b/documentation/overview-manual/concepts.rst
> @@ -782,12 +782,12 @@ This step in the build process consists of the following tasks:
>     This task sets up the two sysroots in
>     ``${``\ :term:`WORKDIR`\ ``}``
>     (i.e. ``recipe-sysroot`` and ``recipe-sysroot-native``) so that
> -   during the packaging phase the sysroots can contain the contents of
> -   the
> +   subsequent tasks in the recipe (notably :ref:`ref-tasks-configure`
> +   and :ref:`ref-tasks-compile`) can access the contents of the
>     :ref:`ref-tasks-populate_sysroot`
> -   tasks of the recipes on which the recipe containing the tasks
> -   depends. A sysroot exists for both the target and for the native
> -   binaries, which run on the host system.
> +   tasks of the recipes on which the recipe depends.

I think we can go further than that even.

I am dubious on the "contents of the tasks" phrasing. This does not make much
sense to me, to be honest.

How about:

"""
This task sets up the two sysroots in the ``${``\ :term:`WORKDIR`\ ``}`` (i.e.
``recipe-sysroot`` and ``recipe-sysroot-native``) so that the subsequent tasks
of the recipe (notably :ref:`ref-tasks-configure` and :ref:`ref-tasks-compile`)
can access the libraries, headers, and similar files built by the recipes on
which it depends.
"""

?

> +   A sysroot
> +   exists for both the target and for the native binaries, which
> +   run on the host system.

I think this would benefit from a bullet point list, to make the distinction
clearer:

"""
A sysroot exists for:

-  The target binaries (``recipe-sysroot``)
-  And for the native binaries (``recipe-sysroot-native``), which run on the host system.
"""

What do you think?

Thanks for the patch,
Antonin
Alexander Kanavin April 23, 2026, 9:42 a.m. UTC | #2
On Thu, 23 Apr 2026 at 10:07, Antonin Godard via
lists.yoctoproject.org
<antonin.godard=bootlin.com@lists.yoctoproject.org> wrote:
> """
> A sysroot exists for:
>
> -  The target binaries (``recipe-sysroot``)
> -  And for the native binaries (``recipe-sysroot-native``), which run on the host system.
> """

I think you could make this distinction:

- target sysroot contains target libraries, and associated headers and
other data needed to cross-build software from its sources
- native sysroot contains native executables with their libraries and
other data, so that they can be run directly on the build host when
that is required by the build process

Alex
Antonin Godard April 23, 2026, 10:06 a.m. UTC | #3
On Thu Apr 23, 2026 at 11:42 AM CEST, Alexander Kanavin via lists.yoctoproject.org wrote:
> On Thu, 23 Apr 2026 at 10:07, Antonin Godard via
> lists.yoctoproject.org
> <antonin.godard=bootlin.com@lists.yoctoproject.org> wrote:
>> """
>> A sysroot exists for:
>>
>> -  The target binaries (``recipe-sysroot``)
>> -  And for the native binaries (``recipe-sysroot-native``), which run on the host system.
>> """
>
> I think you could make this distinction:
>
> - target sysroot contains target libraries, and associated headers and
> other data needed to cross-build software from its sources
> - native sysroot contains native executables with their libraries and
> other data, so that they can be run directly on the build host when
> that is required by the build process

I second this, even better thanks!

David, a v2 with all the suggestions would be great.

Thanks,
Antonin
diff mbox series

Patch

diff --git a/documentation/overview-manual/concepts.rst b/documentation/overview-manual/concepts.rst
index 1faa790f3..e4a8c60f7 100644
--- a/documentation/overview-manual/concepts.rst
+++ b/documentation/overview-manual/concepts.rst
@@ -782,12 +782,12 @@  This step in the build process consists of the following tasks:
    This task sets up the two sysroots in
    ``${``\ :term:`WORKDIR`\ ``}``
    (i.e. ``recipe-sysroot`` and ``recipe-sysroot-native``) so that
-   during the packaging phase the sysroots can contain the contents of
-   the
+   subsequent tasks in the recipe (notably :ref:`ref-tasks-configure`
+   and :ref:`ref-tasks-compile`) can access the contents of the
    :ref:`ref-tasks-populate_sysroot`
-   tasks of the recipes on which the recipe containing the tasks
-   depends. A sysroot exists for both the target and for the native
-   binaries, which run on the host system.
+   tasks of the recipes on which the recipe depends. A sysroot
+   exists for both the target and for the native binaries, which
+   run on the host system.
 
 -  *do_configure*: This task configures the source by enabling and
    disabling any build-time and configuration options for the software