m (→Préparez l'environnement de développement) |
|||
(7 intermediate revisions by 5 users not shown) | |||
Line 1: | Line 1: | ||
− | + | {{bandeau multi-langues-fr|[[Wie_man_eigene_Backports_erstellt-de|Deutsch]] ; [[How to do your own backports|English]] ; [[Réaliser_votre_propre_rétroportage-fr|Français]]}} | |
− | |||
− | |||
− | + | Les nouveaux paquets ou les nouvelles versions des paquets déjà existants sont installés dans un premier temps dans Cauldron. Ils peuvent être ajoutés ensuite dans les dépôts stables sous forme de mises à jour (correctifs de bogue ou de sécurité) ou comme rétroportage (dépôts backports). | |
− | + | <!---La mise à disposition des paquets rétroportés dépend 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. (pourquoi en commentaire ? André--->Actuellement, les dépôts backports ne sont pas en service, pour des questions d'infrastructure disponible. | |
+ | |||
+ | De temps en temps, vous pouvez avoir envie de disposer d'une version récente et vous mettre à construire vos propres paquets rétroportés. 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, logiciels multimédia indépendants, etc.). | ||
+ | |||
+ | N'hésitez pas à remplir une demande de rétroportage sur [http://bugs.mageia.org Bugzilla] si vous pensez que ce paquet pourrait intéresser d'autres utilisateurs. Un rétroportage est la meilleure façon se s'assurer que la mise à niveau vers une version ultérieure de Mageia se fera sans encombres. | ||
== Télécharger le SRPM de la version Cauldron du paquet == | == Télécharger le SRPM de la version Cauldron du paquet == | ||
− | * Choisir un miroir depuis [http://mirrors.mageia.org/ Mageia | + | * Choisir un miroir depuis la [http://mirrors.mageia.org/ banque de miroirs de Mageia]. Dans ce tutoriel nous utiliserons distrib-coffee.ipsl.jussieu.fr. |
− | * Choisir le protocole (FTP ou HTTP) | + | * Choisir le protocole (FTP ou HTTP) et naviguer dans le miroir, 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 | + | * Quand la page est chargée (c'est parfois un peu long), recherchez votre paquet et téléchargez-le. Dans cet exemple nous avons pris le rétroportage de Dust Racing 2D (dustrac). |
− | $ cd ~/ | + | $ cd ~/Téléchargements |
$ wget -c http://distrib-coffee.ipsl.jussieu.fr/pub/linux/Mageia/distrib/cauldron/SRPMS/core/release/dustrac-1.7.1-2.mga5.src.rpm | $ 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 == | == Préparez l'environnement de développement == | ||
− | * Avant tout | + | * Avant tout vous devez installer les '''dépendances de compilation'''. Elles sont listées dans le SRPM, vous pouvez les installer par la commande suivante : |
− | + | # urpmi --buildrequires nom_du_paquet.src.rpm | |
− | urpmi --buildrequires nom_du_paquet.src.rpm | + | * Vous aurez aussi besoin d'installer les outils nécessaires à la création de paquet. Installez {{pkg-fr|rpm-build}} qui installera les dépendances nécessaires. |
− | + | * Quand vous créez vos paquets depuis des SRPM, ils sont par défaut mis dans le dossier {{file|~/rpmbuild/RPMS/}}<br />Vous trouverez plus d'information à propos de l'installation complète d'un environnement à cette page [https://wiki.mageia.org/en/Packagers_RPM_tutorial#Preliminary_tasks Packagers RPM tutorial], si l'empaquetage vous intéresse. | |
− | * | ||
− | * Quand vous créez | ||
− | |||
$ su | $ su | ||
# urpmi rpm-build | # urpmi rpm-build | ||
# urpmi --buildrequires dustrac-1.7.1-2.mga5.src.rpm | # urpmi --buildrequires dustrac-1.7.1-2.mga5.src.rpm | ||
# exit | # exit | ||
− | |||
− | {{astuce-fr|Afin de vous faciliter l'accès à la création de paquet, vous pouvez aussi | + | {{astuce-fr|Afin de vous faciliter l'accès à la création de paquet, vous pouvez aussi installer le paquet {{pkg-fr|bm}} (pour build manager).}} |
== Créer le binaire d'un RPM depuis le SRPM == | == 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) : | 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 | |
− | $ rpmbuild --rebuild dustrac-1.7.1-2.mga5.src.rpm | ||
− | |||
Les lignes suivantes devraient s'afficher : | Les lignes suivantes devraient s'afficher : | ||
<pre> | <pre> | ||
Line 46: | Line 42: | ||
Ignorez simplement ce message. | Ignorez simplement ce message. | ||
− | + | Si des erreurs se produisent à la construction du paquet, il est probable qu'il soit trop complexe pour la méthode « à la va-vite » décrite ici. Vous pouvez alors solliciter l'aide du mainteneur du paquet ou d'autres contributeurs Mageia, voire faire une demande formelle de rétroportage sur [http://bugs.mageia.org Bugzilla]. | |
− | |||
== Installer ou supprimer votre rétroportage fait maison == | == Installer ou supprimer votre rétroportage fait maison == | ||
− | * | + | * Si vous ne l'avez pas configuré autrement, le paquet sera crée dans le dossier {{file|~/rpmbuild/RPMS/$ARCH}}, ''$ARCH'' étant l'architecture du paquet (''x86_64'', ''i586'' ou ''noarch'').<br />L'architecture sera identique à celle de votre distribution, ou ''noarch'' (parfois les deux quand il y a plusieurs RPM). |
− | + | $ cd ~/rpmbuild/RPMS/ | |
− | $ cd ~/rpmbuild/RPMS/ | + | $ su |
− | $ su | + | # urpmi x86_64/dustrac-1.7.1-2.x86_64.rpm |
− | + | # exit | |
− | # exit | ||
− | |||
− | * Dans certains cas, plusieurs paquets sont | + | * Dans certains cas, plusieurs paquets sont construits à partir d'un même SRPM. Si ces paquets dépendent les uns des autres, vous devez écrire le chemin relatif vers chaque paquet nécessaire dans la commande {{cmd|urpmi}}. |
− | * Le nouveau paquet installé est inclus dans votre base de donnée RPM, vous pouvez alors le désinstaller comme un paquet | + | * Le nouveau paquet installé est inclus dans votre base de donnée RPM, vous pouvez alors le désinstaller comme un paquet ordinaire : |
− | + | # urpme dustrac | |
− | urpme dustrac | ||
− | |||
</div> | </div> |
Revision as of 22:09, 10 March 2019
Template:Bandeau multi-langues-fr
Les nouveaux paquets ou les nouvelles versions des paquets déjà existants sont installés dans un premier temps dans Cauldron. Ils peuvent être ajoutés ensuite dans les dépôts stables sous forme de mises à jour (correctifs de bogue ou de sécurité) ou comme rétroportage (dépôts backports).
Actuellement, les dépôts backports ne sont pas en service, pour des questions d'infrastructure disponible.
De temps en temps, vous pouvez avoir envie de disposer d'une version récente et vous mettre à construire vos propres paquets rétroportés. 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, logiciels multimédia indépendants, etc.).
N'hésitez pas à remplir une demande de rétroportage sur Bugzilla si vous pensez que ce paquet pourrait intéresser d'autres utilisateurs. Un rétroportage est la meilleure façon se s'assurer que la mise à niveau vers une version ultérieure de Mageia se fera sans encombres.
Contents
Télécharger le SRPM de la version Cauldron du paquet
- Choisir un miroir depuis la banque de miroirs de Mageia. Dans ce tutoriel nous utiliserons distrib-coffee.ipsl.jussieu.fr.
- Choisir le protocole (FTP ou HTTP) et naviguer dans le miroir, 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 est chargée (c'est parfois un peu long), recherchez votre paquet et téléchargez-le. Dans cet exemple nous avons pris le rétroportage de Dust Racing 2D (dustrac).
$ cd ~/Téléchargements $ 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 de compilation. Elles sont listées dans le SRPM, vous pouvez les installer par la commande suivante :
# urpmi --buildrequires nom_du_paquet.src.rpm
- Vous aurez aussi besoin d'installer les outils nécessaires à la création de paquet. Installez Template:Pkg-fr qui installera les dépendances nécessaires.
- Quand vous créez vos paquets depuis des 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.
Si des erreurs se produisent à la construction du paquet, il est probable qu'il soit trop complexe pour la méthode « à la va-vite » décrite ici. Vous pouvez alors solliciter l'aide du mainteneur du paquet ou d'autres contributeurs Mageia, voire faire une demande formelle de rétroportage sur Bugzilla.
Installer ou supprimer votre rétroportage fait maison
- Si vous ne l'avez pas configuré autrement, le paquet sera crée dans le dossier
~/rpmbuild/RPMS/$ARCH
, $ARCH étant l'architecture du paquet (x86_64, i586 ou noarch).
L'architecture sera identique à celle de votre distribution, ou noarch (parfois les deux quand il y a plusieurs RPM).
$ cd ~/rpmbuild/RPMS/ $ su # urpmi x86_64/dustrac-1.7.1-2.x86_64.rpm # exit
- Dans certains cas, plusieurs paquets sont construits à partir d'un même SRPM. Si ces paquets dépendent les uns des autres, vous devez écrire le chemin relatif vers 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 ordinaire :
# urpme dustrac