diff mbox series

ref-manual: faq: add q&a on class appends

Message ID 20241024-faq-class-append-v1-1-673c675cc6aa@bootlin.com
State New
Headers show
Series ref-manual: faq: add q&a on class appends | expand

Commit Message

Antonin Godard Oct. 24, 2024, 9:14 a.m. UTC
Add the suggestion by Richard to the FAQ, with some minor rewordings and
additional punctuations.

Suggested-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
---
 documentation/ref-manual/faq.rst | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)


---
base-commit: 72bbff33fdce60c133074b4ac09721c4ddac5372
change-id: 20241024-faq-class-append-88bcb9536b39

Best regards,

Comments

Quentin Schulz Oct. 24, 2024, 9:27 a.m. UTC | #1
Hi Antonin,

On 10/24/24 11:14 AM, Antonin Godard via lists.yoctoproject.org wrote:
> Add the suggestion by Richard to the FAQ, with some minor rewordings and
> additional punctuations.
> 
> Suggested-by: Richard Purdie <richard.purdie@linuxfoundation.org>
> Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
> ---
>   documentation/ref-manual/faq.rst | 19 +++++++++++++++++++
>   1 file changed, 19 insertions(+)
> 
> diff --git a/documentation/ref-manual/faq.rst b/documentation/ref-manual/faq.rst
> index bab284bbfdefae02c284204d3c94891a8238239a..3dcb1f862e24716be703f9fd3e811d2fb9ed34a0 100644
> --- a/documentation/ref-manual/faq.rst
> +++ b/documentation/ref-manual/faq.rst
> @@ -259,6 +259,25 @@ Within the :term:`Build Directory`, is the ``tmp`` directory. To remove all the
>   build output yet preserve any source code or downloaded files from
>   previous builds, simply remove the ``tmp`` directory.
>   
> +Why isn't there a way to append bbclass files like bbappend for recipes?
> +------------------------------------------------------------------------
> +
> +The Yocto Project has consciously chosen not to implement such functionality.
> +Class code is designed to be shared and reused, and expose some level of

s/expose/exposes/

except if we meant "class code is designed to expose" rather than "class 
code exposes"

> +configuration to its users. We want to encourage people to share these changes
> +so we can build the best classes.
> +
> +If the ``append`` functionality was available for classes, our evidence and
> +experience suggests that people would create their custom changes in their

s/suggests/suggest/ (evidence+experience)

Otherwise looks good to me :)

Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>

Cheers,
Quentin
Antonin Godard Oct. 24, 2024, 9:29 a.m. UTC | #2
Hi Quentin,

On Thu Oct 24, 2024 at 11:27 AM CEST, Quentin Schulz wrote:
> Hi Antonin,
>
> On 10/24/24 11:14 AM, Antonin Godard via lists.yoctoproject.org wrote:
>> Add the suggestion by Richard to the FAQ, with some minor rewordings and
>> additional punctuations.
>>
>> Suggested-by: Richard Purdie <richard.purdie@linuxfoundation.org>
>> Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
>> ---
>>   documentation/ref-manual/faq.rst | 19 +++++++++++++++++++
>>   1 file changed, 19 insertions(+)
>>
>> diff --git a/documentation/ref-manual/faq.rst b/documentation/ref-manual/faq.rst
>> index bab284bbfdefae02c284204d3c94891a8238239a..3dcb1f862e24716be703f9fd3e811d2fb9ed34a0 100644
>> --- a/documentation/ref-manual/faq.rst
>> +++ b/documentation/ref-manual/faq.rst
>> @@ -259,6 +259,25 @@ Within the :term:`Build Directory`, is the ``tmp`` directory. To remove all the
>>   build output yet preserve any source code or downloaded files from
>>   previous builds, simply remove the ``tmp`` directory.
>>
>> +Why isn't there a way to append bbclass files like bbappend for recipes?
>> +------------------------------------------------------------------------
>> +
>> +The Yocto Project has consciously chosen not to implement such functionality.
>> +Class code is designed to be shared and reused, and expose some level of
>
> s/expose/exposes/
>
> except if we meant "class code is designed to expose" rather than "class
> code exposes"

Agreed it should probably by exposes here.

>> +configuration to its users. We want to encourage people to share these changes
>> +so we can build the best classes.
>> +
>> +If the ``append`` functionality was available for classes, our evidence and
>> +experience suggests that people would create their custom changes in their
>
> s/suggests/suggest/ (evidence+experience)

Good catch. :)

> Otherwise looks good to me :)
>
> Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
>
> Cheers,
> Quentin

Thank you!
Antonin

--
Antonin Godard, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
Richard Purdie Oct. 24, 2024, 10:31 a.m. UTC | #3
On Thu, 2024-10-24 at 11:14 +0200, Antonin Godard wrote:
> Add the suggestion by Richard to the FAQ, with some minor rewordings and
> additional punctuations.
> 
> Suggested-by: Richard Purdie <richard.purdie@linuxfoundation.org>
> Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
> ---
>  documentation/ref-manual/faq.rst | 19 +++++++++++++++++++
>  1 file changed, 19 insertions(+)
> 
> diff --git a/documentation/ref-manual/faq.rst b/documentation/ref-manual/faq.rst
> index bab284bbfdefae02c284204d3c94891a8238239a..3dcb1f862e24716be703f9fd3e811d2fb9ed34a0 100644
> --- a/documentation/ref-manual/faq.rst
> +++ b/documentation/ref-manual/faq.rst
> @@ -259,6 +259,25 @@ Within the :term:`Build Directory`, is the ``tmp`` directory. To remove all the
>  build output yet preserve any source code or downloaded files from
>  previous builds, simply remove the ``tmp`` directory.
>  
> +Why isn't there a way to append bbclass files like bbappend for recipes?
> +------------------------------------------------------------------------
> +
> +The Yocto Project has consciously chosen not to implement such functionality.
> +Class code is designed to be shared and reused, and expose some level of
> +configuration to its users. We want to encourage people to share these changes
> +so we can build the best classes.
> +
> +If the ``append`` functionality was available for classes, our evidence and
> +experience suggests that people would create their custom changes in their
> +layer instead of sharing and discussing the issues and/or limitations they
> +encountered. This would lead to bizarre class interactions when new layers are
> +included. We therefore consciously choose to have a natural pressure to share
> +class code improvements or fixes.
> +
> +There are also technical considerations like which recipes a class append would
> +apply to and how that would fit within the layer model. These are complications
> +we think we can live without!
> +
>  Customizing generated images
>  ============================
>  

Looks good, thanks!

If/as/when I see anything else which should be in there I'll try and
note something down. We should really try and collect more of these.

Cheers,

Richard
diff mbox series

Patch

diff --git a/documentation/ref-manual/faq.rst b/documentation/ref-manual/faq.rst
index bab284bbfdefae02c284204d3c94891a8238239a..3dcb1f862e24716be703f9fd3e811d2fb9ed34a0 100644
--- a/documentation/ref-manual/faq.rst
+++ b/documentation/ref-manual/faq.rst
@@ -259,6 +259,25 @@  Within the :term:`Build Directory`, is the ``tmp`` directory. To remove all the
 build output yet preserve any source code or downloaded files from
 previous builds, simply remove the ``tmp`` directory.
 
+Why isn't there a way to append bbclass files like bbappend for recipes?
+------------------------------------------------------------------------
+
+The Yocto Project has consciously chosen not to implement such functionality.
+Class code is designed to be shared and reused, and expose some level of
+configuration to its users. We want to encourage people to share these changes
+so we can build the best classes.
+
+If the ``append`` functionality was available for classes, our evidence and
+experience suggests that people would create their custom changes in their
+layer instead of sharing and discussing the issues and/or limitations they
+encountered. This would lead to bizarre class interactions when new layers are
+included. We therefore consciously choose to have a natural pressure to share
+class code improvements or fixes.
+
+There are also technical considerations like which recipes a class append would
+apply to and how that would fit within the layer model. These are complications
+we think we can live without!
+
 Customizing generated images
 ============================