Le format des paquetages RPM est d�j� abondamment document�, notamment dans le livre Maximum RPM d'Ed Bailey que vous pouvez t�l�charger depuis le site RPM ou trouver dans toutes les bonnes librairies! Cette section pr�sente quelques trucs pour les gens press�s.
Les paquetages RPM sont construits � partir d'un fichier de sp�cification. Il consiste (de la m�me mani�re que le fichier de configuration de KickStart) d'un ensemble d'�tapes � accomplir pour construire le paquetage - on suppose que vous avez � le construire � partir des sources, potentiellement pour plusieurs plates-formes, et avez besoin d'y appliquer des corrections avant la compilation. Une fois construit et install�, un fichier RPM sera cr�� � partir des fichiers et des r�pertoires que vous avez sp�cifi�s comme �tant associ�s au paquetage. Il est important de noter que RPM n'a aucune id�e des fichiers et r�pertoires li�s � un paquetage donn� - vous devez le lui dire.
Voici un exemple de sp�cification pour une version personnalis�e du du serveur Cache WWW Squid:
Summary: Squid Web Cache server
Name: squid
Version: 1.NOVM.22
Release: 1
Copyright: GPL/Harvest
Group: Networking/Daemons
Source: squid-1.NOVM.22-src.tar.gz
Patch: retry-1.NOVM.20.patch
%description
Juste une premi�re tentative d'empaquetage d'un serveur Squid pour
l'installer facilement sur notre serveur RedHat Linux
%prep
%setup
%build
configure --prefix=/usr/squid
perl -spi -e 's!#( -DALLOW_HOSTNAME_UNDERSCORES)!$1!' src/Makefile
make
%install
make install
%files
/usr/squid
Voici comment construire ce RPM:
% mkdir -p SOURCES BUILD SRPMS RPMS/i386
% cp ~/squid-1.NOVM.22-src.tar.gz SOURCES
% cp ~/retry-1.NOVM.20.patch SOURCES
% rpm -ba squid-1.NOVM.22+retry-1.spec
Cela va cr�er automatiquement un sous-r�pertoire dans le r�pertoire
BUILD dans lequel il va d�baller le code source et lui
appliquer les corrections (de nombreuses options concernant les
corrections sont disponibles, voir le livre pour plus de d�tails). RPM
va maintenant automatiquement construire le paquetage en lan�ant
configure
suivi de make
, l'installer avec make
install
et prendre une ``photo'' des fichiers situ�s dans
/usr/squid. C'est cette derni�re qui va constituer le binaire
RPM du logiciel Squid.
Notez que l'on peut ins�rer des commandes shell au cours des phases
de d�compression, construction et d'installation, par exemple des
appels en perl
pour modifier des param�tres de compilation.
Le fichier RPM final sera plac� dans le r�pertoire RPMS
dans le sous-r�pertoire de la plate-forme correspondante
i386. Dans notre exemple, il s'appelera
squid-1.NOVM.22-1.i386.rpm. Notez que le nom du fichier est
cr�� en collant les valeurs de certains des param�tres du fichier de
sp�cification: Name
, Version
et Release
suivi de la plate-forme, i386 dans ce cas. Gardez cela en
m�moire lorsque vous cr�erez des RPM afin d'�viter de leur donner des
noms exag�r�ment longs.
Il est �galement int�ressant de savoir que l'on peut contruire des RPM sans avoir � reconstruire tout le paquetage, par exemple:
Summary: Linux 2.0.35 kernel + filehandle patch + serial console patch
Name: linux
Version: 2.0.35+filehandle+serial_console
Release: 1
Copyright: GPL
Group: Base/Kernel
Source: linux-2.0.35+filehandle+serial_console.tar.gz
%description
C'est juste une premi�re tentative de cr�er un paquetage du noyau
Linux avec ses corrections pour l'installation de notre serveur RedHat
Linux.
%prep
echo
%setup
echo
%build
echo
%install
echo
%post
/sbin/lilo
%files
/lib/modules/2.0.35
/boot/vmlinuz
Dans ce cas, nous cr�ons simplement un RPM compos� du fichier /boot/vmlinuz et du contenu du r�pertoire /lib/modules/2.0.35, et ex�cutons /sbin/lilo apr�s que le paquetage a �t� install� sur une nouvelle machine. Si vous connaissez une meilleure fa�on d'�crire le fichier de sp�cification, faites le moi savoir.
Hosting by: Hurra Communications GmbH
Generated: 2007-01-26 18:01:28