3- La démarche

3Úme partie
dimanche 16 janvier 2005
par  Vincent Beuselinck
popularité : 1%

En pratique

1) Prérequis

Tout d’abord, vous devez installer quelques paquetages :
- rpm ;
- rpm-build ;
- spec-helper ;
- libtool ;
- rpmlint.

Le paquetage rpm est probablement déjà installé ;)
Pour les autres paquetages, ouvrez une console en se "loguant" en root, tapez cette commande :

urpmi rpm-build spec-helper libtool rpmlint

Il faut bien sûr accepter l’installation des dépendances que l’utilitaire urpmi vous
réclame.

Décidez maintenant quel utilisateur (ici monpseudo) va compiler le paquet : ça ne doit jamais
être root !

Passez donc sous ce login en tapant :

su monpseudo

Ensuite une deuxième commande va installer les répertoires utiles.

mkdir -p ~/rpm/{BUILD,RPMS/i586,RPMS/noarch,SOURCES,SRPMS,SPECS,tmp}

ATTENTION : Remplacez i586 par votre architecture.
Ces répertoires sont installés dans votre répertoire personnel (/home/monpseudo selon l’exemple choisi).

2) La configuration générale

En "standard" sur Mandrake 10, vous trouverez les fichiers suivants :

Ces deux fichiers se trouvent dans le répertoire $HOME de l’utilisateur. Comme vous le
voyez, le premier .rpmrc donne une série
d’équivalences. les développeurs de Mandriva ont pris comme plate-forme de
référence le i586.

Le second fichier contient des variables générales, à savoir :
- topdir contient le chemin vers le dossier rpm donc
/home/monpseudo/rpm.
C’est à partir de cet endroit que RPM s’attend à trouver les sous-dossiers
nécessaires à la fabrication d’un rpm (voir les prérequis).
- tmppath désigne le dossier dans lequel RPM copiera ses fichiers
temporaires pendant la fabrication de l’archive.
# Les variables ci-dessous ne sont utiles que pour le référencement Mandrake.
- signature, c’est le logiciel GPG qui servira à authentifier
votre paquet.
- gpg name, la clé de MandrakeSoft servira à signer le paquet qui sera proposé sur leur serveur [1].
- gpg path, vos fichiers de configuration gpg se trouvent là
(ici, ~/.gnupg signifie dans le dossier $HOME (le  ), sous-dossier caché
gnupg.
- distribution la distribution pour laquelle votre paquet est
conçu.
- vendor c’est vous si vous ne travaillez pas pour
Mandrakesoft.

3) Les fichiers SPECs

Le fichier SPEC est un fichier texte (donc votre éditeur de texte préféré fera l’affaire) qui indique à l’application RPM comment construire votre rpm. Il se découpe en "sections". Voici des extraits commentés du squelette proposé par
Mandrakeclub que nous avons commentés :

4) La compilation

Selon les cas, la compilation se fera de plusieurs façons.
Si vous démarrez d’un fichier src.rpm (ou "srpm"),il vous faudra taper simplement :

rpm --rebuild lenomdemonfichier.src.rpm

Et si tout va bien, vous obtendrez au final une archive lenomdemonfichier.i586.rpm (ou une autre architecture, ça dépend de votre besoin exprimé dans vos fichiers de configuration)

Si vous partez d’un tar.bz2, il vous faut taper :

rpm -ba lenomdemonfichier.spec

— C’est tout ?
— Oui, c’est tout !
— T’es sûr ?
— Bon si vous insistez, voilà d’autres possibilités...

- rpm -ba fait toute la compilation (a signifiant "all", en
français "tout") mais elle peut être décomposée en étapes :
- rpm -bp ne fait par exemple que la préparation avant
compilation
- rpm -bc va jusque la compilation mais n’installe rien dans
buildroot
- rpm -bi va jusqu’à l’installation dans buildroot mais ne
crée pas les rpm
- rpm -bb construit juste le i586.rpm mais pas le src.rpm (les
étapes précédentes sont donc faites)
- rpm -bs construit le src.rpm mais pas le i586.rpm
- rpm -bl vérifie la présence des fichiers dont il aura besoin
pour l’installation (il faut donc "construire" avant).

Dans tous les cas, on indique en paramètre le fichier spec et l’endroit où il
se trouve. Parfois celui-ci est directement dans le dossier "taré" des sources
(le sources.tar.bz2), on peut alors soit extraire ce fichier SPEC pour pouvoir
lancer notre compilation par rpm -ba soit remplacer le B de rpm -ba par un
T (rpm -ta) qui demande à rpm d’aller chercher le SPEC dans le fichier tar
des sources.


4Úme partie : Quelques exemples

Retour à la 2Úme partie : Les principes de création d’un RPM


[1La mise en oeuvre se fera par Mandrakesoft si les développeurs responsables des archives décident d’intègrer votre paquet à la distribution. Cf http://qa.mandriva.com/twiki/bin/vi...


Commentaires

Agenda

<<

2023

>>

<<

Mai

>>

Aujourd’hui

LuMaMeJeVeSaDi
1234567
891011121314
15161718192021
22232425262728
293031    

Annonces

Annuaire LibreNord

Retrouvez l’annuaire de logiciels libres créé par l’association Club Linux Nord-Pas de Calais sur le site suivant http://www.librenord.org


Sur le Web

26 mai - Sans titre

26 mai - Synchronisation

26 mai - Retour amoureux puissant pour faire revenir son ex partenaire +22962024177

26 mai - Médium retour affectif rapide et efficace +22962024177

26 mai - Faire revenir l’être aimé avec photo, comment faire revenir son ex amoureux immédiatement ?, comment reconquérir son ex femme?

26 mai - Rituel efficace pour récupérer son ex: Comment récupérer votre ex conjoint par la magie d’amour efficace, Faire revenir son ex avec photo, Retour de l’etre aimer rapide, Retour amoureux puissant, Rituel d’amour

26 mai - Retour de l’etre aimer avec photo, faire revenir son ex avec photo, retour amoureux rapide +22962024177

26 mai - Sort d’amour: Comment jeter un sort amoureux a distance ?, Sortilège d’amour rapide, sort d’amour a distance avec photo +22962024177

26 mai - Expert en retour affectif rapide et efficace +22962024177

26 mai - Retour d’affection efficace, retour d’affection rapide et efficace, retour d’affection rapide +22962024177

26 mai - Retour affectif rapide définitif de l'être aimé en 24h

25 mai - Peertube plugin to auto import videos from a youtube channel

24 mai - Upgrade script fails on postgres backup

24 mai - Blacklist de mon IP (?)

24 mai - Ma présentation: rkeller

24 mai - Préciser le partage framagenda pour la doc

24 mai - Move to object storage failed, now video will not move with command line

23 mai - Framaform : problème d'affichage : liste de caractères aléatoires dans les réponses

23 mai - Présentation de Florence

23 mai - REsolver error de conexion de base de datos