public inbox for docs@lists.yoctoproject.org
 help / color / mirror / Atom feed
From: Richard Purdie <richard.purdie@linuxfoundation.org>
To: Antonin Godard <antonin.godard@bootlin.com>, docs@lists.yoctoproject.org
Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Subject: Re: [PATCH] ref-manual: faq: add q&a on class appends
Date: Thu, 24 Oct 2024 11:31:01 +0100	[thread overview]
Message-ID: <dcb9d19c783f9e550da815986ca64d21b2d4471d.camel@linuxfoundation.org> (raw)
In-Reply-To: <20241024-faq-class-append-v1-1-673c675cc6aa@bootlin.com>

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


      parent reply	other threads:[~2024-10-24 10:31 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-10-24  9:14 [PATCH] ref-manual: faq: add q&a on class appends Antonin Godard
2024-10-24  9:27 ` [docs] " Quentin Schulz
2024-10-24  9:29   ` Antonin Godard
2024-10-24 10:31 ` Richard Purdie [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=dcb9d19c783f9e550da815986ca64d21b2d4471d.camel@linuxfoundation.org \
    --to=richard.purdie@linuxfoundation.org \
    --cc=antonin.godard@bootlin.com \
    --cc=docs@lists.yoctoproject.org \
    --cc=thomas.petazzoni@bootlin.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox