[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