diff mbox series

[2/2] ref-manual: devtool-reference: document missing commands

Message ID 20241017-devtool-improvements-v1-2-2bacc656fe39@bootlin.com
State Superseded
Headers show
Series Update the devtool quick reference document | expand

Commit Message

Antonin Godard Oct. 17, 2024, 3:13 p.m. UTC
Give a brief description for important commands that made it into
devtool or that were missing from this quick reference document.

Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
---
 documentation/ref-manual/devtool-reference.rst | 52 ++++++++++++++++++++++++++
 1 file changed, 52 insertions(+)

Comments

Quentin Schulz Oct. 18, 2024, 11:35 a.m. UTC | #1
Hi Antonin,

On 10/17/24 5:13 PM, Antonin Godard via lists.yoctoproject.org wrote:
> Give a brief description for important commands that made it into
> devtool or that were missing from this quick reference document.
> 
> Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
> ---
>   documentation/ref-manual/devtool-reference.rst | 52 ++++++++++++++++++++++++++
>   1 file changed, 52 insertions(+)
> 
> diff --git a/documentation/ref-manual/devtool-reference.rst b/documentation/ref-manual/devtool-reference.rst
> index 9c36195c5a5a2405cf8e3a562a2a53291e97c859..e4c7f79a23644f2a89c882ce5e2130fb2a93a4b1 100644
> --- a/documentation/ref-manual/devtool-reference.rst
> +++ b/documentation/ref-manual/devtool-reference.rst
> @@ -463,6 +463,20 @@ Here is an example that resets the workspace directory that contains the
>      NOTE: Leaving source tree /home/scottrif/poky/build/workspace/sources/mtr as-is; if you no longer need it then please delete it manually
>      $
>   
> +.. _devtool-finish-working-on-a-recipe:
> +
> +Finish Working on a Recipe
> +==========================
> +
> +Use the ``devtool finish`` command to push any committed changes to the
> +specified recipe in the specified layer and remove it from your workspace.
> +
> +This is roughly equivalent to the ``devtool update-recipe`` command followed by
> +the ``devtool reset`` command. The changes must have been committed to the git
> +repository created by ``devtool``. Here is an example::
> +
> +  $ devtool finish recipe /path/to/custom/layer
> +
>   .. _devtool-building-your-recipe:
>   
>   Building Your Recipe
> @@ -614,3 +628,41 @@ a match.
>   
>   When you use the ``devtool search`` command, you must supply a keyword.
>   The command uses the keyword when searching for a match.
> +
> +Alternatively, the ``devtool find-recipe`` command can be used to search for
> +recipe files instead of recipe names. Likewise, you must supply a keyword.
> +
> +.. _devtool-get-the-configure-script-help:
> +
> +Get Information on Recipe Configuration Scripts
> +===============================================
> +
> +Use the ``devtool configure-help`` command to get help on the configuration
> +script options for a given recipe. You must supply the recipe name to the

I had to read the code and the help text of the command to understand 
what is meant by "configuration script options".

I guess we could provide an example here to make this a bit clearer?

What about:
"""
E.g. for ``autotools``-based recipes, shows the output of ``./configure 
--help``.
"""

or something along those lines?

> +command.
> +
> +The ``configure-help`` command will also display the configuration options
> +currently in use, including the ones passed through the :term:`EXTRA_OECONF`
> +variable.
> +
> +.. _devtool-generate-an-ide-configuration-for-a-recipe:
> +
> +Generate an IDE Configuration for a Recipe
> +==========================================
> +
> +The ``devtool ide-sdk`` automatically creates an IDE configuration and SDK to
> +work on a given recipe. Depending on the ``--mode`` parameter, different types
> +of SDKs are generated:
> +
> +-  ``modified`` mode: this creates an SDK and generates an IDE configuration in
> +   the workspace directory.
> +
> +-  ``shared`` mode: this creates a cross-compiling toolchain and the
> +   corresponding shared sysroot directories of the supplied recipe(s).
> +
> +The ``--target`` option can be used to specify a ``username@hostname`` string
> +and create a remote debugging configuration for the recipe.
> +

This also means the target needs an SSH server running?

I guess we could put a word on that and maybe say "similarly to 
``devtool deploy-target`` (and we can link to it since it's a reference 
in the same file).

What do you think?

Looks good to me otherwise, though I haven't used any of those options 
aside from finish :)

Cheers,
Quentin
Antonin Godard Oct. 22, 2024, 8:28 a.m. UTC | #2
Hi Quentin,

On Fri Oct 18, 2024 at 1:35 PM CEST, Quentin Schulz wrote:
> Hi Antonin,
>
> On 10/17/24 5:13 PM, Antonin Godard via lists.yoctoproject.org wrote:
>> Give a brief description for important commands that made it into
>> devtool or that were missing from this quick reference document.
>>
>> Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
>> ---
>>   documentation/ref-manual/devtool-reference.rst | 52 ++++++++++++++++++++++++++
>>   1 file changed, 52 insertions(+)
>>
>> diff --git a/documentation/ref-manual/devtool-reference.rst b/documentation/ref-manual/devtool-reference.rst
>> index 9c36195c5a5a2405cf8e3a562a2a53291e97c859..e4c7f79a23644f2a89c882ce5e2130fb2a93a4b1 100644
>> --- a/documentation/ref-manual/devtool-reference.rst
>> +++ b/documentation/ref-manual/devtool-reference.rst
>> @@ -463,6 +463,20 @@ Here is an example that resets the workspace directory that contains the
>>      NOTE: Leaving source tree /home/scottrif/poky/build/workspace/sources/mtr as-is; if you no longer need it then please delete it manually
>>      $
>>
>> +.. _devtool-finish-working-on-a-recipe:
>> +
>> +Finish Working on a Recipe
>> +==========================
>> +
>> +Use the ``devtool finish`` command to push any committed changes to the
>> +specified recipe in the specified layer and remove it from your workspace.
>> +
>> +This is roughly equivalent to the ``devtool update-recipe`` command followed by
>> +the ``devtool reset`` command. The changes must have been committed to the git
>> +repository created by ``devtool``. Here is an example::
>> +
>> +  $ devtool finish recipe /path/to/custom/layer
>> +
>>   .. _devtool-building-your-recipe:
>>
>>   Building Your Recipe
>> @@ -614,3 +628,41 @@ a match.
>>
>>   When you use the ``devtool search`` command, you must supply a keyword.
>>   The command uses the keyword when searching for a match.
>> +
>> +Alternatively, the ``devtool find-recipe`` command can be used to search for
>> +recipe files instead of recipe names. Likewise, you must supply a keyword.
>> +
>> +.. _devtool-get-the-configure-script-help:
>> +
>> +Get Information on Recipe Configuration Scripts
>> +===============================================
>> +
>> +Use the ``devtool configure-help`` command to get help on the configuration
>> +script options for a given recipe. You must supply the recipe name to the
>
> I had to read the code and the help text of the command to understand
> what is meant by "configuration script options".
>
> I guess we could provide an example here to make this a bit clearer?
>
> What about:
> """
> E.g. for ``autotools``-based recipes, shows the output of ``./configure
> --help``.
> """
>
> or something along those lines?

+1, I'll add that to the v2.

>> +command.
>> +
>> +The ``configure-help`` command will also display the configuration options
>> +currently in use, including the ones passed through the :term:`EXTRA_OECONF`
>> +variable.
>> +
>> +.. _devtool-generate-an-ide-configuration-for-a-recipe:
>> +
>> +Generate an IDE Configuration for a Recipe
>> +==========================================
>> +
>> +The ``devtool ide-sdk`` automatically creates an IDE configuration and SDK to
>> +work on a given recipe. Depending on the ``--mode`` parameter, different types
>> +of SDKs are generated:
>> +
>> +-  ``modified`` mode: this creates an SDK and generates an IDE configuration in
>> +   the workspace directory.
>> +
>> +-  ``shared`` mode: this creates a cross-compiling toolchain and the
>> +   corresponding shared sysroot directories of the supplied recipe(s).
>> +
>> +The ``--target`` option can be used to specify a ``username@hostname`` string
>> +and create a remote debugging configuration for the recipe.
>> +
>
> This also means the target needs an SSH server running?
>
> I guess we could put a word on that and maybe say "similarly to
> ``devtool deploy-target`` (and we can link to it since it's a reference
> in the same file).
>
> What do you think?

Yes, indeed it does need an ssh server running on the target. I'll add that
also.

> Looks good to me otherwise, though I haven't used any of those options
> aside from finish :)

Thanks!
Antonin

--
Antonin Godard, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
diff mbox series

Patch

diff --git a/documentation/ref-manual/devtool-reference.rst b/documentation/ref-manual/devtool-reference.rst
index 9c36195c5a5a2405cf8e3a562a2a53291e97c859..e4c7f79a23644f2a89c882ce5e2130fb2a93a4b1 100644
--- a/documentation/ref-manual/devtool-reference.rst
+++ b/documentation/ref-manual/devtool-reference.rst
@@ -463,6 +463,20 @@  Here is an example that resets the workspace directory that contains the
    NOTE: Leaving source tree /home/scottrif/poky/build/workspace/sources/mtr as-is; if you no longer need it then please delete it manually
    $
 
+.. _devtool-finish-working-on-a-recipe:
+
+Finish Working on a Recipe
+==========================
+
+Use the ``devtool finish`` command to push any committed changes to the
+specified recipe in the specified layer and remove it from your workspace.
+
+This is roughly equivalent to the ``devtool update-recipe`` command followed by
+the ``devtool reset`` command. The changes must have been committed to the git
+repository created by ``devtool``. Here is an example::
+
+  $ devtool finish recipe /path/to/custom/layer
+
 .. _devtool-building-your-recipe:
 
 Building Your Recipe
@@ -614,3 +628,41 @@  a match.
 
 When you use the ``devtool search`` command, you must supply a keyword.
 The command uses the keyword when searching for a match.
+
+Alternatively, the ``devtool find-recipe`` command can be used to search for
+recipe files instead of recipe names. Likewise, you must supply a keyword.
+
+.. _devtool-get-the-configure-script-help:
+
+Get Information on Recipe Configuration Scripts
+===============================================
+
+Use the ``devtool configure-help`` command to get help on the configuration
+script options for a given recipe. You must supply the recipe name to the
+command.
+
+The ``configure-help`` command will also display the configuration options
+currently in use, including the ones passed through the :term:`EXTRA_OECONF`
+variable.
+
+.. _devtool-generate-an-ide-configuration-for-a-recipe:
+
+Generate an IDE Configuration for a Recipe
+==========================================
+
+The ``devtool ide-sdk`` automatically creates an IDE configuration and SDK to
+work on a given recipe. Depending on the ``--mode`` parameter, different types
+of SDKs are generated:
+
+-  ``modified`` mode: this creates an SDK and generates an IDE configuration in
+   the workspace directory.
+
+-  ``shared`` mode: this creates a cross-compiling toolchain and the
+   corresponding shared sysroot directories of the supplied recipe(s).
+
+The ``--target`` option can be used to specify a ``username@hostname`` string
+and create a remote debugging configuration for the recipe.
+
+For further details on the ``devtool ide-sdk`` command, see the
+":doc:`/sdk-manual/extensible`" chapter in the Yocto Project Application
+Development and the Extensible Software Development Kit (eSDK) manual.