[FE training-materials-updates] yocto: slides: add a slide on default packages
Antoine Ténart
antoine.tenart at free-electrons.com
Mon May 22 13:45:03 CEST 2017
Repository : git://git.free-electrons.com/training-materials.git
On branch : master
Link : http://git.free-electrons.com/training-materials/commit/?id=8a504995b9036080cdcc862e0e76733dfb92ab7e
>---------------------------------------------------------------
commit 8a504995b9036080cdcc862e0e76733dfb92ab7e
Author: Antoine Tenart <antoine.tenart at free-electrons.com>
Date: Mon May 22 12:21:37 2017 +0200
yocto: slides: add a slide on default packages
Signed-off-by: Antoine Tenart <antoine.tenart at free-electrons.com>
>---------------------------------------------------------------
8a504995b9036080cdcc862e0e76733dfb92ab7e
slides/yocto-recipe-extra/yocto-recipe-extra.tex | 116 ++++++++++++++---------
1 file changed, 72 insertions(+), 44 deletions(-)
diff --git a/slides/yocto-recipe-extra/yocto-recipe-extra.tex b/slides/yocto-recipe-extra/yocto-recipe-extra.tex
index fd7b316..053a0b8 100644
--- a/slides/yocto-recipe-extra/yocto-recipe-extra.tex
+++ b/slides/yocto-recipe-extra/yocto-recipe-extra.tex
@@ -1,40 +1,5 @@
\section{Writing recipes - going further}
-\subsection{Splitting packages}
-
-\begin{frame}
- \frametitle{Benefits}
- \begin{itemize}
- \item Packages can be split.
- \item Useful when a single remote repository provides multiple
- binaries or libraries.
- \item The list of packages to provide is defined by the
- \code{PACKAGES} variable.
- \end{itemize}
-\end{frame}
-
-\begin{frame}[fragile]
- \frametitle{Example}
- \begin{itemize}
- \item The \code{kexec tools} provides \code{kexec} and \code{kdump}:
- \begin{block}{}
- \begin{minted}{sh}
-require kexec-tools.inc
-export LDFLAGS = "-L${STAGING_LIBDIR}"
-EXTRA_OECONF = " --with-zlib=yes"
-
-SRC_URI[md5sum] = "b9f2a3ba0ba9c78625ee7a50532500d8"
-SRC_URI[sha256sum] = "..."
-
-PACKAGES =+ "kexec kdump"
-
-FILES_kexec = "${sbindir}/kexec"
-FILES_kdump = "${sbindir}/kdump"
- \end{minted}
- \end{block}
- \end{itemize}
-\end{frame}
-
\subsection{Packages features}
\begin{frame}
@@ -205,15 +170,15 @@ do_compile[nostamp] = "1"
\begin{block}{}
\begin{minted}[fontsize=\scriptsize]{sh}
FILES_${PN} = \
- "${bindir}/* ${sbindir}/* ${libexecdir}/* ${libdir}/lib*${SOLIBS} \
- ${sysconfdir} ${sharedstatedir} ${localstatedir} \
- ${base_bindir}/* ${base_sbindir}/* \
- ${base_libdir}/*${SOLIBS} \
- ${base_prefix}/lib/udev/rules.d ${prefix}/lib/udev/rules.d \
- ${datadir}/${BPN} ${libdir}/${BPN}/* \
- ${datadir}/pixmaps ${datadir}/applications \
- ${datadir}/idl ${datadir}/omf ${datadir}/sounds \
- ${libdir}/bonobo/servers"
+ "${bindir}/* ${sbindir}/* ${libexecdir}/* ${libdir}/lib*${SOLIBS} \
+ ${sysconfdir} ${sharedstatedir} ${localstatedir} \
+ ${base_bindir}/* ${base_sbindir}/* \
+ ${base_libdir}/*${SOLIBS} \
+ ${base_prefix}/lib/udev/rules.d ${prefix}/lib/udev/rules.d \
+ ${datadir}/${BPN} ${libdir}/${BPN}/* \
+ ${datadir}/pixmaps ${datadir}/applications \
+ ${datadir}/idl ${datadir}/omf ${datadir}/sounds \
+ ${libdir}/bonobo/servers"
\end{minted}
\end{block}
\begin{itemize}
@@ -260,3 +225,66 @@ rootfs_deb_do_rootfs () {
\end{minted}
\end{block}
\end{frame}
+
+\subsection{Splitting packages}
+
+\begin{frame}
+ \frametitle{Benefits}
+ \begin{itemize}
+ \item Packages can be split.
+ \item Useful when a single remote repository provides multiple
+ binaries or libraries.
+ \item The list of packages to provide is defined by the
+ \code{PACKAGES} variable.
+ \item The \code{FILE} variable is often used to split the output
+ into packages.
+ \end{itemize}
+\end{frame}
+
+\begin{frame}[fragile]
+ \frametitle{Example}
+ \begin{itemize}
+ \item The \code{kexec tools} provides \code{kexec} and \code{kdump}:
+ \begin{block}{}
+ \begin{minted}{sh}
+require kexec-tools.inc
+export LDFLAGS = "-L${STAGING_LIBDIR}"
+EXTRA_OECONF = " --with-zlib=yes"
+
+SRC_URI[md5sum] = \
+ "b9f2a3ba0ba9c78625ee7a50532500d8"
+SRC_URI[sha256sum] = "..."
+
+PACKAGES =+ "kexec kdump"
+
+FILES_kexec = "${sbindir}/kexec"
+FILES_kdump = "${sbindir}/kdump"
+ \end{minted}
+ \end{block}
+ \end{itemize}
+\end{frame}
+
+\begin{frame}[fragile]
+ \frametitle{Default packages}
+ \begin{itemize}
+ \item By default several packages are produced automatically:
+ \begin{block}{}
+ \begin{minted}{sh}
+PACKAGES = "${PN}-dbg ${PN}-staticdev \
+ ${PN}-dev ${PN}-doc ${PN}-locale ${PN}"
+ \end{minted}
+ \end{block}
+ \item For each of these packages a \code{FILE} variable is defined
+ in \code{meta/conf/bitbake.conf}:
+ \begin{block}{}
+ \begin{minted}[fontsize=\scriptsize]{sh}
+FILES_${PN}-dev = \
+ "${includedir} ${FILES_SOLIBSDEV} ${libdir}/*.la \
+ ${libdir}/*.o ${libdir}/pkgconfig ${datadir}/pkgconfig \
+ ${datadir}/aclocal ${base_libdir}/*.o \
+ ${libdir}/${BPN}/*.la ${base_libdir}/*.la"
+FILES_${PN}-dbg = "/usr/lib/debug /usr/src/debug"
+ \end{minted}
+ \end{block}
+ \end{itemize}
+\end{frame}
More information about the training-materials-updates
mailing list