[bootlin/training-materials updates] master: Yocto: yocto-advanced: Add slides on variable scope (f220bc5b)
Maxime Chevallier
maxime.chevallier at bootlin.com
Fri Oct 22 10:17:42 CEST 2021
Repository : https://github.com/bootlin/training-materials
On branch : master
Link : https://github.com/bootlin/training-materials/commit/f220bc5b5e87d1ae7ded9f254c31c6c6443dac19
>---------------------------------------------------------------
commit f220bc5b5e87d1ae7ded9f254c31c6c6443dac19
Author: Maxime Chevallier <maxime.chevallier at bootlin.com>
Date: Fri Oct 22 10:15:50 2021 +0200
Yocto: yocto-advanced: Add slides on variable scope
Signed-off-by: Maxime Chevallier <maxime.chevallier at bootlin.com>
>---------------------------------------------------------------
f220bc5b5e87d1ae7ded9f254c31c6c6443dac19
slides/yocto-advanced/yocto-advanced.tex | 14 ++++++++++++--
1 file changed, 12 insertions(+), 2 deletions(-)
diff --git a/slides/yocto-advanced/yocto-advanced.tex b/slides/yocto-advanced/yocto-advanced.tex
index dc27abc1..d83ed44b 100644
--- a/slides/yocto-advanced/yocto-advanced.tex
+++ b/slides/yocto-advanced/yocto-advanced.tex
@@ -34,6 +34,15 @@
\code{CONF_VERSION}
\item To make configuration easier, it is possible to prepend,
append or define these variables in a conditional way.
+ \item Variables defined in \textbf{Configuration Files} have a \textbf{global} scope
+ \begin{itemize}
+ \item Files ending in \code{.conf}
+ \end{itemize}
+ \item Variables defined in \textbf{Recipes} have a \textbf{local} scope
+ \begin{itemize}
+ \item Files ending in \code{.bb}, \code{.bbappend} and \code{.bbclass}
+ \end{itemize}
+ \item Recipes can also access the global scope
\item All variables can be overridden or modified in
\code{$BUILDDIR/conf/local.conf}
\end{itemize}
@@ -43,9 +52,10 @@
\frametitle{Operators and Overrides}
\begin{itemize}
\item BitBake uses a dedicated set of operators to assign values to variables
- \item Most operators will apply their effect at parsing time
+ \item The operators apply their effect immediately when executed
\item The parsing order is difficult to predict, no assumption should be made about it.
- \item Bitbakes supports \textbf{overrides}, to allow appending, prepending or modifying a variable at expansion time
+ \item Variables in the global scope therefore have a value difficult to predict
+ \item Bitbakes supports \textbf{overrides}, to allow appending, prepending or modifying a variable at expansion time, when the variable's value is read
\item Overrides are written as \code{VARIABLE_override = "some_value"}
\item A new syntax was introduced in bitbake : \code{VARIABLE:override = "some_value"}
\item It will be the new syntax to be used starting with \textbf{Honister}, with no retrocompatibility
More information about the training-materials-updates
mailing list