diff mbox series

ref-manual/variables.rst: document KERNEL_EXTRA_FEATURES

Message ID 20250531154900.53941-1-alperyasinak1@gmail.com
State New
Headers show
Series ref-manual/variables.rst: document KERNEL_EXTRA_FEATURES | expand

Commit Message

Alper Ak May 31, 2025, 3:49 p.m. UTC
Fix [YOCTO #15751]

Signed-off-by: Alper Ak <alperyasinak1@gmail.com>
---
 documentation/ref-manual/variables.rst | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

Comments

Quentin Schulz June 2, 2025, 11:36 a.m. UTC | #1
Hi Alper,

On 5/31/25 5:49 PM, Alper Ak via lists.yoctoproject.org wrote:
> Fix [YOCTO #15751]
> 
> Signed-off-by: Alper Ak <alperyasinak1@gmail.com>
> ---
>   documentation/ref-manual/variables.rst | 18 ++++++++++++++++++
>   1 file changed, 18 insertions(+)
> 
> diff --git a/documentation/ref-manual/variables.rst b/documentation/ref-manual/variables.rst
> index c697bdbbb..2f0925b15 100644
> --- a/documentation/ref-manual/variables.rst
> +++ b/documentation/ref-manual/variables.rst
> @@ -5202,6 +5202,24 @@ system and gives an overview of their function and contents.
>         Specifies additional ``make`` command-line arguments the OpenEmbedded
>         build system passes on when compiling the kernel.
>   
> +   :term:`KERNEL_EXTRA_FEATURES`
> +      Specifies optional kernel features to be added on top of the base
> +      configuration in kernel recipes that inherit the :ref:`ref-classes-kernel-yocto` class.
> +

I'm not sure that is true?

git grep KERNEL_EXTRA_FEATURES meta/classes-recipe/kernel-yocto.bbclass

returns nothing.

Looking at the layer level, it seems KERNEL_EXTRA_FEATURES is never used 
as is, only as part of KERNEL_FEATURES, and always in final/leaf recipes 
and not .inc files or classes.

> +      This variable complements :term:`KERNEL_FEATURES` by allowing layers

It doesn't as far as I could tell? You need to make 
KERNEL_EXTRA_FEATURES part of the KERNEL_FEATURES variable for that to 
be true?

> +      to include or override additional features without requiring Python code or
> +      recipe finalize hooks.
> +
> +      Features are defined in ``.scc`` files, which serve as kernel :term:`Metadata` and usually include patches
> +      and configuration fragments to be used during the kernel build process to modify the Linux kernel.

Gut feeling is that those two lines are too long but haven't checked 
myself, compare to other long lines in this file to see when we wrap text.

> +      For example::
> +
> +         KERNEL_EXTRA_FEATURES = "features/netfilter/netfilter.scc"
> +         KERNEL_FEATURES:append = " ${KERNEL_EXTRA_FEATURES}"
> +
> +      By default, :term:`KERNEL_EXTRA_FEATURES` is empty. But, some distributions

It's not, it simply doesn't exist that is all I believe?

> +      such as Poky may set a default value using a soft assignment (``?=``).

Does it? I don't see it, only an :append is used.

I'll let Antonin decide but I am not entirely sure it makes sense to 
document this variable, which is very recipe specific. A point could be 
made that since poky.conf modifies it, maybe it makes sense to document 
it :)

Cheers,
Quentin
diff mbox series

Patch

diff --git a/documentation/ref-manual/variables.rst b/documentation/ref-manual/variables.rst
index c697bdbbb..2f0925b15 100644
--- a/documentation/ref-manual/variables.rst
+++ b/documentation/ref-manual/variables.rst
@@ -5202,6 +5202,24 @@  system and gives an overview of their function and contents.
       Specifies additional ``make`` command-line arguments the OpenEmbedded
       build system passes on when compiling the kernel.
 
+   :term:`KERNEL_EXTRA_FEATURES`
+      Specifies optional kernel features to be added on top of the base
+      configuration in kernel recipes that inherit the :ref:`ref-classes-kernel-yocto` class.
+
+      This variable complements :term:`KERNEL_FEATURES` by allowing layers
+      to include or override additional features without requiring Python code or
+      recipe finalize hooks.
+
+      Features are defined in ``.scc`` files, which serve as kernel :term:`Metadata` and usually include patches
+      and configuration fragments to be used during the kernel build process to modify the Linux kernel.
+      For example::
+
+         KERNEL_EXTRA_FEATURES = "features/netfilter/netfilter.scc"
+         KERNEL_FEATURES:append = " ${KERNEL_EXTRA_FEATURES}"
+
+      By default, :term:`KERNEL_EXTRA_FEATURES` is empty. But, some distributions
+      such as Poky may set a default value using a soft assignment (``?=``).
+
    :term:`KERNEL_FEATURES`
       Includes additional kernel metadata. In the OpenEmbedded build
       system, the default Board Support Packages (BSPs)