[bootlin/training-materials updates] master: yocto: slites: yocto-recipe-extra: move per-recipe sysroot and dependencies around (5635a1d6)

Luca Ceresoli luca.ceresoli at bootlin.com
Fri Apr 14 12:15:05 CEST 2023


Repository : https://github.com/bootlin/training-materials
On branch  : master
Link       : https://github.com/bootlin/training-materials/commit/5635a1d63e4ecdd6cd2cab01b94334da44c54a11

>---------------------------------------------------------------

commit 5635a1d63e4ecdd6cd2cab01b94334da44c54a11
Author: Luca Ceresoli <luca.ceresoli at bootlin.com>
Date:   Fri Apr 14 12:08:02 2023 +0200

    yocto: slites: yocto-recipe-extra: move per-recipe sysroot and dependencies around
    
    The "Per-recipe sysroot and dependencies" slide is somewhat misplaced in
    the "per-recipe sysroot" subsection, and it will be even more after we
    document RRECOMMENDS.
    
    In preparation, move slides around:
    
     * Split "Dependencies" to its own section. It's only one slide for the
       moment, it will grow in the next commit with RRECOMMENDS.
    
     * Move per-recipe sysroot earlier. There is a mention to
       quilt-native:do_populate_sysroot in the "Package features" subsection,
       so it is a good idea to move it before. Since the "python code" and
       "varflags" section are close firends, let's leave them together and just
       put "per-recipe sysroot" at the beginning of the section.
    
    No new/changed content except for this line:
    
      \subsection{Dependencies in detail}
    
    Signed-off-by: Luca Ceresoli <luca.ceresoli at bootlin.com>


>---------------------------------------------------------------

5635a1d63e4ecdd6cd2cab01b94334da44c54a11
 slides/yocto-recipe-extra/yocto-recipe-extra.tex | 130 ++++++++++++-----------
 1 file changed, 66 insertions(+), 64 deletions(-)

diff --git a/slides/yocto-recipe-extra/yocto-recipe-extra.tex b/slides/yocto-recipe-extra/yocto-recipe-extra.tex
index 79509915..bff26933 100644
--- a/slides/yocto-recipe-extra/yocto-recipe-extra.tex
+++ b/slides/yocto-recipe-extra/yocto-recipe-extra.tex
@@ -1,5 +1,70 @@
 \section{Writing recipes - going further}
 
+\subsection{The per-recipe sysroot}
+
+\begin{frame}{Sysroot}
+  \begin{itemize}
+    \item The {\em sysroot} is the the logical root directory for headers
+      and libraries
+    \item Where {\em gcc} looks for headers, and {\em ld} looks for
+      libraries
+    \item Contains:
+      \begin{itemize}
+        \item The kernel headers
+        \item The C library and headers
+        \item Other libraries and their headers
+      \end{itemize}
+  \end{itemize}
+\end{frame}
+
+\begin{frame}{Per-recipe sysroot}
+  \begin{itemize}
+    \item Instead of a global sysroot, bitbake implements a {\em
+      per-recipe sysroot}
+    \item Before the actual build, each recipe prepares its own sysroot
+      \begin{itemize}
+        \item Contains libraries and headers {\em only} for the recipes it
+          \code{DEPENDS} on
+        \item Ensures the configuration stage will not detect libraries not
+          explicitly listed in \code{DEPENDS} but already built for other
+          reasons
+        \item \code{${WORKDIR}/recipe-sysroot} for target recipes
+        \item \code{${WORKDIR}/recipe-sysroot-native} for native recipes
+      \end{itemize}
+    \item At the end of the build, each recipe produces its destination
+      sysroot
+      \begin{itemize}
+        \item Its own slice of sysroot, with the libraries and headers it
+          directly provides
+        \item Used as input for other recipes to generate their
+          recipe-sysroot
+        \item \code{${WORKDIR}/sysroot-destdir}
+      \end{itemize}
+  \end{itemize}
+\end{frame}
+
+\begin{frame}{Per-recipe sysroot}
+  \begin{center}
+    \includegraphics[width=1.00\textwidth]{slides/yocto-recipe-extra/per-recipe-sysroot.pdf}
+  \end{center}
+\end{frame}
+
+\begin{frame}{The complete sysroot}
+  \begin{itemize}
+  \item A complete sysroot is available:
+    \begin{itemize}
+      \item For each image
+        \begin{itemize}
+          \item In \code{${WORKDIR}/recipe-sysroot} just like any recipe
+        \end{itemize}
+      \item In the SDK
+        \begin{itemize}
+          \item Covered later
+        \end{itemize}
+    \end{itemize}
+  \end{itemize}
+\end{frame}
+
 \subsection{Using Python code in metadata}
 
 \begin{frame}
@@ -398,54 +463,7 @@ ncurses
 \end{itemize}
 \end{frame}
 
-\subsection{The per-recipe sysroot}
-
-\begin{frame}{Sysroot}
-  \begin{itemize}
-    \item The {\em sysroot} is the the logical root directory for headers
-      and libraries
-    \item Where {\em gcc} looks for headers, and {\em ld} looks for
-      libraries
-    \item Contains:
-      \begin{itemize}
-        \item The kernel headers
-        \item The C library and headers
-        \item Other libraries and their headers
-      \end{itemize}
-  \end{itemize}
-\end{frame}
-
-\begin{frame}{Per-recipe sysroot}
-  \begin{itemize}
-    \item Instead of a global sysroot, bitbake implements a {\em
-      per-recipe sysroot}
-    \item Before the actual build, each recipe prepares its own sysroot
-      \begin{itemize}
-        \item Contains libraries and headers {\em only} for the recipes it
-          \code{DEPENDS} on
-        \item Ensures the configuration stage will not detect libraries not
-          explicitly listed in \code{DEPENDS} but already built for other
-          reasons
-        \item \code{${WORKDIR}/recipe-sysroot} for target recipes
-        \item \code{${WORKDIR}/recipe-sysroot-native} for native recipes
-      \end{itemize}
-    \item At the end of the build, each recipe produces its destination
-      sysroot
-      \begin{itemize}
-        \item Its own slice of sysroot, with the libraries and headers it
-          directly provides
-        \item Used as input for other recipes to generate their
-          recipe-sysroot
-        \item \code{${WORKDIR}/sysroot-destdir}
-      \end{itemize}
-  \end{itemize}
-\end{frame}
-
-\begin{frame}{Per-recipe sysroot}
-  \begin{center}
-    \includegraphics[width=1.00\textwidth]{slides/yocto-recipe-extra/per-recipe-sysroot.pdf}
-  \end{center}
-\end{frame}
+\subsection{Dependencies in detail}
 
 \begin{frame}{Per-recipe sysroot and dependencies}
   \begin{itemize}
@@ -475,22 +493,6 @@ ncurses
   \end{itemize}
 \end{frame}
 
-\begin{frame}{The complete sysroot}
-  \begin{itemize}
-  \item A complete sysroot is available:
-    \begin{itemize}
-      \item For each image
-        \begin{itemize}
-          \item In \code{${WORKDIR}/recipe-sysroot} just like any recipe
-        \end{itemize}
-      \item In the SDK
-        \begin{itemize}
-          \item Covered later
-        \end{itemize}
-    \end{itemize}
-  \end{itemize}
-\end{frame}
-
 \subsection{Root filesystem creation}
 
 \begin{frame}




More information about the training-materials-updates mailing list