source: trunk/fairerpms/presentation.tex @ 96

Last change on this file since 96 was 96, checked in by nanardon, 18 years ago
  • user's config
  • Property svn:keywords set to Id
File size: 4.3 KB
Line 
1% $Id$
2\documentclass[blends,slideColor,colorBG,pdf,ps2pdf]{prosper}
3\usepackage[frenchb]{babel}
4\usepackage[T1]{fontenc}
5%\usepackage{multicol}
6\usepackage{moreverb}
7
8
9\title{Rpm et politique de packaging}
10\subtitle{Adapter un rpm à sa distribution}
11\author{Olivier Thauvin}
12\email{olivier.thauvin@aerov.jussieu.fr}
13%%\institution{
14%%  \includegraphics*[height=0.3\textheight]{gnutux.eps}
15%%}
16
17\NoFrenchBabelItemize
18
19\begin{document}
20\maketitle
21
22\part{Introduction}
23
24\begin{slide}{Plan}
25\end{slide}
26
27\part{RPM rappel}
28
29\begin{slide}{RPM: Rpm Package Manager}
30Qu'est ce ?
31\begin{itemize}
32    \item des logiciels et des bibliothèque
33    \item une commande
34    \item un format d'archive (.rpm)
35\end{itemize}
36
37Rôle:
38\begin{itemize}
39\item facilité l'installation des logiciels
40\item suivi des version (evr)
41\item gérer la compatibilité avec le système (architecture)
42\item assurer l'intégrité du système
43    \begin{itemize}
44    \item suivi des fichiers installés
45    \item s'assurer que les logiciels fonctionneront
46    \end{itemize}
47\end{itemize}
48\end{slide}
49
50\begin{slide}{le paquet}
51Un fichier .rpm contenant:
52\begin{itemize}
53\item{header} les informations sur le rpm
54    \begin{itemize}
55    \item des informations pratique sur le logiciel (nom, version, url, \ldots)
56    \item sur la fabrication du rpm
57    \item une liste de dépendances
58    \item la liste des fichiers contenus
59    \item l'historique du paquet (changelog)
60    \end{itemize}
61\item{une archive au format cpio} (compréssée ou non)
62\end{itemize}
63\end{slide}
64
65\begin{slide}{faire un rpm}
66\begin{center}
67\includegraphics*[height=1\textheight]{rpm-building}
68\end{center}
69\end{slide}
70
71\begin{slide}{le fichier spec}
72Il décrit:
73\begin{itemize}
74\item le ou les rpms produits
75\item le moyen de compiler le logiciel
76\end{itemize}
77\bigskip
78Il est compposé par section:
79\begin{itemize}
80\item En-tête, \%description
81\item \%package
82\item \%prep, \%build, \%install, \%check
83\item \%files
84\item \%verify, \%pre, \%preun, \%post, \%postun, \%posttrans, \ldots
85\item \%changelog
86\end{itemize}
87\end{slide}
88
89\begin{slide}{specfile: exemple}
90\begin{small}
91\verbatiminput{simple.spec}
92\bigskip
93\begin{verbatim}
94$ rpm -ba simple.spec
95Ecrit: /home/users/olivier/RPM/SRPMS/simple-1-1.src.rpm
96\o/
97\end{verbatim}
98\end{small}
99\end{slide}
100
101\begin{slide}{les macros}
102Variable propres à rpm.
103
104Origine:
105\begin{tabular}{|l|l|}
106\hline
107localisation&fournisseur\\
108\hline
109\hline
110fichiers macros systèmes&rpm\\
111\hline
112fichiers macros systèmes&distribution\\
113\hline
114\verb+~/.rpmmacros+&utilisateur\\
115\hline
116fichier spec&packageur\\
117\hline
118\end{tabular}
119
120\bigskip
121Elles fournissent des valeurs ou des fonctions.
122\end{slide}
123
124\part{Politique généralité}
125
126\overlays{2}{
127\begin{slide}{Pourquoi definir une politique}
128\begin{itemize}
129\item homogenéité
130\item factorisation du travail
131\item qualité
132\item faciliter le travail
133\end{itemize}
134\bigskip
135Bref, c'est bien (tm)
136\bigskip
137
138\FromSlide{2}
139Elle doit être:
140\begin{itemize}
141\item justifiée
142\item expliquée
143\item discutée
144\item documentée
145\item approuvée
146\end{itemize}
147\end{slide}
148}
149
150\begin{slide}{Root est méchant}
151On ne build pas sous root,\\
152On ne build pas sous root,\\
153Et on ne build pas sous root.\\
154\bigskip
155
156Risques:
157\begin{itemize}
158\item polluer son système
159\item passer à coté d'erreurs
160\item compromission, corruption du système
161\item c'est impossible sur la machine de compil finale
162\item ça donne des boutons
163%\item ça rends impuissant
164\end{itemize}
165\end{slide}
166
167\begin{slide}{ne pas changer la config}
168L'envirronement de rpm fourni adapte les rpms les uns aux autres.
169
170On trouve nottament:
171\begin{itemize}
172\item les chemins par défaut
173\item la génération des dépendences
174\item post installations
175\end{itemize}
176\end{slide}
177
178\begin{slide}{Règles de base résumé}
179\begin{itemize}
180\item se documenter
181\item demander aux gens habitués à faire des packages pour leur distribution
182\item comprendre plutot que contourner
183\item un package bien fait pour une distribution est souvent incompatible
184avec les autres
185\item faire integrer son package dans la distribution
186(ça ne vaut pas que pour rpm)
187\end{itemize}
188\end{slide}
189
190\part{cas concret: Mandriva}
191
192\overlays{2}{
193\begin{slide}{Configuration utilisateur}
194\begin{itemize}
195\item definir son envirronement rpm
196\item definir le packager tag
197\end{itemize}
198
199\FromSlide{2}
200.rpmmacros:
201\bigskip
202\begin{small}
203\listinginput[5]{1}{rpmmacros}
204\end{small}
205\end{slide}
206}
207
208\end{document}
Note: See TracBrowser for help on using the repository browser.