Quel intérêt ?
Et bien c'est simple, vous avez une Mageia stable, et vous voulez un paquet présent dans la version de développement (Cauldron) ou qui est "plus à jour", il peut être intéressant de se fabriquer un RPM maison Mageia2.
Lorsque j'ai réalisé cet article, la version stable de Mageia était la 2, et la version Cauldron sera la future 3.
Les paquets .mga2 sont donc les stables, et les .mga3 sont les Cauldron.
Ma machine est une 64bits, les paquets seront de type x86_64.
Pour télécharger les fichiers sources, On peut utiliser le site http://pkgs.org ou bien http://mageia.madb.org/ . La recherche de paquets est simple.
Tout d'abord, pas de bricolage sans marteau, donc pas de compilation sans scripts et programmes pour compiler nos paquets.
Préparons le terrain, installons les outils :
Si on souhaite créer des paquets signés, installer
rpm-sign.
Il est bon de noter qu'un paquet compilé, ou "buildé" en franglais, sera de la même architecture et version que votre Mageia.
Si vous possédez une Mageia 2 64bits, vous aurez un paquet xxxxxxxx.mga2.x86_64.rpm
Je vais illustrer la création d'un paquet Mageia2 du logiciel pbzip2 (Parallel implementation de bzip2) qui n'est disponible que dans Cauldron.
Dans un premier temps, je télécharge le fichier source depuis internet :
Ensuite, la deuxième étape consiste à télécharger les
build requires, c'est à dire les paquets nécessaires au bon fonctionnement de la future application à packager:
Il peut arriver que les dépendances n'existent pas, car elles aussi sont seulement dans les dépôts Cauldron, les compiler avant en suivant cette partie et la suivante)
Dernière étape, on build notre paquet :
Avant de compiler le paquet, je me suis placé dans le /root, avec l'utilisateur root.
Mon paquet nouvellement buildé se trouve alors dans
/root/rpmbuild/RPMS/x86_64
Je tente l'installation de mon paquet:
Voila, notre logiciel est installé.
Je vais illustrer la création d'un paquet Mageia2 du logiciel PlayOnLinux qui est disponible en version 4.0.15 chez Mageia2 et dont les sources du logiciel sur Internet sont en version 4.1.9.
Dans un premier temps, on télécharges le rpm source :
Ensuite, la deuxième étape consiste à télécharger les build requires, c'est à dire les paquets nécessaires au bon fonctionnement de la future application à packager:
On extrait ensuite notre paquet source :
Après cette opération, les fichiers sources se situent dans
$HOME/rpmbuild/SOURCES et le fichier SPEC dans
$HOME/rpmbuild/SPECS/
Le fichier SPEC contient toutes les informations de version, d'empaquetage et d'installation d'un fichier RPM.
Nous mettons le nouveau
.tar.gz dans le dossier
SOURCES
Ensuite, on édite le fichier SPEC
On change le numéro de version avec celle du paquet nouvellement téléchargée
Aussi, si l'on souhaite modifier le changelog en dessous en respectant la mise en forme :
On enregistre les modifications.
On lance la création du RPM et SRPM dans la console :
Le RPM sera crée selon l'architecture du système :
ou
Et la source :
Il ne sera pas possible de créer le RPM pour l'autre architecture, sauf depuis une machine virtuelle ou un autre ordinateur.
Vous ne reste qu'à installer et partager !
Une autre méthode permet la création de paquets RPM, de façon simple, à partir des fichiers sources des programmes.
Cette méthode consiste à utiliser Checkinstall.
L'utilisation de Checkinstall nécessite plusieurs paquets : checkinstall, make, et gcc.
Ceux-ci doivent être installés.
Voici la méthode :
1. Télécharger le fichier source (.tar.gz ou .tgz) à partir du site du programme. L'extraire avec un des outils de décompression, ou via l'option extraire (clic droit sur le fichier) présente au niveau de votre bureau, dans un répertoire de votre choix du dossier personnel.
Remarque: Vérifiez sur le site du programme, si le fichier source à compiler ne requiert pas des dépendances (dans ce cas, si celles-ci sont disponibles dans les dépôts, installez les).
2. Ouvrir une console. Passer en mode root (su).
3. Se rendre dans le répertoire créé par l'extraction du fichier.
4. Lancer la commande : ./configure
5. Lancer la commande : make
6. Lancer la commande checkinstall ,et répondre aux questions posées.
Lorsque ceci est terminé, le système vous indique l'endroit où le fichier RPM est placé.
Le programme peut être installé en double cliquant dessus.