[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