Skip to content

Commit

Permalink
slides/yocto-recipe-advanced: add slide on using classes
Browse files Browse the repository at this point in the history
Clarify the difference between the recipe and global classes by showing
the are used, either with `inherit` or `INHERIT`.

Signed-off-by: Antonin Godard <[email protected]>
  • Loading branch information
antznin committed Feb 18, 2025
1 parent 201aa16 commit 0876369
Showing 1 changed file with 17 additions and 6 deletions.
23 changes: 17 additions & 6 deletions slides/yocto-recipe-advanced/yocto-recipe-advanced.tex
Original file line number Diff line number Diff line change
Expand Up @@ -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 <class>}
\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}
Expand Down

0 comments on commit 0876369

Please sign in to comment.