From Mageia wiki
Revision as of 16:31, 8 October 2015 by Admel (talk | contribs) (Création de la page "réaliser votre propre rétroportage".)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Les nouveaux paquets ou les nouvelles versions des paquets déjà existant sont installé dans un premier temps dans Cauldron. Dans la plupart des cas ils sont ajoutés les dépôts stables comme mises à jour (correctifs de bogue ou de sécurité) ou comme rétroportage. La mise à disposition des paquets rétroportés dépends du temps et de la volonté de l'empaqueteur, il est aussi préalablement testé par l'équipe QA avant de le rendre accessible aux utilisateurs.

De temps en temps, vous pouvez avoir envie d'accélérer le processus et vous mettre à construire vos propres paquets rétroporté. Ce tutoriel va vous décrire comment avancer étapes par étapes dans la création de vos propres paquets RPM en utilisant les SRPM de Cauldron (paquet source marqué par l'extension src.rpm). À ne faire que sur les leaf packages seulement. Ce sont des paquets qui n'ont pas d'influence sur la distribution (jeux, logiciel multimédia indépendant etc.).

Prenez le soin de bien remplir la demande de rétroportage si vous pensez que votre paquet pourrez intéresser de nombreux utilisateurs. Un rétroportage suivant le protocole prévu a de meilleur chance d'être intégré petit à petit dans les distributions stables à venir.

Télécharger le SRPM de la version Cauldron du paquet

  • Choisir un miroir depuis Mageia's mirrors database. Dans ce tutoriel nous utiliserons distrib-coffee.ipsl.jussieu.fr.
  • Choisir le protocole (FTP ou HTTP) à l'arborescence du miroir, et aller dans distrib/cauldron/SRPMS/core/release (vous pouvez aussi choisir les dépôts nonfree ou tainted si vous voulez un SRPM qui y est présent.
  • Quand la page sera chargée (c'est parfois un peu long), recherchez votre paquet et téléchargez-le. Dans cet exemple nous allons pris le rétroportage Dust Racing 2D (dustrac).
$ cd ~/Downloads
$ wget -c http://distrib-coffee.ipsl.jussieu.fr/pub/linux/Mageia/distrib/cauldron/SRPMS/core/release/dustrac-1.7.1-2.mga5.src.rpm

Préparez l'environnement de développement

  • Avant tout vous devez installer les dépendances du paquet. Ils sont listés dans le SRPM, vous pouvez les installer par la commande suivante :
 
urpmi --buildrequires nom_du_paquet.src.rpm''.
  • Aussi vous devez installer les outils nécessaires à la création de paquet. Installez rpm-build qui devrez installer les dépendances nécessaires.
  • Quand vous créez votre paquet depuis le SRPM, ils sont par défaut mis dans le dossier ~/rpmbuild/RPMS/
    Vous trouverez plus d'information à propos de l'installation complète d'un environnement à cette page Packagers RPM tutorial, si l'empaquetage vous intéresse.
 $ su
 # urpmi rpm-build
 # urpmi --buildrequires dustrac-1.7.1-2.mga5.src.rpm
 # exit

Créer le binaire d'un RPM depuis le SRPM

Vous êtes maintenant prêt pour fabriquer votre premier RPM avec rpmbuild --rebuild nom_du_paquet.src.rpm. Assurez-vous d'être en utilisateur simple et non pas en tant qu'administrateur (root) :

$ rpmbuild --rebuild dustrac-1.7.1-2.mga5.src.rpm

Les lignes suivantes devraient s'afficher :

Warning: user iurt does not exist - using root
Warning: group iurt does not exist - using root

Ignorez simplement ce message.


If the package does not build easily, then it does not qualify for a quick and dirty backport, and you should ask its maintainer to do a proper backport, if she sees fit.

Installer ou supprimer votre rétroportage fait maison

  • Sauf contre-indication, le paquet sera crée dans le dossier ~/rpmbuild/RPMS/$ARCH, $ARCH étant l'architecture du paquet (x86_64, i586 ou noarch).
    L'architecture devrait être soit identique à celle de votre distribution soit noarch (parfois les deux quand il y a plusieurs RPMs).
$ cd ~/rpmbuild/RPMS/
$ su
$ urpmi x86_64/dustrac-1.7.1-2.x86_64.rpmbuild
# exit
  • Dans certains cas, plusieurs paquets sont contruit à partir d'un même SRPM. Si ces paquets dépendent les uns des autres, vous devez écrire le chemin correspondant à chaque paquet nécessaire dans à la commande urpmi.
  • Le nouveau paquet installé est inclus dans votre base de donnée RPM, vous pouvez alors le désinstaller comme un paquet traditionnel :
urpme dustrac