[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