Index: /trunk/formation-rpms/Makefile
===================================================================
--- /trunk/formation-rpms/Makefile	(revision 245)
+++ /trunk/formation-rpms/Makefile	(revision 246)
@@ -4,5 +4,10 @@
 
 SOURCES= \
-	main.tex
+	main.tex \
+	main.handout.tex
+
+INCLUDED = \
+	usage.tex \
+	building.tex
 
 FIGURES= \
@@ -17,4 +22,6 @@
 EPS=$(FIGURES:.fig=.eps) $(IMAGES:.png=.eps)
 
+DEPENDENCIES = $(INCLUDED)
+
 all: pdf
 
@@ -25,9 +32,9 @@
 pesentation.dvi:
 
-%.dvi: %.tex $(EPS)
+%.dvi: %.tex $(EPS) $(DEPENDENCIES)
 	(latex -halt-on-error $< && latex -halt-on-error $<) || (rm $@ && /bin/false)
 
-%.pdf: %.dvi
-	dvipdf $< $@
+%.pdf: %.tex $(DEPENDENCIES)
+	(pdflatex -halt-on-error $< && pdflatex -halt-on-error $<) || (rm $@ && /bin/false)
 
 %.eps: %.fig
@@ -37,4 +44,7 @@
 	convert $< $@
 
+main.handout.tex: main.tex
+	cat $< | sed 's/notes/handout/' > $@
+
 clean:
 	rm -f $(EPS)
Index: /trunk/formation-rpms/building.tex
===================================================================
--- /trunk/formation-rpms/building.tex	(revision 246)
+++ /trunk/formation-rpms/building.tex	(revision 246)
@@ -0,0 +1,14 @@
+\subsection{Architectures}
+
+\section{prélimaires}
+
+\section{le .spec}
+\subsection{composition}
+\subsection{minimal}
+\subsection{sections}
+\subsection{"libidification"}
+
+\section{Exemples concrets}
+\subsection{\%configure}
+\subsection{un module perl}
+
Index: /trunk/formation-rpms/main.tex
===================================================================
--- /trunk/formation-rpms/main.tex	(revision 245)
+++ /trunk/formation-rpms/main.tex	(revision 246)
@@ -1,5 +1,4 @@
 % $Id$
 \documentclass[notes]{beamer}
-%\documentclass[blends,slideColor,colorBG,pdf,ps2pdf]{prosper}
 \usepackage[frenchb]{babel}
 \usepackage[T1]{fontenc}
@@ -12,5 +11,5 @@
   \definecolor{sidebackground}{RGB}{230,242,250}
   \color{beamerstructure}
-  \usetheme{Antibes}
+  \usetheme[secheader]{Madrid}
   \usepackage{times}
   \userightsidebarcolortemplate{\color{sidebackground}}
@@ -18,184 +17,20 @@
 }
 
+\begin{document}
+
 \title{RPM: Packaging}
 \subtitle{Du code source au paquetage}
 \author{Olivier Thauvin}
-%\email{olivier.thauvin@aerov.jussieu.fr}
-%%\institution{
-%%  \includegraphics*[height=0.3\textheight]{gnutux.eps}
-%%}
 
-\NoFrenchBabelItemize
+\frame{\maketitle}
 
-\begin{document}
-    
-\frame{\maketitle}
-\frame{\tableofcontents}
-
-\section{RPM, fondamentaux}
-\subsection{Historique}
-\frame{
-\title{Historique}
-\vfill
-Originellement: \textit{Redhat Package Manager}
-\vfill
-2005: Patatra: fork de Jeff Johnson: \textit{RPM Package Manager}
-
-Il y a donc deux rpms respectivement en version 4.4.2 et 4.4.8. %% (\date)
-\vfill\vfill
-}
-
-\subsection{Role de rpms}
-
-\frame{
-\title{Roles de rpms}
-\begin{itemize}
-\item Gestion du parc logiciel
-    \begin{itemize}
-    \item installation
-    \item désinstallation
-    \end{itemize}
-\item Controle de l'état du système
-    \begin{itemize}
-    \item Intégrité du système
-    \item Repérage des fichiers modifiés
-    \end{itemize}
-\end{itemize}
-}
-
-\subsection{Les différentes parties de rpm}
-
-\frame{
-\title{Les logiciels}
-\vfill
-\begin{center}
-\begin{tabular}{|c|l|}
-\hline
-Binaire&Fonction\\
-\hline
-\hline
-rpm&Frontend aux modules rpm\\
-\hline
-rpmi&Installation (rpm -i/U)\\
-\hline
-rpmu&Installation (rpm -i/U)\\
-\hline
-rpme&Désinstallation (rpm -e)\\
-\hline
-rpmquery&Interrogation (rpm -q)\\
-\hline
-rpmbuild&Construction de rpm\\
-\hline
-rpmdb&Action sur la rpm db\\
-\hline
-\end{tabular}
-\end{center}
-\vfill
-\vfill
-}
-
-\begin{frame}[fragile]
-\title{Les librairies}
-\vfill
-Située dans \verb+/usr/lib(64)+
-\vfill
-% \begin{center}
-\begin{tabular}{|c|l|}
-\hline
-Librairies&Rôle\\
-\hline
-\hline
-librpm&Lecture des fichiers rpm\\
-&Résolution des dépendances\\
-\hline
-librpmbuild&Construction de rpm\\
-\hline
-librpmdb&Accès à la rpm db\\
-\hline
-librpmio&Abstraction générique des entrées/sorties\\
-&Evaluation des macros\\
-\hline
-\end{tabular}
-% \end{center}
-\vfill
-\vfill
+\begin{frame}
+\frametitle{Plan}
+\tableofcontents[hideallsubsections]
 \end{frame}
 
-\subsection{Configuration}
+\include{usage}
 
-\begin{frame}[fragile]
-\title{La configuration}
-\vfill
-Toute la configuration se fait via des macros,
-système de variable à évaluation tardive.
-\vfill
-\begin{itemize}
-\item /usr/lib/rpm/macros (système)
-\item ~/.rpmmacros (utilisateur)
-\end{itemize}
-\vfill
-{\scriptsize
-\begin{verbatim}
-%__dbi_htconfig_current     %{__dbi_htconfig}
-%__dbi_htconfig_rebuild     %{__dbi_htconfig} %{__dbi_rebuild}
-
-%_dbi_htconfig      \
-  %{?_rpmdb_rebuild:%{__dbi_htconfig_rebuild}}\
-  %{!?_rpmdb_rebuild:%{__dbi_htconfig_current}}\
-%{nil}
-\end{verbatim}
-}
-\vfill
-\vfill
-\end{frame}
-
-\subsection{Dépendendances}
-
-\begin{frame}[fragile]
-\title{Dépendances}
-\vfill
-Contraintes au niveau de l'installation ou de la construction des rpms.
-\vfill
-Elles s'expriment en terme package avec éventuellement
-une version (\verb+<=> VERSION+).
-\vfill
-\vfill
-{\scriptsize
-\begin{tabular}{|c|l|l|}
-\hline
-Type&Installation&Construction\\
-\hline
-\hline
-\hline
-Provides&Fourni&N/A\\
-\hline
-\hline
-Requires&A besoin de&A besoin de\\
-\hline
-Conflicts&Ne peut pas être installer avec&Ne peut être construit avec\\
-\hline
-Obsoletes&Remplace (discrètement)&N/A\\
-\hline
-Trigger&Déclancher une action si \ldots est installé&N/A\\
-\hline
-\end{tabular}
-}
-\vfill
-\vfill
-\end{frame}
-
-\subsection{Architectures}
-
-\section{prélimaires}
-
-\section{le .spec}
-\subsection{composition}
-\subsection{minimal}
-\subsection{sections}
-\subsection{"libidification"}
-
-\section{Exemples concrets}
-\subsection{\%configure}
-\subsection{un module perl}
+\include{building}
 
 \end{document}
Index: /trunk/formation-rpms/usage.tex
===================================================================
--- /trunk/formation-rpms/usage.tex	(revision 246)
+++ /trunk/formation-rpms/usage.tex	(revision 246)
@@ -0,0 +1,255 @@
+\section{Présentation de rpms}
+
+\frame{
+\frametitle{Historique}
+\vfill
+\begin{block}{Origine}
+Originellement: \textit{Redhat Package Manager}
+
+\href{http://rpm.org/}{http://rpm.org/}
+\end{block}
+\vfill
+\begin{block}{Le fork}
+2005: Patatra: fork de Jeff Johnson: \textit{RPM Package Manager}
+\href{http://rpm5.org/}{http://rpm5.org/}
+
+Il y a donc deux rpms respectivement en version 4.6.0 et 4.5.2. (au \today{} )
+\end{block}
+\vfill
+}
+
+\frame{
+\frametitle{Roles de rpms}
+\begin{block}{Gestion des logiciels installés}
+    \begin{itemize}
+    \item installation
+    \item désinstallation
+    \item mise à jour
+    \end{itemize}
+\end{block}
+
+\begin{block}{Controle de l'état du système}
+    \begin{itemize}
+    \item Intégrité du système
+    \item Repérage des fichiers modifiés
+    \end{itemize}
+\end{block}
+}
+
+\frame{
+\frametitle{Rpm ?}
+\begin{block}{Le terme rpm désigne}
+\begin{itemize}
+\item un logiciel
+\item une série de commandes
+\item une format de fichier
+\end{itemize}
+\end{block}
+}
+
+\section{Fonctionnement}
+
+\begin{frame}[fragile]
+\frametitle{Information de base d'un rpm}
+\begin{block}{Version d'un rpm}
+\begin{itemize}
+\item le nom: deux rpm de même nom se remplacent
+\item la version: identifie la version du logiciel
+\item la release: la version du rpm pour la version de ce logiciel
+\item l'epoch: permet de forcer l'ordre entre deux versions
+\end{itemize}
+\end{block}
+\pause
+\vfill
+\begin{block}{l'Architecture}
+\begin{itemize}
+\item assure que le logiciel fonctionne sur la machine
+\item \verb+noarch+ indique que le rpm fonctionne "partout"
+\item ont des priorités (i586 est mieux que i386)
+\end{itemize}
+\end{block}
+\pause
+\vfill
+\begin{exampleblock}{}
+foo-2.1-1.i586 mets à jour foo-2.0-1.i586
+\end{exampleblock}
+\end{frame}
+
+\begin{frame}[fragile]
+\frametitle{Dépendances}
+\vfill
+\begin{block}{}
+\begin{itemize}
+\item Contraintes au niveau de l'installation (ou de la construction) des rpms.
+\item Elles s'expriment en terme de mot clef avec éventuellement
+une version (\verb+<=> VERSION+).
+\end{itemize}
+\end{block}
+\pause
+\vfill
+\begin{block}{Les type de dépendances}
+{\scriptsize
+\begin{tabular}{|c|l|l|}
+\hline
+Type&Installation&Construction\\
+\hline
+\hline
+Provides&Fourni&N/A\\
+\hline
+\hline
+Requires&A besoin de&A besoin de\\
+\hline
+Conflicts&Ne peut pas être installer avec&Ne peut être construit avec\\
+\hline
+Obsoletes&Remplace (discrètement)&N/A\\
+\hline
+Trigger&Déclancher une action si \ldots est installé&N/A\\
+\hline
+\end{tabular}
+}
+\end{block}
+\pause
+\vfill
+\begin{alertblock}{Relations:}
+Toutes les contraintes s'appliquent sur les \verb+provides+ dans
+\verb+obsoletes+ qui s'appliquent sur le nom du rpm.
+\end{alertblock}
+\vfill
+\end{frame}
+
+
+\section{Les .rpm}
+
+\subsection{Format}
+
+\frame{
+\frametitle{Contenu d'un fichier rpm}
+\begin{block}{le Lead}
+Quasi inutilisé désormais
+\end{block}
+\begin{block}{Le Header}
+Contient la description du fichier rpm, sous de tags
+\end{block}
+\begin{block}{L'Archive CPIO}
+Les fichiers à installer sous format d'un cpio généralement compréssés
+\end{block}
+}
+
+\frame{
+\frametitle{Le Header}
+\begin{block}{Format}
+\begin{itemize}
+\item à ce jour, format binaire
+\item liste de Tags
+\end{itemize}
+\end{block}
+\vfill
+\begin{block}{Les tags}
+\begin{itemize}
+\item chaque tag a un nom
+\item plusieurs type: numérique, chaine, binaire
+\item valeurs multiple possible pour certains
+\end{itemize}
+\end{block}
+\vfill
+\begin{exampleblock}{Exemple de tag}
+\begin{tabular}{|c|l|}
+\hline
+NAME&Nom du rpms\\
+\hline
+PACKAGER&Celui qui a fait le rpm\\
+\hline
+
+\end{tabular}
+\end{exampleblock}
+}
+
+\section{Le programme}
+
+\subsection{Les différentes parties de rpm}
+
+\frame{
+\frametitle{Les logiciels}
+\vfill
+\begin{center}
+\begin{tabular}{|c|l|}
+\hline
+Binaire&Fonction\\
+\hline
+\hline
+rpm&Frontend aux modules rpm\\
+\hline
+rpmi&Installation (rpm -i/U)\\
+\hline
+rpmu&Installation (rpm -i/U)\\
+\hline
+rpme&Désinstallation (rpm -e)\\
+\hline
+rpmquery&Interrogation (rpm -q)\\
+\hline
+rpmbuild&Construction de rpm\\
+\hline
+rpmdb&Action sur la rpm db\\
+\hline
+\end{tabular}
+\end{center}
+\vfill
+\vfill
+}
+
+\begin{frame}[fragile]
+\frametitle{Les librairies}
+\vfill
+Située dans \verb+/usr/lib(64)+
+\vfill
+% \begin{center}
+\begin{tabular}{|c|l|}
+\hline
+Librairies&Rôle\\
+\hline
+\hline
+librpm&Lecture des fichiers rpm\\
+&Résolution des dépendances\\
+\hline
+librpmbuild&Construction de rpm\\
+\hline
+librpmdb&Accès à la rpm db\\
+\hline
+librpmio&Abstraction générique des entrées/sorties\\
+&Evaluation des macros\\
+\hline
+\end{tabular}
+% \end{center}
+\vfill
+\vfill
+\end{frame}
+
+\subsection{Configuration}
+
+\begin{frame}[fragile]
+\frametitle{La configuration}
+\vfill
+Toute la configuration se fait via des macros,
+système de variable à évaluation tardive.
+\vfill
+\begin{itemize}
+\item /usr/lib/rpm/macros (système)
+\item ~/.rpmmacros (utilisateur)
+\end{itemize}
+\vfill
+{\scriptsize
+\begin{verbatim}
+%__dbi_htconfig_current     %{__dbi_htconfig}
+%__dbi_htconfig_rebuild     %{__dbi_htconfig} %{__dbi_rebuild}
+
+%_dbi_htconfig      \
+  %{?_rpmdb_rebuild:%{__dbi_htconfig_rebuild}}\
+  %{!?_rpmdb_rebuild:%{__dbi_htconfig_current}}\
+%{nil}
+\end{verbatim}
+}
+\vfill
+\vfill
+\end{frame}
+
+
