From 0876369fdb7c6ab213233c96b5c4d841aa5c962a Mon Sep 17 00:00:00 2001 From: Antonin Godard Date: Fri, 14 Feb 2025 16:47:58 +0100 Subject: [PATCH] slides/yocto-recipe-advanced: add slide on using classes Clarify the difference between the recipe and global classes by showing the are used, either with `inherit` or `INHERIT`. Signed-off-by: Antonin Godard --- .../yocto-recipe-advanced.tex | 23 ++++++++++++++----- 1 file changed, 17 insertions(+), 6 deletions(-) diff --git a/slides/yocto-recipe-advanced/yocto-recipe-advanced.tex b/slides/yocto-recipe-advanced/yocto-recipe-advanced.tex index 7accc81939..c2a6e9c7ba 100644 --- a/slides/yocto-recipe-advanced/yocto-recipe-advanced.tex +++ b/slides/yocto-recipe-advanced/yocto-recipe-advanced.tex @@ -121,21 +121,32 @@ \subsection{Classes} \item Classes extension is \code{.bbclass} \item Classes must be located in the \code{classes-recipe}, \code{classes-global}, or \code{classes} folders of a layer. - \item Recipes can use this common code by inheriting a class: + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{Using classes} + \begin{itemize} + \item Recipes can use the classes located in the \code{classes-recipe} + folder: \begin{itemize} - \item \code{inherit } + \item \code{inherit class1 class2 ...} \end{itemize} \item A recipe can inherit from multiple classes. + \item Classes in \code{classes-global} can be inherited from configuration + files with \yoctovar{INHERIT}: + \begin{itemize} + \item \code{INHERIT:append = " class1 class2"} + \end{itemize} + \item Classes in \code{INHERIT} will be used by every built recipe. + \item Classes in the \code{classes} folder can be used with \code{inherit} or + \yoctovar{INHERIT}, as their usage is not clearly defined. \end{itemize} \end{frame} \begin{frame} \frametitle{Common classes} \begin{itemize} - \item Most classes are split into scope-specific subdirectories: - \code{meta/classes-recipe/}, \code{meta/classes-global/} - \item Classes whose usage context is not clearly defined can be found in - \code{meta/classes/} \begin{itemize} \item \code{classes-global/base.bbclass} \item \code{classes-recipe/kernel.bbclass}